В случае прямой связи пользователь на третьем шаге должен в ранее выбранной таблице или выборке ВБД указать поле прямой связи, т.е. то поле, которое должно будет содержать внутренний номер связанного объекта. Соответствующая страница мастера показана на рис. 43-4.
Рис. 43-4. Мастер создания связи, страница «Выбор поля прямой связи»
ObjectLand предлагает выбрать поле из списка всех целочисленных полей, имеющих точность не менее 10 десятичных цифр. Если таких полей нет в таблице/выборке, то выдается пустой список. Это говорит о невозможности установить прямую связь с данной таблицей или выборкой ВБД.
На четвертом шаге мастера создания связи (в случае прямой связи) пользователь должен выбрать режим установки связи, а также режим устранения связи. Эти режимы указывают, какие операции должны выполняться над значением поля прямой связи, когда устанавливается или, соответственно, разрывается связь между записью таблицы и объектом. Соответствующая страница мастера показана на рис. 43-5.
Рис. 43-5. Мастер создания связи, страница «Режимы установки …» для прямой связи
Режим установки связи определяется состоянием двух флажков:
Проверять существование связанной записи – если флажок включен, то перед установкой связи объекта с записью ObjectLand проверяет наличие уже связанной с объектом записи в таблице/выборке ВБД (т.е. проверяет существование записи со значением поля прямой связи, равным внутреннему номеру объекта). Этот режим обеспечивает контроль уникальности связи объекта с записью таблицы/выборки.
Проверять существование связанного объекта – если включен этот флажок, то перед установкой связи ObjectLand проверяет, чему равно значение поля прямой связи. В случае если поле содержит пустое или нулевое значение, установка связи возможна. Если же поле имеет ненулевое значение, то ObjectLand предполагает, что данная запись уже связана с некоторым объектом и установка связи невозможна.
По умолчанию система проверяет существование связанного объекта, но не проверяет существование связанной записи.
Режим устранения связи определяется состоянием других двух флажков:
Устанавливать пустое значение поля прямой связи – при разрыве связи данной записи с объектом в поле прямой связи заносится пустое значение.
Устанавливать нулевое значение поля прямой связи – при разрыве связи данной записи с объектом в поле прямой связи заносится нулевое значение.
Если включены оба флажка, то система заносит в поле прямой связи пустое значение, если только такое значение поддерживается источником данных ВБД. В противном случае заносится нулевое значение. Как отмечалось выше, пустое или нулевое значение поля прямой связи означает, что данная запись не связана ни с каким объектом.
Хотя бы один из двух флажков должен быть включен, поскольку иначе разрыв связи был бы невозможен. По умолчанию включены оба флажка.
Следует отметить, что ObjectLand при создании связи типа объектов с таблицей или выборкой ВБД не проверяет, имеет ли текущий пользователь право на редактирование поля прямой связи. Такое право необходимо пользователю, выполняющему установку или разрыв связи конкретных объектов с записями таблицы/выборки ВБД.
Для случая прямой связи данный шаг мастера является последним. После нажатия кнопки Завершить связь между типом объектов и таблицей/выборкой ВБД будет установлена.
![]() | ![]() |