|
как программно прочитать результат СКД | ☑ | ||
---|---|---|---|---|
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) Хм, я же гуглил
Интересно, попробую запомнить, спасибо |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |