К статье
Практический материал

Администрирование · 12 мин

Клиент-серверный режим работы 1С: устройство, отличия от файлового и переход

Что такое клиент-серверный режим работы 1С, чем он отличается от файлового, какие СУБД поддерживаются, как перейти на него и проверить результат.

Клиент-серверный режим — это вариант работы 1С:Предприятия, при котором база данных хранится не в файле на диске, а в отдельной системе управления базами данных (СУБД), а между пользователями и данными работает сервер 1С:Предприятия. Пользовательские компьютеры (клиенты) не читают данные напрямую: они обращаются к серверу, сервер выполняет запросы к СУБД и возвращает результат. Такая трёхзвенная архитектура «клиент — сервер 1С — СУБД» кардинально меняет надёжность, производительность и возможности масштабирования системы.

Главная причина перехода на клиент-серверный режим — рост. Когда в файловой базе одновременно работают десятки пользователей, объём данных измеряется десятками гигабайт, а отчёты строятся по полчаса, файловый режим становится узким местом. Клиент-серверный вариант снимает ключевые ограничения: СУБД умеет блокировать отдельные записи вместо целых таблиц, параллельно обрабатывать запросы и работать с большими объёмами данных.

При этом клиент-серверный режим — не бесплатное улучшение. Он требует отдельного сервера (или нескольких), лицензии на сервер 1С:Предприятия, лицензии на СУБД (если она коммерческая) и квалифицированного администрирования. Для небольшой компании с тремя-пятью пользователями такой переход часто не оправдан.

Как устроена трёхзвенная архитектура 1С

В клиент-серверном режиме участвуют три компонента. Первый — клиентское приложение: тонкий клиент, толстый клиент или веб-клиент через браузер. Клиент отвечает только за интерфейс и часть прикладной логики, он не знает, где физически лежат данные.

Второй компонент — кластер серверов 1С:Предприятия. Это служба (агент сервера), которая принимает соединения от клиентов, выполняет серверный код конфигурации, управляет сеансами, фоновыми заданиями и транзакциями. Кластер может состоять из нескольких рабочих серверов, между которыми распределяется нагрузка.

Третий компонент — СУБД, где фактически хранятся данные: справочники, документы, регистры. Сервер 1С формирует SQL-запросы, СУБД их выполняет и возвращает результат. Именно СУБД обеспечивает целостность данных, журналы транзакций, резервное копирование и параллельный доступ.

Чем клиент-серверный режим отличается от файлового

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

ПараметрФайловый режимКлиент-серверный режим
Хранение данныхФайл 1Cv8.1CD в общей папкеБаза данных в СУБД (MS SQL, PostgreSQL и др.)
БлокировкиНа уровне таблицНа уровне записей, управляемые
Одновременные пользователиКомфортно до ~10–15Десятки и сотни
ОтказоустойчивостьМинимальная, риск повреждения файлаКластер, резервное копирование средствами СУБД
Регламентные заданияТолько из запущенного сеансаВыполняются на сервере независимо от клиентов
ТребованияФайловый сервер или ПКСервер 1С, СУБД, лицензии, администрирование

Ещё одно принципиальное отличие — выполнение кода. В клиент-серверном режиме прикладной код явно делится на клиентский и серверный, и разработчику приходится учитывать это разделение. Зато тяжёлые операции — расчёты, проведение больших документов, построение отчётов — выполняются на мощном сервере, а не на рабочем месте пользователя.

Какие СУБД поддерживает платформа 1С

Платформа 1С:Предприятие работает с несколькими СУБД. Наиболее распространены Microsoft SQL Server и PostgreSQL (в том числе сборка Postgres Pro, адаптированная под 1С). Также поддерживаются IBM DB2 и Oracle Database, но они встречаются заметно реже и требуют более дорогого сопровождения.

Сравнение вариантов СУБД

PostgreSQL / Postgres Pro

Подходит большинству внедрений: бесплатная версия снижает стоимость, есть сборки, оптимизированные под 1С. Ограничение — требует грамотной настройки параметров под нагрузку.

Microsoft SQL Server

Удобен в инфраструктуре Windows, привычные инструменты администрирования и резервного копирования. Ограничение — стоимость лицензий на сервер и клиентские доступы.

Oracle / IBM DB2

Оправданы в крупных организациях, где эти СУБД уже используются и есть штатные администраторы. Для типового внедрения избыточны и дороги.

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

Когда переход оправдан, а когда нет

Есть понятные признаки того, что файловый режим исчерпал себя: жалобы пользователей на «подвисания» при одновременной работе, ошибки блокировок при проведении документов, медленное формирование отчётов, размер файла базы в десятки гигабайт, необходимость круглосуточной работы и выполнения регламентных заданий ночью без включённых пользовательских компьютеров.

Маршрут решения

Как выбрать действие

Одновременно работают до 5–7 пользователей, база небольшая, жалоб на скорость нетОставайтесь на файловом режиме — переход не окупится затратами на сервер и администрирование
Пользователей больше 10–15, регулярны ошибки блокировок и медленные отчётыПланируйте переход на клиент-серверный режим с PostgreSQL или MS SQL
Нужны ночные регламентные задания, веб-доступ, отказоустойчивостьКлиент-серверный режим обязателен — файловый эти задачи полноценно не решает
База большая, но пользователей мало и работают по очередиСначала проверьте инфраструктуру (сеть, диски) — проблема может быть не в режиме работы

Обратная ситуация тоже встречается: небольшая фирма переходит на клиент-серверный режим «для надёжности», но не имеет специалиста, который будет обслуживать СУБД. В результате резервные копии не настроены, журналы транзакций переполняют диск, и система работает хуже, чем файловая. Переход без ресурсов на сопровождение создаёт больше рисков, чем снимает.

Как перейти с файлового режима на клиент-серверный

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

Порядок перехода
  1. 1
    Установите и настройте СУБД (PostgreSQL или MS SQL Server) на отдельном сервере или мощной виртуальной машине
  2. 2
    Установите сервер 1С:Предприятия той же версии платформы, что и клиентские приложения, и запустите агент сервера
  3. 3
    Сделайте полную выгрузку файловой базы в файл .dt через конфигуратор (Администрирование → Выгрузить информационную базу)
  4. 4
    В консоли кластера серверов создайте новую информационную базу, указав тип СУБД, сервер баз данных и имя базы
  5. 5
    Откройте созданную базу конфигуратором и загрузите файл .dt (Администрирование → Загрузить информационную базу)
  6. 6
    Настройте резервное копирование средствами СУБД и права доступа, затем подключите пользователей к новой базе
  7. 7
    Проверьте работу ключевых операций: проведение документов, отчёты, обмены данными, регламентные задания

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

Как проверить, что система работает правильно

Сам факт запуска базы в клиент-серверном режиме ещё не означает, что всё настроено хорошо. Типичные проблемы после перехода — медленные запросы из-за отсутствия обслуживания СУБД (обновления статистики, перестроения индексов), переполнение диска журналом транзакций в MS SQL при полной модели восстановления без регулярного бэкапа журнала, и неоптимальные настройки памяти PostgreSQL.

Контрольные точки

Как проверить результат

Проведение типового документа при одновременной работе нескольких пользователей
Норма

Проводится быстро, ошибок блокировок нет

Тревожный признак

Ошибки «Конфликт блокировок» или ожидание на блокировках — проверяйте код и настройки СУБД

Регламентные и фоновые задания
Норма

Выполняются по расписанию на сервере без запущенных клиентских сеансов

Тревожный признак

Задания не стартуют — проверяйте настройки кластера и права служебной учётной записи

Резервное копирование
Норма

Копии создаются по расписанию средствами СУБД, тестовое восстановление проходит

Тревожный признак

Копий нет или восстановление не проверялось — данные фактически не защищены

Свободное место на дисках СУБД
Норма

Стабильное, журналы транзакций контролируются

Тревожный признак

Диск быстро заполняется — настройте усечение журнала и регламентное обслуживание

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

Типичные ошибки
01
Размещение сервера 1С и СУБД на слабой виртуальной машине с медленными дисками — производительность оказывается хуже, чем была в файловом режиме
02
Отсутствие регламентного обслуживания СУБД — со временем деградирует скорость запросов и переполняются журналы транзакций
03
Резервное копирование только средствами выгрузки .dt — долго и не заменяет штатные бэкапы СУБД с возможностью восстановления на момент времени
04
Переход без тестового периода: старая файловая база удаляется сразу, а в новой обнаруживаются проблемы с обменами и отчётами
05
Использование кода, написанного только под файловый режим, — неявные обращения к данным с клиента резко замедляют работу

Частые вопросы

Можно ли вернуться с клиент-серверного режима обратно на файловый?

Да, технически это делается тем же способом: выгрузка базы в файл .dt через конфигуратор и загрузка в новую файловую базу. Ограничений со стороны платформы нет, но сам факт возврата обычно означает, что нагрузка мала — убедитесь, что размер базы и число пользователей позволяют комфортно работать в файловом режиме.

Нужно ли менять конфигурацию при переходе на клиент-серверный режим?

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

Сколько пользователей выдерживает клиент-серверный режим?

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

Какие лицензии нужны для клиент-серверного режима?

Понадобится лицензия на сервер 1С:Предприятия, клиентские лицензии на рабочие места (те же, что и в файловом режиме), а также лицензии на СУБД, если используется коммерческий продукт вроде Microsoft SQL Server. Условия поставок периодически меняются, поэтому актуальный состав лицензий уточняйте у дистрибьютора.

Где должны находиться сервер 1С и сервер СУБД — на одной машине или на разных?

Для небольших нагрузок допустимо размещение на одном физическом сервере или одной виртуальной машине. При росте нагрузки их разносят на разные серверы, чтобы процессы СУБД и сервера 1С не конкурировали за память и процессор. Решение принимается по фактической нагрузке, а не заранее «про запас».

Работает ли веб-клиент 1С в файловом режиме?

Работает, но с ограничениями: веб-клиент в файловом режиме требует публикации через веб-сервер и подходит для небольшого числа пользователей. Полноценный веб-доступ для многих пользователей практически всегда строится на клиент-серверной архитектуре.

Итог

Что важно запомнить

Клиент-серверный режим 1С — это работа через сервер 1С:Предприятия и СУБД вместо прямого доступа к файлу базы. Он нужен при большом числе пользователей, больших объёмах данных и требованиях к надёжности, но требует отдельной инфраструктуры, лицензий и регулярного администрирования. Переход выполняется через выгрузку-загрузку .dt, а обязательное условие успеха — резервные копии и тестовый период работы новой системы.