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

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

Клиент-серверный режим работы 1С: что это такое и как его настроить

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

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

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

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

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

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

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

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

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

Различия между режимами касаются хранения данных, параллельности работы, надёжности и стоимости владения. Сравнение по ключевым параметрам приведено ниже.

ПараметрФайловый режимКлиент-серверный режим
Хранение данныхЕдиный файл 1Cv8.1CDБаза данных в СУБД
Комфортное число пользователейДо 5–10Десятки и сотни
БлокировкиТабличные, частые конфликтыУправляемые, построчные
Устойчивость к сбоямРиск повреждения файлаТранзакционная целостность СУБД
Разграничение прав на уровне данныхОграничено (RLS работает медленно)RLS выполняется на стороне СУБД
Дополнительные лицензииНе требуютсяЛицензия на сервер 1С и СУБД
Резервное копированиеКопирование файлаСредства СУБД (регламентные бэкапы)

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

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

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

Однозначных порогов нет, но на практике переход стоит рассматривать, когда с базой одновременно работает больше 5–10 пользователей, объём базы превышает несколько гигабайт, а сотрудники регулярно жалуются на ожидание при проведении документов и ошибки конфликта блокировок. Чем интенсивнее документооборот, тем раньше файловый режим станет узким местом.

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

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

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

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

Одновременно работает до 3–5 пользователей, жалоб на скорость нетОставайтесь на файловом режиме, настройте регулярное копирование файла базы
5–15 пользователей, периодические ошибки конфликта блокировокПланируйте переход на клиент-серверный режим, начните с тестовой базы
Более 15–20 пользователей или нужны RLS и веб-доступКлиент-серверный режим обязателен, подберите СУБД и серверное оборудование
База повреждалась из-за сбоев сети или питанияПереходите на клиент-серверный режим: СУБД обеспечивает транзакционную целостность

Выбор СУБД для сервера 1С

1С:Предприятие поддерживает несколько СУБД: PostgreSQL (в том числе специальные сборки от 1С и Postgres Professional), Microsoft SQL Server, Oracle Database и IBM Db2. Для большинства организаций выбор сводится к паре PostgreSQL vs MS SQL Server.

PostgreSQL — бесплатная СУБД, для неё существуют сборки, адаптированные под 1С. Это самый экономичный вариант, но он требует внимательной настройки конфигурационного файла (память, соединения, параметры планировщика) и администратора, готового работать с Linux или с PostgreSQL под Windows.

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

Сравнение вариантов

PostgreSQL

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

MS SQL Server

Платная СУБД с удобными средствами администрирования и резервного копирования. Подходит организациям с Windows-инфраструктурой и бюджетом на лицензии.

Oracle / Db2

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

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

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

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

Порядок действий
  1. 1
    Сделайте резервную копию файловой базы (скопируйте 1Cv8.1CD и дополнительно выгрузите .dt)
  2. 2
    Установите СУБД и платформу сервера 1С:Предприятия на выделенный сервер, запустите агент сервера
  3. 3
    Откройте консоль кластера серверов и создайте новую информационную базу, указав тип СУБД, имя базы и параметры подключения
  4. 4
    Откройте файловую базу в конфигураторе и выполните выгрузку в файл .dt (Администрирование — Выгрузить информационную базу)
  5. 5
    Откройте новую серверную базу в конфигураторе и загрузите файл .dt
  6. 6
    Назначьте права пользователям, настройте регламентное резервное копирование средствами СУБД
  7. 7
    Проверьте работу ключевых операций и только после этого отключите старую файловую базу

После загрузки .dt в серверную базу проверьте версию конфигурации — она должна совпадать с файловой. Затем заведите пользователей, проверьте права и выполните тестовое проведение документов, формирование отчётов и запуск регламентных заданий.

Требования к серверу и настройка производительности

Сервер 1С и СУБД чувствительны к объёму оперативной памяти и скорости дисковой подсистемы. Рекомендуется размещать базу на SSD-дисках, выделять СУБД достаточный объём памяти под кэш и по возможности разносить сервер 1С и СУБД на разные машины при высокой нагрузке — либо корректно делить ресурсы, если они стоят на одном сервере.

Для PostgreSQL обязательно настройте параметры shared_buffers, work_mem и effective_cache_size под объём оперативной памяти сервера — настройки по умолчанию рассчитаны на минимальные конфигурации и сильно занижают производительность. Для MS SQL Server задайте ограничение максимальной памяти сервера, чтобы СУБД не вытеснила сервер 1С.

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

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

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

Подключение пользователей
Норма

Пользователи входят в серверную базу, сеансы видны в консоли кластера

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

Ошибки соединения с сервером 1С, сеансы не создаются

Проведение документов
Норма

Документы проводятся без ошибок конфликта блокировок при одновременной работе

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

Постоянные ошибки блокировок, долгое ожидание записи

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

Регламентный бэкап СУБД выполняется по расписанию, тестовое восстановление проходит успешно

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

Бэкапов нет или восстановление из копии не проверялось

Нагрузка на сервер
Норма

Память и диски не загружены на 100% в рабочие часы

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

Постоянная нехватка памяти, очередь дисковых операций

Типичные ошибки и ограничения режима

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

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

Типичные ошибки
01
Оставить настройки СУБД по умолчанию — производительность окажется ниже, чем у файлового режима
02
Не настроить резервное копирование средствами СУБД и хранить базу без бэкапов
03
Установить сервер 1С и СУБД на слабую машину с малым объёмом памяти и HDD вместо SSD
04
Забыть ограничить память MS SQL Server — СУБД забирает всю память и «душит» сервер 1С
05
Не проверить восстановление из резервной копии — в критический момент бэкап оказывается нерабочим
06
Переносить базу копированием файлов СУБД вместо штатной выгрузки .dt

Резервное копирование и обслуживание серверной базы

В клиент-серверном режиме резервное копирование выполняется штатными средствами СУБД: в MS SQL Server — через планы обслуживания и задания агента, в PostgreSQL — через pg_dump или физические копии с WAL-архивированием. Копирование файлов базы вручную при работающей СУБД недопустимо — файлы могут быть несогласованными.

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

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

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

Часто задаваемые вопросы

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

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

Нужна ли отдельная лицензия на сервер 1С:Предприятия?

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

Ускорит ли клиент-серверный режим работу одного пользователя?

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

Можно ли установить сервер 1С и СУБД на один компьютер?

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

Что делать, если появляются ошибки «Конфликт блокировок при выполнении транзакции»?

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

Итог

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

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