Файловая, MS SQL или PostgreSQL: добавляем информационную базу в 1С 8.3 и настраиваем доступ

· 11 мин

Содержание

Чтобы подключить 1С к базе данных, откройте окно запуска 1С:Предприятия 8.3, нажмите Добавить… и выберите Добавление в список существующей информационной базы. Для файловой базы укажите папку с файлом 1Cv8.1CD, для серверной — имя кластера серверов 1С и имя базы в кластере. Сама СУБД (MS SQL Server или PostgreSQL) подключается не к клиенту, а к серверу 1С: клиент её напрямую не видит.

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

Что подготовить перед подключением 1С к базе

Сначала определите, какой у вас вариант работы. От этого зависит всё остальное: что ставить, какие порты открывать, кому выдавать права.

ВариантГде лежат данныеЧто нужно на клиентеКогда подходит
ФайловыйФайл 1Cv8.1CD в папке на диске или в сетевой папкеТолько клиент 1С1–5 пользователей, небольшая база
Клиент-серверный, MS SQLБаза в MS SQL Server, обработка на сервере 1СКлиент 1С той же версии, что серверДесятки пользователей, крупные базы
Клиент-серверный, PostgreSQLБаза в PostgreSQL со сборкой для 1СКлиент 1С той же версии, что серверТо же, без лицензий MS SQL
Через веб-серверЛюбой из вариантов выше, опубликованный на IIS или ApacheТонкий клиент или браузерУдалённые сотрудники, филиалы

Перед настройкой проверьте:

  • 🖥️ Версию платформы. Для серверной базы номер версии клиента должен совпадать с номером версии сервера 1С до последней цифры, иначе соединение не установится.
  • 📁 Путь к базе. Для файловой — полный путь к папке, для серверной — имя или IP-адрес сервера 1С и имя базы в кластере.
  • 🔑 Учётные данные. Пользователь 1С и пароль, а для создания новой серверной базы — логин и пароль пользователя СУБД.
  • 🌐 Сеть. Сервер доступен по имени (проверьте ping srv1c), нужные порты открыты в брандмауэре.
  • 🧾 Лицензии. Без клиентской лицензии платформа не запустит базу, а для серверного варианта нужна ещё и лицензия на сервер 1С.

Если базу передал коллега или франчайзи, попросите у него строку соединения. Она выглядит как File="D:\Bases\Buh"; или Srvr="srv1c";Ref="buh"; и снимает почти все вопросы.

Подключение к файловой базе 1С (файл 1CD)

Файловая база — это папка, в которой лежит файл 1Cv8.1CD. Подключить её можно с локального диска или из общей сетевой папки.

Пошагово

  1. Запустите 1С:Предприятие. Откроется окно со списком информационных баз.
  2. Нажмите Добавить….
  3. Выберите Добавление в список существующей информационной базы и нажмите Далее.
  4. Введите понятное имя, например «Бухгалтерия ООО Ромашка».
  5. Тип расположения — На данном компьютере или на компьютере в локальной сети.
  6. В поле каталога укажите папку, где лежит 1Cv8.1CD. Сам файл выбирать не нужно — только папку.
  7. На следующем шаге оставьте вариант запуска и версию платформы по умолчанию или выберите нужные.
  8. Нажмите Готово. База появится в списке, двойной щелчок открывает её.

Сетевая папка: UNC-путь вместо буквы диска

Если база лежит на другом компьютере, указывайте путь вида \\fileserver\Bases\Buh, а не подключённый диск Z:\Buh. Сетевой диск может не подключиться при входе в Windows, и 1С сообщит, что база не найдена, хотя всё на месте.

Открыть файловую базу можно и из командной строки:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /F"\\fileserver\Bases\Buh" /N"Иванов" /P"пароль"

Не открывайте файловую базу по сети одновременно с разных версий платформы. Если на одном компьютере 8.3.24, а на другом 8.3.25, первый же запуск новой версией может потребовать конвертации, после чего старые клиенты базу не откроют.

Подключение 1С к базе данных MS SQL Server

В клиент-серверном варианте цепочка такая: клиент 1С → сервер 1С (кластер) → MS SQL Server. Клиент подключается к кластеру, а кластер уже сам ходит в СУБД под своим логином.

Шаг 1. Подготовить MS SQL Server

  • 🔐 Режим проверки подлинности — смешанный (SQL Server и Windows). Он включается в свойствах сервера в SQL Server Management Studio, раздел Безопасность.
  • 👤 Логин для 1С. Создайте SQL-логин, например user1c, с ролью сервера dbcreator, если 1С сама будет создавать базы . Для уже существующей базы достаточно роли db_owner в этой базе.
  • 🔌 Протокол TCP/IP включите в SQL Server Configuration Manager и перезапустите службу SQL Server. Стандартный порт — 1433.
  • 🔤 Сопоставление (collation) для новой базы — Cyrillic_General_CI_AS, если создаёте базу вручную.

Перезапуск службы SQL Server обрывает работу всех пользователей, чьи базы лежат на этом сервере. Делайте это вне рабочего времени.

Шаг 2. Создать базу в кластере 1С

Удобнее всего — из окна запуска, так база сразу появится в списке:

  1. Добавить… → Создание новой информационной базы.
  2. Выберите конфигурацию из шаблона или создание без конфигурации (если потом загрузите .dt).
  3. Тип расположения — На сервере 1С:Предприятия.
  4. Заполните параметры.
ПолеЧто вписать
Кластер серверов 1С:ПредприятияИмя сервера 1С, например srv1c. Если порт нестандартный — srv1c:1641
Имя информационной базы в кластереКороткое латинское имя, например buh
Тип СУБДMS SQL Server
Сервер баз данныхИмя сервера SQL, для именованного экземпляра — sqlsrv\SQL2019
Имя базы данныхИмя базы в SQL, обычно совпадает с именем в кластере
Пользователь и пароль сервера БДЛогин user1c и его пароль
Смещение дат2000 для MS SQL Server
Создать базу данных в случае её отсутствияОтметьте, если базы в SQL ещё нет

То же самое делается в консоли кластера: Информационные базы → Создать в контекстном меню. Через консоль удобно, если базу создаёт администратор, а пользователям потом раздают только строку соединения.

Шаг 3. Подключить уже созданную базу на клиенте

На рабочем месте пользователя: Добавить… → Добавление в список существующей информационной базы → На сервере 1С:Предприятия. Нужны только два поля: кластер (srv1c) и имя базы в кластере (buh). Логин и пароль SQL пользователю знать не нужно.

Командная строка для серверной базы:

"C:\Program Files\1cv8\common\1cestart.exe" ENTERPRISE /S"srv1c\buh" /N"Иванов" /P"пароль"

Подключение к PostgreSQL

Порядок в 1С тот же, что для MS SQL. Отличия — на стороне СУБД.

  1. Ставьте сборку PostgreSQL с доработками для 1С — например, Postgres Pro для 1С или сборку, которую распространяет фирма 1С. Обычный PostgreSQL из репозитория без этих патчей с 1С работать не будет.
  2. Пользователь СУБД. Обычно используют postgres или отдельную роль с правом создавать базы (CREATEDB).
  3. Сетевой доступ. В postgresql.conf параметр listen_addresses должен разрешать подключения с сервера 1С. В pg_hba.conf добавьте строку для IP сервера 1С. Порт по умолчанию — 5432.
  4. В окне создания базы выберите тип СУБД PostgreSQL, в поле сервера баз данных укажите имя или IP сервера СУБД. Смещение дат — 0.

Пример строки в pg_hba.conf, когда сервер 1С имеет адрес 192.168.1.20:

host    all    all    192.168.1.20/32    scram-sha-256

После правки pg_hba.conf перечитайте конфигурацию командой SELECT pg_reload_conf(); или перезапустите службу. Перезапуск, как и в MS SQL, отключит текущих пользователей.

Если сервер 1С и PostgreSQL стоят на одной машине, в поле сервера баз данных можно указать localhost и не открывать порт 5432 наружу.

Права доступа и безопасность подключения

Прав в этой схеме три слоя, и ошибка в любом даёт отказ в подключении.

Файловая база

Пользователи Windows должны иметь права на чтение и изменение папки с базой — и в настройках общего доступа, и на вкладке Безопасность (NTFS). Только чтения мало: 1С при работе создаёт в папке служебные файлы и пишет в 1Cv8.1CD.

Серверная база

СлойКтоЧто настроить
Служба сервера 1СПользователь USR1CV8 или доменная учёткаПрава на каталог кластера, членство в группе для отладки и лицензий
Кластер 1САдминистраторы кластераВ консоли кластера — Администраторы. Без администратора управлять кластером может любой, кто до него дотянулся
СУБДЛогин из параметров базыПрава на свою базу, без sysadmin для повседневной работы
Информационная базаПользователи 1СКонфигуратор → Администрирование → Пользователи или раздел пользователей в режиме 1С:Предприятия

Минимальный набор мер:

  • 🛡️ Назначьте администратора кластера, иначе любой пользователь сети сможет удалить базу из кластера через консоль.
  • 🔒 Не отдавайте пользователям логин SQL. Им нужна только строка Srvr=…;Ref=….
  • 🚪 Откройте порты 1540, 1541 и диапазон рабочих процессов (по умолчанию 1560–1591) только для своей сети.
  • 🙈 На вкладке информационной базы в консоли можно отметить Блокировка регламентных заданий включена для копий баз, чтобы они не отправляли отчёты и не загружали банковские выписки вместо рабочей.

Ошибки подключения: как найти причину

Сначала определите, на каком участке цепочки обрыв. Клиент не видит сервер 1С — это сеть и порты. Сервер 1С не видит СУБД — это логин SQL, протокол или pg_hba.conf. База открылась, но пускает не всех — это пользователи 1С.

Диагностика: выберите симптом

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

Как ускорить соединение и работу базы

Файловый вариант

  • 📶 Файловая база по сети работает медленно, если пользователей больше 3–5 или канал Wi-Fi. Для таких случаев публикуют базу на веб-сервере и подключаются через тонкий клиент — по сети гоняются уже не страницы файла, а только данные форм.
  • 🧹 Исключите папку с базой из проверки антивирусом в реальном времени. Антивирус, сканирующий 1Cv8.1CD при каждом обращении, заметно тормозит работу.
  • 🗜️ Периодически выполняйте тестирование и исправление базы со сжатием таблиц. Это требует монопольного доступа — делайте вечером.

Клиент-серверный вариант

  • 🔗 Ставьте сервер 1С и СУБД в одну быструю сеть, лучше на одну площадку. Задержка между ними важнее ширины канала до пользователей.
  • ⚙️ В MS SQL Server для баз 1С обычно задают Max Degree of Parallelism = 1.
  • 💾 Модель восстановления Simple подходит, если вы делаете полные копии каждый день и не нужен откат на произвольный момент. При модели Full следите за резервным копированием журнала транзакций, иначе он разрастается до размеров диска.
  • 📊 Настройте регламентное обслуживание СУБД: обновление статистики и перестроение индексов по расписанию, ночью.
  • 🧠 Для PostgreSQL ключевые параметры памяти — shared_buffers и effective_cache_size. Их подбирают под объём ОЗУ сервера; сборки для 1С обычно идут с подходящими стартовыми значениями.

Другие способы подключиться к базе 1С

Через веб-сервер

Базу публикуют на IIS или Apache из Конфигуратора: Администрирование → Публикация на веб-сервере. На клиенте при добавлении базы выбирают тип расположения На веб-сервере и вводят адрес, например http://srv1c/buh. Строка соединения выглядит как ws="http://srv1c/buh";. Так работают с базой из филиала или из дома без VPN к файловой папке.

Общий список баз для всех сотрудников

Список баз пользователя хранится в файле ibases.v8i в папке %APPDATA%\1C\1CEStart\. Чтобы не настраивать каждый компьютер:

  1. Подготовьте один файл .v8i с нужными базами и положите его в общую папку.
  2. В файле 1cestart.cfg на клиентах добавьте строку CommonInfoBases=\\fileserver\1c\bases.v8i.
  3. При следующем запуске базы из общего списка появятся у всех.

Подключение внешней программы к базе 1С

  • 🧩 COM-соединение — объект V83.COMConnector, позволяет из другой программы или из второй базы 1С читать и записывать данные. Библиотека comcntr.dll ставится вместе с платформой; если объект не создаётся, её регистрируют командой regsvr32 из каталога bin нужной версии.
  • 🌍 OData — стандартный REST-интерфейс 1С. Включается публикацией базы на веб-сервере и настройкой состава объектов в режиме 1С:Предприятия.
  • 🗄️ Внешние источники данных — объект конфигурации, через который сама 1С читает таблицы сторонней СУБД по ODBC. Это обратная задача: не программа лезет в 1С, а 1С забирает данные, например, из базы сайта или складской системы.

Не подключайтесь к базе 1С напрямую через SQL на запись. Структура таблиц 1С служебная (_Document123, _Reference45), а прямые изменения обходят проверки платформы и могут испортить данные. Для чтения в отчётных системах прямой запрос допустим, но не для изменения.

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

Можно ли перевести файловую базу на SQL без потери данных?
Да. Выгрузите файловую базу в .dt через Конфигуратор (Администрирование → Выгрузить информационную базу), создайте пустую серверную базу и загрузите туда .dt. Данные и пользователи переносятся полностью.
Нужна ли лицензия на MS SQL Server?
Да, кроме бесплатной редакции Express. У Express есть ограничение на размер одной базы в 10 ГБ и на использование памяти, поэтому для рабочих баз её берут только на старте. Альтернатива без оплаты СУБД — PostgreSQL.
Сколько пользователей выдержит файловая база?
Жёсткого лимита нет, но на практике при работе по сети уже 5–10 одновременных пользователей начинают мешать друг другу блокировками. Если база растёт и тормозит, переходите на клиент-серверный вариант.
Где посмотреть строку соединения уже подключённой базы?
В окне запуска выделите базу и посмотрите нижнюю часть окна: там отображается путь или Srvr=…;Ref=…. Полную строку также видно по кнопке Изменить….
Можно ли подключить одну базу к двум кластерам?
Нет. Одна база данных СУБД должна быть зарегистрирована в одном кластере. Две регистрации одной базы приводят к конфликтам блокировок и порче данных.