Обработка для адаптивного переноса данных между базами через XML

20.06.22

Интеграция - Файловый обмен (TXT, XML, DBF), FTP

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

Скачать исходный код

Наименование Файл Версия Размер
Обработка для адаптивного переноса данных между базами через XML:
.epf 37,90Kb
5
.epf 37,90Kb 5 Скачать

Дано, 1С-база источник, доступная по COM-соединению, в идеале, имеющая общий файловый ресурс.

Файловый ресурс, который нужен исключительно для того, чтобы можно было положить ".xml" файл с результатами выборки, чтобы всякий раз (при отладке настройки соответствия данных) не дергать COM-соединение на стороне источника.

Суть предлагаемого подхода в следующем:

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

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

&НаКлиенте
Процедура Тест_Источника(Команда)
	
	ОбработатьТаблицу("Валюты", "ВЫБРАТЬ ПЕРВЫЕ 1 т.Ссылка КАК Ссылка из СПРАВОЧНИК.Валюты КАК т");
КонецПроцедуры

&НаСервере
Процедура ОбработатьТаблицу(имяТабл, текстЗапроса)
	тз = Ист_xml_ПолучитьТаблицу(имяТабл, текстЗапроса); // таблица значений со структурами данных объектов источника.
	для каждого стр из тз цикл
	   // если тип совпадает, то стр._MetName, иначе нужное имя. 
       хВладелец = Неопределено;
       хЭл = СоздатьЭлСправочника(стр._MetName, стр, 1, Ложь, хВладелец );
    КонецЦикла	
КонецПроцедуры	

&НаСервере
Функция Ист_xml_ПолучитьТаблицу(имяТабл, текстЗапроса)
	ПараметрыВызова = Новый Структура("Действие, ПараметрыКоманды", "COM_Вызов" , Новый Структура());
	
	ПараметрыВызова.ПараметрыКоманды.Вставить("СтрокаПодлючения", "Srvr=""CLS-1C-8-1:2541"" ; Ref=""41165_578_74408""; usr= ""web"" ; pwd= ""12345"" ");		
	
	ПараметрыВызова.ПараметрыКоманды.Вставить("ИмяТабл", имяТабл);	
	ПараметрыВызова.ПараметрыКоманды.Вставить("текстЗапроса",текстЗапроса); 
	ПараметрыВызова.ПараметрыКоманды.Вставить("XML", Неопределено);
	
	хРез = ВызовОбщ(ПараметрыВызова);
	
	если НЕ хРез.Свойство("XML") или хРез.XML = "" Тогда
	    ВызватьИсключение хРез.текстОшибка;
	Конецесли;
			
	возврат СериализаторXDTO.XMLЗначение(Тип("ХранилищеЗначения"), хРез.XML ).Получить();		
КонецФункции

///  Функция создания элемента справочника
Функция СобздатьЭлСправочника(НаимМет, хД, УровеньРекрс, СохрУИД, Владелец)  
		ъЭл = Справочники[НаимМет].СоздатьЭлемент();   // тип совпадает ??												
		ЗаполнитьЗначенияСвойств(ъЭл, хД);        
		если СохрУИД Тогда
			ъЭл.УстановитьСсылкуНового(Справочники[НаимМет].ПолучитьСсылку(хД._UID));
		Конецесли;		
		ъЭл.Владелец = Владелец;
		Парам = Новый Структура();
		хРез3 = ЗаполнитьПоИерархии(ъЭл, хД, УровеньРекрс+1, Парам);
		
        возврат ъЭл.Ссылка;
КонецФункции	

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

Здесь мdT это массив замеров времени на выполнение самой функции и времени записи данных в файл, т.к при больших объемах это может занимать несколько минут (при десятке тысяч документов + их вложенные по иерархии объекты, файл занимает сотни мегабайт). После преобразования XML в Таблицу значений, при таком вызове получаем таблицу значений, содержащую 1 строку, в которой объект, это структура данных элемента справочника Валюты базы источника.

Все вложенные объекты так же раскрываются в виде структур.

результат, получаемый при обращению к справочнику Валюты, строка табл. значений

для запроса ДоговорКонтрагента это выглядит так

получаемая таблица значений для спр. ДоговорКонтрагента

В данном примере тип Перечисление передан в виде структуры, с текстовым представлением его значений.

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

		ТипЗначения = ТипЗнч( ъОб[Реквизит.Имя]);	
		ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);
		ИмяТипаМетдТекРеквизита = "";
		если ОбъектМетаданных <> Неопределено Тогда
			ИмяТипаМетдТекРеквизита = ОбъектМетаданных.Имя;
		Конецесли;	
		
		если хД.Свойство(Реквизит.Имя) Тогда				 				
			если ТипЗначения = Тип("Число") или 
				 ТипЗначения = Тип("Строка") или 
				 ТипЗначения = Тип("Дата") или 
				 ТипЗначения = Тип("УникальныйИдентификатор") или 
				 ТипЗначения = Тип("Булево") или 
				 ТипЗначения = Тип("Null") или 
				 ТипЗначения = Тип("неопределено") тогда
					 ъОб[Реквизит.Имя] = хД[Реквизит.Имя];		
					 продолжить;
			иначеесли Строка(ТипЗначения) = "Хранилище значения" Тогда
				 продолжить;
			Конецесли;	
			 
			если Реквизит.Имя = "Владелец" Тогда
				ъОб.Владелец = Справочники[хД.Владелец._MetName].ПолучитьСсылку(хД.Владелец._UID);
			Конецесли;		
			если Реквизит.Имя = "Родитель" Тогда
				ъОб.Родитель = Справочники[хД.Родитель._MetName].ПолучитьСсылку(хД.Родитель._UID);
			Конецесли;		
				

 

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

так же функция передачи объекта в структуры обрабатывает не все виды метаданных., если они Вам встретятся, то придется доделать эту часть руками (по аналогии с тем что уже есть по другим веткам)

				ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);					
				Если Метаданные.Справочники.Содержит(ОбъектМетаданных) или
				     Метаданные.Документы.Содержит(ОбъектМетаданных) Тогда
					 если ЗначениеЗаполнено(ъОб[Реквизит.Имя]) Тогда      
						 если 0 <> Найти(ИмяРеквизита,  "/" + Реквизит.Имя ) Тогда // закрутка!
							если Неопределено <> щХэш[ъОб[Реквизит.Имя].Ссылка.УникальныйИдентификатор()] Тогда
								Результат.Вставить(Реквизит.Имя, щХэш[ъОб.Ссылка.УникальныйИдентификатор()] );								
							иначе	
								Результат.Вставить(Реквизит.Имя, null );
							КонецЕсли;
						иначе	
							Результат.Вставить(Реквизит.Имя, РеквизитыОбъектаВСтруктуруEx(ъОб[Реквизит.Имя], левел+1, ИмяРеквизита + "/" + Реквизит.Имя, щХэш ) );							
						КонецЕсли;	
					 иначе	
						Результат.Вставить(Реквизит.Имя,  Неопределено);
					Конецесли;		
				иначеесли Строка(ОбъектМетаданных) = "План счетов бухгалтерского учета" Тогда	
					
				иначеесли Строка(ОбъектМетаданных) = "Дополнительные реквизиты и сведения" Тогда	
					
				иначе
					Результат.Вставить(Реквизит.Имя, Строка(ъОб[Реквизит.Имя]));
				Конецесли;	
			

 

При создании элементов на стороне приемника

 

Важно определить методику поиска соответствующего парного объекта в базе Источнике, особенно, если меняется тип, например, док. типа. АктВыполненныхРабот в ЕРП кладется в УХ в док. типа РеализацияТоваровУслуг., вопрос, будет ли переноситься номер из ЕРП в УХ, или он там будет со своим номером ? В некоторых случаях во все документы в приемнике я добавлял временный реквизит EX_UID, в который сохранялся уид базы источника., теем самым позволяя жестко связать документы между собой для заполнения остальных реквизитов.

xОб = Документы[ИмяТипа].НайтиПоРеквизиту("EX_Uid", Новый УникальныйИдентификатор(хД.UID));  
//xОб = ПолучитьСсылку(Новый УникальныйИдентификатор(хД.UID));
ъОб = xОб.ПолучитьОбъект();                       
если ъОб = Неопределено Тогда
	ъОб =Документы[ИмяТипа].СоздатьДокумент();
	ъОб.EX_Uid= Новый УникальныйИдентификатор(хД.UID);
//

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

Это важное преимущество этого варианта от стандартного обмена.

Преимущество данного подхода состоит в максимальной открытости и контролируемости процесса стыковки всяких сложных сущностей.  Например, предварительно вытянув необходимые данные (спр.ГруппыФинансовогоУчетаРасчетов), можно программно сгенерировать текст подобной функции, которая потом может быть использована для стыковки счетов в приемнике через наименование в источнике.

&НаСервере
Функция Получить_Соотве_СчетовГФУ()
	х = Новый Соответствие();
	х.Вставить("Расчеты через 76.09 (в рублях) - клиенты",      Новый Структура("Долг,Авансы,Претензии, Валюта,ui", "76.09","76.09", "", 	  Ложь, "e1cib/data/Справочник.ГруппыФинансовогоУчетаРасчетов?ref=..."    ));
	х.Вставить("Расчеты через 76.09 (в рублях) - поставщики",   Новый Структура("Долг,Авансы,Претензии, Валюта,ui", "76.09","76.09", "76.02", Ложь, "e1cib/data/Справочник.ГруппыФинансовогоУчетаРасчетов?ref=..."    ));
			
	х.Вставить("Расчеты через 76.39 (в валюте)",  			    Новый Структура("Долг,Авансы,Претензии, Валюта,ui", "76.39","76.39", "76.39", Истина, "e1cib/data/Справочник.ГруппыФинансовогоУчетаРасчетов?ref=..."    ));
	х.Вставить("Расчеты через 76.29 (в валюте) с поставщиками", Новый Структура("Долг,Авансы,Претензии, Валюта,ui", "76.29","76.29", "76.29", Истина, "e1cib/data/Справочник.ГруппыФинансовогоУчетаРасчетов?ref=..."    ));
	// и т.д.	
	.
	возврат х;
КонецФункции

В случае, когда имя метаданных меняется, как то мы наблюдаем между УХ и ЕРП в док. ЗаказКлиента я сделал специальную функцию, которая возвращает имя метаданных в базе приемника. Эти данные можно вытянуть из КД из их готового плана обмена.

&НаСервере
Функция Мут(_MetName, Имя)
	если _MetName = "ЗаказКлиента" Тогда
		если Имя = "Валюта" Тогда возврат "ВалютаДокумента"; Конецесли;  
		если Имя = "Договор" Тогда возврат "ДоговорКонтрагента"; Конецесли;  
		// и т.д.
	Конецесли;
	возврат Имя;
КонецФункции	

При огромных объемах можно разбить на этапы 

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

2. перенести сами документы. Все необходимые им реквизиты с типом справочника должны будут найтись, тк были созданы ранее. 

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

Код выгрузки связки документов на примере Счета - ПКО, Приобретения, сетов фактуры мог бы выглядеть так:

		тз1 = Новый ТаблицаЗначений;	
		тз1.Колонки.Добавить("_UID",   , "UID 1C", 1);  
		тз1.Колонки.Добавить("_Тип",   , "ТипЗнч", 1); 	
		тз1.Колонки.Добавить("_ТипО",  , "ТипЗнч", 1); 
		тз1.Колонки.Добавить("_MetName", , "Имя метаданных", 1); 
		тз1.Колонки.Добавить("_Наим", , "Наим", 1); 
		тз1.Колонки.Добавить("_ОбъектЗаказКл", , "Заказ клиента", 1); 
//   связанные с ним документы:   
		тз1.Колонки.Добавить("_ОбъектAктВыпРаб", , "АктВыполненныхРабот", 1);    
		тз1.Колонки.Добавить("_ОбъектНакл", , "ПриобретениеТоваровУслуг", 1);    
		тз1.Колонки.Добавить("_ОбъектСфВыд", , "СчетФактураВыданный", 1);    
		тз1.Колонки.Добавить("_ОбъектСфПолуч", , "СчетФактураПолученный", 1);    
				
		для каждого хД из мСсылокЗаказы цикл
			если ЗначениеЗаполнено(хД) и ЗначениеЗаполнено(хД.Ссылка) Тогда   
				попытка				
					новСтр = тз1.Добавить();					
					новСтр["_UID"] = хД.Ссылка.УникальныйИдентификатор();					
					новСтр["_Тип"] = Строка(ТипЗнч(хД.Ссылка));					
					
					ъОб = хД.Ссылка.ПолучитьОбъект();					
					ТипЗначения = ТипЗнч( ъОб);
					новСтр["_ТипО"] = Строка(ТипЗначения);
					
					ОбъектМетаданных = Метаданные.НайтиПоТипу(ТипЗначения);					
					новСтр["_MetName"] = ОбъектМетаданных.Имя;     // ЗаказКлиента
			// головной объект		
					новСтр["_ОбъектЗаказКл"]  = РеквизитыОбъектаВСтруктуруEx(хД.Ссылка,1, ОбъектМетаданных.Имя, щХэш );
					новСтр["_Наим"]    = Строка(ъОб);
					

					если "Документ объект: Заказ клиента" = новСтр["_ТипО"] Тогда
						// Поступление безналичных ДС
						для каждого стрПбнДс из ПродажиСервер.ПолучитьДокументыНаОсновании(хД.Ссылка).ВыгрузкаДокументов.НайтиСтроки(Новый Структура("Тип", Тип("ДокументСсылка.ПоступлениеБезналичныхДенежныхСредств"),))	цикл
							//если ЗначениеЗаполнено(стрПбнДс.Ссылка) Тогда   
							//	////ОбъектМетаданных1 = Метаданные.НайтиПоТипу(ТипЗнч( стрПбнДс.Ссылка.ПолучитьОбъект()));												
							//	новСтр["_ОбъектФ1"]  = РеквизитыОбъектаВСтруктуруEx(стрПбнДс.Ссылка,1, "Поступление безналичных денежных средств", щХэш );			
							//	прервать; // он один...
							//Конецесли;	
						КонецЦикла;
						
						// Акт выполненных работ
						для каждого стрАкт из ПродажиСервер.ПолучитьДокументыНаОсновании(хД.Ссылка).ВыгрузкаДокументов.НайтиСтроки(Новый Структура("Тип", Тип("ДокументСсылка.АктВыполненныхРабот"),))	цикл
							если ЗначениеЗаполнено(стрАкт.Ссылка) Тогда   
								//ОбъектМетаданных1 = Метаданные.НайтиПоТипу(ТипЗнч( стрАкт.Ссылка.ПолучитьОбъект()));												
								новСтр["_ОбъектAктВыпРаб"]  = РеквизитыОбъектаВСтруктуруEx(стрАкт.Ссылка,1, "АктВыполненныхРабот", щХэш );			

										Запрос = Новый Запрос("ВЫБРАТЬ д.Ссылка КАК Ссылка
															|ИЗ
															|	Документ.СчетФактураВыданный.ДокументыОснования КАК д
															|ГДЕ
															|	  д.Ссылка.Проведен И д.ДокументОснование = &ДокументОснование");									
										Запрос.УстановитьПараметр("ДокументОснование", стрАкт.Ссылка);									
										м1 = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
										если м1.Количество() > 0 Тогда
											ОбъектМетаданных1 = Метаданные.НайтиПоТипу(ТипЗнч(  м1[0].Ссылка.ПолучитьОбъект()));												
											новСтр["_ОбъектСфВыд"]  = РеквизитыОбъектаВСтруктуруEx(м1[0].Ссылка,1, ОбъектМетаданных1.Имя, щХэш );		
										Конецесли;		
								
								// ПриобретениеТоваровУслуг
								для каждого стрАктПту из ПродажиСервер.ПолучитьДокументыНаОсновании(стрАкт.Ссылка).ВыгрузкаДокументов.НайтиСтроки(Новый Структура("Тип", Тип("ДокументСсылка.ПриобретениеТоваровУслуг"),))	цикл
									если ЗначениеЗаполнено(стрАктПту.Ссылка) Тогда   
										ОбъектМетаданных1 = Метаданные.НайтиПоТипу(ТипЗнч(  стрАктПту.Ссылка.ПолучитьОбъект()));												
										новСтр["_ОбъектНакл"]  = РеквизитыОбъектаВСтруктуруEx(стрАктПту.Ссылка,1, ОбъектМетаданных1.Имя, щХэш );											
										
										Запрос = Новый Запрос("ВЫБРАТЬ	д.Ссылка КАК Ссылка,
															|ИЗ
															|	Документ.СчетФактураПолученный.ДокументыОснования КАК д
															|ГДЕ
															|	  д.Ссылка.Проведен 	И д.ДокументОснование = &ДокументОснование");										
										Запрос.УстановитьПараметр("ДокументОснование", стрАктПту.Ссылка);									
										м1 = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка");
										если м1.Количество() > 0 Тогда
											ОбъектМетаданных1 = Метаданные.НайтиПоТипу(ТипЗнч(  м1[0].Ссылка.ПолучитьОбъект()));												
											новСтр["_ОбъектСфПолуч"]  = РеквизитыОбъектаВСтруктуруEx(м1[0].Ссылка,1, ОбъектМетаданных1.Имя, щХэш );		
										Конецесли;											
										прервать; // он один...
									Конецесли;	
								КонецЦикла;
								прервать; // он один...
							Конецесли;	
						КонецЦикла	
					иначе
						 // чо то другое
					Конецесли;	
				исключение            
					т = Строка(хД.Ссылка) + ", " + ОписаниеОшибки();
					ВызватьИсключение "хрень!" + т;
				КонецПопытки;				
			КонецЕсли;		
		Конеццикла;	            	

Здесь мСсылокЗаказы это результат выгрузки колонки из результат работы запроса типа

			Запрос.Текст = "ВЫБРАТЬ  д.Ссылка КАК Ссылка
			               |ИЗ
			               |	Документ.ЗаказКлиента КАК д     
						   |ГДЕ ГОД(д.Дата) = 2019 И МЕСЯЦ(д.Дата) В (1,2,3) и д.Проведен
						   |УПОРЯДОЧИТЬ ПО д.Дата"; 

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

Буду рад, если кому то окажется полезным.

обработка обмен данными XML перенос данных

См. также

SALE! 10%

Перенос данных из УПП 1.3 в ERP 2 / УТ 11 / КА 2. Переносятся документы, справочная информация и остатки

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

Перенос документов, начальных остатков и справочной информации из УПП 1.3 в ERP 2 | из УПП 1.3 в УТ 11 | из УПП в КА 2 | Правила конвертации (КД 2) в продаже с 2015 года, постоянно работаем над их развитием | Более 360 предприятий выполнили переход с использованием этого продукта! | Сэкономьте время - используйте готовое решение для перехода! | Позволяет перенести из УПП 1.3 в ERP / УТ 11 / КА 2 всю возможную информацию | В переносе есть фильтр по организации и множество других опциональных параметров выгрузки | Есть несколько алгоритмов выгрузки остатков на выбор

50722 45650 руб.

04.08.2015    160443    357    268    

349

SALE! 10%

[ED3] Обмен для ERP 2.5, КА 2.5, УТ 11.5 БП 3.0, Розница, УНФ и других с EnterpriseData (универсальный формат обмена), правила обмена

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

Правила в универсальном формате обмена для ERP 2.5, КА 2.5, УТ 11.5, БП 3.0, Розница, УНФ, для последних версий конфигураций. Ссылки на другие конфигурации в описании публикации. Правила совместимы со всеми другими версиями конфигураций новыми и старыми, поддерживающими обмен в формате EnterpriseData. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

25080 руб.

12.06.2017    135734    731    291    

392

SALE! 10%

Перенос данных из ERP 2 / КА 2 / УТ 11 в БП 3.0. Переносятся документы, начальные остатки и справочники

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

Перенос данных из ERP в БП 3 | из КА 2 в БП 3 | из УТ 11 в БП 3 | из ЕРП в БП 3 | В продаже с 2019г. | Воспользовались более 176 предприятий! | Сэкономьте время - используйте готовое решение для перехода! | Перенос разработан в формате КД 2 (правила конвертации данных) | Переносятся все возможные виды документов, начальных остатков и нормативно-справочная информация| Можно опционально выгружать каждую пару "номенклатура+характеристика" как отдельную номенклатуру | Есть выгрузка настроек счетов учета и зарплатных данных из ERP / КА 2 | Можно проверить на вашем сервере перед покупкой, обращайтесь!

38500 34650 руб.

15.04.2019    68976    181    139    

111

SALE! 10%

Перенос данных из БП 3.0 в УТ 11 / КА 2 / ERP 2. Переносятся начальные остатки, документы и справочники

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

В продаже с 2014г. | Воспользовались более 122 предприятий! | Перенос данных из БП 3.0 в УТ 11 | из БП 3.0 в КА 2 | из БП 3.0 в ERP | Сэкономьте свое время - используйте готовое решение для перехода! | Постоянно работаем над развитием переноса данных | Обновляем на новые релизы 1С | Есть фильтр выгрузки по организациям | Переносятся начальные остатки на выбранную дату, документы за период времени и вся возможная справочная информация | Перенос сделан на технологии КД 2 (правила конвертации данных)

50722 45650 руб.

31.10.2014    232092    126    327    

297

Перенос данных из УПП 1.3 в БП 3.0. Переносятся документы (обороты за период), справочная информация и остатки

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:Бухгалтерия предприятия 3.0 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.226.x) и БП 3.0 (3.0.151.x). Правила подходят для версии ПРОФ и КОРП.

28000 руб.

15.12.2021    20699    136    38    

95

SALE! 10%

Перенос данных из ERP 2 / КА 2 в ЗУП 3. Переносятся остатки, документы и справочники

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет Управленческий учет Платные (руб)

Перенос данных из ERP в ЗУП 3 | из КА 2 в ЗУП | Воспользовались более 79 предприятий! | Предлагаем приобрести готовые правила конвертации данных (КД 2) для переноса остатков, документов с движениями и справочной информации 3 | В продаже с 2020г. | Оперативно обновляем правила до актуальных релизов 1С | Есть перенос начальной задолженности по зарплате и начальной штатной расстановки на выбранную дату | Обороты за прошлые годы (данные для расчета среднего) переносятся свернуто в документ "Перенос данных" | Есть фильтр по организациям | Документы за текущий период переносятся сразу с движениями, поэтому не потребуется делать перерасчеты | Перенос можно проверить перед покупкой, обращайтесь!

48278 43450 руб.

03.12.2020    34523    83    58    

81

Перенос данных из УТ 10.3 в УТ 11.5. Переносятся документы (обороты за период), справочная информация и остатки

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 Оперативный учет 1С:Управление торговлей 10 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Перенос данных из 1С:Управление торговлей 10.3 в 1С:Управление торговлей 11.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УТ 10.3 (10.3.87.x) и УТ 11.5 (11.5.16.x).

28000 руб.

23.07.2020    46897    200    64    

162

SALE! 10%

Перенос данных из БП 3.0 в УНФ 3.0 / УНФ 1.6. Переносятся остатки, документы и справочная информация

Обмен между базами 1C Файловый обмен (TXT, XML, DBF), FTP Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:Бухгалтерия 3.0 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

В продаже с 2018г. | Воспользовались более 41 предприятия! | Правила конвертации (КД 2) для переноса данных из БП 3 в УНФ | Переносятся все виды документов, начальные остатки и вся возможная справочная информация | Есть фильтр по организациям | Оперативно обновляем на новые релизы | Оказываем техподдержку | В комплект файлов входит инструкция, авторская версия обработки "Универсальный обмен...", актуальные правила переноса данных и архив старых версий переноса | Учет в БП 3 должен быть корректным, некорректные данные не переносятся | Можно бесплатно проверить на вашем сервере до покупки!

50722 руб.

10.07.2018    67873    41    123    

46
Оставьте свое сообщение