Большинство таблиц в базе редактируются этой же программой - 1 датасет в репозитории описывает репозиторий датасетов. 2 датасет -репозиторий запросов, 3 - поля, итд. В коде для не сильно сложных отчетов ничего создавать не надо. В принципе. В таблицу с меню добавляется элемент для вызова отчета, ссылающийся на его описание. В описание входит номер датасета в репозитории, ссылка на описание панели инструментов для отчета, несколько параметров, описывающих, как редактируются записи (в гриде, отдельной формой, специальным редактором объектов, итд), идентификатор формы печати, тоже хранящейся в базе.
Загружается датасет, указывается ему номер, выбираются параметры запроса, им из репозитория сопоставляются справочники, форматы, начальные значения и названия. Заголовки полей подгружает FIB+. Поля запросу соответствовать не надо - FIB+ выбирает описание полей по их происхождению, т.е. имени таблицы и имени поля(или имени хранимой процедуры и возвращаемого параметра). Ради чего? Упрощение обслуживания для случая, когда на осмысленное проектирование, постановку ТЗ, и прочие нужные формальности времени нет, и проект дорабатывается одновременно с использованием. Нужен некий отчет, про который пользователи еще вчера не подозревали - сделаем. --~--~---------~--~----~------------~-------~--~----~ -~----------~----~----~----~------~----~------~--~---

