Имя: Пароль:
1C
 
Доработка процедуры модуля менеджера в расширении
0 NIGHTHUNTER
 
25.03.22
12:01
В модуле менеджера справочника Номенклатура имеется Функция ТабличныйДокументКарточкиНоменклатуры(Номенклатура, НастройкиВидимостиИЗаголовков) Экспорт
Мне необходимо ее доработать в расширении.
Нажав на ней правой кнопкой мыши, я добавляю ее в расширение.
Появляется такое окно http://joxi.ru/LmGbQ18CBeNbMr

Почему нет возможности выбрать вызывать после?

Я хотел в конце этой процедуры сделать доработку. Как мне это правильно сейчас сделать?
1 DJ Anthon
 
25.03.22
12:03
какая разница? выбирай вместо, внутри нее есть вызов оригинальной функции
2 NIGHTHUNTER
 
25.03.22
12:04
(1) А как сейчас правильно сделать доработку? то есть будет вызываться сама функция из конфигурации?

Куда мне встраивать мою доработку?


&Вместо("ТабличныйДокументКарточкиНоменклатуры")
Функция Расш1_ТабличныйДокументКарточкиНоменклатуры(Номенклатура, НастройкиВидимостиИЗаголовков)
    // Вставить содержимое метода.
    Результат = ПродолжитьВызов(Номенклатура, НастройкиВидимостиИЗаголовков);
    Возврат Результат;
КонецФункции
3 DJ Anthon
 
25.03.22
12:04
а как сделать вызов после функции? она же возвращает результат. обрабатывай результат, а если невозможно, переписывай всю функцию вместо оригинальной.
4 NIGHTHUNTER
 
25.03.22
12:05
// Вставить содержимое метода.

- сюда нужно переносить ее текст, из оригинального модуля менеджера?
5 DJ Anthon
 
25.03.22
12:06
смотря что ты хочешь сделать. если это табличный документ, то он должен быть в переменной Результат. вот перед строкой Возврат Результат и вставляй всё, что тебе надо.
если ты хочешь вмешаться в середину алгоритма, то либо копируй его полностью из оригинальной функции (не очень хорошая идея), либо юзай другую директиву, она даже лучше, будет за тебя контролировать, устарел твой код, или нет.
6 NIGHTHUNTER
 
25.03.22
12:08
(5) Эта функция выводит как я понял секции в табличный документ, и возвращает его.

Мне нужно дописать вывод новый секций в конце этого табличного документа. Хотелось бы.

Как это правильно сделать?
7 NIGHTHUNTER
 
25.03.22
12:10
(5) Ясно, а какую другую директиву использовать?
Почему не было возможности выбрать ее при создании? Это что я хотел, ВызыватьПосле ?
8 DJ Anthon
 
25.03.22
12:16
(7) даже на скрине у тебя их всего две. не быть тебе программистом ))
9 NIGHTHUNTER
 
25.03.22
12:32
(8) как мне делать вывод в такие табличные документы, что определяются в основной функции?
Они не видны в Результате .

Такие как ТабличныйДокументЛево и ТабличныйДокументПраво ?


    #Область ТабличныйДокументПраво
    
    ТабличныйДокументПраво = Новый ТабличныйДокумент;

http://joxi.ru/gmvaZ43teLGjMr
10 NIGHTHUNTER
 
25.03.22
12:34
(9+) Или думается создать свой табличный документ как ТабличныйДокументНиз

как сейчас к макету через результат доступ получить, думаю.
11 NIGHTHUNTER
 
25.03.22
12:42
Макет в расширении получать как     

Макет = ПолучитьМакет("ПФ_MXL_КарточкаНоменклатуры");


?
12 youalex
 
25.03.22
12:42
Если прямо очень сильно надо вызвать после, то ПродолжитьВызов(), а потом твой код.
13 NIGHTHUNTER
 
25.03.22
12:44
(12) Спасибо. Пока не знаком с такой инструкцией.

Подскажите по (11) ?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.