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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 26.07.2011, 09:47   #1  
jopagames2 is offline
jopagames2
Участник
 
151 / 12 (1) ++
Регистрация: 11.02.2010
Цитата:
Сообщение от apanko Посмотреть сообщение
Как сказали умные люди - если фильтр поставить по ключевым полям, то система сразу же пытается их валидейтить.
...
А их похоже нету, вот и валится.
Блин, точно!
Вызывается валидейт прямо из таблицы при наложении фильтра. Век живи - век учись.

Вопрос, как это ПРАВИЛЬНО обходится, к примеру, в форме 53 (список заказов покупок)
Там ставь любые ключи и любую фигню - не вылетает.
А вот уже в строках заказа покупки (форма 54) - опять "вылетает" как и в нашем случае с 5407.

В некоторых местах у Nav шаманят с кодом на триггере OnFindRecord и пишут что-то типа:

IF FIND (Which) THEN
EXIT(TRUE)
ELSE BEGIN
SETRANGE("No.");
EXIT(FIND(Which));
END;

Тогда тоже форма не вылетает при наложении неправильных фильтров.

Но общий "рецепт" - что-то написать в триггере OnValidate ключевого поля таблицы.

Вопрос, что именно?

ЗЫ: А. Нет. Нифига!
Удалил из таблицы 38 весь код с триггера OnValidate, а оно всё равно работает и не вылетает, хотя на форме 53 нет вообще никакого кода на триггерах, или всяких там св-в типа DelayedInsert.

Значит, дело в чём-то другом.
Разбираюсь...
Старый 26.07.2011, 12:09   #2  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Удалил из таблицы 38 весь код с триггера OnValidate, а оно всё равно работает и не вылетает, хотя на форме 53 нет вообще никакого кода на триггерах, или всяких там св-в типа DelayedInsert.
Форма 53 не редактируемая, там никаких валидейтов в принципе быть не может. Для редактируемых форм, как отметил Sancho помогает DelayedInsert.
Старый 26.07.2011, 12:22   #3  
jopagames2 is offline
jopagames2
Участник
 
151 / 12 (1) ++
Регистрация: 11.02.2010
Цитата:
Сообщение от Alterant Посмотреть сообщение
Форма 53 не редактируемая, там никаких валидейтов в принципе быть не может.
Ага. Это вы Мелкософту расскажите.
Форма 5407 (Prod. Order Comp. Line List) тоже, кстати, не редактируемая.
Сами посмотрите.
DelayedInsert не при чём.
Старый 26.07.2011, 12:35   #4  
Alterant is offline
Alterant
Участник
 
378 / 10 (1) +
Регистрация: 31.03.2004
Цитата:
Сообщение от jopagames2 Посмотреть сообщение
Ага. Это вы Мелкософту расскажите.
Форма 5407 (Prod. Order Comp. Line List) тоже, кстати, не редактируемая.
Сами посмотрите.
DelayedInsert не при чём.
Да, был не прав.

Хочу добавить по поводу фильтра по не ключевым полям. Поведение формы будет зависить от значения свойства PopulateAllFields. Если оно равно yes, то ошибка будет вываливаться и для не ключевых полей.
 

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

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

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

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

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