#1
by ShoGUN
Основное отличие инструкций препроцессора от директив компиляции заключается в том, что инструкции препроцессора описывают, где компилируется код, а директивы компиляции указывают, где нужно компилировать код. Кроме того, инструкции препроцессора могут располагаться как внутри процедур и функций, в то время как директивы компиляции могут располагаться только перед описанием процедуры, функции или переменной (для модуля формы). Другими словами, использование в коде инструкции препроцессора вида: #Если Сервер Тогда … #КонецЕсли указывает, что код, расположенный внутри условия, может быть скомпилирован (и исполнен) только на стороне сервера. Однако использование в коде директиву компиляции вида: … КонецПроцедуры указывает, что процедура после директивы компиляции должна быть скомпилирована (и исполнена) только на стороне клиента. (цы)
#3
by Dionisious
Директива компиляции указывает где выполнять процедуру. А инструкция препроцессора указывает как скомпилировать код в зависимости от того где он выполняется.
#4
by ShoGUN
Текст не мой :) Я согласен, что написано очень мутно :) Ну если совсем просто и коротко - директивы могут только в определенных местах в коде использоваться, а инструкции препроцессора - в любом месте.
#5
by mikecool
Инструкции препроцессору Для указания разрешения использования процедур и функций общих модулей и модулей объектов используют инструкции препроцессору. Синтаксис: … #Иначе #КонецЕсли где: <Логическое выражение> = [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора>]…] <Символ препроцессора> = {НаКлиенте | НаСервере | ТолстыйКлиентОбычноеПриложение | ТолстыйКлиентУправляемоеПриложение | Клиент | Сервер | ВнешнееСоединение } <Булева операция> = {И | ИЛИ} Используемые термы: тут есть хоть слово про директивы?
#6
by GROOVY
Управляемые формы располагаются одновременно и на стороне сервера и на стороне клиента. Директивы & указывают где будет выполнятся эта процедура.
#7
by mikecool
"Основное отличие инструкций препроцессора от директив компиляции заключается в том, что инструкции препроцессора описывают, где компилируется код, а директивы компиляции указывают, где нужно компилировать код. " - масло масляное? :))
#8
by Господин ПЖ
про инструкции препроцессора можно забыть имхо, ибо смысла в них нет если под управляемый режим писать
#10
by ShoGUN
Значит я тебя не понял. По идее ИНСТРУКЦИИ Клиент и НаКлиенте - просто синонимы. Блин, это цитата из ЖКК 1С, фигли мне претензии предъявляете?
#14
by mikecool
сочетания инструкций и директив допускаются? или что будет в случае: Функция ПолучитьОрганизациюПоУмолчанию #Если Клиент Тогда .... ?
#17
by ShoGUN
Кусок в условии просто будет пропущен, если я всё правильно понял. Имхо инструкции - скорей для общих модулей, директивы - для управляемых форм. Комбинировать можно, но смысла от этого немного.
#18
by mikecool
и кстати - вопрос в топике немного звучал по другому, в свете набора инструкций как соотносятся?
#21
by ShoGUN
Для выполнения на клиентском месте в обычном и управляемом режиме: #Если НаКлиенте Тогда … #КонецЕсли или #Если Клиент Тогда … #КонецЕсли Из справки, т.е. это синонимы, оставлено для совместимости.
#22
by acsent
В версии документации, которая находится на сентябрьском ИТС, данный раздел переработан (5.8.1.1). Надеемся, что стало лучше. P.S. Теперь этот раздел имеет номер 4.8.1.1. С партнерского по этой же теме
#23
by GROOVY
Процедуры управляемых форм исполняются ЛИБО на клиенте ЛИБО на сервере, вставлять внутрь эти инструкции (#) не имеет смысла.
#25
by ShoGUN
А, еще! Директивы компиляции работают и в файл-серверном режиме, инструкции препроцессора - только в клиент-серверном.
#27
by mikecool
решил почитать на эту тему ИТС... кто придумал термины "частотные" и "нечастотные" применимо к командам? чего-то слух режет...
#29
by ShoGUN
В файловом варианте инструкции препроцессору #Если Сервер…, #Если Клиент…, #Если ТолстыйКлиентОбычноеПриложение или #Если ТолстыйКлиентУправляемоеПриложение… пропускаются, поэтому экземпляр кода будет присутствовать всегда. В тонком клиенте доступны – ТонкийКлиент, НаКлиенте, Клиент. На серверной части тонкого клиента – Сервер, НаСервере. Во внешнем соединении – ВнешнееСоединение, НаСервере. (с) справка по 8.2 Я поторопился, конечно. Но часть инструкций препроцессора - игнорируется в файл-серверном режиме. Директивы компиляции совсем не про то...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- Запрос по регистру НалоговыйДвиженияССубконто
- Свойтсво "СвязьПоВладельцу" как добраться?
- Как создать объект СписокФайлов из v7ftp.dll
- Реестр на изготовление пластиковых карт txt
- Как оформить текущий ремонт ОС в 1С УПП
- Зависает при индексации.
- Решение задачи по учёту комплектов в оперативном учёте.
- Каким документом списать РБП?
- v8: ЗУП Как правильно оформить перенос отпуска?
- УПП. Основной вид расчета. Оплата по договорам подряда.
- Удержания из зп в 1С УПП 1.2.19.1
- v7: Несколько касс в организации
- УПП: Расчет себестоимости выпуска (списывает отрицательную сумму с 20 на 91 счет)
- v7: Сторнирование затрат по объекту строительства
- Help desk и джабер сервер
- РИБ - выгрузить только определенные доки, как быть со ссылками?
- ЗУП:2.5.16.2 Отражение зарплаты в регл.учете
- V8 Превышен максимальный размер файла 1с.cd
- Не работает функция ПолучитьИмяПредопределенного
- Почему сервер самопроизвольно перезагружается после 10мин работы?