Файловая база 1С изнутри: как устроена, где её держать и когда переходить на сервер
Содержание
Файловый 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). Поэтому чистка кэша на одном компьютере на других никак не сказывается.
Как происходят блокировки
Когда несколько человек работают в одной файловой базе, платформа согласует запись через блокировки. Ключевая особенность: в файловом режиме блокируется вся таблица целиком, а не отдельные записи.
Пример. Бухгалтер проводит документ реализации, который пишет в регистр взаиморасчётов. Пока транзакция не завершилась, второй пользователь, проводящий оплату от покупателя, ждёт: таблица регистра занята. При двух сотрудниках это незаметно. При десяти — превращается в очередь и сообщения о конфликте блокировок.
Где хранится база физически
Файл может лежать:
- На локальном диске компьютера, где работает единственный пользователь.
- В сетевой папке на другом компьютере или файловом сервере.
- На терминальном сервере, куда пользователи заходят по RDP, — тогда файл для платформы локальный.
- На компьютере с опубликованной через веб-сервер базой: пользователи подключаются по HTTP, а веб-сервер обращается к файлу.
Файловый вариант или SQL-сервер 1С: сравнение по делу
«SQL-версией» обычно называют клиент-серверный вариант: база хранится в СУБД (PostgreSQL, MS SQL Server и другие), а между пользователями и СУБД стоит кластер серверов 1С. Конфигурация при этом одна и та же: та же Бухгалтерия или ЗУП работает в обоих режимах без переделки.
| Критерий | Файловый вариант | Клиент-серверный (SQL) |
|---|---|---|
| Что нужно установить | Только платформу 1С | Сервер 1С + СУБД |
| Лицензии | Клиентские | Клиентские + лицензия на сервер 1С |
| Комфортное число пользователей | 1–5, иногда до 10 при лёгкой работе | Десятки и сотни |
| Блокировки | Таблица целиком | Отдельные записи (управляемые блокировки) |
| Где выполняются расчёты | На компьютере пользователя | На сервере |
| Устойчивость к сбоям сети и питания | Низкая: обрыв может повредить файл | Высокая: СУБД ведёт журнал транзакций |
| Резервное копирование | Копия файла или выгрузка .dt | Средствами СУБД, без остановки работы |
| Администрирование | Почти не нужно | Нужен администратор |
Отчёты в файловой базе считаются на машине того, кто их запустил. Слабый ноутбук в сети будет строить оборотно-сальдовую ведомость за год заметно дольше, чем мощный компьютер главбуха, хотя база одна.
Когда файловый режим — правильный выбор
- ✅ ИП или маленькая фирма, в базе работают 1–3 человека.
- ✅ Учебная или тестовая база, копия для экспериментов.
- ✅ Отдельная небольшая база, например учёт по одному обособленному направлению.
- ✅ Работа на терминальном сервере, где пользователей немного, а база лежит на быстром локальном SSD.
Сетевой доступ к файловой базе: настройка и права
Самый частый сценарий — база лежит на одном компьютере в офисе, остальные открывают её по сети.
Настройка общей папки
- Создайте папку для баз на компьютере с быстрым диском, лучше SSD, например
D:\Bases. - Откройте к ней общий доступ в свойствах папки (вкладка «Доступ»).
- Дайте пользователям, работающим в 1С, права на чтение и изменение — и на общий ресурс, и на вкладке «Безопасность» (NTFS). Платформе нужно создавать и удалять служебные файлы в каталоге базы, одного чтения мало.
- На рабочих местах добавьте базу в список:
Добавить → Добавление в список существующей информационной базы, укажите путь вида\\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 и других конфигурациях на БСП есть раздел Администрирование → Обслуживание → Резервное копирование и восстановление. Там настраивается автоматическое копирование файловой базы по расписанию и восстановление из копии.
Ограничения файлового режима и способы ускорить работу
Формальные пределы размера файла в современных форматах базы далеко за пределами практики. Реальный ограничитель — скорость и одновременная работа.
Признаки, что файловый режим упирается в потолок:
- ⏳ проведение обычных документов занимает десятки секунд;
- 🔒 пользователи регулярно ждут друг друга или получают конфликт блокировок;
- 🐢 закрытие месяца или расчёт зарплаты идёт часами и блокирует остальных;
- 💥 файл повреждается чаще раза в год.
Что можно сделать без перехода на сервер
- Перенести базу на SSD. Для файлового режима это даёт самый заметный прирост.
- Перенести пользователей на терминальный сервер. Файл становится локальным, сетевые задержки исчезают, а риск повреждения из-за обрывов связи резко падает.
- Обновить платформу. Формат хранения файловой базы улучшался, новые версии работают быстрее со старыми базами после конвертации.
- Сжать таблицы. В Конфигураторе:
Администрирование → Тестирование и исправление, отметьте «Сжатие таблиц информационной базы». Файл после массового удаления данных уменьшится. - Развести тяжёлые операции по времени. Закрытие месяца и групповое перепроведение — вечером, когда остальные не работают.
- Свернуть базу, если в ней много лет истории. В типовых конфигурациях для этого есть отдельная обработка, но это серьёзная операция: только на копии и с последующей сверкой остатков.
Вместо сетевой папки можно опубликовать файловую базу на веб-сервере (IIS или Apache) и подключаться тонким клиентом по HTTP. Расчёты при этом идут на веб-сервере, а не у пользователя. Это хороший вариант для удалённых сотрудников, но не замена серверу 1С при большом числе пользователей.
Частые ошибки файловой базы и как их исправить
Как лечить повреждённую базу
- Попросите всех выйти из базы и скопируйте каталог с повреждённым файлом в отдельное место. Исправление меняет файл необратимо.
- Если Конфигуратор открывается:
Администрирование → Тестирование и исправление, отметьте проверку логической и ссылочной целостности и восстановление структуры. - Если база не открывается вовсе, используйте утилиту
chdbfl.exeиз каталогаbinустановленной платформы, напримерC:\Program Files\1cv8\8.3.xx.xxxx\bin\chdbfl.exe. Укажите файл1Cv8.1CD, отметьте «Исправлять обнаруженные ошибки» и запустите проверку. - После исправления проверьте остатки по ключевым счетам и последние документы. Если данные потеряны — восстанавливайтесь из последней резервной копии.
Утилита работает только с файлами, которые никто не открыл. Если запустить её при работающих пользователях, она не получит доступ к базе.
Переход с файловой базы на SQL: когда пора и как это сделать
Переход оправдан, когда пользователей больше 8–10, когда из-за блокировок люди теряют время каждый день или когда база настолько важна, что её повреждение остановит бизнес.
Что понадобится
- 🖥️ Сервер под Windows Server или Linux, с запасом оперативной памяти и SSD.
- 💽 СУБД. Чаще всего берут PostgreSQL в сборке для 1С — она бесплатная. MS SQL Server — платный, кроме редакции Express с жёсткими ограничениями на размер базы и ресурсы.
- 🔑 Лицензия на сервер 1С:Предприятия. Ориентировочно 80–100 тыс. руб. за 64-разрядную версию; точную цену уточняйте у партнёра. Клиентские лицензии, которые у вас уже есть, остаются в работе.
Порядок переноса
- Выгрузите файловую базу
в
.dtчерезАдминистрирование → Выгрузить информационную базу. - Установите СУБД и сервер 1С.
- Создайте новую базу на сервере: в окне запуска
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации, тип расположения «На сервере 1С:Предприятия». Укажите кластер, имя базы, тип СУБД и параметры подключения к ней. - Откройте пустую серверную базу
в Конфигураторе и загрузите
.dt:Администрирование → Загрузить информационную базу. - Проверьте: откройте базу, сформируйте оборотно-сальдовую ведомость и сравните её с файловой версией.
- Пропишите новую базу у пользователей. Строка подключения станет вида
Srvr="server";Ref="buh";. - Старую файловую базу не удаляйте пару недель, но и работать в ней запретите, чтобы не появилось двух версий учёта.
Обратный путь тоже работает: серверную базу можно выгрузить в .dt и загрузить в пустую файловую. Так делают тестовые копии для экспериментов.
Частые вопросы
Можно ли работать в файловой базе одновременно с нескольких компьютеров?
Нужна ли для файловой базы отдельная лицензия на сервер?
Как узнать, файловая у меня база или серверная?
File=...) означает файловую базу, имя сервера и базы (Srvr=...;Ref=...) — серверную.