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

· 9 мин

Содержание

Файловая база 1С — это информационная база, все данные которой лежат в одном файле 1Cv8.1CD в обычной папке на диске. Отдельного сервера 1С и СУБД (MS SQL, PostgreSQL) для неё не нужно: платформа сама читает и пишет этот файл, а для работы по сети достаточно открыть общий доступ к папке.

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

Как файловая база 1С хранит данные

Каталог файловой информационной базы выглядит просто. Главное в нём — один большой файл, остальное служебное.

Что в каталогеНазначениеМожно ли удалять
1Cv8.1CDВся база: конфигурация, справочники, документы, регистры, пользователиНет, это и есть база
папка 1Cv8LogЖурнал регистрацииТолько архивировать, иначе пропадёт история действий
папка 1Cv8FTxtИндекс полнотекстового поискаПлатформа пересоздаст, но поиск будет недоступен до переиндексации
прочие мелкие служебные файлыБлокировки и временные данные сеансовНе трогать, пока в базе есть пользователи

Отсюда несколько практических выводов:

  • 📁 Перенести базу на другой компьютер — значит скопировать каталог целиком, когда в базе никто не работает .
  • 🔒 Каждый пользователь по сети открывает один и тот же файл. Скорость сети и диска напрямую влияет на скорость работы.
  • 🧩 Внутри файла данные разбиты на таблицы, как в СУБД, но управляет ими сама платформа 1С, а не отдельный сервер баз данных.

В платформе 8.3.8 появился новый формат файла базы с увеличенным размером страницы. Базы, созданные на старых платформах, продолжают работать в прежнем формате, переводить их принудительно не требуется.

Размер файла 1Cv8.1CD растёт и после удаления документов: место внутри файла освобождается, но сам файл не сжимается. Уменьшить его помогает сжатие таблиц или выгрузка-загрузка в .dt (об этом ниже).

Как создать и подключить файловую базу 1С

Создание и подключение делаются из окна запуска 1С:Предприятия. Процедура одинакова для БП 3.0, ЗУП 3.1, УТ 11 и других конфигураций, потому что это механизм платформы.

Создание новой базы

  1. Запустите 1С и в окне со списком баз нажмите Добавить....
  2. Выберите Создание новой информационной базы.
  3. Укажите создание из шаблона (если конфигурация установлена через установщик шаблонов) или пустую базу, чтобы затем загрузить файл .dt или .cf.
  4. Введите имя базы так, как оно будет видно в списке, например «Бухгалтерия ООО Ромашка».
  5. Тип расположения — На данном компьютере или на компьютере в локальной сети.
  6. Укажите каталог. Лучше отдельную папку без лишних файлов, например D:\Bases\Buh_Romashka.
  7. На последнем шаге оставьте вариант аутентификации и режим запуска по умолчанию и нажмите Готово.

Подключение существующей базы

Если каталог с 1Cv8.1CD уже есть (перенесли с другого ПК или открыли общий доступ на сервере):

  1. В окне запуска нажмите Добавить... → Добавление в список существующей информационной базы.
  2. Укажите путь к каталогу, где лежит 1Cv8.1CD. Сам файл выбирать не нужно, только папку.

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

\\SERVER\Bases\Buh_Romashka

Буква диска Z: у каждого пользователя может быть своя или пропасть после перезагрузки, а UNC-путь одинаков для всех. Строка соединения такой базы выглядит так:

File="\\SERVER\Bases\Buh_Romashka";

Права на сетевую папку

Каждому пользователю 1С нужны права на чтение и запись в каталог базы, и на уровне общего ресурса, и на уровне NTFS. Прав «только чтение» недостаточно даже для того, кто лишь смотрит отчёты: платформа создаёт в каталоге служебные файлы сеанса.

Не размещайте файловую базу в синхронизируемых папках (Яндекс Диск, OneDrive и подобные) и не открывайте её с флешки. Синхронизация посреди записи — частая причина повреждения 1Cv8.1CD.

Файловая база или клиент-серверная на SQL: чем отличаются

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

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

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

Перевод из файлового режима в клиент-серверный не требует переделки конфигурации:

  1. В файловой базе: Конфигуратор → Администрирование → Выгрузить информационную базу → файл .dt.
  2. На сервере 1С создать новую базу в кластере.
  3. Открыть её в Конфигураторе и выполнить Администрирование → Загрузить информационную базу.

Обратный путь работает так же. Пользователи после переезда подключают базу заново, указав тип На сервере 1С:Предприятия.

Пределы файлового режима при совместной работе

Файловая база не запрещает одновременную работу, но у неё есть естественный потолок. Признаки, что база в него упёрлась:

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

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

  • терминальный сервер (RDP): база лежит на сервере, пользователь работает в сеансе на этом же сервере, по сети идёт только картинка;
  • публикация на веб-сервере (Apache или IIS): файловую базу можно опубликовать и работать через тонкий клиент или браузер.
Какой режим подходит вашей базе?

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

Обслуживание и резервное копирование файловой базы

Резервная копия

Есть два надёжных способа, и оба требуют, чтобы в базе никто не работал или чтобы копирование шло штатными средствами.

СпособКак сделатьПлюсыМинусы
Выгрузка в .dtКонфигуратор → Администрирование → Выгрузить информационную базуФайл меньше, переносим между режимами и платформамиНужно, чтобы пользователи вышли из базы
Копия каталогаСкопировать папку с 1Cv8.1CD целикомБыстро, просто автоматизироватьКопировать можно только когда база закрыта всеми
Встроенный механизм конфигурацииВ БП 3.0: Администрирование → Обслуживание → Резервное копирование и восстановлениеРасписание, напоминанияРаботает, только если запущен сеанс 1С

Для автоматической ночной выгрузки удобна командная строка. Пример bat-файла, который выгружает базу в .dt с датой в имени:

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

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

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

Тестирование и исправление

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

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

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

Обе операции требуют монопольного доступа: попросите пользователей выйти из базы, сеансы будут закрыты. Перед запуском обязательно сделайте копию каталога: при режиме «исправлять» утилита может удалить битые объекты.

Журнал регистрации

Папка 1Cv8Log со временем занимает гигабайты. Настройте уровень и срок хранения в Конфигуратор → Администрирование → Настройка журнала регистрации: там можно сократить журнал, выгрузив старые записи в файл.

Как ускорить файловую базу 1С

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

  1. SSD под каталог базы. Разница с обычным HDD на проведении и отчётах заметна сразу.
  2. Проводная сеть 1 Гбит/с. Wi-Fi для файловой базы в сети — источник и тормозов, и повреждений при обрыве.
  3. Исключения в антивирусе. Добавьте в исключения каталог базы, каталоги кэша 1С на компьютерах пользователей и процессы платформы. Проверка каждого обращения к 1Cv8.1CD заметно замедляет работу.
  4. Тонкий клиент. Он передаёт по сети меньше данных, чем толстый.
  5. Отдельная машина под базу. Если база лежит на компьютере бухгалтера, который ещё и работает на нём, любая его тяжёлая задача тормозит остальных.
  6. Тяжёлое — вне рабочего времени. Закрытие месяца, обновление конфигурации , пересчёт итогов лучше запускать, когда остальные не работают, иначе блокировки таблиц остановят всех.
  7. Сжатие таблиц раз в несколько месяцев, особенно после удаления помеченных объектов.
Проверка перед подключением новых пользователей
Выполнено: 0 / 7

Если всё это сделано, а при 5–7 одновременных пользователях конфликты блокировок продолжаются, дальнейшая оптимизация файловой базы мало что даст. Это сигнал к переходу на клиент-серверную версию.

Частые вопросы о файловой базе 1С

Какой максимальный размер у файловой базы 1С?
Жёсткого порога «база перестанет открываться» на практике достичь сложно, но при размере файла в десятки гигабайт работа заметно замедляется. Обычно базы такого объёма уже давно переведены на SQL из-за числа пользователей.
Нужна ли лицензия на сервер для файловой базы?
Нет. Для файлового режима достаточно клиентских лицензий по числу одновременно работающих пользователей. Лицензия на сервер 1С нужна только для клиент-серверного варианта.
Как узнать, файловая у меня база или серверная?
В окне запуска выделите базу и посмотрите строку под списком. Для файловой базы там будет File= и путь к каталогу, для серверной — Srvr= и Ref= с именем сервера и базы.
Можно ли держать файловую базу на сетевом хранилище NAS?
Можно, если хранилище отдаёт папку по SMB и сеть стабильна. Но скорость обычно ниже, чем у Windows-сервера с SSD, а дешёвые NAS иногда плохо переносят одновременную запись. Бэкап на другой носитель в этом случае обязателен.
Почему файл 1Cv8.1CD не уменьшился после удаления документов?
Платформа помечает место внутри файла как свободное, но не возвращает его на диск. Чтобы файл уменьшился, выполните сжатие таблиц в тестировании и исправлении или выгрузите базу в .dt и загрузите обратно.