1с диадок как отладить подключаемый модуль

Обновлено: 07.07.2024

Статья предназначена для разработчиков при работе в программе 1С. Описывает особенности использования модулей в системе Диадок.

Типовой функционал Диадок 1С содержится во внешней обработке 1С ДиадокПро (Diadok_НомерВерсии.epf) и нескольких объектах, интегрируемых в конфигурацию 1С 8.3 (см. прил.1). Этот функционал периодически обновляется поставщиком.

Система Диадок позволяет корректировать и дополнять типовой функционал, что обусловлено, в первую очередь, открытостью большей части кода. Есть также возможность вносить свои корректировки без модификации типового кода. Для этого служит механизм «подключаемого модуля» (ПМ).

1. Включение использования модуля (ПМ)

Производится в настройках модуля «Диадок Про».

Допускается три способа размещения модуля (ПМ):

1. «На этом компьютере или в паке локальной сети»: текст модуля размещается во внешнем файле. К плюсам такого размещения относится отсутствие необходимости вносить изменения в конфигурацию, к минусам – сложность отладки.

2. «В справочнике 1С 8.3».

3. «В составе конфигурации»: в состав конфигурации следует включить обработку с произвольным именем, в модуле которой и будет располагаться текст ПМ. Отлаживать просто, но необходимо внести изменения в конфигурацию.



2. Вызов и работа обработчиков в подключаемом модуле

Вызов обработчиков в ПМ производится через экспортную функцию ОбработатьСобытие(ИмяСобытия, Параметры), в которой перечисляются имена обрабатываемых событий.



Вызов ПМ производится из функцииЭДО_ПодключаемыйМодуль_ОбработатьСобытие() модуля обработки ДиадокПро (Diadok_НомерВерсии.epf).



Здесь следует обратить внимание на то, что существует две точки вызова ПМ – перед и после типовой обработки события. В зависимости от места вызова состав Параметров будет разный. Во втором вызове ПМ обработку можно вести с учетом Результата, полученного при типовой обработке.

В ПМ идентифицировать, какой это вызов – до или после типовой обработки – можно по наличию в числе передаваемых Параметров свойства «Результат_ИМ». Например:



Чтобы исключить выполнение типовой обработки, достаточно в первом вызове ПМ передать результат отличный от «Неопределено».

Мы рассмотрели особенности использования подключаемого модуля в системе Диадок в работе обработчиков.

Небольшой пример, как работать с подключаемым модулем Диадок (для изменения УПД перед выгрузкой на сайт Диадок.). Отладка подключаемого модуля, если не смогли подключить стандартную отладку.

Их обработка неудобна для отладки (пользуемся PRO версией, а все доп объекты интегрированы в базу), т.к. постоянно вызывается разные методы из макетов, каждый из которых представляет собой внешнюю обработку. Да и вклиниваться на уровне сбора данных мне тоже не хотелось, уж больно длинную цепочку потом прослеживать.

Тогда я просто вклинился в эту процедуру в модуле объекта обработки:

и уже там напрямую добавлю/заполняю те поля, которых мне не хватает для отправки УПД.
А выклинился в нее т.к. это уже конечный результат сборки документа непосредственно перед самой отправкой. Кстати, если поставить в настройках обработки флаг откладки (Шестеренка - Настройки - Сервисные функции - Режим отладки), то обработка перед получением модулей из макетов будет искать их в директории libs, рядом с файлом обработки диадок про. В эту папку нужно будет посохранять модули из макетов в одноименные файлы. После этого можно будет проваливаться в эти модули в режиме отладки. (2) Может напишете статью об этом? скиньте потом ссылку сюда Конечно, на днях набросаю инструкцию в картинках. Сейчас как раз интегрируемся, сам долго не мог понять как они там у себя отлаживают, пока не наткнулся в модулях на эту особенность))
(3) При каком действии срабатывает данный подключаемый модуль, при отправке? Если не сложно, напишите, пожалуйста, наименование ключей структуры отвечающих за строку 5а Как-то дошёл в их модуле до момента, где они подтягивают свои xml-схемы, и бросил это дело, так как не было уверенности, что на своём сервере они не принимают файлы по своим же форматам, и что изменённый xml пройдёт.
Нет с этим проблем? (5) Смело можете менять данные в структуре(последний скриншот). Постоянно так делаю. У кого-то работают в версии Про события из ТиповойМодульДиадокУФ в подключаемом модуле? Посмотрел в отладчике подключаемый модуль отключен , кэш не доступен в контексте этой обработки. (9) Разобрался и решил проблемы с дополнением данных контента в событии ПодготовитьЭлектронныйДокумент. Оно вызывается дважды до стандартного заполнения и после него. Параметры.Свойство("Результат_ИМ") указывает, что результат заполнен. Но вызов событий из ТиповойМодульДиадокУФ и вложенных модулей хотелось бы реализовать. Надо переопределить текст запроса данных из РТУ. Пока решил изменением встроенного модуля, но в Диадок стандарт это решал добавлением вызова ПМ и из него передавал текст запроса. Коллеги, кто может подсказать в каком виде модулю нужно передавать коды маркировки для УКД? Нужен пример подготовки массива с кодами. По УПД все хорошо, но с УКД не понятно. Или если это где то описано то где? (11) Получилось указать коды маркировки в УКД?
Там есть поля
OriginalItemIdentificationNumbers
CorrectedItemIdentificationNumbers
Заполняю по аналогии с УПД, но маркировка все равно не уходит

Подключаю обработку ДиадокПРО 4.5.29 для конфигурации "ДАЛИОНТренд"

Отладка включается в режиме предприятия при нажатии на галочку ОТЛАДКА. Обработки выгружаются в каталог (лучше на сервере) "\\ИмяКаталогаОсновногоМодуля\libs". Сюда выгружаются обработки из макетов ____ВложенныеФайлы____ . Здесь вроде всё понятно. Но стоит задача, а как отладить обработку Модуль_ИнтеграцияУниверсальный, которая хранится в одном из макетов ТиповойМодульДиадокУФ(Модуль_ДиадокУФ). Сейчас я это сделал и попробую описать. Мне это нужно было для конфигурации "ДАЛИОНТренд".

// Может напишу что-то лишнего или не допишу что-то важного, не судите строго

1. В подключаемом модуле верну мою конфу

2. В обработке Модуль_ДиадокУФ необходимо определить мою конфигурацию "ДАЛИОНТренд":

Вроде после таких махинаций правильно определяется конфигурация и это хорошо. Проверим:
[img]C:\fakepath\метеданные далион.PNG[/img]

3. Необходимо указать КаталогМодулейСервера, по сути каталог где хранится основная обработка diadocPro. Для отладки напишите РежимОтладкиСервера = ИСТИНА

4. Здесь я определяю как должна действовать моя обработка "Модуль_ИнтеграцияУниверсальный"

5. И самое основное, в каком месте я переопределяю ВнешняяОбработкаМодуль_ИнтеграцияУниверсальный.ИспользуемоеИмяФайла. Это здесь:

Здесь создается обработка в каталоге:

Результат.ИспользуемоеИмяФайла = "\\МойСервер\Диадок Про\include\Модуль_ИнтеграцияУниверсальный.epf" - это то, что мне нужно для отладки

Все обработки хранятся в переменных Кэш и ОбщийКэш в модулях

Пожалуй, прикреплю я свою обработку сюда
ПМ_ТорговыеСети - мой подключаемый модуль
ТиповойМодульДиадокУФ.epf - хранится в \\. \ТиповойМодульДиадокУФ.epf и скачивается в каталог при нажатии режима ОТЛАДКИ в основной обработке

В обработке Диадок переходим в настройки. Нажимаем на кнопку "сохранить шаблон подключаемого модуля на диск" (лучше заранее сохранить пустую обработку и ее выбрать). Путь к файлу я делаю через сетевую папку.


Получаем обработку шаблон.


Переходим в модуль обработки. Нас интересует функция ОбработкаСобытияПодключаегогоМодуля()

А в ней нужно разкомментировать событие ПослеОбновленияКонтента


тип контента Utd820SellerContent это УПД. В УПД как правило я больше всего вношу изменеий перед отправкой.


Столкнулся с проблемой невозможности подключить отладку в данном модуле.

Поэтому допилим костыль сохраним в текстовый файл Структуру Параметры.Content


А потом в другой обработке в отладчике уже посмотрим содержимое этой структуры. В этой структуре и нужно менять данные. Чтобы УПД на сайт Диадока выгрузилась в измененном виде.


Полный текст модуля обработки. Шаблон подключаемого модуля

1С:Комплексная автоматизация 2 (2.4.9.98)

Платформа 1С:Предприятие 8.3 (8.3.16.1148)

Специальные предложения

Electronic Software Distribution

Интеграция 1С с системой Меркурий

Алкогольная декларация

Готовые переносы данных

54-ФЗ

Управление проектом на Инфостарте

Траектория обучения 1С-разработчика

Их обработка неудобна для отладки (пользуемся PRO версией, а все доп объекты интегрированы в базу), т.к. постоянно вызывается разные методы из макетов, каждый из которых представляет собой внешнюю обработку. Да и вклиниваться на уровне сбора данных мне тоже не хотелось, уж больно длинную цепочку потом прослеживать.

Тогда я просто вклинился в эту процедуру в модуле объекта обработки:

и уже там напрямую добавлю/заполняю те поля, которых мне не хватает для отправки УПД.
А выклинился в нее т.к. это уже конечный результат сборки документа непосредственно перед самой отправкой. Кстати, если поставить в настройках обработки флаг откладки (Шестеренка - Настройки - Сервисные функции - Режим отладки), то обработка перед получением модулей из макетов будет искать их в директории libs, рядом с файлом обработки диадок про. В эту папку нужно будет посохранять модули из макетов в одноименные файлы. После этого можно будет проваливаться в эти модули в режиме отладки. (2) Может напишете статью об этом? скиньте потом ссылку сюда Конечно, на днях набросаю инструкцию в картинках. Сейчас как раз интегрируемся, сам долго не мог понять как они там у себя отлаживают, пока не наткнулся в модулях на эту особенность))
(3) При каком действии срабатывает данный подключаемый модуль, при отправке? Если не сложно, напишите, пожалуйста, наименование ключей структуры отвечающих за строку 5а Как-то дошёл в их модуле до момента, где они подтягивают свои xml-схемы, и бросил это дело, так как не было уверенности, что на своём сервере они не принимают файлы по своим же форматам, и что изменённый xml пройдёт.
Нет с этим проблем? (5) Смело можете менять данные в структуре(последний скриншот). Постоянно так делаю. У кого-то работают в версии Про события из ТиповойМодульДиадокУФ в подключаемом модуле? Посмотрел в отладчике подключаемый модуль отключен , кэш не доступен в контексте этой обработки. (9) Разобрался и решил проблемы с дополнением данных контента в событии ПодготовитьЭлектронныйДокумент. Оно вызывается дважды до стандартного заполнения и после него. Параметры.Свойство("Результат_ИМ") указывает, что результат заполнен. Но вызов событий из ТиповойМодульДиадокУФ и вложенных модулей хотелось бы реализовать. Надо переопределить текст запроса данных из РТУ. Пока решил изменением встроенного модуля, но в Диадок стандарт это решал добавлением вызова ПМ и из него передавал текст запроса. Коллеги, кто может подсказать в каком виде модулю нужно передавать коды маркировки для УКД? Нужен пример подготовки массива с кодами. По УПД все хорошо, но с УКД не понятно. Или если это где то описано то где? (11) Получилось указать коды маркировки в УКД?
Там есть поля
OriginalItemIdentificationNumbers
CorrectedItemIdentificationNumbers
Заполняю по аналогии с УПД, но маркировка все равно не уходит

Подключаю обработку ДиадокПРО 4.5.29 для конфигурации "ДАЛИОНТренд"

Отладка включается в режиме предприятия при нажатии на галочку ОТЛАДКА. Обработки выгружаются в каталог (лучше на сервере) "\\ИмяКаталогаОсновногоМодуля\libs". Сюда выгружаются обработки из макетов ____ВложенныеФайлы____ . Здесь вроде всё понятно. Но стоит задача, а как отладить обработку Модуль_ИнтеграцияУниверсальный, которая хранится в одном из макетов ТиповойМодульДиадокУФ(Модуль_ДиадокУФ). Сейчас я это сделал и попробую описать. Мне это нужно было для конфигурации "ДАЛИОНТренд".

// Может напишу что-то лишнего или не допишу что-то важного, не судите строго

1. В подключаемом модуле верну мою конфу

2. В обработке Модуль_ДиадокУФ необходимо определить мою конфигурацию "ДАЛИОНТренд":

Вроде после таких махинаций правильно определяется конфигурация и это хорошо. Проверим:
[img]C:\fakepath\метеданные далион.PNG[/img]

3. Необходимо указать КаталогМодулейСервера, по сути каталог где хранится основная обработка diadocPro. Для отладки напишите РежимОтладкиСервера = ИСТИНА

4. Здесь я определяю как должна действовать моя обработка "Модуль_ИнтеграцияУниверсальный"

5. И самое основное, в каком месте я переопределяю ВнешняяОбработкаМодуль_ИнтеграцияУниверсальный.ИспользуемоеИмяФайла. Это здесь:

Здесь создается обработка в каталоге:

Результат.ИспользуемоеИмяФайла = "\\МойСервер\Диадок Про\include\Модуль_ИнтеграцияУниверсальный.epf" - это то, что мне нужно для отладки

Все обработки хранятся в переменных Кэш и ОбщийКэш в модулях

Пожалуй, прикреплю я свою обработку сюда
ПМ_ТорговыеСети - мой подключаемый модуль
ТиповойМодульДиадокУФ.epf - хранится в \\. \ТиповойМодульДиадокУФ.epf и скачивается в каталог при нажатии режима ОТЛАДКИ в основной обработке

Просмотры 14234

Загрузки 0

Рейтинг 38

Создание 17.06.20 10:15

Обновление 17.06.20 10:15

№ Публикации 1247892

Тип файла Нет файла

Конфигурация Конфигурации 1cv8

Операционная система Не имеет значения

Вид учета Не имеет значения

Доступ к файлу Бесплатно (free)

Код открыт Да

См. также

Обмен данными. Консистентность vs Многопоточность Промо

Рассмотрим теоретические основы обмена данными. Какие бывают обмены, какие гарантии при этом даются, зачем идти на компромиссы и что при этом может пойти не так. Есть ли идеальная схема?

03.09.2019 15384 m-rv 2

Тонкости и подводные камни работы типового модуля интеграции Битрикс24 и 1С

Цель статьи - указать на подводные камни и нюансы, о которых “не пишут на заборах” и которые встретились мне за время внедрения типового модуля интеграции 1С и Битрикс24. Будет интересна для людей, кто подумывает о том, чтобы настроить интеграцию, и хотят понять, с чем столкнутся. А также для тех, кто уже работает с подобным обменом, столкнулся с какими-то из описанных ситуаций и хочет понять, что пошло не так и “как жить дальше”. Постараюсь все описать “человеческим” языком с минимальной долей терминов, так как статья, надеюсь, будет полезна не только программистам.

07.11.2021 1034 freegman74 10

Окей, Google

Пример интеграции Google Ассистента с 1С. В основе которого лежит платформа Dialogflow CX для понимания естественного языка.

28.10.2021 1142 Soloist 6

Готовые модули для работы с Telegram

05.10.2021 1907 M_A_D 6

Кэширование COM-соединения. Три способа Промо

Статья о трех способах кэширования COM-соединения в 1С:Предприятии 8.x.

11.04.2013 43156 YPermitin 42

Запуск Wscript.Shell и Shell.Application. Заметки

Некоторые примечания по работе с запуском приложений.

10.08.2021 1956 Yashazz 0

Сравнительный анализ вариантов интеграции между системами

На Infostart Meetup «Интеграционные решения для 1С» выступил Сергей Наумов – руководитель центра аналитики и консалтинга WiseAdvice. Сергей поделился с коллегами кейсами из собственной практики: какие интеграционные решения остаются актуальными до сих пор, а каких приемов стоит избегать – даже в безвыходных ситуациях.

30.07.2021 1990 SergeyN 1

Собираем данные для отчетов из +100 баз

Ведущий разработчик ГАОУ ДПО ТемоЦентр Василий Попов на онлайн-митапе Инфостарта «Интеграционные решения в 1С» поделился кейсом о том, как собрать данные для отчетов из +100 баз, какой стек технологий для этого использовать, и к каким проблемам нужно быть готовым.

23.07.2021 1895 pallid 8

Перенос данных из учетных программ Парус в конфигурации 1С Промо

Статья посвящена анализу процессов переноса данных из учетных программ Парус в конфигурации 1С.

05.11.2012 53954 sklowsky 16

Описание формата 1С JDTO (JSON data transfer object)

Формат 1С JDTO может быть полезен для интеграции информационных баз 1С между собой, а также 1С с внешними системами. Публикация имеет своей целью помочь в освоении этого формата для обмена данными.

16.07.2021 6422 zhichkin 32

13.05.2021 2640 Flover 0

Настраиваем авторизацию пользователей 1С через Okta

Чем больше в компании различных конфигураций и сервисов, тем актуальнее становится проблема единой системы авторизации single Sign-On. Его лидером практически безоговорочно считается Okta. Но на просторах интернета очень мало информации про интеграцию 1С с Okta через протокол OpenID Connect. Что ж, настало время восполнить недостающие пробелы и перевернуть эту печальную страницу в вашей истории

30.04.2021 3864 ripreal1 15

Сканируем без сканера или MXL to JPG Промо

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

24.05.2012 34746 shakmaev 47

ВИДы на жительство. Использование внешних источников данных в прикладных задачах

На Infostart Meetup Novosibirsk выступил ведущий разработчик МКК «Ваш Инвестор» Вадим Фоминых. Он на практических примерах показал коллегам, как его команда использует внешние источники данных в прикладных задачах, призвал не отказываться от этого инструмента и объяснил – почему.

19.04.2021 2017 Shmell 4

Бухгалтерия 3.0. Ошибка загрузки билетов из Smartway

Небольшое расследование причины, по которой часть билетов не загружается в Бухгалтерию из Smartway.

18.03.2021 571 maria_vl 2

Правила обмена больше не нужны

Есть несколько общепринятых подходов к написанию обмена между 1С-системами, каждый из которых упирается в длительное изучение технологии, мучительную отладку правил конвертации и написание большого количества сервисного кода, в котором потом тяжело разобраться. О принципах работы универсального фреймворка liteExchange, который реализует быстрые обмены между 1С и внешними системами, и берет на себя всю техническую обвязку по стандартному преобразованию данных, на INFOSTART MEETUP Saint Petersburg.Online рассказал Николай Крылов.

17.03.2021 12289 Nikola23 40

«БИП: Бизнес-Процессы». Интеграция с Telegram и Конструктор чат-ботов

В статье приводятся примеры настройки автоматических оповещений в системе «БИП: Бизнес-Процессы» с использованием мессенджера Telegram. Также, приводятся примеры создания и настройки произвольных чат-ботов с использованием Конструктора чат-ботов.

15.02.2021 1232 YuriYuriev 0

12.02.2021 1884 Koder_Line 6

DaJet Exchange: обмен данными с 1С (часть 1)

Типовой механизм обмена данными 1С, основанный на планах обмена, имеет ряд существенных недостатков. Для преодоления этих недостатков предлагается рассмотреть теоретические основы использования альтернативных механизмов, а также предлагается обсудить реализацию практического решения, оптимального с точки зрения автора.

11.01.2021 4115 zhichkin 14

HTML редактор/editor (Wysiwyg) для WebKit 1С (CMS, B2B), альтернатива TinyMCE и стандартному ФорматированныйДокумент

Suneditor - отличная замена HTML редактору TinyMCE (бесплатному), в публикации с открытым кодом подключим его в 1С с WebKit, скачать HTMLeditor обработку можно бесплатно.

28.12.2020 4110 SizovE 25

Чтение вложенных свойств Структур Структуры, Соответствий, свойства через точку, разбор JSON

JSON: - как получить значение ? А если вложенность значительно глубже? Как проверить, что оно заполнено или удалить его - всё это в публикации с открытым кодом и даже без рекурсии. Бонусом разбор дерева значений - ДанныеФормыЭлементДерева, СтрокаДереваЗначений.

17.11.2020 2304 SizovE 2

Сказ о том, как в одной крупной компании документооборот внедряли, или проблемы типовых обменов между КА и ДО

Приветствую всех. Сегодня пойдет речь о том, как на одной крупной компании внедряли 1С:Документооборот 2.1 в связке с КА 2.4. Вроде бы системы типовые, мы практически не добавляли ничего в них, но проблем было столько, что я решил изложить их в статье. Может, кому-то пригодится это в дальнейшем, и не придется тратить кучу времени на поиск решений.

10.11.2020 7491 maks_20 30

Структура обработки загрузки номенклатуры поставщика с примерами и комментариями (часть 2)

В статье опишу вариант обработки для загрузки номенклатуры поставщика, блок загрузки номенклатуры и доп. реквизитов.

17.10.2020 1057 malikov_pro 3

Структура обработки загрузки номенклатуры поставщика с примерами и комментариями (часть 1)

В статье опишу вариант обработки для загрузки номенклатуры поставщика, блок загрузки групп и их состыковки.

12.10.2020 1200 malikov_pro 0

Управление соляриями из 1С через Arduino

Мой опыт автоматизации сети соляриев с интеграцией 1С и оборудования соляриев с помощью платформы Arduino.

01.10.2020 3138 impextr 32

Взаимодействие 1С со сторонними продуктами посредством REST и Golang (middleware). Часть 3 - ElasticSearch

Как в статье №1 этого цикла выгрузим через прослойку журнал регистрации (xml формат) в ElasticSearch. Статья будет иметь практическую направленность в минималистичном стиле

14.09.2020 2297 dmitry-irk38 4

Интеграция с Трелло. Готовый код

Код основных действий, интеграция с API Трелло.

19.08.2020 4638 Yashazz 14

Загрузка данных из Algoritm-S в конфигурацию "Бухгалтерия предприятия 3.0 (3.0.79.21) "

В статье представлен шаблон обработки для загрузки некоторых данных из программы Algoritm-S в конфигурацию "Бухгалтерия предприятия 3.0 (3.0.79.21)

04.08.2020 1832 RPGrigorev 0

Интеграции с сервером SQL. Быстро и просто

Решаем вопросы экспорта/импорта данных в базы отличного от 1С происхождения.

06.07.2020 4629 Infector 4

Мониторинг факта выполнения обмена с помощью сервиса healthchecks.io

В статье опишу вариант простого мониторинга обработчиков, запускаемых по расписанию.

30.06.2020 2645 malikov_pro 7

Структура обработки загрузки цен и остатков поставщика с примерами и комментариями

В статье опишу структуру обработки по загрузке цен и остатков от поставщика с примерами.

27.06.2020 2323 malikov_pro 0

Статья о внедрении и использовании в решениях задач нового механизма от 1С-Коннект. Будет полезно тем кто использует интеграцию 1С-Коннект с 1С Предприятие. На текущий момент механизм "Трансляция событий" находится в бета-тестировании и доступен только закрытому списку приглашенных участников. Выражаем благодарность разработчикам механизма "Трансляция событий".

24.06.2020 2345 direwest 4

Маркировка лекарственных препаратов. Часть первая "Быстрая интеграция"

Данный цикл будет посвящен маркировке лекарственных препаратов (далее ЛП), нюансам работы с "1С: Библиотека интеграции с МДЛП", доступной для скачивания на сайте ИТС, методиками работы с регистраторами выбытия, и проблемам, с которыми пришлось столкнуться при интеграции. Эта статья будет представлять из себя краткую инструкцию, что делать, когда маркировка уже близко и необходимо быстро внедрить ее. Надеюсь, она станет подспорьем в данной задаче. Будут приведены рекомендации, как в короткие сроки с минимально необходимой функциональностью и минимумом чтения документации произвести интеграцию библиотеки МДЛП и выполнить начальные настройки. Также будут даны рекомендации по быстрым, но важным, на мой взгляд, доработкам.

23.06.2020 10232 IssakN 38

01.06.2020 13261 zhichkin 36

Обработчик "После завершения транзакции" своими руками

Интеграция 1С 8.3 с системой электронного документооборота "Контур.Диадок" производится путем подключения модуля "ДиадокПро". О том, как это сделать, подробно описано в документации к этому модулю.

Для типового документооборота в той части, которую поддерживает Диадок, проблем нет. В процессе настройки вам лишь нужно сопоставить виды документов 1С 8.3 и Диадок.



Сложности возникают, если в вашей компании используются документы, которые отсутствуют в перечне допустимых документов Диадок.

(Далее в примере рассматривается конфигурация на базе «1С:Управление холдингом 3.0», в которую добавлены некоторые нетиповые документы.)

Например, на основании полученного документа Диадок нужно создать не привычный типовой документ «Поступление (акты, накладные)», а некий нетиповой документ согласования «ДЗЗ». А уже по результатам согласования в рамках внутренних бизнес-процессов может быть создан (а может и не быть) типовой документ «Поступление (акты, накладные)».

Каким образом научить модуль Диадок создавать нужный нам вид документа?

2. Доработка конфигурации 1С. Решение задачи

Инструмент сопоставления документов 1С 8.3 и Диадок нам не поможет. Просто добавить «свой» документ в этот перечень не имеет смысла, т.к. нужно указать его «ID». А раз Диадок о нем не знает, то и никакого «ID» нам предложить не может. И внутри себя «наш» документ обрабатывать не будет.


Остался вариант: доработать 1С.

Здесь необходимо учесть вот что:

· модуль «ДиадокПро» поставляется в качестве внешней обработки, плюс несколько добавляемых в конфигурацию объектов;

· этот модуль время от времени обновляется разработчиками Диадок;

· функционал создания в 1С импортированных документов сосредоточен во внешней обработке.

Чтобы не изменять модуль Диадок и не получить осложнений с дальнейшими его обновлениями, можно использовать подключаемый модуль. Его активация производится на закладке «Подключаемый модуль» меню «Настройки».



Необходимо вызвать обработчик события «ПолучитьЗаполненныйОбъектДокумента1С».





Обработчик «ПолучитьЗаполненныйОбъектДокумента1С» вызывается два раза:

1) «До» выполнения типовой обработки события. Тогда в качестве Параметров на вход обработчика будут переданы:

· ДокументДД – описание документа Диадок;

· Контент – прикрепленные двоичные данные;

· ПакетДД – описание пакета, в котором находится документ Диадок.



2) «После» выполнения типовой обработки события. Тогда к параметрам добавляется еще свойство

· Результат_ИМ – в нем сохраняется результат типовой обработки. В частности, в свойстве ОсновнойОбъект будет находится созданный типовой документ.



Использовать можно любой вызов. Если достаточно исходных данных только из документа Диадок, то используйте первый вызов. Если дополнительно потребуются данные из создаваемого типового документа – тогда из второго.

Собственно создание документа нужного вида здесь производится в функции кдл_ДиадокСервер.СоздатьСопоставитьДЗЗ_ИзДиадок(), которая может быть произвольной и располагаться в удобном для вас модуле.

Исходными данными для заполнения создаваемого документа могут выступать свойства документа Диадок, которые выглядят следующим образом:



Созданный документ помещается в свойство ОсновнойОбъект параметров обработчика:

Задача решена. При получении документов Диадок будет формироваться необходимый нам нетиповой документ.

Способ решения пригоден для любой конфигурации 1С, в которую может интегрироваться модуль

Читайте также: