Как настроить появление кнопки «Создать на основании» в 1С:КА 2.5 и ERP

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

Переход с классических решений, таких как 1С:УПП, на современные конфигурации вроде 1С:Комплексная автоматизация 2.5 или 1С:ERP часто вызывает вопросы у разработчиков. Одной из распространенных проблем является настройка механизма создания документов на основании. Если в обычных формах достаточно было указать тип в метаданных, и кнопка появлялась автоматически, то в управляемых формах, построенных на Библиотеке стандартных подсистем (БСП), процесс выглядит иначе. Рассмотрим подробно, почему кнопка не появляется и как правильно настроить этот функционал.

Анализ проблемы: почему стандартный механизм не срабатывает

Разберем ситуацию: вы зашли в конфигуратор, добавили документ-основание (например, ЗаказКлиента) в список оснований для нового документа (например, ПроизводствоБезЗаказов), реализовали процедуру ОбработкаЗаполнения, но кнопка в интерфейсе «Заказа клиента» так и не появилась. Проанализируем причины:

  1. Подключаемые команды БСП: В современных конфигурациях состав меню «Создать на основании» формируется программно. Система может игнорировать стандартный платформенный вывод кнопок в пользу динамического построения интерфейса.
  2. Командный интерфейс формы: Кнопка может быть создана платформой, но по умолчанию иметь флаг «Видимость» в значении Ложь для конкретной формы источника.
  3. Функциональные опции: Если возможность создания документа (или само направление учета) ограничена функциональной опцией, которая выключена в константах, кнопка будет скрыта программно.

Шаг 1. Проверка настроек командного интерфейса

Это самый простой шаг, с которого стоит начать. Часто платформа добавляет команду в метаданные, но не выводит её на форму существующего документа-источника автоматически. Выполним следующие действия:

  1. Откроем в конфигураторе форму документа-источника (в нашем примере это форма документа ЗаказКлиента).
  2. Перейдем на закладку «Командный интерфейс» (она находится в нижней части окна редактора формы).
  3. Развернем ветку «Создать на основании».
  4. Найдем в списке наш новый документ. Скорее всего, флажок в колонке «Видимость» будет снят.
  5. Установим галочку «Видимость». Если кнопка должна быть видна всем, убедимся, что она включена и для конкретных ролей в правой колонке.

После сохранения конфигурации кнопка должна появиться в меню «Создать на основании» в командной панели формы.

Шаг 2. Регистрация команды в модуле менеджера (Механизм БСП)

В конфигурациях 1С:КА 2.5 и ERP активно используется механизм подключаемых команд. Чтобы система «увидела» вашу команду создания на основании и правильно включила её в реестр БСП, иногда требуется выполнить программную регистрацию. Рассмотрим, как это сделать.

В модуле менеджера вашего нового документа (который создается) найдите или создайте экспортную процедуру ПриОпределенииКомандСозданияНаОсновании. Примерный шаблон кода может выглядеть следующим образом:


Процедура ПриОпределенииКомандСозданияНаОсновании(Настройки) Экспорт
	
	Команда = Настройки.Команды.Добавить();
	Команда.ТипФормы = "ФормаСписка,ФормаОбъекта";
	Команда.Вариант = "СоздатьНаОсновании";
	Команда.Менеджер = "Документ.ПроизводствоБезЗаказов"; // Имя вашего документа
	
КонецПроцедуры

Этот код сообщает подсистеме БСП, что данный объект должен участвовать в формировании меню создания на основании для тех объектов, которые указаны в его метаданных. Для быстрого поиска примеров кода и процедур библиотеки стандартных подсистем можно использовать справочник по методам БСП.

Шаг 3. Использование программного добавления кнопок

Если типовая форма документа-источника сильно переработана и в ней отключено автозаполнение командной панели, вам придется добавить кнопку вручную. Для этого проанализируем процедуру ПриСозданииНаСервере в модуле формы источника. В типовых решениях часто вызывается метод БСП для формирования команд.

Посмотрим на пример того, как это реализуется через подсистему «Подключаемые команды»:


// В модуле формы источника
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    // Параметры вызова подсистемы БСП
    ПараметрыПодключаемыхКоманд = ПодключаемыеКоманды.ПараметрыПодключаемыхКоманд();
    ПараметрыПодключаемыхКоманд.УстановитьКоманднуюПанель(Элементы.ГруппаКомандыСоздатьНаОсновании);
    
    ПодключаемыеКоманды.ПриСозданииНаСервере(ЭтотОбъект, ПараметрыПодключаемыхКоманд);
    
КонецПроцедуры

Если вы создаете абсолютно новую кнопку, которая не завязана на стандартный механизм, можно создать команду формы и программно привязать её к обработчику, который будет вызывать ОткрытьФорму с передачей параметра ЗначениеЗаполнения.

Шаг 4. Настройка структуры подчиненности (Связанные документы)

После того как кнопка появилась и документ создается, важно обеспечить его отображение в отчете «Связанные документы» (структура подчиненности). В 1С:КА 2.5 это работает аналогично УПП, но с учетом некоторых нюансов управляемых форм:

  1. Реквизит основания: Убедимся, что в нашем новом документе создан реквизит (например, ДокументОснование) с типом, включающим документ-источник.
  2. Свойство «Заполнять из заполняемого значения»: В свойствах этого реквизита в конфигураторе обязательно установите галочку «Заполнять из заполняемого значения». Это позволяет платформе автоматически прокидывать ссылку при вводе на основании.
  3. Критерий отбора: Чтобы документ отобразился в дереве связей, его нужно включить в состав критерия отбора СвязанныеДокументы.
    • Найдем в дереве метаданных Общие -> Критерии отбора -> СвязанныеДокументы.
    • Перейдем на вкладку «Состав».
    • Найдем наш документ и отметим галочкой тот реквизит, в котором хранится ссылка на основание.

Шаг 5. Влияние функциональных опций

Выясним причину, если кнопка всё равно не видна. В 1С:КА 2.5 почти каждый объект привязан к функциональным опциям. Если ваш новый документ относится к подсистеме «Производство», а в настройках НСИ и администрирования «Производство» выключено, платформа скроет все связанные с ним команды автоматически, независимо от настроек командного интерфейса.

Проверьте свойство «Функциональные опции» у вашего документа в конфигураторе. Если там указаны опции, убедитесь, что они включены в режиме «1С:Предприятие».

Резюме

Подведем итоги. Для корректной работы механизма «Ввод на основании» в 1С:КА 2.5 необходимо:

Использование этих шагов позволит вам эффективно перенести функционал из старых конфигураций в современные решения на базе управляемых форм и БСП. Если требуется настроить перенос данных без ручной доработки конфигурации, можно использовать внешнюю обработку для создания документов на основании с автоматическим копированием реквизитов и табличных частей.

← На главную