Имя: Пароль:
1C
1С v8
СКД
0 zerat
 
30.07.13
13:12
Всем привет! Подскажите пожалуйста каким образом можно сделать так чтобы макет результат компоновки, при повторно формировании отчета выводился в отдельное окно?
1 Cube
 
30.07.13
13:14
Зачем?
2 Капитан О
 
30.07.13
13:14
взять формирование на себя, выводить в новый табдок
3 zerat
 
30.07.13
13:19
(1) Плановику нужно сравнивать результаты отчета по разным параметрам
4 zerat
 
30.07.13
13:20
Перем Дублировать Экспорт;
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    Если Дублировать Тогда  
    Результат = Новый ТабличныйДокумент;
    
    // Схема компоновки данных

    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    
    // Загрузка настроек
    НастройкиКомпоновкиДанных = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
    
    КомпоновщикНастроекКомпоновкиДанных = Новый КомпоновщикНастроекКомпоновкиДанных;
    КомпоновщикНастроекКомпоновкиДанных.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
    КомпоновщикНастроекКомпоновкиДанных.ЗагрузитьНастройки(НастройкиКомпоновкиДанных);
    НастройкиКомпоновкиДанных = КомпоновщикНастроекКомпоновкиДанных.ПолучитьНастройки();
    // Компоновка макета

    КомпоновщикМакетаКомпоновкиДанных = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновкиДанных = КомпоновщикМакетаКомпоновкиДанных.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновкиДанных);
    

    
    // Инициализация процессора компоновки

    ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
    ПроцессорКомпоновкиДанных.Сбросить();
    ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;

    ПроцессорВывода.УстановитьДокумент(Результат);

    ПроцессорВывода.НачатьВывод();

    ЭлементРезультата =  ПроцессорКомпоновкиДанных.Следующий();
    Пока ЭлементРезультата <> Неопределено Цикл
        ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
        ЭлементРезультата = ПроцессорКомпоновкиДанных.Следующий();
    КонецЦикла;
    ПроцессорВывода.ЗакончитьВывод();
    
    УниверсальныеМеханизмы.НапечататьДокумент(Результат);    
    КонецЕсли;
    Дублировать = Истина;
КонецПроцедуры

написал так, но при повторном выводе отдельный макет не обновляется, и результат компоновки перезатирается
5 Cube
 
30.07.13
13:45
(3) Разрешаю дважды открыть один и тот же отчет.
Так же разрешаю научить плановика сравнивать табличные документы через Меню -> Файл -> Сравнить файлы.
6 zerat
 
30.07.13
13:52
(5) ему надо именно так))))