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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 23.12.2010, 14:20   #3  
Predatore is offline
Predatore
Участник
 
163 / 17 (1) ++
Регистрация: 29.09.2010
Цитата:
Сообщение от AlexB Посмотреть сообщение
Триггер OnInputChange() срабатывает ВО ВРЕМЯ ввода данных,
т.е. вы вводите стринг из трёх букв "абв" == > этот триггер срабатывает 3 раза, т.е. ВО ВРЕМЯ ввода каждой буквы

То, что Вам нужно, это триггер OnAfterInput(), он срабатывает ПОСЛЕ OnInputChange() и ещё ДО OnValidate()

например в поле "Description":

Код:
Description - OnAfterInput(VAR Text : Text[1024];)

IF Text <> '' THEN BEGIN
  
  // ваш программный код
  ......
  ......

END;
Причём надо работать в этом триггере с VAR-variable Text!

Чтобы узнать, в каком порядке отрабытавают триггеры, пропишите просто CONFIRM-Диалог в каждом триггере (в форме и в таблице), в C/AL HELP'e тоже кое-что нaписано.
Возможно я не уловил сути триггера OnInputChange, т.к. я пытался в нём делать проверку, есть ли текст в поле TextBox'a, а он там видимо появляется только после валидейта, я правильно понял? А в OnAfterInput в переменной Text как раз таки и идёт поток именно вводимой информации. Т.е. если я введу стринг 'абв', то этот триггер тоже сработает 3 раза, а переменная Text будет меняться следующим образом, сначала Text='а', потом Text='аб' и в конце Text='абв', я всё правильно понял?
Спасибо большое! Когда переходишь с других платформ, тяжелее всего не к синтаксису привыкнуть, не к языку, тяжелее всего проникнуться другой логикой и начать думать в рамках этой новой логики. Ведь по сути элементарный вопрос, мог бы и сам догадаться, но я даже Ваше объяснение не сразу понял... Ещё раз спасибо большое!
 


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

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

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