Top.Mail.Ru
Меню
Каталог Программы 1С Опыт и отзывы Услуги Компания Статьи Контакты

Как выполнить код в 1С на клиенте или на сервере? Директивы компиляции

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft  13.08.2025 Актуальность проверена: 12.09.2025   5 мин.
Подобрать перенос данных 1С

Специализируемся на переносах данных 1С с 2015г.

Подобрать перенос данных 1С >>

Интеграция 1С с маркетплейсами

Специализируемся на интеграциях 1С с маркетплейсами с 2021г.

Изучить продукты >>

Как выполнить код в 1С на клиенте или на сервере

Содержание

Трехзвенная архитектура платформы 1С

В платформе 1С начиная с появления управляемых форм используется полноценная трехзвенная архитектура: клиент, сервер, СУБД. Часто можно управлять тем, где именно будет выполнен код. Если не требуются данные из базы данных, если вся нужная информация уже есть на контексте клиента, то есть смысл несложные вычисления выполнять сразу на клиенте. Так вы сэкономите серверный вызов. Приложение будет работать быстрее.

Директивы компиляции в 1С

Существует четыре директивы компиляции в 1С. Это специальные указания в коде, с их помощью компилятор "понимает", где именно нужно выполнить код.

Пример директив компиляции

Директивы могут быть следующие:

  • &НаКлиенте
  • &НаСервере
  • &НаСервереБезКонтекста
  • &НаКлиентеНаСервереБезКонтекста

Указание "БезКонтекста" означает, что при выполнении кода не будет доступа к контексту текущей формы. Благодаря этому не передаются между клиентом и сервером лишние данные и выполнение алгоритмов ускоряется.

Важные ограничения

Нельзя с сервера обратиться к клиенту. Необходимо или вернуть данные как возвращаемое значение, если код выполняется на сервере. Или записать на сервере в базу данных или во временное хранилище. И потом прочитать уже из клиентского сеанса.

Выполнение кода внутри процедур

Внутри кода процедур (тех, которые находятся, например, в общем модуле и доступны и с клиента и с сервера) можно дополнительно указать, какой код выполнять на клиенте, а какой на сервере.


#Если <Логическое выражение> Тогда
   #ИначеЕсли <Логическое выражение> Тогда
   ...
   #Иначе
   #КонецЕсли

Доступные термы для логических выражений:

  • Клиент (Client)
  • МобильноеПриложениеКлиент (MobileAppClient)
  • МобильноеПриложениеСервер (MobileAppServer)
  • ТолстыйКлиентОбычноеПриложение (ThickClientOrdinaryApplication)
  • ТолстыйКлиентУправляемоеПриложение (ThickClientManagedApplication)
  • Сервер (Server)
  • ВнешнееСоединение (ExternalConnection)
  • ТонкийКлиент (ThinClient)
  • ВебКлиент (WebClient)
  • И (AND)
  • ИЛИ (OR)
  • НЕ (NOT)
MoscowSoft логотип

Нужна помощь?

Если не получается разобраться с вопросом самостоятельно, обратитесь к нам. Получите бесплатную консультацию эксперта!

Основатель и генеральный директор компании MoscowSoft, Сорокин Сергей
Сорокин Сергей, Генеральный директор MoscowSoft

Возврат к списку