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