Файловый режим 1С:Предприятия 8.3: что происходит внутри базы и где у него предел

· 10 мин

Содержание

Файловая 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-путь надёжнее: буква диска у разных пользователей может оказаться разной.

Требования к папке:

  1. Каждый пользователь Windows должен иметь права на чтение и запись во всю папку базы, а не только на 1Cv8.1CD. Платформа создаёт рядом служебные файлы.
  2. Права выдаются и на общий ресурс, и на уровне NTFS. Ошибиться в одном из них — частая причина отказа в доступе к базе.
  3. На всех компьютерах должна стоять одна и та же версия платформы. Если версия на клиенте ниже, чем формат базы, 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) в файловом режиме работает не быстрее толстого: обработка данных всё равно идёт на машине пользователя. Выигрыш от тонкого клиента появляется при публикации на веб-сервере или в клиент-серверном режиме.

Частые сбои файловой базы и как их не допустить

Файловая база уязвима к тому, что в серверной СУБД почти не встречается: обрыв записи в файл посреди транзакции. Основные сценарии:

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

Утилита chdbfl.exe

chdbfl.exe лежит в каталоге платформы, например C:\Program Files\1cv8\8.3.xx.xxxx\bin\. Она работает прямо с файлом 1Cv8.1CD, без запуска Конфигуратора. Это спасает, когда база повреждена настолько, что не открывается.

Порядок:

  1. Убедитесь, что в базе никто не работает, и закройте все сеансы. Пользователей, которые не вышли, предупредите: их несохранённые данные пропадут.
  2. Скопируйте весь каталог базы в другое место. Без копии исправление не запускайте: утилита меняет файл безвозвратно.
  3. Запустите chdbfl.exe, укажите путь к 1Cv8.1CD, отметьте исправление ошибок и нажмите «Выполнить».
  4. После успешной проверки откройте базу в Конфигураторе и выполните тестирование и исправление уже штатными средствами.

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

У файловой базы есть два способа сделать копию, и у каждого своё назначение.

Копия файла 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. Установите сервер 1С и СУБД, создайте кластер.
  2. В файловой базе выгрузите данные в .dt через Конфигуратор.
  3. Создайте новую базу на сервере в консоли администрирования или прямо из окна запуска 1С.
  4. Загрузите в неё .dt через Администрирование → Загрузить информационную базу.
  5. Проверьте работу, затем замените у пользователей ссылку в списке баз на серверную.

Старую файловую базу не удаляйте сразу: оставьте её на пару недель только для чтения, на случай расхождений.

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

Нужна ли отдельная лицензия для файловой базы на нескольких пользователей?
Нужны клиентские лицензии на число одновременно работающих пользователей. Лицензия сервера 1С в файловом режиме не требуется.
Можно ли открыть файловую базу с флешки или из облачной папки вроде синхронизируемого диска?
С флешки — можно, но медленно и рискованно. Из папки, которую синхронизирует облачный клиент, нельзя: синхронизация во время работы портит файл 1Cv8.1CD.
Сколько весит файловая база и есть ли предел размера?
У небольшой фирмы — от нескольких сотен мегабайт до пары гигабайт. В формате хранения 8.3.8 практического предела в 4 ГБ нет, но после 5–10 ГБ файловый режим заметно замедляется.
Можно ли держать файловую базу на Linux-сервере в общей папке Samba?
Да, клиенты на Windows подключаются к ней как к обычной сетевой папке. Важны те же условия: права на запись для всех пользователей и стабильная сеть.
Работает ли файловая база одновременно в разных версиях конфигурации?
Нет. Конфигурация хранится внутри файла базы, у всех пользователей она одна. Разными могут быть только версии платформы, и лучше, чтобы они тоже совпадали.