понедельник, 30 марта 2015 г.

Копирование отборов построителя отчета

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

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