100+ готовых доработок модуля Контур.Диадока в одном месте с примерами

20.04.23

Интеграция - ЭДО и ОФД

Рассказываю о новом инструменте, который помогает автоматически собирать шаблоны подключаемых модулей (ПМ).

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

Мы часто получаем вопросы, связанные с доработками модуля для своих целей. Самые популярные:

  • Как разобраться в архитектуре модуля Диадока.
  • Как протестировать те доработки, которые сделал.
  • Как сделать доработки и не снять с поддержки модуль Диадока.
  • Где найти информацию о том, что можно доработать.
  • Где найти примеры.

Мы проанализировали обращения пользователей и провели анализ того, какие доработки чаще реализуем для клиентов. Из этого родился новый инструмент — плагин «Генератор подключаемого модуля», где уже предопределены сценарии и встроены примеры для доработок. Поэтому вам достаточно выбрать интересующий сценарий или несколько сценариев и плагин автоматически сформирует шаблон кода для ПМ. Останется только адаптировать шаблон под особенности конфигурации или бизнес-процесса.

 

 

Теперь подробнее о том, как работает плагин.

 
  Как собрать подключаемый модуль в плагине «Генератор ПМ»

Как запустить генератор?

1) Открываем модуль в режиме «1С:Предприятие» и в меню «Настройки» — «Расширенные настройки» выбираем пункт «Системные».

2) В открывшемся окне выбираем «Использовать плагины» и нажимаем «Сохранить». Затем перезапускаем модуль.

3) В меню «Настройки» — «Расширенные настройки» выбираем пункт «Плагины».

4) В открывшемся окне нажимаем «Добавить». Затем выбираем «Генератор подключаемого модуля» и нажимаем «Загрузить».

5) После того, как кнопка обновится на «Загружен», закрываем окно «Библиотека плагинов».

Как собрать ПМ?

Представим, что нам нужно собрать ПМ, в котором будем переопределять типовое заполнение поля «грузополучатель» в электронном документе. Для этого выполним следующие действия:

1) Во вкладке «Плагины» выбираем «Генератор подключаемого модуля» и нажимаем «Настройки».

2) В разделе «Сценарии» выбираем нужный нам «Перезаполнение грузополучателя» и ставим на него флаг.

3) В разделе «Описание сценария» читаем описание и убеждаемся, что сценарий подходит.

Текст описания сценария можно открыть в отдельном окне. Для этого щелкаем правой кнопкой мыши по тексту описания сценария. В контекстном меню нажимаем «Открыть».

Некоторые сценарии объясняют, как адаптировать шаблон под конкретную задачу. Внимательно ознакомьтесь с этой информацией, это поможет быстрее и правильнее адаптировать шаблон.

4) В разделе «Текст ПМ» просматриваем текст кода и редактируем его по необходимости.

Редактировать текст ПМ также можно в Конфигураторе. Для этого следует дополнительно выполнить пункты 7-8.

Обратите внимание, что плагин автоматически:

  • Подставил нужное имя обрабатываемого события. В нашем примере это «ПодготовитьЭлектронныйДокумент».
  • Выбрал оптимальный режим использования события, указав, что событие должно обрабатываться именно в режиме переопределения типовой логики, а не сбора контента с нуля.
  • Указал, что переопределение должно работать только для документа УПД.
  • Подставил готовый метод, в котором происходит перезаполнение данных грузополучателя.
Перем ОсновнойМодуль Экспорт;



Функция ОбработатьСобытие(ИмяСобытия, Параметры) Экспорт

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

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

	КонецЕсли;

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


// Обработчики событий подключаемого модуля

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

	// Имя шаблона: Перезаполнение грузополучателя
	Если ТипЗнч(Параметры) = Тип("Структура") И Параметры.Свойство("Результат_ИМ") Тогда
				
		Content		= Параметры.Результат.Content;
		Документ1С 	= Параметры.Результат.Документ1С;

		ВидДокументаРазвернутый = Параметры.ВидДокументаРазвернутый;
		
		ТипКонтента_XDTO = ВидДокументаРазвернутый.ТипКонтента;
		
		Если ВРЕГ(ТипКонтента_XDTO) = ВРЕГ("Utd820SellerContent") Тогда
			
			УПД_ИзменитьДанныеГрузополучателя(Content, Документ1С);

		КонецЕсли;

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

	КонецЕсли;

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


// Вспомогательные методы с бизнес-логикой

Процедура УПД_ИзменитьДанныеГрузополучателя(Content, Документ1С)
	         	
	Consignee = Content.Consignees[0];
	
	Если НЕ ЗначениеЗаполнено(Consignee.Ссылка) Тогда
		Возврат;
	КонецЕсли;
	
	Контрагент = ЗначениеИзСтрокиВнутр(Consignee.Ссылка);
	
	Наименование = УправлениеСвойствами.ЗначениеСвойства(Контрагент, "НаименованиеГрузополучателя");
	
	ИНН = УправлениеСвойствами.ЗначениеСвойства(Контрагент, "ИННГрузополучателя");
	КПП = УправлениеСвойствами.ЗначениеСвойства(Контрагент, "КППГрузополучателя"); 
	
	Если СтрДлина(ИНН) = 12 Тогда
		Тип = "IndividualEntity";
	Иначе
		Тип = "LegalEntity";
	КонецЕсли;
	
	УстановитьЗначениеXDTO(Consignee, "Name", Наименование);
	УстановитьЗначениеXDTO(Consignee, "Inn"	, ИНН);
	УстановитьЗначениеXDTO(Consignee, "Kpp"	, КПП);
	УстановитьЗначениеXDTO(Consignee, "Type", Тип);
	
КонецПроцедуры


// Общие функции для использования в обработчиках событий

Процедура УстановитьЗначениеXDTO(Элемент, ИмяРеквизита, ЗначениеРеквизита, ЗаписыватьПустоеЗначениеТипа = Ложь)
	
	ЗаписыватьПустоеЗначение = (ТипЗнч(ЗначениеРеквизита) = Тип("Булево")) ИЛИ ЗаписыватьПустоеЗначениеТипа;
	
	Если НЕ ЗначениеЗаполнено(ЗначениеРеквизита) И НЕ ЗаписыватьПустоеЗначение Тогда
		Возврат;
	КонецЕсли;
	
	Если Элемент.Свойства().Получить(ИмяРеквизита) = Неопределено Тогда // у объекта XDTO отсутствует такое свойство
		Возврат;
	КонецЕсли;
	
	Элемент[ИмяРеквизита] = ЗначениеРеквизита;
	
КонецПроцедуры


// общие функции подключаемого модуля (БСП и взаимодействие с основным модулем)

Функция СведенияОВнешнейОбработке() Экспорт
	
	ПараметрыРегистрации = Новый Структура;
	ПараметрыРегистрации.Вставить("Вид",			 	"ДополнительнаяОбработка");
	ПараметрыРегистрации.Вставить("Наименование", 		"Диадок (СКБ Контур): Подключаемый модуль");
	ПараметрыРегистрации.Вставить("БезопасныйРежим", 	Ложь);
	ПараметрыРегистрации.Вставить("Версия", 			ЭДО_ВерсияAPIПодключаемогоМодуля());
	ПараметрыРегистрации.Вставить("Информация", 		"Модуль работы с электронными первичными документами через Диадок (подключаемая часть)");
	
	ТаблицаКоманд = ПолучитьТаблицуКоманд();
	
	ДобавитьКоманду(ТаблицаКоманд, "Выполнение регламентных операций подключаемого модуля Диадок", "ВыполнитьРегламентныеДействияПМ", "ВызовСерверногоМетода");
	
	ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
	
	Возврат ПараметрыРегистрации;
	
КонецФункции

Функция ПолучитьТаблицуКоманд()
	
	Команды = Новый ТаблицаЗначений;
	
	Команды.Колонки.Добавить("Представление", 			Новый ОписаниеТипов("Строка")); 
	Команды.Колонки.Добавить("Идентификатор", 			Новый ОписаниеТипов("Строка"));
	Команды.Колонки.Добавить("Использование", 			Новый ОписаниеТипов("Строка"));
	Команды.Колонки.Добавить("ПоказыватьОповещение", 	Новый ОписаниеТипов("Булево"));
	Команды.Колонки.Добавить("Модификатор", 			Новый ОписаниеТипов("Строка"));
	
	Возврат Команды;
	
КонецФункции

Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
	
	НоваяКоманда						= ТаблицаКоманд.Добавить();
	НоваяКоманда.Представление			= Представление;
	НоваяКоманда.Идентификатор			= Идентификатор;
	НоваяКоманда.Использование			= Использование;
	НоваяКоманда.ПоказыватьОповещение	= ПоказыватьОповещение;
	НоваяКоманда.Модификатор			= Модификатор;
	
КонецПроцедуры

Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды = Неопределено) Экспорт
	
	Если ИдентификаторКоманды = "ВыполнитьРегламентныеДействияПМ" Тогда
		ВыполнитьРегламентныеДействияПМ(ПараметрыВыполненияКоманды);
	КонецЕсли;
	
КонецПроцедуры

Процедура ВыполнитьРегламентныеДействияПМ(Параметры)
	// Регламентные действия, НЕ требующие инициализации основного модуля
КонецПроцедуры

Функция ЭДО_ВерсияAPIПодключаемогоМодуля() Экспорт
	
	Возврат 4;
	
КонецФункции

Процедура ЭДО_СлужебнаяИнформацияГенератораШаблона()

	// Данный метод не выполняет кода и содержит только настройки построителя ПМ в момент генерации кода.
	// Предназначен для облегчения анализа изменений реального кода относительно шаблона.
	
	// ВерсияПостроителя: 0.13.1
	//{ Сценарии
	// Перезаполнение грузополучателя
	//} Сценарии

КонецПроцедуры

5) Указываем путь к файлу ПМ и нажимаем «Компилировать ПМ»

6) Готовый файл ПМ будет расположен по пути, указанному в предыдущем пункте.

Как редактировать текст ПМ в Конфигураторе?

Следующие действия нужны, если вы не выполнили пункт 4 или хотите отредактировать готовый файл ПМ.

7) Через конфигуратор открываем обработку из «C:\ПМ.epf».

8) Просматриваем текст ПМ и редактируем по необходимости.

Мы надеемся, что плагин «Генератор подключаемого модуля» поможет вам облегчить работу с кодом. Ждем в комментариях вопросы и пожелания, какие сценарии стоит добавить.

Ознакомиться с полным перечнем сценариев можно в самом плагине.

Про работу плагина и всего модуля можно прочитать в официальной документации модуля «Универсальный» Контур.Диадока.

 

Готовое решение

Обмен с ЭДО в 1С: Диадок, СБИС, Честный знак, ЦРПТ

Рабочее место для работы с ЭДО из 1С: Диадок, СБИС, ЭДО Лайт (Lite), Такском, Signatura.pro, Астрал.ЭДО, ГИС МТ (Честный знак, ЦРПТ). Загрузка и отправка УПД, УКД, ТОРГ12, Акта в 1С (сохранение в файл и последующая загрузка через личный кабинет не требуется). Отправка печатных форм и файлов, подписание, отклонение, аннулирование документов.


диадок эдо контур электронный документооборот подключаемый модуль упд укд

См. также

Регламентированный учет и отчетность Обмен с ГосИС ЭДО и ОФД Бухгалтер Пользователь Платформа 1С v8.3 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Оптовая торговля, дистрибуция, логистика Россия Управленческий учет Платные (руб)

Работаете по контрактной схеме, сталкивались с проблемой, что в контракте жестко указаны наименование, цена, единица измерения товара. И не все готовы создавать новую номенклатуру под каждый контракт или менять наименование и единицу измерения для уже имеющейся. Тем более, бывает так, что контракт - это формальность. Контракт не описывает жесткие условия поставки, нужно соблюсти правильность в предоставлении документов. Данное решение позволит вам оперировать своей номенклатурой при оформлении реализаций по государственному контракту в УТ 11.5 и КА 2.5.11, в то же время выводить на печать документы, соответствующие данным контракта. Реализована выгрузка для сайта госзакупок (ЕИС) по 44-ФЗ.

60000 руб.

19.12.2022    12033    34    20    

21

Кассовые операции ЭДО и ОФД Бухгалтер Платформа 1С v8.3 Бухгалтерский учет 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Платные (руб)

Согласно 54-ФЗ по правилам ведения кассовых операций необходимо оформлять приходные кассовые ордера (ПКО) и расходные кассовые ордера (РКО) на основании чеков ККМ. Все данные о чеках, можно взять на сайте оператора фискальных данных (ОФД). Обработка загрузки данных из ОФД в 1С сделает за вас в 1С - ПКО и РКО, Операции по платежным картам или Отчет о розничных продажах (может создать номенклатуру в 1С, указать налоги и др. реквизиты в документах в зависимости от налогообложения ККМ в торговой точке).

5640 руб.

09.08.2017    151790    901    372    

548

ЭДО и ОФД Учет документов 8.3.14 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Платные (руб)

ПОДПИСЫВАЙТЕ ДОКУМЕНТЫ С ФИЗЛИЦАМИ ПО СМС. Ваши клиенты и сотрудники смогут подписывать документы простой электронной подписью (ПЭП) без визита к вам в офис. С телефона или компьютера без установки приложений и регистраций.

29990 руб.

28.05.2024    1454    5    0    

7

SALE! 50%

Кассовые операции Файловый обмен (TXT, XML, DBF), FTP ЭДО и ОФД Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Налоговый учет Управленческий учет Платные (руб)

В публикации размещены специализированные обработки для загрузки кассовых чеков в базах 1С (для локальных баз): 1С:БП 3.0, 1С:УНФ 3.0, 1С:КА. 2.5, 1С:ERP Управление предприятием, ред. 2 и 1С:УТ 11.5. Вы просто сканируете QR коды с бумажных и электронных чеков c помощью мобильного приложения ФНС и чеки автоматически (без ручного ввода) загружаются в документы 'Авансовый отчет', 'Расходы предпринимателя', 'Путевой лист', 'Приходная накладная', 'Поступление (акты, накладные, УПД)', 'Приобретение товаров и услуг', 'Отчет о розничных продажах' и 'Поступление денежных документов'.

12960 9720 руб.

19.08.2020    69121    339    80    

225

ЭДО и ОФД Загрузка и выгрузка в Excel Бухгалтер Бухгалтерский учет 1С:Управление торговлей 10 1С:Управление производственным предприятием 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Платные (руб)

Кто получает документы в формате XML из различных сервисов ЭДО (формат 820 приказ ФНС 31 мая 2019) и набивает их вручную в 1С, тот наверняка хотел бы автоматизировать этот процесс. Поддержка конфигураций: Бухгалтерии 3, УПП 1.3, 1С:КА 2.4 и 1С:КА 2.5, УТ10, УТ11.4 и УТ11.5.

3600 руб.

11.02.2020    92705    301    156    

220

Документооборот и делопроизводство (СЭД) ЭДО и ОФД Учет документов Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Мощный, единый инструмент для решения всех проблем, связанных с переходом на ЭДО. Экономит бумагу и время - организует архив оригиналов первичных документов прямо в базе 1С, в прикрепленных файлах к соответствующим документам. С помощью комплексного отчета по ошибкам в ЭДО позволяет выявить и исправить все возможные ошибки - ошибочно сопоставленные документы, не подписанные документы, подписанные, но не загруженные в 1С документы. Автоматически сопоставляет не сопоставленные между собой документы. Может работать по расписанию и присылать отчет о состоянии архива/по ошибкам на почту. Взаимодействует напрямую с сервисами Диадок/СБИС, имеет интуитивно понятный интерфейс и учитывает 3-х летний опыт 40+ клиентов.

14880 руб.

17.12.2018    45667    65    59    

79
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. ImHunter 327 20.04.23 14:42 Сейчас в теме
Работает ли Универсальный модуль с МЧД? Бегло посмотрел по методам - вроде бы не нашел.
4. irinachkas 21.04.23 07:49 Сейчас в теме
(1) Добрый день,
Да, работает. Вот документация - https://support.kontur.ru/pages/viewpage.action?pageId=102895612
Пока можно только в интерфейсе работать с МЧД. Если у вас сценарий, что вам нужно с МЧД работать в ПМ, то напишите, что за сценарий. Постараемся учесть
2. пользователь 20.04.23 14:49
Сообщение было скрыто модератором.
...
3. ImHunter 327 20.04.23 15:05 Сейчас в теме
(2) Так-то да;) По документации, уже давно Гена есть.
ЗЫ. Я только еще знакомлюсь с модулем.
5. user1564934 21.04.23 07:55 Сейчас в теме
Как прикрепить файл к нескольким пакетам на отправку, не заходя в каждый пакет? В типовом модуле Диадок такой функционал был. В универсальном убрали ((
54. charushkin 109 02.10.23 20:44 Сейчас в теме
(5) Привет! Функция интерактивного добавления файлов в пакеты из списка документов на отправку вошла в релиз 4.35, который будет опубликован уже на этой неделе
user1564934; +1 Ответить
6. irinachkas 21.04.23 10:29 Сейчас в теме
(5) Добрый день,
Пока такой сценарий можно реализовать программно. Мы недавно писали статью как это сделать https://infostart.ru/1c/articles/1831824/
7. user1564934 21.04.23 11:01 Сейчас в теме
(6) спасибо, хоть так. Решение не очень удобное для нас.
8. KotNaKiske 21.04.23 13:14 Сейчас в теме
не люблю Диадок.. у меня от него глаз дёргается от его упоминания. вы когда нить пытались написать регламентное задание, без открытия форм. авторизация обмен, сопоставление документов и скачивание файлов автоматически? а я вот на днях закончил. З.Ы. просто хвалюсь.
или всю эту матрёшку разгребать отлаживая с не типовой базой. или когда 2 года все написанное хорошо работает потом они без уведомления закрывают доступ типо у вас старая версия. и ты два месяца без выходных переписываешь
VladC#; unknown181538; ДимокШ; chemezov; siamagic; Yakud3a; +6 1 Ответить
11. kstukov 482 21.04.23 15:37 Сейчас в теме
(8) Да, с наскоку сложно разобраться, поэтому и появился набор готовых сценариев, чтобы не приходилось закапываться глубоко в модуль.
В текущем генераторе есть примеры в том числе популярных рег. заданий.

Можете подсказать про нетиповую базу? Это база, написанная с нуля, или сильно измененная типовая?
В Стандарте меняли сам модуль или делали доработки с помощью подключаемого модуля?

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

Если есть пожелания по тому, как вам получать уведомления о планируемых изменениях в модуле - можете предложить свой способ? Рассылки на e-mail и уведомления в модулях разработчики не всегда видят.
EarlyBird; RustIG; +2 Ответить
13. KotNaKiske 21.04.23 20:17 Сейчас в теме
(11) очень древняя бухгалтерия. очень много написаного с нуля даже типовые механизмы
менял все там лестница без бутылки не разберёшься. один модуль лежит в макете другого модуля который тоже в лежит в макете основного. и это все ещё отладить. у нас очень крупная компания и у всяких есть запросы типо добавить в XML какието дополнительные параметры. или работа нормальная с подразделениями. по умолчанию в коде её вообще нет. или отключения листания страниц(вообще чуш) +
ну соглашусь по уведомлениям если вы уведомили моего начальника. он бы просто забыл бы сказать. вообще лог с изменениями нормальный бы. что бы следить что там меняют, а не всякие бесполезные общие фразочки.
всякие запросы на обновления и бесполезные паузы по 3 секунды из кода вырезаешь первым делом за ненадобностью. но будем честными я старую версию через сутки восстановил что бы она кое как хоть работала пока новую пишу.
25. kstukov 482 24.04.23 09:37 Сейчас в теме
(13) По уведомлениям - а, все-таки, какой способ подошел бы лучше всего? Канал в телеграме - норм вариант?
28. KotNaKiske 24.04.23 11:21 Сейчас в теме
120. VyacheslavShilov 02.11.24 13:16 Сейчас в теме
(11) Добрый день.
Кто-то может подсказать, какие события в подкл. модуле к обработке Диадок (предположительно уместно) использовать для решения следующей задачи?:
Кф УНФ последняя на сегодня, кф расширения Syncrozon (Озон, "их типовая") (есть в т.ч. их регистр соответствий товаров с Озоном); обработка Диадок последняя + подкл. модуль к нему Универсальный.
От Озона будут автополучаться УПД Доп 1 по проданным Озоном наших товарам на конечного покупателя юрлицо (подписывать с нашей стороны их не требуется) (попадают во входящие эл. док-ты в Диадоке).

При получении этих УПД Доп1 требуется: реализовать автосоздание в УНФ (м.б., и для Диадока тоже) (когда нет) + автосвязку (УНФ - Диадок) контрагентов, Раходных накладных в УНФ (на контрагента) + СФ к этим РН, Приходных накладных (от Озона), и номенклатур+х-к по этим документам (в т.ч. автосоздание (где нет) соответствий товаров для контрагента с Диадоком).
71. user1870756 13.05.24 16:37 Сейчас в теме
(8)Тоже предстоит это сделать, подскажи с чего начать?
72. user1870756 13.05.24 16:39 Сейчас в теме
(8)Тоже предстоит написать обмен по API. Конфа УТ 10.3 переписана вдоль и поперек. Подскажи с чего начать?
107. elite128 26.09.24 20:02 Сейчас в теме
(8)
добрый вечер, а как с вами можно связаться? хотелось бы подробностей, планируем дорабатывать модуль
9. ImHunter 327 21.04.23 13:29 Сейчас в теме
(8) Хех, я вот и думаю, то ли на Универсальном модуле интегрироваться, либо писать свое на api...
10. KotNaKiske 21.04.23 13:31 Сейчас в теме
(9)совет пиши своё если есть возможность. все просто они просто обновят модуль и остановят старый просто по их велению. и ты будешь в...
12. maxis33 45 21.04.23 17:56 Сейчас в теме
(10) а можно писать на api если купил Универсальный модуль, или нужно дополниельно оплачивать api?
14. KotNaKiske 21.04.23 20:22 Сейчас в теме
(12) точно ХЗ, но вроде там подписка на год. 13700 стоит. вообще спроси тех поддержку она общительная
15. TimkoNzt 21.04.23 21:46 Сейчас в теме
(10) Так ПМ для того и делается, чтобы не редактировать основную обработку. Да сложно, по другому никак.
16. KotNaKiske 22.04.23 11:05 Сейчас в теме
(15) ну форму не поменяешь. у меня основные дописки идут в модуль интеграции бух и универсальную интеграцию. ещё раз повторюсь у меня не типовая конфа, изза этого все.
20. rozer 311 23.04.23 10:59 Сейчас в теме
(15) я впиливал интеркампани и свою работу с маркировкой для erp в универсальный модуль. Конечно без перепила форм и модулей не обойтись ПМ
VyacheslavShilov; +1 Ответить
23. mironoff87 10 24.04.23 02:50 Сейчас в теме
(20) Я добавлял в УТ интеркампани, обошелся только ПМ. Вот ссылка https://infostart.ru/public/1849578/
VyacheslavShilov; charushkin; +2 Ответить
34. rozer 311 24.04.23 15:49 Сейчас в теме
(23) уу, круто ) Я делал еще год назад и пилил как раз в основном модуле засада с типом "Организации". А возвраты - УКД тоже реализовали?
35. mironoff87 10 25.04.23 03:25 Сейчас в теме
(34) От возвратов отказались, оформляем все корректировками реализаций
17. Sanchopan1981 22.04.23 15:20 Сейчас в теме
Почему не тестируете диадок под линукс? Ошибки
26. kstukov 482 24.04.23 09:38 Сейчас в теме
(17) Написан ряд автотестов под линукс. Можете выслать номер обращения на ТП, чтобы посмотреть где именно ошибки?
charushkin; +1 Ответить
18. gybson 23.04.23 10:29 Сейчас в теме
Если бы вы хотели лояльности, сделали бы расширение. Поэтому доверия нет, конечно. Вы куда метрики производительности пишите, которые собираете? Есть актуальная задача с неадекватным временем запуска обработки.
19. rozer 311 23.04.23 10:56 Сейчас в теме
(18) метрики пишут себе - см на ютубе куда и зачем от них видос
27. kstukov 482 24.04.23 09:39 Сейчас в теме
(18) Работаем над этим. Прямо сейчас перешли на новую сборочную линию, которая из исходников может выдавать модуль в виде обработки и отдельно сможет генерировать расширения для типовых конфигураций. Там еще много подготовительной работы, но движемся в верном направлении.
Метрики производительности анализируем и поэтапно вносим улучшения. В последних нескольких релизах были правки. Попробуйте обновиться на последнюю версию. Если все равно время неадекватно - можете номер обращения на ТП выслать, посмотрим детально.
charushkin; +1 Ответить
21. anchar007 23.04.23 22:21 Сейчас в теме
Почему всё так сложно? По сути Диадок это обмен xml файлами между контрагентами. Xml формализован. Тогда почему нельзя просто дать разработчикам API для валидации, подписи, шифрования, и отправки файла? А уж обработки по формированию этих xml файлов под все возможные сценарии вам тут наклепают)

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

В идеале должен быть бесплатный стандартный модуль для 90% компаний (13700 руб, если что, стоит БП Проф на всю жизнь, а у вас это «почтовый клиент» на год!).
Остальные 10% купят у вас доступ к API и сами сделают доработку xml файлов так, как считают нужным. Укажут ID отправителя, ID получателя, «приложат к письму xml файл», отдадут в API, а Диадок всё проверит, пережуёт и отправит
VladC#; Award; siamagic; Necessitudo; user1310411; KotNaKiske; vakham; +7 1 Ответить
29. kstukov 482 24.04.23 11:22 Сейчас в теме
(21) Да, нам бы тоже хотелось, чтобы электронный документооборот был простым как общение по электронной почте. Но есть то, что есть - законопроекты, регламентирующие ЭДО, роуминг, разнообразие версий платформ и конфигураций.

К сожалению, для полноценного документооборота, недостаточно реализовать только формирование xml, его подписание и отправку через api, т.к. еще есть регламентированные правила обмена https://developer.kontur.ru/docs/diadoc-api/docflows/UtdDocflow.html. Но, самое сложное, на мой взгляд - это поддерживать написанный модуль в соответствии с законодательством. Правила обмена и форматы документов постоянно меняются, нужно узнавать про них, погружаться в детали и оперативно вносить изменения.

Основная задача модуля, на наш взгляд, не только транспорт, но и поддержка всех законодательных инициатив и доставки их до клиентов в срок. В последние годы требований стало прямо много: МЧД (включая передоверие и разные способы передачи), Маркировка (нужно поддержать все сценарии, в т. ч. самые изощренные сценарии возвратов и их отражение в УКД), Прослеживаемость, три раза существенно менялись правила обмена (приказ 14н, 133 и дополнения к ним), также меняются текущие форматы основных видов документов (УПД, УКД) и появляются новые форматы. Плюс происходят изменения в типовых конфигурациях и платформе.

Поэтому когда-то было принято решение о платном модуле, причем по стоимости он дешевле api. Справедливости ради отмечу, что за поддержку законодательства в БП Проф нужно подписаться на ИТС за 38652 в год.
VyacheslavShilov; EarlyBird; charushkin; +3 Ответить
22. anchar007 23.04.23 22:36 Сейчас в теме
У вас в примере шаблон подходит для БП, УТ, КА, УНФ. А что, если выйдет новое обновление УНФ, в котором 1С переименует половину реквизитов документа?
1) Вы тестируете на бетах все релизы и заранее исправляете? Или генератор будет исправляться в авральном режиме после выхода обновления?
2) Появится дубль шаблона для УНФ или это не понадобится?
30. kstukov 482 24.04.23 12:11 Сейчас в теме
(22)
1. В генераторе шаблона не тестируем на бетах, т.к. это шаблон когда, который не запускается сам, а служит примером для реализации.
2. В зависимости от изменений. Если поменяется половина реквизитов документов, то это уже больше похоже на новую редакцию УНФ. Возможно будет рядом сценарий для УНФ 1.7, а возможно будут небольшие изменения в текущем сценарии. Все зависит от сути изменений.
charushkin; +1 Ответить
24. John_d 5891 24.04.23 09:32 Сейчас в теме
Спасибо. Для удобства все эти шаблоны можно вынести в какой-нибудь раздел документации на сайте Диадока.
К примеру я не буду пользоваться генерацией ПМ, а буду изучать код реализации.
charushkin; +1 Ответить
31. kstukov 482 24.04.23 12:12 Сейчас в теме
(24) Спасибо за предложение, оценим возможность реализации. Хочется автоматизировать выкладку, чтобы на сайте всегда актуальная документация была.
32. mark_oilbass 24.04.23 13:34 Сейчас в теме
(31) Здравствуйте! Подскажите пожалуйста по такому вопросу. Разработали ПМ в 21 году, на данный момент он работает с сомой последней версией модуля Диадок. Сейчас если сгенерировать пм то там совсем другие процедуры (новый). В нашем пм даже нет функции которая возвращаем версию API, в последних модулях я так понял версия API 4. На сколько важно обновить наш старый пм?
46. charushkin 109 14.06.23 17:05 Сейчас в теме
(32) Привет!

Для какой версии модуля был разработан ваш ПМ? Можете приложить техническую информацию о вашем модуле и используемый ПМ (можно в личку)?

На сколько важно обновить наш старый пм?


Мы стараемся обеспечивать обратную совместимость новых версий модуля со старыми ПМ. Если ваш ПМ работает как и раньше, вы не планируете его развивать (вносить существенные доработки) и вам не требуется функциональность, доступная при использовании новых версий API подключаемого модуля, то не вижу необходимости в обновлении ПМ.
33. DmitriiKopasov 13 24.04.23 14:55 Сейчас в теме
Добрый день.
Потребовалось доработать контур Диадок в части вывода нестандартной печатной формы по документу "Сверка взаиморасчетов".
Есть ли в ГПМ такая возможность?
37. charushkin 109 26.04.23 13:17 Сейчас в теме
(33) DmitriiKopasov, привет!

Если коротко, то:
- с помощью модуля Диадок можно отправлять и получать акты сверки в любом удобном виде
- превью (визуализации) акта сверки в модуле нет

Более развернуто вот так:
Работа с формализованными актами сверки (приказ ФНС России от 13.05.2022 № ЕД-7-26/405@) в Диадоке пока не поддерживается. Акты сверки отправляются в неформализованном виде. Как таковой печатной формы у неформализованного акта сверки нет. По сути передается обычный файл (например, PDF) и мета-информация о нём (дата, номер и имя файла). В настройках отправки документов доступны 2 варианта получения файла с актом сверки:
1. Форма Диадока - акт сверки формируется по "зашитому" в коробку макету
2. Своя форма - можно выбрать свою внешнюю печатную форму

Есть и третий вариант: в подключаемом модуле можно реализовать произвольный сценарий получения файла акта сверки (например, отправлять файл, приложенный к документу)
66. RustIG 1747 02.11.23 13:28 Сейчас в теме
(37)
2. Своя форма - можно выбрать свою внешнюю печатную форму

инструкция и описание настройки
36. charushkin 109 26.04.23 10:58 Сейчас в теме
(32) Привет!

Можешь привести примеры событий, которые есть в вашем ПМ? Достаточно показать тело метода `ОбработатьСобытие` (можно в личку). Ещё хотелось бы увидеть техническую информацию об используемом модуле.

Запрашиваю эту информацию вот почему: до недавнего времени поддерживалось несколько разных интеграционных решений:
- Диадок Стандарт ОФ (для типовых конфигураций на обычных формах - БП 2, УТ 10, УПП и т.д.)
- Диадок Стандарт УФ (дли типовых конфигураций на управляемых формах - БП 3, УТ 11, КА 2, ERP и т.д.)
- Универсальный модуль Диадок (подходит для любых конфигураций)

Подключаемые модули всех этих интеграционных решений отличаются структурой и имеют разный программный интерфейс.

На текущий момент поддержка модулей Стандарт ОФ и УФ прекращена, развивается только Универсальный модуль (УМ). При этом в УМ частично поддерживается совместимость с ПМ для Стандартов. Вполне может быть, что ПМ писали для Стандартного модуля, потом перешли на Универсальный
40. Efimoff 129 17.05.23 13:29 Сейчас в теме
(36) Генератор подключаемого модуля версии 0.14.0 выдает ошибку при подключении

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

Поле объекта не обнаружено (ОсновнойМодуль)
{ВнешняяОбработка.КонтурДиадокПлагины.МодульОбъекта(4096)}:ОбъектПлагина.ОсновнойМодуль = ОсновнойМодуль;

Версия обработки Контур 4.29.2

Ошибка исправлена путем внесения в модуль обработки Plugin_PM_builder строки

Перем ОсновнойМодуль Экспорт;
47. charushkin 109 14.06.23 17:08 Сейчас в теме
(40) Привет!

Странно, что вы столкнулись с такой ошибкой. Попробуйте обновить модуль и плагин. Если проблема останется, стоит обратиться в тех. поддержку (https://www.diadoc.ru/support)
38. ImHunter 327 27.04.23 08:05 Сейчас в теме
А вот вопрос. Аренда модуля - это, по сути, аренда вшитого ключа разработчика?
39. Efimoff 129 16.05.23 14:16 Сейчас в теме
Кто подскажет?

Хочу при создании документа Приобретения товаров и услуг выбрать Заказ поставщику и подставить его в документ.
Прикрутил в форму пакета дополнительную кнопку "Выбрать кнопку".
Проблема в том, что я не могу добраться до основной формы, чтобы запустить в ней процедуру создания документа.
Как её получить из ФОРМЫ подключаемого модуля? ВладелецФормы переопределяется перед запуском ПМ и туда передается форма ВызовыПМ.

Или есть другие варианты реализации?
55. charushkin 109 02.10.23 21:10 Сейчас в теме
(39) Привет!

Кастомизировать форму пакета документов с помощью подключаемого модуля (далее - ПМ) невозможно. Дополнительные кнопки можно добавлять только в основной форме модуля.

В целом ваш сценарий можно реализовать только с помощью ПМ. Но в удобстве он будет сильно проигрывать другим решениям.

Вариант реализации с помощью ПМ:
1. Открывать форму выбора заказа поставщику с помощью доп. кнопки из основной формы
2. Выбранный заказ сохранять где-то в информационной базе (при использовании подсистемы хранения Диадока можно записать ссылку в доп. реквизиты справочника Диадок_Документы)
3. Переопределить в ПМ обработчик события создания учетного документа ("ПолучитьЗаполненныйОбъектДокумента1С"), добавив код по заполнению заказа поставщику

Более удобный для пользователя вариант, но затратный для вас:
1. Создавать промежуточные документы, которые будут заполняться только теми данными, которые можно однозначно получить из электронного документа (организцаия, контрагент, номенклатура и т.д.). Создавать что-то на основании входящих электронных документов можно совсем без участия оператора (в регламентном задании).
2. Сделать специальное рабочее место для оператора, который создаёт учетные документы, в котором выводить "черновики" учетных документов для дальнейшей обработки. В этом рабочем месте добавить функциональность по дозаполнению недостающей аналитики (договоры, заказы поставщикам, статьи затрат и т.д.)
41. nma 17.05.23 18:11 Сейчас в теме
(40) Спасибо за замечание. Исправлено в 0.14.1
42. Efimoff 129 18.05.23 08:20 Сейчас в теме
(41) Может вы подскажите. Есть ли вариант шаблона с интерактивным выбором значения?
Пример.
Хочу при создании документа Приобретения товаров и услуг выбрать Заказ поставщику и подставить его в документ.
Прикрутил в форму пакета дополнительную кнопку "Выбрать заказ и создать документ".
Два варианта
1. Либо выбрать заказ, запомнить его в параметрах и типовым созданием документа создать ПТиУ.
(проблема в том, что события отрабатываются как функции и не дожидаются Обработки оповещения)
2. Либо выбрать заказ, запомнить его в параметрах и запустить создание документа из формы подключаемого модуля.
(Проблема в том, что я не могу добраться до основной формы, чтобы запустить в ней процедуру создания документа.
Как её получить из ФОРМЫ подключаемого модуля? ВладелецФормы переопределяется перед запуском ПМ и туда передается форма ВызовыПМ).
43. maxis33 45 25.05.23 10:19 Сейчас в теме
Всем привет,
Может кто знает, как передать в Диадок необходимость отказать в подписании?

Есть хорошая процедура, которая умеет:
 //Режим исполнения: ПередатьНаСогласование / ПередатьНаПодпись / ПередатьПоМаршруту / Согласование / ОтказВСогласовании
ОсновнойМодуль.ЭДО_ОтправитьMessagePatchToPostДляВыбранныхСтрокСпискаДокуме­нтов(ТаблицаДокументов, ПараметрыMessagePatchToPost);

А вот что-то типа "ПередатьНаОтказВЗапросеПодписи" не умеет..
"ОтказВЗапросеПодписи" - не подходит...

Нужно чтобы подписанту на сайте прилетела задача "Отказать", и кнопка "Подписать" была недоступна.
44. irinachkas 07.06.23 09:34 Сейчас в теме
(43)Здравствуйте,
К сожалению, такой возможности нет. Я зафиксировала как пожелание. Хочется понять, какой сценарий у вас.

Единственное, что можем предложить сейчас, это отправить на подпись с комментарием, что требуется отказать в подписи
45. maxis33 45 10.06.23 14:11 Сейчас в теме
(44) спасибо за ответ!
Наш процесс согласования проходит в 1С:Документооборот, и через модуль интеграции (в БП) регламентным заданием на сайт Диадок отправляется задача подписантам, т.к. само подписание происходит на сайте.
Вариант подписания с комментарием мы рассматривали, но подписанием занимаются руководители, которые могут не обратить на комментарий внимания. И в общем списке нет комментария.
Так что очень ждем этой возможности, заранее спасибо!
48. kom240681 15.06.23 08:13 Сейчас в теме
Добрый день. Я хотел убрать из УПД печати Серию номенклатуры но не получается как указано на этом сайте. Я выбрал "Генератор подключаемого модуля". Почему не срабатывает это обработка?.
Прикрепленные файлы:
ПМ.epf
49. fatman78 21 19.07.23 10:35 Сейчас в теме
(48)Диадок использует свою структуру при заполнении объектов XDTO. Не сразу нашел на сайте где описана структура пакета и разных форматов документов ЭДО. Структуры для заполнения контента УПД в формате приказа ММВ-7-15/820@.

P.S. Для разработчиков Диадок.

Предлагаю добавлять ссылки на соотв. разделы документации в генератор шаблонов кода ПМ. Форматы документов. Сэкономите время сторонних разработчиков, и получите + в карму...
50. natachern 23 18.08.23 10:41 Сейчас в теме
Доброе утро, вопрос чайника.
Полученную ПМ.erp вставить на вкладке Подключаемый модуль?
56. charushkin 109 02.10.23 21:23 Сейчас в теме
(50) Привет!

Да, верно, подключаемый модуль - это внешняя обработка (файл с расширением .epf). Путь к нему необходимо указать в настройках модуля на вкладке "Подключаемый модуль" (подробнее в инструкции: https://support.kontur.ru/diadoc-1s8x/41601-podklyuchaemyj_modul)
51. info1i 236 01.09.23 10:53 Сейчас в теме
Добрый день! Подскажите функцию, которая скачивает произвольный файл (например, PDF) из электроннного неформализованного документа?
Электронный документ входящий и подписан обеими сторонами.
57. charushkin 109 02.10.23 21:27 Сейчас в теме
(51) Привет!

Возможно, вам подойдёт метод ЭДО_ПолучитьАрхивДокументооборота: https://developer.kontur.ru/Docs/Diadoc_UM/methods/JeDO_Poluchit%27ArhivDokumentoobor­ota.html
62. info1i 236 22.10.23 19:01 Сейчас в теме
(57) Нет, в архиве отсутствует печатная форма с двусторонней подписью. Решил задачу функцией:
ФайлПФ = ОсновнойМодуль.ЭДО_ПолучитьПечатнуюФормуДокумента(BoxId, LetterId, DocumentId);
52. MAXXL 13 04.09.23 14:00 Сейчас в теме
Добрый день. Используем конфигурацию 1С:ERP Агропромышленный комплекс 2 от Интеко. Соответственно при запуске Вашего модуля ругается что не поддерживается такая конфигурация. Каким образом заставить модуль считать что используется обычная ERP?
58. charushkin 109 02.10.23 21:33 Сейчас в теме
(52) Привет!

При первом запуске должно появиться окно с выбором интеграционного модуля. Вам нужно выбрать "Конфигурации на базе УТ 11, ERP 2, КА 2".

P.S. Интеграционный модуль можно изменить в настройках в разделе "Системные"
Прикрепленные файлы:
53. EVGSPB 29.09.23 15:42 Сейчас в теме
Добрый день.

Подскажите пожалуйста, может кто сталкивался:

Как отправить из ут 11.5 документ на ящик грузополучателя?

Поле ИдПол поменял (подставил ID Грузополучателя) , но документ все ровно уходит на ящик головного контрагента:

Для Каждого Строка Из Content.Buyers Цикл

Строка.FnsParticipantId = СокрЛП(ИДпол);

КонецЦикла;

Файл выгружается с правильным ИДпол. Если его загрузить через вебинтерфейс - то все ок.

Что еще надо сделать?
59. charushkin 109 02.10.23 21:40 Сейчас в теме
(53) Привет!

В вашем примере меняется содержимое XML-файла. А вот кому этот файл будет отправлен, определяется настройками сопоставления контрагентов 1С с ящиками Диадока. Проверьте, с каким ящиком сопоставлен контрагент из учетного документа, на основании которого формируется электронный документ.

P.S. Если вам по каким-то причинам нужно динамически определять получателя пакета документов, то следует использовать возможности подключаемого модуля. Например, событие ПослеПодготовкиПакета: https://developer.kontur.ru/Docs/Diadoc_UM/func/pm/PoslePodgotovkiPaketa.html
65. petrobol25 27.10.23 11:38 Сейчас в теме
(59) а мы столкнулись с тем, что отличаются формы у 1С(УНФ типовая) и Диадок при работе с обособленными подразделениями в Диадок все равно подтягивается КПП Контрагента, а должно как в 1С - КПП Грузополучателя. Подскажите, как доработать?
Прикрепленные файлы:
92. anatolis007 27.07.24 08:38 Сейчас в теме
Добрый день!
УНФ 3.0 (3.0.8.109)
Модуль 4.43.2.3339
Столкнулись с такой проблемой. В компании есть обособленные подразделения. При формировании УПД в УНФ в igrt корректно прописывается в номере документа через слеш индекс ОП. В строке "ИНН/КПП продавца:" ставиться КПП обособленного подразделения и в строке "Грузоотправитель и его адрес:" так же указывается адрес ОП.
В пакете модуля все эти данные заполняются от головного подразделения. и в номере документа отсутствует индекс ОП.
Как в ПМ создать генерацию ПФ идентичной типовой в УНФ?
Не могу понять, как из ПМ обратиться не СФ а к расходной накладной. Т.к. в СФ нет реквизитов ОП.
93. anatolis007 28.07.24 21:21 Сейчас в теме
Добрый день!
Столкнулись с такой проблемой.
УНФ 3.0 типовая. Есть обособленные подразделения(ОП).
При генерации стандартной ПФ в УПД:
1. В номере документа через слеш указывается индекс ОП
2. В графе ИНН/КПП продавца указывается КПП ОП
3. В графе "Грузоотправитель" указывается адрес ОП
При генерации УПД в Диадок в номере УПД отсутствует индекс ОП и везде заполняются данные головного подразделения.
Как через плагин можно перезаполнить данные идентично стандартной печатной форме УНФ?
94. charushkin 109 29.07.24 06:10 Сейчас в теме
(93) Привет!

Рекомендуем зарегистрировать ошибку через тех.поддержку
60. EVGSPB 08.10.23 15:12 Сейчас в теме
(59) Спасибо, Вы очень помогли. Действительно процедура ПослеПодготовкиПакета идеально подошла для решения этой задачи.
61. Somebody1 69 13.10.23 06:46 Сейчас в теме
Здравствуйте! Кто может подсказать?

Стоит задача: Доработать Диадок 1С, чтобы в исходящих документах заполнялись счета-фактуры на основании документов 1С «ПередачаТоваровМеждуОрганизациями».

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

Вопрос: Как с помощью подключаемого модуля скорректировать процедуру заполнения электронного документа УПД из документа 1С «СчетФактура», чтобы она заполняла табличную часть УПД, используя документ ПередачаТоваровМеждуОрганизациями? При этом не переписывая заново и не копируя процедуры из обработки Диадок 1С?

К сожалению, плагин генерации ПМ выдаёт нерабочий код.

Из документации вижу, что подходит только событие "Формирование электронного документа", которое подразумевает полную замену типовой функции «Подготовить электронный документ», а этого хотелось бы избежать.
VyacheslavShilov; +1 Ответить
63. info1i 236 22.10.23 19:05 Сейчас в теме
Добрый день! Подскажите, пожалуйста, ответы.
1. Как однозначно идентифицировать входящий документ, который не требуют подписи с нашей стороны?
2. Как однозначно идентифицировать входящий документ, который требуют подписи с нашей стороны?
64. info1i 236 25.10.23 11:34 Сейчас в теме
Подскажите, пожалуйста, как программно (функцией в коде 1С) сформировать файл PDF с штампом двусторонней подписи из неформализованного документа с типами: xml,pdf, xls,xlsx, doc, jpeg?
88. ImHunter 327 13.07.24 12:53 Сейчас в теме
(64) Есть метод api. В самом УМ вроде этот метод не описан - скопипастить какой-нибудь более-менее похожий по логике, доработать. У меня вот так написалось.

Модуль объекта КонтурДиадокМетодыAPI:
// Возвращает протокол документа
//
// Параметры:
//  ПараметрыСервиса - Структура	- Параметры сервиса
//  boxId			 - Строка	 	- Ящик
//  messageId		 - Строка	 	- Сообщение
//  documentId		 - Строка	 	- Документ
// 
// Возвращаемое значение:
//  Структура - Данные протокола
//		*Выполнено	- Булево			- Протокол успешно получен  
//		*КодОтвета	- Строка			- Код ответа при выполнении операции
//		*Протокол	- ДвоичныеДанные	- Двоичные данные протокола
//		*Подпись	- ДвоичныеДанные	- Подпись протокола
//		*ТекстОшибки	- Строка, Неопределено	- Текст ошибки при получении протокола. Опциональный ключ.
//		*ИмяФайла		- Строка				- Имя файла протокола
//		*ВремяОжидания	- Число, Неопределено	- Сколько секунд подождать для повторной попытки получения протокола
//
Функция DD_API_GenerateDocumentProtocol_(ПараметрыСервиса, boxId, messageId, documentId) Экспорт
	
	// http://api-docs.diadoc.ru/ru/latest/http/GenerateDocumentProtocol.html
	
	Результат = Новый Структура("Протокол, Подпись, ТекстОшибки");
	
	ПараметрыЗапроса = ВнешниеСервисы_ПараметрыHTTPЗапроса();
	
	ПараметрыЗапроса.АдресМетода = "/GenerateDocumentProtocol";
	
	ПараметрыЗапроса.Параметры.Вставить("boxId"		, boxId);
	ПараметрыЗапроса.Параметры.Вставить("messageId"	, messageId);
	ПараметрыЗапроса.Параметры.Вставить("documentId", documentId);
	
	ПараметрыЗапроса.ТелоОтветаКакДвоичныеДанные = Ложь;
	
	ДобавитьЗаголовокАвторизацииДиадок(ПараметрыСервиса, ПараметрыЗапроса);
	
	Ответ = ВнешниеСервисы_ВыполнитьHTTPЗапрос(ПараметрыСервиса, ПараметрыЗапроса);
	Результат.Вставить("Выполнено", Ответ.КодОтветаДопустимый И Не ПустаяСтрока(Ответ.ТелоОтвета));   
	Результат.Вставить("КодОтвета", Ответ.КодОтвета);   
	
	Если Результат.Выполнено Тогда  
		СтруктураОтвета = ПарсерJSON_Прочитать(Ответ.ТелоОтвета); 
		Если СтруктураОтвета.Свойство("PrintForm") Тогда 
			Результат.Вставить("Протокол", Base64Значение(СтруктураОтвета.PrintForm));
		КонецЕсли;
		Если СтруктураОтвета.Свойство("Signature") Тогда 
			Результат.Вставить("Подпись", Base64Значение(СтруктураОтвета.Signature));
		КонецЕсли;
	Иначе     
		Результат.Вставить("ТекстОшибки", Ответ.ТелоОтвета);	
	КонецЕсли;
	
	ИмяФайла = Ответ.Заголовки["Content-Disposition"];
	
	ВремяОжидания = Ответ.Заголовки["Retry-After"];
	ВремяОжидания = ЧислоИзСтроки(ВремяОжидания);
	
	ДвоичныеДанныеФайла = Ответ.ТелоОтвета;
	
	Результат.Вставить("ИмяФайла", 		ИмяФайла);
	Результат.Вставить("ВремяОжидания", ВремяОжидания);
	
	Возврат Результат;
	
КонецФункции
Показать


Модуль объекта КонтурДиадокЯдро
// Возвращает протокол документа с сервиса Контур.Диадок.
//
// Параметры:
//  Идентификаторы	 - Структура	 - Идентификаторы документа
// 
// Возвращаемое значение:
//  Структура - Данные протокола
//		*Выполнено	- Булево	- Протокол успешно получен  
//		*КодОтвета	- Строка	- Код ответа при выполнении операции
//		*Протокол	- ДвоичныеДанные	- Двоичные данные протокола
//		*Подпись	- ДвоичныеДанные	- Подпись протокола
//		*ТекстОшибки	- Строка, Неопределено		- Текст ошибки при получении протокола. Опциональный ключ.
//		*ИмяФайла	- Строка	- Имя файла протокола
//		*ВремяОжидания	- Число, Неопределено	- Сколько секунд подождать для повторной попытки получения протокола
//
Функция Документы_ПротоколСервераДиадок(Идентификаторы) Экспорт
	
	BoxId		= Идентификаторы.BoxId;
	MessageId	= Идентификаторы.LetterId;
	DocumentId	= Идентификаторы.DocumentId;
	
	ПараметрыСервиса = ПараметрыСервиса_Диадок(BoxId);
	
	Счетчик = 0;
	
	Пока Счетчик < 10 Цикл
		
		Ответ = АПИ_GenerateDocumentProtocol_(ПараметрыСервиса, BoxId, MessageId, DocumentId);
		
		Если ЗначениеЗаполнено(Ответ.ВремяОжидания) Тогда
			
			Таймаут(Ответ.ВремяОжидания);
			Счетчик = Счетчик + 1;
			
		Иначе
			
			Результат = Ответ;
			
			Прервать;
			
		КонецЕсли;
		
	КонецЦикла;
		
	Возврат Результат;
	
КонецФункции	

Функция АПИ_GenerateDocumentProtocol_(ПараметрыСервиса, BoxId, MessageId, DocumentId) 
	
	Модуль_МетодыAPI = Модуль_МетодыAPI(ЭтотОбъект);
	#Если Сервер И Не Сервер Тогда // Фейк для автокомплита
		Модуль_МетодыAPI = Обработки.КонтурДиадокМетодыAPI.Создать();
	#КонецЕсли // Конец фейковой директивы
	
	Результат = Модуль_МетодыAPI.DD_API_GenerateDocumentProtocol_(ПараметрыСервиса, BoxId, MessageId, DocumentId);
	
	Возврат Результат;
	
КонецФункции	
Показать
89. charushkin 109 14.07.24 07:41 Сейчас в теме
(88) Привет!
Мы не рекомендуем использовать служебный программный интерфейс вспомогательных модуля Диадок (например, Модуль_МетодыAPI.DD_API_GenerateDocumentProtocol). Вам стоит рассмотреть другой вариант собственной интеграции с сервисом. Например, на базе популярной библиотеки HTTPConnector (насколько мне известно, вам потребуется купить отдельный ключ API)
90. ImHunter 327 14.07.24 20:06 Сейчас в теме
(89) Зачем мне еще HTTPConnector?... Если цель достигнута. Во вспомогательном модуле все равно нужно метода не было. Я его сам добавлял. И заименовал с завершающим подчеркиванием, чтобы потом не пересечься с будущим штатным методом. Потом еще дорабатывал этот метод, т.к. на сервисе результат поменялся - стали еще подпись отдавать.

Вообще, я уже сколько напилил в УМ, что назад пути нет)) Но все расширениями, ни одной строки исходников не пострадало.
67. Sparrow1974 8 04.11.23 14:48 Сейчас в теме
Как бы то ни было, у генератора есть огромный плюс. Если нужно решить какую-то задачу, и используешь этот генератор, начинаешь понимать логику модуля, и все остальные задачи становится понятно, как написать ручками, и вообще, все супер. Плюсую.
EarlyBird; kstukov; +2 Ответить
68. pumpa010 14.12.23 14:08 Сейчас в теме
Добрый день! Подскажите, пожалуйста, как доработать модуль Диадок, чтобы была возможность загрузки денежных документов - билетов? Доработала так, что на форме сопоставления номенклатуры появилась возможность выбора и сопоставления для справочника "Денежные документы", но при нажатии на кнопку "Создать документы" - денежные документы не подставляются в табличную часть, хотя сам документ "Поступление денежных билетов" создается, кол-во, сумма тоже заполняются, нет только самих сопоставленных билетов. Хотя в РС "Номенклатура контрагентов" билеты заполнены. Очень прошу помогите, сил уже нет.
69. fixin 4273 21.02.24 13:28 Сейчас в теме
Хорошая статья. Но не описывает весь процесс. С чего начать, как подлезть.
Я начал с этой статьи, остальное пришлось разгребать самому.
Поэтому рекомендую для прочтения свой путеводитель: Как написать простую доработку Контур.Диадок через подключаемый модуль
70. youarewelcome 03.04.24 04:45 Сейчас в теме
@VKuser139784027 правильно понимаю, что взаимодействие с пользователем на клиенте никак через подключаемый модуль не отписать, т.к. нам доступен только модуль объекта? получается весь тонкий клиент по прежнему отписываем непосредственно в обработке Диадок?
73. anig99 2852 08.06.24 07:34 Сейчас в теме
Добрый день! А как привязать один документ к другому при отправке? Нужно, чтобы привязывать корректировки к реализации. Даже посмотреть негде. В справке есть ссылка на такую возможность в старых модулях. А сейчас как, непонятно. https://support.kontur.ru/diadoc-1s-of/41730-otpravka
74. armavirmkk 01.07.24 08:54 Сейчас в теме
Добрый день. А возможно ли работа модуля без выделенного документа СчетФактураВыданный (Полученный) ? Когда функцию счф несет сам отгрузочный документ. В Модуль_1САдаптер есть код который футболит если такого документа нет. И какие отличия Интеграционного модуля (УТ10 к примеру) от Пользовательского (Подключаемого) модуля. В ПМ я не нашел возможности Инициализировать к примеру...
75. charushkin 109 01.07.24 12:12 Сейчас в теме
(74) Привет!

Модуль умеет формировать УПД ДОП, накладные и акты выполненных работ на основании документов реализации. Это работает "из коробки", если для документа реализации счет-фактура не требуется. Например, если реализация без НДС или это отгрузка комиссионеру, в списке на отправку появится пакет "УПД (СФ не требуется)", внутри которого будет только УПД ДОП.

Если есть потребность отправлять УПД СЧФДОП (или УПД СЧФ) без оформления счета-фактуры выданного, то придется описать в ПМ свою логику:
- в событии ПодготовитьЭлектронныйДокумент определить алгоритм формирования УПД СЧФДОП на основании документа-реализации
- в событии ПолучитьТекстЗапросаДляСпискаПакетовНаОтправкуПоМассивуВидов­Пакетов определить запрос для добавления в список на отправку пакетов УПД СЧФДОП на основании документов-реализации
armavirmkk; +1 Ответить
76. armavirmkk 01.07.24 19:36 Сейчас в теме
(75) Спасибо!
Сможете прояснить еще пару вопросов ?
Конфигурация по мотивам старой УТ10 . Обычные формы.
Интеграционный модуль УТ10/УПП/БП2.0 который выбирается из при запуске обработки, я так понял что это совсем не ПМ. Разная структура. В ИнициализироватьМодуль(...) получаются ссылки на другие модуля (Ядро к примеру). ПМ_УТ_103.epf который лежит в макете обработки - я изначально полагал что это и есть ПМ для УТ10, который предполагал модифицировать. А получается что это либо какой то другой ПМ либо сам Интеграционный модуль. А структура ПМ ограничена вызовами из ВызовыПМ.epf ? Т.е. подсунуть модифицированный ПМ_УТ_103.epf штатно средствами обработки я не могу ?
Т.е. я правильно понимаю что ПМ используется одновременно с интеграционным модулем (ПМ_УТ_103.epf???) и соответственно если каких то штатных объектов объектов УТ в конфигурации нет то ПМ мне не поможет ?
Первоначально полагал что ПМ и встроенная интеграция это одно и то же - просто ПМ из внешнего файла, а интеграционный модуль это готовый ПМ под определенную конфигурацию.
85. charushkin 109 12.07.24 08:14 Сейчас в теме
(76) Привет!

Всё верно: типовой интеграционный модуль (ИМ) - это не то же самое что пользовательский подключаемый модуль (ПМ).

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

Т.е. подсунуть модифицированный ПМ_УТ_103.epf штатно средствами обработки я не могу ?

Всё так

Т.е. я правильно понимаю что ПМ используется одновременно с интеграционным модулем

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

Возможны такие варианты работы:
1. Только ИМ - типовая функциональность для типовых конфигураций (список которых опубликован на сайте)
1. ИМ + ПМ - можно менять и дополнять типовую функциональность
1. Только ПМ - ПМ используется вместо ИМ, всё, что связано с взаимодействием модуля Диадока с вашей конфигурацией, описывается непосредственно в ПМ
77. succub1_5 91 04.07.24 11:06 Сейчас в теме
Здравствуйте, надо сохранять статусы документов в типовых регистрах 1С (ЭДО), хотя бы в РС СостоянияПоОбъектамУчетаЭДО и СостоянияДокументовЭДО, как делает СБИС с включенным флагом "Дублировать события СБИС в типовых регистрах 1С".
Подскажите - в ПМ, но в инструкции написано что нужно объекты Диадок добавить в конфу, а если просто все лишнее закомментировать и перехватывать событие: ИмяСобытия = "ПослеУстановкиСтатусаДокумента" и писать
ДокументДД = Параметры.ДокументДД;
Статус = Параметры.Статус;

Если Найти(Статус, "Подписан") > 0
    И ДокументДД.Документ <> Неопределено Тогда

  //запись в регистры

КонецЕсли;
Показать
78. djdiamond 11.07.24 09:23 Сейчас в теме
(77)
ДокументДД = Параметры.ДокументДД;
Статус = Параметры.Статус;

Если Найти(Статус, "Подписан") > 0
И ДокументДД.Документ <> Неопределено Тогда

//запись в регистры

КонецЕсли;


Добрый день. У вас получилось по статусам?
82. succub1_5 91 11.07.24 17:53 Сейчас в теме
(78) Неа, контур.диадок всячески постарались (в отличие от СБИСа, где просто флаг включаешь и данные по докам+статусам в типовые метаданные 1С ЭДО), чтобы на получении статусов заработать - без разницы плагин или АПИ (тоже платное)...
Но может всетаки расковыряю. Напишу.
79. charushkin 109 11.07.24 11:50 Сейчас в теме
(77) Добрый день!

Возможно, вам подойдёт плагин Загрузка статусов
81. djdiamond 11.07.24 16:03 Сейчас в теме
(79) он то подходит, но за это в год на 1 юр лицо 17500 не очень как то( за такой простой функционал.
84. charushkin 109 12.07.24 07:15 Сейчас в теме
(77)
в инструкции написано что нужно объекты Диадок добавить в конфу


Всё верно, событие ПослеУстановкиСтатусаДокумента может использоваться только при условии, что в конфигурацию встроена подсистема с объектами Диадока.

P.S. Следует учитывать, что при смене системы хранения данных (с типовых регистров на объекты Диадока) потребуется миграция данных, чтобы перенести настройки и связи контрагентов, организаций и документов с сущностями сервиса Диадок
109. Stas84 11.10.24 23:27 Сейчас в теме
(84) Доброй ночи. Что это за подсистема и где ее взять?
110. ImHunter 327 12.10.24 08:31 Сейчас в теме
(109) в макетах обработки есть cf
111. Stas84 12.10.24 09:59 Сейчас в теме
(84)
(110)
При использовании системы хранения на объекта диадок, по умолчанию разве не будет фиксироваться статус документа, в ней же есть регистр Диадок_СтатусыДокументов
112. ImHunter 327 12.10.24 10:55 Сейчас в теме
(111) Ну... Фиксируется. У меня, правда, куча всего в расширении перекрыто.
113. Stas84 12.10.24 11:32 Сейчас в теме
(112) В расширение самому объекты переносить нужно? Диадок не предоставляет свое? Хочется понять возможности типового функционала, как это задумали авторы модуля, а не изобретать свой велосипед с костылями.
114. ImHunter 327 12.10.24 12:02 Сейчас в теме
(113) Лучше перенести в основную конфу.
Насчет "Диадок не предоставляет свое" - где-то у них есть инструкция, как переносить.
Насчет "Хочется понять возможности типового функционала" - нууууу, это смотря, что вы сами хотите:)
Вообще, погружение в "типовой функционал" - это некий культурный шок, будьте готовы. Но, при этом, респект архитектору УМ! Ведь смогли в множестве вариантов - множество решений предусмотреть.
117. charushkin 109 23.10.24 12:04 Сейчас в теме
(113)
В расширение самому объекты переносить нужно? Диадок не предоставляет свое?


Привет!
Сейчас идут пилоты с объектами нашей подсистемы в расширении. Если хочется поучаствовать, можно сообщить об сотруднику отдела внедрения, который ведёт ваш проект. Требования к использованию расширения - платформа 8.3.20 и выше (режим совместимости конфигурации не менее 8.3.20)
119. Stas84 24.10.24 21:33 Сейчас в теме
(117)
Сейчас идут пилоты с объектами нашей подсистемы в расширении. Если хочется поучаствовать, можно сообщить об сотруднику отдела внедрения, который ведёт ваш проект. Требования к использованию расширения - платформа 8.3.20 и выше (режим совместимости конфигурации не менее 8.3.20)


Сотрудники технической поддержки ничего про пилот не сообщили, как можно получить расширение?
Прикрепленные файлы:
Оставьте свое сообщение