Почему не отображается документ в списке «Ввод на основании» и как это исправить?

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

Разработка в современных конфигурациях 1С, таких как Управление торговлей 11 или ERP, требует понимания динамических механизмов формирования интерфейса. Часто возникает ситуация, когда вы добавили новый документ, настроили его в метаданных, проверили командный интерфейс, но в режиме 1С:Предприятие команда создания на основании так и не появляется. Давайте вместе разберемся, где искать причину этого поведения и как заставить 1С увидеть ваш документ.

1. Проверка функциональных опций

Это самая частая причина «исчезновения» команд. Механизм Ввод на основании в 1С глубоко интегрирован с функциональными опциями (ФО). Если ваш новый документ или его логика зависят от подсистемы, которая отключена в настройках программы (например, учет комиссионной торговли, работа с сериями или ордерная схема), платформа автоматически исключает все связанные с этим объектом команды из интерфейса.

Что нужно сделать:

  1. Откройте настройки системы в режиме 1С:Предприятие и убедитесь, что включены все необходимые функциональные опции, связанные с вашим документом.
  2. Если документ относится к комиссионной торговле, проверьте настройки параметров учета.
  3. Используйте Консоль функциональных опций, чтобы проверить, какие именно опции влияют на видимость вашего объекта.

2. Проверка стандартных команд

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

3. Анализ модулей менеджера

В современных конфигурациях 1С формирование списка команд происходит не только декларативно, но и программно. Разберем, где именно нужно искать код:

Проанализируйте процедуру ДобавитьКомандыСозданияНаОсновании в модуле менеджера документа-основания. Именно здесь разработчики конфигурации прописывают логику вывода команд. Также обратите внимание на функцию ПолучитьСписокДопустимыхОперацийДокументовОснований. В некоторых случаях именно там происходит жесткая фильтрация доступных видов документов.

Примерная логика, которую стоит поискать в коде, выглядит следующим образом:


Процедура ДобавитьКомандыСозданияНаОсновании(Команды, Параметры) Экспорт
    // Проверяем доступность функциональной опции
    Если ПолучитьФункциональнуюОпцию("ИспользоватьКомиссионнуюТорговлю") Тогда
        // Добавляем команду программно, если стандартного механизма недостаточно
        Команда = Команды.Добавить("МойНовыйДокумент");
        Команда.Представление = "Создать мой документ";
    КонецЕсли;
КонецПроцедуры

4. Отладка видимости элементов формы

Если вы уверены, что функциональные опции включены, но кнопки всё равно нет, стоит перейти к отладке формы. Бывает так, что команда есть, но ее свойство Видимость принудительно установлено в Ложь в процедуре ПриСозданииНаСервере.

Порядок действий при отладке:

  1. Поставьте точку останова в самом начале процедуры ПриСозданииНаСервере в модуле формы.
  2. Запустите отладку.
  3. Пошагово (клавиша F10 или F11) проходите код, наблюдая через окно Табло за состоянием командной панели формы.
  4. Найдите тот участок кода, где видимость нужной вам кнопки меняется на Ложь. Часто это происходит внутри вызовов процедур из общих модулей, управляющих командным интерфейсом.

5. Роли и права доступа

Не стоит забывать и про права пользователя. Платформа 1С автоматически скрывает команды, если у текущего пользователя нет прав на выполнение действия, связанного с этой командой (например, прав на ввод документа на основании или прав на сам документ-приемник). Попробуйте запустить программу под пользователем с полными правами — если под ним команда появится, значит, проблема кроется в настройке ролей.

Подводя итог: в 90% случаев решение проблемы заключается либо в выключенной функциональной опции, либо в программном управлении видимостью в модуле формы. Начинайте проверку всегда с настроек функциональности, а затем переходите к отладке кода командного интерфейса.

← На главную