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

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