Файловая, MS SQL или PostgreSQL: добавляем информационную базу в 1С 8.3 и настраиваем доступ
Содержание
Чтобы подключить 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С:Предприятие. Откроется окно со списком информационных баз.
- Нажмите
Добавить…. - Выберите
Добавление в список существующей информационной базыи нажмитеДалее. - Введите понятное имя, например «Бухгалтерия ООО Ромашка».
- Тип расположения —
На данном компьютере или на компьютере в локальной сети. - В поле каталога укажите папку, где лежит
1Cv8.1CD. Сам файл выбирать не нужно — только папку. - На следующем шаге оставьте вариант запуска и версию платформы по умолчанию или выберите нужные.
- Нажмите
Готово. База появится в списке, двойной щелчок открывает её.
Сетевая папка: 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С
Удобнее всего — из окна запуска, так база сразу появится в списке:
Добавить…→Создание новой информационной базы.- Выберите конфигурацию из шаблона или создание без конфигурации (если потом загрузите
.dt). - Тип расположения —
На сервере 1С:Предприятия. - Заполните параметры.
| Поле | Что вписать |
|---|---|
| Кластер серверов 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. Отличия — на стороне СУБД.
- Ставьте сборку PostgreSQL с доработками для 1С — например, Postgres Pro для 1С или сборку, которую распространяет фирма 1С. Обычный PostgreSQL из репозитория без этих патчей с 1С работать не будет.
- Пользователь СУБД. Обычно используют
postgresили отдельную роль с правом создавать базы (CREATEDB). - Сетевой доступ. В
postgresql.confпараметрlisten_addressesдолжен разрешать подключения с сервера 1С. Вpg_hba.confдобавьте строку для IP сервера 1С. Порт по умолчанию — 5432. - В окне создания базы выберите тип СУБД
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С.
ping srv1c), запущена ли служба агента сервера 1С и открыт ли порт 1540 на сервере. Если имя не разрешается, пропишите его в DNS или в файле hosts.Полный текст ошибки читайте целиком: 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\. Чтобы не настраивать каждый компьютер:
- Подготовьте один файл
.v8iс нужными базами и положите его в общую папку. - В файле
1cestart.cfgна клиентах добавьте строкуCommonInfoBases=\\fileserver\1c\bases.v8i. - При следующем запуске базы из общего списка появятся у всех.
Подключение внешней программы к базе 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?
Сколько пользователей выдержит файловая база?
Где посмотреть строку соединения уже подключённой базы?
Srvr=…;Ref=…. Полную строку также видно по кнопке Изменить….