Задача [FORMS10]: Связи реестров

Формулировка проблемы: нужна возможность связывать реестры в отношениях один к одному и один ко многим.

Решение: необходимо реализовать новый компонент форм «Ссылка на реестр» (в секции «Специальные»). Поведение этого компонента аналогично таковому у компонента «Ссылка на документ»: в режиме заполнения компонент представляет собой поле с кнопкой, позволяющей вызвать диалог выбора нужной записи реестра.

Рисунок 321. Компонент выбора записи реестра

Компонент выбора записи реестра

В режиме чтения компонент представляет собой текст, являющийся активной ссылкой на документ—выбранную запись реестра — никаким другим образом он визуально не выделен (за исключением изменения курсора на тип pointer при наведении). Выделение в режиме чтения пользователь-методолог может сделать с помощью настроек визуального оформления (например, подчёркнутым и т. д.).

Рисунок 322. Визуальные настройки компонента

Визуальные настройки компонента

Диалог выбора записи реестра содержит таблицу реестра (отображаемые поля задаются настройками реестра) с поиском и возможностью выбрать одну запись реестра. В режиме чтения и заполнения в самом компоненте выбранная запись реестра отображается как текст, состоящий из значений полей, отмеченных в реестре как «значащее содержимое», разделённых -.

У этого компонента должна быть настройка «Реестр» (в редакторе форм) — выбор одного реестра из полного списка реестров. Из этого реестра должны браться записи для заполнения компонента. Если у пользователя, который заполняет компонент, нет права доступа на получение списка записей реестра, система должна выдать ему соответствующее сообщение при попытке открытия диалога выбора записей (сам диалог при этом не открывается).

Рисунок 323. Диалог выбора записи реестра

Диалог выбора записи реестра