![]() |
|
Подключаемый модуль диадока. Проблема с сохранением 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) да, вызывается дважды, во второй раз есть Результат_ИМ - истина, но контент все также пуст
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |