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