Столкнулся с задачей написания отчетов на нетиповой конфе в режиме УП. Автоматически создаваемый интерфейс никуда не годится, а отчетов придется писать несколько… заморока, вопчем. Тащить типовой механизм откуда-нибудь из УТ — ну совершенно неоправданно.
Поэтому — ТА-ДА-М! — мой вариант)
20.11.2013 — Добавлены обычные формы.
Исходил из того, что мои юзеры не способны настраивать структуру отчета вообще (а так и есть), поэтому обычная настройка структуры и сохранение варианта куда-нибудь нам не нужны. Хранить готовые варианты настроек в макетах тож не интересно — на кой в макетах варианты настройки, когда там можно целые СхКД держать. На том и остановился — шаблон поддерживает несколько СхКД. Еще нужно было организовать пользовательский интерфейс малой кровью и большой ленью, и чтобы его не пугались — пришел к выводу на форме таблицы с параметрами и элементами отбора — все в одну таблицу. В ней можно выбрать значение параметра/элемента отбора, указать использование параметра и элемента отбора (для параметра флаг использования не снимается если у него стоит флаг «Запрещать незаполненные значения»), указать вид сравнения для элемента отбора (для параметра всегда равно — измененять не дает). Выбор СхКД производится в поле переключателя, при выборе СхКД ранее выбранные значения параметров и элементов отбора переносятся в соответствующие им в только-что выбранной СхКД (соответствие устанавливается по имени, заголовку, типу значений и представлению элемента отбора). В целом дизайн приближен к типовым отчетам на обычных формах — ну, по мере возможного.
А как пользоваться? — просто! Добавьте в шаблон отчета макет СхКД, настройте его как обычно, но… для полей, по которым предполагается отбор явно укажите тип, для параметров тоже укажите тип, для элементов отбора укажите уникальное в пределах отбора представление. Ну всё) Сохраняйте и отдавайте пользователям.
20.11.2013 — Добавлены обычные формы.
Все умеют пользователи, только не хотят.
Через месяц пользователь попросит изменить группировку или добавить отбор — придется привленкать специалиста.
Мне бы ваших пользователей)
Прикольненько… давненько искал подобное под УФ. Пользователи у меня на твоих похожи…
А кусок БСП подключить не вариант? )
Народ, кто скачивал до обеда 25.9.13 — перекачайте, плс — я там косячок устранил)
(4) AlX0id, для вариантов отчетов из БСП нужны следующие подсистемы: БазоваяФункциональность; ВариантыОтчетов; ОбновлениеВерсииИБ; Пользователи.
А это 7 справочников, 5 перечислений, 5 обработок, 6 регистров сведений, 16 общих форм, 8 функциональных опций, команд, регламентных заданий, общих макетов по мелочи и общих модулей без счета… И вы мне предлагаете все это фрагментированное на тьму кусочков кода гуано вставить в готовое мое решение, полностью функциональное, легкое и изящное?))) Вы мне еще обмен с основной программой учета посоветуйте в конвертации данных разрабатывать)
Что такое СхКД ?
(7) bulpi, Схема Компоновки Данных
А где шаблон то? Где качать? Куда делись файлы?
Ага где файл то шаблона 🙂
(8) выложите файлы пожалуйста!!!
(8) Как раз искал для Управляемого приложения, я бы тож скачал.
куда-то делся файл( сейчас попробую его добавить
(13) Благодарю!!!
Да всегда пожалуйста — с моей нетиповой «карьерой» редко удается чем-то поделиться)
Отличная разработка. Плюсую!
C обработкой разобрался работает. Привязал внешний набор данных, но не пойму почему попытка расшифровки приводит к Сообщению содержащего в себе цифру, если в курсе прошу подскажите (если сам быстрее не разберусь)
(17) KostyaBu, обновил файл отчета — теперь с расшифровкой. Как я понимаю, повторное скачивание местной валюты не требует — перекачайте, плс.
Шаблон работает отлично, спасибо.
Только на мой взгляд поле с элементами отбора нужно разместить в шапке, как в стандартных отчетах.
как сохранить результат отчета в файл?
(18) Спасибо, я сюда добавил код сохранения параметров для каждого добавленного макета и стало немного симпатичнее:
в форму данного шаблона добавить процедуры
Показать
далее
добавить вызов ВосстановитьЗначениеПеременных() в конец процедуры ВариантОтчетаПриИзменении(Элемент)
Добавить вызов СохранитьЗначенияПеременных() в созданную процедуру ТаблицаНастроекВариантаПриИзменении(Элемент)