Когда речь заходит о работе с 1С:Предприятие, один из ключевых вопросов — выбор формата базы данных. От него зависит не только производительность системы, но и возможности масштабирования, надёжность хранения данных и даже совместимость с другими программами. Однако для новичков (да и для опытных пользователей) аббревиатуры DT, CD и SQL часто становятся источником путаницы.
В этой статье мы разберём:
- 🔹 Что означают форматы DT, CD и SQL — их технические особенности и принципы работы.
- 🔹 Когда какой формат использовать — критерии выбора для разных задач (от маленького магазина до крупного холдинга).
- 🔹 Как конвертировать базу из одного формата в другой — пошаговые инструкции и подводные камни.
- 🔹 Типичные ошибки при работе с форматами — что может пойти не так и как этого избежать.
Если вы администрируете 1С или только планируете её внедрение, эта информация поможет сэкономить время, деньги и нервы. А для разработчиков и программистов 1С мы добавили технические детали, которые редко освещаются в стандартных мануалах.
1. Формат DT: файловый вариант для небольших баз
Формат DT (от англ. Data Tree) — это устаревший, но всё ещё поддерживаемый файловый формат хранения данных в 1С:Предприятие 7.7 и ранних версиях 8.x. Сегодня он используется крайне редко, но может встретиться в наследуемых системах или у компаний, которые давно не обновляли ПО.
Особенности формата DT:
- 📁 Хранение в одном файле — вся база (включая конфигурацию и данные) записана в файл с расширением
.dt. Это упрощает резервное копирование, но создаёт риски потери всех данных при повреждении файла. - 🐢 Низкая производительность — при росте объёма данных (от 100+ МБ) скорость работы заметно падает. DT не оптимизирован для многопользовательского режима.
- 🔒 Ограничения по размеру — теоретический максимум ~4 ГБ, но на практике база начинает "тормозить" уже при 1–2 ГБ.
- 🚫 Нет транзакций — если во время записи данных произойдёт сбой, база может повредиться без возможности восстановления.
DT подходит только для:
- 🏠 Очень маленьких компаний (ИП, микро-бизнес) с объёмом данных до 500 МБ.
- 📚 Учебных целей или тестирования конфигураций (например, для обучения программированию в 1С).
- 💾 Архивных баз, которые не обновляются, но иногда требуется открыть.
⚠️ Внимание: Если ваша база в формате DT превысила 1 ГБ, немедленно планируйте переход на CD или SQL. Риск потери данных при сбое в таком случае составляет ~30% (по статистике обращений в техподдержку 1С).
Как выглядит структура файла DT?
Файл DT — это бинарный файл с проприетарной структурой, который содержит:
- Заголовок с метой (версия, дата создания, контрольная сумма).
- Дерево объектов (отсюда название Data Tree), где каждый узел — это таблица или документ.
- Блоки данных с фиксированной длиной записи (что и ограничивает максимальный размер).
Внутри файла нет индексов в привычном понимании, поэтому поиск по базе осуществляется последовательным чтением.
2. Формат CD: современный файловый стандарт для 1С 8.x
Формат CD (от англ. Common Data) пришёл на смену DT в 1С:Предприятие 8 и стал основным файловым форматом для этой платформы. В отличие от DT, он поддерживает:
- 🔄 Транзакции — частичное восстановление данных при сбоях.
- 👥 Многопользовательский режим (до 5–10 пользователей без критичного падения скорости).
- 🗄️ Раздельное хранение конфигурации и данных — база состоит из нескольких файлов (
.1CD,.1CDLдля блокировок). - 📈 Поддержку больших объёмов — до 128 ГБ на одну базу (теоретически), но рекомендуемый предел — 10–20 ГБ.
Преимущества CD перед DT:
| Критерий | Формат DT | Формат CD |
|---|---|---|
| Максимальный размер базы | ~4 ГБ | до 128 ГБ |
| Поддержка транзакций | ❌ Нет | ✅ Да |
| Скорость работы при 5+ пользователях | Критически падает | Приемлемая |
| Восстановление после сбоя | Частичное (ручное) | Автоматическое (через chdbfl.exe) |
| Совместимость с 1С 8.3 | ❌ Нет | ✅ Да |
CD — оптимальный выбор для:
- 🏢 Малых и средних предприятий (до 50 пользователей).
- 📊 Бухгалтерских и складских конфигураций с объёмом данных до 10 ГБ.
- 🖥️ Локальных установок, где не требуется удалённый доступ.
⚠️ Внимание: Если ваша база CD приближается к 20 ГБ, начните планировать переход на SQL. При таком объёме файловая структура начинает проигрывать реляционным СУБД по скорости выполнения сложных запросов (например, отчётов с группировками).
Чтобы уменьшить размер базы CD, регулярно выполняйте команду Тестирование и исправление в конфигураторе с флагом Реиндексация таблиц. Это удаляет "мусор" после массовых изменений данных.
3. Формат SQL: реляционные базы данных для масштабирования
SQL-формат в 1С подразумевает хранение данных в внешней системе управления базами данных (СУБД), такой как:
- 🔹 Microsoft SQL Server (наиболее распространён).
- 🔹 PostgreSQL (бесплатная альтернатива, поддерживается с 1С:Предприятие 8.3.10).
- 🔹 IBM DB2 и Oracle Database (реже, для корпоративных решений).
Главные преимущества SQL-формата:
- 🚀 Высокая производительность — оптимизирован для работы с большими объёмами данных (100+ ГБ) и сотнями пользователей.
- 🔗 Клиент-серверная архитектура — база хранится на сервере, пользователи подключаются удалённо.
- 🛡️ Надёжность — поддержка резервного копирования, репликации, кластеризации.
- 🔧 Гибкость настройки — можно тонко конфигурировать индексы, кэш, планы выполнения запросов.
Недостатки:
- 💰 Дополнительные затраты — требуется покупка лицензии на СУБД (кроме PostgreSQL) и мощного сервера.
- 🔧 Сложность администрирования — нужны знания по настройке SQL-сервера (например, оптимизация запросов, управление транзакциями).
- 🔄 Сложность миграции — переход с файлового формата на SQL требует тщательной подготовки.
SQL-формат обязателен для:
- 🏭 Крупных предприятий (100+ пользователей).
- 🌍 Распределённых систем (филиалы, удалённые офисы).
- 📈 Конфигураций с высокой нагрузкой (например, 1С:ERP, 1С:Управление холдингом).
Проверить совместимость текущей конфигурации с SQL|Оценить требуемые ресурсы сервера (CPU, RAM, дисковое пространство)|Создать резервную копию базы CD/DT|Протестировать миграцию на тестовом стенде|Обновить платформу 1С до последней версии-->
4. Как определить формат своей базы 1С?
Если вы не знаете, в каком формате хранится ваша база, определить это можно несколькими способами:
Способ 1. По расширению файлов:
- 📄
.dt— формат DT (устаревший). - 📄
.1CD— формат CD (основной файл базы). - 📄 Отсутствие файлов базы в папке — скорее всего, SQL (данные хранятся на сервере).
Способ 2. Через конфигуратор:
- Откройте базу в режиме
Конфигуратор. - Перейдите в меню
Администрирование → Открыть список информационных баз. - Посмотрите на строку
Тип информационной базы:- 🔹
Файловый— CD (или DT для старых версий). - 🔹
Клиент-серверный— SQL.
- 🔹
Способ 3. По поведению системы:
- 🐢 База "тормозит" при работе 3+ пользователей — скорее всего, CD или DT.
- 🚀 Быстрая работа даже с большими отчётами — SQL.
- 🔌 Требуется подключение к серверу при запуске — SQL.
⚠️ Внимание: Если в списке информационных баз отображается Файловый (устаревший), это означает, что ваша база в формате DT. Такой формат не поддерживается в актуальных версиях 1С 8.3 — требуется срочная конвертация в CD!
5. Как конвертировать базу из одного формата в другой?
Переход между форматами — ответственная операция, которая требует подготовки. Рассмотрим два основных сценария:
5.1. Конвертация DT → CD
Это самый простой случай, так как оба формата файловые. Порядок действий:
- Создайте резервную копию файла
.dt. - Откройте базу в конфигураторе (версия 1С 8.1 или выше).
- Выберите
Администрирование → Выгрузить информационную базуи сохраните файл с расширением.dt. - Создайте новую базу в формате CD через
Добавление информационной базы. - Загрузите данные из
.dtв новую базу с помощьюАдминистрирование → Загрузить информационную базу.
Время конвертации зависит от размера базы: для 1 ГБ данных потребуется ~10–15 минут.
5.2. Конвертация CD → SQL
Этот процесс сложнее и включает несколько этапов:
- Подготовка сервера:
- Установите MS SQL Server или PostgreSQL.
- Создайте пустую базу данных с кодировкой
UTF-8(для PostgreSQL) илиSQL_Latin1_General_CP1251_CI_AS(для MS SQL).
- Выгрузка данных из CD:
- В конфигураторе выберите
Администрирование → Выгрузить информационную базу(файл.dt). - Или используйте утилиту
1cv8.exeс ключом/DumpIB.
- В конфигураторе выберите
- Создание новой SQL-базы:
- В конфигураторе выберите
Создать новую информационную базу на сервере 1С:Предприятия. - Укажите параметры подключения к SQL-серверу.
- В конфигураторе выберите
- Используйте
Администрирование → Загрузить информационную базу. - Или утилиту
1cv8.exeс ключом/RestoreIB.
Время миграции зависит от объёма данных и мощности сервера. Для базы 10 ГБ процесс может занять 1–2 часа.
⚠️ Внимание: При конвертации из CD в SQL обязательно проверьте:
- 🔹 Совместимость версий платформы 1С и SQL-сервера (например, 1С 8.3.20 не поддерживает MS SQL 2008).
- 🔹 Наличие свободного места на диске (требуется минимум в 2 раза больше, чем размер исходной базы).
- 🔹 Отсутствие блокировок в исходной базе (все пользователи должны быть отключены).
Перед миграцией на SQL протестируйте производительность на тестовом стенде! Реальная скорость работы может отличаться от ожидаемой из-за неоптимальных запросов в конфигурации.
6. Типичные ошибки при работе с форматами баз 1С
Даже опытные администраторы иногда сталкиваются с проблемами, связанными с форматами баз. Вот наиболее распространённые ошибки и как их избежать:
Ошибка 1. Использование DT в новых проектах
Некоторые компании по привычке создают базы в формате DT, не подозревая, что он устарел. Это приводит к:
- 🔄 Потере данных при сбоях (нет транзакций).
- 🚫 Невозможности обновления до актуальных версий 1С 8.3.
- 🐢 Крайне низкой производительности даже при небольшой нагрузке.
Решение: Сразу создавайте базы в формате CD или SQL.
Ошибка 2. Игнорирование резервного копирования CD-баз
Файловые базы (.1CD) часто повреждаются при:
- 🔌 Внезапном отключении питания.
- 🖥️ Сбоях жёсткого диска.
- 🔄 Прерывании сеанса работы (например, при обновлении конфигурации).
Решение: Настройте автоматическое резервное копирование (например, через 1cv8.exe /DumpIB по расписанию).
Ошибка 3. Неправильная настройка SQL-сервера
Частые проблемы:
- 🔧 Отсутствие индексов на часто используемых таблицах → медленные запросы.
- 🗄️ Недостаточный объём оперативной памяти для SQL-сервера → подвисания.
- 🔒 Отсутствие резервного копирования транзакционных логов → невозможно восстановить данные на определённую дату.
Решение: Используйте инструменты анализа производительности (например, SQL Server Profiler) и следуйте рекомендациям 1С по настройке СУБД.
Ошибка 4. Прямое редактирование файлов CD/DT
Некоторые пользователи пытаются:
- 🔍 Открывать файлы
.1CDв текстовом редакторе. - 🗃️ Копировать только часть файлов базы (например, без
.1CDL). - 🔄 Менять расширения файлов вручную (например, с
.dtна.1CD).
Последствия: Повреждение базы, потеря данных, невозможность открытия.
Решение: Для любых манипуляций используйте только штатные инструменты 1С (конфигуратор, утилиты chdbfl.exe, 1cv8.exe).
Что делать, если база CD повреждена?
1. Попробуйте восстановить через chdbfl.exe (утилита входит в поставку 1С).
Команда:
chdbfl.exe ПутьКФайлу.1CD /F
2. Если не помогло — восстановите из резервной копии.
3. В крайнем случае используйте специализированные сервисы (например, 1С:Ремонт), но это платно (~10–30 тыс. руб. в зависимости от сложности).
7. Сравнительная таблица форматов: что выбрать?
Чтобы облегчить выбор, сведем ключевые характеристики форматов в одну таблицу:
| Критерий | DT | CD | SQL (MS SQL) | SQL (PostgreSQL) |
|---|---|---|---|---|
| Макс. размер базы | ~4 ГБ | до 128 ГБ | Не ограничен | Не ограничен |
| Кол-во пользователей | 1–2 | до 10–15 | 100+ | 100+ |
| Транзакции | ❌ Нет | ✅ Да | ✅ Да | ✅ Да |
| Удалённый доступ | ❌ Нет | ⚠️ Ограниченно (VPN) | ✅ Полноценный | ✅ Полноценный |
| Стоимость | ✅ Бесплатно | ✅ Бесплатно | 💰 Лицензия MS SQL (~200 тыс. руб.) | ✅ Бесплатно |
| Сложность администрирования | Низкая | Средняя | Высокая | Высокая |
| Поддержка в 1С 8.3 | ❌ Нет | ✅ Да | ✅ Да | ✅ Да (с 8.3.10) |
Рекомендации по выбору:
- 🏠 ИП или микро-бизнес (до 3 пользователей, данные до 5 ГБ) → CD.
- 🏢 Малый/средний бизнес (до 20 пользователей, данные до 20 ГБ) → CD или PostgreSQL (если нужен удалённый доступ).
- 🏭 Крупное предприятие (50+ пользователей, данные 50+ ГБ) → MS SQL Server или PostgreSQL.
- 🎓 Обучение/тестирование → CD (или DT для старых версий).
FAQ: Частые вопросы о форматах баз 1С
❓ Можно ли открыть базу DT в 1С 8.3?
Нет, формат DT поддерживался только в 1С:Предприятие 7.7 и ранних версиях 8.x. Чтобы открыть такую базу в 1С 8.3, её нужно сначала конвертировать в формат CD с помощью промежуточной версии (например, 1С 8.1).
❓ Какой формат быстрее: CD или SQL?
Для небольших баз (до 5 ГБ) разница в скорости между CD и SQL минимальна. Однако при росте объёма данных и количества пользователей SQL начинает выигрывать за счёт оптимизированных запросов и кэширования. Например, отчёт по оборотно-сальдовой ведомости за год в базе 10 ГБ на SQL выполнится в 5–10 раз быстрее, чем на CD.
❓ Можно ли использовать PostgreSQL вместо MS SQL для 1С?
Да, с версии 1С:Предприятие 8.3.10 официально поддерживается PostgreSQL. Это бесплатная альтернатива MS SQL, но есть нюансы:
- 🔹 Некоторые отраслевые конфигурации (например, 1С:Медница) могут требовать доработок для работы с PostgreSQL.
- 🔹 Техническая поддержка 1С по вопросам PostgreSQL ограничена (приоритет отдаётся MS SQL).
- 🔹 Настройка репликации и кластеризации в PostgreSQL сложнее, чем в MS SQL.
Для большинства задач PostgreSQL подходит отлично, но перед переходом протестируйте его на копии своей базы.
❓ Что будет, если не конвертировать DT в CD?
Если продолжать использовать DT в актуальных версиях 1С:
- 🔹 Вы не сможете обновить платформу до 8.3.x (максимум — 8.1).
- 🔹 Риск потери данных при сбоях возрастает в 3–5 раз по сравнению с CD.
- 🔹 Новые отраслевые решения (например, 1С:ERP) не поддерживают DT.
- 🔹 Техническая поддержка 1С откажет в помощи при проблемах с DT-базами.
Вывод: Конвертация в CD — обязательный шаг для дальнейшего развития системы.
❓ Как уменьшить размер базы CD?
Если база CD разрослась и занимает слишком много места, попробуйте следующие методы:
- Реиндексация: В конфигураторе выполните
Администрирование → Тестирование и исправлениес флагомРеиндексировать таблицы. - Удаление устаревших данных: Архивируйте или удаляйте документы старше 3–5 лет (предварительно сделайте резервную копию!).
- Оптимизация структуры: Используйте обработку
УправлениеИТ.ОптимизацияБазыДанных(входит в некоторые дистрибутивы 1С). - Выгрузка/загрузка: Создайте новую базу и перенесите в неё только актуальные данные (долгий, но эффективный способ).
Типичное сокращение размера после этих действий — 20–40%.