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

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

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

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

Содержание

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Подпишитесь на телеграм-канал MoscowSoft!
QR-код (ссылка приглашение) в канал MoscowSoft

https://t.me/MoscowSoft

Публикуем:
- инструкции и советы по разработке на 1С;
- рекомендации по интеграции 1С;
- бесплатно делимся своими обработками;
- публикуем секретные спецпредложения только для подписчиков.

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