|  | Использование &НаКлиенте в 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) — определяет клиентскую процедуру (функцию)"
 |  |