Смотрю метод submit
X++:
public void submit()
{
WorkflowSubmitDialog workflowSubmitDialog;
if (purchTable != null)
{
// Tax is needed to be calculated first or else the Accounting Distribution allocation factor will not be calculated correctly.
if (Ledger::isLedgerBudgetControlEnabled())
{
PurchTotals::newPurchTable(purchTable).calc();
}
if (this.canSubmit(purchTable))
{
workflowSubmitDialog = WorkflowSubmitDialog::construct(args.caller().getActiveWorkflowConfiguration());
if (this.submitDialog(workflowSubmitDialog))
{
purchTable.submitToWorkflow(workFlowTypeStr(PurchTableTemplate), workflowSubmitDialog.parmWorkflowComment(), false);
}
}
}
}
Заинтересовал кусочек
X++:
// Tax is needed to be calculated first or else the Accounting Distribution allocation factor will not be calculated correctly.
if (Ledger::isLedgerBudgetControlEnabled())
{
PurchTotals::newPurchTable(purchTable).calc();
}
Получается предварительный расчет по заказу как то меняет данные да так что от этого зависит остальное?
Можно ли как то этого избежать или вынести куда то если цель сократить время до появления диалога
Вдруг кто глубоко рылся в данном коде или умеет в спеца по perfomance?