Помощь - Поиск - Пользователи - Календарь
Полная версия: Обмен ЗУП в БП
1C-PRO - Форум по 1С > Форумы по платформе "1С:Предприятие 8.x" > (8.х) Обмен данными
ltishev
Помогите пожалуйста зашел в тупик!!!
В документе сделал кнопку при нажатии на которую документ должен выгрузиться.
Для выгрузки документа в процедуре выгрузки использую типовую УниверсальныйОбменДаннымиXML Как мне добавить документ в отбор в обработке УниверсальныйОбменДаннымиXML, т.к. мне надо выгрузить конкретно этот документ.

вот процедура выгрузки

Процедура ДействияФормыВыгрузкаВедомости(Кнопка)
Перем мУниверсальнаяВыгрузкаДанных;

мУниверсальнаяВыгрузкаДанных = Обработки.УниверсальныйОбменДаннымиXML.Создать();
//мУниверсальнаяВыгрузкаДанных = ВнешниеОбработки.Создать("<Указать путь к обработке>"); //

// Получим файл правил для выгрузки

ПустьКФайлуПравил = НайтиФайлы("\\Buh\1с базы\Обмен\Правила выгрузки ведомости из ЗУП в БП", "ПравилаВыгрузкиИзЗУПвБП.xml");

// Загрузка в универсальную обработку XML правил обмена

мУниверсальнаяВыгрузкаДанных.ИмяФайлаПравилОбмена = ПустьКФайлуПравил;
мУниверсальнаяВыгрузкаДанных.РежимОбмена = "Выгрузка";
мУниверсальнаяВыгрузкаДанных.ЗагрузитьПравилаОбмена();

//Задать имя файла данных

Дата = Формат(Дата,"ДФ=yyyy-MM-dd");
Время = СтрЗаменить(Формат(Дата,"ДЛФ=T"),":"," ");
ИмяФайлаДанных = Новый Файл("ВыгрузкаИзЗУПвБп"+"_"+Дата+"_"+Время+"."+"xml");

ВременнаяТаблицаПравил = мУниверсальнаяВыгрузкаДанных.ТаблицаПравилВыгрузки.Скопировать();

// Вначале нужно подготовить таблицу выгрузки

Для Каждого СтрокаУровня2 Из ВременнаяТаблицаПравил.Строки Цикл
Наименование = СтрокаУровня2.Имя;
Если Наименование = "ЗарплатаКВыплатеОрганизаций" Тогда
СтрокаУровня2.Включить = 1;
КонецЕсли;
КонецЦикла;

мУниверсальнаяВыгрузкаДанных.ИмяФайлаОбмена = ИмяФайлаДанных;
мУниверсальнаяВыгрузкаДанных.ВыполнитьВыгрузку();

КонецПроцедуры
ltishev
Вот что у меня получилось но никак не пойму как в УниверсальныйОбменДаннымиXML передать настройки отбора


Процедура ДействияФормыВыгрузкаВедомости(Кнопка)
//ГАУИ.ВыгрузкаВедомостиВБП();

Перем мУниверсальнаяВыгрузкаДанных;

мУниверсальнаяВыгрузкаДанных = Обработки.УниверсальныйОбменДаннымиXML.Создать();
//мУниверсальнаяВыгрузкаДанных = ВнешниеОбработки.Создать("<Указать путь к обработке>"); //


// Получим файл правил для выгрузки

ПустьКФайлуПравил = НайтиФайлы("\\Buh\1с базы\Обмен\Правила выгрузки ведомости из ЗУП в БП", "ПравилаВыгрузкиИзЗУПвБП.xml");

// Загрузка в универсальную обработку XML правил обмена

мУниверсальнаяВыгрузкаДанных.ИмяФайлаПравилОбмена = ПустьКФайлуПравил[0].ПолноеИмя;
мУниверсальнаяВыгрузкаДанных.РежимОбмена = "Выгрузка";
мУниверсальнаяВыгрузкаДанных.ЗагрузитьПравилаОбмена();

//Задать имя файла данных


ДатаДок = Формат(Дата,"ДФ=yyyy-MM-dd");
ВремяДок = СтрЗаменить(Формат(Дата,"ДЛФ=T"),":","");
ИмяФайлаДанных = Новый Файл("\\Buh\1с базы\Обмен\ИзЗУПвБП\"+ДатаДок+"_"+ВремяДок+"."+"xml");
мУниверсальнаяВыгрузкаДанных.ИмяФайлаОбмена = ИмяФайлаДанных.ПолноеИмя;

ВременнаяТаблицаПравил = мУниверсальнаяВыгрузкаДанных.ТаблицаПравилВыгрузки.Скопировать();

// Вначале нужно подготовить таблицу выгрузки


Для Каждого СтрокаУровня2 Из ВременнаяТаблицаПравил.Строки[0].Строки Цикл
Наименование = СтрокаУровня2.Имя;
Если Наименование = "ЗарплатаКВыплатеОрганизаций" Тогда
СтрокаУровня2.Включить = 1;
КонецЕсли;
КонецЦикла;
мУниверсальнаяВыгрузкаДанных.ТаблицаПравилВыгрузки = ВременнаяТаблицаПравил.Скопировать();

Для Каждого СтрокаУровня2 Из ВременнаяТаблицаПравил.Строки[0].Строки Цикл
Наименование = СтрокаУровня2.Имя;
Если Наименование = "ЗарплатаКВыплатеОрганизаций" Тогда
ТекущееПВД = СтрокаУровня2;

Построитель = Новый ПостроительОтчета;
Если ТекущееПВД.ИмяОбъектаДляЗапроса <> Неопределено Тогда

//Свойства = Менеджеры[ТекущееПВД.ОбъектВыборки];


Построитель.Текст = "ВЫБРАТЬ Разрешенные _.* ИЗ " + ТекущееПВД.ИмяОбъектаДляЗапроса + " КАК _
|
|
|{ГДЕ _.Ссылка.* КАК " + СтрЗаменить(ТекущееПВД.ИмяОбъектаДляЗапроса, ".", "_") + "}";


КонецЕсли;

Отбор = Построитель.Отбор;
Если Отбор.Найти("Документ_ЗарплатаКВыплатеОрганизаций") = Неопределено Тогда
Отбор.Добавить("Документ_ЗарплатаКВыплатеОрганизаций");
КонецЕсли;

Массив = Новый Массив;
Массив.Добавить(Тип("ДокументСсылка.ЗарплатаКВыплатеОрганизаций"));
ОписаниеТиповС = Новый ОписаниеТипов(Массив, , );

Отбор["Документ_ЗарплатаКВыплатеОрганизаций"].Использование = Истина;
Отбор["Документ_ЗарплатаКВыплатеОрганизаций"].Значение = ЭтотОбъект.Ссылка;
Отбор["Документ_ЗарплатаКВыплатеОрганизаций"].ВидСравнения = ВидСравнения.Равно;

Если Построитель.Отбор.Количество() > 0 Тогда
ТекущееПВД.НастройкиПостроителя = Построитель.ПолучитьНастройки();
ТекущееПВД.ИспользоватьОтбор = ИСТИНА;
КонецЕсли;
КонецЕсли;
КонецЦикла;

//

Вот тут надо как-то передать настройки отбора невъеду как сделать помогите
//

мУниверсальнаяВыгрузкаДанных.ВыполнитьВыгрузку();

КонецПроцедуры
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.
Русская версия Invision Power Board © 2001-2009 Invision Power Services, Inc.