В форме продажа заказ вставляю товарные позиции.
При этом если тип диллера пустой, то он должен подтянуться из карточки менеджера.
В таблице Sales Line пишу в конце триггера No.-OnValidate присвоение
Код:
recSalesHeader.RESET;
recSalesHeader.SETRANGE("No.","Document No.");
IF recSalesHeader.FINDFIRST THEN BEGIN
IF recSalesHeader.DealersType = '' THEN BEGIN
UserSetup.RESET;
UserSetup.SETRANGE("User ID",UPPERCASE(USERID));
IF UserSetup.FINDFIRST THEN BEGIN
recDefaultDimension.RESET;
recDefaultDimension.SETRANGE("No.",UserSetup."Salesperson Code");
recDefaultDimension.SETRANGE("Dimension Code",'ÒÈÏ ÄÈËÅÐÀ');
IF recDefaultDimension.FINDFIRST THEN BEGIN
recSalesHeader.VALIDATE(DealersType, recDefaultDimension."Dimension Value Code");
recSalesHeader.MODIFY(TRUE);
recDocumentDimension.INIT;
recDocumentDimension.RESET;
recDocumentDimension."Table ID" := 37;
recDocumentDimension."Document Type" := recSalesHeader."Document Type";
recDocumentDimension."Document No." := recSalesHeader."No.";
recDocumentDimension."Line No." := 10000; // это только для 1-й строки, поэтому 1000
recDocumentDimension."Dimension Code" := 'ТИП ДИЛЕРА';
recDocumentDimension."Dimension Value Code" := recDefaultDimension."Dimension Value Code";
IF NOT recDocumentDimension.INSERT(TRUE) THEN recDocumentDimension.MODIFY(TRUE);
END;
END;
END;
END;
но в таблицу Document Dimension присвоение не происходит, то есть поле
код значение измерения остается пустым.
Это происходит только для первой строчки.
Т.к. в таблицу Sales Header тип диллера присваивается( так же присвоение идет в этом же триггере)
Дальше этот тип просто так не удаляется, т.к срабатывает триггер.
Поэтому следующие строки в Sales line уже добавляются по своему алгоритму.
и этой проблемы не возникает. т.е. в таблицу Document Dimension идет присвоение
код значение измерения
как сделать присвоение для первой строки?