Работа серверного вызова в 1С

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

  1. Напомним, что существуют 4 директивы компиляции, включающие «клиента», «сервер», «сервер без контекста», «клиент на сервере без контекста». В нашем примере мы будем рассматривать 1С: Предприятие 8 https://besthard.ru/category/soft/1c/klientskie-litsenzii/, функционирующее в клиент-серверном режиме. Мы не принимаем во внимание работу с БД и данными, а также различными нюансами системы. Теперь рассмотрим непосредственно серверный вызов.
  2. Серверный вызов является передачей конкретного блока информации от клиента на сервер. Целью передачи данных является получение некоторых сведений. Первый вызов происходит в момент старта работы с 1С. Получить доступ к базе данных можно только с помощью сервера, в то время как соединение всегда имеет строгую пропускную способность. Это объясняется необходимостью экономии трафика, так как соединение может происходить по каналу, имеющему низкую скорость передачи информации. Теперь рассмотрим особенности функционирования системы, предварительно определив 3 важных пункта:
  • Процесс, связанный с клиентской частью.
  • Процесс, связанный с серверной частью.
  • Собственно серверный вызов.

    Клиент-серверная архитектура  1С
    Клиент-серверная архитектура 1С

3. Клиентская часть запускается на компьютере и способна генерировать серверный вызов. Процесс, связанный с серверной частью, происходит непосредственно на сервере 1С, отслеживает все клиентские сеансы и может взаимодействовать с ними. Работу с клиентской частью сервер производит исключительно через серверный вызов. Сам серверный вызов производит транспортировку информации для клиента и сервера. Далее рассмотрим сами особенности, начиная с открытия формы данных.

4. Когда пользователь нажимает кнопку развертывания формы, управление передается непосредственно на сервер. Получая параметры, которые необходимы для создания данных из БД, производится подготовка контекста, который передается в дальнейшем клиенту. Говоря простыми словами, пользователь дает запрос, инициируя серверный вызов, а он, в свою очередь, соединяясь с сервером, получает данные для клиента и передает ему. Если, например, пользователю понадобится отправить форму с контекстом, то она в том же виде придет на клиентскую часть от сервера. Но можно ограничиться передачей информации только с указанными параметрами, тогда сервер выдаст результат, исходя из определенных параметров. Это помогает избежать лишней нагрузки на сервер, поэтому часто директива «на сервере без контекста» является более предпочтительной, чем «на сервере».

5. Когда необходимо выполнять одну и ту же обработку, можно воспользоваться кодом и разместить его как самостоятельную процедуру. Данная процедура будет иметь вид копирования, размещать ее нужно на сервере в соответствующей директиве «На сервере без контекста». Чтобы оптимизировать процедуру (избежать лишней нагрузки), можно воспользоваться более сложной директивой «На клиенте на сервере без контекста».  Так мы получаем процедуру копирования для клиентской и серверной части. Таким образом, мы избавляем себя от необходимости делать лишние серверные вызовы.

6. В этой статье мы разобрали особенности серверного вызова и подчеркнули, что выбор корректной директивы позволяет увеличить скорость отправки информации. Рекомендуется не выполнять передачу контекста на сервер, снизить число серверных вызовов, запускать ресурсоемкие задачи на сервере. Так вы снизите нагрузку и сэкономите время.

Видео: Оптимизация клиент-серверного взаимодействия

Сергей Гришечкин

Главный редактор информационного портала BestHard.

sergey2829 имеет 669 сообщений и подсчета голосов.Посмотреть все сообщения sergey2829

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

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