Почему не появляется внешний отчет в разделе «Продажи» в 1С:Управление торговлей 11 и как это исправить?

Программист 1С v8.3 (Управляемые формы) 1С:Управление торговлей Управленческий учет IT и автоматизация бизнеса
← На главную

При работе с управляемыми формами в конфигурациях на базе Библиотеки стандартных подсистем (БСП), таких как 1С:Управление торговлей 11, 1С:ERP или 1С:Комплексная автоматизация, разработчики и администраторы часто сталкиваются с неприятной ситуацией. Мы регистрируем внешний отчет в справочнике «Дополнительные отчеты и обработки», указываем в размещении раздел «Продажи», однако в самом интерфейсе программы ссылка на запуск отчета упорно не появляется. При этом в других разделах (например, в «Финансовом результате и контроллинге») все работает идеально.

В этой статье мы подробно разберем, почему возникает эта проблема, проанализируем неочевидные особенности платформы 1С:Предприятие 8.3 и предоставим пошаговые инструкции для ее устранения. Также мы рассмотрим профессиональное решение — как создать собственный полноценный раздел интерфейса через расширение конфигурации и вывести туда всю вашу «внешнюю нетленку».

1. Конфликт дублирующихся подсистем («Два раздела Продажи»)

Выясним первую и самую частую причину этой проблемы. В типовых конфигурациях 1С структура метаданных устроена довольно сложно. В интерфейсе пользователя мы видим один лаконичный раздел «Продажи». Однако в конфигураторе за этим именем могут скрываться сразу несколько подсистем со схожими или идентичными синонимами. Например:

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

Что нужно сделать:

  1. Откроем карточку регистрации нашего внешнего отчета в разделе НСИ и администрирование -> Печатные формы, отчеты и обработки -> Дополнительные отчеты и обработки.
  2. Перейдем к списку размещения отчета.
  3. Внимательно проанализируем дерево разделов. Попробуем установить флажки для всех смежных подсистем, связанных с продажами (и «Оптовые продажи», и «Розничные продажи», и «CRM и продажи»).
  4. Запишем изменения и проверим командный интерфейс заново.

2. Настройка списка пользователей в карточке БСП

Разберем еще один нюанс ведения учета прав в БСП. Мало просто опубликовать отчет в нужном разделе — необходимо явно указать, у каких именно пользователей будет к нему доступ. В противном случае платформа автоматически скрывает команду вызова дополнительного отчета в интерфейсе конкретного сеанса.

При добавлении отчета обратим внимание на табличную часть вариантов отчета. Нам необходимо выполнить следующие действия:

  1. В форме настройки дополнительного отчета найдем колонку «Быстрый доступ» (в зависимости от версии БСП она может называться «Доступно пользователям» или находиться в настройках конкретного варианта отчета).
  2. По умолчанию там может стоять пустой список или ограниченный набор ответственных лиц. Нам нужно перенести требуемых пользователей (или группу «Все пользователи») из левого списка («Доступные пользователи») в правый список («Выбранные пользователи»).
  3. Убедимся, что у пользователей, которые должны видеть отчет, в их профилях групп доступа присутствует роль ИспользованиеДополнительныхОтчетовИОбработок. Без этой роли подсистема БСП полностью блокирует отображение подобных интерфейсных элементов.

3. Пользовательские настройки панели действий «Такси»

Проанализируем ситуацию со стороны клиентского интерфейса. Иногда отчет успешно зарегистрирован и права настроены корректно, но сама группа команд «Дополнительные отчеты» просто скрыта в настройках конкретного пользователя. В интерфейсе «Такси» каждый пользователь может индивидуально настраивать состав команд своего экрана.

Выполним ручную проверку панели действий:

  1. Перейдем в раздел «Продажи».
  2. В правом верхнем углу экрана нажмем на иконку шестеренки («Настройки») и выберем пункт «Настройка действий».
  3. Перед нами откроется двухпанельное окно. В левой части («Доступные команды») найдем группу «Отчеты» и проверим наличие пункта «Дополнительные отчеты».
  4. Если эта команда находится в левой части, выделим ее и нажмем кнопку «Добавить», чтобы перенести ее в правую часть («Выбранные команды»).
  5. Нажмем «ОК» для сохранения настроек. Ссылка на дополнительные отчеты мгновенно появится на панели действий раздела.

4. Интеграция в стандартный список «Отчеты по продажам»

Посмотрим на поведение современных версий БСП (начиная с 11.4 и 11.5). Разработчики 1С постепенно уходят от практики использования отдельного окна «Дополнительные отчеты». Вместо этого внешние отчеты бесшовно встраиваются в общую панель отчетов конкретного раздела.

Вместо поиска ссылки «Дополнительные отчеты» откроем стандартное окно «Отчеты по продажам». Нам нужно проверить тематические группы отчетов. Очень часто зарегистрированный внешний отчет уже находится там, аккуратно встроенный в общий список рядом с типовыми отчетами конфигурации.

5. Проверка свойства «Хранилище вариантов» в конфигураторе

Если внешний отчет разрабатывался «с нуля», причиной проблемы может быть некорректная структура самого файла .erf. БСП требует, чтобы у отчета было правильно заполнено свойство, отвечающее за сохранение пользовательских настроек.

Рассмотрим, как это исправить в Конфигураторе:

  1. Откроем файл внешнего отчета (.erf) в Конфигураторе.
  2. Откроем палитру свойств корневого объекта «Отчет».
  3. Найдем свойство «Хранилище вариантов».
  4. Если это поле пустое, выберем в нем стандартное значение ХранилищеВариантовОтчетов.
  5. Сохраним файл отчета и обновим его в справочнике дополнительных отчетов в режиме «1С:Предприятие».

6. Очистка кэша метаданных платформы

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

Попробуем выполнить следующие действия:


Решение для разработчиков: вывод отчетов в собственный раздел через Расширение

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

Рассмотрим по шагам, как реализовать эту задачу:

  1. Создадим новое Расширение конфигурации в Конфигураторе (тип расширения оставим по умолчанию — «Адаптация»).
  2. В дереве объектов расширения добавим новую Подсистему (назовем ее, к примеру, НашРазделОтчетов).
  3. В свойствах нашей подсистемы обязательно установим флаг «Включать в командный интерфейс» и зададим понятный синоним и красивую картинку для панели разделов.
  4. Теперь нам необходимо подружить нашу новую подсистему с механизмом БСП, чтобы программа позволяла выбирать ее в качестве места размещения для внешних отчетов. Для этого добавим в расширение общий модуль ДополнительныеОтчетыИОбработкиПереопределяемый.
  5. В этом модуле переопределим процедуру ПриОпределенииРазделовСДополнительнымиОтчетамиИОбработками, добавив в нее следующий код:

&После("ПриОпределенииРазделовСДополнительнымиОтчетамиИОбработками")
Процедура Расш_ПриОпределенииРазделовСДополнительнымиОтчетамиИОбработками(Разделы)
    
    // Регистрируем нашу новую подсистему из расширения в списке БСП
    Разделы.Добавить(Метаданные.Подсистемы.НашРазделОтчетов);
    
КонецПроцедуры

После применения данного расширения и перезапуска программы мы получим потрясающий результат: на панели разделов интерфейса «Такси» появится наш собственный раздел. А при регистрации любого внешнего отчета или обработки в списке разделов для размещения мы сможем выбрать нашу новую подсистему. Отчеты будут аккуратно и беспроблемно открываться прямо оттуда, существенно экономя время пользователей и разработчиков.

← На главную