Написании Выгрузки и Загрузки Данных используя Универсальный обмен данными в формате XML Написании обработок для выгрузки и загрузки данных используя методы обработки "Универсальный обмен данными в формате xml"
Принцип работы:
При изменении даты в форме, табличное поле заполняется документами за выбранную дату.
Сами правила обмена были
вставлены в обработку как макет с типом "Двоичные данные".
При ВЫГРУЗКЕ используется код:
Код 1C v 8.х Процедура ДействияФормыВыгрузка(Кнопка)
ДиалогФайла = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
ДиалогФайла.Фильтр = "Файл данных (*.xml)|*.xml";
ДиалогФайла.ПолноеИмяФайла = "Retail_"+СтрЗаменить(Формат(Дата,"ДФ=dd.MM.yyyy"),".","-");
Если ДиалогФайла.Выбрать() Тогда
ИмяФайла = ДиалогФайла.ПолноеИмяФайла;
Попытка
ВыгрузитьДанные(ИмяФайла);
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяФайла);
ДвоичныеДанные.Записать(ИмяФайла);
Исключение
Предупреждение("Внешний файл не сохранен
|"+ОписаниеОшибки());
КонецПопытки;
КонецЕсли;
КонецПроцедуры
// процедура выгрузки
Процедура ВыгрузитьДанные(ИмяФайлаОбмена)
Обработка=Обработки.УниверсальныйОбменДаннымиXML.Создать();
Обработка.РежимОбмена="Выгрузка";
ВремФайл = ПолучитьИмяВременногоФайла("xml");
МакетПравилОбмена = ПолучитьМакет("ПравилаВыгрузки");
МакетПравилОбмена.Записать(ВремФайл);
Обработка.ИмяФайлаПравилОбмена = ВремФайл;//ФайлПравилОбмена;
Обработка.ЗагружатьДанныеВРежимеОбмена = Истина;
Обработка.ЗаписыватьРегистрыНаборамиЗаписей = Истина;
Обработка.ЗапоминатьЗагруженныеОбъекты = Истина;
Обработка.ИспользоватьОтборПоДатеДляВсехОбъектов = Истина;
СписокДок = Новый Массив;
Для каждого Стр Из Документы Цикл
Если НЕ Стр.Флаг Тогда
Продолжить;
КонецЕсли;
СписокДок.Добавить(Стр.Реализация);
КонецЦикла;
Обработка.ДатаНачала = Дата;
Обработка.ДатаОкончания = КонецДня(Дата);
Обработка.ВыгружатьТолькоРазрешенные = Истина;
Обработка.ИмяФайлаОбмена = ИмяФайлаОбмена;
Обработка.ТипУдаленияРегистрацииИзмененийДляУзловОбменаПослеВыгрузки = 0; // 0 - не снимать регистрацию, 1 - снимать регистрацию
Обработка.ЗагрузитьПравилаОбмена();
Обработка.Параметры.Вставить("Документы",СписокДок);
Обработка.ВыполнитьВыгрузку();
КонецПроцедуры
Отбор по документам осуществляется с помощью параметра "Документы", описанного в правилах обмена.
При ЗАГРУЗКЕ используем следующий код:
Код 1C v 8.х ОбработкаОбмена = Обработки.УниверсальныйОбменДаннымиXML.Создать();
ОбработкаОбмена.ИмяФайлаОбмена = ФайлЗагрузки;
ОбработкаОбмена.РежимОбмена = "Загрузка";
ОбработкаОбмена.ОткрытьФайлЗагрузки(Истина);
ОбработкаОбмена.АрхивироватьФайл = Ложь;;
ОбработкаОбмена.ВыполнитьЗагрузку();
ОбработкаОбмена = Неопределено;
Посмотрите по этой теме:
Обработка - Универсальный обмен данными в формате XML
Автоматическая выгрузка / загрузка данных используя Универсальный обмен данными в формате XML и Регламентное Задание
Автоматизация обмена данных используя обработку "Универсальный обмен данными в формате XML" Категория:
Обработки