Перевод файловой 1С в клиент-серверный режим
По умолчанию, база данных 1С:Предприятие хранится в файловом виде. Файловый формат представляет собой единый файл с расширением “.dt”, который выгружается при помощи конфигуратора. Фактически, данные внутри хранятся все файлы в зашифрованном виде.
Данный тип хранения данных имеет ряд недостатков. Перечислим некоторые из них:
- Размер базы данных, при которых приложение работает быстро – 4 Гб. После этого база начинает «виснуть»;
- Размер базы растёт пропорционально количеству пользователей – при большом количестве пользователей и базы данных работа приложения существенно замедляется, из-за чего файловая база удобна для работы 3-5 пользователям;
В случае, если размер базы данных/количество пользователей превышают вышеуказанные параметры, имеет смысл перевести базу в клиент-серверный режим. Конфигурация данного примера:
Windows Server 2012;
1C: Предприятие 8.3;
PostgreSQL 9.6;
Драйвер Postgres для 1C;
Представим, что у нас уже развёрнута рабочая система 1С:Предприятие на Windows Server. Скачаем необходимое ПО:
PostgreSQL – заходим на официальный сайт (https://www.postgresql.org/download/)
Устанавливаем всё необходимое:
После успешной установки скачиваем драйвер 1С для PostgreSQL: (https://1c.postgres.ru)
При скачивании не забываем обратить внимание на архитектуру операционной системы (х64/х32)
Установка всех необходимых компонентов была произведена.
Открываем 1С в режиме конфигуратора:
Теперь нам необходимо сделать резервную копию файловой базы данных. Резервируем при помощи пунктов меню «Администрирование > Выгрузить информационную базу...» и в открывшемся окне указываем путь для выгрузки. После успешной выгрузки, исправим возможные ошибки и некорректные данные в базе для того, чтобы экспорт произошёл без проблем. Для этого в строке меню заходим в «Администрирование > Тестирование и исправление...»
Далее, ставим все галочки, кроме пункта «Пересчёт итогов». Так же очищаем ссылки и удаляем частично потерянные данные. Нажимаем «Выполнить»
После успешного выполнения повторяем операцию с уже поставленной галочкой «Пересчёт итогов», убрав все остальные:
Теперь мы можем выгрузить уже подготовленную базу для дальнейшего перевода в клиент-серверный режим на Postgres.
Ранее мы уже установили сам сервер и все сопутствующую инфраструктуру к нему.
Теперь нам необходимо установить дополнительные модули в 1С, чтобы конфигурация могла поддерживать клиент-серверную работу.
Для этого переходим в «Панель управления -> Программы и компоненты»
Находим «1С:Предприятие» и нажимаем «Изменить»:
В открывшемся меню установщика выбираем пункт «Изменить»:
Нас интересует компонент «Сервер 1С:Предприятие 8», так как именно он позволяет перевести систему в клиент-серверный режим. Устанавливаем компонент и все подкомпоненты.
Установщик предложит указать путь к инсталлятору 1С. Указываем путь и продолжаем установку.
После успешной установки компонента в меню «Пуск» находим «Администрирование серверов 1С:Предприятие». Далее заходим в «Console Root > Central 1C:Enterprise 8.3 Servers > %Имя сервера% > Кластеры > Локальный кластер > Информационные базы», нажимаем правой кнопкой на Информационные базы, находим «Создать > Новая информационная база»
В открывшемся окне нам предлагается заполнить параметры новой информационной базы:
Разберём по пунктам:
- Имя – Название базы данных. Его же мы и будем указывать при подключении (рекомендуется использовать латинские символы);
- Описание – описание базы данных и для чего она служит;
- Защищённое соединение – оставляем без изменений;
- Сервер баз данных – указываем имя базы данных, которое будет использоваться при соединении PostgreSQL. Обратите внимание, что оно должно полностью совпадать с названием нашего сервера 1С, внутри которого была создана новая Информационная база;
- Тип СУБД – выбираем PostgreSQL;
- База данных – даём имя нашей базе данных;
- Пользователь сервера БД – имя пользователя, имеющего доступ к базе данных PostgreSQL ( по умолчанию он создаётся во время установки сервера и имеет имя postgres, либо указываем уже нового пользователя, созданного позднее);
- Пароль пользователя – пароль пользователя;
Не забываем установить галочку на пункт «Создать Базу данных в случае её отсутствия» - это позволит нам не создавать базу данных отдельно вручную, позволив 1С сделать это автоматически.
После этого заходим и проверяем, была ли создана база. В случае успешного создания база отобразится во вкладке «Информационные базы»
Далее нам необходимо проверить, была ли успешно создана база данных в PostgreSQL. Воспользуемся менеджером СУБД PgAdmin, который был установлен в комплекте с сервером. Заходим «Пуск > Все программы > PgAdmin4»
Заходим в “Servers > Databases” и в случае успешного создания база будет отображаться внутри этой вкладки:
Теперь нам необходимо добавить новую, серверную базу данных, созданную раннее в конфигуратор.
В окне запуска 1С жмём на кнопку «Добавить > Добавление в список существующей информационной базы»
В новом окне заполняем следующую информацию:
- Наименование – собственно, имя базы данных;
- Тип расположения базы – выбираем пункт «На сервере 1С:Предприятия», где:
Кластер серверов – Имя сервера 1С:Предприятие (тот, внутри которого мы создали информационную базу);
Имя информационной базы – собственно, имя информационной базы, которую мы создали внутри кластера);
Нажимаем «Далее», затем ещё раз «Далее».
Запустим свежесозданную базу в режиме «1С:Предприятие» чтобы убедиться, что конфигурация была создана верно и без ошибок.
При успешном создании мы увидим пустую форму без конфигурации. Отлично.
Теперь загружаем раннее выгруженную нами базу данных.
Для этого заходим в «Конфигуратор > Администрирование > Загрузить Информационную базу..» и указыаем нашу выгруженную базу в формате “.dt”
Нажимаем «Открыть». Обратите внимание, что загрузка большой базы данных может занимать продолжительное время.
После окончания загрузки вы получаете сообщение об успешной загрузке базы данных в конфигурацию.
Проверим, действительно ли подключение к базе данных работает в клиент серверном режиме.
Для этого зайдём в 1С:Предприятие и нажмём на пункт меню «Справка > О программе». В случае правильности действий мы увидим, что теперь наша база данных работает в клиент-серверном режиме под управлением PostgreSQL.
Справочная информация:
https://its.1c.ru/db/metod8dev#content:1591:hdoc – размещение данных и работа с ними
https://its.1c.ru/db/metod8dev#browse:13:-1:1989:2035:2510:2536 – работа с PostgreSQL в 1С
https://postgrespro.ru/docs - расширение PostgreSQL для работы с 1С