Диадок. Подключаемый модуль. Отладка

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

Интеграция - WEB-интеграция

Диадок. Подключаемый модуль Отладка

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

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

 

 

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

 

 

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

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

 

 

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

 

 

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

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

 

 

 

 

ТекстПротоконтент = ЗначениеВСтрокуВнутр(Протоконтент);
Текст = Новый ЗаписьТекста;
Текст.Открыть("\\Server\1c\Протоконтент.txt",КодировкаТекста.ANSI);
Текст.ЗаписатьСтроку(ТекстПротоконтент);
Текст.Закрыть();

 

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

 

 

&НаСервере
Процедура Команда1НаСервере()
	
	Текст = Новый ТекстовыйДокумент;
	
	ПолноеИмяФайла = "\\server\1с\Протоконтент.txt";
	Текст.Прочитать(ПолноеИмяФайла);
	
	ТекСтрока1 = "";
	КоличествоСтрок = Текст.КоличествоСтрок();
	Для Счетчик = 1 по КоличествоСтрок Цикл
		ТекСтрока = Текст.ПолучитьСтроку(Счетчик);
		ТекСтрока1 = ТекСтрока1 + ТекСтрока;
	КонецЦикла;   
	Протоконтент = ЗначениеИзСтрокиВнутр(ТекСтрока1);
	
КонецПроцедуры

&НаКлиенте
Процедура Команда1(Команда)
	Команда1НаСервере();
КонецПроцедуры

 

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

 

Тестировал: 

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

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

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. login1020 122 22.06.20 12:38 Сейчас в теме
Их обработка неудобна для отладки (пользуемся PRO версией, а все доп объекты интегрированы в базу), т.к. постоянно вызывается разные методы из макетов, каждый из которых представляет собой внешнюю обработку. Да и вклиниваться на уровне сбора данных мне тоже не хотелось, уж больно длинную цепочку потом прослеживать.

Тогда я просто вклинился в эту процедуру в модуле объекта обработки:
ЭДО_ДокументМенеджер_ПодготовитьИДобавитьДокументВПакет
и уже там напрямую добавлю/заполняю те поля, которых мне не хватает для отправки УПД.
А выклинился в нее т.к. это уже конечный результат сборки документа непосредственно перед самой отправкой.
shard; wowik; +2 Ответить
19. unknown181538 122 11.07.22 13:41 Сейчас в теме
(1) вот сейчас задался вопросом, как интегрировать обработки из макетов в базу.... В старой версии хотя бы основной модуль в базе был, а теперь еще обертку поверх сделали в универсальном...
А встроенность в базу - это свойство PRO версии? Или вы переделали как-то?
ЭДО_ДокументМенеджер_ПодготовитьИДобавитьДокументВПакет - это тоже не на все случаи жизни. Например, мне нужно обращаться к строке по идентификатору...
2. Максим-777 52 20.10.20 13:00 Сейчас в теме
Кстати, если поставить в настройках обработки флаг откладки (Шестеренка - Настройки - Сервисные функции - Режим отладки), то обработка перед получением модулей из макетов будет искать их в директории libs, рядом с файлом обработки диадок про. В эту папку нужно будет посохранять модули из макетов в одноименные файлы. После этого можно будет проваливаться в эти модули в режиме отладки.
3. John_d 4556 20.10.20 14:44 Сейчас в теме
(2) Может напишете статью об этом? скиньте потом ссылку сюда
4. Максим-777 52 20.10.20 15:51 Сейчас в теме
Конечно, на днях набросаю инструкцию в картинках. Сейчас как раз интегрируемся, сам долго не мог понять как они там у себя отлаживают, пока не наткнулся в модулях на эту особенность))
(3)
7. Максим-777 52 30.10.20 15:54 Сейчас в теме
8. John_d 4556 30.10.20 16:21 Сейчас в теме
(7) я первый звездочку поставил)
17. mulder242 3 27.09.21 09:21 Сейчас в теме
При каком действии срабатывает данный подключаемый модуль, при отправке? Если не сложно, напишите, пожалуйста, наименование ключей структуры отвечающих за строку 5а
5. ovasiliev 6 30.10.20 14:55 Сейчас в теме
Как-то дошёл в их модуле до момента, где они подтягивают свои xml-схемы, и бросил это дело, так как не было уверенности, что на своём сервере они не принимают файлы по своим же форматам, и что изменённый xml пройдёт.
Нет с этим проблем?
6. John_d 4556 30.10.20 15:15 Сейчас в теме
(5) Смело можете менять данные в структуре(последний скриншот). Постоянно так делаю.
9. Gh0st 16.02.21 14:04 Сейчас в теме
У кого-то работают в версии Про события из ТиповойМодульДиадокУФ в подключаемом модуле? Посмотрел в отладчике подключаемый модуль отключен , кэш не доступен в контексте этой обработки.
10. Gh0st 16.02.21 15:40 Сейчас в теме
(9) Разобрался и решил проблемы с дополнением данных контента в событии ПодготовитьЭлектронныйДокумент. Оно вызывается дважды до стандартного заполнения и после него. Параметры.Свойство("Результат_ИМ") указывает, что результат заполнен. Но вызов событий из ТиповойМодульДиадокУФ и вложенных модулей хотелось бы реализовать. Надо переопределить текст запроса данных из РТУ. Пока решил изменением встроенного модуля, но в Диадок стандарт это решал добавлением вызова ПМ и из него передавал текст запроса.
11. yudinvs 2 21.06.21 12:55 Сейчас в теме
Коллеги, кто может подсказать в каком виде модулю нужно передавать коды маркировки для УКД? Нужен пример подготовки массива с кодами. По УПД все хорошо, но с УКД не понятно. Или если это где то описано то где?
12. VanoZZZ 15.07.21 07:42 Сейчас в теме
(11) Получилось указать коды маркировки в УКД?
Там есть поля
OriginalItemIdentificationNumbers
CorrectedItemIdentificationNumbers
Заполняю по аналогии с УПД, но маркировка все равно не уходит
13. VanoZZZ 15.07.21 10:52 Сейчас в теме
(11) вот так у меня заработало
ВыборкаПоНоменклатуре=ОбщаяВыборка.Выбрать(ОбходРезультатаЗапроса.ПоГруппировкам);
			Пока ВыборкаПоНоменклатуре.Следующий() Цикл
				НайденноеЗначение=Контент.InvoiceCorrectionTable.Items.Найти(ВыборкаПоНоменклатуре.Номенклатура);	
				Если НайденноеЗначение<>Неопределено Тогда
					Выборка=ВыборкаПоНоменклатуре.Выбрать();
					СтруктураСтрокиМаркировкиДо = Новый Структура;
					СтруктураСтрокиМаркировкиДо.Вставить("TransPackageId");
					СтруктураСтрокиМаркировкиДо.Вставить("Units"		, Новый Массив);
					СтруктураСтрокиМаркировкиДо.Вставить("PackageIds"	, Новый Массив);
					СтруктураСтрокиМаркировкиПосле = Новый Структура;
					СтруктураСтрокиМаркировкиПосле.Вставить("TransPackageId");
					СтруктураСтрокиМаркировкиПосле.Вставить("Units"		, Новый Массив);
					СтруктураСтрокиМаркировкиПосле.Вставить("PackageIds"	, Новый Массив);
					Пока Выборка.Следующий() Цикл
						Если ЗначениеЗаполнено(Выборка.КодРеализации) Тогда
							СтруктураСтрокиМаркировкиДо.Units.Добавить(Выборка.КодРеализации);
						КонецЕсли;
						Если ЗначениеЗаполнено(Выборка.КодКорректировки) И НЕ ЗначениеЗаполнено(Выборка.КодРеализации) Тогда
							СтруктураСтрокиМаркировкиПосле.Units.Добавить(Выборка.КодКорректировки);
						КонецЕсли;
					КонецЦикла;
					МассивКодовМаркировкиДо=Новый Массив;
					МассивКодовМаркировкиДо.Добавить(СтруктураСтрокиМаркировкиДо);
					МассивКодовМаркировкиПосле=Новый Массив;
					МассивКодовМаркировкиПосле.Добавить(СтруктураСтрокиМаркировкиПосле);
					НайденноеЗначение.OriginalItemIdentificationNumbers=МассивКодовМаркировкиДо;
					НайденноеЗначение.CorrectedItemIdentificationNumbers=МассивКодовМаркировкиПосл­е;
				КонецЕсли;	
			КонецЦикла;
Показать
kotofeyru; +1 Ответить
14. yudinvs 2 15.07.21 11:29 Сейчас в теме
(13) Спасибо. Пока еще не получилось, буду пробовать. Недавно контур выложил документацию
https://1c-pro-docs.diadoc.ru/ru/latest/UTD736.html
15. LediStile 2 30.07.21 17:33 Сейчас в теме
Подключаю обработку ДиадокПРО 4.5.29 для конфигурации "ДАЛИОНТренд"

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

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

1. В подключаемом модуле верну мою конфу
Функция ИмяКонфигурации1С()	
	//Возврат "БП20";
	Возврат "ДАЛИОНТренд" //Новая конфигураци Далион Тренд 3.0	
КонецФункции


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

Функция МаркерКонфигурации()
	
	ИменаПодсистемПоМаркерам = Новый Соответствие;
	ИменаПодсистемПоМаркерам.Вставить("БП30", ИменаПодсистемБП());
	ИменаПодсистемПоМаркерам.Вставить("УТ11", ИменаПодсистемУТ());
	ИменаПодсистемПоМаркерам.Вставить("УНФ16", ИменаПодсистемУНФ());
	ИменаПодсистемПоМаркерам.Вставить("БГУ20", ИменаПодсистемБГУ());
	ИменаПодсистемПоМаркерам.Вставить("Розница", ИменаПодсистемРозница());
	ИменаПодсистемПоМаркерам.Вставить("АльфаАвто6", ИменаПодсистемАльфаАвто());
	ИменаПодсистемПоМаркерам.Вставить("ДАЛИОНТренд", ИменаПодсистемДалионТренд());
	
	ПодсистемыКонфигурации = ОписанияПодсистемКонфигурации();
	
	Результат = "";
	
	Для Каждого КлючИЗначение Из ИменаПодсистемПоМаркерам Цикл
		
		ПодходящиеПодсистемы = КлючИЗначение.Значение;
		
		Если ЕстьПодходящаяПодсистема(ПодсистемыКонфигурации, ПодходящиеПодсистемы) Тогда
			Результат = КлючИЗначение.Ключ;
			Прервать;
		КонецЕсли;
		
	КонецЦикла;
	
	Возврат Результат;
	
КонецФункции
Показать


Функция ИменаПодсистемДалионТренд()
	
	Результат = Новый Массив;
	Результат.Добавить("ДАЛИОНТренд");	
	Возврат Результат;
	
КонецФункции

Показать


	Функция ИмяФормыИнтеграции() Экспорт
		
		Если ПараметрыКлиентСервер.МаркерКонфигурации = "БП30" Тогда
			Результат = "Модуль_ИнтеграцияБП30";
		ИначеЕсли ПараметрыКлиентСервер.МаркерКонфигурации = "УТ11" Тогда
			Результат = "Модуль_ИнтеграцияУТ11";
		ИначеЕсли ПараметрыКлиентСервер.МаркерКонфигурации = "БГУ20" Тогда
			Результат = "Модуль_ИнтеграцияБГУ20";
		ИначеЕсли ПараметрыКлиентСервер.МаркерКонфигурации = "УНФ16" Тогда
			Результат = "Модуль_ИнтеграцияУНФ16";
		ИначеЕсли ПараметрыКлиентСервер.МаркерКонфигурации = "Розница" Тогда
			Результат = "Модуль_ИнтеграцияРозница";
		ИначеЕсли ПараметрыКлиентСервер.МаркерКонфигурации = "АльфаАвто6" Тогда
			Результат = "Модуль_ИнтеграцияАльфаАвто6";
		ИначеЕсли ПараметрыКлиентСервер.МаркерКонфигурации = "ДАЛИОНТренд" Тогда
			Результат = "Модуль_ИнтеграцияУниверсальный"; // рома 
		Иначе
			Результат = Неопределено;
		КонецЕсли;
		
		Возврат Результат;
		
	Конецфункции 
Показать


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


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

Функция ПараметрыИнициализацииМодуля()
	
	Результат = Новый Структура;
	Результат.Вставить("ВызовИзРасширения", Ложь);
	Результат.Вставить("РежимОтладкиСервера", Истина);  // признак отладки
	Результат.Вставить("КаталогМодулейСервера", "\\ИмяКаталогаОсновногоМодуля\");  // путь моей обработки: "\\МойСервер\ИмяКаталогаОсновногоМодуля\Diadoc4_5.epr"
	Результат.Вставить("ОтправкаФайловСтарыйИнтерфейс", Ложь);
	Результат.Вставить("ИспользоватьФормуВводаНакладной", Ложь);
	Результат.Вставить("МаркерКонфигурации", ПолучитьМаркерКонфигурации());
	
	Возврат Результат;
	
КонецФункции

Показать


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

	Функция МетодСервера(Знач ИмяМодуля= "", ИмяМетода,
			Параметр0= NULL, Параметр1= NULL, Параметр2= NULL, Параметр3= NULL, Параметр4= NULL, 
			Параметр5= NULL, Параметр6= NULL, Параметр7= NULL, Параметр8= NULL, Параметр9= NULL) Экспорт
		
		Если НЕ ЗначениеЗаполнено(ИмяМодуля) Тогда
			
			ИмяМодуля = ПараметрыКлиентСервер.ИмяОбработки;
			
		ИначеЕсли ИмяМодуля = "Модуль_Интеграция" Тогда
			
			ИмяМодуля = ПараметрыКлиентСервер.ИмяФормыИнтеграции;
			
		ИначеЕсли ИмяМодуля = "Модуль_ИнтеграцияУниверсальный" Тогда
			
			ИмяМодуля = ПараметрыКлиентСервер.ИмяОбработки;			
			
		КонецЕсли;
		
		Результат = ВыполнитьМетод(ИмяМодуля, ИмяМетода
		, Параметр0, Параметр1, Параметр2, Параметр3, Параметр4 
		, Параметр5, Параметр6, Параметр7, Параметр8, Параметр9
		);
		
		Возврат Результат;
		
	КонецФункции

	Процедура ПовторноеИспользованиеСброситьЗначение(Знач ИмяМодуля= "", ИмяМетода,
		Параметр0= NULL, Параметр1= NULL, Параметр2= NULL, Параметр3= NULL, Параметр4= NULL, 
		Параметр5= NULL, Параметр6= NULL, Параметр7= NULL, Параметр8= NULL, Параметр9= NULL) Экспорт
		
		Если НЕ ЗначениеЗаполнено(ИмяМодуля) Тогда
			
			ИмяМодуля = ПараметрыКлиентСервер.ИмяОбработки;
			
		ИначеЕсли ИмяМодуля = "Модуль_Интеграция" Тогда
			
			ИмяМодуля = ПараметрыКлиентСервер.ИмяФормыИнтеграции;
			
		ИначеЕсли ИмяМодуля = "Модуль_ИнтеграцияУниверсальный" Тогда
			
			ИмяМодуля = ПараметрыКлиентСервер.ИмяОбработки; // Рома
			
		КонецЕсли;
		
		МассивПараметров= МассивПараметров(
		Параметр0, Параметр1, Параметр2, Параметр3, Параметр4, 
		Параметр5, Параметр6, Параметр7, Параметр8, Параметр9);
		
		УдалитьРезультатФункцииИзКэш(ИмяМодуля, ИмяМетода, МассивПараметров);
		
	КонецПроцедуры

Функция ИмяМенеджераИнтеграции()
	Возврат "Модуль_ИнтеграцияУниверсальный";
КонецФункции


Функция МенеджерИнтеграции_НоваяНоменклатураИнформационнойБазы(Номенклатура = Неопределено, Характеристика = Неопределено, Упаковка = Неопределено)
	
	Результат = МетодСервера("Модуль_ИнтеграцияУниверсальный", "НоваяНоменклатураИнформационнойБазы"
		, Номенклатура
		, Характеристика
		, Упаковка);
	
	Возврат Результат;
	
КонецФункции

Процедура МенеджерИнтеграции_НайтиНоменклатуруИнформационнойБазы(НоменклатураИБ, НоменклатураКонтрагента)
	
	МетодСервера("Модуль_ИнтеграцияУниверсальный", "НайтиНоменклатуруИнформационнойБазы"
		, НоменклатураИБ
		, НоменклатураКонтрагента);
	
КонецПроцедуры

	Функция КаталогиВложенныхОбработокВРежимеОтладки()
		
		КаталогБиблиотек = "libs";
		КаталогИнтеграции = "include";
		
		Результат = Новый Соответствие;
		
		Результат.Вставить("Модуль_РаботаСВнешнимиПечатнымиФормами"	, КаталогИнтеграции);
		Результат.Вставить("Модуль_ИнтеграцияУниверсальный"			, КаталогИнтеграции);
		Результат.Вставить("Модуль_ИнтеграцияБП30"					, КаталогИнтеграции);
		Результат.Вставить("Модуль_ИнтеграцияУТ11"					, КаталогИнтеграции);
		Результат.Вставить("Модуль_ИнтеграцияБГУ20"					, КаталогИнтеграции);
		Результат.Вставить("Модуль_ИнтеграцияУНФ16"					, КаталогИнтеграции);
		Результат.Вставить("Модуль_ИнтеграцияРозница"				, КаталогИнтеграции);
		Результат.Вставить("Модуль_ИнтеграцияАльфаАвто6"			, КаталогИнтеграции);
		
		Результат.Вставить("ГенерацияXML"	, КаталогБиблиотек);
		Результат.Вставить("ПечатныеФормы"	, КаталогБиблиотек);
		
		Возврат Результат;
		
	КонецФункции

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

	Функция ОбъектКонстант() Экспорт
		
		Результат = МетодСервера("Модуль_ИнтеграцияУниверсальный", "ВладелецОбщихНастроекМодуля");
		
		Возврат Результат;
		
	КонецФункции


Показать


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

		Если ПараметрыКлиентСервер.РежимОтладкиСервера Тогда
			
			ПодКаталогиОбработок = КаталогиВложенныхОбработокВРежимеОтладки();
			
			ИмяФайла		 = ИмяМодуля + ".epf";
			ПодКаталог		 = ПодКаталогиОбработок[ИмяМодуля];
			КаталогОбработок = ПараметрыКлиентСервер.КаталогМодулейСервера; // рома , у меня все хранилось в "\\МойСервер\Диадок Про\"
			ПолноеИмяФайла	 = ОбъединитьПути(КаталогОбработок, ПодКаталог, ИмяФайла);
			
			Если Не ФайлСуществует(ПолноеИмяФайла) Тогда
				ЗаписатьМакетОбработкиВФайл(ИмяМодуля, ПолноеИмяФайла);
			КонецЕсли;
			
			Результат = ВнешниеОбработки_СоздатьИзФайла(ПолноеИмяФайла, Истина); //  ИСТИНА - зто признак для отладки моей обработки, не нужна отладка - оставьте ЛОЖЬ. Этот признак меняет ИспользуемоеИмяФайла у обработки
			
		Иначе
			
			ПроверитьЧтоБезопасныйРежимОтключен();
			
			ДвоичныеДанные = ПолучитьМакет(ИмяМодуля);
			АдресОбработки = ПоместитьВоВременноеХранилище(ДвоичныеДанные);
			
			ИмяОбработки = ВнешниеОбработки_Подключить(АдресОбработки);
			Результат	 = ВнешниеОбработки_СоздатьПоИмени(ИмяОбработки);
			
		КонецЕсли;
		
		Если ПараметрыКлиентСервер.РежимОтладкиСервера Тогда
			Результат.ПриглашениеОтладки();
		КонецЕсли;
		
		Возврат Результат;
		
	КонецФункции

Показать


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

	Функция ВнешниеОбработки_СоздатьИзФайла(ИмяФайла, БезопасныйРежим = Ложь)
		
		ПроверитьЧтоФайлСуществует(ИмяФайла);
		
		Результат = ВнешниеОбработки.Создать(ИмяФайла, БезопасныйРежим);
		
		Возврат Результат;
		
	КонецФункции
	
	Процедура ПроверитьЧтоФайлСуществует(ИмяФайла)
		
		Файл = Новый Файл(ИмяФайла);
		
		Если НЕ Файл.Существует() Тогда
			
			Если ПараметрыКлиентСервер.ФайловыйРежимРаботы Тогда
				СтрокаПроверьтеФайлНаСервере = "";
			Иначе
				СтрокаПроверьтеФайлНаСервере = НСтр("ru = '
				|Проверьте, что файл доступен для загрузки на сервере 1С.'");
			КонецЕсли;
			
			ТекстОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
			НСтр("ru = 'Файл не обнаружен ''%1'' %2'"), ИмяФайла, СтрокаПроверьтеФайлНаСервере);
			
			ВызватьИсключение ТекстОшибки;
			
		КонецЕсли;
		
	КонецПроцедуры

Показать


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

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

Пожалуй, прикреплю я свою обработку сюда
ПМ_ТорговыеСети - мой подключаемый модуль
ТиповойМодульДиадокУФ.epf - хранится в \\....\ТиповойМодульДиадокУФ.epf и скачивается в каталог при нажатии режима ОТЛАДКИ в основной обработке
Прикрепленные файлы:
ПМ_ТорговыеСети_4.2.3.10_24_06_2021.epf
ТиповойМодульДиадокУФ.epf
16. LediStile 2 03.08.21 14:33 Сейчас в теме
18. mdv92 03.06.22 18:21 Сейчас в теме
Скажите, пожалуйста, сейчас это еще работает? Там же новая версия?
21. John_d 4556 14.09.22 15:36 Сейчас в теме
(18) Это работает и в новой версии
20. Клетчатый 25.08.22 16:31 Сейчас в теме
Кто нибудь знает, как в новом модуле КонтурЭДО получить, то что раньше называлось протоконтент?
22. John_d 4556 14.09.22 15:39 Сейчас в теме
(20)
Для Каждого Стр Из Параметры.Пакет.Документы Цикл
     СсылкаНаДокумент = Стр.Документ1С;
     Протоконтент	 = Стр.Content;
     ТипКонтента		 = Стр.ТипКонтента;
Клетчатый; veda38; +2 Ответить
23. veda38 16.09.22 00:24 Сейчас в теме
(22) Спасибо! Очень помогло.
24. Eos 23.09.22 14:29 Сейчас в теме
Добрый день! Есть вопрос по новому универсальному модулю Диадок. Как в подключаемом модуле обращаться к списку документов?
Не получается вызвать функцию "СписокДокументов_Документы" модуля "Ядро". Искал примеры, нигде не нашел подобного
25. Eos 23.09.22 14:32 Сейчас в теме
Еще не могу понять, почему событие "ПослеУстановкиСтатусаДокумента" в подключаемом модуле обрабатывает не все статусы. Тестировал под тестовой ЭЦП. При аннулировании проваливается в функцию, при подписании почему-то нет
26. fortran 18.10.22 08:58 Сейчас в теме
Добрый день, коллеги. Может ли кто-нибудь пояснить, каким образом вызываются функции из подключаемого модуля? Моя задача предельно проста! При загрузке документа поступления в базу 1С он должен проводится. По умолчанию он только записывает. Из документации на сайте Диадок я вычитал про функцию подключаемого модуля "ВыполнитьТребуемоеДействие", в которой уже даже в качестве примера прописано проведение загруженного документа. Но проблема в том, как вызвать эту функцию? Некоторые события подключаемого модуля вызываются, но далеко не все. Опять же в документации написано про какой-то анализ и что якобы после него вызывается "ВыполнитьТребуемоеДействие", но события анализа тоже не отрабатывает и кнопок похожих на "Анализ" я в интерфейсе обработки не нашел. Очень не хочется делать в лоб и менять код в ядре на проведение вместо записи.
27. kai068 5 05.12.22 12:29 Сейчас в теме
(26) там есть обработка события
ИначеЕсли ИмяСобытия = "ПолучитьЗаполненныйОбъектДокумента1С" Тогда

Возврат ПолучитьЗаполненныйОбъектДокумента1С(Параметры);


Функция ПолучитьЗаполненныйОбъектДокумента1С(Параметры)

Ошибки = Новый Массив;

ПроверитьФункциюДокумента(Параметры, Ошибки);
ПроверитьЗаполнитьИдентификаторОперации(Параметры, Ошибки);
ДополнительныеПараметры = Параметры.ДополнительныеПараметры;

Если ЗначениеЗаполнено(Ошибки) Тогда
Результат = РезультатФункцииОшибка(Ошибки);
Возврат Результат;
КонецЕсли;

Документ = Параметры.Документ;
ИдентификаторОперации = Параметры.ИдентификаторОперации;
ДополнительныеПараметры = Параметры.ДополнительныеПараметры;

Результат = ОсновнойМодуль.НовыйРезультатФункции();

Если Параметры.ИдентификаторОперации = "ПриходныйОрдерНаТовары" тогда

ПараметрыЗаполнения = НовыйПараметрыЗаполненияПТУ();
ЗаполнитьЗначенияСвойств(ПараметрыЗаполнения, ДополнительныеПараметры);
СоздатьДокументы(Документ, Результат, ПараметрыЗаполнения);

Иначе
Возврат Неопределено;
КонецЕсли;

Возврат Результат;

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

в Процедуре СоздатьДокумент вы создаете Документ поступления и С/фактуру, где его и проводите.
Оставьте свое сообщение

См. также

Обмен 1С с порталом госзакупок (ЕИС)

Оптовая торговля WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Обмен с ГосИС Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Государственные, бюджетные структуры Россия Бухгалтерский учет Платные (руб)

Данное расширение позволяет выгрузить универсальный передаточный документ (УПД) и счет-фактуру на портал Госзакупок (44-ФЗ). Выгрузка документов производится из 1С в XML файл для дальнейшей загрузки в ЕИС из 1С Бухгалтерия, редакция 3.0.

18000 руб.

19.08.2022    14906    64    48    

31

Интеграция с сервисом vetmanager

WEB-интеграция Платформа 1С v8.3 Бухгалтерский учет 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Данная обработка разрабатывалась для загрузки документов из Ветменеджер в 1С: Бухгалтерия 3.

6000 руб.

02.02.2021    12632    28    43    

15

Модуль для обмена "1С:Предприятие 8. УАТ. ПРОФ" с FortMonitor

WEB-интеграция 8.3.8 Конфигурации 1cv8 Автомобили, автосервисы Беларусь Украина Россия Казахстан Управленческий учет Платные (руб)

Расширение предназначено для конфигурации "1С:Предприятие 8. Управление Автотранспортом. ПРОФ". Функционал модуля: 1. Заполнение регистров сведений по подсистеме "Мониторинг", а именно: события по мониторингу, координаты по мониторингу, пробег и расход по мониторингу, текущее местоположение ТС по мониторингу 2. Заполнение путевого листа: пробег по мониторингу, время выезда/заезда, табличная часть ГСМ 3. Отчеты по данным загруженным в регистры сведений. Модуль работает без включенной константы по настройкам мониторинга. Модуль формы предоставляется с открытым кодом, общий модуль защищен.

11856 руб.

25.05.2021    9626    6    4    

6

Драйвер облачной кассы для Бизнес.РУ Чеки

ККМ WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Универсальный драйвер для фискализации чеков для сервиса Бизнес.РУ. Чеки (https://online-check.business.ru/). Работает с любой кассой, подключенной к сервису, в том числе и без физической кассы (Аренда облачной ККТ в датацентре). Принцип работы аналогичен наличию физической кассы, подключенной к рабочему месту 1С. Фискализация выполняется с любого рабочего места через интернет. Нет ограничений на количество рабочих мест, касс, компьютеров. Поддерживает печать с нескольких рабочих мест на одну кассу. Работает в любой операционной системе (Windows, Linux) и в любом клиенте (Тонкий, Толстый, Web, Мобильный клиент).

6000 руб.

03.06.2021    10697    8    0    

5

Contragent+ 9.1 для 1С 8.2/8.3

Обработка справочников Обмен с ГосИС Взаиморасчеты WEB-интеграция Платформа 1С v8.3 Платформа 1C v8.2 Конфигурации 1cv8 Платные (руб)

Универсальная обработка для экспресс-регистрации новых и обновления реквизитов существующих элементов справочников «Контрагенты» & «Организации» по данным Федеральной Налоговой Службы РФ (ЕГРЮЛ&ЕГРИП). Минимизация ручного ввода и соответствие данных 1С учредительным сведениям юр. лиц & ИП.

3600 руб.

13.12.2012    88901    173    308    

248

SALE! 10%

Автоматическая загрузка файлов (например, прайс-листов) из электронной почты, FTP, HTTP, их обработка и выгрузка на FTP (на сайт) и для других целей

Прайсы WEB-интеграция Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Автомобили, автосервисы Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Программа с заданным интервалом времени (или по ручной команде) скачивает файлы (например, прайс-листы поставщиков) из различных источников: письма электронной почты, FTP или HTTP-адреса, и сохраняет их в каталог упорядоченной структуры. При этом извлекает файлы из архивов, может переименовывать файлы и менять их формат (csv, xls, txt). Можно настроить выгрузку обработанных файлов на сайт (через FTP-подключение). Программа будет полезна компаниям, у которых есть большое количество поставщиков и/или прайс-листы поставщиков обновляются часто (необязательно прайс-листы, файлы могут быть любого назначения). Собранные таким образом актуальные версии прайс-листов можно выгрузить с помощью программы себе на сайт (или на любой FTP-сервер) или выполнить другие необходимые задачи.

10600 9540 руб.

28.05.2015    81646    25    51    

49

[Расширение] БОР-Навигатор.Культура

Зарплата Бюджетный учет WEB-интеграция Обмен с ГосИС Платформа 1С v8.3 Сложные периодические расчеты 1С:Зарплата и кадры государственного учреждения 3 Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Расширение конфигурации, включающее в себя объекты, необходимые для подготовки и сдачи отчета "Штатная численность" системы "БОР-Навигатор.Культура" в программе "1С:Зарплата и кадры государственного учреждения", редакция 3.1.

8400 руб.

01.02.2019    23032    7    0    

6

Расширение 1СПАРК риски для 1С:Документооборот 8 КОРП

WEB-интеграция Управление взаимоотношениями с клиентами (CRM) Документооборот и делопроизводство (СЭД) Взаиморасчеты Платформа 1С v8.3 1С:Документооборот Бухгалтерский учет Управленческий учет Платные (руб)

Расширение для конфигурации 1С:Документооборот 8 КОРП, позволяющее с помощью сервиса "1СПАРК риски" проверять благонадежность контрагентов непосредственно из программы 1С.

7200 руб.

23.05.2018    26994    17    7    

14

Sync1C: Синхронизация 1С и OpenCart

WEB-интеграция Оптовая торговля Розничная торговля Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Управленческий учет Платные (руб)

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

3840 руб.

30.03.2018    39781    73    133    

77

Справочник кодов ТНВЭД

Обработка справочников WEB-интеграция Операции по ВЭД Учет ТМЦ Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием Платные (руб)

Загрузка справочника ТНВЭД в базу данных 1С без изменения конфигурации. База кодов загружается с сайта www.nalog.ru или локального ресурса. После загрузки - справочник всегда под рукой! Реализован поиск по загруженной базе. Доступны примечания для групп справочника (комментарии налогового органа). Дополнительно реализовано занесение кодов ТНВЭД в справочники ИБ (например, справочник Номенклатура) как реквизита или свойства справочника. Подходит для всех стандартных конфигураций (БП 2.0, УПП 1.3, КА 1.1, УТ 10.3, Розница 1 и пр., написанных под обычные формы).

3100 руб.

29.09.2015    51856    13    4    

36

Прайс-лист с фотографиями, выгрузкой в Excel с подсчетом суммы заказа, загрузкой заказа в Управление торговлей 11 (Россия) и Управление торговлей для Беларуси 3

Прайсы Загрузка и выгрузка в Excel Оптовая торговля WEB-интеграция Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Прайс-лист для программы 1С: Управление торговлей 11 и Управление торговлей для Беларуси 3, позволяющий: 1) Формировать прайс-лист с фотографиями; 2) Сохранить прайс-лист в Excel с формулами, подсчитывающими количество и сумму заказа; 3) Передать сформированный прайс-лист по каналу ftp на сайт; 4) Сохранить прайс-лист в формате CSV; 5) Загрузить сделанный по прайс-листу заказ обратно в программу.

6000 руб.

04.09.2014    117930    41    105    

51

#KafkaЭтоПросто: Kafka Adapter 1С (Confluent) - отправляем сообщения

Инструментарий разработчика Внешние источники данных WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

Сегодня поднимем в docker kafka с confluent'om, а в 1С, в EDT загрузим проект из репозитория, создадим обработку, в которой несколькими строчками отправим сообщение в kafka через rest proxy и в confluent control center посмотрим на него. Если коротко, то: как отправить сообщение в Kafka несколькими строчками кода без компонент, регистраций и смс.

5 стартмани

24.07.2022    10270    21    huxuxuya    29    

79

Яндекс.Метрика - загрузка статистики в 1С:Предприятие 8

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Управленческий учет Платные (руб)

Хорошая основа вашего решения импорта данных статистики Яндекс.Метрики в информационную базу 1С. Получение счетчиков, запрос статистики, получение данных - все в одной обработке.

3600 руб.

21.06.2022    6414    1    0    

3

Заполнение контрагентов по ИНН для УТ 10.3

Обработка справочников WEB-интеграция Платформа 1С v8.3 1С:Управление торговлей 10 Россия Абонемент ($m)

Заполнение контрагентов по ИНН (1С: Управление торговлей 10.3).

6 стартмани

17.05.2022    7811    37    kostyan7    20    

1

Сервис push-уведомлений для 1С (Push Notification Service For 1C - PNS4OneS)

WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

02.02.2022    14342    38    ltfriend    9    

89

Интеграция 1С:БИТ.Управление медицинским центром и amoCRM

Управление взаимоотношениями с клиентами (CRM) WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Здравоохранение, медицина, стоматология Россия Управленческий учет Платные (руб)

Это законченное решение, которое позволяет в amoCRM получать данные о врачах и их свободном времени, в 1С создавать документ "Заявка", выгружать оплаты от клиента в лид. Тестировалось на конфигурации БИТ.Управление медицинским центром (2.0.46.43), платформа 1С:Предприятие 8.3 (8.3.16.1063), версия Python 3.10.1.

5400 руб.

28.01.2022    9569    1    2    

2

Обмен со СДЭК

WEB-интеграция Учет ТМЦ Платформа 1С v8.3 Конфигурации 1cv8 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Обработка позволяет производить обмен между 1С Альфа Авто 5.1 и СДЭК по протоколу API.

6000 руб.

21.12.2021    8622    1    0    

2

Интеграция с КОМТЕТ Касса Курьер

WEB-интеграция Учет ТМЦ Платформа 1С v8.3 1С:Управление торговлей 10 Платные (руб)

Внешняя обработка предназначена для интеграции конфигурации Управление торговлей 10.3 с веб-сервисом КОМТЕТ Касса Курьер. КОМТЕТ Касса Курьер это сервис с возможностью распределения заказов по курьерам, быстрой корректировке заказов в момент доставки, печати чеков по 54-ФЗ в момент расчета с покупателем.

3480 руб.

20.12.2021    7852    1    0    

1

Работа с 1С через протокол OData

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

В данной статье мы будем рассматривать работу с данными информационной базы через протокол OData (далее OData).

17.12.2021    35308    ProgrammingStore    27    

88

Подключение к HTTP-сервису с авторизацией посредством передачи клиентского SSL-сертификата

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

В статье хочу поделиться опытом настройки подключения 1С к стороннему HTTP-сервису, использующему авторизацию посредством передачи клиентского SSL-сертификата.

07.12.2021    11583    kholkin    12    

106

WEB/HTTP сервисы. Базовые отличия и применение на практике

WEB-интеграция Платформа 1С v8.3 Бесплатно (free)

Рассказываем о WEB и HTTP сервисах, их практическом применении, о шишках, которые мы набили, и о выводах, которые сделали. Спойлер: тех, кто дочитает статью до конца, ждет бонус от автора.

04.10.2021    30260    Neti    23    

114

HTTP-клиент

WEB-интеграция Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Абонемент ($m)

Подсистема 1С для работы с HTTP.

1 стартмани

28.07.2021    17090    55    SpaceOfMyHead    51    

94

Работа с картами в 1С на примере бесплатной библиотеки Leaflet

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

Разработка функционала отображения и выбора пунктов доставки на карте прямо в 1С с помощью бесплатной библиотеки Leaflet. Тестирование производилось на платформе 8.3.15.1534 на тонком клиенте.

1 стартмани

31.03.2021    26043    71    Parsec1C    20    

83

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

Внешние источники данных Обмен между базами 1C WEB-интеграция Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Бесплатно (free)

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

17.03.2021    19812    Nikola23    41    

80

Serverless (Faas) в 1С. Создание и вызов Yandex Cloud Functions

WEB-интеграция Облачные сервисы, хостинг Платформа 1С v8.3 Бесплатно (free)

"Я не могу просто взять и скопировать код с гитхаба", "у нас 1С микросервисами окружена", "возможностей мало" - частые фразы 1С разработчиков. которым не хватает возможностей платформы в современном мире. Faas, конечно, история не новая, но нас сдерживало 152ФЗ и задержки по пингам. Для того, чтобы действительно использовать в 1С код, к примеру, на Python, надо было приложить усилия. Теперь всё намного проще - берём и используем.

28.12.2020    12912    comol    32    

108

BIM: взаимодействие с платформой Autodesk Forge

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Строительство Абонемент ($m)

Предлагаемый пример демонстрирует широкие возможности для взаимодействия «1С:Предприятие» с платформой Autodesk Forge и позволяет вам получить базовые представления о применения технологий информационного моделирования в строительстве. Поддерживаются все версии платформы от 8.3.12 и выше до 8.3.18.

1 стартмани

25.11.2020    83397    16    kandr    3    

6

Поиск номенклатуры в интернете (Розница 2.3, Управление торговлей 11.4)

Розничная торговля WEB-интеграция Поиск данных Платформа 1С v8.3 Оперативный учет 1С:Розница 2 1С:Управление торговлей 11 Управленческий учет Платные (руб)

Альтернатива сервису 1С Номенклатура, не требует подписки ИТС, ищет данные в открытых источниках. Для поиска товара по штрихкоду в сети интернет, полезно для первоначального заполнения базы.

1999 руб.

15.10.2020    15927    20    55    

23

Самый простой парсинг и обработка веб-страниц в 1С

WEB-интеграция Универсальные функции Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Рассмотрим самый простой парсинг веб-страниц средствами платформы 1С и еще некоторые полезные приемы работы с веб-страницами.

07.08.2020    24990    Infostart    30    

146

Ограничение доступа к HTTP публикациям 1С сервера используя NGINX

WEB-интеграция Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В статье опишу вариант ограничения доступа к HTTP публикациям 1С сервера используя NGINX.

02.07.2020    14661    malikov_pro    14    

87