|
Как из обработки в расширении обратиться к неэкспортной процедуре модуля документа? |
☑ |
0
Oblako486
24.11.20
✎
20:57
|
УТ 11.4
В обработке из расширения, создаем документ ЗаказПокупателя. И хотим его заполнить с помощью процедуры ИнициализироватьДокумент()
Документ = Документы.ЗаказКлиента.СоздатьДокумент();
документ.Дата = Объект.Дата;
Документ.Записать();
документ.ИнициализироватьДокумент(ДанныеЗаполнения); // Выдается ошибка: "Метод объекта не обнаружен (ИнициализироватьДокумент)"
|
|
1
Beduin
24.11.20
✎
21:00
|
Ты к неэкспортной ниоткуда не обратишься.
|
|
2
Oblako486
24.11.20
✎
21:01
|
(1) эх, я тоже так думаю, но надеялся на лучшее.
|
|
3
Oblako486
24.11.20
✎
21:03
|
(1) ну можно перенести процедуру в расширение и сделать экспортной, но после обновления она будет отличаться от оригинальной. Есть еще варианты?
|
|
4
Garykom
гуру
24.11.20
✎
21:15
|
(3) перенеси в расширение &Перед и вызывай из своей экспортной, подставляя/подменяя ДанныеЗаполнения
|
|
5
Oblako486
24.11.20
✎
21:30
|
(4) Похоже вот простое решение:
В расширении в модуле объекта
Процедура Расш_ИнициализироватьДокумент(ДанныеЗаполнения) Экспорт
ИнициализироватьДокумент(ДанныеЗаполнения);
КонецПроцедуры
и дальше в обработке
документ.Расш_ИнициализироватьДокумент(ДанныеЗаполнения);
|
|
6
Конструктор1С
25.11.20
✎
04:06
|
(0) не страдай муйнёй
Документ.Заполнить(ДанныеЗаполнения);
|
|
7
Oblako486
25.11.20
✎
17:31
|
(6) Это подходит для заполнения на основании. Для других документов работает. Именно для ЗаказКлиента похоже что нет.
|
|
8
Anton1307
25.11.20
✎
17:52
|
Описываешь с конструкцией &Вместо
&Вместо("ИнициализироватьДокумент")
Функция Расш_ИнициализироватьДокумент(ДанныеЗаполнения)
Возврат ПродолжитьВызов(ДанныеЗаполнения);
КонецФункции // Расш_ИнициализироватьДокумент()
Вызываешь так:
Расш_ИнициализироватьДокумент(ДанныеЗаполнения)
|
|
9
Oblako486
25.11.20
✎
19:57
|
(8) не нужно это делать, не запутывай. То что я написал в (5) работает нормально.
|
|