Говорим про заявки на покупку - так?
Класс PurchReqWorkflow.
Метод 1:
X++:
void submit()
{
Object purchReqTable_ds;
NoYes activatingFromWeb;
boolean canSubmit;
;
canSubmit = PurchReqWorkflow::canSubmit(purchReqTable);
if(canSubmit)
{...
И собственно сама проверка на возможность запуска:
X++:
public static boolean canSubmit(PurchReqTable purchReqTable)
{
PurchReqLine purchReqLine;
boolean canSubmit = true;
PurchReqParameters purchReqParameters = PurchReqParameters::find();
VendTable vendtable;
;
purchReqTable.reread();
if (purchReqParameters.HeaderBusinessJustification)
{
if (PurchReqBusJustification::find(purchReqTable.TableId, purchReqTable.RecId).BusinessJustification == '')
{
canSubmit = checkFailed("@SYS110605");
}
}
if(!(purchReqTable.State == PurchReqWorkflowState::NotSubmitted ||
purchReqTable.State == PurchReqWorkflowState::Returned ||
purchReqTable.State == PurchReqWorkflowState::ChangeRequest))
{
throw error("@SYP4572");
}
...