Если клиент тогда

Синтаксис:
Код 1C v 8.2 УП #Если <Логическое выражение> Тогда
#ИначеЕсли <Логическое выражение> Тогда

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

#КонецЕсли
Для того, чтобы процедура присутствовала и была вызвана на стороне сервера, фрагмент кода должен выглядеть следующим образом:
#Если Сервер Тогда
Процедура Проц1() Экспорт

КонецПроцедуры
#КонецЕсли
Важно! В приведенном тексте ВСЯ процедура, а не ее часть находится внутри блока #Если Сервер Тогда … #КонецЕсли.
При запуске конфигурации на выполнение производится загрузка и компиляция конфигурации. Экземпляры всех общих модулей создаются как на серверной, так и на клиентской стороне. Если в каком-то из общих модулей содержится приведенный фрагмент кода, то он в соответствии с инструкцией препроцессора #Если Сервер Тогда … #КонецЕсли будет скомпилирован только на стороне сервера, а на стороне клиента данный фрагмент «выпадет» из компилируемого текста и, таким образом, процедура на стороне клиента не будет представлена совсем.
Далее, при компиляции на стороне клиента модулей, в которых содержится обращение к данной процедуре, будет произведен ее поиск на стороне клиента. На стороне клиента таковой процедуры нет, следовательно, она не будет найдена. Тогда будет произведен поиск процедуры в общих модулях на стороне сервера, где она будет обнаружена и все вызовы будут переправляться для выполнения на сервер 1С:Предприятия.
Если блок #Если Сервер Тогда … #КонецЕсли включает только часть процедуры, то процедура будет присутствовать как на стороне клиента, так и на стороне сервера. Только на клиентской стороне она будет без той части, которая заключена в блок, поэтому результат выполнения процедуры может зависеть от того, где обрабатывается вызов этой процедуры.
Для выполнения на клиентском месте в обычном и управляемом режиме:
Код 1C v 8.2 УП #Если НаКлиенте Тогда

#КонецЕсли
или
#Если Клиент Тогда

#КонецЕсли
Инструкция препроцессора НаКлиенте (AtClient) определена для всех клиентских приложений. Для тонкой подстройки модуля под конкретное клиентское приложение дополнительно введены инструкции ТолстыйКлиентОбычноеПриложение (ThickClientOrdinaryApplication), ТолстыйКлиентУправляемоеПриложение (ThickClientManagedApplication), ТонкийКлиент (ThinClient) и ВебКлиент (WebClient), которые определены в соответствующих приложениях.
Для выполнения на клиенте:
#Если ТолстыйКлиентОбычноеПриложение Тогда

#КонецЕсли
#Если ТолстыйКлиентУправляемоеПриложение Тогда

#КонецЕсли
Для выполнения на тонком клиенте:
#Если ТонкийКлиент Тогда

#КонецЕсли
Для выполнения на веб-клиенте:
#Если ВебКлиент Тогда

#КонецЕсли
В файл–серверном варианте
В обычном клиенте в обычном и управляемом режиме доступны НаКлиенте, Клиент, ТолстыйКлиентОбычноеПриложение, ТолстыйКлиентУправляемоеПриложение , НаСервере, Сервер.
В файловом варианте инструкции препроцессору #Если Сервер…, #Если Клиент…, #Если ТолстыйКлиентОбычноеПриложение или #Если ТолстыйКлиентУправляемоеПриложение… пропускаются, поэтому экземпляр кода будет присутствовать всегда.
В тонком клиенте доступны – ТонкийКлиент, НаКлиенте, Клиент.
На серверной части тонкого клиента – Сервер, НаСервере.
Во внешнем соединении – ВнешнееСоединение, НаСервере, Сервер.
В сессии СОМ-соединения
Для включения возможности использования процедур и функций в сессии внешнего соединения применяется инструкция препроцессора.
Код 1C v 8.2 УП #Если ВнешнееСоединение Тогда

#КонецЕсли

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *