Имя: Пароль:
1C
1С v8
Подключаемый модуль диадока. Проблема с сохранением xml.
0 TryToRun
 
29.04.25
10:32
Всем добрый день.
Возникла следующая ситуация: в организации работают с ЭДО через дополнительную обработку диадока в 1С УТ.
Для различных изменений в отправляемых файлах использовался подключаемый модуль (ПМ) диадока (старого формата), в котором все эти изменения были реализованы.
В связи с переходом на новый формат УПД с 01.04.25 ПМ старого формата должен был перестать работать и поддержка диадока доблестно забрала его для адаптации к новому формату (сделали они это где-то в октябре), обещая все сделать к дате начала использования нового формата. В итоге ничего так и не сделали и пришлось в конце марта срочно самостоятельно разбираться с принципами работы нового ПМ и переносить доработки в него.
Доработки все были успешно перенесены и вот уже почти месяц документы корректно отправляются со всеми требуемыми контрагентами изменениями.
Но возникла ситуация, когда при повторном УКД в документ попадают лишние коды маркировки.
Такая ситуация когда-то уже возникала и насколько помню после долгой переписки с техподдержкой диадока они эту проблему признали, обещали решить, но так и не решили.
Так как документ надо было отправить здесь и сейчас: выгрузили из обработки диадока полученный документ в XML, убрали лишние коды маркировки, загрузили его через веб-интерфейс диадока и отправили. Все успешно прошло. Но это было с ПМ старого формата.

Сейчас возникла такая же ситуация: выгрузили xml, удалили лишние коды, отправили документ через веб-интерфейс, но контрагент его отклонил. Оказывается в документе не содержалось дополнительной информации по товару (код номенклатуры клиента) в поле ИнфПолФХЖ2.
И теперь собственно суть: при работе с новым ПМ и отправке документа из модуля - все доработки отрабатывают, ИнфПолФХЖ2 с нужными данными добавляется.
При открытии документа на предварительный просмотр все так же корректно отрабатывает: в визуализации УКД видно дополнительные данные из ИнфПолФХЖ2.
Но при сохранении из окна предпросмотра xml файла УКД для его последующей загрузки в веб-интерфейс - файл сохраняется без этих дополнительных данных - как будто он формируется заново игнорируя доработки в новом ПМ.

Может быть кто-нибудь знает в чем дело и почему себя так ведет обработка диадока с новым ПМ? И как собственно сделать, чтобы xml сохранялся со всеми изменениями, которые вносит ПМ?

p.s.
При отправке документа или открытии предпросмотра происходит вход в функцию ОбработатьСобытие(ИмяСобытия, Параметры) нового ПМ, в котором отлавливается нужное событие и происходит модификация данных.
При нажатии же кнопки "сохранить документ" из окна предпросмотра вход в эту функцию не происходит (хотя может он и не должен происходить, так как по идее к этому моменту файл с данными уже сформирован)
1 АгентБезопасной Нацио
 
29.04.25
11:03
Позовите программиста.©
2 rozer76
 
29.04.25
11:37
при нажатии кнопки только сохраняет тот протоконтент который "прошел" и в т.ч. через переопределение в ПМ.
Смотрите что у вас в ПМ по ИмяСобытия = "ПодготовитьЭлектронныйДокумент" обрабатывается после ОсновнойМодуль.ТиповойМодуль_ПолучитьКонтент(ТиповойМодуль, РежимУправляемыхФорм, Документ1С, ТипКонтента_XDTO, ДополнительныеПараметры)
3 Andy13
 
29.04.25
11:48
УКД и УПД.
Смотрите в ПМ как реализовано заполнение ИнфПолФХЖ2. В типовом виде это поле не заполняется. Значит - доработка, и релизовано только для УПД.
Присоединяюсь к (1) - позовите программиста который дорабатывал.
4 TryToRun
 
29.04.25
12:40
(2) изменение контента происходит в событии "ПослеПодготовкиПакета"
В случае с УКД берется контент из Параметры.Пакет.Документы[0].Content и в Content.InvoiceCorrectionTable.Items для каждого Item добавляется StructedAdditionalInfos с именем "код_материала" и значением требуемого кода.

Дополнительная информация есть на предпросмотре, при отправке непосредственно из этого окна или из списка документов она также есть, но при сохранении xml по кнопке из предпросмотра - ее нет.

Событие "ПодготовитьЭлектронныйДокумент" в ПМ никак не обрабатывается. Посмотрел что содержится в его параметрах - контента там не нашел
5 TryToRun
 
29.04.25
12:41
(3) все реализовано и для УКД и успешно отправляется из обработки диадока со всеми доп данными. Но этих доп данных нет при сохранении в xml
6 АгентБезопасной Нацио
 
29.04.25
12:52
(4) >Посмотрел что содержится в его параметрах - контента там не нашел
Параметры.Результат.Content

>изменение контента происходит в событии "ПослеПодготовкиПакета"
Делайте правильно. а неправильно не делайте.
https://developer.kontur.ru/Docs/Diadoc_UM/proc/Podgotovka_Paketa_Dlya_Otpravki.html#id7
7 TryToRun
 
29.04.25
13:11
(6) по этой ссылке "Формирование электронного документа" - это если формировать его с нуля самостоятельно. В Параметры.Результат.Content - находится неопределено при этом событии.
У меня же дорабатывается уже сформированный контент.
И если взять генератор ПМ из модуля диадока и отметить там
флажок "обработать типовой результат" для события "ПослеПодготовкиПакета" - как раз и формируется требуемый модуль (см скриншоты)
И также там указана ссылка на инструкцию https://developer.kontur.ru/Docs/Diadoc_UM/func/PoslePodgotovkiPaketa.html
8 АгентБезопасной Нацио
 
29.04.25
13:26
(7) Событие ПодготовитьЭлектронныйДокумент вызывается и до  его формирования в интеграционном модуле (и тогда его можно сформировать самостоятельно, методика описана), и после, когда он уже сформирован. Если при вызове события у Тип Параметра - структура, и у Параметра есть свойство РезультатИМ - значит, ИМ сформировал контекст, и он там, где я написал. Позовите программиста.
9 Andy13
 
29.04.25
13:33
(5) Любопытно... То есть при отправке типовым путем всё есть, при выгрузке не всё есть. То есть открываем уже отправленный, сохраняем в XML, и там нету?
Я всё правильно понял?
10 АгентБезопасной Нацио
 
29.04.25
13:38
(9) Правильно. и закономерно.
11 TryToRun
 
29.04.25
13:55
(9) не совсем.
"То есть открываем уже отправленный, сохраняем в XML, и там нету?" - вот в этом варианте вся доп информация будет. Сохранится ровно тот же xml, что ушел контрагенту и соответственно тот же, что можно скачать через веб-интерфейс.

Речь о неотправленном документе в разделе "Для отправки" - на предпросмотре доп информация есть, а при сохранении по кнопке из окна предпросмотра в xml - информации нет.
12 TryToRun
 
29.04.25
13:57
(8) да, вызывается дважды, во второй раз есть Результат_ИМ  - истина, но контент все также пуст
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший