diadoc / diadoc1cpro-docs

7 stars 8 forks source link

XML файл в пакете документов #163

Open first-may opened 1 year ago

first-may commented 1 year ago

Здравствуйте.

Подскажите пож, можно ли как то прикрепить к пакету документов еще и xml протокола? дополнительно имеется ввиду..

Вот по этому описанию https://www.diadoc.ru/docs/forms/protokol_soglasovaniya_cen

Что бы он находился внутри пакета, ниже строки УПД СЧФДОП №3834 от 16.03.23

01

first-may commented 1 year ago

Можно это сделать программно? Например через ПодключаемыйМодульДиадок..

Например я знаю где лежит файл, то есть полный путь к нему известен.. Тогда на каком событии можно это сделать?

02

acharushkin commented 1 year ago

@first-may , привет!

Тебе потребуется задействовать несколько событий ПМ:

Пример можно посмотреть в документации https://developer.kontur.ru/Docs/Diadoc_UM/proc/pm/Podgotovka_Paketa_Dlya_Otpravki.html

first-may commented 1 year ago

Добрый..

Я пробовал по ссылка https://infostart.ru/public/1737685/ и https://developer.kontur.ru/Docs/Diadoc_UM/proc/pm/Podgotovka_Paketa_Dlya_Otpravki.html#

но тогда в обрабтке получилось, что создается новый пакет, таким образом для одной с/ф в обработке диадока две строки

а мне хотелось бы вот так - где третья строка сам файл XML 02

first-may commented 1 year ago

Программно можно добавить файл в пакет?

first-may commented 1 year ago

Очень нужен совет, как программно можно добавить файл в пакет?

acharushkin commented 1 year ago

Программно можно добавить файл в пакет?

Да, можно. Я чуть позже постараюсь пример добавить

first-may commented 1 year ago

Да, спасибо.. Очень буду ждать..

Надеюсь что можно сделать программно так, как я руками на последнем скрине..

Заранее спс..

acharushkin commented 1 year ago

Я пробовал по ссылка https://infostart.ru/public/1737685/ и https://developer.kontur.ru/Docs/Diadoc_UM/proc/pm/Podgotovka_Paketa_Dlya_Otpravki.html#

но тогда в обрабтке получилось, что создается новый пакет,

Можно сделать всё, как по ссылке https://infostart.ru/public/1737685/, но не надо кастомизировать события ПолучитьТаблицуИспользуемыхПакетов и, соответственно, ПолучитьТекстЗапросаДляСпискаПакетовНаОтправкуПоМассивуВидовПакетов тоже трогать не надо. Вместо этого нужно добавить свой документ в событии ПодготовитьПакет:

Функция ПодготовитьПакет(Параметры)

    Если ТипЗнч(Параметры) = Тип("Структура") И Параметры.Свойство("Результат_ИМ") Тогда

        Если Параметры.ВидПакетаРазвернутый.ID = "ID_УПД" Тогда // Здесь нужно проверять ID пакета, в который требуется добавить новый документ
            ОсновнойМодуль.ЭДО_ДокументМенеджер_ПодготовитьИДобавитьДокументВПакет(Параметры.Пакет, Параметры.СтрокаСписка.Документ, "ID_Приложение");     
            Возврат Истина;
        КонецЕсли;  

    КонецЕсли;

КонецФункции
first-may commented 1 year ago

То есть, вместо всего того, что там написано, надо добавить одно событие Если ИмяСобытия = "ПодготовитьПакет" Тогда

    Возврат ПодготовитьПакет(Параметры);

КонецЕсли;

в нем прописать Функция ПодготовитьПакет(Параметры)

Если ТипЗнч(Параметры) = Тип("Структура") И Параметры.Свойство("Результат_ИМ") Тогда

    Если Параметры.ВидПакетаРазвернутый.ID = "ID_УПД" Тогда
        ОсновнойМодуль.ЭДО_ДокументМенеджер_ПодготовитьИДобавитьДокументВПакет(Параметры.Пакет, Параметры.СтрокаСписка.Документ, "ID_Приложение");
    КонецЕсли;

    Возврат Истина;

КонецЕсли;

КонецФункции

и тогда получаю в списке третью строку - неформализованный документ 01

и если двойной клик, то будет он же , но пустой 02

first-may commented 1 year ago

А заполнять его наверное в событии

Если ИмяСобытия = "ПодготовитьЭлектронныйДокумент" Тогда

    Возврат ПодготовитьЭлектронныйДокумент(Параметры);

КонецЕсли;

как в шаблоне прописано 03

acharushkin commented 1 year ago

То есть, вместо всего того, что там написано, надо добавить одно событие Если ИмяСобытия = "ПодготовитьПакет" Тогда

Нет, потребуется 3 события:

acharushkin commented 1 year ago

См. пример тут или на Инфостарте: https://infostart.ru/1c/articles/1831824/

first-may commented 1 year ago

Спасибо.. Получилось..