Имя: Пароль:
1C
 
Получить результат в СКД
0 Vvvvv
 
12.02.15
10:22
В отчете, который написан в полностью в СКД.
После формирования отчета, как программно получить, что бы в дальнейшем взять данные из отчета и построить на основе этих данных печатную форму.
1 Alexaha
 
12.02.15
10:28
настройки СКД не помогают настроить печ форму?
2 Vvvvv
 
12.02.15
10:30
(1) Мне нужно получить результаты из отчета. Например сумму по контрагенту или сам контрагент.
3 Alexaha
 
12.02.15
10:34
(2) ну формируй отчет тоже программно с выгрузкой в ТЗ, например, и получай потом из нее все что хочешь
4 Vvvvv
 
12.02.15
10:37
(3) А ты не знаешь как выгрузить результат отчета в ТЗ?
5 Alexaha
 
12.02.15
10:39
у хрусталевой все хорошо расписано, на мисте в книге знаний наверняка есть
6 Vvvvv
 
12.02.15
10:43
(5) у меня есть эта книга и база с отчетами. Нету там ничего такого.
7 SUA
 
12.02.15
10:45
опять...
8 Alexaha
 
12.02.15
10:47
(6) мдааа...
есть там все

v8: СКД: Как программно запустить компоновку вместо кнопки "Сформировать"?
в ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент
заменить на ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений
9 Vvvvv
 
12.02.15
11:21
Написал следующий код. Теперь у меня выводится отчет два раза. Обычное приложение.
Есть реквизит "ДокументРезультат" - это поле табличного документа. Там по идеи должны хранится результаты, но ничего найти не могу, областей там нету.

Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    СтандартнаяОбработка = Истина;
    
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(ЭтотОбъект.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных"),ЭтотОбъект.КомпоновщикНастроек.Настройки,ДанныеРасшифровки);
    
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
    
    ПроцессорВывода =Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(ДокументРезультат);      
    ПроцессорВывода.НачатьВывод();
    
    Пока  Истина Цикл
        ЭлементРезультата = ПроцессорКомпоновки.Следующий();
        Если ЭлементРезультата = Неопределено Тогда
            Прервать;
        Иначе
            ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
        КонецЕсли;
    КонецЦикла;
    
    ПроцессорВывода.ЗакончитьВывод();
    
    ДокументРезультат.ОтображатьСетку = Ложь;
    ДокументРезультат.ОтображатьЗаголовки = Ложь;
    //ДокументРезультат.Показать();
КонецПроцедуры
10 Nuobu
 
12.02.15
12:09
(9)  СтандартнаяОбработка = Истина;
СтандартнаяОбработка = Ложь;
11 Mankubus
 
12.02.15
12:25
(9) надо выводить в таблицу или дерево значений
12 Vvvvv
 
12.02.15
12:32
Нашел в интернете код, он выводит результат запроса в СКД в текстовый документ. Вдруг кому пригодиться

Диалог = Новый ДиалогВыбораФайла(РежимДиалогаВыбораФайла.Сохранение);
    Диалог.Заголовок = "Выберите файл для сохранения данных";
    Диалог.ПолноеИмяФайла = "NDFL_"+Формат(НачПериода,"ДФ=MM_yyyy");
    Диалог.Фильтр = "TXT (*.txt)|*.txt";
    Диалог.МножественныйВыбор = Ложь; Диалог.Каталог = "D:\1234\";
    Если Диалог.Выбрать() Тогда
        ФайлСохранения = Диалог.ПолноеИмяФайла;
        //Выгрузим результат отчета СКД в Таблицу Значений    
        КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
        МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки, , , Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));
        ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных);
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
        ДанныеТЗ = Новый ТаблицаЗначений;
        ПроцессорВывода.УстановитьОбъект(ДанныеТЗ);
        ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
        
        //Выгрузим данные из Таблицы значений в Файл, запись данных в файл построчно
        Текст = Новый ЗаписьТекста(ФайлСохранения, КодировкаТекста.ANSI);
        Текст.ЗаписатьСтроку("Организация~КПП~Начислено13~Начислено30");
        
        Документ = новый ТабличныйДокумент;
        Для Каждого стр из ДанныеТЗ Цикл
            Текст.ЗаписатьСтроку(СокрЛП(Строка(стр.Организация))+"~"+СокрЛП(стр.ПодразделениеОрганизацииКПП)+"~"+Формат(стр.Начислено13,"ЧГ=0")+"~"+Формат(стр.Начислено30,"ЧГ=0"));
        КонецЦикла;
        Текст.Закрыть();
    КонецЕсли;
Здесь можно обсудить любую тему при этом оставаясь на форуме для 1Сников, который нужен для работы. Ymryn