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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 27.11.2006, 14:41   #1  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
NAV 3.6

Таблица 5717 Item Cross Reference
поле Cross-Reference Type No.

Тригер Cross-Reference Type No. - OnValidate()

Стоит код
Код:
IF ("Cross-Reference Type No." <> '') AND
   (("Cross-Reference Type" = "Cross-Reference Type"::" ") OR
   ("Cross-Reference Type" =  "Cross-Reference Type"::"4"))
THEN
Дело в том, это поле всего может принимать 4 значения. То есть максимальное значение поля:
"Cross-Reference Type"::"3".

Обнаружил, что система не ругается на любое число "Cross-Reference Type"::"N". Нормлаьно компилится и работает.

Вопрос:
1) В NAV > 3.6 сколько значений принимает "Cross-Reference Type"
2) В NAV > 3.6 - код на вышеупомянутом тригере такой же, как и у меня?
Старый 27.11.2006, 15:04   #2  
Fordewind is offline
Fordewind
Участник
 
1,134 / 10 (3) +
Регистрация: 01.12.2005
в 4.0 у меня тоже 4 значения, только этот код стоит на триггере OnRename
Старый 27.11.2006, 15:13   #3  
Kirvisniemi is offline
Kirvisniemi
Moderator
 
342 / 13 (1) ++
Регистрация: 21.12.2004
В Navision поле типа Option представляет собой обычное поле типа Integer, а сама реализация напоминает нумерованные множества (enum) в C++. Каждой цифре начиная с 0 соответствует текст, прописанный в свойствах поля и хранящийся в таблице Object. Различные сравнения типа Field.Pole::"Option" в конечном счете приводятся к сравнению чисел.

Поэтоиу "Cross-Reference Type"::"4" - это просто цифра 4.

А по поводу ошибки - видимо в компиляторе нави не сделали проверки на диапазон допустимых значений Option-поля. Под option в компиляторе выделено всего два байта, поэтому записать туда число >65535 не получится. Но напрямую в таблице SQL это значение можно выставить любым - там доступно 4 байта
Старый 27.11.2006, 15:22   #4  
randrews is offline
randrews
Участник
Аватар для randrews
 
312 / 10 (1) +
Регистрация: 06.12.2004
Понял.
Всем спасибо....
 


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

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

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:46.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.