Имя: Пароль:
1C
 
Нужен пример дополнительного внешнего отчета по документу
0 dimm7310
 
05.03.19
16:37
Нужен пример дополнительного внешнего отчета по документу. Везде примеры только для обычных отчетов и обработок табличных частей.
киньте ссылку
1 piter3
 
05.03.19
16:39
Что???
2 sqr4
 
05.03.19
16:39
да ладно. Отчет надо который из дока открывается
3 sqr4
 
05.03.19
16:42
а ведь я находил, а сейчас не могу
4 Мимохожий Однако
 
05.03.19
16:45
(0) Возьми любой имеющийся внешний отчет, выгрузи и посмотри. Можно подглядеть в демо конфигурации или в рабочей базе, у кого-нибудь
5 dimm7310
 
05.03.19
16:46
(4) этого не достаточно, нужно подглядеть как ссылка на документ передается в отчет
6 sqr4
 
05.03.19
16:48
(5) в БСП есть
7 sqr4
 
05.03.19
16:49
8 Вафель
 
05.03.19
16:51

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

    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("2.2.2.1");
    
    // HKEY_LOCAL_MACHINE\SOFTWARE\Classes\ADODB.Connection
    Разрешение = РаботаВБезопасномРежиме.РазрешениеНаСозданиеCOMКласса("ADODB.Connection", "{00000514-0000-0010-8000-00AA006D2EA4}");
    ПараметрыРегистрации.Разрешения.Добавить(Разрешение);
    
    ПараметрыРегистрации.Назначение.Добавить("Документ.АСЦ_ПлановоеНачислениеКВ");
    
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет();
    ПараметрыРегистрации.Версия = Метаданные().Комментарий;
    ПараметрыРегистрации.БезопасныйРежим = Истина;
    ПараметрыРегистрации.Информация = Метаданные().Представление();
    
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = Метаданные().Представление();
    НоваяКоманда.Идентификатор = Метаданные().Имя;
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    НоваяКоманда.ПоказыватьОповещение = Ложь;
    
    Возврат ПараметрыРегистрации;

КонецФункции


в модуле формы
&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    Если ТипЗнч(Параметры.ОбъектыНазначения) = Тип("Массив")
        И Параметры.ОбъектыНазначения.Количество() > 0 Тогда
        
        Документ = Параметры.ОбъектыНазначения[0];
        
    КонецЕсли;
    
    Если ЗначениеЗаполнено(Документ) Тогда
        ОбновитьНаСервере();
    КонецЕсли;    
    
КонецПроцедуры
9 dimm7310
 
06.03.19
09:55
Спасибо, все получилось. Есть маленькое Но: отчет появился в разделе документа Отчеты в подразделе Дополнительные отчеты (открывается дополнительное окно списка доп. отчетов).
Пользователю хочется сразу видеть добавленный отчет в списке отчетов документа (как все штатные).
Думаю добавить отчет через расширение.  
Пробовал вызов отчета подставлять как команду формы документа в расширении в меню отчеты, но в этом случае пункт отчеты просто перестает отображаться в форме документа, нужно подключить его по всем правилам.

Снова обращаюсь за помощь дать инфу как это сделать
10 Мимохожий Однако
 
06.03.19
10:07
Проще и методически правильнее научить пользователя пользоваться командой Избранное.
11 sqr4
 
06.03.19
10:13
(9) тут были координаты куда посылать таких пользователей)
14°24′28″ ю. ш. 71°18′00″ з. д.
12 dimm7310
 
06.03.19
10:15
Да я бы рад посылать, но мне ставят задачи и надо их выполнять
13 sqr4
 
06.03.19
10:24
(12) Если больше нечего делать, то почитай на ИТС про БСП, там полюбому описаны общие команды и процедуры с помощью которых все это строится, затем подправишь их немного через расширение и все.
14 Вафель
 
06.03.19
10:25
(9) это ограничение БСП. добавить в меню только расширением
15 mmmarat
 
06.03.19
10:28
(0) Вам в (8) все правильно написали. Проверьте что указано размещение в подключенном отчете.
И еще проверьте что правильно указали именно ВидОбработкиОтчет(), а не ВидОбработкиДополнительныйОтчет()
16 sqr4
 
06.03.19
10:28
(13) +
заодно и нам расскажешь)
17 dimm7310
 
06.03.19
10:31
(15)  ВидОбработкиОтчет.

Вопрос остается