Внешний отчет невозможно добавить в избранное (не СКД)

1. user1218207 09.08.24 23:03 Сейчас в теме
Всем привет,
Есть внешний отчет (не СКД), не могу добавить его в избранное и получить ссылку.
Добавила в свойствах ХранилищеВариантовОтчета и нашла кривой способ, как все-таки добавить:

1. При добавлении внешнего отчета указываем раздел для варианта отчета.
2. Потом Раздел- отчеты этого раздела - Кнопка "настройка" (справа) - находим наш отчет, ставим галочку, и Изменить (это ключевой момент).
3. Теперь дает добавить в избранное и получить ссылку.

Но надо, чтобы просто "зведочку кликнуть", а не вот эти 3 пункта выше.
Есть подозрение, что так как отчеты СКД обычно добавляются в избранное, то дело в вариантах отчета, но вот что с этим делать дальше, - не знаю.

Помогите, пожалуйста)
По теме из базы знаний
Найденные решения
2. SlavaKron 10.08.24 10:03 Сейчас в теме
(1) Создать свою кнопку добавления в избранное:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Если Параметры.Свойство("ДополнительнаяОбработкаСсылка") Тогда
		СсылкаНаОтчет = Параметры.ДополнительнаяОбработкаСсылка;
		Элементы.ФормаДобавитьВИзбранное.Видимость = Истина;
	КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ДобавитьВИзбранноеНаСервере()
	УстановитьПривилегированныйРежим(Истина);
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	ВариантыОтчетов.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.ВариантыОтчетов КАК ВариантыОтчетов
	|ГДЕ
	|	ВариантыОтчетов.Отчет = &СсылкаНаОтчет
	|	И НЕ ВариантыОтчетов.ПометкаУдаления");
	Запрос.УстановитьПараметр("СсылкаНаОтчет", СсылкаНаОтчет);
	
	РезультатЗапроса = Запрос.Выполнить();
	Если РезультатЗапроса.Пустой() Тогда
		НовыйВариантОтчета = Справочники.ВариантыОтчетов.СоздатьЭлемент();
		НовыйВариантОтчета.Наименование = СсылкаНаОтчет;
		НовыйВариантОтчета.Отчет = СсылкаНаОтчет;
		НовыйВариантОтчета.ТипОтчета = ПредопределенноеЗначение("Перечисление.ТипыОтчетов.Дополнительный");
		НовыйВариантОтчета.Записать();
		СсылкаИзбранного = ПолучитьНавигационнуюСсылку(НовыйВариантОтчета.Ссылка);
	Иначе
		Выборка = РезультатЗапроса.Выбрать();
		Выборка.Следующий();
		СсылкаИзбранного = ПолучитьНавигационнуюСсылку(Выборка.Ссылка);
	КонецЕсли;
	
	Избранное = ХранилищеСистемныхНастроек.Загрузить("Общее/ИзбранноеРаботыПользователя");
	Для Каждого ЭлементИзбранного Из Избранное Цикл
		Если ЭлементИзбранного.НавигационнаяСсылка = СсылкаИзбранного Тогда
			Возврат Ложь;
		КонецЕсли;
	КонецЦикла;
	
	Элемент = Новый ЭлементИзбранногоРаботыПользователя;
	Элемент.НавигационнаяСсылка = СсылкаИзбранного;
	Избранное.Добавить(Элемент);
	ХранилищеСистемныхНастроек.Сохранить("Общее/ИзбранноеРаботыПользователя", "", Избранное);
	Возврат Истина;
КонецФункции

&НаКлиенте
Процедура ДобавитьВИзбранное(Команда)
	Если ДобавитьВИзбранноеНаСервере() Тогда
		ОбновитьИнтерфейс();
	КонецЕсли;
КонецПроцедуры
Показать
Прикрепленные файлы:
ВнешнийОтчетБезСКД.erf
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. SlavaKron 10.08.24 10:03 Сейчас в теме
(1) Создать свою кнопку добавления в избранное:
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
	Если Параметры.Свойство("ДополнительнаяОбработкаСсылка") Тогда
		СсылкаНаОтчет = Параметры.ДополнительнаяОбработкаСсылка;
		Элементы.ФормаДобавитьВИзбранное.Видимость = Истина;
	КонецЕсли;
КонецПроцедуры

&НаСервере
Функция ДобавитьВИзбранноеНаСервере()
	УстановитьПривилегированныйРежим(Истина);
	
	Запрос = Новый Запрос(
	"ВЫБРАТЬ ПЕРВЫЕ 1
	|	ВариантыОтчетов.Ссылка КАК Ссылка
	|ИЗ
	|	Справочник.ВариантыОтчетов КАК ВариантыОтчетов
	|ГДЕ
	|	ВариантыОтчетов.Отчет = &СсылкаНаОтчет
	|	И НЕ ВариантыОтчетов.ПометкаУдаления");
	Запрос.УстановитьПараметр("СсылкаНаОтчет", СсылкаНаОтчет);
	
	РезультатЗапроса = Запрос.Выполнить();
	Если РезультатЗапроса.Пустой() Тогда
		НовыйВариантОтчета = Справочники.ВариантыОтчетов.СоздатьЭлемент();
		НовыйВариантОтчета.Наименование = СсылкаНаОтчет;
		НовыйВариантОтчета.Отчет = СсылкаНаОтчет;
		НовыйВариантОтчета.ТипОтчета = ПредопределенноеЗначение("Перечисление.ТипыОтчетов.Дополнительный");
		НовыйВариантОтчета.Записать();
		СсылкаИзбранного = ПолучитьНавигационнуюСсылку(НовыйВариантОтчета.Ссылка);
	Иначе
		Выборка = РезультатЗапроса.Выбрать();
		Выборка.Следующий();
		СсылкаИзбранного = ПолучитьНавигационнуюСсылку(Выборка.Ссылка);
	КонецЕсли;
	
	Избранное = ХранилищеСистемныхНастроек.Загрузить("Общее/ИзбранноеРаботыПользователя");
	Для Каждого ЭлементИзбранного Из Избранное Цикл
		Если ЭлементИзбранного.НавигационнаяСсылка = СсылкаИзбранного Тогда
			Возврат Ложь;
		КонецЕсли;
	КонецЦикла;
	
	Элемент = Новый ЭлементИзбранногоРаботыПользователя;
	Элемент.НавигационнаяСсылка = СсылкаИзбранного;
	Избранное.Добавить(Элемент);
	ХранилищеСистемныхНастроек.Сохранить("Общее/ИзбранноеРаботыПользователя", "", Избранное);
	Возврат Истина;
КонецФункции

&НаКлиенте
Процедура ДобавитьВИзбранное(Команда)
	Если ДобавитьВИзбранноеНаСервере() Тогда
		ОбновитьИнтерфейс();
	КонецЕсли;
КонецПроцедуры
Показать
Прикрепленные файлы:
ВнешнийОтчетБезСКД.erf
3. user1218207 11.08.24 17:07 Сейчас в теме
(2) Выглядит как подарок) Спасибо большое вам!! Про справочник ВариантыОтчетов я догадывалась, но обработку бы не осилила сходу.
Оставьте свое сообщение

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