Показать сообщение отдельно
Старый 15.06.2022, 14:04   #1  
axm2017 is offline
axm2017
Участник
 
1,754 / 292 (13) ++++++
Регистрация: 15.05.2017
PurchTableWorkflow и немножко архитектуры + неочевидного
Смотрю метод 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();
            }
Получается предварительный расчет по заказу как то меняет данные да так что от этого зависит остальное?

Можно ли как то этого избежать или вынести куда то если цель сократить время до появления диалога
X++:
this.submitDialog
Вдруг кто глубоко рылся в данном коде или умеет в спеца по perfomance?

Последний раз редактировалось axm2017; 15.06.2022 в 14:07.