Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Тип отчета «Программно» — это гибкий способ получения информации как из Системы компоновки данных, так и из объектов «1С: Предприятие» с использованием запросов.

Принцип работы основан на составлении программы выборки данных на языке программирования 1С.

Возможности

  • доступ к любым объектам и методам платформы «1С: Предприятие» с соблюдением ролей пользователя;
  • формирование отчетов на основе макетов СКД;
  • доступ к виртуальным документам обработки Агент Плюс: Посещение, Мерчендайзинг, Задание, ПланПосещений.

Описание

При выборе типа отчета «Программно» вкладка «Текст программы» заполняется шаблоном.


В шаблоне описана структура программы и доступные глобальные параметры и методы.

Code Block
languagejava
titleШаблон программы
linenumberstrue
collapsetrue
	
	//ШАБЛОН ПРОГРАММЫ: 
	
	//1. Глобальные параметры
	//1.1 Параметры
	//	сзПараметры					- СписокЗначений	- Список значений из вкладки Параметры
	//	сзПараметры.Значение		- Любой				- Значение параметра
	//	сзПараметры.Представление   - Строка			- Имя параметра
	//	сзПараметры.Пометка         - Булево			- Признак "Использовать"
	//1.2 Результат
	//	ТабличныйДокументРезультат  - ТабличныйРезультат - Результат выполнения программы, при выгрузке данные из параметра будут сконвертированы в МУ. 
	                                                   
	//2. Макет схемы компоновки данных
	СхемаКомпоновкиДанных = Отчеты.ЛюбойОтчет.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
	
	//3. ВариантыНастроек 
	ВариантыНастроек = СхемаКомпоновкиДанных.НастройкиПоУмолчанию; // Или другой: СхемаКомпоновкиДанных.ВариантыНастроек.Найти("СвойВариант");	
	
	//3. КомпоновщикНастроек
	КомпоновщикНастроек = Новый КомпоновщикНастроекКомпоновкиДанных;
	КомпоновщикНастроек.Инициализировать(Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
	КомпоновщикНастроек.ЗагрузитьНастройки(ВариантыНастроек);	
	
	//4. Установка параметров. сзПараметры - глобальный параметр                                              
	Для Каждого Элемент Из сзПараметры Цикл 
		ПараметрОтчета = КомпоновщикНастроек.Настройки.ПараметрыДанных.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных(Элемент.Представление));
		Если ПараметрОтчета <> Неопределено Тогда
			ПараметрОтчета.Использование = Элемент.Пометка;
			ПараметрОтчета.Значение 	 = Элемент.Значение;
		КонецЕсли;
	КонецЦикла;
	
	//5. Вывод значений параметров в отчет (шапка отчета)
	ПараметрВыводитьПараметры = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьПараметрыДанных"));
	ПараметрВыводитьПараметры.Использование = Истина;
	ПараметрВыводитьПараметры.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить
	
	//6. Вывод значений отбора в отчет (шапка отчета)
	ПараметрВыводитьОтбор = КомпоновщикНастроек.Настройки.ПараметрыВывода.НайтиЗначениеПараметра(Новый ПараметрКомпоновкиДанных("ВыводитьОтбор"));
	ПараметрВыводитьОтбор.Использование = Истина;
	ПараметрВыводитьОтбор.Значение = ТипВыводаТекстаКомпоновкиДанных.Выводить; //Или ТипВыводаТекстаКомпоновкиДанных.НеВыводить
	
	//7. КомпоновщикМакетаКомпоновкиДанных 
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	Настройки = КомпоновщикНастроек.Настройки;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки);
	
	//8. ПроцессорКомпоновкиДанных
	ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки,,,Истина);
	
	//9. Результат выполнения. ТабличныйДокументРезультат - глобальный параметр
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ТабличныйДокументРезультат); 
	ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных);
	



Создание отчета

Рассмотрим два примера создания отчета методом «Программно»: с использованием Системы компоновки данных (СКД) и запросов.

Создание отчета с использованием СКД


Создание отчета с выборкой данных через запрос




Продолжение следует...