Исправление проблем со встраиванием внешних отчетов в УНФ 1.6

Опубликовал Руслан Шапиев (TheRealStanly) в раздел Программирование - Работа с интерфейсом

В УНФ 1.6 (тестил на версии 1.6.7.43) существуют следующие проблемы: 1. при встраивании доп. отчета в базу, он не отображается, пока не собьешь фильтр подсистемы 2. при встраивании доп. отчета в базу, отсутствует команда «Дополнительные отчеты» (по аналогии с командной «Дополнительные обработки») . В статье описывается решение перечисленных проблем.

В УНФ 1.6 (тестил на версии 1.6.7.43 существуют следующие проблемы: 
1. При встраивании доп. отчета в базу, он не отображается, пока не собьешь фильтр подсистемы

Это исправляется следующим образом:

  1. Находим через все функции «Настройки вариантов отчетов УНФ» и находим наименование вариантов, которые содержит наш отчет. (Если записи нет, добавляем)
  2. В поле тег пишем точное наименование подсистемы, в нашем случае это «Продажи»
  3. Записываем, закрываем и смотрим результат

2. При встраивании доп. отчета в базу, отсутствует команда «Дополнительные отчеты» (по аналогии с командной «Дополнительные обработки») 

Это связано с тем, что в УНФ 1.6 в самой конфигурации отсутствуют команды по вызову дополнительных отчетов из подсистем (по аналогии с вызовом дополнительных обработок)

Проблема решается следующим образом:

  1. В конфигураторе добавляем команду по вызову дополнительных отчетов в общие команды (по команде на каждую подсистему). Например, сделаем команду «Дополнительные отчеты» для подсистемы «Продажи». Назовем её «ДополнительныеОтчетыМаркетингИПродажи».
  2. В модуль команды добавим следующий код:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	
	ДополнительныеОтчетыИОбработкиКлиент.ОткрытьФормуКомандДополнительныхОтчетовИОбработок(
			ПараметрКоманды,
			ПараметрыВыполненияКоманды,
			ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет(),
			"МаркетингИПродажи"); //наименование подсистемы. В нашем случае «МаркетингИПродажи»
	
КонецПроцедуры

  1. Укажем, в какой подсистеме будет использоваться команда. В нашем случае – это «МаркетингИПродажи»
  2. Добавим права на просмотр команды для ролей «БазовыеПраваУНФ» и «ПолныеПрава»
  3. Включим у команды функциональную опцию «ИспользоватьДополнительныеОтчетыИОбработки»
  4. Обновляем конфигурацию. Если команда не появилась, настраиваем панель действий для подсистем. ПОВТОРЯЮ: для каждой подсистемы необходимо создавать отдельную команду по вызову дополнительных отчетов

См. также

Комментарии
1. Алекс (user610297_agsh) 08.02.17 10:13 Сейчас в теме
Автору респект! Полдня бился с подключением отчета!
2. Иван Грухин (bolshoi) 22.03.17 13:14 Сейчас в теме
Вариант решения проблемы из п.1:

В свойствах отчета (через "Действия - Свойства") указать хранилище вариантов "ХранилищеВариантовОтчета".
В модуль отчета добавить процедуру:
Процедура ПриОпределенииНастроекОтчета(НастройкиОтчета, НастройкиВариантов) Экспорт
	
	СтруктураНастроек = НастройкиВариантов.Получить("ИмяВарианта"); // имя варианта из СКД
	Если ТипЗнч(СтруктураНастроек) = Тип("Структура") Тогда
		СтруктураНастроек.Вставить("Теги", НСТР("ru = 'Производство,Продукция,Операции'"));
		СтруктураНастроек.Вставить("ИмяМакетаОбразца", "ОбразецОсновной"); // имя макета с картинкой-миниатюрой отчета
	КонецЕсли;
	
КонецПроцедуры
...Показать Скрыть

При добавлении отчета в справочник доп. отчетов и обработок нужно будет разместить вариант отчета в нужном разделе.

Проверялось в УНФ 1.6.8.28 и 1.6.9.36.
Gizmo_esu; edip; +2 Ответить