Конвертация данных 2. Использование подключаемых обработок в правилах обмена. Конвертация дерева значений

Публикация № 1250453 15.06.20

Разработка - Обмен данными 1С

КонвертацияДанных Обмен ПравилаОбмена ДопОбработки ОтборКомпоновкиДанных

Разработка правил обмена с использованием подключаемых обработок. В качестве примера рассмотрена реальная задача конвертации дерева значений.

I. Теоретическая часть

В Конвертации данных 2 (далее, КД 2) отсутствует возможность полноценного добавления в правила своих процедур и функций. Существует некоторое подобие функций — Алгоритмы, которые представляют собой сохраненные отдельно куски кода, вызываемые в нужных местах. Но алгоритмы не позволяют реализовать возможности процедурного программирования в полной мере.

Для того, чтобы вызвать свою функцию или процедуру из КД 2, можно описать её за пределами правил обмена. Например, где-нибудь в коде базы источника и/или приемника, или написать обработку с нужной функцией и вызывать её в одном из обработчиков событий. Но данный подход не всегда удобен и уместен. Обработку перемещать вместе с правилами неудобно, а в код базы вообще лучше не лезть без необходимости.

Как раз для решения этой проблемы и предназначены Подключаемые обработки. Найти их можно на вкладке Конвертация/Подключаемые обработки.

В штатной справке по КД2 о подключаемых обработках написано следующее:

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

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

Вариант 2: Подключаемая обработка поставляет форму интерфейсной настройки параметров обмена. Например, пользователю в удобном виде может быть предоставлена возможность настроить отбор выгружаемых / загружаемых данных.

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

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

ДопОбработки.<ИмяОбработки>.<ИмяЭкспортируемойПроцедурыИлиФункции()>

Аналогично производится и обращение к форме обработки (если обработка является интерфейсной)

ДопОбработки.<ИмяОбработки>.ПолучитьФорму("<ИмяФормы>")

Для того, чтобы передать параметры из КД2 в форму и обратно, необходимо заполнить таблицу параметров обработки.

К сожалению, для возврата каких-либо параметров из формы придётся открывать её только модально. Пример передачи параметров в форму и обратно:

ФормаОбработки = ДопОбработки.<ИмяОбработки>.ПолучитьФорму("<ИмяФормы>");

//передача параметров
Для Каждого Параметр Из ПараметрыДопОбработок["<ИмяОбработки>"] Цикл
	ФормаОбработки[Параметр] = Параметры[Параметр];
КонецЦикла;

РезультатОткрытияФормы = ФормаОбработки.ОткрытьМодально();

//возврат параметров
Если РезультатОткрытияФормы <> Неопределено Тогда
	
	Для Каждого Параметр Из ПараметрыДопОбработок["<ИмяОбработки>"] Цикл
		Параметры[Параметр] = ФормаОбработки[Параметр];
	КонецЦикла;
КонецЕсли;

Подключаемые обработки включаются в файл правил обмена (кодируются в base64). Если обработки используются для загрузки, то помещаются и в файл с выгруженными данными. Это может замедлить процесс обмена и увеличить файл выгрузки, если обработки имеют большой размер.

В обработке Универсальный обмен данными в формате XML (V8Exchan83) убрали возможность использования подключаемых доп. обработок. В обработке V8Exchan82 такая возможность осталась. Для того, чтобы вернуть возможность поддержки подключаемых обработок, необходимо перенести текст процедуры ЗагрузитьОбработку из V8Exchan82 в V8Exchan83.

 
 Исправленный текст процедуры ЗагрузитьОбработку()

 

Теперь завершим теоретическую часть и перейдем к практике.

II. Практическая часть

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

На рисунке представлена форма выбора характеристики для наглядности. Аналогичный функционал был реализован и в ERP. 

Непосредственно сама задача: В УПП есть регистр сведений, в котором хранятся отборы компоновки данных, помещенные в ХранилищеЗначений. Необходимо их перенести в ERP.

Логика решения задачи следующая:

1) Выполняется обход дерева отбора компоновки данных и собираются все объекты ссылочных типов;

2) Найденные объекты ссылочных типов выгружаются с помощью команды ВыгрузитьПоПравилу();

3) Сериализуется ОтборКомпоновкиДанных в XML-строку. Далее подменяются типы данных источника на типы данных приемника в строке;

4) ОтборКомпоновкиДанных помещается в параметр и выгружается в базу-приемник. В приемнике уже десериализуется.

Данный подход работает только в случае, когда поиска всех объектов ссылочных типов, входящих в отбор, происходит в базе-приемнике по внутреннему идентификатору (UUID).

Код ПВД:

Регистр = "pll_ОграниченияОтображенияСвойств";

Запрос = Новый Запрос;
Запрос.Текст = 
"ВЫБРАТЬ 
|	pll_ОграниченияОтображенияСвойств.Номенклатура КАК Источник,
|	pll_ОграниченияОтображенияСвойств.Номенклатура.ЭтоГруппа КАК ЭтоГруппа,
|	pll_ОграниченияОтображенияСвойств.Свойство,
|	pll_ОграниченияОтображенияСвойств.УникальныйИдентификатор,
|	pll_ОграниченияОтображенияСвойств.Условие
|ИЗ
|	РегистрСведений.pll_ОграниченияОтображенияСвойств КАК pll_ОграниченияОтображенияСвойств";

РезультатЗапроса = Запрос.Выполнить();

Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл
	ХранилищеУсловий = Выборка.Условие.Получить();
	ОтборКомпоновки = ХранилищеУсловий.НастройкиКомпоновкиДанных.Отбор;
	
	//проверка на заполненность отбора компоновки
	Если НЕ ОтборКомпоновки.Элементы.Количество() Тогда
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = "Пустой отбор компоновки! Выгрузка отменена. Регистр: " + Регистр + ", номенклатура: " + Выборка.Источник + 
		", свойство: " + Выборка.Свойство+", УИД строки: "+Выборка.УникальныйИдентификатор;
		Сообщение.Сообщить();
		
		Продолжить;
	КонецЕсли;	
	//Вызов доп. обработки по обходу дерева	
	РезультатОбхода = ДопОбработки.ОбходДерева.ОбойтиДерево(ОтборКомпоновки, Параметры.ВыгруженныеОбъекты);
	
	//ВыгруженныеОбъекты - массив ссылочных объектов
	Параметры.ВыгруженныеОбъекты = РезультатОбхода.ВыгруженныеОбъекты;
	ОтборКомпоновки = РезультатОбхода.ОтборКомпоновки;	
	
	//Выгружаем ссылочные объекты
	Для каждого Элемент из Параметры.ВыгруженныеОбъекты Цикл
		ВыгрузитьПоПравилу(Элемент);
	КонецЦикла;
	
	//Преобразовываем отбор компоновки в XML-строку
	ЗаписьXML = Новый ЗаписьXML; 
	ЗаписьXML.УстановитьСтроку();
	
	СериализаторXDTO.ЗаписатьXML(ЗаписьXML, ОтборКомпоновки);
	СтрокаXML = ЗаписьXML.Закрыть();
	
	//подменяем типы данных в XML-строке
	СоответствиеОбъектов = Новый Соответствие;
	СоответствиеОбъектов.Вставить("pll_ЦветПолимерногоПокрытия", "ЗначенияСвойствОбъектов");
	//...
	//...
	//СоответствиеОбъектов.Вставить("", "");
	//здесь описываются какие типы данных нужно подменить
	// где Ключ - Тип данных УПП, значение - Тип данных ERP
	
	Для каждого Элемент Из СоответствиеОбъектов Цикл
		СтрокаXML = СтрЗаменить(СтрокаXML, "d3p1:CatalogRef."+Элемент.Ключ, "d3p1:CatalogRef."+Элемент.Значение);
	КонецЦикла;
	
	ИсходящиеДанные = Новый Структура("Источник, Свойство, ЭтоГруппа, ОтборКомпоновки, УникальныйИдентификатор");
	ЗаполнитьЗначенияСвойств(ИсходящиеДанные,Выборка);	
	ИсходящиеДанные.ОтборКомпоновки = СтрокаXML;
	
	ВыгрузитьПоПравилу(,,ИсходящиеДанные,,"КВСХ_ОграниченияВводаСвойств");
КонецЦикла;

Код модуля обработки по обходу дерева при выгрузке:

Функция ОбойтиДерево(Знач ОтборКомпоновки, Знач ВыгруженныеОбъекты) Экспорт
	
	Для каждого ЭлементОтбора из ОтборКомпоновки.Элементы Цикл
		ВыгрузитьЭлементОтбора(ЭлементОтбора, ВыгруженныеОбъекты);
	КонецЦикла;
	
	РезультатФункции = Новый Структура("ОтборКомпоновки, ВыгруженныеОбъекты",ОтборКомпоновки, ВыгруженныеОбъекты);
	
	Возврат РезультатФункции;
КонецФункции

Процедура ВыгрузитьЭлементОтбора(ЭлементОтбора, ВыгруженныеОбъекты) Экспорт
	
	Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") Тогда
		
		//формируем наименования свойства из поля компоновки данных
		ИсходнаяСтрока= Строка(ЭлементОтбора.ЛевоеЗначение);
		КонечнаяСтрока =Лев(ИсходнаяСтрока,1);
		Для Индекс=2 По СтрДлина(ИсходнаяСтрока) Цикл
			Символ=Сред(ИсходнаяСтрока,Индекс,1);
			КонечнаяСтрока=КонечнаяСтрока+?(ВРег(Символ)=Символ," "+НРег(Символ),Символ);
		КонецЦикла;
		//находим элемент по наименованию	
		СсылкаНаЭлемент = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоНаименованию(КонечнаяСтрока,Истина);
		
		//добавляем свойство
		ДобавитьВМассив(СсылкаНаЭлемент, ВыгруженныеОбъекты);		
		
		//формируем новое поле компоновки данных
		ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Ссылка.["+КонечнаяСтрока+"]"); 
		
		//добавляем значения
		Если ТипЗнч(ЭлементОтбора.ПравоеЗначение) = Тип("СписокЗначений") Тогда
			Для каждого Элемент из ЭлементОтбора.ПравоеЗначение Цикл
				ДобавитьВМассив(Элемент.Значение, ВыгруженныеОбъекты)		
			КонецЦикла;
		ИначеЕсли НЕ ЗначениеЗаполнено(ЭлементОтбора.ПравоеЗначение) Тогда
			//Ничего не делаем
		Иначе
			ДобавитьВМассив(ЭлементОтбора.ПравоеЗначение, ВыгруженныеОбъекты)		
		КонецЕсли;	
		
	ИначеЕсли ТипЗнч(ЭлементОтбора) = Тип("ГруппаЭлементовОтбораКомпоновкиДанных") Тогда
		Для каждого Элемент из ЭлементОтбора.Элементы Цикл
			//рекурсивно вызываем процедуру
			ВыгрузитьЭлементОтбора(Элемент, ВыгруженныеОбъекты);
		КонецЦикла;
	КонецЕсли;
КонецПроцедуры

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

Послесловие

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

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

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

Правила обмена разрабатывались в системе Конвертация данных, редакция 2.1 (2.1.8.2) для конфигураций 1С:ERP Управление предприятием 2 (2.4.10.62) и Управление производственным предприятием, редакция 1.3 (1.3.86.3). Справочник pll_ЦветПолимерногоПокрытия и регистр сведений pll_ОграниченияОтображенияСвойств являются самостоятельно добавленными объектами и отсутствуют в типовой версии Управление производственным предприятием.

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. aximo 1772 15.06.20 07:24 Сейчас в теме
прошу привести практический пример из реальной жизни использования подключаемых обработок.
2. Drivingblind 170 15.06.20 07:30 Сейчас в теме
(1) вся вторая часть статьи - реальный пример из практики. Если он кажется недостаточно реальным, то вот ещё один вариант: открытие формы доп. обработки для сопоставления номенклатур разных баз при загрузке данных.
3. aximo 1772 15.06.20 07:36 Сейчас в теме
(2) "РезультатОбхода = ДопОбработки.ОбходДерева.ОбойтиДерево(ОтборКомпоновки, Параметры.ВыгруженныеОбъекты);" - возможно ли данную задачу решить запросом с выборкой обхода результата по группировкам (не применяя "внешние обходы"?)
4. Drivingblind 170 15.06.20 08:23 Сейчас в теме
(3) в теории, наверное, можно. Одну и ту же задачу можно решить по-разному. Как вариант, попробовать привести дерево значений к таблице значений и обойти ТЗ с помощью запроса. На практике, мне кажется, проще и быстрее будет обойти дерево рекурсивно с помощью доп. обработки. Но я могу ошибаться.

Тем более, на примере выше ТЗ пришлось бы ещё и преобразовывать обратно в Отбор СКД.
5. Yashazz 4069 15.06.20 09:01 Сейчас в теме
Грамотно, дельно, полезно. Спасибо, плюсую!
Drivingblind; +1 Ответить
6. Drivingblind 170 15.06.20 12:15 Сейчас в теме
7. xioxao 30.07.20 16:58 Сейчас в теме
Плюсанул не глядя, инфа уникальная. Спасибо автору.
Drivingblind; +1 Ответить
8. Drivingblind 170 31.07.20 12:15 Сейчас в теме
9. Dorosh 160 14.07.21 19:00 Сейчас в теме
Спасибо, познавательно.
Оставьте свое сообщение

См. также

Копирование числовых ячеек из 1С в Excel Промо

Загрузка и выгрузка в Excel Администрирование данных 1С v8 1cv8.cf Бесплатно (free)

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

15.01.2019    34213    itriot11    27    

Работа с WEB-сервисами под HTTPS на примере прямого обмена между базами (1С – 1С) 

Обмен данными 1С WEB v8 Россия Бесплатно (free)

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

03.09.2021    5250    UltraUnion2005    8    

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

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

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

16.07.2021    5810    zhichkin    32    

Особенности online-обмена между старыми и новыми типовыми

Перенос данных из 1C8 в 1C8 БСП (Библиотека стандартных подсистем) v8 8.3.14 8.3.6 8.3.8 КА1 КД ДО Бесплатно (free)

Столкнулся с неприятной особенностью потери части данных при обмене УСО (УПП) - ДО.

01.06.2021    2825    echo77    7    

Excel vs 1С: битва с неожиданным исходом Промо

Анализ учета Универсальные обработки Загрузка и выгрузка в Excel Финансовые Управленческие v8 1cv8.cf Россия Бесплатно (free)

Что лучше 1С или Excel? Разберемся, в казалось бы, очевидном, чтобы получить невероятное!

11.04.2019    41145    bolefirenko    122    

Добавление нового документа в формат обмена EnterpriseData (отправка)

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Для меня встала задача добавить новый документ, созданный в расширении, в формат обмена EnterpriseData, между БП - УНФ. Изначальный поиск решения не дал результата. Методом проб и ошибок у меня сформировалось свое решение, которым спешу поделиться, чтобы систематизировать информацию в текст и услышать плюсы, минусы подхода. Все доработки осуществляются в расширении, в котором и был создан новый документ.

21.04.2021    2382    con-men    6    

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

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

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

17.03.2021    11440    Nikola23    39    

R.I.P. РИБ

Обмен через XML Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Бесплатно (free)

РИБ, спасибо и до свидания.

19.02.2021    8434    1c-intelligence    132    

Как прикрутить ГУИД к регистру сведений Промо

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

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

16.04.2019    22979    m-rv    18    

Перенос данных из ЗУП 2.5 в ЗУП 3.1

Зарплата Перенос данных из 1C8 в 1C8 v8 v8::СПР ЗУП2.5 ЗУП3.x Россия БУ Бесплатно (free)

Довольно часто сталкиваюсь с тем, что у коллег возникает вопрос, как правильно выполнить перенос данных из ЗУП 2.5 в ЗУП 3.1. (Неужели еще кто-то до сих пор работает в ЗУП 2.5? Да, и очень много людей)

25.01.2021    7956    VAAngelov    70    

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

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

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

10.11.2020    7129    maks_20    26    

Простой пример разработки регулярного обмена с использованием БСП на примере ERP 2.4 и УПП 1.3

БСП (Библиотека стандартных подсистем) Перенос данных из 1C8 в 1C8 v8 1cv8.cf УПП1 КД ERP2 Россия Бесплатно (free)

Данный вариант подойдет тем, кто хочет настроить "свой" регулярный обмен с добавлением "своих" планов обмена с использованием правил обмена на КД 2.1.

27.10.2020    6797    байт    20    

Из Excel в 1С запросом Промо

Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

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

14.08.2018    21642    m-rv    5    

Лайфхаки конвертации данных 2.1 (часть 2)

Обмен данными 1С v8 1cv8.cf Бесплатно (free)

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

14.09.2020    10593    Alexsandr_Retunskiy    12    

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

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

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

19.08.2020    4394    Yashazz    14    

Конвертация данных 2.1. Методика переноса остатков

Перенос данных из 1C8 в 1C8 v8 1cv8.cf УУ Бесплатно (free)

В данной статье я приведу пример использования базовой методики конвертации данных для переноса остатков из одной информационной базы в другую.

12.06.2020    13762    aximo    21    

Регулярные выражения без внешних компонент? Легко! Промо

Практика программирования Обмен через XML v8 Бесплатно (free)

Сложный способ организовать проверку строки с помощью регулярного выражения в 1С. При этом ни одна внешняя компонента не пострадала. Ну и от платформы (Linux, MustDie) - не зависит.

04.03.2016    69733    starik-2005    108    

Лайфхаки конвертации данных 2.1

Обмен данными 1С v8 КД Россия Бесплатно (free)

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

07.06.2020    15235    Alexsandr_Retunskiy    13    

Как мы РИБ на веб-сервисы переводили

Распределенная БД (УРИБ, УРБД) v8 1cv8.cf Россия Бесплатно (free)

Решение проблем обмена РИБ с 10+ баз с помощью веб-сервисов и базы обмена.

13.05.2020    5168    RSConsulting    22    

Механизм XDTO

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Попытка понять механизм XDTO и его неочевидные аспекты. Научиться выполнять обмены между различными конфигурациями без оглядки на реализацию в типовых.

12.05.2020    6841    totchaz    4    

Повышаем эффективность разработки правил обмена Промо

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

Как повысить скорость и качество разработки правил обмена? Как вести групповую разработку правил обмена? Как облегчить сопровождение правил обмена после передачи в эксплуатацию? Об этом и многом другом вы можете узнать из этой статьи.

25.06.2018    29981    olegtymko    48    

5 ситуаций, когда в экосистеме 1C нужны веб-сервисы

Обмен данными 1С v8 Бесплатно (free)

В 1С существует немало возможностей для обмена данными, включая файловый обмен и COM Connector. В этой статье я расскажу, когда при интеграции 1С не обойтись без веб-сервисов, а также в чем плюсы использования SOAP или, наоборот, HTTP. Кроме этого речь пойдет про рабочие инструменты и примеры использования веб-сервисов. Веб-сервисы — достаточно простая штука. Существует множество инструкций по их созданию, так что запустить свой сервис может почти каждый. Сложности возникают тогда, когда веб-сервисы начинают куда-то встраивать, например, в системы 1С.

24.03.2020    8871    Neti    4    

Механизмы проведения документов при обмене по универсальному формату

Перенос данных из 1C8 в 1C8 БСП (Библиотека стандартных подсистем) v8 Бесплатно (free)

Как проводятся документы при обмене по универсальному формату. Пример доработки типовых правил обмена с переносом состояния документа: проведен/не поведен/пометка удаления.

04.03.2020    6401    partizand    6    

Универсальный обмен между идентичными конфигурациями через REST интерфейс OData. Часть І: Справочники Промо

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

Сейчас все чаще интеграции различных конфигураций проектируются через HTTP-сервисы - они и работают быстрее, и "войти" в режим отладки гораздо проще, тем самым обойдя "черный ящик" универсального обмена через xml, например. Более года назад я начал работать в компании, в которой разработчики работали с конфигурациями 1С в режиме совместимости еще 8.2.16 (менять режим совместимости в типичных базах мы не хотели) - а как Вы наверное знаете, если интересовались HTTP-сервисами в 1С, их использование в режиме совместимости 8.3.4 и ниже недопустимо - и здесь я уже не надеялся на разработку и использование HTTP-сервисов. Но позже меня заинтересовал такой "сервис" как REST интерфейс OData, так как его можно использовать не меняя режим совместимости конфигурации - именно он и стал для меня идеальным вариантом решения "нетривиальных" задач.

11.05.2018    24895    V.Stavinsky    11    

Односторонний обмен ЗУП и БП

Перенос данных из 1C8 в 1C8 v8 БП3.0 ЗУП3.x Россия Бесплатно (free)

Односторонний обмен из ЗУП в БУХ

29.02.2020    9328    VAAngelov    36    

[БСП] Обмен через Конвертацию данных 2.1

Обмен через XML v8 1cv8.cf Бесплатно (free)

Добавим новый план обмена и настроим в БСП типовой обмен через правила конвертации данных (КД 2.1)

03.02.2020    11515    John_d    17    

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

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

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

24.01.2020    6693    e-9    8    

Взаимодействие между базами 1С через COM Промо

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассмотрено много особенностей взаимодействия между базами 1С по COM технологии

10.08.2015    172368    tormozit    70    

Обмен через Конвертацию данных 2.1 во внешней обработке + Запуск внешней обработки по расписанию (БСП)

Обмен через XML v8 1cv8.cf Бесплатно (free)

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

22.01.2020    7398    John_d    32    

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

Обмен данными 1С Обмен через XML v8 1cv8.cf Бесплатно (free)

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

31.12.2019    9531    ids79    17    

Заметки по Конвертации данных 3.0

Обмен данными 1С v8 1cv8.cf Бесплатно (free)

Написал небольшие заметки по конвертации данных 3.0.

18.11.2019    20934    John_d    18    

Использование инструментов разработчика для отладки обменов КД 2.0 Промо

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Пара трюков, благодаря которым жить становится намного проще...

05.05.2017    28635    unichkin    6    

Обсудим планы обмена. Способы регистрации объектов к обмену

Обмен данными 1С v8 1cv8.cf Бесплатно (free)

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

16.11.2019    43184    aximo    44    

И снова "Конфигурация узла распределенной ИБ не соответствует ожидаемой"

Распределенная БД (УРИБ, УРБД) Обмен данными 1С v8 Бесплатно (free)

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

05.11.2019    7009    Kobra_RU    11    

Использование XML-схемы из макета внешней обработки

Обмен через XML Универсальные функции v8 1cv8.cf Бесплатно (free)

Простой способ использования XML-схем из макета внешней обработки.

28.10.2019    12846    Olesia_Matusevich    10    

РИБ 200 узлов. Середина пути Промо

Распределенная БД (УРИБ, УРБД) v8 Розница Россия Бесплатно (free)

Между настройкой и поддержкой РИБ на 2 узла и на 10 большой разницы нет, а вот когда число удаленных точек переваливает за сотню, приходится решать уже совсем другие вопросы

25.10.2016    41147    comol    215    

Преобразование XML в таблицу значений или иной объект 1С методом XSL преобразования

Универсальные функции Обмен через XML v8 1cv8.cf Бесплатно (free)

Сразу открою интригу, напрямую прочитать XML, не содержащий объект 1С, не удастся. Статья раскрывает способы привести XML к формату, который возможно прочитать средствами платформы.

24.10.2019    14720    kraspila    32    

Обертка функций Excel на русском. Ускорение процесса разработки.

Загрузка и выгрузка в Excel Универсальные функции v8 Бесплатно (free)

Устали переключаться с русского на английский и обратно при работе с таблицами Excel из 1С? Сборка наиболее необходимых функций и методов работы с Excel, обернутых в функции 1С на русском языке.

24.10.2019    7954    DmitryKotov    6    

EnterpriseData: простой способ защиты данных в базе получателя при одностороннем обмене

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Очень часто бухгалтеры ругаются, когда уже отраженные документы в бухгалтерском учета меняются сотрудниками.

04.10.2019    7977    handscenter    12    

Приемы обработки больших данных в 1С Промо

Универсальные обработки Математика и алгоритмы Перенос данных из 1C8 в 1C8 v8 1cv8.cf Бесплатно (free)

Рассказ об эффективных приемах организации обработок больших объемов данных на платформе 1С

07.08.2015    70827    tormozit    29    

Практика XDTO. Нюансы

Практика программирования Обмен через XML v8 Бесплатно (free)

Некоторые практические моменты работы с XDTO. Дополнения к очевидному.

23.09.2019    17841    Yashazz    31    

Конвертация Данных. Нюансы использования конструкции "НеЗамещатьОбъект = Истина" в обработчике события "ПриЗагрузке"

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

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

10.09.2019    12525    ivanek    24    

Обмен данными через Web Сервисы

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Ознакомительная статья о том, как загружать\выгружать данные с одной базы в другую, используя Web Сервисы.

02.09.2019    39508    user5300    44    

Загрузка из EXCEL в 1С на платформе 8.3.6/8.3.7/8.3.8/8.3.9/8.3.10 (с картинками) Промо

Практика программирования Загрузка и выгрузка в Excel v8 1cv8.cf Бесплатно (free)

Импорт содержимого из файлов в форматах XLS (Microsoft Excel 97), Microsoft Office OpenXML (Microsoft Excel 2007- 2010) и ODS (OpenDocument) в таблицу значений.

06.04.2015    266047    StepByStep    76    

Выгрузка и загрузка документов с движениями

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

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

02.09.2019    10920    human_new    13    

EnterpriseData – часть 3. Загрузка данных, идентификация объектов

Практика программирования Математика и алгоритмы Перенос данных из 1C8 в 1C8 Разработка v8 v8::УФ 1cv8.cf Бесплатно (free)

Основные этапы загрузки данных через EnterpriseData. Идентификация объектов загружаемых полностью и по ссылке. Приведены схемы процессов загрузки данных. Описание основных операций и обработчиков. Перечень процедур БСП, используемых при загрузке данных, структура «КомпонентыОбмена».

22.08.2019    18349    ids79    8    

Перенос дополнительных реквизитов в Конвертации данных 2.0

Перенос данных из 1C8 в 1C8 v8 КД Россия УУ Бесплатно (free)

Пример написания правил обмена (КД 2.0) для переноса дополнительных реквизитов справочника "Номенклатура", в том числе перенос ПВХ с разными типами значений.

13.08.2019    15771    vikulinamari    8    

Загрузка из EXCEL в 1С. Чтение файла XLSX средствами 1С. ПостроительDOM Промо

Универсальные обработки Загрузка и выгрузка в Excel Обмен через XML v8 1cv8.cf Бесплатно (free)

ПРАКТИЧЕСКОЕ ПОСОБИЕ РАЗРАБОТЧИКА: Метод "NativeXLSX" (ПостроительDOM). Обрабатываются данные EXCEL типов: "Строка", "Число", "Дата" ("Время"), "Булево", "Процент", а также изображения.

11.09.2014    78804    StepByStep    27    

Конвертация 3.0. Пример доработки: два справочника в один

Обмен через XML v8 КД ERP2 БП3.0 Россия Бесплатно (free)

Доработка правил конвертации путем расширения конфигурации: номенклатура и характеристика (ERP) в номенклатуру (БП).

15.05.2019    8194    forusing    4    

Полезные приемы при работе с Конвертацией данных 2.1. Логирование, интерактивное управление, дозаполнение и постпроведение документов

Перенос данных из 1C8 в 1C8 v8 КД Бесплатно (free)

Некоторые полезные приемы для КД 2.1, которые могут пригодиться как при доработке типовых правил, так и самописных.

22.04.2019    11488    maks_20    9    

Работа с ComОбъектом 1С 8.2; 8.3

Перенос данных из 1C8 в 1C8 v8 1cv8.cf Россия Бесплатно (free)

Определение типов и значений через COM соединение между конфигурациями.

15.04.2019    29958    vik070777    12