Клиент и НаКлиенте - разница? #434607


#0 by mikecool
Клиент оставили для совместимости?
#1 by ShoGUN
Основное отличие инструкций препроцессора от директив компиляции заключается в том, что инструкции препроцессора описывают, где компилируется код, а директивы компиляции указывают, где нужно компилировать код. Кроме того, инструкции препроцессора могут располагаться как внутри процедур и функций, в то время как директивы компиляции могут располагаться только перед описанием процедуры, функции или переменной (для модуля формы). Другими словами, использование в коде инструкции препроцессора вида: #Если Сервер Тогда … #КонецЕсли указывает, что код, расположенный внутри условия, может быть скомпилирован (и исполнен) только на стороне сервера. Однако использование в коде директиву компиляции вида: … КонецПроцедуры указывает, что процедура после директивы компиляции должна быть скомпилирована (и исполнена) только на стороне клиента. (цы)
#2 by Fragster
чО?
#3 by Dionisious
Директива компиляции указывает где выполнять процедуру. А инструкция препроцессора указывает как скомпилировать код в зависимости от того где он выполняется.
#4 by ShoGUN
Текст не мой :) Я согласен, что написано очень мутно :) Ну если совсем просто и коротко - директивы могут только в определенных местах в коде использоваться, а инструкции препроцессора - в любом месте.
#5 by mikecool
Инструкции препроцессору Для указания разрешения использования процедур и функций общих модулей и модулей объектов используют инструкции препроцессору. Синтаксис: … #Иначе #КонецЕсли где: <Логическое выражение> = [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора>]…] <Символ препроцессора> = {НаКлиенте | НаСервере | ТолстыйКлиентОбычноеПриложение | ТолстыйКлиентУправляемоеПриложение | Клиент | Сервер | ВнешнееСоединение } <Булева операция> = {И | ИЛИ} Используемые термы: тут есть хоть слово про директивы?
#6 by GROOVY
Управляемые формы располагаются одновременно и на стороне сервера и на стороне клиента. Директивы & указывают где будет выполнятся эта процедура.
#7 by mikecool
"Основное отличие инструкций препроцессора от директив компиляции заключается в том, что инструкции препроцессора описывают, где компилируется код, а директивы компиляции указывают, где нужно компилировать код. " - масло масляное? :))
#8 by Господин ПЖ
про инструкции препроцессора можно забыть имхо, ибо смысла в них нет если под управляемый режим писать
#9 by mikecool
пример приведи, пожалста
#10 by ShoGUN
Значит я тебя не понял. По идее ИНСТРУКЦИИ Клиент и НаКлиенте - просто синонимы. Блин, это цитата из ЖКК 1С, фигли мне претензии предъявляете?
#11 by Господин ПЖ
читай
#12 by GROOVY
&НаКлиенте
#13 by ShoGUN
О, теперь и мне понятней стало...
#14 by mikecool
сочетания инструкций и директив допускаются? или что будет в случае: Функция ПолучитьОрганизациюПоУмолчанию #Если Клиент Тогда .... ?
#15 by mikecool
+14 кусок #Если Клиент будет проигнорирован?
#16 by Господин ПЖ
а смысл этот кусок туда совать?
#17 by ShoGUN
Кусок в условии просто будет пропущен, если я всё правильно понял. Имхо инструкции - скорей для общих модулей, директивы - для управляемых форм. Комбинировать можно, но смысла от этого немного.
#18 by mikecool
и кстати - вопрос в топике немного звучал по другому, в свете набора инструкций как соотносятся?
#19 by mikecool
в жизни всякое бывает :)
#20 by mikecool
+19 хочется основы понять, а не тупо быдлокодить :)
#21 by ShoGUN
Для выполнения на клиентском месте в обычном и управляемом режиме: #Если НаКлиенте Тогда … #КонецЕсли или #Если Клиент Тогда … #КонецЕсли Из справки, т.е. это синонимы, оставлено для совместимости.
#22 by acsent
В версии документации, которая находится на сентябрьском ИТС, данный раздел переработан (5.8.1.1). Надеемся, что стало лучше. P.S. Теперь этот раздел имеет номер 4.8.1.1. С партнерского по этой же теме
#23 by GROOVY
Процедуры управляемых форм исполняются ЛИБО на клиенте ЛИБО на сервере, вставлять внутрь эти инструкции (#) не имеет смысла.
#24 by Ненавижу 1С
Если я в серверном общем модуле напишу &НаКлиенте что будет?
#25 by ShoGUN
А, еще! Директивы компиляции работают и в файл-серверном режиме, инструкции препроцессора - только в клиент-серверном.
#26 by mikecool
имхо - игнор функции
#27 by mikecool
решил почитать на эту тему ИТС... кто придумал термины "частотные" и "нечастотные" применимо к командам? чего-то слух режет...
#28 by SilentMan
Не фантазируй
#29 by ShoGUN
В файловом варианте инструкции препроцессору #Если Сервер…, #Если Клиент…, #Если ТолстыйКлиентОбычноеПриложение или #Если ТолстыйКлиентУправляемоеПриложение… пропускаются, поэтому экземпляр кода будет присутствовать всегда. В тонком клиенте доступны – ТонкийКлиент, НаКлиенте, Клиент. На серверной части тонкого клиента – Сервер, НаСервере. Во внешнем соединении – ВнешнееСоединение, НаСервере. (с) справка по 8.2 Я поторопился, конечно. Но часть инструкций препроцессора - игнорируется в файл-серверном режиме. Директивы компиляции совсем не про то...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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