Выгрузка данных в идентичную конфигурацию. Отбор в построитель отчета

1. lishniy 133 16.10.18 16:08 Сейчас в теме
Добрый день.
УТ10. Обычное приложение.
Хочу разобраться с обработкой "Выгрузка данных в идентичную конфигурацию "Управление торговлей"". Хочу добавить список документов реализаций и делать выгрузку по структуре документов.
Добавил на форму табличную часть с документами. Сделал кнопку с заполнением.
Процедура ДобавитьДокументыВОтбор()
	ВключитьПунктыДерева(ТаблицаПравилВыгрузки);
	
КонецПроцедуры

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

			ДобавитьОтборПостроителя(тРодитель);
		 КонецЕсли;
		 
		Если тРодитель.Имя = "Документы" Тогда
			тРодитель.Включить = 2;
			тРодитель.ИспользоватьОтбор = Истина;
		КонецЕсли;
	КонецЦикла;
КонецПроцедуры

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


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

Весь этот огород горожу потому что в обработке выгрузка загрузки данных XML нет возможности установить атрибут "не замещать справочники/документы при загрузке".
Как правильно решать такую задачу?
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. soft_wind 16.10.18 17:14 Сейчас в теме
в таком случае вам подойдет Конвертация данных 2.*
там есть настройка не перезаписывать элементы, можно настроить произвольный поиск ссылочных реквизитов и т.д.
так же хорошо и стабильно работают условия отбора/поиска
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот