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