БСП разместить а разделе команду открытия варианта отчета

1. HAMMER_59 245 13.08.18 15:31 Сейчас в теме
Реализовал следующим образом

&НаСервере
Функция ПолучитьВариант()
	// Вставить содержимое обработчика.
	УниверсальныйОтчет = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоРеквизиту("ПолноеИмя", "Отчет.УниверсальныйОтчет");
	Вариант = ВариантыОтчетов.ВариантОтчета(УниверсальныйОтчет, "bda10821-4b41-4ce0-80f4-c66a04843439");
	Возврат Вариант;
КонецФункции

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	//Вставить содержимое обработчика.
	//ПараметрыФормы = Новый Структура("", );
	//ОткрытьФорму("ОбщаяФорма.", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
	Вариант = ПолучитьВариант();
	ВариантыОтчетовКлиент.ОткрытьФормуОтчета(Неопределено, Вариант);

КонецПроцедуры
Показать


Больше всего смущает параметр "КлючВарианта" в функции ВариантОтчета(Отчет, КлючВарианта), непонятно где его нужно смотреть. Я сначала запросом просмотрел справочник варианты отчетов, нашел нужный элемент, и таким образом получил ключ варианта, мне кажется, должно быть как-то попроще.
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. sommid 13.08.18 17:20 Сейчас в теме
я явно у отчета создаю команду, там прописываю:
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	
	ПараметрыФормы = Новый Структура("КлючНазначенияИспользования, КлючВарианта, СформироватьПриОткрытии, ВидимостьКомандВариантовОтчетов",	        
	        "АнализПриемки",
	        "АнализПриемки",
	        Ложь,
			фхОбщегоНазначенияКлиент.ПолучитьВидимостьКомандВариантовОтчетов());
	
	ОткрытьФорму("Отчет.приемка_АнализПриемки.Форма",
	        ПараметрыФормы,
	        ПараметрыВыполненияКоманды.Источник,
	        ПараметрыВыполненияКоманды.Уникальность,
	        ПараметрыВыполненияКоманды.Окно);
	
КонецПроцедуры
Показать


а в командном интерфейсе уже ручками можно размещение указать - таким образом еще и доступ пользователям к разным вариантам отчетов разруливаю
3. THEBESTolo4b 10 13.08.18 17:51 Сейчас в теме
(2) я тоже так дела, также сталкивался с ключом, посмотрел посмотрел и хрен по итогу забил, времени небыло с ним разбираться
4. HAMMER_59 245 14.08.18 06:39 Сейчас в теме
(2) У меня проблема не открытии и размещении отчета, проблема - получить КлючВарианта.
5. sommid 14.08.18 09:46 Сейчас в теме
(4) ну по теме и по коду показалось, что проблема в открытии нужного варианта отчета ).

в функциях БСП вроде в описаниях везде так: "// КлючВарианта (Строка) Имя варианта отчета как оно задано в схеме компоновки данных."
и в моем примере тоже это видно по передаваемой структуре параметров для открытия конкретного варианта отчета (я так делал только для тех вариантов, которые заведены в конфигураторе):
ПараметрыФормы = Новый Структура("КлючНазначенияИспользования, КлючВарианта, СформироватьПриОткрытии, ВидимостьКомандВариантовОтчетов",            
            "АнализПриемки",
            "АнализПриемки",
            Ложь,
            фхОбщегоНазначенияКлиент.ПолучитьВидимостьКомандВариантовОтчетов());
6. HAMMER_59 245 14.08.18 11:38 Сейчас в теме
(5)
в функциях БСП вроде в описаниях везде так: "// КлючВарианта (Строка) Имя варианта отчета как оно задано в схеме компоновки данных."


С этим проблем нет. Проблема в другом, я хочу использовать стандартный отчет, конкретно "Универсальный отчет", при этом я не хочу снимать этот объект с поддержки. Создаю вариант в режиме 1С предприятия, в таком варианте, (видно из 4 с точек кода, который я привел в пример), что варианту присваивается наименование в виде "bda10821-4b41-4ce0-80f4-c66a04843439", и где можно увидеть это наименование совершенно непонятно.

При этом я сильно не уверен, что когда я перенесу эти доработки на рабочую базу, в т.ч. вариант отчета, не поменяется наименование варианта.
7. sommid 14.08.18 12:50 Сейчас в теме
(6) аа, ясно, все-таки из предприятия настройка..
а просмотрели все реквизиты элемента справочника "Варианты отчетов"? - где-то же должно быть ваше наименование варианта, которое вы задаете в предприятии - по нему и искать нужный вариант, т.е. не штатную функцию используйте для поиска варианта, а свою напишите, хотя это все равно не надежно и неправильно.. но раз с поддержки не снимать )
8. HAMMER_59 245 14.08.18 14:56 Сейчас в теме
Убедился, что при переносе варианта изменяется его ключ. Остановился на таком варианте:
&НаСервере
Функция ПолучитьВариант()
	// Вставить содержимое обработчика.
	КлючВарианта = "";
	КлючОтчета = "Отчет.УниверсальныйОтчет";
	СписокВариантов = ВариантыОтчетов.КлючиВариантовОтчета(КлючОтчета);
	
	Для Каждого ВариантОтчета Из СписокВариантов Цикл
		Если ВариантОтчета.Представление = "Ведомость по остаткам топлива" Тогда
			КлючВарианта = ВариантОтчета.Значение;
			Прервать;
		КонецЕсли;
	КонецЦикла;
	
	УниверсальныйОтчет = Справочники.ИдентификаторыОбъектовМетаданных.НайтиПоРеквизиту("ПолноеИмя", "Отчет.УниверсальныйОтчет");
	Вариант = ВариантыОтчетов.ВариантОтчета(УниверсальныйОтчет, КлючВарианта);
	Возврат Вариант;	
	
КонецФункции

&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
	//Вставить содержимое обработчика.
	//ПараметрыФормы = Новый Структура("", );
	//ОткрытьФорму("ОбщаяФорма.", ПараметрыФормы, ПараметрыВыполненияКоманды.Источник, ПараметрыВыполненияКоманды.Уникальность, ПараметрыВыполненияКоманды.Окно, ПараметрыВыполненияКоманды.НавигационнаяСсылка);
	Вариант = ПолучитьВариант();
	ВариантыОтчетовКлиент.ОткрытьФормуОтчета(Неопределено, Вариант);

КонецПроцедуры
Показать
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот