Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Как из обработки в расширении обратиться к неэкспортной процедуре модуля документа?

Как из обработки в расширении обратиться к неэкспортной процедуре модуля документа?
Я
   Oblako486
 
24.11.20 - 20:57
УТ 11.4
В обработке из расширения, создаем документ ЗаказПокупателя. И хотим его заполнить с помощью процедуры ИнициализироватьДокумент()

Документ = Документы.ЗаказКлиента.СоздатьДокумент();
документ.Дата = Объект.Дата;
Документ.Записать();
документ.ИнициализироватьДокумент(ДанныеЗаполнения); // Выдается ошибка: "Метод объекта не обнаружен (ИнициализироватьДокумент)"
   Beduin
 
1 - 24.11.20 - 21:00
Ты к неэкспортной ниоткуда не обратишься.
   Oblako486
 
2 - 24.11.20 - 21:01
(1) эх, я тоже так думаю, но надеялся на лучшее.
   Oblako486
 
3 - 24.11.20 - 21:03
(1) ну можно перенести процедуру в расширение и сделать экспортной, но после обновления она будет отличаться от оригинальной. Есть еще варианты?
   Garykom
 
4 - 24.11.20 - 21:15
(3) перенеси в расширение &Перед и вызывай из своей экспортной, подставляя/подменяя ДанныеЗаполнения
   Oblako486
 
5 - 24.11.20 - 21:30
(4) Похоже вот простое решение:

В расширении в модуле объекта
Процедура Расш_ИнициализироватьДокумент(ДанныеЗаполнения) Экспорт 

    ИнициализироватьДокумент(ДанныеЗаполнения);
    
КонецПроцедуры 

и дальше в обработке

документ.Расш_ИнициализироватьДокумент(ДанныеЗаполнения);
   Конструктор1С
 
6 - 25.11.20 - 04:06
(0) не страдай муйнёй
Документ.Заполнить(ДанныеЗаполнения);
   Oblako486
 
7 - 25.11.20 - 17:31
(6) Это подходит для заполнения на основании. Для других документов работает. Именно для ЗаказКлиента похоже что нет.
   Anton1307
 
8 - 25.11.20 - 17:52
Описываешь с конструкцией &Вместо

&Вместо("ИнициализироватьДокумент")
Функция Расш_ИнициализироватьДокумент(ДанныеЗаполнения)
    
    Возврат ПродолжитьВызов(ДанныеЗаполнения);
    
КонецФункции// Расш_ИнициализироватьДокумент()


Вызываешь так:
Расш_ИнициализироватьДокумент(ДанныеЗаполнения)
   Oblako486
 
9 - 25.11.20 - 19:57
(8) не нужно это делать, не запутывай. То что я написал в (5) работает нормально.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.