|
Использование &НаКлиенте в 1С
| ☑ |
0
gugolovski
09.09.21
✎
05:31
|
Почему при использовании &НаКлиенте
код 1 верный:
&НаКлиенте
Процедура Команда1(Команда)
ДополнительнаяПроцедура();
КонецПроцедуры
ПРоцедура ДополнительнаяПроцедура()
Сообщить(1234);
КонецПроцедуры
//*********************************
код 2 ошибочный:
&НаКлиенте
ПРоцедура ДополнительнаяПроцедура()
Сообщить(123);
КонецПроцедуры
Процедура Команда1(Команда)
ДополнительнаяПроцедура();
КонецПроцедуры
&НаКлиенте - это метка для конкретной процедуры?
|
|
1
hhhh
09.09.21
✎
05:35
|
потому что с сервера нельзя вызывать клиент. напиши
&НаКлиенте
ПРоцедура ДополнительнаяПроцедура()
Сообщить(123);
КонецПроцедуры
&НаКлиенте
Процедура Команда1(Команда)
ДополнительнаяПроцедура();
КонецПроцедуры
|
|
2
MyNick
09.09.21
✎
06:18
|
(0) если модуль формы или клиент северный, нужно писать для каждого метода
|
|
3
chelentano
09.09.21
✎
06:54
|
Если нет никакой "метки" - по умолчанию считается, что выполняется на сервере. А с сервера нельзя вызывать клиент
|
|
4
RomaH
naïve
09.09.21
✎
06:56
|
(0) если параметр не указан - по умолчанию &НаСервере
&НаКлиенте
Процедура Команда1(Команда)
ДополнительнаяПроцедура();
КонецПроцедуры
ПРоцедура ДополнительнаяПроцедура()
Сообщить(1234);
КонецПроцедуры
то же самое что:
&НаКлиенте
Процедура Команда1(Команда)
ДополнительнаяПроцедура();
КонецПроцедуры
&НаСервере
ПРоцедура ДополнительнаяПроцедура()
Сообщить(1234);
КонецПроцедуры
во втором случае у тебя:
&НаКлиенте
ПРоцедура ДополнительнаяПроцедура()
Сообщить(123);
КонецПроцедуры
&НаСервере
Процедура Команда1(Команда)
ДополнительнаяПроцедура();
КонецПроцедуры
поэтому хороший тон всегда писать где выполняется процедура
|
|
5
fisher
09.09.21
✎
09:13
|
(0) > &НаКлиенте - это метка для конкретной процедуры?
Да. Цитата из справки:
"&НаКлиенте (&AtClient) — определяет клиентскую процедуру (функцию)"
|
|