Имя: Пароль:
1C
1С v8
Вызов внешнего отчета с передачей параметра (без кода)
0 RolandGrey
 
02.09.19
11:25
Добрый день. Возможно ли вообще это:
есть внешний отчет с размещением в документе, в отчете параметр - ссылка на этот тип документа.
https://www.screencast.com/t/phwzEzDwkedL
возможно ли автоматическое заполнение этого параметра? чтобы нигде не вносить код, кроме самого отчета
1 JeHer
 
02.09.19
11:46
(0) посмотри Параметры ПриСозданииНаСервере() отчета
2 RolandGrey
 
02.09.19
12:26
(1) что-то ничего у меня не передается в эти параметры хорошего. Может нужно прописать где-н или галку поставить?
3 RolandGrey
 
02.09.19
16:48
вобщем решил проблему - скачал отдельно БСП и на примере отчета оттуда:
в модуле отчета:

Функция СведенияОВнешнейОбработке() Экспорт
    
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.0.0.0");
    
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет();
    ПараметрыРегистрации.Версия = "0.7";
    ПараметрыРегистрации.БезопасныйРежим = Ложь;
    ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплатуПокупателю");
    
    НоваяКоманда = ПараметрыРегистрации.Команды.Добавить();
    НоваяКоманда.Представление = "Оплата счетов";
    НоваяКоманда.Идентификатор = "Основная";
    НоваяКоманда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    НоваяКоманда.ПоказыватьОповещение = Ложь;
    
    Возврат ПараметрыРегистрации;
    
КонецФункции
4 RolandGrey
 
02.09.19
16:48
в форме отчета:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    ИдентификаторКоманды = Параметры.ИдентификаторКоманды;
    
    Для Каждого ЭлементОбъектыНазначения Из Параметры.ОбъектыНазначения Цикл
        ОбъектыНазначения.Добавить(ЭлементОбъектыНазначения);
    КонецЦикла;
    
КонецПроцедуры

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    
    Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[0].Значение = Новый СписокЗначений;
    
    Для Каждого ЭлементОбъектыНазначения Из ОбъектыНазначения Цикл
        Отчет.КомпоновщикНастроек.ПользовательскиеНастройки.Элементы[1].Значение.Добавить(ЭлементОбъектыНазначения.Значение);
    КонецЦикла;
    
КонецПроцедуры
5 RolandGrey
 
02.09.19
16:49
ОбъектыНазначения - реквизит формы, список значений
6 RolandGrey
 
03.09.19
11:44
для конф где БСП на уровне 3-ки - достаточно в модуле отчета (полный код):
Функция СведенияОВнешнейОбработке() Экспорт
    ПараметрыРегистрации = ДополнительныеОтчетыИОбработки.СведенияОВнешнейОбработке("1.0.0.0");
    ПараметрыРегистрации.Информация = "Оплата счетов";
    ПараметрыРегистрации.Вид = ДополнительныеОтчетыИОбработкиКлиентСервер.ВидОбработкиОтчет();
    ПараметрыРегистрации.Версия = "1.0.0.0";
    ПараметрыРегистрации.Назначение.Добавить("Документ.СчетНаОплатуПокупателю");
    ПараметрыРегистрации.ОпределитьНастройкиФормы = Истина;
    
    Команда = ПараметрыРегистрации.Команды.Добавить();
    Команда.Представление = "Оплата счетов";
    Команда.Идентификатор = "Основная";
    Команда.Использование = ДополнительныеОтчетыИОбработкиКлиентСервер.ТипКомандыОткрытиеФормы();
    Команда.ПоказыватьОповещение = Ложь;
        
    Возврат ПараметрыРегистрации;
КонецФункции
    
// Настройки общей формы отчета подсистемы "Варианты отчетов".
    //
    // Параметры:
    //   Форма - УправляемаяФорма, Неопределено - Форма отчета или форма настроек отчета.
    //       Неопределено когда вызов без контекста.
    //   КлючВарианта - Строка, Неопределено - Имя предопределенного
    //       или уникальный идентификатор пользовательского варианта отчета.
    //       Неопределено когда вызов без контекста.
    //   Настройки - Структура - см. возвращаемое значение
    //       ОтчетыКлиентСервер.ПолучитьНастройкиОтчетаПоУмолчанию().
    //
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
    Настройки.ФормироватьСразу = Истина;
    Настройки.РазрешеноИзменятьВарианты = Ложь;
    Настройки.События.ПриСозданииНаСервере = Истина;
КонецПроцедуры
    
// Вызывается в обработчике одноименного события формы отчета после выполнения кода формы.
    // См. также УправляемаяФорма.ПриСозданииНаСервере в синтакс-помощнике.
    //
    // Параметры:
    //   Форма - УправляемаяФорма - Форма отчета.
    //   Отказ - Булево - Передается из параметров обработчика "как есть".
    //   СтандартнаяОбработка - Булево - Передается из параметров обработчика "как есть".
    //
Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
    ОбъектыНазначения = ОбщегоНазначенияКлиентСервер.СвойствоСтруктуры(Форма.Параметры, "ОбъектыНазначения");
    Если ОбъектыНазначения <> Неопределено Тогда
        Форма.ФормаПараметры.Отбор.Вставить("СчетНаОплату", ОбъектыНазначения);
    КонецЕсли;
КонецПроцедуры