Где хранить данные 1С: три архитектуры и как выбрать свою
Содержание
Базы 1С 8.3 бывают двух технических видов: файловая (все данные в одном файле 1Cv8.1CD) и клиент-серверная (данные в СУБД — PostgreSQL или MS SQL Server — под управлением сервера 1С:Предприятия). Облако — это не третий формат, а способ размещения: та же файловая или серверная база работает на чужом оборудовании. Для 1–5 одновременных пользователей обычно хватает файловой базы, от 10–15 и при тяжёлом учёте нужна клиент-серверная.
Конфигурация при этом одна и та же. Бухгалтерия, ЗУП или УТ работают в любом варианте, а базу можно перенести из одного вида в другой без потери данных. Выбор влияет на скорость, надёжность, бюджет и то, кто будет базу обслуживать.
Файловая база 1С: как устроена и кому подходит
Файловая база — это каталог на диске. Главное в нём — файл 1Cv8.1CD, где лежат справочники, документы, регистры и сама конфигурация. Рядом платформа создаёт служебные папки: 1Cv8Log (журнал регистрации), 1Cv8FTxt (индекс полнотекстового поиска), временные файлы блокировок.
Работой с данными занимается сама платформа на компьютере пользователя. Никакого отдельного сервера нет: если база лежит в сетевой папке, каждый клиент читает и пишет файл 1Cv8.1CD по сети.
Где файловая база хороша:
- 🧾 ИП и небольшая фирма с одним бухгалтером;
- 💻 работа на одном компьютере или на терминальном сервере, где файл лежит локально;
- 🧪 тестовые копии, учебные базы, проверка обновлений;
- 🚚 базы, которые нужно часто переносить: весь каталог копируется на флешку или в архив.
Слабые места:
- 🔒 Блокировки на уровне таблиц. Пока один пользователь проводит документ, другие ждут запись в те же таблицы. При 2–3 людях это незаметно, при 10 начинаются очереди и ошибки блокировок.
- 🌐 Сеть. Через сетевую папку по Wi-Fi или VPN база работает медленно, а обрыв связи во время записи может повредить файл.
- 💾 Один файл — одна точка отказа. Сбой диска или питания задевает всю базу сразу.
- 📈 Рост. Чем больше файл, тем дольше идут закрытие месяца, обновление и восстановление.
Строка подключения у файловой базы выглядит так:
File="D:\Bases\Buh";
Если файловую базу используют несколько человек, лучше держать её на терминальном сервере с SSD и подключаться по RDP. Тогда файл читается локально, а не через сеть, и скорость заметно выше, чем у той же базы в сетевой папке.
Клиент-серверная база 1С на СУБД: из чего состоит
В клиент-серверном варианте работают три звена:
- Клиент 1С — тонкий клиент, веб-клиент или толстый клиент у пользователя.
- Сервер 1С:Предприятия — кластер с агентом, менеджером и рабочими процессами. Он выполняет серверный код конфигурации и управляет сеансами.
- СУБД — хранит данные в таблицах. Поддерживаются PostgreSQL, Microsoft SQL Server, IBM Db2 и Oracle Database. На практике в России сейчас почти всегда берут PostgreSQL (сборки от 1С или Postgres Pro) либо уже купленный MS SQL Server.
Клиент сначала обращается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и к рабочим процессам. Диапазон портов рабочих процессов задаётся в свойствах рабочего сервера, по умолчанию это 1560–1591. Эти порты нужно открыть в брандмауэре между клиентами и сервером.
Строка подключения к серверной базе:
Srvr="srv-1c";Ref="buh_main";
Что даёт такая схема:
- 🔓 Блокировки на уровне записей. В конфигурациях с управляемыми блокировками (а это все современные типовые) два бухгалтера могут проводить документы одновременно, если они не трогают одни и те же данные.
- 🛡️ Надёжность. СУБД ведёт журнал транзакций. Сбой посреди записи откатывается, файл целиком не «ломается».
- ⏱️ Резервное копирование без остановки работы. Средствами СУБД копию можно снять, пока люди работают, и восстановить базу на нужный момент.
- 📊 Масштаб. Десятки и сотни пользователей, базы на сотни гигабайт, фоновые задания по расписанию.
Цена этого — отдельный сервер, лицензия на сервер 1С и человек, который умеет его настраивать.
Файловая или клиент-серверная: сравнение по главным параметрам
| Параметр | Файловая база | Клиент-серверная база |
|---|---|---|
| Где лежат данные | Файл 1Cv8.1CD в папке | Таблицы СУБД на сервере |
| Комфортно одновременно | ориентировочно до 5–10 человек | десятки и сотни |
| Блокировки | на уровне таблиц | на уровне записей |
| Устойчивость к сбоям | файл может повредиться при обрыве записи | транзакции откатываются, есть журнал |
| Резервная копия | копирование каталога при закрытой базе или выгрузка .dt | средствами СУБД без остановки работы |
| Лицензия сервера 1С | не нужна | нужна (32- или 64-разрядная) |
| Лицензия СУБД | не нужна | PostgreSQL бесплатно, MS SQL платно |
| Кто обслуживает | бухгалтер или приходящий специалист | администратор |
| Развернуть | 10 минут | от нескольких часов до дня |
Клиентские лицензии одинаковы для обоих вариантов: 5 рабочих мест в файловой базе — те же 5 мест в серверной.
Ориентиры по деньгам (примерно, цены партнёров различаются):
- 💰 лицензия сервера 1С 32-разрядная — порядка 50–60 тыс. руб., 64-разрядная — около 100 тыс. руб.;
- 🖥️ сервер под 10–20 пользователей — от 150–250 тыс. руб. за железо или от 5–10 тыс. руб. в месяц за аренду виртуальной машины;
- 🧑💻 настройка и сопровождение — разово от 15–30 тыс. руб., дальше по договору.
Для фирмы из трёх человек это неоправданные траты. Для отдела из пятнадцати — окупается за счёт того, что люди перестают ждать друг друга.
Облачная 1С: сервис по подписке и аренда сервера
Облачная база устроена так же, как файловая или серверная, просто находится в чужом дата-центре. Варианта три.
1. Сервис фирмы 1С по подписке (1С:Фреш, «1С:Готовое рабочее место»). Типовые конфигурации в браузере или тонком клиенте. Обновления и копии делает сервис. Ограничение: только типовые конфигурации, свои доработки — через расширения в рамках правил сервиса.
2. Аренда 1С у партнёра или хостера. Провайдер даёт вход на терминальный сервер или публикует базу через веб-сервер. Можно держать доработанную конфигурацию. Внутри это чаще всего клиент-серверная база на СУБД провайдера.
3. Своя виртуальная машина в облаке. Вы арендуете сервер, сами ставите сервер 1С, PostgreSQL и лицензии. По сути та же клиент-серверная база, только железо чужое.
Ориентиры по цене (примерно): подписка на типовую конфигурацию — от 1–2 тыс. руб. в месяц за пользователя, аренда у хостера — от 1,5–3 тыс. руб. за рабочее место в месяц.
Что учесть перед переходом:
- 📤 можно ли в любой момент забрать свою базу выгрузкой
.dt; - 🔁 как часто делаются резервные копии и сколько они хранятся;
- 🔌 работают ли нужные обмены, торговое оборудование и ЭДО;
- 🌍 какова скорость интернета у сотрудников: облако без стабильного канала становится главной проблемой.
Перед тем как отдать базу провайдеру, проверьте договор: где физически хранятся данные и кто к ним имеет доступ. Для баз с персональными данными сотрудников это требование закона, а не формальность.
Требования к железу и что ускоряет каждый вид базы
Файловая база
- 💽 Диск — главное. SSD вместо HDD ускоряет проведение и отчёты в разы. Файл
1Cv8.1CDлучше держать на локальном SSD того компьютера, где работает 1С. - 🦠 Антивирус. Добавьте каталог базы и каталог кэша 1С в исключения. Проверка «на лету» каждого обращения к файлу заметно тормозит работу.
- 🌐 Сеть. Сетевая папка — только по проводу 1 Гбит/с. Wi-Fi и VPN для файловой базы непригодны.
- 🧹 Регулярное тестирование. Раз в месяц выполняйте в Конфигураторе
Администрирование → Тестирование и исправлениес реиндексацией и сжатием таблиц. Для повреждённого файла есть утилитаchdbfl.exeв каталогеbinплатформы.
Клиент-серверная база
- 🧠 Память. Ориентир для сервера на 10–20 пользователей с одной-двумя базами: 16–32 ГБ ОЗУ, 4–8 ядер, только SSD. СУБД и сервер 1С можно держать на одной машине до нескольких десятков пользователей.
- ⚙️ Настройка СУБД. Стандартные параметры PostgreSQL после установки рассчитаны на минимальное железо. Память под кэш, рабочую память запросов и обслуживающие процессы нужно поднять под объём ОЗУ сервера. Для MS SQL ограничьте максимальную память, чтобы оставить место серверу 1С и ОС.
- 🔧 Регламентное обслуживание. Для MS SQL — обновление статистики и перестройка индексов по расписанию. Для PostgreSQL —
VACUUM ANALYZE(автовакуум должен быть включён). - 🌡️ Блокировки и долгие запросы. Проблемы с производительностью ищут через технологический журнал и консоль кластера, а не покупкой нового сервера.
Быстрый способ понять, где узкое место: замерьте время проведения одного тяжёлого документа в файловой копии на SSD и в серверной базе. Если в серверной заметно медленнее при одном пользователе — проблема в настройке СУБД или сети, а не в «тяжёлой конфигурации».
Как перевести базу из файловой в клиент-серверную и обратно
Перенос в обе стороны делается через файл выгрузки .dt. Он содержит конфигурацию и все данные и не зависит от вида базы.
- Подготовка. Попросите всех выйти из базы. Сделайте копию каталога файловой базы — это страховка на случай ошибки.
- Выгрузка. Откройте исходную базу в Конфигураторе, выберите
Администрирование → Выгрузить информационную базуи сохраните файл.dt. - Создание базы на сервере. В консоли кластера или в окне запуска 1С (
Добавить → Создание новой информационной базы → Создание информационной базы без конфигурации, вариант «На сервере 1С:Предприятия») укажите имя базы в кластере, сервер СУБД, тип СУБД, имя базы данных и пользователя СУБД. Включите флажок «Создать базу данных в случае её отсутствия». - Загрузка. Откройте новую серверную базу
в Конфигураторе, выберите
Администрирование → Загрузить информационную базуи укажите файл.dt. Загрузка заменяет всё содержимое базы. - Проверка. Запустите 1С:Предприятие, сверьте пару отчётов с исходной базой (например, оборотно-сальдовую ведомость за последний месяц), проверьте фоновые задания и обмены.
- Переключение пользователей. Удалите у сотрудников старую базу из списка и добавьте серверную. Исходную файловую базу оставьте только для чтения на несколько недель.
Загрузка .dt полностью перезаписывает базу-приёмник: перед загрузкой убедитесь, что открыта именно новая, пустая база.
Обратный путь — из серверной в файловую — такой же: выгрузка .dt из серверной базы, создание пустой файловой базы, загрузка. Так делают копии для тестирования обновлений и разработки.
Для больших баз и автоматизации переноса есть утилита командной строки ibcmd: она умеет выгружать и загружать базы без запуска Конфигуратора. Список команд и параметров смотрите в её встроенной справке.
Если после переноса настроены регламентные задания и обмены, проверьте, что они не запустились одновременно в старой и новой базе. Иначе данные уйдут в другую программу дважды.
Частые ошибки при выборе и смене вида базы
- ❌ Файловая база на общей папке по Wi-Fi для 8 человек. Медленно и рискованно для целостности файла. Решение — терминальный сервер или переход на сервер 1С.
- ❌ Переход на сервер без настройки СУБД. После переноса база работает медленнее, чем файловая, и делают вывод, что «сервер не помог». Причина почти всегда в параметрах памяти СУБД и отсутствии регламентного обслуживания.
- ❌ Копирование файла
1Cv8.1CDпри открытой базе. Копия может оказаться несогласованной. Копируйте при закрытой базе или делайте выгрузку.dt. - ❌ Резервные копии серверной базы только через
.dt. Выгрузка требует выхода пользователей и не даёт восстановиться на момент времени. Основные копии делайте средствами СУБД,.dt— дополнительно. - ❌ Облако без пункта о возврате данных. При смене провайдера выясняется, что выгрузку дают за деньги или с задержкой.
Частые вопросы
Можно ли сделать клиент-серверную базу без отдельного сервера?
Нужны ли другие клиентские лицензии при переходе на сервер?
Как узнать, какая у меня база — файловая или серверная?
File= и путь к папке — файловая, Srvr= и имя сервера — клиент-серверная.