Как прикрепить внешний отчет к форме списка справочника?

1. kooaei 14.08.17 14:06 Сейчас в теме
Добрый день.
Написал отчёт. В обработке регистрации добавляю в массив назначений:

МассивНазначений.Добавить("Справочник.Партнеры.ФормаСпискаБезПолнотекстовогоПоиска");
МассивНазначений.Добавить("Справочник.Партнеры.ФормаСписка");
МассивНазначений.Добавить("Справочник.Партнеры");

Но ни в одном из них в дополнительных отчетах не появляется данный внешний.
К подсистемам крепится без проблем, а вот в справочник не получается. Можно ли как-нибудь его туда добавить или обязательно в конфигурацию включать?
+
По теме из базы знаний
Найденные решения
5. user633533_encantado 11 14.08.17 14:34 Сейчас в теме
Вижу твое незнание БСП, юный подаван. Столько бесполезного кода наблюдаю я. Вот тебе урок от мастера:

Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(СтандартныеПодсистемыСервер.ВерсияБиблиотеки());

ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.БезопасныйРежим = Ложь;
ПараметрыРегистрации.Информация = Метаданные().Синоним + " " + ПараметрыРегистрации.Версия;
ПараметрыРегистрации.Назначение.Добавить("Справочник.Партнеры");
ПараметрыРегистрации.Назначение.Добавить("Справочник.Контрагенты");

НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = Метаданные().Синоним;
НоваяКоманда.Идентификатор = Метаданные().Имя;
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Истина;

Возврат ПараметрыРегистрации;


КонецФункции
ApTeM_26_; Garik8866; корум; kooaei; +4
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user633533_encantado 11 14.08.17 14:21 Сейчас в теме
Весь код описания внешнего отчета в студию.
+
3. kooaei 14.08.17 14:22 Сейчас в теме
(2)
Функция СведенияОВнешнейОбработке() Экспорт
ПараметрыРегистрации = Новый Структура;
МассивНазначений = Новый Массив;
МассивНазначений.Добавить("Подсистема.Продажи");
МассивНазначений.Добавить("Подсистема.CRMИМаркетинг");
МассивНазначений.Добавить("Справочник.Партнеры.ФормаСпискаБезПолнотекстовогоПоиска");
МассивНазначений.Добавить("Справочник.Партнеры.ФормаСписка");
МассивНазначений.Добавить("Справочник.Партнеры");
ПараметрыРегистрации.Вставить("Вид", "ДополнительныйОтчет");
ПараметрыРегистрации.Вставить("Назначение", МассивНазначений);
ПараметрыРегистрации.Вставить("Наименование", "ПоискПартнераПоКонтактнойИнформации");
ПараметрыРегистрации.Вставить("Версия", "1.0");
ПараметрыРегистрации.Вставить("БезопасныйРежим", Истина);
ПараметрыРегистрации.Вставить("Информация", "Поиск партнера по контактной информации");

ТаблицаКоманд = ПолучитьТаблицуКоманд();
ДобавитьКоманду(ТаблицаКоманд, "Поиск партнера по контактной информации", "ПоискПартнераПоКонтактнойИнформации","ОткрытиеФормы");
ПараметрыРегистрации.Вставить("Команды", ТаблицаКоманд);

Возврат ПараметрыРегистрации;

КонецФункции
Функция ПолучитьТаблицуКоманд()

Команды = Новый ТаблицаЗначений;
Команды.Колонки.Добавить("Представление", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Идентификатор", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("Использование", Новый ОписаниеТипов("Строка"));
Команды.Колонки.Добавить("ПоказыватьОповещение", Новый ОписаниеТипов("Булево"));
Команды.Колонки.Добавить("Модификатор", Новый ОписаниеТипов("Строка"));
Возврат Команды;

КонецФункции
Процедура ДобавитьКоманду(ТаблицаКоманд, Представление, Идентификатор, Использование, ПоказыватьОповещение = Ложь, Модификатор = "")

НоваяКоманда = ТаблицаКоманд.Добавить();
НоваяКоманда.Представление = Представление;
НоваяКоманда.Идентификатор = Идентификатор;
НоваяКоманда.Использование = Использование;
НоваяКоманда.ПоказыватьОповещение = ПоказыватьОповещение;
НоваяКоманда.Модификатор = Модификатор;

КонецПроцедуры
+
4. kooaei 14.08.17 14:23 Сейчас в теме
(3) к подсистемам крепится, к справочникам - нет.
+
5. user633533_encantado 11 14.08.17 14:34 Сейчас в теме
Вижу твое незнание БСП, юный подаван. Столько бесполезного кода наблюдаю я. Вот тебе урок от мастера:

Функция СведенияОВнешнейОбработке() Экспорт

ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке(СтандартныеПодсистемыСервер.ВерсияБиблиотеки());

ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет();
ПараметрыРегистрации.Версия = "1.0";
ПараметрыРегистрации.БезопасныйРежим = Ложь;
ПараметрыРегистрации.Информация = Метаданные().Синоним + " " + ПараметрыРегистрации.Версия;
ПараметрыРегистрации.Назначение.Добавить("Справочник.Партнеры");
ПараметрыРегистрации.Назначение.Добавить("Справочник.Контрагенты");

НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
НоваяКоманда.Представление = Метаданные().Синоним;
НоваяКоманда.Идентификатор = Метаданные().Имя;
НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
НоваяКоманда.ПоказыватьОповещение = Истина;

Возврат ПараметрыРегистрации;


КонецФункции
ApTeM_26_; Garik8866; корум; kooaei; +4
6. kooaei 15.08.17 10:16 Сейчас в теме
(5) Спасибо за код - обработка действительно появилась в дополнительных отчётах в форме. Но не совсем так, как хотелось бы - не как отдельная строка, а в разделе Дополнительные отчёты. Видимо всё равно придётся добавлять в конфигурацию.

А код подключения я этот использую уже давно. Может и надо подучить что там теперь появилось. Если не сложно, можете посоветовать где можно это почитать? А то что в книжках есть у меня уже устарело.
+
7. ildary 21 15.08.17 10:56 Сейчас в теме
(6) а почему бы не приучить пользователей к кнопке "Дополнительные отчеты" - тем самым не ломая конфигурацию? Мой опыт подсказывает мне, что пользователи в состоянии найти эту кнопку.
+
8. kooaei 15.08.17 12:53 Сейчас в теме
пока сделал как в 5, но я всё равно не понимаю деталей.

Ну вот, например, вообще не понятно почему для вида ДополнительнаяОбработка не доступно размещение в разделах. А для вида ОткрытиеФормы не доступно, собственно, открытие формы обработки. Оно какую-то другую форму чтоль должно открывать?

Если делаю:
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();

Тогда при попытке регистрации ругается на "Поле объекта не обнаружено ОткрытиеФормы".

А если делаю черерез:
ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиДополнительнаяОбработка();

Тогда не доступен выбор размещения и обработку можно запустить только из формы работы с дополнительными обработками.
Прикрепленные файлы:
Hogyoku; +1
Внимание! Тема сдана в архив

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