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

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

Разработка - Системная интеграция - Внешние источники данных

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

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

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

 

 

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

 

 

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

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

 

 

тип контента 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 97 22.06.20 12:38 Сейчас в теме
Их обработка неудобна для отладки (пользуемся PRO версией, а все доп объекты интегрированы в базу), т.к. постоянно вызывается разные методы из макетов, каждый из которых представляет собой внешнюю обработку. Да и вклиниваться на уровне сбора данных мне тоже не хотелось, уж больно длинную цепочку потом прослеживать.

Тогда я просто вклинился в эту процедуру в модуле объекта обработки:
ЭДО_ДокументМенеджер_ПодготовитьИДобавитьДокументВПакет
и уже там напрямую добавлю/заполняю те поля, которых мне не хватает для отправки УПД.
А выклинился в нее т.к. это уже конечный результат сборки документа непосредственно перед самой отправкой.
2. Максим-777 35 20.10.20 13:00 Сейчас в теме
Кстати, если поставить в настройках обработки флаг откладки (Шестеренка - Настройки - Сервисные функции - Режим отладки), то обработка перед получением модулей из макетов будет искать их в директории libs, рядом с файлом обработки диадок про. В эту папку нужно будет посохранять модули из макетов в одноименные файлы. После этого можно будет проваливаться в эти модули в режиме отладки.
3. John_d 3520 20.10.20 14:44 Сейчас в теме
(2) Может напишете статью об этом? скиньте потом ссылку сюда
4. Максим-777 35 20.10.20 15:51 Сейчас в теме
Конечно, на днях набросаю инструкцию в картинках. Сейчас как раз интегрируемся, сам долго не мог понять как они там у себя отлаживают, пока не наткнулся в модулях на эту особенность))
(3)
7. Максим-777 35 30.10.20 15:54 Сейчас в теме
8. John_d 3520 30.10.20 16:21 Сейчас в теме
(7) я первый звездочку поставил)
5. ovasiliev 20 30.10.20 14:55 Сейчас в теме
Как-то дошёл в их модуле до момента, где они подтягивают свои xml-схемы, и бросил это дело, так как не было уверенности, что на своём сервере они не принимают файлы по своим же форматам, и что изменённый xml пройдёт.
Нет с этим проблем?
6. John_d 3520 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=МассивКодовМаркировкиПосл­е;
				КонецЕсли;	
			КонецЦикла;
Показать
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
Оставьте свое сообщение

См. также

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

Интеграция v8 1cv8.cf Бесплатно (free)

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

03.09.2019    14829    m-rv    2    

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

Интеграция v8 Бесплатно (free)

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

30.07.2021    1559    SergeyN    1    

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

Поиск данных Интеграция Управленческие v8 Бесплатно (free)

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

23.07.2021    1693    pallid    8    

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

Практика программирования Перенос данных из 1С7.7 в 1C8.X Внешние источники данных WEB v8 Россия Бесплатно (free)

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

11.04.2013    42951    YPermitin    41    

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

Интеграция Перенос данных из 1C8 в 1C8 v8 Бесплатно (free)

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

16.07.2021    5795    zhichkin    32    

Пример организации HTTP сервиса на 1С: Документооборот. Источник 1С: ЕРП => Приемник 1С: Документооборот

Интеграция Документооборот и делопроизводство v8 ДО Бесплатно (free)

Статья - пример для разработчика, как можно, не используя подсистему Интеграция с Документооборотом, управлять процессами, а именно на нашем примере прерывать выполнение процессов в 1С: Документооборот. Используя данный пример, можно организовать http-сервис в любой конфигурации 1С, которая поддерживает механизм HTTP сервисов.

13.05.2021    2413    Flover    0    

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

Интеграция v8 Бесплатно (free)

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

30.04.2021    3540    ripreal1    13    

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

Внешние источники данных v7.7 v8 БП2.0 ЗУП2.5 ЗКБУ БГУ 1С7:Бух 1С7:ЗиК 1С7:ББУ Россия БУ Госбюджет Бесплатно (free)

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

05.11.2012    53691    sklowsky    16    

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

Внешние источники данных v8 Бесплатно (free)

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

19.04.2021    1866    Shmell    4    

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

Внешние источники данных v8::БУ 8.3.14 БП3.0 Россия БУ Бесплатно (free)

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

18.03.2021    464    maria_vl    1    

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

Внешние источники данных Обмен через XML Перенос данных из 1C8 в 1C8 Распределенная БД (УРИБ, УРБД) WEB v8 Бесплатно (free)

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

17.03.2021    11418    Nikola23    39    

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

Внешние источники данных Универсальные функции Печатные формы документов v8 1cv8.cf Бесплатно (free)

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

24.05.2012    34688    shakmaev    47    

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

Управление бизнес-процессами (BPM) Интеграция v8 УУ Бесплатно (free)

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

15.02.2021    1046    YuriYuriev    0    

Архитектурное решение интеграции баз 1С с использованием брокера сообщений Rabbit MQ

Интеграция v8 1cv8.cf Бесплатно (free)

При решении задач интеграции баз данных можно использовать различные средства «транспорта» сообщений. Одним из таких механизмов является брокер сообщений «Rabbit MQ». Такие механизмы очередей сообщений удобно использовать для организации обмена между информационными системами с различной структурой данных, когда велик объем передаваемой информации и требуются гарантии успешной доставки сообщений, а также когда поддержание работоспособности иных способов передачи, например через файлы, становиться слишком трудоемким. Брокер сообщений Rabbit MQ широко описан в сети, но 1С пока не имеет штатных механизмов работы с ним, поэтому их приходится дорабатывать. Рассмотрим пример архитектуры 1С с его использованием.

12.02.2021    1660    Koder_Line    6    

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

Внешние источники данных v8 Бесплатно (free)

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

11.01.2021    3843    zhichkin    14    

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

WEB Интеграция v8 v8::УФ 1cv8.cf Бесплатно (free)

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

28.12.2020    3732    SizovE    25    

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

Практика программирования WEB Интеграция Универсальные функции v8 Бесплатно (free)

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

17.11.2020    2148    SizovE    2    

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

Интеграция Перенос данных из 1C8 в 1C8 Документооборот и делопроизводство v8 ДО КА2 Бесплатно (free)

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

10.11.2020    7114    maks_20    26    

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

Интеграция Практика программирования v8 1cv8.cf Бесплатно (free)

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

17.10.2020    1001    malikov_pro    3    

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

Внешние источники данных v8 УНФ Бесплатно (free)

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

12.10.2020    1109    malikov_pro    0    

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

Интеграция v8 1cv8.cf Здравоохранение, медицина, стоматология УУ Бесплатно (free)

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

01.10.2020    3005    impextr    32    

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

Интеграция Журнал регистрации v8 1cv8.cf Бесплатно (free)

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

14.09.2020    2114    dmitry-irk38    4    

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

Обмен данными 1С Интеграция Agile (XP, SCRUM, Канбан) v8 Бесплатно (free)

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

19.08.2020    4384    Yashazz    14    

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

Розничная торговля Внешние источники данных v8 БП3.0 Розничная и сетевая торговля (FMCG) Фармацевтика, аптеки Россия Бесплатно (free)

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

04.08.2020    1778    RPGrigorev    0    

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

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

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

06.07.2020    4170    Infector    4    

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

Интеграция Системное администрирование v8 1cv8.cf Россия Бесплатно (free)

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

30.06.2020    2550    malikov_pro    7    

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

Внешние источники данных WEB v8 1cv8.cf Россия Бесплатно (free)

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

27.06.2020    2250    malikov_pro    0    

Как мы запилили в АЙТАТ.РФ обработку-бота, чтобы ускорить отгрузку в 2 раза или Реальный опыт внедрения нового механизма "Трансляция событий" от 1С-Коннект

Интеграция v8 Бесплатно (free)

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

24.06.2020    2232    direwest    4    

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

Интеграция Розничная торговля v8 1cv8.cf Фармацевтика, аптеки Россия УУ Бесплатно (free)

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

23.06.2020    9726    IssakN    38    

1C# – 1С моей мечты

Интеграция v8 Бесплатно (free)

Встроенных в платформу 1С возможностей не всегда хватает для построения сложных интеграционных схем между различными 1С и не-1С-решениями на базе MS SQL Server. Как сделать интеграцию между SQL-базами более гибкой с помощью платформы 1С# на конференции Infostart Event 2019 Inception рассказал Дмитрий Жичкин.

01.06.2020    13056    zhichkin    36    

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

Практика программирования Интеграция v8::blocking Бесплатно (free)

Обработчик "Сразу после завершения транзакции" очень востребован в механизме обмена мгновенными сообщениями, развитием которого фирма 1С заинтересовались настолько, что уже создала "Сервисы интеграции". Но платформа 8.3.17 всё еще не имеет полноценного обработчика "После записи" в подписках на события.

31.05.2020    3854    barelpro    63    

Интеграция Camunda BPM и 1С

WEB Интеграция v8 Бесплатно (free)

Быстрый старт. Только практические примеры. Установка, запуск и публикация бизнес-процесса на сервере Camunda BPM. Управление бизнес-процессами из 1С при помощи Camunda REST API.

12.05.2020    6285    zhichkin    31    

Как мы загружаем данные в "Центр управления кассами Магнита"

Внешние источники данных Интеграция v8 1cv8.cf Бесплатно (free)

Статья о том, как мы делали механизм загрузки больших объемов данных в "Центр управления кассами Магнита"

08.05.2020    5759    chernenko_vv    26    

Интеграция СуперОкна7 и УНФ

Интеграция Внешние источники данных v8 УНФ Россия Бесплатно (free)

Изучаем базу данных СуперОкна7, смотрим возможности передачи и получения информации.

08.05.2020    3108    vostok1.dz    3    

Синхронизация БИТ:СКУД 8 с Parsec.Net 2.5

Интеграция Внешние источники данных v8 1cv8.cf Бесплатно (free)

Настройка синхронизации БИТ:СКУД 8 с Parsec.Net.2.5, выгрузка данных из внешней системы контроля доступа.

04.05.2020    4838    RPGrigorev    0    

Измерительная лаборатория с использованием 1С+Ардуино

Периферийные устройства Интеграция v8 Россия Бесплатно (free)

1С в автоматизации "научных" и около... экспериментов.

02.05.2020    5098    maxlab    16    

Интеграция БИТ:СКУД с типовой конфигурацией

Интеграция v8 1cv8.cf Россия Бесплатно (free)

Интеграция БИТ:СКУД с типовой конфигурацией, обновление БИТ:СКУД в составе конфигурации и отдельно. Обновление системы защиты.

26.04.2020    6181    RPGrigorev    0    

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView

Интеграция v8 1cv8.cf Россия Бесплатно (free)

Интеграция 1С и BI-системы: мой опыт с коннектором ATK BIView.

06.04.2020    5876    Flyerink    2    

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

Производительность и оптимизация (HighLoad) WEB Интеграция Мобильная разработка Администрирование веб-серверов v8 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    15721    informa1555    35    

Использование таблиц SQL Server в качестве очередей сообщений

Практика программирования Интеграция v8 Бесплатно (free)

Статья о событийно-ориентированной интеграции и об асинхронной обработке данных в контексте 1C под управлением SQL Server. Подробно разбирается вопрос использования таблиц СУБД в качестве очередей сообщений.

23.03.2020    4273    zhichkin    9    

Интеграция "Библиотеки интеграции МДЛП 1.1.2.7" с типовой конфигурацией

Интеграция Конфигурирование 1С v8 Здравоохранение, медицина, стоматология Россия Бесплатно (free)

Инструкция для интеграции “Библиотеки интеграции МДЛП 1.1.2.7” в типовые конфигурации, на примере конфигурации “Управление нашей фирмой, редакция 1.6 (1.6.18.168)”.

02.03.2020    9066    RPGrigorev    3    

Бесшовная интеграция через обмен по правилам - миссия выполнима

Практика программирования Интеграция Перенос данных из 1C8 в 1C8 v8 ДО ERP2 Бесплатно (free)

При организации работы с договорами в ERP 2, с помощью бесшовной интеграции с Документооборотом, «типовой» методикой является создание договоров в ЕРП. После создания договора в ЕРП, пользователь «отправляет» договор в ДО по бесшовной интеграции. На практике, весьма часто пользователи хотят видеть обратную схему: вводить договоры в ДО и при этом получать их в ЕРП без «лишних телодвижений». Или даже вводить их независимо в обеих системах – так, чтобы потом «стыковать» по каким-то определенным правилам.

24.01.2020    6689    e-9    8    

Получение данных из Сигур

Внешние источники данных v8 1cv8.cf Бесплатно (free)

Получение данных из СКУД Сигур (без танцов с бубном)

25.12.2019    6415    skaoxy    10