Файловый режим 1С:Предприятия 8.3: что происходит внутри базы и где у него предел
Содержание
Файловая 1С — это режим, в котором вся информационная база лежит в одном файле 1Cv8.1CD, а роль сервера СУБД выполняет сама платформа на компьютере каждого пользователя. Отдельного сервера 1С и SQL нет: клиент открывает файл напрямую с локального диска или из сетевой папки и сам читает и пишет данные.
Отсюда все плюсы и минусы файлового режима. Он бесплатный и ставится за пять минут, но при росте базы и числа пользователей начинает тормозить и ловить блокировки. Правильная настройка диска, сети и антивируса снимает большую часть тормозов, а несколько явных признаков подскажут, когда режим пора менять.
Как устроена файловая база 1С изнутри
Откройте каталог любой файловой базы. Там будет несколько объектов, и у каждого своя роль:
- 📦
1Cv8.1CD— сама база: конфигурация, данные, служебные таблицы. Это главный и единственный обязательный файл. - 📜
1Cv8Log— каталог журнала регистрации. В актуальных версиях платформы журнал хранится в файле1Cv8.lgd(формат SQLite), в старых — набором файлов.lgpи.lgf. - 🔎
1Cv8FTxt— индекс полнотекстового поиска. Если его удалить, 1С перестроит индекс заново. - 🗂 Временные файлы и файлы блокировок — появляются, пока в базе кто-то работает, и исчезают после выхода.
Внутри 1Cv8.1CD данные разложены по страницам, как в обычной СУБД. Формат хранения меняется вместе с платформой. Современный формат 8.3.8 позволяет выбрать размер страницы и снимает ограничение старого формата 8.2.14 на размер таблиц — около 4 ГБ. Посмотреть и сменить формат можно в Конфигураторе через Администрирование → Параметры информационной базы.
Если база весит несколько гигабайт и создана давно, проверьте формат. Переход на 8.3.8 часто решает проблему «база выросла и перестала открываться».
Кто выполняет запросы
В клиент-серверном режиме запросы обрабатывает сервер 1С вместе с СУБД. В файловом режиме ту же работу делает встроенный движок платформы прямо в процессе 1cv8.exe или 1cv8c.exe на компьютере пользователя.
Это ключевой момент. Если база лежит в сетевой папке, каждый запрос тянет страницы файла по сети. Отчёт за год по оборотам — это сотни мегабайт, прочитанных через SMB на рабочую станцию бухгалтера.
Файловый и клиент-серверный режим: в чём разница
Конфигурация, интерфейс и данные одинаковы в обоих режимах. Базу можно перенести из одного в другой выгрузкой в .dt. Разница — в том, кто хранит данные и как разруливает одновременную работу.
| Параметр | Файловый режим | Клиент-серверный режим |
|---|---|---|
| Где хранятся данные | Файл 1Cv8.1CD | СУБД: MS SQL, PostgreSQL и др. |
| Кто выполняет запросы | Клиент на компьютере пользователя | Рабочие процессы сервера 1С |
| Блокировки | На уровне таблиц | На уровне записей (управляемые) |
| Лицензии | Только клиентские | Клиентские + лицензия сервера 1С |
| Установка | Скопировать каталог, добавить в список | Сервер 1С, СУБД, кластер, права |
| Комфортное число пользователей | Ориентировочно до 5–10 активных | Десятки и сотни |
| Размер базы без проблем | Ориентировочно до 3–5 ГБ | Ограничен СУБД и железом |
| Регламентные задания | Только пока база открыта у кого-то | Выполняет сервер по расписанию |
| Резервное копирование | Копия файла при закрытой базе или .dt | Средства СУБД, в том числе на ходу |
Цифры по пользователям и размеру — практический ориентир, а не ограничение платформы. Жёсткого лимита на число подключений у файловой базы нет. Предел задаёт то, как часто пользователи одновременно пишут в одни и те же таблицы.
Многопользовательская работа в файловой 1С
Как подключаются пользователи
Схема простая: базу кладут в общую папку на сервере или на одном из компьютеров, а пользователи добавляют её в список баз по сетевому пути вида \\server\1c\buh. Подключённый диск (Z:\buh) тоже работает, но UNC-путь надёжнее: буква диска у разных пользователей может оказаться разной.
Требования к папке:
- Каждый пользователь Windows должен иметь права на чтение и запись во всю папку базы, а не только на
1Cv8.1CD. Платформа создаёт рядом служебные файлы. - Права выдаются и на общий ресурс, и на уровне NTFS. Ошибиться в одном из них — частая причина отказа в доступе к базе.
- На всех компьютерах должна стоять одна и та же версия платформы. Если версия на клиенте ниже, чем формат базы, 1С выдаст
Неверный формат хранилища данных.
Как работают блокировки
Когда пользователь проводит документ, платформа блокирует целые таблицы, в которые пишет, — например, таблицу регистра бухгалтерии. Пока транзакция не завершилась, остальные ждут. Читать данные при этом можно не всегда: запись в таблицу мешает и чтению из неё.
На практике это выглядит так. Кладовщик проводит большой документ поступления на 300 строк, а бухгалтер в это время запускает закрытие месяца . Один из них увидит «песочные часы», а при долгом ожидании — ошибку блокировки и откат операции.
В клиент-серверном режиме с управляемыми блокировками те же два действия, скорее всего, прошли бы параллельно: они затрагивают разные записи регистров.
Публикация через веб-сервер
Есть промежуточный вариант — опубликовать файловую базу на веб-сервере (Apache или IIS) и подключаться к ней по адресу http://.... Тогда с файлом работает один процесс веб-сервера на той же машине, где лежит база, а по сети ходят только данные форм. Это снимает проблемы SMB, удалённый доступ через интернет становится реальным, но табличные блокировки никуда не деваются.
Скорость файловой 1С: что тормозит и как ускорить
Большая часть тормозов файловой базы связана не с 1С, а с диском, сетью и антивирусом. Проверяйте по порядку, от дешёвого к дорогому.
1. Исключения в антивирусе
Антивирус, который проверяет 1Cv8.1CD при каждом обращении, легко замедляет работу в разы. Добавьте в исключения:
- 🛡 каталог с файловой базой — на компьютере, где она лежит;
- 🛡 каталог кэша пользователя
%APPDATA%\1C\1cv8и%LOCALAPPDATA%\1C\1cv8— на каждом клиенте; - 🛡 процессы
1cv8.exeи1cv8c.exe, если ваш антивирус поддерживает исключения по процессам.
2. Диск и сеть
- 💾 База должна лежать на SSD. Переезд с HDD на SSD для файловой базы — самое заметное ускорение за небольшие деньги.
- 🌐 Сеть между клиентами и папкой с базой — минимум 1 Гбит/с, лучше по кабелю. Wi‑Fi и VPN для открытия файловой базы по SMB не подходят: обрывы портят транзакции.
- 🖥 Если пользователи работают через удалённый рабочий стол, база должна лежать на том же терминальном сервере. Тогда сеть вообще не участвует.
3. Обслуживание самой базы
В Конфигураторе откройте Администрирование → Тестирование и исправление и отметьте только пункт сжатия таблиц информационной базы. Операция убирает пустые страницы, файл уменьшается, чтение идёт быстрее. Нужен монопольный режим: попросите всех выйти.
Полезно и другое:
- 🧹 Сократите журнал регистрации: в Конфигураторе
Администрирование → Настройка журнала регистрацииможно сократить старые записи и выбрать, что пишется. - 🧹 Очистите кэш клиента. Самый быстрый способ — запустить 1С с ключом
/ClearCacheили удалить папки кэша базы в%APPDATA%\1C\1cv8при закрытой программе. - 🧹 Отключите полнотекстовый поиск, если им никто не пользуется: обновление индекса на большой базе нагружает диск.
Тонкий клиент (1cv8c.exe) в файловом режиме работает не быстрее толстого: обработка данных всё равно идёт на машине пользователя. Выигрыш от тонкого клиента появляется при публикации на веб-сервере или в клиент-серверном режиме.
Частые сбои файловой базы и как их не допустить
Файловая база уязвима к тому, что в серверной СУБД почти не встречается: обрыв записи в файл посреди транзакции. Основные сценарии:
1Cv8.1CD. Сделайте копию каталога базы, затем запустите тестирование и исправление: в Конфигураторе или утилитой chdbfl.exe из каталога bin платформы.Утилита chdbfl.exe
chdbfl.exe лежит в каталоге платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\. Она работает прямо с файлом 1Cv8.1CD, без запуска Конфигуратора. Это спасает, когда база повреждена настолько, что не открывается.
Порядок:
- Убедитесь, что в базе никто не работает, и закройте все сеансы. Пользователей, которые не вышли, предупредите: их несохранённые данные пропадут.
- Скопируйте весь каталог базы в другое место. Без копии исправление не запускайте: утилита меняет файл безвозвратно.
- Запустите
chdbfl.exe, укажите путь к1Cv8.1CD, отметьте исправление ошибок и нажмите «Выполнить». - После успешной проверки откройте базу в Конфигураторе и выполните тестирование и исправление уже штатными средствами.
Резервное копирование файловой базы
У файловой базы есть два способа сделать копию, и у каждого своё назначение.
Копия файла 1Cv8.1CD. Самый быстрый способ: скопировали файл — получили базу целиком. Но копировать его можно только когда в базе никто не работает. Копия, снятая во время записи, может оказаться несогласованной и не открыться.
Выгрузка в .dt. В Конфигураторе: Администрирование → Выгрузить информационную базу. Файл .dt меньше по размеру и годится для переноса в любой режим, в том числе на сервер. Загрузка .dt обратно требует монопольного режима и полностью заменяет данные базы.
Практичная схема для небольшой фирмы:
- 🗓 ежедневно ночью — копия каталога базы скриптом, когда все вышли;
- 🗓 раз в неделю — выгрузка в
.dt; - 🗓 хранение копий не только на том же диске, а на другом компьютере или в облаке;
- 🗓 раз в месяц — пробное восстановление копии в отдельную базу, чтобы убедиться, что она открывается.
Пример простого bat-файла для ночной копии каталога базы с датой в имени архива. Запускайте по расписанию в планировщике Windows в нерабочее время:
@echo off
set SRC=D:\1C\buh
set DST=E:\backup\buh
for /f %%i in ('powershell -NoProfile -Command "Get-Date -Format yyyy-MM-dd"') do set D=%%i
powershell -NoProfile -Command "Compress-Archive -Path '%SRC%\*' -DestinationPath '%DST%\buh_%D%.zip' -Force"
Скрипт не проверяет, работают ли в базе пользователи. Ставьте его на время, когда все гарантированно вышли, или сначала завершайте сеансы. Пользователи, оставившие базу открытой, потеряют несохранённые изменения.
В типовых конфигурациях на БСП (Бухгалтерия 3.0, ЗУП 3.1, УТ 11) есть встроенная настройка копирования для файловых баз: Администрирование → Обслуживание → Резервное копирование и восстановление. Она удобна тем, что сама завершает сеансы и делает копию по расписанию, но работает только при запущенной 1С у пользователя, который её настроил.
Когда файловой 1С уже мало: признаки перехода на сервер
Переходить на клиент-сервер стоит не по числу пользователей, а по симптомам. Если два-три пункта из списка про вас — пора планировать миграцию:
- ⏳ проведение документов и отчёты регулярно ждут друг друга, ошибки блокировок появляются каждую неделю;
- 📈 размер
1Cv8.1CDперевалил за 5–10 ГБ и продолжает расти; - 👥 одновременно в базе работают больше 10 человек, и многие из них пишут, а не только смотрят;
- 🔁 нужны регламентные задания по расписанию: обмены с сайтом, загрузка банковских выписок, ЭДО — без открытого у кого-то сеанса;
- 💥 база повреждалась больше одного раза за год.
Как перенести базу на сервер
- Установите сервер 1С и СУБД, создайте кластер.
- В файловой базе выгрузите данные в
.dtчерез Конфигуратор. - Создайте новую базу на сервере в консоли администрирования или прямо из окна запуска 1С.
- Загрузите в неё
.dtчерезАдминистрирование → Загрузить информационную базу. - Проверьте работу, затем замените у пользователей ссылку в списке баз на серверную.
Старую файловую базу не удаляйте сразу: оставьте её на пару недель только для чтения, на случай расхождений.
Частые вопросы
Нужна ли отдельная лицензия для файловой базы на нескольких пользователей?
Можно ли открыть файловую базу с флешки или из облачной папки вроде синхронизируемого диска?
1Cv8.1CD.