Имя: Пароль:
1C
1С v8
Вызов сервера из общего модуля (клиент,сервер,вызовсервера)
,
0 miner
 
01.02.12
18:08
Народ подскажите как сделать;

Общий модуль Тест
&НаСервере
Функция ПолучитьОбъектXML(ОбъектСсылкаНаXML,Параметр){}экспорт
Функция ЗаполнитьОбъект(ОбъектДокументИЛиОБъектИзФормы,Параметр,ОбъектСсылкаНаXML )
{
   ОбъектXML = Тест.ПолучитьОбъектXML(ОбъектСсылкаНаXML,Параметр);
}

ЗаполнитьОбъект вызывается как с клиента так и с сервера.
Здесь он ругается на то что не может найти ПолучитьОбъектXML.
Как я понял модуль компилируется как на клиенте так и на сервере. Но в данном случае ЗаполнитьОбъект вызывается в форме  на клиенте. и поэтому вызов делается именно клиентской версии функции. И вродеж с клиента можно серверную функцию вызвать? или нет!
1 ChAlex
 
01.02.12
18:56
А вызов случаем не со внешней обработки (отчета)?
2 miner
 
02.02.12
08:13
(1) нет с справочника из формы.
3 Defender aka LINN
 
02.02.12
08:23
(0) Делай отдельный модуль
4 miner
 
02.02.12
09:05
Блин,как-то ради одной функции делать модуль-это :(
5 cw014
 
02.02.12
09:09
(4) Вот так. Если общий модуль компилируется и на сервере и на клиенте, то клиент видит только клиента, ну а сервер соответственно.

С модулями форм объектов такое бы проканало, но не с общими модулями
6 cw014
 
02.02.12
09:10
(4) Кста, и потому можно в типовых конфах найти модули типа "УправлениеРаботорговлей" и "УправлениеРаботорговлейКлиент". И во втором модуле всего лишь одна процедура :)
7 miner
 
02.02.12
10:30
(6) Именно поэтому я писал полное Имя функции, потому что я знал, что клиент видит только клиента, а сервер только сервера. И именно поэтому я поставил галку в модуле Вызов сервера, чтобы с клиента можно было вызвать сервер.
Тем не менее я создал отдельный модуль, но вызов этой самой серверной функции выдает еррор тк не может найти ее. Те как я понимаю вызвать серверную функцию модуля из другого модуля клиентского никак нельзя?
8 Defender aka LINN
 
02.02.12
10:37
(7) Вечно люди делают совершенно дурацкие выводы. Ты что-то делаешь не так.
9 miner
 
02.02.12
10:39
(8)Это же очевидно что я делаю что-то не так. Если б я делал все так как нужно, я бы сюда не писал. :)
10 cw014
 
02.02.12
10:40
(7) Даже так он не виден
11 cw014
 
02.02.12
10:40
(7) Разделяй модули
12 miner
 
02.02.12
11:08
(11) Я же сказал, я разделил. Все равно не видит.
13 Defender aka LINN
 
02.02.12
11:16
(12) U're doing it wrong!
14 miner
 
02.02.12
11:19
Ай кноу зет ай дуинг вронг!
15 miner
 
02.02.12
11:19
Хоу кен ай до райт?
16 Defender aka LINN
 
02.02.12
11:21
(15) Больше Мисты, меньше конфигуратора. Та вообще, закрой 1С, она только мешает.
17 ChAlex
 
02.02.12
13:58
&НаСервере - это не вызов на сервере или клиенте - это где выполняется процедура модуля. А вот управлением где ее вызывать - нет (это к Тест.ПолучитьОбъектXML(ОбъектСсылкаНаXML,Параметр)). Самое простое - если вызов идет с сервера, то и вызываемую функцию компилировать на сервере, если с клиента - аналогично (если нет противопоказаний). А для того что бы не было неоднозначности примените директиву в модуле #Если Сервер Тогда ..... #Конец.