Каждый разработчик 1С рано или поздно сталкивается с ситуацией: в конфигураторе документ добавлен в подсистему, галочки использования стандартных команд стоят, права полные, а в режиме «1С:Предприятие» в панели навигации нужного объекта просто нет. Особенно часто это происходит после обновления типовых конфигураций (например, «Управление торговлей 11»).
В этой статье мы подробно разберем, почему так происходит, рассмотрим скрытые механизмы платформы «1С:Предприятие 8.3» и выясним, как вернуть пропавший документ в командный интерфейс. Также мы разберем один крайне неприятный баг самого Конфигуратора, который мешает добавлять команды вручную.
---
Прежде чем переходить к сложным сценариям, давайте исключим самые простые технические причины. Проанализируем три главных параметра, без которых объект в принципе не сможет попасть в интерфейс подсистемы:
УстановкаЦенНоменклатуры) и перейдем на вкладку «Подсистемы». Убедимся, что напротив нужной подсистемы (например, МаркетингИЦенообразование) стоит флажок.Использовать стандартные команды. Если этот флаг снят, платформа не будет автоматически генерировать команду открытия списка для этого документа.Если все галочки установлены верно, но в режиме предприятия документа по-прежнему нет в разделах «Важное» или «Обычное», переходим к более интересным и неочевидным причинам.
---
Очень часто при обновлении типовых конфигураций разработчики фирмы «1С» меняют концепцию работы с подсистемами. Именно это произошло в релизах «Управление торговлей 11.1» с документом УстановкаЦенНоменклатуры.
Давайте выясним причину подробнее. Фирма «1С» внедрила новое интерактивное рабочее место — «Цены номенклатуры» (прайс-лист). Теперь пользователям предлагается работать через эту удобную обработку, а сам документ УстановкаЦенНоменклатуры стал выполнять лишь техническую роль регистратора истории.
Чтобы пользователи не создавали документы вручную в обход нового рабочего места, разработчики применили два шага:
Таким образом, документ никуда не исчезал. Он все это время присутствовал в командном интерфейсе, но под другим именем («История изменения цен») и в самом низу панели навигации — в группе «См. также». Обращайте внимание не только на имя и синоним самого объекта метаданных, но и на его специализированные представления!
---
Если в конфигураторе все настроено правильно, но объект не виден конкретному пользователю (даже с полными правами), виной тому могут быть функциональные опции. Рассмотрим, как это работает.
Если документ или сама подсистема привязаны к какой-либо функциональной опции (например, ИспользоватьРучныеСкидки или ИспользоватьНесколькоВидовЦен), то при отключении этой опции в пользовательском режиме (через константы или настройки программы) платформа 1С автоматически исключает объект из командного интерфейса на лету.
Чтобы проверить это, найдите ваш документ в дереве метаданных, кликните по нему правой кнопкой мыши и выберите пункт «Найти в функциональных опциях». Если документ входит в какую-то ФО, обязательно убедитесь, что эта опция включена в режиме предприятия.
---
Платформа 1С сохраняет персональные настройки панели навигации для каждого пользователя индивидуально. Если пользователь когда-то давно вручную скрыл документ из панели навигации (через настройку разделов или «Настройку навигации» — иконка шестеренки в правом верхнем углу), то никакие изменения в конфигураторе не вернут этот документ на экран автоматически.
Для решения этой проблемы выполним следующие действия в режиме «1С:Предприятие»:
После этого интерфейс вернется к тому виду, который вы настроили в конфигураторе.
---
Отдельно разберем специфический баг платформы «1С:Предприятие 8.3», связанный с редактированием командного интерфейса подсистем в конфигураторе.
Иногда при попытке вручную перетащить команду нового документа из левой колонки («Доступные команды») в правую («Панель навигации») с помощью мыши (механизм Drag-and-Drop) ничего не происходит. Элемент просто «не цепляется» или не переносится.
Выясним причину: Этот баг проявляется тогда, когда окно редактора командного интерфейса развернуто на весь экран внутри рабочей области конфигуратора (максимизировано). При этом сбивается внутренний расчет экранных координат мыши в платформе.
Как решить эту проблему (два способа):
Enter либо сделайте двойной клик мыши по элементу. На эти действия баг координат не влияет.Для наглядности, если вам все же необходимо открыть форму списка программно из другого места (например, при написании собственной команды), вы можете использовать следующий шаблон кода:
ПараметрыФормы = Новый Структура;
// При необходимости можно передать параметры фильтрации
// ПараметрыФормы.Вставить("Отбор", Новый Структура("ПометкаУдаления", Ложь));
ОткрытьФорму("Документ.УстановкаЦенНоменклатуры.ФормаСписка", ПараметрыФормы);
Мы подробно разобрали все возможные причины исчезновения объектов из интерфейса: от невнимательности при анализе синонимов до системных багов платформы 1С. Используйте этот алгоритм при возникновении подобных проблем, и вы всегда сможете быстро вернуть управление системой в свои руки!