Имя: Пароль:
1C
1С v8
Вопрос по работе Клиент-Сервер.(Вызов процедур серверной,клиентскеой ...)
0 2mugik
 
26.07.12
12:31
8.2 Толстый клиент
Есть ОбщийМодуль ГалкиСтоят НаСервере,НаКлиенте,Вызовсервера
в нем есть процедура1,
          Процедура2(в этой процедуре есть вызов процедуры   из         клиентского модуля)

Теперь ситуация: идет серверный вызов Процедуры1, но вылетает ошибка на строку из Процедуры2 где есть вызов клиентской процедуры.

Это нормально?Т.е. модуль полностью компилируется в момент обращения к нему и полностью проверяется на ошибки?

Ну и так до кучи: в файловой естт-но все работает без вопросов.
1 acsent
 
26.07.12
12:32
правильно ежик про такиз как ты говорил ))
2 2mugik
 
26.07.12
12:35
Ежику тут недавно самому помогали прояснить ситуацию с Индексами СКЛ. Так что не боги горшки обжигают.
3 pumbaEO
 
26.07.12
12:40
Как бы резюме:
с сервера вызвать клиента нельзя.
Обходные пути:
1. на клиенте обработчик ожидания и проверять состояние на сервере.
2. менять логику.
а больше и нет вариантов.
4 ДенисЧ
 
26.07.12
12:45
(3) пока идёт серверный вызов - на клиенте обработчик ожидания не сработает...
5 pumbaEO
 
26.07.12
12:48
(4) асинхронное фоновое задание, с сохранение результата работы.
6 2mugik
 
26.07.12
12:49
(3)я знаю что нельзя с сервера клиента вызвать. Но у меня вопрос если я вызываю процедуру1 то причем тут процедура2? я к ней не обращаюсь а валится имеено на ней. т.е. я делаю вывод компиляция при обращении к процедуре модуля идет его всего поэтому и валится.
7 pumbaEO
 
26.07.12
12:55
при галки стоят НаСервере,НаКлиенте,Вызовсервера у тебя 2 компиляции отедльно - НаСервере , НаКлиенте .
8 Нуф-Нуф
 
26.07.12
12:55
покажи полный текст ошибки
9 2mugik
 
26.07.12
13:03
{ОбщийМодуль.Модуль1.Модуль(566,1)}: Переменная не определена (Моя_Процедура1Клиент)
               ПеременнаяКакаято    = <<?>>Процедура1Клиент.СделатьТото(пар1,пар2);

Но говорю  эта строка находится в процедуре в которую не заходит даже в файловой версии. Заходит в процедуру1 которая в этом же модуле.
10 2mugik
 
26.07.12
13:07
(7)Ну да но если бы вызов шел с клиента то чтобы тогда вообще ругалось на обращение к процедуре из клиентского модуля.
Значит вызов процедуры 1 идет с среверной процедуры, общий модуль(где лежат процедуры 1,2) берется с сервера и опа в процедуре2 есть вызов процедуры из клиентского модуля - вываливаемся с ошибкой - такая логика?
11 2mugik
 
26.07.12
13:09
Поправка:
<<?>>Процедура1Клиент=<<?>>Моя_Процедура1Клиент
12 ДенисЧ
 
26.07.12
13:10
ДЫк оформи вызов в #Если Клиент Тогда
И не будет валиться при серверном вызове
13 2mugik
 
26.07.12
13:19
(12)Да спасибо. Пожалуй дельное предложение, поробую.
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший