15.09.2010, 12:46 | #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 идет присвоение код значение измерения как сделать присвоение для первой строки? |
|