Ну, как пример.
Предположим, что поле LanguageId создано на основе Extended Data Types с тем же именем LanguageId. Этот Extended Data Types имеет Relations настроенный на таблицу LanguageTable. Следовательно, поле LanguageId может принять только те значения, которые есть в таблице LanguageTable и соответствуют всем дополнительным условиям связи, указанным в Relations.
Это значит, что, например, если в таблице LanguageTable нет языка с кодом "XXX", то при попытке сохранить сделанные изменения Вы получите сообщение об ошибке о том, что такого значения не существует в связанной таблице.
НО! Подобный контроль корректности введенного значения будет выполнен только при интерактивном вводе (через форму ввода). При программном вводе подобная проверка не осуществляется. Однако, это из среды Axapta. Как оно работает через Connector - не проверял. Теоретически - не должно, но проверить не помешает...
PS: Если значение поля явно не указано, то оно принимает пустое значение. Не NULL, а именно пусто. Что именно подразумевается под "пустым" значением зависит от типа данных. Для числовых значений (включая Enum) - это 0, для строковых - пустая строка, для дат - 01.01.1900
|