AXForum  
Вернуться   AXForum > Microsoft Dynamics NAV > NAV: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 15.09.2010, 12:46   #1  
flov_imported is offline
flov_imported
Участник
 
42 / 10 (1) +
Регистрация: 05.06.2010
В форме продажа заказ вставляю товарные позиции.
При этом если тип диллера пустой, то он должен подтянуться из карточки менеджера.
В таблице 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 идет присвоение код значение измерения

как сделать присвоение для первой строки?
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 23:52.