1C v 8.2 |
---|
Синтаксис: где: <Логическое выражение> = [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора>]…] <Символ препроцессора> = {НаКлиенте | НаСервере | ТолстыйКлиентОбычноеПриложение | ТолстыйКлиентУправляемоеПриложение | Клиент | Сервер | ВнешнееСоединение } <Булева операция> = {И | ИЛИ} Используемые термы: #Если (#If) #Тогда (#Then) #ИначеЕсли (#ElsIf) #Иначе (#Else) #КонецЕсли (#EndIf) Клиент (Client) НаКлиенте (AtClient) НаСервере (AtServer) ТолстыйКлиентОбычноеПриложение(ThickClientOrdinaryApplication) ТолстыйКлиентУправляемоеПриложение (ThickClientManagedApplication) Сервер (Server) ВнешнееСоединение (ExternalConnection) ТонкийКлиент (ThinClient) ВебКлиент (WebClient) И (AND) ИЛИ (OR) НЕ (NOT) Регистр букв (строчные или заглавные) при написании не имеет значения. Описание использования: В варианте клиент-сервер Если используется клиент–серверный вариант запуска системы 1С:Предприятие, то можно организовывать выполнение различных процедур и функций на сервере приложения или на клиентском месте. Для выполнения на сервере (инструкции Сервер и НаСервере равнозначны): #Если НаСервере Тогда … #КонецЕсли Для того, чтобы процедура присутствовала и была вызвана на стороне сервера, фрагмент кода должен выглядеть следующим образом: #Если Сервер Тогда Процедура Проц1() Экспорт … КонецПроцедуры #КонецЕсли Важно! В приведенном тексте ВСЯ процедура, а не ее часть находится внутри блока #Если Сервер Тогда … #КонецЕсли. При запуске конфигурации на выполнение производится загрузка и компиляция конфигурации. Экземпляры всех общих модулей создаются как на серверной, так и на клиентской стороне. Если в каком-то из общих модулей содержится приведенный фрагмент кода, то он в соответствии с инструкцией препроцессора #Если Сервер Тогда … #КонецЕсли будет скомпилирован только на стороне сервера, а на стороне клиента данный фрагмент «выпадет» из компилируемого текста и, таким образом, процедура на стороне клиента не будет представлена совсем. Далее, при компиляции на стороне клиента модулей, в которых содержится обращение к данной процедуре, будет произведен ее поиск на стороне клиента. На стороне клиента таковой процедуры нет, следовательно, она не будет найдена. Тогда будет произведен поиск процедуры в общих модулях на стороне сервера, где она будет обнаружена и все вызовы будут переправляться для выполнения на сервер 1С:Предприятия. Если блок #Если Сервер Тогда … #КонецЕсли включает только часть процедуры, то процедура будет присутствовать как на стороне клиента, так и на стороне сервера. Только на клиентской стороне она будет без той части, которая заключена в блок, поэтому результат выполнения процедуры может зависеть от того, где обрабатывается вызов этой процедуры. Для выполнения на клиентском месте в обычном и управляемом режиме: Инструкция препроцессора НаКлиенте (AtClient) определена для всех клиентских приложений. Для тонкой подстройки модуля под конкретное клиентское приложение дополнительно введены инструкции ТолстыйКлиентОбычноеПриложение (ThickClientOrdinaryApplication), ТолстыйКлиентУправляемоеПриложение (ThickClientManagedApplication), ТонкийКлиент (ThinClient) и ВебКлиент (WebClient), которые определены в соответствующих приложениях. Для выполнения на клиенте: #Если ТолстыйКлиентОбычноеПриложение Тогда … #КонецЕсли #Если ТолстыйКлиентУправляемоеПриложение Тогда … #КонецЕсли Для выполнения на тонком клиенте: #Если ТонкийКлиент Тогда … #КонецЕсли Для выполнения на веб-клиенте: #Если ВебКлиент Тогда … #КонецЕсли В файл–серверном варианте В обычном клиенте в обычном и управляемом режиме доступны НаКлиенте, Клиент, ТолстыйКлиентОбычноеПриложение, ТолстыйКлиентУправляемоеПриложение , НаСервере, Сервер. В файловом варианте инструкции препроцессору #Если Сервер…, #Если Клиент…, #Если ТолстыйКлиентОбычноеПриложение или #Если ТолстыйКлиентУправляемоеПриложение… пропускаются, поэтому экземпляр кода будет присутствовать всегда. В тонком клиенте доступны – ТонкийКлиент, НаКлиенте, Клиент. На серверной части тонкого клиента – Сервер, НаСервере. Во внешнем соединении – ВнешнееСоединение, НаСервере, Сервер. В сессии СОМ-соединения Для включения возможности использования процедур и функций в сессии внешнего соединения применяется инструкция препроцессора. |
1C v 8.0 - 8.1 |
---|
Синтаксис: где: <Логическое выражение> = [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора> [<Булева операция> [НЕ] <Символ препроцессора>]…] <Символ препроцессора> = {Клиент | Сервер | ВнешнееСоединение } <Булева операция> = {И | ИЛИ} Используемые термы: #Если (#If) #Тогда (#Then) #ИначеЕсли (#ElsIf) #Иначе (#Else) #КонецЕсли (#EndIf) Клиент (Client) Сервер (Server) ВнешнееСоединение (ExternalConnection) И (AND) ИЛИ (OR) НЕ (NOT) Регистр букв (строчные или заглавные) при написании не имеет значения. Описание использования: В варианте клиент-сервер Если используется клиент–серверный вариант запуска системы 1С:Предприятие, то можно организовывать выполнение различных процедур и функций на сервере приложения или на клиентском месте. Для выполнения на сервере: Для выполнения на клиентском месте: Для того, чтобы процедура присутствовала и была вызвана на стороне сервера, фрагмент кода должен выглядеть следующим образом: #Если Сервер Тогда Процедура Проц1() Экспорт … КонецПроцедуры #КонецЕсли Важно! В приведенном тексте ВСЯ процедура, а не ее часть находится внутри блока #Если Сервер Тогда … #КонецЕсли. При запуске конфигурации на выполнение производится загрузка и компиляция конфигурации. Экземпляры всех общих модулей создаются как на серверной, так и на клиентской стороне. Если в каком-то из общих модулей содержится приведенный фрагмент кода, то он в соответствии с инструкцией препроцессора #Если Сервер Тогда … #КонецЕсли будет скомпилирован только на стороне сервера, а на стороне клиента данный фрагмент «выпадет» из компилируемого текста и, таким образом, процедура на стороне клиента не будет представлена совсем. Далее, при компиляции на стороне клиента модулей, в которых содержится обращение к данной процедуре, будет произведен ее поиск на стороне клиента. На стороне клиента таковой процедуры нет, следовательно, она не будет найдена. Тогда будет произведен поиск процедуры в общих модулях на стороне сервера, где она будет обнаружена и все вызовы будут переправляться для выполнения на сервер 1С:Предприятия. Если блок #Если Сервер Тогда … #КонецЕсли включает только часть процедуры, то процедура будет присутствовать как на стороне клиента, так и на стороне сервера. Только на клиентской стороне она будет без той части, которая заключена в блок, поэтому результат выполнения процедуры может зависеть от того, где обрабатывается вызов этой процедуры. В файл–серверном варианте В файловом варианте инструкции препроцессору #Если Сервер… и #Если Клиент… определены всегда, поэтому экземпляр кода будет присутствовать всегда. В сессии СОМ-соединения Для включения возможности использования процедур и функций в сессии внешнего соединения применяется инструкция препроцессора. |
1C v 7.x |
---|
Описание отсутствует! |