Специализированная конфигурация, требуется создавать элементы справочника номенклатуры на основе записей госреестра. Проблема в том, что это нужно делать в тот момент, когда я нахожусь в форме списка/выбора номенклатуры и вижу, что нужного элемента нет. В форме списка справочника госреестра нужная команда есть, но чтобы ей воспользоваться, нужно каждый раз вручную туда переходить.
Подменю "создать на основании" по умолчанию содержит только пункты создания объектов других типов на основании текущего. Можно ли штатными средствами БСП заставить его работать также и в другую сторону -- т.е. создавать элементы текущего типа на основе других?
Вам обратить внимание на Обработчик - клиентский общий модуль где пишется логика. Если у вас УТшная база, зайдите в РТИУ и в обработчик потом, увидите как работает. В принципе если и БПшка, то будет почти тоже самое, только вместо обработчика будет какой нибудь Менеджер документа.
(1)Смотря что у вас подразумевается под штатными. В целом вы можете склепать команду, которая откроет формочку списка(или свою форму), где пользователь выберет нужные ему записи и нажмет ОК и потом на основании этих записей вы вызовете типовой код, который формирует записи справочника по регистру.
Если это не предусмотрено, подойдет любой совет, в какую сторону копать.
1. Добавить доп. пункт в генерируемое БСП подменю "Создать на основании" -- ???
Предусмотрен коллбэк "ДобавитьКомандыСозданияНаОсновании" в модуле менеджера, но предлагаемый по ссылке выше код дублирует то, что уже прописано в метаданных объекта. Поэтому смысл этой процедуры непонятен. Также непонятно, как определяется логика этой команды, что мне переопределять, чтобы изменить ее указанным в шапке образом.
2. Выбор объекта-основания -- ОткрытьФорму(<Тип>.ПолучитьФормуВыбора()) + ОбработкаВыбора . Данная логика шаблонна, поэтому напрашивается в библиотеку -- возможно, это уже сделано?
3. Создание объекта на основании и открытие его формы -- Как выполнить ввод на основании программно? :: Типичные вопросы разработчиков при переходе с 1С:Предприятия 7.7 :: Методическая поддержка для разработчиков и администраторов 1С:Предприятия 8. Этот код также напрашивается в библиотеку.
(3)Как уже выше написал про команду, она добавляется через БСП, можно как внешнюю (никогда не пользовал https://infostart.ru/1c/articles/558559/) и через код. В модуле менеджера объекта (все впринципе делается через расширения) должна быть процедура ДобавитьКомандыСозданияНаОсновании в нее добавляете свою команду, аналогично другим. Делаете свой клиентский модуль (или можно в уже готовом, не критично) и в нем пишите код. В целом Флагами нельзя, но доп вызовами все что угодно.
Вам обратить внимание на Обработчик - клиентский общий модуль где пишется логика. Если у вас УТшная база, зайдите в РТИУ и в обработчик потом, увидите как работает. В принципе если и БПшка, то будет почти тоже самое, только вместо обработчика будет какой нибудь Менеджер документа.