Набор данных ОБЪЕКТ для Универсального отчета

07.02.24

Разработка - Инструментарий разработчика

В конфигурации ERP присутствует объект Универсальный отчет. Он позволяет построить в пользовательском режиме отчет с помощью настройки СКД. Однако на текущий момент нет возможности использовать в нём такой набор данных, как объект. Данное расширение призвано устранить этот пробел.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
Набор данных ОБЪЕКТ для Универсального отчета:
.cfe 21,76Kb
1
1 Скачать (1 SM) Купить за 1 850 руб.

В конфигурации ERP присутствует объект Универсальный отчет. Он позволяет построить в пользовательском режиме отчет с помощью настройки СКД. Однако на текущий момент нет возможности использовать в нём такой набор данных, как объект. При редактировании схемы можно создать набор данных объект, но требуется место в базе, которое позволит хранить в себе таблицы значений или алгоритмы их создания для последующего помещения в СКД в процедуру при компоновке. Изменение модуля Универсального отчета в расширении приведено ниже:

&Вместо("ПриКомпоновкеРезультата")
Процедура РУО_ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	Настройки = КомпоновщикНастроек.ПолучитьНастройки();
	
	Отчеты.УниверсальныйОтчет.ВывестиКоличествоПодчиненныхЗаписей(Настройки, СхемаКомпоновкиДанных, СтандартнаяОбработка);
	
	ЗаменитьЗначенияПараметровНаПредставления(Настройки, Настройки.ДополнительныеСвойства.ДоступныеЗначения);
	
	КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
	МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки);
	
	ВнешниеДанные = Новый Структура;
	РУО_ПолучитьОбъектныеДанные(ВнешниеДанные, МакетКомпоновки.НаборыДанных);   
	
	Если ВнешниеДанные.Количество() > 0 Тогда
		СтандартнаяОбработка = Ложь;
	КонецЕсли; 
			
	Если СтандартнаяОбработка Тогда 
		Возврат;
	КонецЕсли;
	
	ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
	ПроцессорКомпоновки.Инициализировать(МакетКомпоновки, ВнешниеДанные, ДанныеРасшифровки);
	
	ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
	ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
	ПроцессорВывода.Вывести(ПроцессорКомпоновки);

КонецПроцедуры

Процедура "РУО_ПолучитьОбъектныеДанные" определяет, есть ли в схеме универсального отчета наборы данных - объекты, и заполняет их данными.

Процедура РУО_ПолучитьОбъектныеДанные(ДанныеВВидеСтруктуры, НаборыДанных)
	
	Для Каждого НаборДанных Из НаборыДанных Цикл
		
		Если ТипЗнч(НаборДанных) = Тип("НаборДанныхОбъединениеМакетаКомпоновкиДанных") Тогда
			
			РУО_ПолучитьОбъектныеДанные(ДанныеВВидеСтруктуры, НаборДанных.Элементы);  
			
		ИначеЕсли ТипЗнч(НаборДанных) =  Тип("НаборДанныхОбъектМакетаКомпоновкиДанных") Тогда
			
			ДанныеВВидеСтруктуры.Вставить(НаборДанных.ИмяОбъекта,
															РегистрыСведений.РУО_АлгоритмыПолученияДанных.Данные(НаборДанных.Имя,НаборДанных.ИмяОбъекта));
			
		КонецЕсли;
		
	КонецЦикла;
	
КонецПроцедуры

Если встречается набор данных Объединение, то обрабатываются и вложенные наборы данных. Процедура обращается к модулю менеджера регистра сведений РУО_АлгоритмыПолученияДанных для получения сформированной таблицы значений с данными для отчета.

Функция "Данные" в модуле менеджера регистра сведений находит запись по именам набора и объекта, обрабатывает алгоритм создания данных или извлекает уже готовую таблицу значений, а далее возвращает данные обратно в модуль универсального отчета.

Функция Данные(ИмяНабора,ИмяОбъекта) Экспорт
	
	Перем Данные;
	
	ЗаписьАлгоритмаПолученияДанных = РегистрыСведений.РУО_АлгоритмыПолученияДанных.Получить(Новый Структура("ИмяНабора,ИмяОбъекта",ИмяНабора, ИмяОбъекта));
	ГотоваяТаблица = ЗаписьАлгоритмаПолученияДанных.ГотоваяТаблица;
	Алгоритм = ЗаписьАлгоритмаПолученияДанных.Алгоритм;
	
	Если ГотоваяТаблица Тогда
		Чтение = Новый ЧтениеJSON;
		Чтение.УстановитьСтроку(Алгоритм);
		Попытка
			Данные = СериализаторXDTO.ПрочитатьJSON(Чтение);
		Исключение 
	    	ТекстКомментария = ОписаниеОшибки();
	    	ЗаписьЖурналаРегистрации("Для набора " + ИмяНабора + " и объекта " + ИмяОбъекта + " выявлена проблема", УровеньЖурналаРегистрации.Ошибка,,,ТекстКомментария);			
		КонецПопытки;
		Чтение.Закрыть();	
	Иначе
		Выполнить(Алгоритм);   
	КонецЕсли;
	
	Возврат Данные;
	
КонецФункции   

Регистр сведений состоит из измерений ИмяНабора, ИмяОбъекта и ресурсов ГотоваяТаблица (признак того, что данные формируются программно или записаны в json-формате) и Алгоритм

В форме списка регистра есть возможность загрузить данные из таблицы Excel или создать программно таблицу значений на форме, заполнить её интерактивно и поместить в отдельную запись в регистре.

Пример загрузки из файла Excel:

 

 

Пример интерактивного формирования таблицы значений:

 

 

Сформированные таблицы помещаются в записи регистра сведений в формате JSON. При этом флаг "Готовая таблица" проставляется автоматически. 

При создании новой записи в РС в поле Алгоритм можно прописать программный код для формирования таблицы значений, в этом случае флаг "Готовая таблица" не устанавливается. 

 

 

После того, как данные помещены в регистр сведений, на первой закладке "Список записей" можно выгрузить заготовку схемы СКД в файл, предварительно указав путь и нажав кнопку "Получить схему СКД по строке".

Полученная схема может быть загружена в Универсальный отчет и использована при составлении отчета, основанного на данных, хранящихся в регистре сведений.


 

Расширение тестировалось на платформе 1С 8.3.23.1865.

Проверено на следующих конфигурациях и релизах:

  • 1С:ERP Управление предприятием 2, релизы 2.5.12.208

Универсальный отчет Набор данных объект

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    177992    988    403    

945

Инструментарий разработчика Чистка данных Свертка базы Инструменты администратора БД Системный администратор Программист Руководитель проекта Платформа 1С v8.3 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Платные (руб)

Инструмент представляет собой обработку для проведения свёртки или обрезки баз данных. Работает на ЛЮБЫХ конфигурациях (УТ, БП, ERP, УНФ, КА и т.д.). Поддерживаются серверные и файловые базы, управляемые и обычные формы. Может выполнять свертку одновременно в несколько потоков. А так же автоматически, без непосредственного участия пользователя. Решение в Реестре отечественного ПО

8400 руб.

20.08.2024    19504    131    70    

131

Пакетная печать Печатные формы Инструментарий разработчика Программист Платформа 1С v8.3 Запросы 1С:Зарплата и кадры бюджетного учреждения 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 Платные (руб)

Инструмент, позволяющий абсолютно по-новому взглянуть на процесс разработки печатных форм. Благодаря конструктору можно значительно снизить затраты времени на разработку печатных форм, повысить качество и "прозрачность" разработки, а также навести порядок в многообразии корпоративных печатных форм.

22200 руб.

06.10.2023    18827    50    19    

82

Инструменты администратора БД Инструментарий разработчика Роли и права Программист Платформа 1С v8.3 1C:Бухгалтерия Россия Платные (руб)

Расширение позволяет без изменения кода конфигурации выполнять проверки при вводе данных, скрывать от пользователя недоступные ему данные, выполнять код в обработчиках. Не изменяет данные конфигурации, легко устанавливается практически на любую конфигурацию на управляемых формах.

15000 руб.

10.11.2023    12845    53    33    

72

Инструментарий разработчика Программист Платформа 1С v8.3 Платные (руб)

Инструмент для написания и отладки кода в режиме «1С:Предприятие». Представляет собой консоль кода с возможностью пошаговой отладки, просмотра значений переменных любых типов, использования процедур и функций, просмотра стека вызовов, вычисления произвольных выражений на встроенном языке в контексте точки останова, синтаксического контроля и остановки по ошибке. В консоли используется удобный редактор кода с подсветкой, контекстной подсказкой, возможностью вызова конструкторов запроса и форматной строки.

9360 руб.

17.05.2024    29008    100    48    

146

Инструментарий разработчика Программист 8.3.14 Россия Платные (руб)

Расширение для конфигурации “Конвертация данных 3”. Добавляет подсветку синтаксиса, детальную контекстную подсказку, глобальный поиск по коду.

20000 руб.

07.10.2021    18651    7    32    

43

Инструментарий разработчика Платформа 1С v8.3 1C:Бухгалтерия 1С:ERP Управление предприятием 2 Платные (руб)

Разработка Конструктор автоматизированных рабочих мест "Конструктор АРМ" реализована в виде расширения и является универсальным инструментом для создания АРМ любой сложности в пользовательском режиме.

3600 руб.

27.12.2024    1739    2    0    

5
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. lexev 28.10.24 14:31 Сейчас в теме
Интересное решение, серьезно расширяет универсальность Универсального отчета (не побоюсь использовать тавтологию в данном случае). В условиях, когда пользователи генерируют задачи по отчетам с завидной частотой, очень поможет ускорить процесс
Оставьте свое сообщение