Хочу разобраться как программно можно вывести отчет в СКД. (Причина в том, что нужен был многоступенчатый отчет по всему производственному циклу изготовления продукции. И на скд одним запросом сделать не получилось. Получалось сделать табличный ручной отчет через макет. А сам запрос пакетный, через менеджер запросов.) Интересно попробовать сделать тоже самое программно в скд с группировками и расшифровками. Нашел курсы по скд с программной настройкой СКД, написал простой запрос и вывел в отчет. А вот программный код не пошел В чем ошибка подскажете?
ошибка
каким боком тут
ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки
Процедура ОтчетНажатие(Элемент)
СхемаКомпоновки = Отчеты.ОтчетПоСкладам.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
НастройкиКомпоновки = СхемаКомпоновки.НастройкиПоУмолчанию;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновки, НастройкиКомпоновки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ТабДок=Новый ТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
ТабДок.Показать();
КонецПроцедуры
Показатьошибка
{Отчет.Отчет7.Форма.ФормаОтчета.Форма(6)}: Ошибка при вызове метода контекста (Выполнить)
МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновки, НастройкиКомпоновки);
по причине:
Ошибка компоновки макета
по причине:
Ошибка генерации макета
по причине:
Ошибка получения информации набора данных
по причине:
Ошибка в запросе набора данных
по причине:
{(7, 2)}: Таблица не найдена "РегистрНакопления.ТоварныеЗапасы.Обороты"
<<?>>РегистрНакопления.ТоварныеЗапасы.Обороты КАК ТоварныеЗапасыОбороты
Показатькаким боком тут
Таблица не найдена "РегистрНакопления.ТоварныеЗапасы.Обороты"
<<?>>РегистрНакопления.ТоварныеЗапасы.Обороты КАК ТоварныеЗапасыОбороты
в отчете об этом регистре нет совсем ни строчки
<<?>>РегистрНакопления.ТоварныеЗапасы.Обороты КАК ТоварныеЗапасыОбороты
<?xml version="1.0" encoding="UTF-8"?>
<DataCompositionSchema xmlns="http://v8.1c.ru/8.1/data-composition-system/schema" xmlns:dcscom="http://v8.1c.ru/8.1/data-composition-system/common" xmlns:dcscor="http://v8.1c.ru/8.1/data-composition-system/core" xmlns:dcsset="http://v8.1c.ru/8.1/data-composition-system/settings" xmlns:v8="http://v8.1c.ru/8.1/data/core" xmlns:v8ui="http://v8.1c.ru/8.1/data/ui" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<dataSource>
<name>ИсточникДанных1</name>
<dataSourceType>Local</dataSourceType>
</dataSource>
<dataSet xsi:type="DataSetQuery">
<name>НаборДанных1</name>
<field xsi:type="DataSetFieldField">
<dataPath>Склад</dataPath>
<field>Склад</field>
<role>
<dcscom:dimension>true</dcscom:dimension>
</role>
<appearance/>
<inputParameters/>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>Номенклатура</dataPath>
<field>Номенклатура</field>
<role>
<dcscom:dimension>true</dcscom:dimension>
</role>
<appearance/>
<inputParameters/>
</field>
<field xsi:type="DataSetFieldField">
<dataPath>КоличествоОстаток</dataPath>
<field>КоличествоОстаток</field>
<appearance/>
<inputParameters/>
</field>
<dataSource>ИсточникДанных1</dataSource>
<query>ВЫБРАТЬ
ТоварыНаСкладахОстатки.Склад,
ТоварыНаСкладахОстатки.Номенклатура,
ТоварыНаСкладахОстатки.КоличествоОстаток
ИЗ
РегистрНакопления.ТоварыНаСкладах.Остатки КАК ТоварыНаСкладахОстатки</query>
</dataSet>
<parameter>
<name>Период</name>
<title xsi:type="v8:LocalStringType">
<v8:item>
<v8:lang>ru</v8:lang>
<v8:content>Период</v8:content>
</v8:item>
</title>
<valueType>
<v8:Type>xs:dateTime</v8:Type>
<v8:DateQualifiers>
<v8:DateFractions>DateTime</v8:DateFractions>
</v8:DateQualifiers>
</valueType>
<value xsi:type="xs:dateTime">0001-01-01T00:00:00</value>
<useRestriction>false</useRestriction>
<inputParameters/>
</parameter>
<settingsVariant>
<dcsset:name>Основной</dcsset:name>
<dcsset:presentation xsi:type="xs:string">Основной</dcsset:presentation>
<dcsset:settings xmlns:style="http://v8.1c.ru/8.1/data/ui/style" xmlns:sys="http://v8.1c.ru/8.1/data/ui/fonts/system" xmlns:web="http://v8.1c.ru/8.1/data/ui/colors/web" xmlns:win="http://v8.1c.ru/8.1/data/ui/colors/windows">
<dcsset:selection>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Склад</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>Номенклатура</dcsset:field>
</dcsset:item>
<dcsset:item xsi:type="dcsset:SelectedItemField">
<dcsset:field>КоличествоОстаток</dcsset:field>
</dcsset:item>
</dcsset:selection>
<dcsset:dataParameters/>
<dcsset:outputParameters/>
<dcsset:item xsi:type="dcsset:StructureItemGroup">
<dcsset:order>
<dcsset:item xsi:type="dcsset:OrderItemAuto"/>
</dcsset:order>
<dcsset:selection>
<dcsset:item xsi:type="dcsset:SelectedItemAuto"/>
</dcsset:selection>
<dcsset:outputParameters/>
</dcsset:item>
</dcsset:settings>
</settingsVariant>
</DataCompositionSchema>
ПоказатьПо теме из базы знаний
- Программная корректировка при выводе отчета СКД
- Варианты применения СКД вне отчетов в отраслевых конфигурациях
- Программная работа и компоненты СКД
- По-настоящему свои макеты в отчетах СКД. Исследование процесса компоновки и генерация кода отчета
- Расширение типового механизма настройки заполнения бухгалтерской отчетности (на примере конфигурации 1С:ERP. Управление холдингом 3.1.8.15)
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
А без пути к отчету будет работать? Если например это внешний отчет и он не зарегистрирован как внешний в программе
Например по аналогии с простыми отчетами и так работает
СхемаКомпоновкиДанных = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
Например по аналогии с простыми отчетами и так работает
Макет = ПолучитьМакет("Макет");
Вот так работает, но частично, на экран выводится только шапка отчета без данных.
а полный отчет с шапкой и с данными выводится на форму как обычно в СКД.
Как добиться чтобы в ТабДок программно выходили и данные тоже?
СхемаКомпоновки = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
НастройкиКомпоновки = СхемаКомпоновки.НастройкиПоУмолчанию;
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКомпоновки=КомпоновщикМакета.Выполнить(СхемаКомпоновки, НастройкиКомпоновки);
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(МакетКомпоновки);
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ТабДок=Новый ТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.Вывести(ПроцессорКомпоновки);
ТабДок.Показать();
Показатьа полный отчет с шапкой и с данными выводится на форму как обычно в СКД.
Как добиться чтобы в ТабДок программно выходили и данные тоже?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот