Как устроена информационная база 1С и чем файл отличается от SQL

· 10 мин

Содержание

База 1С — это информационная база: все ваши данные (справочники, документы, проводки, остатки) плюс конфигурация, по правилам которой эти данные обрабатываются. В 1С:Предприятие 8.3 базы бывают двух видов. Файловая хранит всё в одном файле 1Cv8.1CD в папке на диске. Клиент-серверная лежит в СУБД (MS SQL Server, PostgreSQL, IBM Db2 или Oracle), а работу с ней ведёт сервер 1С.

Для офиса на 3–5 человек обычно хватает файловой базы. Если одновременно работают 10–15 человек и больше, база весит десятки гигабайт или нужен круглосуточный доступ, выбирают вариант с сервером 1С и SQL.

Из чего состоит база 1С: платформа, конфигурация, данные

Три понятия часто путают, а от них зависит, что именно вы обновляете, копируете или переносите.

  • 🧩 Платформа — программа 1cv8, которую ставят на компьютер. Она одна на все базы и отвечает за запуск, интерфейс, работу с файлами и сервером.
  • 📐 Конфигурация — прикладное решение: Бухгалтерия, ЗУП, УТ и т.д. Это описание справочников, документов, отчётов и алгоритмов.
  • 📦 Данные — то, что ввели пользователи: контрагенты, накладные, зарплата.

Информационная база = конфигурация + данные. Платформа живёт отдельно. Поэтому одна и та же платформа запускает и Бухгалтерию, и ЗУП, а обновление платформы не меняет ни конфигурацию, ни данные.

В работе встречаются файлы разных форматов. Их полезно различать:

РасширениеЧто внутриКогда нужно
.1CDСама файловая база целикомРабочая база в файловом варианте
.dtВыгрузка базы: конфигурация + данныеРезервная копия, перенос, смена варианта
.cfТолько конфигурация, без данныхСоздание чистой базы, сравнение
.cfuФайл обновления конфигурацииОбновление типовой
.cfeРасширение конфигурацииДоработки без снятия с поддержки

Список баз, который вы видите в окне запуска, — это не сами базы, а ссылки на них. Хранится он в файле ibases.v8i в профиле пользователя: %APPDATA%\1C\1CEStart\ibases.v8i. Удалили базу из списка — данные остались на месте.

Файловая база 1С: как хранятся данные

В файловом варианте вся база — один файл 1Cv8.1CD. Каждый пользователь открывает его по сети через общую папку. Сервера нет: любой компьютер с платформой 1С читает и пишет в файл сам.

Строка подключения в окне запуска выглядит так:

File="D:\Bases\Buh";

Или для сетевой папки:

File="\\fileserver\Bases\Buh";

Сильные стороны:

  • ✅ ставится за 10 минут, отдельный сервер и СУБД не нужны;
  • ✅ резервная копия — простое копирование папки с закрытой базой;
  • ✅ нужны только клиентские лицензии, серверная не нужна;
  • ✅ легко перенести на флешку или другой компьютер.

Слабые места:

  • ⚠️ при записи данных блокируется таблица целиком, а не отдельные записи. Пока один проводит документ, другой ждёт;
  • ⚠️ вся нагрузка идёт по сети: каждый клиент тянет нужные ему страницы файла к себе;
  • ⚠️ обрыв сети или выключение компьютера во время записи может повредить файл;
  • ⚠️ с ростом размера .1CD и числа пользователей скорость падает заметно.

Файловую базу лучше держать на локальном диске той машины, где работают больше всего, или на файловом сервере с быстрой сетью. Хранить .1CD на NAS-хранилище с медленным диском или в синхронизируемой облачной папке — частая причина «тормозов» и повреждений.

Для удалённых сотрудников файловую базу публикуют на веб-сервере (IIS или Apache) и подключаются через браузер или тонкий клиент. Это снимает нагрузку с сети, но не отменяет табличных блокировок.

Клиент-серверная база 1С и роль SQL-сервера

Здесь данные лежат в СУБД, а пользователи не трогают их напрямую. Их запросы обрабатывает сервер 1С:Предприятия.

Цепочка выглядит так:

  1. Клиент (тонкий или толстый) обращается к агенту сервера ragent на порт 1540.
  2. Агент передаёт соединение менеджеру кластера rmngr на порт 1541.
  3. Работу выполняют рабочие процессы rphost. Их порты берутся из диапазона, который задают в свойствах рабочего сервера; по умолчанию 1560:1591.
  4. Рабочий процесс обращается к СУБД и возвращает клиенту только результат.

Строка подключения:

Srvr="srv1c";Ref="buh";

Здесь srv1c — имя сервера 1С, buh — имя базы в кластере. Имя базы в СУБД может быть другим: его указывают при создании.

Какие СУБД поддерживает платформа 8.3:

СУБДОсобенности
MS SQL ServerСамый распространённый вариант, нужна лицензия Microsoft
PostgreSQLБесплатная, сборки с патчами для 1С есть у 1С и Postgres Professional
IBM Db2Встречается редко
Oracle DatabaseВстречается редко, в основном в крупных компаниях

Внутри SQL база 1С выглядит как набор таблиц с обезличенными именами: _Reference45, _Document123, _AccumRg678. Есть служебные таблицы Config, Params, Files, DBSchema — в них хранится конфигурация и описание структуры.

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

Файловая база или SQL: что выбрать

Главное отличие не в «скорости SQL», а в том, кто управляет блокировками и куда идёт нагрузка. В клиент-серверном варианте блокировки ставятся на уровне записей, а тяжёлые запросы выполняет сервер, а не компьютер бухгалтера.

КритерийФайловаяКлиент-серверная
Одновременных пользователей комфортнодо 5–10десятки и сотни
Блокировки при записицелая таблицаотдельные записи
Лицензиитолько клиентскиеклиентские + лицензия сервера 1С (+ лицензия СУБД, если не PostgreSQL)
Установка и сопровождениеминимальныенужен администратор
Резервное копированиекопия папки или .dtсредствами СУБД, по расписанию, без остановки работы
Устойчивость к сбоям сетинизкаявысокая: данные пишет сервер
Регламентные заданиятолько пока база открыта у кого-товыполняются сервером сами

По деньгам ориентир такой: лицензия сервера 1С ПРОФ ориентировочно стоит 80–100 тыс. руб., КОРП — заметно дороже. MS SQL Server Standard добавит ещё сотни тысяч рублей с клиентскими лицензиями, PostgreSQL бесплатен. Плюс сам сервер и время администратора. Цены меняются, уточняйте у партнёра.

Признаки, что файловой базе пора на сервер:

  • 🐢 проведение документов «висит», пока другой сотрудник формирует отчёт;
  • 🔒 часто выскакивает конфликт блокировок;
  • 📈 файл 1Cv8.1CD перевалил за 10–20 ГБ и продолжает расти;
  • 🌙 нужны ночные регламентные задания (обмены, загрузка курсов) без открытого клиента.
Какой вариант базы вам подходит?

Что лежит в каталоге файловой базы

Откройте папку базы — путь виден в окне запуска внизу при выборе базы. Типичный набор:

Файл или папкаНазначение
1Cv8.1CDСама база: конфигурация и данные
1Cv8LogЖурнал регистрации: кто, когда и что менял
1Cv8FTxtИндекс полнотекстового поиска
1Cv8.1CLФайл блокировки, появляется при открытой базе

Для копии вручную достаточно 1Cv8.1CD. Папку 1Cv8Log копируйте, если нужна история действий пользователей. Индекс поиска платформа перестроит сама.

Копировать 1Cv8.1CD можно только когда в базе никто не работает. Копия файла, снятая «на ходу», может оказаться битой. Надёжнее выгрузка в .dt через Конфигуратор.

Файл 1Cv8.1CL иногда остаётся после аварийного завершения и мешает входу. Удалять его можно, только убедившись, что базу никто не открыл: проверьте процессы 1cv8 на всех компьютерах с доступом к папке. Иначе вы выбьете работающих пользователей и рискуете повредить данные.

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

  • 🔧 Конфигуратор → Администрирование → Тестирование и исправление — нужен монопольный доступ, все пользователи должны выйти;
  • 🔧 утилита chdbfl.exe в папке bin платформы — проверяет физическую целостность 1Cv8.1CD без запуска 1С.

У клиент-серверной базы «каталога» в этом смысле нет. Данные лежат в файлах СУБД, а настройки кластера — в каталоге службы сервера 1С (папка srvinfo). Копировать оттуда что-то вручную бессмысленно и опасно.

Перенос базы 1С: из файла в SQL и обратно

Универсальный способ сменить вариант — через выгрузку .dt. Он одинаково работает в обе стороны.

Файловая база → сервер 1С

  1. Попросите всех выйти из базы.
  2. Откройте базу в Конфигураторе и выполните Администрирование → Выгрузить информационную базу. Сохраните .dt.
  3. Создайте пустую базу на сервере. Проще всего — в окне запуска: Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации, затем выберите вариант «На сервере 1С:Предприятия». Укажите кластер, имя базы, тип СУБД, сервер СУБД, имя базы данных и учётную запись СУБД.
  4. Отметьте «Создать базу данных в случае её отсутствия».
  5. Откройте новую базу в Конфигураторе и выполните Администрирование → Загрузить информационную базу, указав .dt.
  6. Запустите базу в режиме 1С:Предприятие и проверьте остатки по ключевым счетам и пару отчётов.

Сервер 1С → файловая база

Порядок тот же: выгрузка в .dt из серверной базы, создание пустой файловой базы, загрузка .dt. Так делают, чтобы отдать копию аудитору или поднять тестовую базу на ноутбуке.

Загрузка .dt полностью заменяет содержимое базы-приёмника. Загрузили не в ту базу — данные в ней потеряны. Перед загрузкой сверьте строку подключения внизу окна Конфигуратора.

Почему не копировать базу средствами SQL при переезде между серверами? Можно, и для больших баз это быстрее: бэкап и восстановление в СУБД, затем регистрация базы в новом кластере с указанием существующей базы данных. Но при смене СУБД (MS SQL → PostgreSQL) работает только путь через .dt.

Ещё одна деталь: версия платформы на сервере и на клиентах должна совпадать полностью, вплоть до номера сборки. Иначе подключение не пройдёт.

Права доступа: кто и как защищает данные

Здесь два уровня: доступ к самой базе на уровне ОС или СУБД и пользователи внутри 1С.

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

Каждому пользователю нужны права на чтение и запись в папку базы. Это слабое место: кто может открыть папку, тот может и скопировать 1Cv8.1CD целиком. Пароли пользователей 1С от этого не спасают — файл открывается на другом компьютере средствами для работы с форматом.

Что делать:

  • 🔐 давайте права на папку через группу домена, а не «Всем»;
  • 🔐 не публикуйте папку базы как общий ресурс для всей сети;
  • 🔐 для удалённых сотрудников используйте веб-публикацию или терминальный сервер вместо прямого доступа к папке.

Клиент-серверная база

Пользователи не видят СУБД вообще. К SQL подключается только служба сервера 1С под своей учётной записью. Защищают:

  • 🛡️ учётную запись СУБД — отдельная, не sa и не postgres, со сложным паролем;
  • 🛡️ администраторов кластера — без них любой с доступом к консоли может создать или удалить базу;
  • 🛡️ администратора информационной базы — задаётся в свойствах базы в кластере.

Пользователи внутри 1С

Это общий уровень для обоих вариантов. В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) пользователей и группы доступа настраивают в разделе Администрирование → Настройки пользователей и прав. Там же включают ограничение доступа на уровне записей — например, чтобы менеджер видел только свои организации.

Можно настроить вход через учётную запись Windows: тогда пароль 1С не нужен, пользователя узнают по доменному логину.

Минимальная защита базы 1С
Выполнено: 0 / 6

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

Сколько пользователей выдержит файловая база 1С?
Технического ограничения на число подключений нет. На практике комфортно работают 5–10 человек; дальше растут ожидания на блокировках, особенно при проведении документов.
Можно ли открыть одну базу и файловым, и серверным способом?
Нет. Это разные базы. Чтобы сменить вариант, базу выгружают в .dt и загружают в новую.
Нужен ли сервер 1С, если база уже в MS SQL?
Да. Платформа 1С не умеет работать с SQL напрямую с клиента. Без сервера 1С клиент-серверный вариант не запустится.
Какой размер файловой базы 1С считается большим?
Жёсткой границы нет. Когда 1Cv8.1CD переходит за 10–20 ГБ, копирование и тестирование занимают заметное время, а отчёты по большим периодам тормозят. Это сигнал присмотреться к серверу.
Удалил базу из списка — данные пропали?
Нет. Список хранит только ссылки. Добавьте базу снова через «Добавить → Добавление в список существующей информационной базы» и укажите её папку или сервер.