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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 01.09.2005, 20:30   #1  
usach is offline
usach
Участник
 
55 / 10 (1) +
Регистрация: 31.08.2005
? Record.INSERT
у меня есть таблица2 , поле2, которой связано с первичным ключем таблицы1.

Почему при запуске таблицы2 я могу ввести а поле2, только значения содержащиеся в таблице1.поле1.
А при написании такого кода туда пишется что угодно?

PHP код:
"Таблица2".Поле1 := 1;
"Таблица2".Поле2 := 2;
"Таблица2".Поле3 := 3;

"Таблица2".INSERT
Старый 01.09.2005, 21:00   #2  
TarasNBV is offline
TarasNBV
Участник
 
28 / 10 (1) +
Регистрация: 23.07.2005
Адрес: Ukraine
Потому что при вводе на форме в поле какого-то значения по умолчанию проверяется соответствие установленным связям. В Вашем случае производилось простое присваивание. Для того, что бы отработала проверка следует изменить код на "Таблица 2".VALIDATE(Поле2, 2);
Старый 02.09.2005, 09:49   #3  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Цитата:
Изначально опубликовано TarasNBV
Потому что при вводе на форме в поле какого-то значения по умолчанию проверяется соответствие установленным связям. В Вашем случае производилось простое присваивание. Для того, что бы отработала проверка следует изменить код на "Таблица 2".VALIDATE(Поле2, 2);
Не только на форме, но и в таблице - если у этого поля свойство ValidateTableRelation=TRUE

ЗЫ писать простые присваивания почти всегда нехорошо, читайте документацию в конце концов и делайте выводы.
Старый 02.09.2005, 10:22   #4  
Шрэк is offline
Шрэк
Участник
Аватар для Шрэк
 
645 / 24 (2) +++
Регистрация: 09.02.2004
Адрес: Москва
Цитата:
Изначально опубликовано SVG


ЗЫ писать простые присваивания почти всегда нехорошо, читайте документацию в конце концов и делайте выводы.
Ага. Можно еще проверять Insert. IF (или IF NOT) INSERT THEN... При необходимости используя параметр TRUE для INSERT.
Старый 02.09.2005, 17:37   #5  
usach is offline
usach
Участник
 
55 / 10 (1) +
Регистрация: 31.08.2005
Цитата:
ЗЫ писать простые присваивания почти всегда нехорошо, читайте документацию в конце концов и делайте выводы.
прочитал - Объекты Navision
и Программирование на языке C/AL

не увидел чтоб там чтонить об этом говорилось
Старый 02.09.2005, 17:54   #6  
Шрэк is offline
Шрэк
Участник
Аватар для Шрэк
 
645 / 24 (2) +++
Регистрация: 09.02.2004
Адрес: Москва
Цитата:
Изначально опубликовано usach


прочитал - Объекты Navision
и Программирование на языке C/AL

не увидел чтоб там чтонить об этом говорилось
Возможно, что не написано. Просто, в большинстве случаев, необходимо вызывать функцию VALIDATE. Данная функция запускает соответствующий тригер поля, в котором зачастую содержится проверка на корректность введенных данных, а также заполняет другие поля, значения которых зависят от вашего поля.

На самом деле, необходимость использования VALIDATE, вам была видна бы сразу, если, например, вы бы импортировали строки какого либо заказа.
Старый 02.09.2005, 18:17   #7  
TarasNBV is offline
TarasNBV
Участник
 
28 / 10 (1) +
Регистрация: 23.07.2005
Адрес: Ukraine
;)
Но использовать VALIDATE тоже надо с умом - следить, что бы не не получилась рекурсивность!
Старый 02.09.2005, 20:13   #8  
usach is offline
usach
Участник
 
55 / 10 (1) +
Регистрация: 31.08.2005
Цитата:
Изначально опубликовано Шрэк

На самом деле, необходимость использования VALIDATE, вам была видна бы сразу, если, например, вы бы импортировали строки какого либо заказа.
Неподскажешь, конретно куда надо псмотреть(номер таблицы, или кодеЮнита), а то я пока новичек
Старый 07.09.2005, 18:14   #9  
EduardT is offline
EduardT
Участник
 
7 / 10 (1) +
Регистрация: 05.11.2003
Посмотрите таблицу 36 поле Sell-to Customer No..
Триггер Sell-to Customer No. - OnValidate()
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
init iolanna NAV: Программирование 1 13.11.2006 12:01
Находясь в OnValidate: Insert или Modify? Nataly NAV: Программирование 2 22.06.2003 06:49

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

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

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