Как вернуть пропавшую кнопку Отчеты в форме списка Номенклатура

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

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

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

Анализ ситуации: почему пропадают команды

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

Рассмотрим основные факторы, которые могут блокировать появление этой кнопки:

  1. Особенности платформы 8.3.23: В новых версиях изменен механизм компоновки элементов в командной панели. Если панель перегружена или строка поиска занимает слишком много места, платформа может скрывать «второстепенные», по её мнению, команды.
  2. Режим поиска: Как было замечено в ходе обсуждения, видимость кнопок может инвертироваться при переключении между «Стандартным» и «Расширенным» поиском. Это связано с тем, что разные режимы поиска по-разному перестраивают структуру заголовка формы.
  3. Кэш настроек интерфейса: Помимо обычного файлового кэша, существуют записи в системных таблицах базы данных, которые хранят индивидуальные настройки размещения кнопок для каждого пользователя.

Шаг 1. Проверка влияния режима поиска

Проанализируем интересную закономерность: в некоторых случаях кнопка «Отчеты» появляется только при определенном положении строки поиска. Проделаем следующие действия для проверки:

  1. Откроем форму списка Номенклатура.
  2. Обратим внимание на наличие строки поиска. Если её нет, нажмем Ctrl+F.
  3. Попробуем переключить режим поиска (через меню «Еще» или настройки поиска). Выясним, появляется ли кнопка при переходе в режим «Расширенный поиск» или наоборот — при возврате к «Стандартному».

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

Шаг 2. Глубокая очистка настроек пользователя

Если стандартная кнопка «Установить стандартные настройки» в окне «Изменить форму» не помогает, необходимо выполнить полную очистку через административный раздел. Рассмотрим, как это сделать правильно:

  1. Перейдем в раздел НСИ и Администрирование — Настройки пользователей и прав.
  2. Откроем пункт Настройки пользователей.
  3. Выберем нужного пользователя и перейдем на вкладку Внешний вид.
  4. Найдем в списке строку, относящуюся к форме списка Справочник.Номенклатура.ФормаСписка.
  5. Нажмем «Очистить». Это принудительно удалит все сохраненные настройки компоновки элементов, которые могли «залипнуть» после обновления платформы или расширений.

Шаг 3. Устранение конфликтов с расширениями

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

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

Шаг 4. Программная диагностика (для разработчиков)

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


// В общем модуле ВариантыОтчетов
Процедура ПриСозданииНаСервере(Форма, ГруппаКоманд = Неопределено) Экспорт
    // Здесь происходит инициализация команд
    // Проверьте содержимое коллекции команд перед выводом на форму
КонецПроцедуры

Разберем, что именно нужно проверить в отладке:

Шаг 5. Обновление вспомогательных данных

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

  1. Откроем форму «Обслуживание» (в разделе Администрирование).
  2. Перейдем в «Обновление программы» — «Результаты обновления».
  3. Если там есть незавершенные дополнительные процедуры обработки данных, их необходимо запустить.
  4. Альтернативный вариант — запустить базу с параметром /С ЗапуститьОбновлениеИнформационнойБазы.

Резюме

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

← На главную