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

1. HAMMER_59 244 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 244 14.08.18 06:39 Сейчас в теме
(2) У меня проблема не открытии и размещении отчета, проблема - получить КлючВарианта.
5. sommid 14.08.18 09:46 Сейчас в теме
(4) ну по теме и по коду показалось, что проблема в открытии нужного варианта отчета ).

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


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

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

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

КонецПроцедуры
Показать
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)