Поясните различие инструкций препроцессора и директив компиляции. #563678


#0 by ptiz
Читаю: "Основное отличие инструкций препроцессора от директив компиляции заключается в том, что инструкции препроцессора описывают, где компилируется код, а директивы компиляции указывают, где нужно компилировать код." 2 вопроса 1) Никак в толк не возьму, чем "описывают, где компилируется код" отличается от "где нужно компилировать код" ? Где в он будет скомпилирован? 2) Откуда можно будет вызвать такую процедуру: с сервера или с клиента? #Если Сервер Тогда &НаКлиенте Процедура МояПроцедура … КонецПроцедуры #КонецЕсли
#1 by ptiz
И какая разница  между #Если Клиент Тогда Процедура МояПроцедура … КонецПроцедуры #КонецЕсли и &НаКлиенте … КонецПроцедуры
#2 by Fragster
где нужно ВЫПОЛНЯТЬ код
#3 by ДенисЧ
в первом случае в исполняемый не на клиенте код процедура не попадёт в принципе.
#4 by Fragster
или набоборот... короче будет ошибка "Процедура с указанным именем не обнаружена" #Если Клиент
#5 by ptiz
А во втором?
#6 by ДенисЧ
а во втором - может попасть, но выполняться не будет. Я не знаю, как работает оптимизатор в 1с
#7 by Fragster
а во втором - функция будет обрабатываться на сервере, но доступна будет и из сервера и из клиента
#8 by ptiz
Т.е. если указано: &Сервер То код будет выполняться всегда на сервере, независимо от того, откуда вызван. Если указано &Клиент, то код будет присутствовать на сервере, но выполнить его можно будет только с клиента. Так?
#9 by Fragster
где там присутствовать код будет - не скажу, но то, что вызвать функцию из другого места (из клиента &сервер и наоборот) можно - это факт. а # - просто убирает код из соответствующего контекста - как будто его и не было
#10 by Stepa86
В случае инструкции препроцессору (#Если ) участок кода или выполняется или пропускается в зависимости от выполнения условия, а в случае директивы выполнение кода будет перенаправлено в указанную среду выполнения, если возможно
#11 by Stepa86
вот этот код например выведет 1, 2, 3 , а не все 4
#12 by acsent
# - где компилируется код & - где выполняется код. Это если простым языком
#13 by ptiz
А ошибку этот код не вызовет при попытке вызова ВывестиЧетыре ?
#14 by Stepa86
должен так то... ну я думаю смысл понятен в общем
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С