Выгрузка и загрузка данных XML с отбором по регистрации на узле обмена

12.02.16

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

Доработанная обработка с примером кода

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Выгрузка и загрузка данных XML.epf
.epf 72,51Kb
21
21 Скачать (1 SM) Купить за 1 850 руб.

Задача: необходимо загрузить в свернутую копию базы все изменения из рабочей базы, сделанные за время свертки.

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

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

Команда "Недопустимые символы в плане обмена" фактически формирует нужный нам файл, но не записывает его.

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

Процедура ВыполнитьВыгрузкуОбъектовИзПланаОбмена(СсылкаНаУзел, ИмяФайла) Экспорт
	
	ОбъектыВыгруженныеСОшибками = Новый Соответствие;
	ВсегоОбработаноОбъектов = 0;
	КоличествоОшибок = 0;
	Если СтрДлина(ИмяФайла) = 0 Тогда
		
		#Если Клиент Тогда
		Предупреждение("Не задано имя файла выгрузки");
		#КонецЕсли
		Возврат;
		
	КонецЕсли;
	
	СоставВыгрузки();
	Если СоставПолнойВыгрузки.Количество() = 0
		И ДополнительныеОбъектыДляВыгрузки.Количество() = 0 Тогда
		
		#Если Клиент Тогда
		Предупреждение("Не задан состав выгрузки");
		#КонецЕсли
		Возврат;
		
	КонецЕсли;

		Если Не ИспользоватьФорматFastInfoSet Тогда
			
			ЗаписьXML = Новый ЗаписьXML;
			ЗаписьXML.ОткрытьФайл(ИмяФайла, "UTF-8");
			
		Иначе
		
			ЗаписьXML = Новый ЗаписьFastInfoset;
			ЗаписьXML.ОткрытьФайл(ИмяФайла);
			
		КонецЕсли;
				
		ЗаписьXML.ЗаписатьОбъявлениеXML();
		ЗаписьXML.ЗаписатьНачалоЭлемента("_1CV8DtUD", "http://www.1c.ru/V8/1CV8DtUD/");
		ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("V8Exch", "http://www.1c.ru/V8/1CV8DtUD/");
		ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("xsi", "http://www.w3.org/2001/XMLSchema-instance");
		ЗаписьXML.ЗаписатьСоответствиеПространстваИмен("v8",  "http://v8.1c.ru/data");
		ЗаписьXML.ЗаписатьНачалоЭлемента("V8Exch:Data");
		
		#Если Клиент Тогда
			Сообщить("Начало выгрузки:   " + ТекущаяДата());
		#КонецЕсли
		
	
	МассивМетаданныхДляВыгрузки = Новый Массив();
	
	Для Каждого СтрокаТаблицыВыгрузки Из СоставПолнойВыгрузки Цикл
		
		СтрокаДереваМетаданных = СтрокаТаблицыВыгрузки.СтрокаДерева;
			
		МассивМетаданныхДляВыгрузки.Добавить(СтрокаДереваМетаданных.ОбъектМД);
				
	КонецЦикла;
	
	Если МассивМетаданныхДляВыгрузки.Количество() = 0 Тогда
		МассивМетаданныхДляВыгрузки = Неопределено;
	КонецЕсли;
	
	ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(СсылкаНаУзел, СсылкаНаУзел.НомерОтправленного + 1, МассивМетаданныхДляВыгрузки);
	Пока ВыборкаИзменений.Следующий() Цикл
		
		// имененный элемент
		Данные = ВыборкаИзменений.Получить();
		
		// данные должны быть
		Если Данные = Неопределено Тогда
			Продолжить;
		КонецЕсли;
		
		ЭтоУдаление = (мТипДанныхУдаления = ТипЗнч(Данные));
		
		Если ЭтоУдаление Тогда
			Продолжить;
		КонецЕсли;
		
		ВсегоОбработаноОбъектов = ВсегоОбработаноОбъектов + 1;
		
		МетаданныеОбъекта = Данные.Метаданные();		
		
		Попытка
		
			ВыполнитьВспомогательныеДействияДляЗаписиXML(ВсегоОбработаноОбъектов, ЗаписьXML, Истина);
			
			ЗаписатьXML(ЗаписьXML, Данные);
			
										
		Исключение
			
			КоличествоОшибок = КоличествоОшибок + 1;
			
			СтрокаОписанияОшибки = ОписаниеОшибки();
			
			// для ссылочных добавляем ссылку, а для не ссылочных сам объект
			ЭтоНеСсылка = Метаданные.РегистрыСведений.Содержит(МетаданныеОбъекта)
				ИЛИ Метаданные.РегистрыНакопления.Содержит(МетаданныеОбъекта)
				ИЛИ Метаданные.РегистрыБухгалтерии.Содержит(МетаданныеОбъекта)
				ИЛИ Метаданные.Константы.Содержит(МетаданныеОбъекта);
			
			Если ЭтоНеСсылка Тогда
				
				ОбъектыВыгруженныеСОшибками.Вставить(Данные, СтрокаОписанияОшибки);
				
			Иначе	
			
				Если ОбъектыВыгруженныеСОшибками.Получить(Данные.Ссылка) = Неопределено Тогда
					ОбъектыВыгруженныеСОшибками.Вставить(Данные.Ссылка, СтрокаОписанияОшибки);
				КонецЕсли;
				
			КонецЕсли;
						
		КонецПопытки;
		
		#Если Клиент Тогда
		Если ВсегоОбработаноОбъектов % 100 = 0 Тогда
			Состояние("Выгруженных объектов - " + ВсегоОбработаноОбъектов + ", ошибок при выгрузке - " + КоличествоОшибок);
		КонецЕсли;
		#КонецЕсли
						
	КонецЦикла;
	
	ЗаписьXML.ЗаписатьКонецЭлемента(); //V8Exc:Data
	ЗаписьXML.ЗаписатьКонецЭлемента(); //V8Exc:_1CV8DtUD
		
КонецПроцедуры

XML узел обмена

См. также

SALE! 15%

Перенос данных 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. Не требуется синхронного обновления правил после обновления другой конфигурации, участвующей в обмене. Типовой обмен через планы обмена кнопкой Синхронизация вручную или автоматически по расписанию, или вручную обработкой.

26280 руб.

12.06.2017    142259    803    297    

423

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

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

35000 руб.

15.12.2021    24375    172    51    

131

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

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

35000 руб.

23.07.2020    52020    229    72    

187

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

Регулярный обмен, выгрузка, перенос из КА 1.1, УПП 1.3, УТ 10.3 для обмена с любыми конфигурациями, поддерживающими обмен в формате EnterpriseData (КД3) - БП 3.0, ERP, КА 2, УТ 11, Розница 2, УНФ 1.6 и другими. Правила для старых и доработанных конфигураций не требуют синхронного обновления и совместимы с новыми и будущими конфигурациями. Обмен по расписанию, через папку, FTP, почту.

15300 руб.

18.02.2016    187223    591    513    

529

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

Обработка позволяет перенести кадровую информацию и данные по заработной плате, фактических удержаниях, НДФЛ, вычетах, страховых взносах из базы Парус 10 учреждений в конфигурацию 1С:Зарплата и кадры государственного учреждения ред. 3 (ЗГУ) и начать с ней работать с любого месяца года.

60000 руб.

05.10.2022    10959    13    8    

15

Перенос данных 1C Файловый обмен (TXT, XML, DBF), FTP Программист Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Что же Вы получаете? 2 способа обмена объектами – с ОДИНАКОВОЙ структурой и с ОТЛИЧАЮЩЕЙСЯ! Забудьте о том, что не могли ранее перенести данные между базами, из-за того, что изменилась структура объектов в одной из них с обновлением конфигурации – теперь это в прошлом! Теперь не помеха для обмена изменение состава реквизитов объекта (измерений, ресурсов)/состава табличных частей/реквизитов табличных частей/типов реквизитов! А так же получаете быстрый алгоритм обмена, с возможностью указания уровня выгрузки объектов по ссылкам! 3 способа обмена - ФАЙЛ, HTTP, COM: Система слежения за дублями предопределенных элементов при загрузке; Система поиска связей объектов для выгрузки; Отборы для каждого объекта конфигурации в отдельности; Динамическая замена произвольных ссылок при обмене; Выбор регистров движений для выгрузки. (Обновление от 27.06.2024, версия 9.1 - 10.1)

16800 руб.

28.08.2012    209294    304    281    

657

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

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

20580 руб.

13.09.2021    21718    37    32    

24

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

Перенос данных из 1С:Управление производственным предприятием 1.3 в 1С:ERP Управление предприятием 2.5 и 1С:Комплексную автоматизацию 2.5 с помощью правил обмена. Переносятся остатки, документы (обороты за период), справочная информация. Правила проверены на конфигурациях УПП 1.3 (1.3.237.x), ERP 2.5 (2.5.20.x), КА 2.5 (2.5.20.x).

35000 руб.

24.06.2020    63849    55    27    

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