|
|
#1 |
|
Участник
|
В форме продажа заказ вставляю товарные позиции.
При этом если тип диллера пустой, то он должен подтянуться из карточки менеджера. В таблице 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;Это происходит только для первой строчки. Т.к. в таблицу Sales Header тип диллера присваивается( так же присвоение идет в этом же триггере) Дальше этот тип просто так не удаляется, т.к срабатывает триггер. Поэтому следующие строки в Sales line уже добавляются по своему алгоритму. и этой проблемы не возникает. т.е. в таблицу Document Dimension идет присвоение код значение измерения как сделать присвоение для первой строки? |
|
|