Имя: Пароль:
1C
1С v8
Как из серверного общего модуля вызвать клиентскую процедуру (ПолучитьФорму)?
0 leklerk
 
26.02.14
14:43
Добрый день. Подскажите пожалуйста, как из серверного общего модуля вызвать клиентскую процедуру (ПолучитьФорму) (режим обычного приложения, толстый клиент)? Я создал новый общий модуль с1_Клиентский с галочкой Клиент (обычное приложение), но при обращении к его процедуре получаю ошибку: "переменная не определена с1_Клиентский". Если же в с1_Клиентский поставить еще галочку Сервер, то ругается на процедуру в нем -

Функция ВернутьФорму(Обработка) Экспорт
  
    Возврат Обработка.ПолучитьФорму();    
  
КонецФункции

пишет, что интерактивные операции недоступны. Как решить проблему?
1 HEKPOH
 
26.02.14
14:45
как из серверного общего модуля вызвать клиентскую процедуру - никак
2 wanderer_ица
 
26.02.14
14:45
Никак.
3 azernot
 
26.02.14
14:47
Как решить проблему? Объяснить системе, что данный код следует выполнять только на клиенте

Функция ВернутьФорму(Обработка) Экспорт
#Если Клиент Тогда  
    Возврат Обработка.ПолучитьФорму();    
#КонецЕсли  
КонецФункции
4 fisher
 
26.02.14
14:49
(0) А вот не надо на сервере с формами работать.
5 kosts
 
26.02.14
14:52
(3) А так?


&Клиент
Процедура Действие()
    ВернутьФорму();
КонецПроцедура

&Клиент
Функция ВернутьФорму()
    Если ТочноНужноВернутьФорму() Тогда  
        Возврат Обработка.ПолучитьФорму();    
    КонецЕсли  
КонецФункции

&Сервер
Функция ТочноНужноВернутьФорму()
    Возврат Истина;
КонецФункции
6 Рэйв
 
26.02.14
14:54
(0)Что ты с формой собрался делать на сервере и кому показывать там результат своих действий?
7 fisher
 
26.02.14
14:54
(5) Так - круто. У меня аж дыхание перехватило.
8 H A D G E H O G s
 
26.02.14
14:54
(6) передать на клиент. Была бы кстати, годная вещь.
9 Рэйв
 
26.02.14
14:55
(8)Так и брал бы ее с клиента не обращаясь к серверу. Он же в общий модуль стопудово с клиента притопал.
10 H A D G E H O G s
 
26.02.14
14:57
(9) Иногда нужно на сервере.
Иногда.
Редко.
Но нужно.

Вот, в связи с 8.3 и его отказом помещать во временное несериализуемые значения, из за того, что форму нельзя создать на сервере, пришлось всю архитектуру решения перетряхивать.
11 HEKPOH
 
26.02.14
14:57
(6) с формой на сервере как разтаки можно оч многое сделать...
А показать на клиенте
12 leklerk
 
26.02.14
14:59
В моей процедуре в серверном общ. модуле создается отчет и записывается на жесткий диск. Поэтому и вызывается ПолучитьФорму - чтобы получить форму отчета.
azernot, kosts, большое спасибо за помощь!
13 leklerk
 
26.02.14
14:59
всем спасибо!
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.