Имя: Пароль:
1C
 
Если &НаСервере нельзя, то на &СервереБезКонтекста можно?
,
0 RomaH
 
naïve
10.12.14
12:59
Примечание:

В обработчике данного события нельзя использовать серверные методы формы с директивой компиляции &НаСервере.

ОбработкаВыбора - надо проверить выбранное значение, естественно надо вызывать серверные методы

СервереБезКонтекста можно использовать? или как
1 roman383
 
10.12.14
13:03
если &НаСервере нельзя то и на СервереБезКонтекста также нельзя
2 mikecool
 
10.12.14
13:04
(0) разницы не понимаешь?
3 Maxus43
 
10.12.14
13:07
&НаКлиенте
Процедура ОбработкаВыбора(...)

//Разрешите вызвать серверную процедуру для проверки чего-то тама
ПроверитьНаСервере(ХочуПроверитьЭто);
4 Maxus43
 
10.12.14
13:07
КонецПроцедуры
5 Сергиус
 
10.12.14
13:08
(0)ОбработкаВыбора поля ввода на форме?
6 RomaH
 
naïve
10.12.14
13:12
(5) да
7 RomaH
 
naïve
10.12.14
13:13
(2) понимаю
так можно или как?
вон (1) говорит нельзя, ты говоришь - можно
8 Сергиус
 
10.12.14
13:15
(7) Код в (3) вполне рабочий..
9 Feunoir
 
10.12.14
13:17
(7) Если я правильно понимаю, что запрет вызова серверного метода введён из-за того, что нельзя контекст формы гонят в этом случае туда-сюда с клиента на сервер и обратно. А внеконтекстные вызовы делать вполне можно.

Это косвенно подтверждает и мастер создания обработчика события в 1С. Он предлагает создать процедуру на клиенте или процедуру на клиенте и сервере без контекста.

PS: На самом деле можно делать и контекстные вызовы. Но за глюки 1С в этом случае не отвечает
10 Feunoir
 
10.12.14
13:20
+(9) Создание обработчика ПриАктивизацииСтроки в динамическом списке. Платформа 8.3.5.1248:

http://i.imgur.com/2Bku4qr.png
11 RomaH
 
naïve
10.12.14
13:24
ну, т.е. можно и неожиданных глюков не должен словить
все. спасибо, успокоили
12 DrZombi
 
гуру
10.12.14
13:35
(0) Предполагаю, что ВЫ что-то делаете не так :)
Отличие этих двух инструкций в том, что при Первой контекст формы доступен, и так же передается на Сервер с клиента.
То при второй, Контекста на сервере нет, и серверная процедура работает чисто с теми переменными, что ты ей подсунул :)
13 DrZombi
 
гуру
10.12.14
13:38
(7) Если в качестве "ХочуПроверитьЭто" будет просто Ссылка или простой Агрегатный тип, то все пройдет успешно.

Но если там будет содержаться какой либо Объект Формы: Табличная часть, или сама форма. То ты словишь исключение.



Выход есть:

&НаКлиенте
Процедура ОбработкаВыбора(...)

//Разрешите вызвать серверную процедуру для проверки чего-то тама

ПромежуточноеОбращение();

&НаСервере
Процедура ПромежуточноеОбращение()

ПроверитьНаСервере(Форма, Элементы, Что-тоЕще, ХочуПроверитьЭто);
14 Ненавижу 1С
 
гуру
10.12.14
13:39
яростная муть, почему нельзя с клиентского метода формы вызывать методы объекта? что мешало это сделать разрабам платформы?
15 DrZombi
 
гуру
10.12.14
13:41
(14) Не знаю. Можно предположить ,что все дело в том, что 1С разработчики хотят и На стуле посидеть и Рыбку скушать.
И тонкий клиент и еще Веб Клиент в одном флаконе :)
16 MM
 
10.12.14
14:11
(14) Так это будет серверный вызов, причём с контекстом и созданием объекта, а потом с возвратом изменений объекта в форму. Дураки начнут писать вызовы этих методов пачками с клиента, один за другим, а виновата будет 1С мол работает всё медленно. Потому и решили, разработчик должен явно указать, что управление уходит на сервер, и что он берёт ответственность за каждый вызов на себя. Ну на самом деле не на каждый, там есть ещё Видимость.
17 МишельЛ
 
10.12.14
17:00
(14)"почему нельзя с клиентского метода формы вызывать методы объекта?"
потому что объект и форма не связаны как в ООП "объект и его форма", а только скриптом.
Т.е. два разных независимых (друг от друга) объекта.
18 Сергиус
 
10.12.14
17:19
(18) Вообщем ООП от 1с)
19 МишельЛ
 
11.12.14
09:46
(16)"почему нельзя с клиентского метода формы вызывать методы объекта?"
"Потому и решили, разработчик должен явно указать, что управление уходит на сервер"
т.е. вы не видите и не понимаете смысла в программировании?
Что "вызвать метод объекта из формы" и "управление уходит на сервер" совершенно друг другу не противоречит.
В путных системах.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой