Имя: Пароль:
1C
 
Команда "создать на основании" через БСП
0 РыбаАист
 
04.10.24
11:07
Добрый день, форумчане.

Разрабатываю расширение для УНФ (3.0.9), пытаюсь активно использовать БСП. Задача формировать документ Заказ на перемещение на основании Заказа покупателя с дополнительной обработкой данных.
Видел тему на инфостарте, каюсь, не разобрался.

Раньше тупо делал общую команду и запихивал её в соответствую папку, за что поплатился с одним из недавних обновлений.

Делаю:

1) В модуле менеджера "заказ на перемещение" обработчик ДобавитьКомандыСозданияНаОсновании - добавляю свою команду:

        Если ПравоДоступа("Добавление", Метаданные.Документы.ЗаказНаПеремещение)  Тогда
        КомандаСоздатьНаОсновании = КомандыСозданияНаОсновании.Добавить();
        КомандаСоздатьНаОсновании.Менеджер = Метаданные.ОбщиеКоманды.ААТ_СоздатьЗаказНаПеремещение.МодульКоманды;
        КомандаСоздатьНаОсновании.Обработчик = "ОбработкаКоманды";       
        КомандаСоздатьНаОсновании.Представление = "Заказ на перемещение (по всем этапам)";
    КонецЕсли;
    
    Документы.ЗаказПокупателя.ДобавитьКомандуСоздатьНаОсновании(КомандыСозданияНаОсновании);



2) ...??? а что дальше-то? Как видите ссылаюсь на общую команду, потому что не понимаю где ещё разместить свой обработчик заполнения (пытался посмотреть пример в типовой конфиге, запутался ещё больше). Да и в целом хватаюсь за голову, потому что не могу разобраться что куда откуда. И на ИТСе не ищется ничего конкретного.
1 РыбаАист
 
04.10.24
13:26
забавно, что даже если добавить команду так, как я это сделал, то в списке её нет, но если нажать "настроить", то там она есть 👍
2 dmt
 
04.10.24
11:22
3 Prog_man
 
04.10.24
11:24
(0) расширение не лучший вариант, я бы сделал подпиской на событие
4 РыбаАист
 
04.10.24
11:47
(2) За ссылку спасибо!

1 шаг мне не нужен, так как ЗНП определен у Заказа покупателя в типовом решении, так?

2 шаг,
3 шаг - ДобавитьКомандуНаСоздание - судя по всему свой код я должен был вставить сюда, но функцию в расширение я могу забрать только "вместо", а я не хочу заменять типовую команду.

4 шаг - ДобавитьКомандыНаСоздание - судя по всему эту процедуру я должен был бы забрать в модуль менеджера Заказа покупателя, но опять-таки ЗНП указан в этой процедуре по умолчанию, так что мне это не нужно?
5 РыбаАист
 
04.10.24
12:39
я схожу с ума, добавил команду в одном месте, кнопка появилась на форме вне каких-либо групп.
Почему она не добавляется в списке "создать на основании", но при это видна в настройках этого списка, я тоже не понимаю.
кнопка добавленная через команду "ААТ команды" - тут всё ясно
6 AAA
 
04.10.24
13:19
(3)Поясните то, что Вы написали. Как соотносятся расширение и подписка на событие ?
7 craxx
 
04.10.24
13:29
(0) Команды мало, надо еще кнопку из нее создать
8 Prog_man
 
04.10.24
13:35
(6) имеется ввиду в основной конфе для Заказа на перемещение в свойствах добавить вводится на основании... далее подпиской на событие обработка заполнения если данные заполнения = документ основание... далее заполнение документа..
9 РыбаАист
 
04.10.24
14:28
Решение:
1) В модуле менеджера Заказа покупателя тащим процедуру ДобавитьКомандыСозданияНаОсновании из типовой, в ней описываем создание команды (у меня на скриншоте оно отдельной функцией ААТ_ДобавитьКомандуДокументЗаказНаПеремещениеПоВсемЭтапам)
1.1) В обработчике команды указываем процедуру (я ссылаюсь на типовой модуль, добавленный в расширение, куда вписал свою процедуру по примеру из типовой)
1.2) По-непонятным причинам в команду в параметр "функциональные опции" встаёт какая-то дрянь, поэтому принудительно очищаю его (ура костыль).

2) В данные заполнения указываю свой параметр

3) В обработчике заполнения использую указанный параметр для определения, и заполняю документ как мне надо

спасибо БСП за упрощение жизни программиста и за то что не даёшь скучать