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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 16.11.2011, 18:44   #1  
Fly is offline
Fly
Участник
Аватар для Fly
 
102 / 10 (1) +
Регистрация: 05.10.2007
Цитата:
Сообщение от Kadawrik Посмотреть сообщение
ПОдскажите, плиз, как обойти след. проблему:
Имеем таблицу 37. Когда в Заказе меняем поле "No", срабатывает триггер OnValidate(), в которорм есть след. строки:
Код:
T50022.TechNo := "No.";
T50022.Modify(TRUE);
После этого Modify попадаем в триггер OnModify() таблицы 50022.
В нем прописано следующее:
Код:
IF Rec.TechNo <> xRec.TechNo THEN
   выполнить какие-то действия
Но проблема в том что на этом этапе Rec и xRec абсолютно одинаковые, в результате чего IF дает FALSE и действия не выполняются.
Как с этим бороться?
Эээм, а почему логику обработки поля надо вешать на MODIFY? Почему нельзя повесить на VALIDATE TechNo?

Тогда код будет такой:

Код:
T50022.VALIDATE(TechNo,"No.");
T50022.Modify(TRUE);
Старый 17.11.2011, 12:54   #2  
Kadawrik is offline
Kadawrik
Участник
 
279 / 11 (1) +
Регистрация: 04.11.2010
Цитата:
Сообщение от Fly Посмотреть сообщение
Эээм, а почему логику обработки поля надо вешать на MODIFY? Почему нельзя повесить на VALIDATE TechNo?
Дело в том, что в Т50022 таких полей штук 10, при изменении которых нужно выполнять эту последовательность действий. Менять для каждого поля его OnValidate() было влом. И еще одно...
Цитата:
Тогда код будет такой:
Код:
T50022.VALIDATE(TechNo,"No.");
T50022.Modify(TRUE);
Изменение значений полей в Т50022 происходит в нескольких местах программы (в совершенно разных модулях), причем не через T50022.VALIDATE(...), а через простое присваивание T50022.Поле := ххх
Честно говоря, ну ооочень не хотелось бы всё это сейчас переделывать.
Если длугих, менее трудозатратныых вариантов нет, то придется делать так, как Вы предлагаете.
 

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра
Комбинированный вид Комбинированный вид

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

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

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