Шаблон отчета на управляемых формах с поддержкой нескольких макетов СКД (добавил и обычные формы)


Шаблон отчета на управляемых формах с поддержкой нескольких макетов СКД.
Столкнулся с задачей написания отчетов на нетиповой конфе в режиме УП. Автоматически создаваемый интерфейс никуда не годится, а отчетов придется писать несколько… заморока, вопчем. Тащить типовой механизм откуда-нибудь из УТ — ну совершенно неоправданно.
Поэтому — ТА-ДА-М! — мой вариант)
20.11.2013 — Добавлены обычные формы.

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

А как пользоваться? — просто! Добавьте в шаблон отчета макет СхКД, настройте его как обычно, но… для полей, по которым предполагается отбор явно укажите тип, для параметров тоже укажите тип, для элементов отбора укажите уникальное в пределах отбора представление. Ну всё) Сохраняйте и отдавайте пользователям.

 

20.11.2013 — Добавлены обычные формы.

21 Comments

  1. AltF1

    Все умеют пользователи, только не хотят.

    Через месяц пользователь попросит изменить группировку или добавить отбор — придется привленкать специалиста.

    Reply
  2. Lancelot-2M

    Мне бы ваших пользователей)

    Reply
  3. w-divin

    Прикольненько… давненько искал подобное под УФ. Пользователи у меня на твоих похожи…

    Reply
  4. AlX0id
    Столкнулся с задачей написания отчетов на нетиповой конфе в режиме УП. Автоматически создаваемый интерфейс никуда не годится, а отчетов придется писать несколько… заморока, вопчем. Тащить типовой механизм откуда-нибудь из УТ — ну совершенно неоправданно.

    А кусок БСП подключить не вариант? )

    Reply
  5. Lancelot-2M

    Народ, кто скачивал до обеда 25.9.13 — перекачайте, плс — я там косячок устранил)

    Reply
  6. Lancelot-2M

    (4) AlX0id, для вариантов отчетов из БСП нужны следующие подсистемы: БазоваяФункциональность; ВариантыОтчетов; ОбновлениеВерсииИБ; Пользователи.

    А это 7 справочников, 5 перечислений, 5 обработок, 6 регистров сведений, 16 общих форм, 8 функциональных опций, команд, регламентных заданий, общих макетов по мелочи и общих модулей без счета… И вы мне предлагаете все это фрагментированное на тьму кусочков кода гуано вставить в готовое мое решение, полностью функциональное, легкое и изящное?))) Вы мне еще обмен с основной программой учета посоветуйте в конвертации данных разрабатывать)

    Reply
  7. bulpi

    Что такое СхКД ?

    Reply
  8. Lancelot-2M

    (7) bulpi, Схема Компоновки Данных

    Reply
  9. SANILLA

    А где шаблон то? Где качать? Куда делись файлы?

    Reply
  10. Myskyl

    Ага где файл то шаблона 🙂

    Reply
  11. SANILLA

    (8) выложите файлы пожалуйста!!!

    Reply
  12. Myskyl

    (8) Как раз искал для Управляемого приложения, я бы тож скачал.

    Reply
  13. Lancelot-2M

    куда-то делся файл( сейчас попробую его добавить

    Reply
  14. SANILLA

    (13) Благодарю!!!

    Reply
  15. Lancelot-2M

    Да всегда пожалуйста — с моей нетиповой «карьерой» редко удается чем-то поделиться)

    Reply
  16. maip1

    Отличная разработка. Плюсую!

    Reply
  17. KostyaBu

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

    Reply
  18. Lancelot-2M

    (17) KostyaBu, обновил файл отчета — теперь с расшифровкой. Как я понимаю, повторное скачивание местной валюты не требует — перекачайте, плс.

    Reply
  19. tgr123

    Шаблон работает отлично, спасибо.

    Только на мой взгляд поле с элементами отбора нужно разместить в шапке, как в стандартных отчетах.

    Reply
  20. vakula28

    как сохранить результат отчета в файл?

    Reply
  21. alexander-lubich

    (18) Спасибо, я сюда добавил код сохранения параметров для каждого добавленного макета и стало немного симпатичнее:

    в форму данного шаблона добавить процедуры

    &НаСервере
    Процедура СохранитьЗначенияПеременных()
    Если ТаблицаНастроекВарианта.Количество() > 0 Тогда
    тз =  ТаблицаНастроекВарианта.Выгрузить();
    ОбщегоНазначения.ХранилищеНастроекДанныхФормСохранить(ВариантОтчета, «ТаблицаНастроекВарианта», тз);
    КонецЕсли;
    КонецПроцедуры
    
    &НаСервере
    Функция ВосстановитьЗначениеПеременных()
    Если ТаблицаНастроекВарианта.Количество() > 0 Тогда
    ДопНастройки = ОбщегоНазначения.ХранилищеНастроекДанныхФормЗагрузить(ВариантОтчета, «ТаблицаНастроекВарианта»);
    Попытка
    ТаблицаНастроекВарианта.Загрузить(ДопНастройки);
    Исключение
    КонецПопытки;
    КонецЕсли;
    КонецФункции

    Показать

    далее

    добавить вызов ВосстановитьЗначениеПеременных() в конец процедуры ВариантОтчетаПриИзменении(Элемент)

    Добавить вызов СохранитьЗначенияПеременных() в созданную процедуру ТаблицаНастроекВариантаПриИзменении(Элемент)

    Reply

Leave a Comment

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