Имя: Пароль:
1C
 
Вызов серверной функции из клиентской процедуры в общем модуле
,
0 KuJIT
 
03.12.15
14:52
Добрый день. Не получается сделать то, что в теме. Подскажите, пожалуйста, как сделать?
1 Nuobu
 
03.12.15
14:52
(0) ВызовСервера в серверном модуле.
2 KuJIT
 
03.12.15
14:57
&НаКлиенте
Процедура ПоказатьДоговор(договор) экспорт
    Макет = ПолучитьМакетДоговора();
    ВременныйФайл = ПолучитьИмяВременногоФайла(".doc");
    Описание = Новый ОписаниеПередаваемогоФайла(ВременныйФайл, Макет);
    МассивОписаний = Новый Массив;
    МассивОписаний.Добавить(Описание);
    ПолучитьФайлы(МассивОписаний, , , Ложь);
    Попытка
        МСВорд = ПолучитьCOMОбъект(ВременныйФайл);
        Документ = МСВорд.Application.Documents(1);
        Документ.Activate();
        МСВорд.Application.Visible = Истина;
        МСВорд.Activate();
    Исключение    
    КонецПопытки;
    
        
КонецПроцедуры

&НаСервере
Функция ПолучитьМакетДоговора()
    Макет = ПолучитьОбщийМакет("МакетДоговора");
    Адрес = ПоместитьВоВременноеХранилище(Макет);    
    Возврат Адрес;
КонецФункции


Что-то такое
3 Ненавижу 1С
 
гуру
03.12.15
14:59
&НаКлиенте &НаСервере работает только в модулях форм
4 KuJIT
 
03.12.15
15:00
(3) Читал, что &НаКлиенте &НаСервере в общих модулях показывают, где будет компилиться код
5 KuJIT
 
03.12.15
15:02
А вот разделение на два разных модуля с галочкой ВызовСервера на этапе проверки синтаксиса уже себя хорошо показало
6 Гёдза
 
03.12.15
15:03
(3) не только. еще в клиент-серверных модулях. Но их использование считается извращением
7 KuJIT
 
03.12.15
15:06
В общем, проблема решилась. Клиентская процедура записана в Общий модуль с единственной галкой "Клиент", а серверная в общий модуль с галками "Сервер" и "ВызовСервера", как и подсказывал товарищ  Nuobu. Всем спасибо!
8 hhhh
 
03.12.15
15:18
(4) напутал что-то, компилится это

#Если Клиент
#Если Сервер
9 aleks_default
 
03.12.15
15:38
(8)читал, да не дочитал