Versions Compared
compared with
Key
- This line was added.
- This line was removed.
- Formatting was changed.
Тип отчета «Программно» — это гибкий способ получения информации как из Системы компоновки данных, так и из объектов «1С: Предприятие» с использованием запросов.
Принцип работы основан на составлении программы выборки данных на языке программирования 1С.
Возможности
- доступ к любым объектам и методам платформы «1С: Предприятие» с соблюдением ролей пользователя;
- формирование отчетов на основе макетов СКД;
- доступ к виртуальным документам обработки Агент Плюс: Посещение, Мерчендайзинг, Задание, ПланПосещений.
Описание
При выборе типа отчета «Программно» вкладка «Текст программы» заполняется шаблоном.
Image Added
В шаблоне описана структура программы и доступные глобальные параметры и методы.
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//ШАБЛОН ПРОГРАММЫ:
//1. Глобальные параметры
//1.1 Параметры
// сзПараметры - СписокЗначений - Список значений из вкладки Параметры
// сзПараметры.Значение - Любой - Значение параметра
// сзПараметры.Представление - Строка - Имя параметра
// сзПараметры.Пометка - Булево - Признак "Использовать"
//1.2 Результат
// ТабличныйДокументРезультат - ТабличныйРезультат - Результат выполнения программы, при выгрузке данные из параметра будут сконвертированы в МУ.
//2. Макет схемы компоновки данных
СхемаКомпоновкиДанных = Отчеты.ЛюбойОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
//3. ВариантыНастроек
ВариантыНастроек = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; // Или другой: СхемаКомпоновкиДанных.ВариантыНастроек.Найти("СвойВариант");
//3. КомпоновщикНастроек
КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
КомпоновщикНастроек.ЗагрузитьНастройки(ВариантыНастроек);
//4. Установка параметров. сзПараметры - глобальный параметр
Для Каждого Элемент Из сзПараметры Цикл
ПараметрОтчета = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(Элемент.Представление));
Если ПараметрОтчета <> Неопределено Тогда
ПараметрОтчета.Использование = Элемент.Пометка;
ПараметрОтчета.Значение = Элемент.Значение;
КонецЕсли;
КонецЦикла;
//5. Вывод значений параметров в отчет (шапка отчета)
ПараметрВыводитьПараметры = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных"));
ПараметрВыводитьПараметры.Использование = Истина;
ПараметрВыводитьПараметры.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить
//6. Вывод значений отбора в отчет (шапка отчета)
ПараметрВыводитьОтбор = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор"));
ПараметрВыводитьОтбор.Использование = Истина;
ПараметрВыводитьОтбор.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить
//7. КомпоновщикМакетаКомпоновкиДанных
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
Настройки = КомпоновщикНастроек.Настройки;
МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
//8. ПроцессорКомпоновкиДанных
ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,,Истина);
//9. Результат выполнения. ТабличныйДокументРезультат - глобальный параметр
ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ТабличныйДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
|