Найти тему
1C для начинающих

Когда использовать НаСервере, НаКлиенте и НаСервереБезКонтекста 1С?

Все функции и процедуры в модулях форм 1С начинаются с описания директив -

  • &НаСервере,
  • &НаКлиенте,
  • &НаСервереБезКонтеста,
  • &НаКлиентеНаСервереБезКонтекста
Директивы компиляции – это специальные определения, с помощью которых платформа понимает, в каком контексте необходимо выполнять функцию или процедуру модуля

Если ее не указать, то значение автоматически будет присвоено &НаСервере. Такой код будет вызывать много лишних обращений на сервер, что увеличит время его работы. Рекомендуется стараться уменьшать число серверных вызовов.

Когда какую использовать?

Для этого нужно знать к каким данным мы хотим обращаться:

Директивы «Клиент» не имеют доступ базе данных. Директивы «Без контекста», не имеют доступа к контексту (данным) формы.

-2

Директива &НаКлиентеНаСервереБезКонтекста имеет доступ только к данным, переданным в виде параметра.

И какие функции глобального контекста использовать:

Посмотреть, в каком контектсе работает функция можно в синтакс-помощнике:

-3

Тонкий клиент означает , что функцию будет работать под директивой &НаКлиенте, Сервер соответственно под директивой &НаСервере или &НаСервереБезКонтеста.

При этом стоит помнить, что из Клиента можно вызвать процедуру НаСервере, в из Сервере НаКлиенте нет.

Ставь лайк, если дочитал до сюда и пиши в комментарии, какие темы а 1С самые сложные для тебя и как давно занимаешься 1С 😉