|   |   | 
| 
 | как программно прочитать результат СКД | ☑ | ||
|---|---|---|---|---|
| 0
    
        New_Tesla 15.08.22✎ 18:05 | 
        Всем привет!
 вот такой вопрос нынче возник попрочили сделать несколько отчетов но все они основаны на расчетной ведомости , поэтому хочу просто читать ее резуьтат и выводить в удобной форме так вот: расчетная ведомость не вызывает процедуру "при компоновке результата" я стараюсь сразу в той процедуре где идет формирование прочитать но! ругаетси! ЧДЯНТ? Функция СформироватьОтчет(Результат = Неопределено, ДанныеРасшифровки = Неопределено, ВыводВФормуОтчета = Истина, ЭтоФормаОтчета = Ложь) Экспорт Если ДанныеРасшифровки = Неопределено Тогда ДанныеРасшифровки = Новый ДанныеРасшифровкиКомпоновкиДанных; КонецЕсли; НастрокаПоУмолчанию = КомпоновщикНастроек.ПолучитьНастройки(); ТиповыеОтчеты.ПолучитьПримененуюНастройку(ЭтотОбъект); ЗначениеВыводитьПодписи = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПодписи")); ВыводитьПодписи = ЗначениеВыводитьПодписи.Значение; Для Каждого ЭлементОтбора Из КомпоновщикНастроек.Настройки.Отбор.Элементы Цикл Если ТипЗнч(ЭлементОтбора) = Тип("ЭлементОтбораКомпоновкиДанных") И ЭлементОтбора.Использование Тогда Если ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("Организация") Тогда ЗначениеОтбора = ЭлементОтбора.ПравоеЗначение; КонецЕсли; КонецЕсли; КонецЦикла; Если НЕ ЭтоФормаОтчета Тогда ВыводитьПодписи = Истина; ИначеЕсли ЗначениеОтбора = Неопределено Тогда ВыводитьПодписи = Ложь; ИначеЕсли ТипЗнч(ЗначениеОтбора) = Тип("СписокЗначений") Тогда ВыводитьПодписи = ВыводитьПодписи И ЗначениеОтбора.Количество() = 1; ИначеЕсли ТипЗнч(ЗначениеОтбора) = Тип("СправочникСсылка.Организации") Тогда ВыводитьПодписи = ВыводитьПодписи И ЗначениеЗаполнено(ЗначениеОтбора); КонецЕсли; УстановитьВыводДополнительнойИнформации(КомпоновщикНастроек.Настройки.Структура, ВыводитьПодписи); ТиповыеОтчеты.СформироватьТиповойОтчет(ЭтотОбъект, Результат, ДанныеРасшифровки, ВыводВФормуОтчета); КомпоновщикНастроек.ЗагрузитьНастройки(НастрокаПоУмолчанию); УправлениеОтчетами.УстановитьЗапросыСКДПоСоответсвию(СхемаКомпоновкиДанных.НаборыДанных, СоответствиеНаборовДанныхИЗапросов); ЧтоТОНаСервере(СхемаКомпоновкиДанных,КомпоновщикНастроек); Возврат Результат; КонецФункции &НаСервере Процедура ЧтоТоНаСервере(СхемаКомпоновкиДанных,КомпоновщикНастроек) КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновкиДанных,,,); Таблица = Новый ТаблицаЗначений; // Получение результата ПроцессорВыводаРезультатаКомпоновкиДанных = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВКоллекциюЗначений; ПроцессорВыводаРезультатаКомпоновкиДанных.УстановитьОбъект(Таблица); ПроцессорВыводаРезультатаКомпоновкиДанных.Вывести(ПроцессорКомпоновкиДанных); КонецПроцедуры | |||
| 1
    
        New_Tesla 15.08.22✎ 18:07 | 
        выходит ошибка
 {Отчет.РасчетныеВедомостиОрганизаций.МодульОбъекта(110)}: Ошибка при вызове метода контекста (Выполнить) МакетКомпоновкиДанных = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, КомпоновщикНастроек.Настройки,,,Тип("ГенераторМакетаКомпоновкиДанныхДляКоллекцииЗначений")); по причине: Ошибка компоновки макета по причине: Ошибка генерации макета по причине: Не поддерживается вывод таблиц, диаграмм и вложенных отчетов в универсальную коллекцию значений | |||
| 2
    
        DTX 4th 15.08.22✎ 18:13 | 
        А что в ошибке то непонятно?
 Покажи структуру отчета. | |||
| 3
    
        New_Tesla 15.08.22✎ 18:26 | 
        (2)что такое "структура отчета"?
 и почему не поддерживается то? | |||
| 4
    
        New_Tesla 15.08.22✎ 18:26 | 
        я хочу српос скд вывести)     | |||
| 5
    
        New_Tesla 15.08.22✎ 18:28 | 
        а, понял  мы можем вывести в таблицу знаений только линейюную скд?
 а как тогда прочитьа? куда вывести ? просто результат по областям читать тож не вариант))) | |||
| 6
    
        New_Tesla 15.08.22✎ 18:28 | 
        т.к сам отчет состоит из таблицы     | |||
| 7
    
        DTX 4th 15.08.22✎ 18:30 | 
        (3) Закладка СКД
 Что ты ожидаешь увидеть при выгрузке диаграммы в таблицу значений? 
 | |||
| 8
    
        New_Tesla 15.08.22✎ 18:40 | 
        (7) ты прав старче, там таблица
 ка ксюда скрин пометить хз в таблице несколько колонок крч лучше все вывести линейно а потом прочитать, верн? | |||
| 9
    
        DTX 4th 15.08.22✎ 18:51 | 
        Ну либо в табличный документ.     | |||
| 10
    
        New_Tesla 15.08.22✎ 18:55 | 
        да, но как потом таблицный документ мне прочитать? по областям ?     | |||
| 11
    
        DTX 4th 15.08.22✎ 19:09 | 
        Читать ТД я бы не стал. Думал, может файл просто сохранить надо.
 Если есть возможность вывести в плоскую структуру, выглядит как выход. | |||
| 12
    
        Гений 1С гуру 15.08.22✎ 19:10 | 
        (11) неплоскую можно в Дерево выгружать вроде как.     | |||
| 13
    
        New_Tesla 15.08.22✎ 19:10 | 
        да, думаю взять запросы из расчетки , там параметров не так много
 создать новый отчет и его уже выводить универсльно через таблицу значений) потом напишу | |||
| 14
    
        Гений 1С гуру 15.08.22✎ 19:11 | 
        (13) у СКД есть функция, которая возвращает ее финальный запрос. Можно его выполнить, а выгружать уже самому.     | |||
| 15
    
        New_Tesla 15.08.22✎ 19:12 | 
        (14) ого! реал гениально!) ща поищем)     | |||
| 16
    
        DTX 4th 15.08.22✎ 19:50 | 
        (14) О какой функции речь?     | |||
| 17
    
        Гений 1С гуру 15.08.22✎ 20:39 | 
        (16) (15) https://open-budget.ru/public/1067260/
 Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) СтандартнаяОбработка=ложь; НастройкиОтчета = КомпоновщикНастроек.ПолучитьНастройки(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиОтчета, ДанныеРасшифровки); сообщить(МакетКомпоновки.НаборыДанных.НаборДанных1.Запрос); КонецПроцедуры | |||
| 18
    
        mikecool 15.08.22✎ 20:56 | 
        (0) "но все они основаны на расчетной ведомости
 , поэтому хочу просто читать ее резуьтат и выводить в удобной форме " автор, тебе точно не варианты отчета нужны? | |||
| 19
    
        New_Tesla 15.08.22✎ 21:34 | 
        (18) не, там вывод вертолетами в поперекрестье)     | |||
| 20
    
        New_Tesla 15.08.22✎ 21:42 | 
        (17) да, в принипе норм, спасибо!
 просто там тдет обединение в самой скд и поэтому запросов несколько (по осмс, ипн и тд) ну ниче либо одновременно либо поочереи буду вызывать СПАСИБО | |||
| 21
    
        DTX 4th 16.08.22✎ 17:33 | 
        (17) Хм, я же гуглил
 Интересно, попробую запомнить, спасибо | 
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |