Подключение 1С:Предприятие к внешней базе данных — критически важный этап при развертывании системы, миграции на серверное решение или интеграции с другими бизнес-приложениями. От правильности настроек зависит не только стабильность работы программы, но и безопасность коммерческих данных. Эта инструкция охватывает все актуальные способы подключения: от классической файловой базы до работы с Microsoft SQL Server, PostgreSQL и облачными решениями.

Мы разберем не только стандартные сценарии (создание новой базы или подключение к существующей), но и нюансы, которые редко освещают в официальной документации: настройку прав доступа для разных ролей пользователей, оптимизацию производительности при удаленном подключении, а также диагностику типичных ошибок типа «Не удалось подключиться к информационной базе». Особое внимание уделено совместимости версий 1С и СУБД — например, почему 1С 8.3.22 может не работать с SQL Server 2022 без дополнительных драйверов.

Если вы администрируете 1С впервые, начинайте с раздела «Подготовка к подключению» — там описаны предварительные шаги, которые упускают даже опытные пользователи. Для специалистов полезны будут разделы про тонкую настройку ODBC и альтернативные методы подключения через ADO или OLE DB.

1. Подготовка к подключению: что нужно сделать до настройки

Прежде чем приступать к техническим манипуляциям, проверьте три ключевых момента:

  • 📋 Лицензионная совместимость. Убедитесь, что версия вашей 1С поддерживает выбранную СУБД. Например, 1С:Предприятие 8.3.18 не работает с PostgreSQL 15 без патчей, а для SQL Server 2019 требуется драйвер ODBC 17.
  • 🔐 Права доступа. Администратор сервера должен выдать вам учетные данные с правами на создание баз данных (для нового подключения) или полный доступ к существующей базе.
  • 🖥️ Сетевая инфраструктура. Если база расположена на удаленном сервере, проверьте открытые порты (по умолчанию 1433 для SQL Server, 5432 для PostgreSQL) и отсутствие блокировок фаерволом.

Для файловой базы (.1CD) подготовка проще: достаточно убедиться, что папка с базой доступна для записи всем пользователям 1С, а путь к ней не содержит кириллических символов или пробелов. Иначе при обновлении конфигурации могут возникать ошибки типа «Файл заблокирован».

⚠️ Внимание: Если вы подключаетесь к облачной базе (например, 1С:Fresh или SQL Azure), уточните у провайдера ограничения на количество одновременных соединений. Некоторые тарифы блокируют более 5 подключений от одного IP.
📊 Какую СУБД вы используете с 1С?
Файловая база (.1CD)
Microsoft SQL Server
PostgreSQL
Другая СУБД

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

Файловый вариант — самый простой способ для небольших компаний или тестовых окружений. Здесь база хранится в одном файле с расширением .1CD, и для работы не требуется отдельный сервер СУБД.

Чтобы добавить файловую базу в список 1С:

  1. Запустите 1С:Предприятие в режиме конфигуратора (удерживайте Shift при запуске).
  2. В окне «Запуск 1С:Предприятия» нажмите «Добавить».
  3. Выберите «Добавление в список существующей информационной базы».
  4. Укажите путь к файлу .1CD (например, D:\Bases\TradeBase\1Cv8.1CD).
  5. Задайте имя базы (отображается в списке) и нажмите «Готово».

Для сетевого доступа к файловой базе:

  • 📂 Разместите файл .1CD на сетевом диске (например, \\SERVER\1C_Bases\).
  • 🔄 Настройте права доступа на папку: все пользователи 1С должны иметь права на «Чтение», «Запись» и «Изменение».
  • 🔌 В настройках 1С укажите сетевой путь (например, \\192.168.1.100\Bases\TradeBase\1Cv8.1CD).
⚠️ Внимание: Файловые базы не поддерживают более 20 одновременных подключений. При превышении лимита пользователи будут получать ошибку «Превышено максимальное количество соединений».

Путь к файлу .1CD не содержит кириллицы|Папка с базой доступна для записи|Антивирус не блокирует доступ к файлу|Сетевой диск подключен как диск (не UNC-путь)-->

3. Подключение к Microsoft SQL Server

Для корпоративных решений рекомендуется использовать Microsoft SQL Server (версии 2016–2022). Этот вариант обеспечивает высокую производительность, резервное копирование и поддержку большого количества пользователей.

Шаги по подключению:

  1. Установите драйвер ODBC:
    • Скачайте ODBC Driver for SQL Server с сайта Microsoft (версия должна соответствовать разрядности вашей 1С).
    • Запустите установщик и следуйте инструкциям. Для 64-битной 1С нужен 64-битный драйвер.
  2. Создайте источник данных ODBC:
    • Откройте «Администрирование» → «Источники данных ODBC (64-бит)» в Панели управления.
    • Перейдите на вкладку «Системный DSN» и нажмите «Добавить».
    • Выберите драйвер ODBC Driver 17 for SQL Server.
    • Заполните поля:
      • Имя источника данных: 1C_SQL_Trade (произвольное имя).
      • Сервер: имя или IP сервера SQL (например, SQL-SERVER\SQLEXPRESS).
      • База данных: имя базы (если она уже создана) или оставьте пустым для создания новой.
  • Настройте подключение в 1С:
    • В окне «Запуск 1С:Предприятия» нажмите «Добавить» → «Создание новой информационной базы».
    • Выберите «На сервере 1С:Предприятия» или «На этом компьютере или на компьютере в локальной сети» (в зависимости от расположения SQL-сервера).
    • Укажите имя сервера и имя базы данных (должно совпадать с именем в ODBC).
    • Выберите тип СУБД: Microsoft SQL Server.
  • После подключения 1С автоматически создаст в SQL Server базу с необходимыми таблицами. Если база уже существует, укажите её имя в настройках ODBC.

    Параметр ODBC Рекомендуемое значение Пояснение
    TrustServerCertificate Yes Отключает проверку SSL-сертификата (нужно для локальных серверов без доверенного сертификата).
    Encrypt No Шифрование трафика. Включайте только при подключении через интернет.
    ConnectTimeout 15 Таймаут подключения в секундах. Увеличьте до 30 для медленных сетей.
    💡

    Если при подключении к SQL Server возникает ошибка "Login failed for user", проверьте, что в настройках SQL-сервера включен режим аутентификации "SQL Server and Windows Authentication mode".

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

    PostgreSQL — бесплатная альтернатива SQL Server, которая официально поддерживается 1С с версии платформы 8.3.10. Для работы потребуется:

    • 🐧 Установленный сервер PostgreSQL версии 9.6–15.
    • 🔌 Драйвер psqlODBC (скачивается с сайта PostgreSQL).
    • 📦 Расширение 1c_pg_ext для работы с особенностями 1С (устанавливается в базу PostgreSQL).

    Инструкция по настройке:

    1. Установите расширение для 1С:
      sudo -u postgres psql -d your_database -f /path/to/1c_pg_ext.sql

      Где your_database — имя вашей базы в PostgreSQL.

    2. Создайте ODBC-соединение:
      • В «Источниках данных ODBC» добавьте новый системный DSN.
      • Выберите драйвер PostgreSQL Unicode.
      • Заполните поля:
        • Database: имя базы.
        • Server: адрес сервера (например, localhost или 192.168.1.100).
        • Port: 5432 (по умолчанию).
        • Username/Password: учетные данные пользователя PostgreSQL.
  • Подключите базу в 1С:
    • В окне добавления базы выберите тип СУБД: PostgreSQL.
    • Укажите имя сервера, базы и учетные данные.
  • После подключения 1С создаст в PostgreSQL служебные таблицы с префиксом v8_. Если база уже существует, убедитесь, что в ней установлено расширение 1c_pg_ext.

    ⚠️ Внимание: При использовании PostgreSQL в облаке (например, Amazon RDS или Yandex Managed PostgreSQL) может потребоваться ручная настройка параметра shared_preload_libraries для загрузки расширения 1c_pg_ext. Обратитесь к документации вашего провайдера.
    Как проверить, установлено ли расширение 1c_pg_ext?

    Подключитесь к базе PostgreSQL через psql и выполните команду:

    \dx

    В списке должно отобразиться расширение 1c_pg_ext с версией, соответствующей вашей платформе 1С. Если его нет, повторите установку расширения.

    5. Настройка прав доступа и безопасности

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

    • 👤 Администратор 1С:
      • В SQL Server: роль db_owner на базе данных.
      • В PostgreSQL: права CREATE, ALL PRIVILEGES.
    • 👥 Обычные пользователи:
      • В SQL Server: роль db_datareader + db_datawriter.
      • В PostgreSQL: права SELECT, INSERT, UPDATE, DELETE на таблицы с префиксом v8_.
    • 🔍 Аудиторы:
      • Только SELECT на все таблицы.

    Для повышения безопасности:

    • 🔒 Используйте шифрование трафика (параметр Encrypt=Yes в ODBC для SQL Server или sslmode=require для PostgreSQL).
    • 🔑 Настройте аутентификацию по сертификатам вместо паролей (особенно актуально для облачных баз).
    • 🚫 Ограничьте доступ к портам СУБД в фаерволе (разрешите только IP-адреса офисов или VPN-подключения).

    Пример команды для создания пользователя в PostgreSQL с минимальными правами:

    CREATE USER 1c_user WITH PASSWORD 'SecurePassword123';
    

    GRANT CONNECT ON DATABASE trade_db TO 1c_user;

    GRANT SELECT, INSERT, UPDATE, DELETE ON ALL TABLES IN SCHEMA public TO 1c_user;

    💡

    Никогда не используйте учетную запись sa (SQL Server) или postgres (PostgreSQL) для повседневной работы 1С. Создайте отдельного пользователя с ограниченными правами.

    6. Диагностика и решение ошибок подключения

    Даже при правильной настройке могут возникать ошибки. Рассмотрим самые распространенные и способы их устранения:

    Ошибка Возможная причина Решение
    Не удалось подключиться к информационной базе Неверное имя сервера или базы в ODBC. Проверьте настройки в «Источниках данных ODBC» и доступность сервера по сети (ping).
    Login failed for user '1c_user' Неправильный пароль или пользователь не имеет прав на доступ к базе. Проверьте учетные данные в ODBC и права пользователя в СУБД.
    Ошибка формата потока Несовместимость версий 1С и СУБД (например, 1С 8.3.15 + SQL Server 2022). Обновите платформу 1С или используйте более старую версию СУБД.
    Timeout expired Сервер СУБД не отвечает в течение заданного времени. Увеличьте ConnectTimeout в ODBC или проверьте нагрузку на сервер.

    Для глубокой диагностики:

    • 📡 Используйте утилиты:
      • Test-NetConnection в PowerShell для проверки портов.
      • telnet sql-server 1433 для проверки доступности SQL Server.
    • 📜 Просматривайте логи:
      • В 1С: %APPDATA%\1C\1Cv8\logs\.
      • В SQL Server: Журналы Windows → Приложение.
      • В PostgreSQL: /var/log/postgresql/postgresql-15-main.log.

    Если ошибка сохраняется, попробуйте подключиться к базе через сторонние инструменты (например, DBeaver или SQL Server Management Studio). Если подключение проходит — проблема в настройках 1С или ODBC.

    7. Оптимизация производительности подключения

    Медленное подключение к базе или зависания при работе часто связаны с неоптимальными настройками. Вот ключевые параметры для tunes:

    • 🔄 Пул соединений:
      • В ODBC включите Pooling=Yes (по умолчанию включено).
      • Для SQL Server установите Max Pool Size=100 (если пользователей больше 50).
    • 📶 Сетевые параметры:
      • Для удаленных подключений увеличьте Packet Size в ODBC до 32768.
      • Отключите TCP Chimney Offload в настройках сетевой карты (может вызывать задержки).
    • 🗃️ Настройки СУБД:
      • В SQL Server увеличьте max degree of parallelism (для многоядерных серверов).
      • В PostgreSQL оптимизируйте shared_buffers (рекомендуется 25% от оперативной памяти сервера).

    Пример конфигурации для PostgreSQL (postgresql.conf):

    shared_buffers = 4GB
    

    effective_cache_size = 12GB

    work_mem = 16MB

    maintenance_work_mem = 1GB

    max_connections = 200

    Для мониторинга производительности используйте:

    • 📊 В SQL Server: SQL Server Profiler или sp_who2.
    • 📈 В PostgreSQL: pg_stat_activity и EXPLAIN ANALYZE для медленных запросов.
    💡

    Если пользователи жалуются на "подвисания" 1С, сначала проверьте загрузку дисковой подсистемы сервера СУБД. Часто проблема в медленных HDD, а не в сети.

    8. Альтернативные способы подключения

    Помимо стандартного ODBC, существуют другие методы интеграции 1С с базами данных:

    • 🔗 OLE DB:
      • Используется для подключения к Oracle или устаревшим версиям SQL Server.
      • Требует провайдера SQLOLEDB или MSDAORA.
    • 📡 ADO (ActiveX Data Objects):
      • Позволяет выполнять SQL-запросы напрямую из 1С (например, для обмена данными с внешними системами).
      • Пример кода:
        Подключение = Новый COMОбъект("ADODB.Connection");
        

        Подключение.ConnectionString = "Provider=SQLOLEDB;Server=my_server;Database=my_db;UID=user;PWD=password";

        Подключение.Open();

    • ☁️ Облачные подключения:
      • Для 1С:Fresh или SQL Azure используйте специализированные драйверы (например, ODBC Driver 17 for SQL Server с параметром Encrypt=Yes).

    Эти методы требуют глубоких знаний программирования в 1С и настройки безопасности, так как обходят стандартные механизмы платформы.

    ⚠️ Внимание: При использовании ADO или OLE DB отключается контроль целостности данных со стороны 1С. Это может привести к повреждению базы при некорректных запросах.

    FAQ: Частые вопросы по подключению 1С к базе

    Можно ли подключить 1С к базе MySQL или Oracle?

    Официально платформа 1С поддерживает только Microsoft SQL Server, PostgreSQL и файловую базу. Однако с помощью ADO или сторонних обработок можно организовать обмен данными с MySQL или Oracle, но это потребует доработок и не гарантирует стабильность.

    Как перенести базу с файлового варианта на SQL Server?

    Используйте утилиту 1CV8.exe с ключом /RestoreIB:

    1. Создайте резервную копию файловой базы (.dt).
    2. Настройте ODBC-соединение для SQL Server.
    3. Выполните команду:
      1CV8.exe /RestoreIB D:\backup(dt) /F "C:\Program Files\1cv8\8.3.22.1234\bin\1cv8.exe" /NИмяПользователя /PПароль /SСервер\Экземпляр /DИмяБазыДанных

    Почему 1С медленно работает с базой на SQL Server?

    Причины могут быть разные:

    • Нехватка оперативной памяти на сервере SQL (проверьте SQL Server Memory Usage).
    • Фрагментация индексов (выполните REINDEX).
    • Медленные диски (SSD вместо HDD ускоряет работу в 5–10 раз).
    • Неоптимальные запросы от 1С (используйте План выполнения в SQL Server Profiler).

    Начните с мониторинга загрузки сервера через Диспетчер задач или sp_who2.

    Как подключиться к базе 1С через интернет?

    Для удаленного доступа:

    1. Настройте VPN или проброс портов на роутере (например, порт 1433 для SQL Server).
    2. Включите шифрование в ODBC (Encrypt=Yes).
    3. Используйте 1С:Предприятие через веб-браузер или Тонкий клиент с подключением к серверу приложений.
    ⚠️ Внимание: Никогда не открывайте порты СУБД напрямую в интернет без VPN. Это подвергает базу риску взлома.

    Что делать, если при подключении к PostgreSQL возникает ошибка "unsupported frontend protocol"?

    Эта ошибка означает несовместимость версий и PostgreSQL. Решения:

    • Обновите платформу 1С до версии 8.3.20 или выше.
    • Используйте PostgreSQL версии 9.6–14 (15-я версия может требовать патчей).
    • Проверьте, что в базе установлено расширение 1c_pg_ext правильной версии.