Универсальный отчет по метаданным, практика использования.
По теме из базы знаний
- Типовая борьба - личный опыт работы с типовыми конфигурациями 1С:8
- УМП - Универсальный механизм планирования
- Конфигурация Flowcon: Набор инструментов для управления задачами, проектами и бизнесом в 1С
- Работа с журналом регистрации. Выходим за границы платформы
- Система управления интеграциями на базе 1С:Шины
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(9)
//1. создаем схему компоновки данных
СхемаКомпоновкиДанных = Новый СхемаКомпоновкиДанных;
//1.1 определяем источник данных для схемы
//для наших целей - текущая ИБ
Источник = СхемаКомпоновкиДанных.ИсточникиДанных.Добавить();
Источник.Имя = "ЛокальнаяБаза";
Источник.СтрокаСоединения = "";
Источник.ТипИсточникаДанных = "Local";
//1.2 определяем набор данных
НаборДанных = СхемаКомпоновкиДанных.НаборыДанных.Добавить(Тип("НаборДанныхЗапросСхемыКомпоновкиДанных"));
НаборДанных.Имя = "Продажи";
НаборДанных.ИсточникДанных = "ЛокальнаяБаза";
НаборДанных.АвтоЗаполнениеДоступныхПолей = Истина;
НаборДанных.Запрос = (
"ВЫБРАТЬ
| РеализацияТоваровУслугТовары.Номенклатура КАК Номенклатура,
| РеализацияТоваровУслугТовары.Сумма КАК СтоимостьОборот
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары"
);
//1.2.1 добавляем поля
ПолеНоменклатуры = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
ПолеНоменклатуры.Заголовок = "Номенклатура";
ПолеНоменклатуры.ПутьКДанным = "Номенклатура";
ПолеНоменклатуры.Поле = "Номенклатура";
ПолеСтоимости = НаборДанных.Поля.Добавить(Тип("ПолеНабораДанныхСхемыКомпоновкиДанных"));
ПолеСтоимости.Заголовок = "Стоимость";
ПолеСтоимости.ПутьКДанным = "СтоимостьОборот";
ПолеСтоимости.Поле = "Номенклатура";
//1.3 определяем ресурсы
ПолеРесурса = СхемаКомпоновкиДанных.ПоляИтога.Добавить();
ПолеРесурса.Выражение = "Сумма(СтоимостьОборот)";
ПолеРесурса.ПутьКДанным = "СтоимостьОборот";
//2. создаем настройки для схемы
НастройкиКомпоновкиДанных = СхемаКомпоновкиДанных.НастройкиПоУмолчанию;
//2.1 определяем структуру
//2.1.1 добавляем группировку "Номенклатура"
ГруппировкаНоменклатуры = НастройкиКомпоновкиДанных.Структура.Добавить(Тип("ГруппировкаКомпоновкиДанных"));
ПолеГруппировки = ГруппировкаНоменклатуры.ПоляГруппировки.Элементы.Добавить(Тип("ПолеГруппировкиКомпоновкиДанных"));
ПолеГруппировки.Использование = Истина;
ПолеГруппировки.Поле = Новый ПолеКомпоновкиДанных("Номенклатура");
//2.2 определим выбранные поля
ВыбранноеПоле = НастройкиКомпоновкиДанных.Выбор.Элементы.Добавить(Тип("ВыбранноеПолеКомпоновкиДанных"));
ВыбранноеПоле.Заголовок = "Стоимость";
ВыбранноеПоле.Использование = Истина;
ВыбранноеПоле.Поле = Новый ПолеКомпоновкиДанных("СтоимостьОборот");
//3. компонуем
КомпНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпНастроек.ЗагрузитьНастройки(НастройкиКомпоновкиДанных);
НастройкиКомпоновкиДанных = КомпНастроек.ПолучитьНастройки();
//4. готовим макет
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновкиДанных);
//5. исполняем макет
ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновки.Инициализировать(Макет);
ПроцессорКомпоновки.Сбросить();
//6. выводим результат
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ТабДок = Новый ТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабДок);
ПроцессорВывода.НачатьВывод();
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
Пока ЭлементРезультата <> Неопределено Цикл
ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
ЭлементРезультата = ПроцессорКомпоновки.Следующий();
КонецЦикла;
ПроцессорВывода.ЗакончитьВывод();
ТабДок.Показать();
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот