Файловая база 1С изнутри: как устроена, где её держать и когда переходить на сервер

· 10 мин

Содержание

Файловый 1С — это режим, при котором вся информационная база лежит в одном файле 1Cv8.1CD, а каждая программа-клиент сама читает и пишет его напрямую, без сервера 1С и без СУБД вроде PostgreSQL или MS SQL. В строке подключения такой базы стоит путь к папке: File="D:\Bases\Buh";. Это самый простой и дешёвый способ работать в 1С 8.3, и для одного-пяти пользователей его обычно хватает.

Проблемы начинаются, когда база растёт, а людей в ней становится больше: документы проводятся по минуте, появляются конфликты блокировок, файл периодически повреждается. Разберём, как файловый режим устроен, как настроить к нему сетевой доступ, как не потерять данные и по каким признакам понять, что пора на SQL-вариант.

Как устроена файловая база 1С и что лежит в её папке

В файловом варианте нет отдельной программы, которая обслуживает базу. Роль «движка» выполняет сама платформа 1С на компьютере пользователя: при запуске она открывает файл базы и работает с ним как с локальной СУБД.

Что вы увидите в каталоге базы:

  • 📄 1Cv8.1CD — сама база: конфигурация, справочники, документы, регистры. Всё в одном файле.
  • 📁 1Cv8Log — журнал регистрации. В актуальных версиях это файл 1Cv8.lgd, в старых форматах — набор файлов .lgf и .lgp.
  • 📄 временные служебные файлы, которые появляются во время работы и исчезают после неё.

Кэш конфигурации у каждого пользователя хранится отдельно, в его профиле Windows (%APPDATA%\1C\1cv8). Поэтому чистка кэша на одном компьютере на других никак не сказывается.

Как происходят блокировки

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

Пример. Бухгалтер проводит документ реализации, который пишет в регистр взаиморасчётов. Пока транзакция не завершилась, второй пользователь, проводящий оплату от покупателя, ждёт: таблица регистра занята. При двух сотрудниках это незаметно. При десяти — превращается в очередь и сообщения о конфликте блокировок.

Где хранится база физически

Файл может лежать:

  1. На локальном диске компьютера, где работает единственный пользователь.
  2. В сетевой папке на другом компьютере или файловом сервере.
  3. На терминальном сервере, куда пользователи заходят по RDP, — тогда файл для платформы локальный.
  4. На компьютере с опубликованной через веб-сервер базой: пользователи подключаются по HTTP, а веб-сервер обращается к файлу.

Файловый вариант или SQL-сервер 1С: сравнение по делу

«SQL-версией» обычно называют клиент-серверный вариант: база хранится в СУБД (PostgreSQL, MS SQL Server и другие), а между пользователями и СУБД стоит кластер серверов 1С. Конфигурация при этом одна и та же: та же Бухгалтерия или ЗУП работает в обоих режимах без переделки.

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

Отчёты в файловой базе считаются на машине того, кто их запустил. Слабый ноутбук в сети будет строить оборотно-сальдовую ведомость за год заметно дольше, чем мощный компьютер главбуха, хотя база одна.

Когда файловый режим — правильный выбор

  • ✅ ИП или маленькая фирма, в базе работают 1–3 человека.
  • ✅ Учебная или тестовая база, копия для экспериментов.
  • ✅ Отдельная небольшая база, например учёт по одному обособленному направлению.
  • ✅ Работа на терминальном сервере, где пользователей немного, а база лежит на быстром локальном SSD.
Какой режим подойдёт вашей базе?

Сетевой доступ к файловой базе: настройка и права

Самый частый сценарий — база лежит на одном компьютере в офисе, остальные открывают её по сети.

Настройка общей папки

  1. Создайте папку для баз на компьютере с быстрым диском, лучше SSD, например D:\Bases.
  2. Откройте к ней общий доступ в свойствах папки (вкладка «Доступ»).
  3. Дайте пользователям, работающим в 1С, права на чтение и изменение — и на общий ресурс, и на вкладке «Безопасность» (NTFS). Платформе нужно создавать и удалять служебные файлы в каталоге базы, одного чтения мало.
  4. На рабочих местах добавьте базу в список: Добавить → Добавление в список существующей информационной базы, укажите путь вида \\SERVER\Bases\Buh.

Указывайте путь по сетевому имени (UNC), а не через подключённый сетевой диск. Буква диска может не подключиться после перезагрузки, и база «пропадёт» из списка.

Что ухудшает работу по сети

  • 📶 Wi-Fi. Кратковременный обрыв в момент записи — прямой путь к повреждению файла. Для баз используйте кабель.
  • 🛡️ Антивирус, проверяющий 1Cv8.1CD при каждом обращении. Добавьте каталог баз в исключения на сервере и на клиентах.
  • 💾 Бытовые NAS-хранилища и старые реализации SMB. Они плохо переносят одновременную запись из нескольких мест.
  • 😴 Спящий режим на компьютере, где лежит база. Если он уснул, у всех остальных работа оборвётся.

Безопасность

Файловая база не защищена ничем, кроме прав Windows. Любой, у кого есть доступ к папке, может скопировать файл целиком и открыть его у себя. Пароли пользователей 1С от этого не спасают.

Что делать:

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

Резервное копирование и восстановление файловой базы

Файловая база уязвима к сбоям, поэтому копия должна быть всегда. Способов три.

Способ 1. Копия файла 1Cv8.1CD

Самый быстрый и надёжный способ: дождитесь, пока все выйдут из базы, и скопируйте каталог целиком в другое место. Для восстановления достаточно вернуть файл и открыть базу .

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

Способ 2. Выгрузка в .dt

В Конфигураторе: Администрирование → Выгрузить информационную базу. Получится файл .dt, который загружается обратно командой Администрирование → Загрузить информационную базу. Этот формат нужен и при переносе базы на SQL-сервер.

Выгрузку можно запускать по расписанию через планировщик Windows. Пример bat-файла:

@echo off
set D=%date:~6,4%-%date:~3,2%-%date:~0,2%
"C:\Program Files\1cv8\common\1cestart.exe" DESIGNER /F "D:\Bases\Buh" /N "Администратор" /P "пароль" /DumpIB "E:\Backup\Buh_%D%.dt" /Out "E:\Backup\log_%D%.txt"

Формат строки %date% зависит от региональных настроек Windows, проверьте результат на первом запуске. Пароль в bat-файле хранится открытым текстом — держите файл в каталоге, доступном только администратору.

Способ 3. Встроенное копирование в типовых конфигурациях

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

Проверьте свою схему резервного копирования
Выполнено: 0 / 5

Ограничения файлового режима и способы ускорить работу

Формальные пределы размера файла в современных форматах базы далеко за пределами практики. Реальный ограничитель — скорость и одновременная работа.

Признаки, что файловый режим упирается в потолок:

  • ⏳ проведение обычных документов занимает десятки секунд;
  • 🔒 пользователи регулярно ждут друг друга или получают конфликт блокировок;
  • 🐢 закрытие месяца или расчёт зарплаты идёт часами и блокирует остальных;
  • 💥 файл повреждается чаще раза в год.

Что можно сделать без перехода на сервер

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

Вместо сетевой папки можно опубликовать файловую базу на веб-сервере (IIS или Apache) и подключаться тонким клиентом по HTTP. Расчёты при этом идут на веб-сервере, а не у пользователя. Это хороший вариант для удалённых сотрудников, но не замена серверу 1С при большом числе пользователей.

Частые ошибки файловой базы и как их исправить

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

Как лечить повреждённую базу

  1. Попросите всех выйти из базы и скопируйте каталог с повреждённым файлом в отдельное место. Исправление меняет файл необратимо.
  2. Если Конфигуратор открывается: Администрирование → Тестирование и исправление, отметьте проверку логической и ссылочной целостности и восстановление структуры.
  3. Если база не открывается вовсе, используйте утилиту chdbfl.exe из каталога bin установленной платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe. Укажите файл 1Cv8.1CD, отметьте «Исправлять обнаруженные ошибки» и запустите проверку.
  4. После исправления проверьте остатки по ключевым счетам и последние документы. Если данные потеряны — восстанавливайтесь из последней резервной копии.

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

Переход с файловой базы на SQL: когда пора и как это сделать

Переход оправдан, когда пользователей больше 8–10, когда из-за блокировок люди теряют время каждый день или когда база настолько важна, что её повреждение остановит бизнес.

Что понадобится

  • 🖥️ Сервер под Windows Server или Linux, с запасом оперативной памяти и SSD.
  • 💽 СУБД. Чаще всего берут PostgreSQL в сборке для 1С — она бесплатная. MS SQL Server — платный, кроме редакции Express с жёсткими ограничениями на размер базы и ресурсы.
  • 🔑 Лицензия на сервер 1С:Предприятия. Ориентировочно 80–100 тыс. руб. за 64-разрядную версию; точную цену уточняйте у партнёра. Клиентские лицензии, которые у вас уже есть, остаются в работе.

Порядок переноса

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

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

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

Можно ли работать в файловой базе одновременно с нескольких компьютеров?
Да. Многопользовательская работа в файловом режиме поддерживается, нужны только сетевая папка с правами на изменение и достаточное число клиентских лицензий.
Нужна ли для файловой базы отдельная лицензия на сервер?
Нет. Лицензия на сервер 1С нужна только в клиент-серверном варианте. Для файлового режима достаточно клиентских лицензий по числу одновременных пользователей.
Как узнать, файловая у меня база или серверная?
Посмотрите строку подключения в окне запуска 1С: путь к папке (File=...) означает файловую базу, имя сервера и базы (Srvr=...;Ref=...) — серверную.
Можно ли держать файловую базу в облачной папке вроде Яндекс Диска?
Для работы — нет. Синхронизация копирует файл во время записи и создаёт конфликтующие версии, база легко повреждается. В облако кладите только готовые резервные копии.
Станет ли база быстрее после перехода на SQL?
При многопользовательской работе — да, за счёт блокировок по записям и расчётов на сервере. Для одного пользователя на мощном компьютере с SSD файловая база часто работает не медленнее серверной.