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