Имя: Пароль:
1C
 
Встраивание внешнего отчета в разделы командного интерфейса
0 falselight
 
24.10.17
13:52
Есть некий внешний отчет. У него в модуле объекта есть код
который позволяет встроить его во внешние отчеты и обработки.
Но при выборе раздела командного интерфейса, этот отчет не удается
увидеть, в этом разделе. Сам так не встраивал ещё.
Вопрос в том что нужно добавить в этот код, что бы была возможность
встраивать этот отчет через настройки внешних отчетов и обработок
в разделы командного интерфейса?

//
Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = Новый Структура;
    ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");
    ПараметрыРегистрации.Вставить("Назначение", Неопределено);
    ПараметрыРегистрации.Вставить("Наименование", НСтр("ru = 'Статистика заказов клиента'"));
    ПараметрыРегистрации.Вставить("Версия", "1.1");
    ПараметрыРегистрации.Вставить("БезопасныйРежим", Ложь);
    ПараметрыРегистрации.Вставить("Информация", НСтр("ru = 'Статистика заказов клиента'"));
    ТаблицаКоманд = ПолучитьТК();
    //ДобавитьКоманду(ТаблицаКоманд, НСтр("ru = 'СтатистикаЗаказовКлиента'"), "СтатистикаЗаказовКлиента", "ВызовСерверногоМетода", Истина);
    ДобавитьКоманду(ТаблицаКоманд, НСтр("ru = 'СтатистикаЗаказовКлиента_ОткрытиеФормы'"), "СтатистикаЗаказовКлиента_ОткрытиеФормы", "ОткрытиеФормы", Истина);
    ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);
    Возврат ПараметрыРегистрации;
КонецФункции
//
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")
    НоваяКоманда = ТаблицаКоманд.Добавить();
    НоваяКоманда.Представление = Представление;
    НоваяКоманда.Идентификатор = Идентификатор;
    НоваяКоманда.Использование = Использование;
    НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
    НоваяКоманда.Модификатор = Модификатор;
КонецПроцедуры
//
Функция ПолучитьТК()
    Команды = Новый ТаблицаЗначений;
    Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
    Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
    Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
    Возврат Команды;
КонецФункции
//
Процедура ВыполнитьКоманду(ИдентификаторКоманды, ПараметрыВыполненияКоманды = Неопределено) Экспорт
    УстановитьПривилегированныйРежим(Истина);
    //ВыполнитьВсюОбработку();
    УстановитьПривилегированныйРежим(Ложь);
КонецПроцедуры
//
1 falselight
 
25.10.17
03:23
Что нужно указать в коде внешнего отчета что бы при
установке галок подсистем, он отображался в указанной
подсистеме командного интерфейса?
2 falselight
 
25.10.17
03:59
Неужели никто не понимает о чем речь?
3 igorPetrov
 
25.10.17
04:57
(2) Никто.
4 riks05
 
25.10.17
05:12
(2) да понять то поняли, просто никто этим не заморачивается мне кажется, показываешь пользователю кнопку "доп отчёты" и пусть он тыкает в нужный и сам выбирает.
5 SleepyHead
 
гуру
25.10.17
05:19
Посмотри отчеты в составе конфигурации. За то, чтобы встроить отчет в командный интерфейс, отвечает модуль менеджера (в нем экспортные процедуры и функции из БПС), которых во внешнем отчете нет.

Не парься и вставляй в дополнительные отчеты, как это предусмотрено стандартом.
6 falselight
 
25.10.17
16:11
(4) Сказали у пользователя нет прав на доп. отчеты.
7 ildary
 
25.10.17
16:27
(6) отвечай - "нет ножек, нет и варенья".
8 falselight
 
25.10.17
17:02
(7) Я уже отправил их куда следует.
9 falselight
 
25.10.17
17:04
(7) Спрашивал уже для личного интереса.
Так как я понял что вопрос актуальный.
И имеет решение. Мне говорили что код приведенный в модуле
внешнего отчета, очень устаревший.
Что сейчас есть некий новый код, который позволяет
делать то что они запрашивают. Что пока этого нет в функционале.
10 klikotold
 
25.10.17
17:17
Используй расширение если есть возможность.
11 Ц_У
 
25.10.17
17:53
(9) Ну не сильно старый, можно проще
--
Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке();
    
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительныйОтчет();
    ПараметрыРегистрации.Версия = "0.13";
    ПараметрыРегистрации.БезопасныйРежим = Ложь;
    ПараметрыРегистрации.Наименование = "Выставленные счета покупателям с анализом сумм оплат(внешний)";
    
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = НСтр("ru = 'Выставленные счета покупателям с анализом сумм оплат(внешний)'");
    НоваяКоманда.Идентификатор = "EPF_ВыставленныеСчетаПокупателямСАнализомСуммОплатПоСчетам";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    НоваяКоманда.ПоказыватьОповещение = Истина;
    //НоваяКоманда.Модификатор = "ПечатьMXL";
    ////////////////////////////////
    
    Возврат ПараметрыРегистрации;
    
КонецФункции
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший