Вход | Регистрация


Запуск процедуры &НаКлиенте модуля объекта из процедуры &НаКлиенте формы

Запуск процедуры &НаКлиенте модуля объекта из процедуры &НаКлиенте формы
Я
   Симпатяга
 
11.12.18 - 11:17
Осваиваю УФ
Никак не пойму.
Есть на форме процедура.

На клиенте. Из нее я обращаюсь через Объект к процедуре в модуле объекта.

Функции на форме

&НаКлиенте
Процедура Печать()
МойОбъект = ПолучитьОбъектНаСервере();
ЭтотОбъект1.Печать();
КонецПроцедуры

&НаСервере
Процедура ПолучитьОбъектНаСервере()
ЭтотОбъект1 = РеквизитФормыВЗначение("Объект");
Возврат ЭтотОбъект1;
КонецПроцедуры

Выдает ошибку по передачи между сервером и клиентом.

Дело в том, что процедура в модуле объекта Печать должна быть именно на клиенте. Если серверная была бы, то с формы из функции ПолучитьОбъектНаСервере() сразу бы обратился к функции в модуле
 
 
   Numerus Mikhail
 
1 - 11.12.18 - 11:18
Все процедуры и функции модуля объекта априори выполняются на сервере.
   Симпатяга
 
2 - 11.12.18 - 11:18
(0) в первой процедуре ЭтотОбъект1= МойОбъект
   Симпатяга
 
3 - 11.12.18 - 11:19
(1) мне нужно сформировать документ Word на клиенте. внешняя пф
   Numerus Mikhail
 
4 - 11.12.18 - 11:20
&НаКлиенте
Процедура Печать()
МакетИлиЧтоТут = ПолучитьОбъектНаСервере();
МакетИлиЧтоТут.Показать();
КонецПроцедуры

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

Список тем форума
  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует