Имя: Пароль:
1C
1С v8
Не передаются параметры в форму. V82.Application
,
0 Draconus
 
19.02.14
15:25
День добрый!

Задача: Открыть из одной базы отчет другой с отбором по полю.

В базе ИЗ которой открываю код:

    // Проверим соединение с внешним приложением документооборота
    Если ВнешнееПриложение = Неопределено Тогда
        ВнешнееПриложение = ОбщегоНазначенияКлиентПереопределяемый.УстановитьСоединениеСБазой("192.168.199.10", "DocumentsBase", , "V82.Application");
        Если ВнешнееПриложение = Неопределено Тогда
            Сообщить("Не удалось установить соединение с базой 1С:Документооборот. Обратитесь к администратору.");
            Возврат;
        КонецЕсли;
    КонецЕсли;
    
    ОтчетПоКонтрагентам = ВнешнееПриложение.Отчеты["ОтчетПоБизнесПроцессам"];
    
    Параметры = Новый Структура("КорреспондентID", Строка(ТекКонтрагент.УникальныйИдентификатор()));
    
    Форма = ОтчетПоКонтрагентам.ПолучитьФорму("ФормаОтчета", Параметры);
    Форма.ОткрытьМодально();


Баз, отчет которой мне нужен:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    
    Если Параметры.Свойство("КорреспондентID") Тогда
        А = 1/0;
    КонецЕсли;
    
КонецПроцедуры


Код и деление на 0 чисто для проверки...
В итоге отчет прекрасно открывает (зараза).
Не подскажете в чем мой косяк может быть?
1 Jaap Vduul
 
19.02.14
15:38
Это в текущей базе у тебя Структура, а для полученной из V82.Application формы это не пойми что.
2 Draconus
 
19.02.14
15:39
(1) Как тогда передать параметр с последующей его обработкой?
3 Jaap Vduul
 
19.02.14
15:42
(2)
Структуру надо также из V82.Application получить (через NewObject)
4 Draconus
 
19.02.14
15:49
(3) ВнешнееПриложение.NewObject("Структура");

Ошибка: Метод объекта не обнаружен "NewObject)
5 Draconus
 
19.02.14
16:12
Пичалька...
6 Jaap Vduul
 
19.02.14
16:24
Ну, проверяй чего у тебя в переменной ВнешнееПриложение лежит.
7 Wobland
 
19.02.14
16:32
(6) это слишком очевидно, до него уже дошло за 23 минуты. так что тоска, уныние и печаль
8 Draconus
 
19.02.14
16:32
Хз что было... Перезапуск сервака и все нормально.

    // Проверим соединение с внешним приложением документооборота
    Если ВнешнееПриложение = Неопределено Тогда
        ВнешнееПриложение = ОбщегоНазначенияКлиентПереопределяемый.УстановитьСоединениеСБазой("192.168.199.10", "DocumentsBase", , "V82.Application");
        Если ВнешнееПриложение = Неопределено Тогда
            Сообщить("Не удалось установить соединение с базой 1С:Документооборот. Обратитесь к администратору.");
            Возврат;
        КонецЕсли;
    КонецЕсли;
    
    ОтчетПоКонтрагентам = ВнешнееПриложение.Отчеты["ОтчетПоБизнесПроцессам"];
    
    //Параметры = Новый Структура("КорреспондентID", Строка(ТекКонтрагент.УникальныйИдентификатор()));
    
    Параметры = ВнешнееПриложение.NewObject("Структура");
    Параметры.Вставить("КорреспондентID", Строка(ТекКонтрагент.УникальныйИдентификатор()));
    
    Форма = ОтчетПоКонтрагентам.ПолучитьФорму("ФормаОтчета", Параметры);
    Форма.ОткрытьМодально();
9 Draconus
 
19.02.14
16:37
Но прикол в том, что даже так параметр не передается...
10 Draconus
 
19.02.14
16:55
ап?
11 Asmody
 
19.02.14
17:18
ТекКонтрагент тоже из внешней базы?
12 Draconus
 
19.02.14
17:20
(11) Нет, но он роли не играет, я передаю УИД
13 Draconus
 
19.02.14
17:36
Видимо все настолько опечалены хоккеем, что уже не до того... :(
14 hhhh
 
19.02.14
17:49
XMLСтрока(ТекКонтрагент.УникальныйИдентификатор())
15 Draconus
 
19.02.14
17:53
(14) Попробовал. Результат тот же. Параметров в форме нет... :(
16 hhhh
 
19.02.14
17:57
(15) ну, закладку Параметры покажи на форме. Точно-точно там есть этот корреспондент. Или гонишь?
17 Draconus
 
19.02.14
18:00
(16) Ну у меня код в модуле формы отчета:

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
    Если Параметры.Свойство("КорреспондентID") Тогда
        А = 1/0;
    КонецЕсли;
КонецПроцедуры

Должен выдавать ошибку Деления на 0, но форма нормально открывается.

Не вижу смысла гнать...
18 Draconus
 
20.02.14
09:38
ап?
19 Draconus
 
20.02.14
11:53
Ни у кого больше нет идей?