Создание формы (подформы) программным путем

Автор Тема: Создание формы (подформы) программным путем  (Прочитано 6477 раз)

fort66

  • Новичок
  • *
  • Сообщений: 6
    • Просмотр профиля
    • E-mail
День добрый всем! Можно ли с лотусе создать форму (подформу) не через дизайнер, а программным путем. Нужно динамически выводить поля и их количество. если знаете, подскажите плиз.

с уважением
Олег

BigMuzzy

  • Новичок
  • *
  • Сообщений: 1
    • Просмотр профиля
Да, можно. Есть технология DXL - дизайн формы описывается через XML и на основании XML описания создаётся элемент дизайна.

Однако, Вы слишком кратко описали задачу, и я могу подозревать, что для неё существует и более правильное, и гораздо более простое решение.

Если целью стоит создание формы для сущности, но у этой сущности есть несколько подчинённых сущностей, которые Вы и хотите описать в форме самой сущности, то найденный Вами путь неправильный.

То есть.
Допустим, у Вас есть форма "Человек". В ней Вы указали ФИО, дату рождения, ФИО матери, ФИО отца и т.п. Но тут возникла задача указать ФИО детей. Если ребёнок один, всё просто - создали поле, в которое и вводится ФИО. Но если детей несколько, изменять дизайн ради того, чтобы N детей - некорректный способ решения задачи.

Подобные задачи в реляционных СУБД решаются созданием подчинённой сущности "ребёнок", в ней указывается ссылка на родителя, а при открытии формы родителя выполняется запрос "показать ФИО всех детей, у которых есть ссылка НА ЭТОГО родителя".

Хотя в Lotus Notes используется не реляционная, а NoSQL база данных, но решение примерно такое же.

Для описания сущности "Ребёнок" можно использовать ответные документы (Responses), а для их отображения в форме родителя - втроенные представления (Embedded view) с отбором по категории, коей должна являться ссылка на родительский документ. Тогда в форме родителя будет отображаться в виде встроенного окна представление с детьми, которым данный человек является родителем.

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