Имя: Пароль:
1C
1С v8
Передача процедуры по Клиент-Серверу
,
0 MongolV
 
06.02.12
18:48
Всем доброго времени суток :)
Пишу с мольбой о помощи, сам "дойти" не могу а справочников по конкретному вопросу как то не нашел...
Конф Комплексная автоматизация 1.1, движок 8.2
Есть обработка, запускается из списка документов

   Обработка = Обработки.ПечатьРеализацииПоМаршрутам.Создать();
   Обработка.ПолучитьФорму("Форма").Открыть();

Смысл обработки - отбор документов и групповая печать, постарался максимально использовать внутренние функции (проще всего)...

УправлениеПечатью.СформироватьПечатныеФормы("Документ.РеализацияТоваровУслуг", "ТОРГ12", ПараметрКоманды, ПараметрыПечати, КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода,?(Подпись.Пустая(),Неопределено,Подпись));

и тут он меня послал... вежливо так.. мол попытка передачи не мутабельного значения.. смысл я так то понял.. (на клиент-серверной первый раз пишу), получается что я запускаю обработку на клиенте.. а она обращается к процедуре на сервере... ЧТО МОЖНО СДЕЛАТЬ??
Можно ли как-то указать что обработка выполнялась на сервере? или процедуры на клиенте(хотя последнее думаю вряд ли)?
1 vmv
 
06.02.12
19:01
1. проверить все параметры передачи управления к-с, т.е. в параметрах методов не должно быть объектов, элементов форм и т.д.

только ссылки, списки, структурки, однородные массивы(на неодродный массив с разными типами значений тоже будет ругаться)

2. не забываем о ручном уничтожении массивных переменных в серверных методах если они вызываються на клиенте, т.е. если

в

&На сервере
Продерура Аааа()

Объект = Документ.дждждж.жжж;
///

// будет не лишним
Объект = 0;
КонецПроцедуры
2 MongolV
 
06.02.12
19:03
дык в том то и дело... что мне из обработки надо передать ссылку на документ..

           Документ = ТЧ[Ном].Документ.ПолучитьОбъект();
           ПараметрКоманды = Новый Массив;
           ПараметрКоманды.Добавить(Документ.Ссылка);
           ПараметрыПечати        = Неопределено;
           КоллекцияПечатныхФорм    = Неопределено;
           ОбъектыПечати            = Неопределено;
           ПараметрыВывода        = Неопределено;
           УправлениеПечатью.СформироватьПечатныеФормы("Документ.РеализацияТоваровУслуг", "ТОРГ12", ПараметрКоманды, ПараметрыПечати,
                                   КоллекцияПечатныхФорм, ОбъектыПечати, ПараметрыВывода,?(Подпись.Пустая(),Неопределено,Подпись));
3 MongolV
 
06.02.12
19:04
а вот реально указать чтобы обработка выполнялась на сервере?
4 vmv
 
06.02.12
19:06
Подпись? это что за параметр
5 MongolV
 
06.02.12
19:06
или идти долгим путем и послать ее за аленьким цветочком?? всмысле: Написать Процедуру В модуле Которая Получает дату и номер документа а уже она запускает процедуру печати?
6 MongolV
 
06.02.12
19:07
Справочник.ХранилищеИнформации, но в последствии заменил просто кодом, обижаеться на ссылку дока в масиве я думаю
7 GROOVY
 
06.02.12
19:08
(2) А зачем по ссылке получать объект, а потом получать от объекта ссылку?
8 vmv
 
06.02.12
19:08
а может на хранилище, ссылка это ГУИД по сути, сервер на него не фиркает
9 GROOVY
 
06.02.12
19:08
(6) Ссылку передавать можно.
10 MongolV
 
06.02.12
19:11
(7) :)) это.. я просто кусок выдирал... еще не приглядывался, не отлаживал....
11 MongolV
 
06.02.12
19:12
(8) подпись - тоже ссылка.... но я ее менял на код справочника... а он строка...
12 vmv
 
06.02.12
19:13
УправлениеПечатью.СформироватьПечатныеФормы("Документ.РеализацияТоваровУслуг", "ТОРГ12", Неопределено, Неопределено,
                                   Неопределено, Неопределено, Неопределено, Неопределено);

а так нге работает чтоли, точку поставь на вход
13 vmv
 
06.02.12
19:14
(11) отладчик в руки, хотя мне пока дико не нравиться технология печати пропагандируемая БСП в типовых, как и работа со свойствами.

иногда излишняя гибкость вредна
14 MongolV
 
06.02.12
19:16
(12) пробую, не подумал...
15 MongolV
 
06.02.12
19:22
(12) в таком виде проходит...
только пытаюсь подключить Массив ПараметрКоманды - ошибка
16 MongolV
 
06.02.12
19:23
т.е. массив ссылок передавать нельзя?
17 MongolV
 
06.02.12
19:25
а вот просто подпись прошла... хотя изначально я на нее грешил
18 MongolV
 
06.02.12
19:31
Все разобрался.... Обижалась "девушка" на массив, категорически его передавать не хочет... а вот ссылки - сколько угодно... Всем ОГРОМНОЕ СПАСИБО за помощь и участие :))
AdBlock убивает бесплатный контент. 1Сергей