В системе существуют иерархические связи между определенными объектами. Например, клиенту может принадлежать несколько лицевых счетов, на каждом из лицевых счетов может быть несколько договоров, в каждом из договоров может быть задано несколько услуг. Иерархия объектов в этом случае следующая (от вышестоящего к нижестоящему): клиент — лицевой счет — договор — услуга.
Выбор объектов в модулях создания и редактирования осуществляется с учетом этой иерархии. Поля для выбора иерархически связанных объектов сгруппированы, первыми расположены поля для вышестоящих объектов. Пример группы полей для выбора услуги представлен на рисунке ниже.
После выбора вышестоящего элемента выполняется фильтрация списков доступных значений для нижестоящих элементов. В представленном на рисунке примере:
-
после заполнения поля «Физ. лицо» / «Юр. лицо» в остальных полях будут доступны для выбора лицевые счета, договоры и услуги только этого клиента;
-
после заполнения поля «Л/с» в полях «Договор» и «Номер» будут доступны для выбора договоры и услуги только по этому лицевому счету;
-
после заполнения поля «Договор» в поле «Номер» будут доступны для услуги только по этому договору.
Если вышестоящий элемент не указывать (поле оставить пустым), то после выбора нижестоящего элемента оно будет заполнено автоматически. В представленном на рисунке примере:
-
после заполнения поля «Номер» автоматически будут заполнены все остальные поля;
-
после заполнения поля «Договор» автоматически будут заполнены поля «Л/с» и «Физ. лицо» / «Юр. лицо»;
-
после заполнения поля «Л/с» автоматически будет заполнено поле «Физ. лицо» / «Юр. лицо».