Подключение информационной базы 1С 8.3 к рабочему месту и к серверу СУБД
Содержание
Чтобы подключить базу данных 1С, откройте окно запуска, нажмите Добавить, выберите Добавление в список существующей информационной базы и укажите путь к каталогу с файлом 1Cv8.1CD (файловый вариант) или имя сервера 1С и имя базы в кластере (клиент-серверный вариант). Всё остальное — подготовка, чтобы этот шаг сработал с первого раза.
Частое заблуждение — искать в Windows источник данных ODBC и создавать DSN «для 1С». Платформе 1С:Предприятие 8.3 DSN не нужен вообще. К MS SQL и PostgreSQL обращается не рабочее место пользователя, а сервер 1С, и параметры СУБД задаются один раз при регистрации базы в кластере.
Файл или сервер: какой вариант работы выбрать
У платформы два способа хранить данные. От выбора зависит, как именно вы будете подключать базу 1С и что нужно установить.
| Вариант | Где лежат данные | Что нужно | Когда подходит |
|---|---|---|---|
| 📁 Файловый | Один файл 1Cv8.1CD в каталоге | Только клиент 1С | 1–5 пользователей, одна организация, небольшой объём |
| 🖥️ Клиент-серверный | Таблицы в MS SQL или PostgreSQL | Сервер 1С + СУБД + лицензия на сервер | Много пользователей, тяжёлые закрытия месяца, обмены по расписанию |
Ориентиры, на которые стоит смотреть при выборе:
- 👥 Число одновременных пользователей. В файловой базе запись блокирует таблицы целиком, и при росте числа сеансов пользователи начинают ждать друг друга.
- 📦 Размер файла. Базе в несколько гигабайт, которая лежит в сетевой папке, тяжело на любой сети.
- ⏱️ Регламентные задания. В файловом варианте они выполняются только в открытом сеансе клиента. На сервере 1С они идут сами, без пользователя.
- 💰 Лицензии. Для клиент-серверного варианта нужна отдельная лицензия на сервер 1С, а для MS SQL — ещё и лицензия Microsoft. PostgreSQL бесплатен.
Перейти с файлового варианта на серверный можно в любой момент: выгрузите базу в .dt через Конфигуратор (Администрирование → Выгрузить информационную базу), создайте пустую базу на сервере и загрузите туда файл.
Как подключить файловую базу данных 1С
Файловая база — это каталог, внутри которого лежит 1Cv8.1CD. Подключить её — значит показать окну запуска этот каталог.
Шаги на рабочем месте
- Запустите 1С:Предприятие. Откроется окно со списком баз.
- Нажмите
Добавить. - Выберите
Добавление в список существующей информационной базы→Далее. - Задайте наименование, как оно будет видно в списке, например «Бухгалтерия ООО Север».
- В поле каталога укажите путь к папке с базой: локальный
D:\Bases\BP_Severили сетевой\\FS01\Bases\BP_Sever. - На следующем шаге выберите вариант аутентификации и режим запуска, нажмите
Готово.
Указывайте папку, а не сам файл 1Cv8.1CD. Если выбрать файл, платформа не примет путь.
Сетевая папка: права и путь
Для работы по сети нужна общая папка, и у каждого пользователя на неё должны быть права на чтение и запись. Без записи 1С не сможет создать служебные файлы блокировки и сеанс не откроется.
- 🔐 Права выдавайте и на общий ресурс, и на файловую систему (вкладка «Безопасность»).
- 🧭 Используйте UNC-путь
\\Сервер\Папка, а не подключённый дискZ:. Буква диска у разных пользователей может отличаться, а UNC одинаков для всех. - 🚫 Не кладите базу в папку, которую синхронизируют облачные клиенты (Яндекс Диск, OneDrive и подобные). Синхронизация открытого файла портит базу.
Строка соединения
Любую базу в списке можно описать одной строкой. Для файлового варианта она выглядит так:
File="\\FS01\Bases\BP_Sever";
Строку видно в окне запуска внизу, когда база выделена. Её же используют в параметрах командной строки и в файле списка баз.
Подготовка СУБД: MS SQL Server и PostgreSQL
В клиент-серверном варианте база данных 1С живёт в СУБД. Сервер 1С подключается к ней сам, поэтому СУБД настраивают с расчётом на него, а не на пользователей.
MS SQL Server
- При установке включите смешанный режим аутентификации (SQL Server и Windows). 1С подключается под учётной записью SQL Server с логином и паролем.
- Создайте логин для 1С. Чтобы сервер 1С мог сам создать базу, логину нужна серверная роль
dbcreator. Если базу создаёт администратор СУБД заранее, достаточно ролиdb_ownerв этой базе. - Если экземпляр именованный, адрес сервера СУБД пишется как
SQL01\INST1, а на сервере должна работать служба SQL Server Browser. Для экземпляра по умолчанию достаточно имениSQL01. - Откройте в брандмауэре порт
1433(или порт именованного экземпляра), если сервер 1С и SQL стоят на разных машинах.
PostgreSQL
- Ставьте сборку PostgreSQL, подготовленную для 1С: от фирмы 1С или Postgres Pro. «Ванильная» сборка без патчей с 1С работать не будет — платформа требует специфичных расширений.
- Кластер PostgreSQL инициализируйте с русской локалью, например
ru_RU.UTF-8на Linux. - Задайте пароль пользователю
postgresили создайте отдельную роль с правом создавать базы. - Если сервер 1С стоит на другой машине, разрешите подключения: параметр
listen_addressesвpostgresql.confи строка для адреса сервера 1С вpg_hba.conf. Порт по умолчанию5432.
# pg_hba.conf — пускаем сервер 1С из подсети 10.0.5.0/24
host all all 10.0.5.0/24 scram-sha-256
После правки pg_hba.conf перечитайте конфигурацию (SELECT pg_reload_conf(); или перезапуск службы). Перезапуск службы обрывает все текущие сеансы — делайте его, когда в базах никто не работает
.
Регистрация базы в кластере серверов 1С
Когда СУБД готова, базу нужно завести в кластере. Есть два пути, результат одинаковый.
Способ 1. Из окна запуска
Самый быстрый вариант, если база новая или вы переносите её из .dt.
- В окне запуска:
Добавить→Создание новой информационной базы. - Выберите пустую базу или базу из шаблона, затем тип расположения
На сервере 1С:Предприятия. - Заполните параметры (таблица ниже) и отметьте
Создать базу данных в случае ее отсутствия. - Нажмите
ДалееиГотово. Сервер 1С создаст базу в СУБД и зарегистрирует её в кластере.
Способ 2. Через консоль администрирования
Консоль «Администрирование серверов 1С Предприятия» удобна, когда базы заводит администратор, а пользователи потом только добавляют их в список.
- Откройте консоль, разверните
Центральные серверы 1С:Предприятия→ ваш сервер →Кластеры→ кластер. - На узле
Информационные базывызовите контекстное меню →Создать→Информационная база. - Заполните те же поля, что и в окне запуска.
Из командной строки то же делает утилита rac с командой rac infobase create. Набор параметров зависит от версии платформы, смотрите его в rac help infobase.
Что вписать в поля
| Поле | Пример | Пояснение |
|---|---|---|
| Имя информационной базы | bp_sever | Имя базы в кластере, по нему пользователи подключаются |
| Сервер баз данных | SQL01\INST1 или pg01 | Адрес СУБД с точки зрения сервера 1С |
| Тип СУБД | MSSQLServer / PostgreSQL | |
| База данных | bp_sever | Имя базы в самой СУБД, удобно делать таким же |
| Пользователь и пароль сервера БД | usr1c | Логин СУБД из предыдущего раздела |
| Смещение дат | 2000 для MS SQL, 0 для PostgreSQL | Для MS SQL нужно смещение 2000, иначе даты до 1753 года не помещаются в тип SQL |
| Разрешить выдачу лицензий сервером 1С | Да | Иначе клиент будет искать лицензию у себя |
| Установить блокировку регламентных заданий | По ситуации | Ставьте для копии рабочей базы, чтобы она не начала обмены и рассылки |
Смещение дат задаётся только при создании базы. Поменять его потом нельзя — только пересоздать базу и загрузить .dt.
Подключение пользователя к базе на сервере
На каждом рабочем месте:
Добавить→Добавление в список существующей информационной базы.- Тип расположения —
На сервере 1С:Предприятия. - Кластер серверов
1С:Предприятия — имя сервера, например
APP1C. Если агент работает на нестандартном порту, указываютAPP1C:2541. - Имя информационной базы в кластере —
bp_sever.
Строка соединения при этом получится такая:
Srvr="APP1C";Ref="bp_sever";
Порты, которые должны быть открыты
Клиент сначала обращается к агенту сервера, затем к менеджеру кластера и рабочим процессам.
- 🔌
1540— агент сервера (ragent). - 🔌
1541— менеджер кластера (rmngr). - 🔌
1560–1591— диапазон рабочих процессов по умолчанию; задаётся в свойствах рабочего сервера.
Если брандмауэр пропускает только 1540 и 1541, база в списке будет видна, а войти в неё не получится — сеанс оборвётся на подключении к рабочему процессу.
Ошибки подключения и как их разобрать
Большинство отказов при подключении базы данных 1С укладывается в несколько сценариев. Сначала поймите, на каком звене обрыв: клиент → сервер 1С или сервер 1С → СУБД.
ping APP1C) и открыты порты 1540, 1541 и диапазон 1560–1591.Ещё две ситуации, которые не видны по тексту ошибки:
- 🧩 Сервер 1С запущен от учётной записи без доступа к СУБД. При Windows-аутентификации к MS SQL ходит не пользователь, а служба 1С. Её учётная запись (по умолчанию
USR1CV8) и должна иметь права в SQL. - 🕸️ Имя сервера не разрешается с сервера 1С. Клиент видит
APP1C, а рабочий процесс сообщает клиенту своё имя, которое снаружи не резолвится. Помогает запись в DNS или в файлеhostsна рабочих местах.
Журнал регистрации базы и технологический журнал сервера 1С покажут, на каком шаге обрывается соединение, если по тексту ошибки причину не понять.
Скорость работы после подключения
База подключилась, но открывается по минуте — значит, узкое место в окружении, а не в конфигурации.
Файловая база
- 💽 Держите файл на SSD. Файловая 1С делает много мелких чтений и записей, на HDD это заметно.
- 🌐 Не работайте с файлом через медленную сеть. По Wi-Fi или через VPN каждое обращение к
1Cv8.1CDидёт через сеть. Для удалённых сотрудников лучше терминальный доступ (RDP) или публикация базы на веб-сервере. - 🛡️ Исключите каталог базы из проверки антивирусом на файловом сервере и на рабочих местах. Антивирус, проверяющий файл при каждом обращении, тормозит любую операцию.
Клиент-серверная база
- 📍 Сервер 1С и СУБД — рядом. На одной машине или в одной быстрой локальной сети. Задержка между ними умножается на количество запросов.
- 🧠 Ограничьте память MS SQL параметром
max server memory, чтобы СУБД не забрала всю оперативную память у рабочих процессов 1С на той же машине. - 🔧 Настройте PostgreSQL под нагрузку. Значения
shared_buffers,work_mem,effective_cache_sizeпо умолчанию рассчитаны на минимальное железо. Подбирайте их под объём памяти сервера. - 🗂️ Исключите из антивируса каталог кластера (
srvinfo) и каталоги с файлами данных СУБД. - 📊 Обслуживайте базу. В MS SQL — регулярные планы обслуживания: обновление статистики и перестроение индексов. В PostgreSQL — работающий autovacuum и периодический
ANALYZE.
Планы обслуживания с перестроением индексов нагружают СУБД. Запускайте их ночью, когда в базе нет пользователей.
Список баз для всех сотрудников сразу
Если пользователей двадцать, добавлять базу на каждом месте вручную долго. Список баз хранится в файле ibases.v8i в профиле пользователя (%APPDATA%\1C\1CEStart\ibases.v8i). Его можно подготовить один раз и раздать.
Удобнее — общий список. В файле 1CEStart.cfg (в том же каталоге профиля или в %ALLUSERSPROFILE%\1C\1CEStart\) добавьте строку со ссылкой на файл, который лежит в сетевой папке:
CommonInfoBases=\\FS01\1C\common.v8i
Базы из common.v8i появятся в окне запуска у всех, кому прописана эта строка. Меняете файл в одном месте — список обновляется у всех.
Фрагмент файла списка для базы на сервере выглядит так:
[Бухгалтерия ООО Север]
Connect=Srvr="APP1C";Ref="bp_sever";
Частые вопросы
Нужно ли создавать источник данных ODBC, чтобы 1С увидела SQL?
Можно ли подключить файловую базу по интернету?
Можно ли открыть базу из MS SQL Server Management Studio и править таблицы?
Как узнать, где физически лежит база из списка?
File= означает каталог с файловой базой, Srvr= и Ref= — сервер 1С и имя базы в кластере.