Как сделать: Ссылка на Объект обязателен к заполнению?

Ренат

Участник
#1
Доброго дня. Не перестаю благодарить за конструктор.
Немного хвастовства: стояла задача сделать так, чтобы при формировании некоторых документов во-первых, текст документа был предустановлен в самом Проекте, во-вторых, чтобы можно было изменять этот текст.
Решение: создан "Объект 1" который имеет поля: Наименование документа и соответствующее ему текстовое поле - заполняется в обычном режиме работы (соответственно можем спокойно и всегда менять, а также увеличивать список шаблонных документов (в самом Проекте)). В другом "Объекте 2" осуществляется выборка Наименования документа (поле Ссылка на Объект), а значения иного поля копируется из соответствующего поля в "Объекте 1".
Как результат текст Объекта 2 - я могу менять.
Одновременно, Объект 2 содержит также ссылку (поле Ссылка на Объект) на Объект 3 (он определяет порядковый номер записи в Объекте 2)
Но столкнулся с проблемой, что если поле ссылки на Объект 3 - не выбран, выбор ссылки на Объект 1 - не осуществляется, а точнее Проект зависает (в лучшем случае отображает записи - не корректно - пустые поля).
С аналогичной ситуацией столкнулся когда в Форме связи сумма определяется по дочерним записям. И вот если дочернии записи отсутствую в принципе (т.е. основной Объект не может осуществить итоговый расчет), то шаблон документа на основании этой записи (формы связи) - не формируется (Проект зависает). Сразу оговорюсь, в этой ситуации это хорошо (исключает ошибку в виде отсутствия дочерних записей).

НО все таки хотелось бы понять как возможно сделать так, чтобы поле Ссылки на объект был обязательно заполнен.

пока вам писал, подумал, а что если сделать строковое поле установить маску ввода - "хотя бы один символ", а значение этого поля копируется из ссылочного Объекта. Соответственно, если Объект не выбран - программа ругается не давая сохранить запись.
Правда в этом варианте, не удобно что поле Ссылки на Объект не будет подсвечиваться (аналогично ситуации, когда красным мигает Строка, если отсутсвует запись, когда она обязательна ("хотя бы один символ").
Заранее благодарю за ответ.
 

Vladimir

Администратор
Команда форума
#2
Добрый день, Ренат.
Красивое решение. Но если Вы обнаружили некорректное поведение, а тем более ошибку в работе (зависает) - пришлите нам проект для выяснения причины и исправления ошибки.
Да, сейчас возможна блокировка сохранения записи через копирование значения поля объекта в строковое и проверку строкового через регулярное выражение. Но, как правильно замечено - пользователь не поймёт, почему запись не сохраняется (если это строковое поле не расположено рядом с полем объекта).
В 6-ой версии добавится возможность блокировать сохранение записи при определённом условии: например, если поле равно или не равно какому-то значению или пустое, то при попытке сохранения будет выдаваться пользовательское сообщение и сохранение будет невозможно.