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