Имя: Пароль:
1C
1С v8
Программный вывод отчета СКД
0 Casper211
 
30.11.17
13:58
УПП 8.3 ОФ
Сделал отчет на СКД. Необходимо выгрузить его в ТС, добавить программно ФИО контрагента, загрузить обратно в СКД и программно вывести его в таб док

запрос СКД

ВЫБРАТЬ ПЕРВЫЕ 25
    ПродажиОбороты.Номенклатура,
    ПродажиОбороты.ЗаказПокупателя,
    ПродажиОбороты.ДокументПродажи,
    ПродажиОбороты.Организация,
    ПродажиОбороты.Контрагент,
    "        " КАК ФИО,
    ПродажиОбороты.КоличествоОборот,
    ПродажиОбороты.СтоимостьОборот,
    ПродажиОбороты.ДокументПродажи.Дата
ИЗ
    РегистрНакопления.Продажи.Обороты(&НачалоПериода, &КонецПериода, Период, ) КАК ПродажиОбороты


//Вывод результата в ТаблицуЗначений

Процедура ВывестиВТаблицуЗначений()   Экспорт
    СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(
        СхемаКомпоновкиДанных,
        КомпоновщикНастроек.Настройки,,,
        Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений"));    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений;
    Результат = Новый ТаблицаЗначений;
    ПроцессорВывода.УстановитьОбъект(Результат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);
    Для каждого ИсхСтрока Из Результат Цикл
        ИсхСтрока.ФИО =ФамилияИнициалыФизЛица(?(ИсхСтрока.Контрагент= Неопределено,"",ИсхСтрока.Контрагент.Наименование));
    КонецЦикла;
КонецПроцедуры


а теперь надо загрузить обратно в СКД и вывести программно, как это сделать?как просто программно вывести я нашел



//Вывод результата в ТабличныйДокумент
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
    
    СтандартнаяОбработка = Ложь;
        
    КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,
                        КомпоновщикНастроек.Настройки,,,
                        Тип("ГенераторМакетаКомпоновкиДанных "));
    
    ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
    ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
    
    ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
    Результат = Новый ТабличныйДокумент;
    ПроцессорВывода.УстановитьДокумент(Результат);
    ПроцессорВывода.Вывести(ПроцессорКомпоновки);    
    ДокументРезультат.Вывести(Результат);
    
КонецПроцедуры
1 Casper211
 
30.11.17
14:00
+ чтоб были все расшифровки
2 Гипервизор
 
30.11.17
14:03
Загнать в СКД как внешний набор данных, в схеме описать поля как набор данных объект.
3 vicof
 
30.11.17
14:05
(0) Лечение гланд через жпо.