Разберем довольно распространенную и на первый взгляд мистическую проблему, с которой часто сталкиваются разработчики при работе с крупными конфигурациями на платформе "1С:Предприятие 8.3" (такими как 1С:ERP, 1С:Комплексная автоматизация или 1С:Управление торговлей).
Представим ситуацию: в пользовательском интерфейсе в разделе Продажи / Оптовые продажи отображается документ, например СТ_ШаблонДокумента. Нам необходимо убрать его из этого раздела. Мы открываем конфигуратор, находим этот документ, смотрим свойства его состава — но флажок принадлежности к подсистеме "Оптовые продажи" снят. Мы открываем саму подсистему, проверяем ее состав — документа там тоже нет. В расширениях конфигурации его видимость также не настроена.
В чем же дело? Каким образом объект "пролезает" в командный интерфейс подсистемы в обход стандартных механизмов платформы? Выясним причины этого поведения и рассмотрим подробные инструкции по устранению проблемы.
Это самая частая причина подобных "чудес". Платформа "1С:Предприятие 8.3" позволяет создавать Общие команды, которые могут параметризоваться типом определенного объекта. Если в конфигурации существует общая команда, которая добавлена в состав подсистемы ОптовыеПродажи, а в свойстве этой команды ТипПараметраКоманды указан наш документ СТ_ШаблонДокумента, то платформа автоматически выведет эту команду в панель навигации или панель действий этой подсистемы.
Разберем по шагам, как это исправить:
Общие -> Общие команды.Группа (она должна указывать на панель навигации или действий нужной подсистемы) и свойство ТипПараметраКоманды.СТ_ШаблонДокумента, то именно эта команда "вытягивает" его в интерфейс. Нам нужно либо исключить документ из типа параметра команды, либо убрать саму команду из подсистемы.Иногда разработчики забывают проверить настройки командного интерфейса самой подсистемы в конфигураторе. Документ может не входить в состав подсистемы напрямую, но его видимость может наследоваться из родительских или дочерних разделов.
Проанализируем ситуацию через интерфейс настройки подсистемы:
ОптовыеПродажи (или ее родительский раздел Продажи).Командный интерфейс.Видимость. Если там присутствует команда, связанная с вашим документом (даже если сам документ не входит в состав подсистемы), просто снимите с нее флажок видимости.Современные конфигурации уровня ERP практически полностью построены на Библиотеке стандартных подсистем (БСП). В БСП многие элементы интерфейса, командные панели форм, кнопки печати и заполнения формируются программно в режиме "1С:Предприятие".
Документ может попадать в интерфейс динамически через переопределяемые модули БСП. Проверим основные механизмы регистрации:
УправлениеПечатьюПереопределяемый, система может автоматически выводить связанные команды в панели разделов.СозданиеНаОснованииПереопределяемый или ЗаполнениеОбъектовПереопределяемый.Посмотрим на пример кода в переопределяемом модуле БСП, который регистрирует объект для динамического вывода команд:
Процедура ПриОпределенииОбъектовСКомандамиПечати(СписокОбъектов) Экспорт
// Документ может быть зарегистрирован здесь программно
СписокОбъектов.Добавить(Документы.СТ_ШаблонДокумента);
КонецПроцедуры
Если вы обнаружили подобный код, необходимо закомментировать добавление вашего документа или настроить условия его вывода в зависимости от функциональных опций.
Часто то, что пользователь воспринимает как стандартный список документов в панели навигации подсистемы, на самом деле является встроенной Общей формой или формой Обработки (АРМ), которая включена в состав подсистемы. Внутри этой формы программно настраивается вывод списков различных документов.
Выясним причину с помощью глобального поиска по конфигурации:
Ctrl + Shift + F для вызова диалога глобального поиска.СТ_ШаблонДокумента.ПриСозданииНаСервере), где динамически настраиваются пути к динамическим спискам или элементам навигации.Если вы уже исключили документ из состава подсистемы в конфигураторе (или отключили его в расширении), но в режиме предприятия он продолжает отображаться, это связано с кэшированием динамического меню платформы или кэшем данных БСП.
Выполним очистку кэша по шагам:
%localappdata%\1C\1Cv8)./C СтартОбновленияИнформационнойБазы (или /C StartInfobaseUpdate). Это заставит механизмы БСП обновить внутренние регистры сведений, которые отвечают за построение динамического интерфейса и командных панелей.Применяя эти методы последовательно, мы обязательно найдем скрытую связь нашего документа с подсистемой и сможем корректно настроить интерфейс программы 1С:ERP.