Предопределенные варианты отчетов 1с
Любите делать отчеты для типовых конфигураций? Вы мастер СКД и отчет с вложенными схемами компоновки и собственным макетом для Вас тоже обычное дело? А может быть программное формирование схемы компоновки для Вас тоже норма? Или Вы новичок и только начинаете постигать сакральные знания СКД? Не важно!
Сегодня мы будем говорить о другом. О подсистеме "Варианты отчетов" из БСП, которую можно встретить практически во всех типовых конфигурациях. Вероятно, многие зададутся вопросом: "О чем тут вообще можно говорить?". Что ж, постараюсь Вас удивить!
Как она устроена
От одной версии БСП к другой, подсистема "Варианты отчетов" становилась все функциональней и интересней. Почти все мы ее используем в своих отчетах и можем даже об этом не подозревать. Сегодня мы поговорим о некоторых нюансах ее работы на примере версии БСП 3.0. Информация в большей части справедлива и для других версия библиотеки.
Прежде чем перейти к особенностям, дадим краткое описание принципа работы подсистемы. В составе метаданных она содержит не мало объектов для реализации всего функционала. Те, что нас интересуют, это:
- Общая форма "Форма отчета".
- Справочник "Варианты отчетов".
- Хранилище настроек "Хранилище вариантов отчетов".
- Общие модули с именем "ВариантыОтчетов*" и "Отчеты*".
- И некоторые настройки корня конфигурации.
Весь смысл подсистемы сводится к тому, что все варианты отчетов, адаптированных для использования в БСП, сохраняются в справочнике "Варианты отчетов" через переопределение основных событий хранилища "Хранилище вариантов отчетов":
- Автор
- Тип отчета
- Пользовательские настройки
- Ключ
- Представление варианта
- Различные настройки видимости
- Описание
- И многое другое.
Все еще непонятно? Сделаем небольшой пример, но отчет будет внешним! Вы когда-нибудь разрабатывали отчеты для ERP? Так вот, на ней и продемонстрируем как подсистема работает. Отчет будет отображать количество элементов номенклатуры в разрезе видов номенклатуры. Обязательно добавим в модуль объекта функции описания внешних отчетов и обработок для БСП, а также программное формирование отчета.
Ничего необычного. В модуле объекта добавлено описание внешнего отчета для БСП, а также программное формирование отчета в событии "ПриКомпоновкеРезультата".
В схеме компоновки запрос тоже тривиальный.
Для наглядности мы добавим в настройках отчета два одинаковых варианта, но с разными названиями.
Больше никаких настроек и функций не добавляем (ни форм отчетов, ни задание доп. настроек в свойствах отчета и др.). В режиме 1С:Предприятие отчет выглядит предсказуемо.
Полный исходный код примера можно найти в соответствующем репозитории на GitHub.
Чтобы подсистема "Варианты отчетов" была задействована для нашего продвинутого отчета, прикрепим его в справочник "Дополнительные отчеты и обработки". Не зря же мы делали описание внешнего отчета в модуле объекта.
Здесь тоже всем известная процедура - добавляем отчет из файла и выбираем размещение в подсистемах.
Так как это отчет и он совместим с подсистемой вариантов отчетов, то в настройках доступна вкладка "Варианты отчетов". Пока мы не запишем элемент - она недоступна.
После записи система позволит отобразить список вариантов.
Эти варианты были сформированы из настроек схемы компоновки отчета.
Но что это за варианты и где они в системе хранятся?
Под спойлером выше были показаны два варианта отчета, которые БСП сформировала автоматически. Они были получены из настроек вариантов схемы компоновки. В системе они сохраняются в виде элементов справочника "Варианты отчетов", в том самом справочнике, о котором мы уже говорили.
В корне конфигурации ERP (как минимум с версии 2.2) для свойства "Хранилище вариантов отчетов" установлен объект метаданных "ХранилищаВариантов.ХранилищеВариантовОтчетов". То есть, стандартное хранилище для сохранения настроек отчетов не используется. При этом в стандартных событиях этого хранилища переопределены события загрузки и сохранения настроек, в которых алгоритмы используют уже справочник "Варианты отчетов". Таким образом, подсистема перевела весь функционал по работе с вариантами отчетов на собственный справочник.
При этом, если варианты предопределены в схеме компоновки, то сами настройки в справочнике не сохраняются. Это и понятно - зачем их сохранять, если они есть в самой компоновке данных. Однако, если пользователь сохранит свой вариант, то настройки компоновки будут записаны в реквизит "Настройки" этого справочника (в виде хранилища значений).
Еще одной важной частью подсистемы является общая форма "ФормаОтчета", которая предоставляет расширенный функционал работы с отчетами. Если в объекте отчета (внешнем или встроенном в конфигурацию) нет явно заданной формы, то будет использоваться именно она. Достигается это за счет установки основных форм в корне конфигурации.
Кроме основной формы отчета, подсистема также содержит формы для настроек и выбора варианта, но в нашем случае эту часть подсистемы мы не будем рассматривать. Вот так выглядит форма отчета из подсистемы БСП.
И, кстати, Вы заметили, что мы переопределили событие "ПриКомпоновкеДанных" отчета и сделали полностью программное формирование. При этом отчет также формируется в фоновом режиме. В обычном случае, если сделать программное формирование отчета, то он блокирует основной интерфейс при выполнении.
Таким образом, подсистема "Варианты отчетов" позволяет разрабатывать и управлять отчетами эффективно за счет дополнительного функционала:
- Варианты отчетов и их настройки хранятся в справочнике "Варианты отчетов", что позволяет ими гибко управлять (видимость, права доступа, администрирование настроек) и хранить дополнительную информацию для них.
- Стандартизированные формы отчета и настроек создают единый интерфейс для работы с отчетами со стандартным набором функций, а также выстраивают удобную работу с "тяжелыми" отчетами за счет формирования в фоне любых произвольных отчетов за счет использования подсистемы "Длительные операции".
Пример был сделан для внешнего отчета, но встроить его в конфигурацию не составит труда. Фактически нужно еще меньше действий, но потребуется обновление конфигурации.
Для встраивания отчета в конфигурацию с подсистемой "Варианты отчетов" достаточно сделать несколько простых шагов.
Вставляем внешний отчет из файла.
И получаем тот же самый отчет, но уже в составе конфигурации. Для наглядности добавил к имени постфикс "Встроенный". То же самое сделал для вариантов отчета в настройке схемы компоновки данных.
Теперь перейдем к настройкам.
Выбираем подсистему "Закупки" для работы отчета.
Именно к этой подсистеме отчет будет привязан.
В общем модуле "ВариантыОтчетовПереопределяемый" в процедуре "НастроитьВариантыОтчетов" добавим описание обоих вариантов нашего отчета:
С помощью опции "ВидимостьПоУмолчанию" мы включили отображение отчета в панели отчетов для всех его вариантов. По умолчанию видимость включается только для первого основного варианта.
Ура, ура, ура! Отчет теперь виден в пользовательском интерфейсе.
И даже работает! Было не сложно :)
Дополнительно можно настраивать различные параметры (права доступа, отображение в панелях отчетов и многое другое), но сейчас на этом не останавливаемся. Более подробная информация есть на ИТС, в демобазах БСП и в других статьях на Инфостарт.
Конечно, все "внутренности" подсистемы мы не рассматриваем, но основная часть теперь должна быть понятна. А теперь поговорим о типичной ситуации в разработке отчетов, с которой приходится часто сталкиваться.
Обычная ситуация
Вроде все просто и никаких проблем не ожидается. Но давайте сделаем те же самые действия на другой конфигурации, например на Бухгалтерии КОРП 3.0.67.70 (не самая новая версия, но подойдет). Добавим как внешний отчет, так и внутренний.
Внешний отчет удалось добавить, а также настроить расположение в подсистеме "Продажи" и даже запустить. Вроде бы все работает, но на самом деле не так как надо:
- Для отчета недоступны варианты отчетов. Их нет не только в интерфейсе элемента внешнего отчета, но и в справочнике "Варианты отчетов" новых элементов не добавилось.
- Отчет использует общую форму отчетов подсистемы, но не весь функционал. Например, фоновое выполнение отчета недоступно.
Встроить отчет в конфигурацию мы смогли (добавлен элемент отчета, настроена подсистема и добавлен код описания вариантов в общий переопределяемый модуль). Запускаем с ключом обновления БСП и .
Думаю, по описанию ошибки Вы уже догадались что же произошло.
Примечание: в новых версиях БСП при добавлении отчета без указания хранилища вариантов отчетов появляется предупреждение:
Свойство отчета "Хранилище вариантов" не заполнено.
Сохранение (выбор) вариантов отчета будет работать в ограниченном режиме.
Обратитесь к разработчику дополнительного (внешнего) отчета.
Поэтому теперь ошибиться с настройками еще сложнее. Если, конечно, не игнорировать данное предупреждение.
Вы будете неприятно удивлены результату - отчеты не только не сформировали элементы справочника "Варианты отчетов", так еще и не выполняются в фоновом режиме, а также не отображаются в панели отчетов. А попытка встроить отчет в конфигурацию вообще приводит к ошибке при запуске базы с ключом обновления БСП.
Только форма отчета типовая, но остальное работает не как ожидалось. В чем же дело?
Что здесь не так и как быть
Ответ достаточно прост. Помните, в кратком описании принципа работы подсистемы говорилось, что она использует собственное хранилище вариантов отчетов, которое переопределяет работу с настройками на справочник "Варианты отчетов". В ERP это хранилище используется по умолчанию, так как оно установлено в качестве основного хранилища вариантов в настройках корня конфигурации. Сравните эти настройки с бухгалтерией.
В ERP хранилище вариантов отчетов по умолчанию установлено, а в Бухгалтерии нет.
Нет хранилища вариантов - нет и хранения настроек в справочнике "Варианты отчетов", и нет доступа ко всем функциям подсистемы.
То есть, в бухгалтерии в качестве хранилища вариантов отчета по умолчанию используется не хранилище вариантов из БСП, а стандартное хранилище настроек. Именно поэтому отчеты и не смогли использовать возможности подсистемы "Варианты отчетов".
Просто, потому что в свойствах отчета достаточно явно указать хранилище вариантов отчетов.
Для встроенного в конфигурацию отчета это делается здесь.
Для внешнего отчета это уже не так интуитивно понятно.
Теперь отчеты подходят для работы с подсистемой.
Но есть небольшая (а может и большая) сложность - если отчет был уже ранее добавлен и пользователи сохраняли свои варианты, то после таких манипуляций все настройки будут потеряны.
Для корректного исправления ситуации лучше всего изменения хранилища вариантов выполнять следующим образом.
В первую очередь, нужно проверить - есть ли для отчета нестандартные (созданные пользователями) варианты отчетов, хранящиеся в стандартном хранилище настроек отчетов. Если их нет - отлично! Просто обновите отчет.
Если же пользовательские варианты уже есть, то установка нового хранилища вариантов сделает эти настройки недоступными для использования. Вас может ожидать шквал заявок от сотрудников :)
Чтобы этого избежать, можно конвертировать настройки стандартного хранилища вариантов в элементы справочника "Варианты отчетов". Пример такого скрипта ниже.
Это не законченный вариант, т.к. практика показывает, что конвертация вариантов отчетов сильно отличается от конфигурации, набора существующих вариантов, прав доступа и многого другого. Но принцип работы должен быть понятен.
В демобазах БСП Вы можете найти обработку "ПереносВариантовОтчетов", которая также позволяет конвертировать варианты. Она не имеет гибких настроек и используется при внедрении подсистемы вариантов отчета. Для точечной конвертации она не подойдет, но для изучения работы подсистемы подходит идеально.
Итого, при использовании подсистемы вариантов отчетов нужно обязательно проверять используется ли хранилище вариантов отчетов из БСП в отчете. Для использования полного функционала подсистемы его обязательно нужно включать. Если в конфигурации подсистема внедрена частично, то в отчетах (внешних и встроенных) необходимо указывать хранилище вариантов явно.
При исправлении хранилища вариантов у отчета все старые настройки пользователей могут быть потеряны, поэтому изменение хранилища настроек должно происходить осторожно.
Немного нюансов
При использовании подсистемы "Варианты отчетов" может возникнуть интересная ситуация в процессе разработки. Допустим, у вас есть внешний отчет (пусть будет тот самый отчет для ERP из примера выше). Он уже был добавлен в дополнительные отчеты и обработки и некоторое время использовался.
Теперь появилась необходимость изменить настройки отчета. Вы изменяете их в конфигураторе, сохраняете отчет, открываете в пользовательском режиме для проверки и . барабанная дробь . при открытии настройки не изменились.
Подобная ситуация может также быть, если Вы изменили настройки компоновки вариантов в конфигураторе, обновили информационную базу, но при открытии отчета снова никаких изменений не увидите.
Причина также проста - настройки хранятся в справочнике "Варианты отчетов". При внесении изменений в конфигураторе настройки в самом справочнике, конечно же, не обновляются. Поэтому в отчете и не видно изменений.
- Для внешних отчетов:
- Обновить внешний отчет в справочнике "Дополнительные отчеты и обработки", после чего настройки предопределенных вариантов обновятся.
- На тестовом окружении изменить имя отчета, добавив например цифру. В итоге созданные настройки в справочнике не будут использоваться.
- Для встроенных отчетов:
- После применения изменений конфигурации запустить обновление информационной базы со специальным ключом запуска БСП.
- Отдельно запустить обновление данных вариантов отчета с помощью скрипта.
Дополнительной сложностью могут служить пользовательские варианты отчетов, которые автоматически не обновятся при внесении изменений в сам отчет. Тут придется продумывать варианты решения:
- Выпустить полностью новую версию отчета с новыми вариантами, которая не будет поддерживать существующие пользовательские варианты.
- Очистить все пользовательские варианты для измененного отчета.
- Написать обработку, которая исправит настройки существующих вариантов отчетов пользователей
Варианты решения выбирать только Вам. В остальном, особых проблем и нюансов нет. Подсистема стоит того, чтобы ее использовать и не изобретать велосипеды.
Вот и все
Теперь Вы знаете немного магии из мира БСП, хотя уверен, что для многих это не стало открытием. Надеюсь, что информация будет полезна и сэкономит время в случаях, когда от разработчиков можно услышать:
- Платформа создала кэш настроек отчета, сейчас его почищу. Хм, а не помогает. Компьютер перезапущу!
- Я напишу свой механизм управления вариантами отчетов. Тот, что в БСП, глючит сильно.
- Я делаю отчеты с помощью обработок, что еще за БСП.
И да, всех проблем с отчетами можно было бы избежать, если изучить официальную документацию.
Речь пойдет об отчетах, созданных на базе СКД (на всякий случай пишу, если еще остались люди, которые делают отчеты не на СКД).
Добавить отчет в типовую конфигурацию 1С, построенную на базе БСП, можно одним из следующих способов:
Добавляемый отчет может быть:
Вроде все должно быть просто и интуитивно понятно, но есть нюансы, и в каждом случае добавление происходит по разному. В общем, разработчики БСП и других типовых продуктов не дают соскучиться J .
Варианты отчетов
Прежде чем приступить к описанию добавления отчетов, хочется сказать несколько слов о вариантах.
Варианты отчетов - это встроенный механизм СКД, который позволяет создавать для отчета произвольное количество предопределенных и пользовательских вариантов. По своей сути варианты – это отдельные отчеты, созданные на базе одной и той же системы компоновки данных.
Существует отдельная подсистема БСП, для управления вариантами отчетов, которая встроена во все типовые конфигурации. Подсистема предоставляет общее хранилище вариантов, общие формы для вывода и настройки отчетов, механизмы для отображения отчетов – формирование специальных панелей для каждого раздела системы. Пользователь может управлять настройками предопределенных вариантов отчетов, создавать и настраивать собственные варианты в режиме 1С Предприятие. Также подсистема позволяет создавать контекстные отчеты, привязанные к определенным объектам метаданных.
Для каждого отчета существует основной предопределенный вариант. В дальнейшем, говоря об отчете, я буду подразумевать именно его основной вариант.
Общая сравнительная таблица:
Тип добавления
В основную конфигурацию
В расширение конфигурации
В качестве внешнего отчета
Обновление вспомогательных данных (идентификаторы объектов)
Обновление вспомогательных данных (варианты отчетов)
Предопределенные настройки вариантов
Общий модуль: ВариантыОтчетовПереопределяемый
Модуль менеджера отчета
Возможность добавление обработчиков событий формы
Указывается в общем модуле: ВариантыОтчетовПереопределяемый
Указывается в модуле менеджера отчета:
ПриОпределенииНастроек
Доступна по умолчанию
Описание назначения для контекстного отчета
Модуль менеджера отчета, модуль менеджера объекта назначения
Модуль менеджера отчета
Модель объекта отчета
Описание основного варианта (по умолчанию)
Свойство отчета «Пояснение»
Добавление пользовательских вариантов отчета
Добавление нового отчета в основную конфигурацию
Рассмотрим добавление отчета в основную конфигурацию. В более старых конфигурациях типа УТ 10.3, УПП все было предельно просто. Добавляешь отчет, выводишь его в меню интерфейса или на панели быстрого доступа, и все работает.
В новых все несколько сложнее, и есть свои нюансы.
Для того, чтобы отчет выводился в основном окне раздела в группе «Отчеты», достаточно просто включить отчет в необходимую подсистему.
Однако, в этом случае, отчет не будет виден на специальной панели отчетов, которую предоставляет БСП. Панель открывается при переходе по ссылке «Отчеты по » из каждого раздела системы:
Отчеты выводятся с разбивкой по подгруппам согласно иерархии подсистем, и имеют описания. Причем , могут быть выведены несколько вариантов одного и того же отчета. Если просто добавить отчет в конфигурацию и включить в нужную подсистему, отчет не будет виден в указанной панели. Отчет будет доступен только в группе «Отчеты» основного окна раздела. Кстати, не так давно, он бы даже не работал, пока не будут обновлены идентификаторы объектов метаданных.
Обновить идентификаторы можно одним из трех способов:
- Запустить 1С Предприятие в режиме обновления ИБ, задав параметр запуска: «ЗапуститьОбновлениеИнформационнойБазы»:
- Увеличить номер версии конфигурации.
- Воспользоваться обработкой из состава БСП: «Обновление вспомогательных данных»
В текущих версиях, идентификаторы обновляются при запуске 1С в пользовательском режиме автоматически . Наконец-то разработчики сделали это, слава богам!
Однако, для того, чтобы отчет, добавленный в основную конфигурацию появился на панели отчетов, все же необходимо обновить вспомогательные данные вручную, выбрав пункт «Варианты отчетов»:
После выполнения этих действия, отчет будет добавлен в специальные справочники: «Варианты отчетов» и «Предопределенные варианты отчетов», и его основной вариант будет виден в панелях отчетов согласно указанной подсистемы.
Конечно, все дальнейшие настройки, такие как добавление описания, вывод отчета или других его вариантов в другие подразделы или панели отчетов, можно выполнить непосредственно в пользовательском режиме, перейдя по ссылке «Все отчеты»:
Но, более правильно указать основные (предопределенные) настройки в конфигурации. Тем более, что некоторые виды настроек, например видимость варианта отчета в зависимости от функциональных опций, нельзя настроить в пользовательском режиме.
Настройки вариантов отчетов задаются в процедуре общего модуля: «ВариантыОтчетовПереопределяемый >> НастроитьВариантыОтчетов». Здесь описаны все типовые отчеты и их варианты. Все настройки необходимо создавать для двух объектов: «Описание отчета» и «Описание варианта», которые можно получить из общего списка настроек, переданных в процедуру:
Объект «ОписаниеОтчета» имеет следующие свойства:
Включен - если свойство имеет значение «ложь», отчет не регистрируется в справочнике «Варианты отчетов».
ОпределитьНастройкиФормы – свойство определяет наличие в модуле объекта отчета экспортной процедуры « ОпределитьНастройкиФормы ». В данной процедуре указывается наличие дополнительных обработчиков для событий модуля формы отчета, которые также должны присутствовать в модуле объекта отчета:
Объект «ОписаниеВарианта» имеет следующие свойства:
Описание - Описание варианта отчета, которое выводится на панели отчетов.
ВидимостьПоУмолчанию - если свойство имеет значение «ложь», вариант не виден по умолчанию в панели отчетов, но в справочнике «Варианты отчетов» он регистрируется.
Размещение – настройка размещения отчета. По умолчанию, коллекция содержит все подсистемы, выбранные для отчета. Можно добавить новые подсистемы для размещения или удалить существующие. Дополнительно, можно указать важность размещения: «Важный» или «СмТакже»:
ФункциональныеОпции – подключенные к команде вывода варианта отчета функциональные опции:
НастройкиДляПоиска – дополнительные сведения для поиска варианта отчета
Для вступления настроек в силу, требуется обновить вспомогательные данные, выбрав пункт «Варианты отчетов».
В пользовательском режиме, можно переопределить эти настройки для текущего пользователя или всех пользователей системы. Тем не менее, всегда остается возможность вернуться к предопределенным настройкам, заданным в конфигурации:
Добавление нового отчета в расширение конфигурации
На первый взгляд, добавление отчета в расширении не должно отличаться от его добавления в основную конфигурацию, но это не так.
Во-первых, для того, чтобы отчет был виден на панели отчетов, не нужно выполнять обновление вспомогательных данных. Необходимая информация в справочники: «Варианты отчетов» и «Предопределенные варианты отчетов» добавляется автоматически, при начале работы системы. Я думаю логика разработчиков следующая: расширение может подключить обычный пользователь в режиме 1С Предприятия. И он не должен знать о необходимости обновлении вспомогательных данных.
Для отчетов, добавленных в расширениях, также существует возможность описания предопределенных настроек: описание, подсистемы, функциональные опции. Однако, эти настройки выполняются не в переопределяемом общем модуле, а непосредственно в модуле менеджера отчета:
Все настройки аналогичны тем, которые выполнялись для отчетов основной конфигурации. Отличие только в том, что объект «НастройкиОтчета» уже передан в процедуру в качестве параметра.
Для применения созданных настроек обязательно должен быть установлен параметр «НастроитьВариантыОтчета» в экспортной процедуре модуля менеджера отчета «ПриОпределенииНастроек»:
Если флаг установлен, предопределенные настройки обновляются автоматически, без необходимости обновления вспомогательных данных.
В этой же процедуре указывается наличие дополнительных обработчиков событий модуля формы отчета:
На заметку. Для отчетов созданных в расширениях, есть возможность указания описания для основного варианта без использования менеджера отчета. Для задания описания «по умолчанию» используется свойство отчета «Пояснение»:
Добавление контекстного отчета в основную конфигурацию или в расширение
Алгоритм добавления контекстных отчетов одинаков для отчетов созданных в основной конфигурации и для отчетов, созданных в расширениях.
В обоих случаях, необходимо определить экспортную процедуру «ПриОпределенииНастроек» в модуле менеджера отчета, и указать объекты назначения:
Сами команды необходимо описать в отдельной процедуре:
Основные свойства команды:
Представление – наименование команды в интерфейсе объекта назначения,
КлючВарианта – идентификатор варианта отчета компоновки данных, который требуется запустить.
Дополнительные свойства команды:
Важность - группы в подменю «Отчеты», в которой следует вывести команду открытия отчета. Доступные значения: "Важное", "Обычное" и "СмТакже".
Порядок - п орядок размещения отчета по отношению к другим отчетам.
СочетаниеКлавиш - с очетание клавиш для быстрого открытия отчета (тип «СочетаниеКлавиш».
ВидимостьВФормах - и спользуется для указания перечня форм, в которых требуется выводить отчет. По умолчанию, отчет выводится во всех формах объекта, подключенных к БСП.
ФункциональныеОпции - имена функциональных опций, определяющих видимость команды открытия отчета в форме.
УсловияВидимости – дополнительные условия, о пределяющие видимость команды отчета (массив). Для добавления новых условий рекомендуется использовать процедуру общего модуля «ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(Команда, Реквизит, Значение, Знач ВидСравнения = Неопределено)».
Параметр «Реквизит» - это имя реквизита объекта назначения.
ДополнительныеПараметры – можно указать дополнительные параметры, и потом их обработать в переопределенном обработчике события модуля формы отчета «ПриСозданииНаСервере».
Ссылка на объект назначения передается в контекстный отчет в качестве параметра формы «ПараметрКоманды» . Для указания отбора по переданному значению, необходимо переопределить событие модуля формы отчета «ПриСозданииНаСервере», и добавить значение параметра в структуру «ФормаПараметры.Отбор»:
При необходимости можно обработать данные, переданные в свойстве команды «ДополнительныеПараметры»:
Примечание. Описывать команды для вывода контекстных отчетов можно не только в модуле менеджера самого отчета, но и в модуле менеджера объекта назначения, в экспортной процедуре «ДобавитьКомандыОтчетов». В этом случае, команда должны иметь дополнительный обязательный параметр «Менеджер», в котором необходимо указать полное имя менеджера отчета. Контекстные отчеты в типовых конфигурациях описаны именно таким способом.
Добавление отчетов с помощью механизма внешних отчетов и обработок
Процесс добавления общих и контекстных отчетов с использованием механизма дополнительных отчетов и обработок подробно описан во многих статьях, например в этой .
Я не думаю, что у кого-то возникают сложности при добавлении отчетов таким способом. Отмечу лишь, что в данном случае не нужно обновлять вспомогательные данные. Также, нет возможности указания предопределенных настроек для вариантов отчета. Все настройки вариантов указываются в пользовательском режиме, прямо в форме элемента дополнительного отчета:
Возможность добавления в модуль объекта обработчиков событий формы отчета доступна по умолчанию.
Если я ошибаюсь, и существуют вопросы и непонятные моменты в работе механизма дополнительных отчетов и обработок, пишите в комментариях, и я напишу отдельную статью на эту тему.
Дополнительно хочу отметить, что варианты отчетов, созданные в пользовательском режиме настраиваются одинаково для любого из способов добавления основного отчета.
На этом все, спасибо за внимание, и за то, что читаете мои статьи J .
Другие мои статьи по использованию механизмов БСП в типовых конфигурациях 1С
Версия БСП 1.2 При разработке нового отчета при помощи системы компоновки данных и при добавлении нескольких вариантов отчета на этапе разработки. После добавления данного отчета в состав конфигурации данные варианты отчета не появляются в режиме предприятия. Есть конечно же и стандартная обработка для регистрации вариантов отчета, но насколько мне известно она работает если конфигурация разработана на базе БСП. Если этот момент отсутствует либо не перенесены все необходимые подсистемы из БСП в разрабатываемую конфигурацию стандартную обработку необходимо "допилить". Для этого и была разработана данная обработка, которая работает в любой конфигурации без подсистем БСП.
1. После разработки нового отчета и добавления в нем необходимых вариантов отчета
2. Добавляем новый отчет в конфигурацию
3. В режиме предприятия запускаем обработку
4. Выбираем необходимый отчет и нажимаем кнопку "Обновить варианты"
5. После этого проверяем варианты отчета, они должны быть в списке выбора вариантов отчета
На этом все, так же данную обработку можно использовать для обновления вариантов отчета если в них были произведены изменения в конфигураторе.
PS. Коллеги, если кому-то понравилась разработка, не забываем ставить звездочки в рейтинге обработки.
Версия БСП 1.2 При разработке нового отчета при помощи системы компоновки данных и при добавлении нескольких вариантов отчета на этапе разработки. После добавления данного отчета в состав конфигурации данные варианты отчета не появляются в режиме предприятия. Есть конечно же и стандартная обработка для регистрации вариантов отчета, но насколько мне известно она работает если конфигурация разработана на базе БСП. Если этот момент отсутствует либо не перенесены все необходимые подсистемы из БСП в разрабатываемую конфигурацию стандартную обработку необходимо "допилить". Для этого и была разработана данная обработка, которая работает в любой конфигурации без подсистем БСП.
1. После разработки нового отчета и добавления в нем необходимых вариантов отчета
2. Добавляем новый отчет в конфигурацию
3. В режиме предприятия запускаем обработку
4. Выбираем необходимый отчет и нажимаем кнопку "Обновить варианты"
5. После этого проверяем варианты отчета, они должны быть в списке выбора вариантов отчета
На этом все, так же данную обработку можно использовать для обновления вариантов отчета если в них были произведены изменения в конфигураторе.
PS. Коллеги, если кому-то понравилась разработка, не забываем ставить звездочки в рейтинге обработки.
Речь пойдет об отчетах, созданных на базе СКД (на всякий случай пишу, если еще остались люди, которые делают отчеты не на СКД).
Добавить отчет в типовую конфигурацию 1С, построенную на базе БСП, можно одним из следующих способов:
Добавляемый отчет может быть:
Вроде все должно быть просто и интуитивно понятно, но есть нюансы, и в каждом случае добавление происходит по разному. В общем, разработчики БСП и других типовых продуктов не дают соскучиться J .
Варианты отчетов
Прежде чем приступить к описанию добавления отчетов, хочется сказать несколько слов о вариантах.
Варианты отчетов — это встроенный механизм СКД, который позволяет создавать для отчета произвольное количество предопределенных и пользовательских вариантов. По своей сути варианты – это отдельные отчеты, созданные на базе одной и той же системы компоновки данных.
Существует отдельная подсистема БСП, для управления вариантами отчетов, которая встроена во все типовые конфигурации. Подсистема предоставляет общее хранилище вариантов, общие формы для вывода и настройки отчетов, механизмы для отображения отчетов – формирование специальных панелей для каждого раздела системы. Пользователь может управлять настройками предопределенных вариантов отчетов, создавать и настраивать собственные варианты в режиме 1С Предприятие. Также подсистема позволяет создавать контекстные отчеты, привязанные к определенным объектам метаданных.
Для каждого отчета существует основной предопределенный вариант. В дальнейшем, говоря об отчете, я буду подразумевать именно его основной вариант.
Общая сравнительная таблица:
Тип добавления
В основную конфигурацию
В расширение конфигурации
В качестве внешнего отчета
Обновление вспомогательных данных (идентификаторы объектов)
Обновление вспомогательных данных (варианты отчетов)
Предопределенные настройки вариантов
Общий модуль: ВариантыОтчетовПереопределяемый
Модуль менеджера отчета
Возможность добавление обработчиков событий формы
Указывается в общем модуле: ВариантыОтчетовПереопределяемый
Указывается в модуле менеджера отчета:
ПриОпределенииНастроек
Доступна по умолчанию
Описание назначения для контекстного отчета
Модуль менеджера отчета, модуль менеджера объекта назначения
Модуль менеджера отчета
Модель объекта отчета
Описание основного варианта (по умолчанию)
Свойство отчета «Пояснение»
Добавление пользовательских вариантов отчета
Добавление нового отчета в основную конфигурацию
Рассмотрим добавление отчета в основную конфигурацию. В более старых конфигурациях типа УТ 10.3, УПП все было предельно просто. Добавляешь отчет, выводишь его в меню интерфейса или на панели быстрого доступа, и все работает.
В новых все несколько сложнее, и есть свои нюансы.
Для того, чтобы отчет выводился в основном окне раздела в группе «Отчеты», достаточно просто включить отчет в необходимую подсистему.
Однако, в этом случае, отчет не будет виден на специальной панели отчетов, которую предоставляет БСП. Панель открывается при переходе по ссылке «Отчеты по » из каждого раздела системы:
Отчеты выводятся с разбивкой по подгруппам согласно иерархии подсистем, и имеют описания. Причем , могут быть выведены несколько вариантов одного и того же отчета. Если просто добавить отчет в конфигурацию и включить в нужную подсистему, отчет не будет виден в указанной панели. Отчет будет доступен только в группе «Отчеты» основного окна раздела. Кстати, не так давно, он бы даже не работал, пока не будут обновлены идентификаторы объектов метаданных.
Обновить идентификаторы можно одним из трех способов:
- Запустить 1С Предприятие в режиме обновления ИБ, задав параметр запуска: «ЗапуститьОбновлениеИнформационнойБазы»:
- Увеличить номер версии конфигурации.
- Воспользоваться обработкой из состава БСП: «Обновление вспомогательных данных»
В текущих версиях, идентификаторы обновляются при запуске 1С в пользовательском режиме автоматически . Наконец-то разработчики сделали это, слава богам!
Однако, для того, чтобы отчет, добавленный в основную конфигурацию появился на панели отчетов, все же необходимо обновить вспомогательные данные вручную, выбрав пункт «Варианты отчетов»:
После выполнения этих действия, отчет будет добавлен в специальные справочники: «Варианты отчетов» и «Предопределенные варианты отчетов», и его основной вариант будет виден в панелях отчетов согласно указанной подсистемы.
Конечно, все дальнейшие настройки, такие как добавление описания, вывод отчета или других его вариантов в другие подразделы или панели отчетов, можно выполнить непосредственно в пользовательском режиме, перейдя по ссылке «Все отчеты»:
Но, более правильно указать основные (предопределенные) настройки в конфигурации. Тем более, что некоторые виды настроек, например видимость варианта отчета в зависимости от функциональных опций, нельзя настроить в пользовательском режиме.
Настройки вариантов отчетов задаются в процедуре общего модуля: «ВариантыОтчетовПереопределяемый >> НастроитьВариантыОтчетов». Здесь описаны все типовые отчеты и их варианты. Все настройки необходимо создавать для двух объектов: «Описание отчета» и «Описание варианта», которые можно получить из общего списка настроек, переданных в процедуру:
Объект «ОписаниеОтчета» имеет следующие свойства:
Включен — если свойство имеет значение «ложь», отчет не регистрируется в справочнике «Варианты отчетов».
ОпределитьНастройкиФормы – свойство определяет наличие в модуле объекта отчета экспортной процедуры « ОпределитьНастройкиФормы ». В данной процедуре указывается наличие дополнительных обработчиков для событий модуля формы отчета, которые также должны присутствовать в модуле объекта отчета:
Объект «ОписаниеВарианта» имеет следующие свойства:
Описание — Описание варианта отчета, которое выводится на панели отчетов.
ВидимостьПоУмолчанию — если свойство имеет значение «ложь», вариант не виден по умолчанию в панели отчетов, но в справочнике «Варианты отчетов» он регистрируется.
Размещение – настройка размещения отчета. По умолчанию, коллекция содержит все подсистемы, выбранные для отчета. Можно добавить новые подсистемы для размещения или удалить существующие. Дополнительно, можно указать важность размещения: «Важный» или «СмТакже»:
ФункциональныеОпции – подключенные к команде вывода варианта отчета функциональные опции:
НастройкиДляПоиска – дополнительные сведения для поиска варианта отчета
Для вступления настроек в силу, требуется обновить вспомогательные данные, выбрав пункт «Варианты отчетов».
В пользовательском режиме, можно переопределить эти настройки для текущего пользователя или всех пользователей системы. Тем не менее, всегда остается возможность вернуться к предопределенным настройкам, заданным в конфигурации:
Добавление нового отчета в расширение конфигурации
На первый взгляд, добавление отчета в расширении не должно отличаться от его добавления в основную конфигурацию, но это не так.
Во-первых, для того, чтобы отчет был виден на панели отчетов, не нужно выполнять обновление вспомогательных данных. Необходимая информация в справочники: «Варианты отчетов» и «Предопределенные варианты отчетов» добавляется автоматически, при начале работы системы. Я думаю логика разработчиков следующая: расширение может подключить обычный пользователь в режиме 1С Предприятия. И он не должен знать о необходимости обновлении вспомогательных данных.
Для отчетов, добавленных в расширениях, также существует возможность описания предопределенных настроек: описание, подсистемы, функциональные опции. Однако, эти настройки выполняются не в переопределяемом общем модуле, а непосредственно в модуле менеджера отчета:
Все настройки аналогичны тем, которые выполнялись для отчетов основной конфигурации. Отличие только в том, что объект «НастройкиОтчета» уже передан в процедуру в качестве параметра.
Для применения созданных настроек обязательно должен быть установлен параметр «НастроитьВариантыОтчета» в экспортной процедуре модуля менеджера отчета «ПриОпределенииНастроек»:
Если флаг установлен, предопределенные настройки обновляются автоматически, без необходимости обновления вспомогательных данных.
В этой же процедуре указывается наличие дополнительных обработчиков событий модуля формы отчета:
На заметку. Для отчетов созданных в расширениях, есть возможность указания описания для основного варианта без использования менеджера отчета. Для задания описания «по умолчанию» используется свойство отчета «Пояснение»:
Добавление контекстного отчета в основную конфигурацию или в расширение
Алгоритм добавления контекстных отчетов одинаков для отчетов созданных в основной конфигурации и для отчетов, созданных в расширениях.
В обоих случаях, необходимо определить экспортную процедуру «ПриОпределенииНастроек» в модуле менеджера отчета, и указать объекты назначения:
Сами команды необходимо описать в отдельной процедуре:
Основные свойства команды:
Представление – наименование команды в интерфейсе объекта назначения,
КлючВарианта – идентификатор варианта отчета компоновки данных, который требуется запустить.
Дополнительные свойства команды:
Важность — группы в подменю «Отчеты», в которой следует вывести команду открытия отчета. Доступные значения: "Важное", "Обычное" и "СмТакже".
Порядок — п орядок размещения отчета по отношению к другим отчетам.
СочетаниеКлавиш — с очетание клавиш для быстрого открытия отчета (тип «СочетаниеКлавиш».
ВидимостьВФормах — и спользуется для указания перечня форм, в которых требуется выводить отчет. По умолчанию, отчет выводится во всех формах объекта, подключенных к БСП.
ФункциональныеОпции — имена функциональных опций, определяющих видимость команды открытия отчета в форме.
УсловияВидимости – дополнительные условия, о пределяющие видимость команды отчета (массив). Для добавления новых условий рекомендуется использовать процедуру общего модуля «ПодключаемыеКоманды.ДобавитьУсловиеВидимостиКоманды(Команда, Реквизит, Значение, Знач ВидСравнения = Неопределено)».
Параметр «Реквизит» — это имя реквизита объекта назначения.
ДополнительныеПараметры – можно указать дополнительные параметры, и потом их обработать в переопределенном обработчике события модуля формы отчета «ПриСозданииНаСервере».
Ссылка на объект назначения передается в контекстный отчет в качестве параметра формы «ПараметрКоманды» . Для указания отбора по переданному значению, необходимо переопределить событие модуля формы отчета «ПриСозданииНаСервере», и добавить значение параметра в структуру «ФормаПараметры.Отбор»:
При необходимости можно обработать данные, переданные в свойстве команды «ДополнительныеПараметры»:
Примечание. Описывать команды для вывода контекстных отчетов можно не только в модуле менеджера самого отчета, но и в модуле менеджера объекта назначения, в экспортной процедуре «ДобавитьКомандыОтчетов». В этом случае, команда должны иметь дополнительный обязательный параметр «Менеджер», в котором необходимо указать полное имя менеджера отчета. Контекстные отчеты в типовых конфигурациях описаны именно таким способом.
Добавление отчетов с помощью механизма внешних отчетов и обработок
Процесс добавления общих и контекстных отчетов с использованием механизма дополнительных отчетов и обработок подробно описан во многих статьях, например в этой .
Я не думаю, что у кого-то возникают сложности при добавлении отчетов таким способом. Отмечу лишь, что в данном случае не нужно обновлять вспомогательные данные. Также, нет возможности указания предопределенных настроек для вариантов отчета. Все настройки вариантов указываются в пользовательском режиме, прямо в форме элемента дополнительного отчета:
Возможность добавления в модуль объекта обработчиков событий формы отчета доступна по умолчанию.
Если я ошибаюсь, и существуют вопросы и непонятные моменты в работе механизма дополнительных отчетов и обработок, пишите в комментариях, и я напишу отдельную статью на эту тему.
Дополнительно хочу отметить, что варианты отчетов, созданные в пользовательском режиме настраиваются одинаково для любого из способов добавления основного отчета.
На этом все, спасибо за внимание, и за то, что читаете мои статьи J .
Другие мои статьи по использованию механизмов БСП в типовых конфигурациях 1С
Читайте также:
- Как удалить драйвера wo mic
- Как снять защиту с ячейки в excel
- Внимание невозможно определить версию драйвера корректная работа драйвера не гарантируется
- Вид антивирусных программ которые обнаруживают вирусы путем определения
- Для того чтобы в редакторе adobe flash cs4 добавить к движущемуся автомобилю