|
Запуск процедуры &НаКлиенте модуля объекта из процедуры &НаКлиенте формы |
☑ |
0
Симпатяга
11.12.18
✎
11:17
|
Осваиваю УФ
Никак не пойму.
Есть на форме процедура.
На клиенте. Из нее я обращаюсь через Объект к процедуре в модуле объекта.
Функции на форме
&НаКлиенте
Процедура Печать()
МойОбъект = ПолучитьОбъектНаСервере();
ЭтотОбъект1.Печать();
КонецПроцедуры
&НаСервере
Процедура ПолучитьОбъектНаСервере()
ЭтотОбъект1 = РеквизитФормыВЗначение("Объект");
Возврат ЭтотОбъект1;
КонецПроцедуры
Выдает ошибку по передачи между сервером и клиентом.
Дело в том, что процедура в модуле объекта Печать должна быть именно на клиенте. Если серверная была бы, то с формы из функции ПолучитьОбъектНаСервере() сразу бы обратился к функции в модуле
|
|
1
Numerus Mikhail
11.12.18
✎
11:18
|
Все процедуры и функции модуля объекта априори выполняются на сервере.
|
|
2
Симпатяга
11.12.18
✎
11:18
|
(0) в первой процедуре ЭтотОбъект1= МойОбъект
|
|
3
Симпатяга
11.12.18
✎
11:19
|
(1) мне нужно сформировать документ Word на клиенте. внешняя пф
|
|
4
Numerus Mikhail
11.12.18
✎
11:20
|
&НаКлиенте
Процедура Печать()
МакетИлиЧтоТут = ПолучитьОбъектНаСервере();
МакетИлиЧтоТут.Показать();
КонецПроцедуры
&НаСервере
Процедура ПолучитьОбъектНаСервере()
ЭтотОбъект1 = РеквизитФормыВЗначение("Объект");
МакетИлиЧтоТут = ЭтотОбъект1.Печать()
Возврат МакетИлиЧтоТут;
КонецПроцедуры
|
|
5
Numerus Mikhail
11.12.18
✎
11:21
|
(3) Формируй на сервере и передавай двоичные данные на клиент
Или формируй на клиенте, но тогда модуль объекта тебе не подходит.
|
|
6
Симпатяга
11.12.18
✎
11:26
|
(5) на сервере не установлен word
|
|
7
Симпатяга
11.12.18
✎
11:27
|
(1) а для чего тогда &НаКлиенте в модуле внешней обработки?
|
|
8
Diman000
11.12.18
✎
11:30
|
(7) А для чего знак деления в выражении 3/0?
&НаКлиенте это не для модуля внешней обработки, это для всего. Но в модуле объекта этой директивой пользоваться нельзя.
|
|
9
Numerus Mikhail
11.12.18
✎
11:35
|
(7) Вообще не вижу проблемы тогда
Если у тебя не установлен ворд на сервере, значит процедура Печать() уже полностью написана под клиент, следовательно тебе просто надо перенести ее на форму или в общий клиентский модуль.
|
|
10
Alexandr_U1982
11.12.18
✎
11:37
|
(3) В серверной функции извлекаешь данные из базы, помещаешь в структуру. Структуру возвращаешь на клиент и на клиенте формируешь документ Word.
|
|
11
Симпатяга
11.12.18
✎
11:38
|
(9) в общий модуль нельзя. конфа не измененная.
т.е. я делаю внешнюю печатную форму. из модуля объекта обращаюсь и создаю форму. в ней пишу свой код. открываю Ворд и закрываю форму.
я правильно понял?
|
|
12
Alexandr_U1982
11.12.18
✎
11:41
|
(11)
|
|
13
Симпатяга
11.12.18
✎
13:44
|
(12) Спасибо. Разобрался!
|
|
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой