Администрирование · 11 мин
С помощью чего система 1С работает с данными
Как 1С хранит и обрабатывает данные: файловый режим, клиент-серверная архитектура, поддерживаемые СУБД, язык запросов, регистры и выбор подходящего варианта.
1С:Предприятие само по себе не хранит данные «внутри программы» — платформа выступает посредником между пользователем и системой хранения. Вся учётная информация (документы, справочники, проводки, остатки) физически размещается в базе данных, а платформа 1С преобразует действия пользователя в структуры этой базы и обратно. Понимание того, каким именно механизмом работает ваша инфраструктура, напрямую влияет на производительность, надёжность и стоимость владения системой.
Существует два принципиально разных подхода: файловый режим, где данные хранятся в одном файле 1Cv8.1CD, и клиент-серверный режим, где за хранение отвечает полноценная СУБД — Microsoft SQL Server, PostgreSQL, IBM DB2 или Oracle Database. Выбор между ними определяется количеством пользователей, объёмом данных и требованиями к отказоустойчивости.
Кроме физического хранилища, платформа использует собственный набор инструментов работы с данными: встроенный язык запросов 1С, объектную модель (справочники, документы, регистры), механизм итогов и индексов. Ниже разберём каждый уровень и покажем, как выбрать подходящий вариант и проверить корректность его работы.
Два режима хранения данных: файловый и клиент-серверный
В файловом режиме вся информационная база — это один файл 1Cv8.1CD, который размещается либо на локальном диске компьютера, либо в общей сетевой папке. Платформа сама читает и пишет в этот файл, блокируя отдельные таблицы при одновременной работе нескольких пользователей. Такой вариант не требует установки дополнительного ПО и лицензий на СУБД, поэтому его выбирают небольшие организации.
Клиент-серверный режим строится на трёхзвенной архитектуре: клиентское приложение → кластер серверов 1С → СУБД. Сервер 1С формирует SQL-запросы к базе, а СУБД выполняет их, обеспечивая транзакционность, блокировки на уровне записей и параллельную работу десятков и сотен пользователей. Именно этот режим считается промышленным стандартом для средних и крупных внедрений.
Сравнение режимов хранения
Подходит для 1–5 активных пользователей и небольших баз. Ограничения: чувствительность к сбоям сети, блокировки при совместной работе, риск повреждения файла при отключении питания.
Подходит для десятков и сотен пользователей, крупных баз и круглосуточной работы. Требует лицензий на сервер 1С и СУБД (или использования бесплатной PostgreSQL) и квалифицированного администрирования.
Какие СУБД поддерживает 1С:Предприятие
Платформа 1С официально работает с четырьмя системами управления базами данных. Каждая имеет свои особенности лицензирования, администрирования и производительности, поэтому выбор стоит делать осознанно, а не «по привычке».
| СУБД | Лицензия | Типичный сценарий | Особенности |
|---|---|---|---|
| Microsoft SQL Server | Платная (есть бесплатная Express с ограничениями) | Самый распространённый вариант для 1С | Хорошая совместимость, много документации; Express-редакция ограничена по памяти и размеру базы |
| PostgreSQL | Бесплатная (сборки адаптированы под 1С) | Экономия на лицензиях, Linux-инфраструктура | Требуются специальные сборки от вендоров; тонкая настройка конфигурации критична для скорости |
| IBM DB2 | Платная | Крупные предприятия с существующим парком IBM | Редко встречается в новых внедрениях |
| Oracle Database | Платная, дорогая | Очень крупные базы, корпоративный стандарт заказчика | Высокие требования к квалификации администраторов |
Практически: если у организации нет корпоративных обязательств, выбор обычно стоит между MS SQL Server и PostgreSQL. Первый проще в настройке «из коробки», второй существенно дешевле при масштабировании, но требует внимательной настройки параметров памяти и планировщика.
Как платформа 1С взаимодействует с СУБД
Пользователь никогда не обращается к базе напрямую. Цепочка выглядит так: действие в форме (например, проведение документа) → встроенный язык 1С и объектная модель → сервер 1С:Предприятия → сгенерированный SQL-запрос → СУБД → возврат результата по той же цепочке. Разработчик и пользователь работают с понятиями «документ», «справочник», «регистр», а платформа сама отображает их в таблицы базы данных.
Каждый объект конфигурации хранится в СУБД в виде одной или нескольких таблиц. Например, документ «Реализация товаров» — это таблица шапки, таблицы табличных частей и движения по регистрам. Имена физических таблиц платформа генерирует автоматически, и изменять их структуру средствами СУБД категорически нельзя — это нарушает целостность метаданных.
Язык запросов 1С и объектная модель данных
Для выборки данных внутри платформы используется встроенный язык запросов 1С. Он синтаксически похож на SQL, но оперирует объектами конфигурации, а не физическими таблицами. Запросы применяются в отчётах, обработках, динамических списках и при программной разработке.
ВЫБРАТЬ
Номенклатура.Ссылка КАК Товар,
СУММА(Остатки.КоличествоОстаток) КАК Остаток
ИЗ
Справочник.Номенклатура КАК Номенклатура
ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ТоварыНаСкладах.Остатки КАК Остатки
ПО Остатки.Номенклатура = Номенклатура.Ссылка
СГРУППИРОВАТЬ ПО
Номенклатура.СсылкаПомимо запросов, платформа предоставляет объектную модель: работа с документами и справочниками через методы «НайтиПоНомеру», «ПолучитьОбъект», «Записать». Для единичных операций объектная модель удобнее, для массовых выборок и аналитики — быстрее запросы, так как они выполняются целиком на стороне СУБД без перекачки лишних данных на сервер 1С.
Регистры: где хранятся остатки и обороты
Ключевые структуры учёта — регистры накопления (остатки товаров, взаиморасчёты) и регистры сведений (цены, курсы валют, ответственные лица). Платформа автоматически поддерживает для регистров накопления виртуальные таблицы итогов, благодаря которым отчёт по остаткам формируется быстро даже при большом объёме движений. Если итоги рассчитаны не на актуальную дату, отчёты начинают «тормозить» — это классический признак, который проверяется в настройках регистра.
Как выбрать режим работы под свою задачу
Решение принимайте по трём критериям: число одновременно работающих пользователей, размер базы и требования к бесперебойности. Файловый режим оправдан, когда работают до пяти человек, база занимает несколько гигабайт и допустим простой в случае сбоя. Всё, что выше этих рамок, — повод переходить на клиент-серверную архитектуру.
Как выбрать действие
Проверка корректности работы и обслуживание базы
Любой режим требует регулярного обслуживания. Для файловых баз это тестирование и исправление через конфигуратор, для клиент-серверных — перестроение индексов, обновление статистики и контроль журнала транзакций на стороне СУБД. Пренебрежение обслуживанием проявляется постепенно: сначала медленнее открываются списки, затем «подвисает» проведение документов.
- 1Сделайте резервную копию: выгрузку .dt из конфигуратора для файловой базы или штатный backup средствами СУБД для серверной
- 2Для файловой базы запустите конфигуратор в монопольном режиме и выполните «Тестирование и исправление» с проверкой логической и ссылочной целостности
- 3Для серверной базы проверьте на стороне СУБД: фрагментацию индексов, актуальность статистики, размер журнала транзакций
- 4Проверьте в 1С, что итоги по регистрам накопления рассчитаны на текущий период
- 5Замерьте время типовых операций (проведение документа, формирование ключевого отчёта) и зафиксируйте как точку отсчёта
Как проверить результат
Отчёт формируется за секунды независимо от глубины периода
Отчёт «думает» минутами — проверьте итоги регистров и индексы
Документ проводится без пауз и ошибок блокировок
Частые ошибки «Конфликт блокировок» или таймауты — признак проблем с СУБД или запросами
Тестирование и исправление завершается без ошибок
Обнаружены битые ссылки или ошибки логической целостности — требуется восстановление из копии или исправление
Типичные ошибки при организации работы с данными
При переходе с файлового режима на клиент-серверный не переносите базу простым копированием файла — выполните выгрузку в .dt и загрузку в новую серверную базу. Так вы заодно получите проверку целостности данных в момент миграции.
Частые вопросы
Можно ли работать в 1С вообще без СУБД?
Да, это файловый режим: платформа сама хранит данные в файле 1Cv8.1CD. Он подходит для небольших баз и нескольких пользователей, но не масштабируется и уязвим к сбоям сети и питания.
Какая СУБД быстрее для 1С — MS SQL или PostgreSQL?
Однозначного ответа нет: скорость зависит от настройки, железа и характера нагрузки. MS SQL проще настроить с приемлемым результатом «из коробки», PostgreSQL после грамотной настройки показывает сопоставимую производительность при нулевой стоимости лицензий.
Чем язык запросов 1С отличается от SQL?
Запрос 1С оперирует объектами конфигурации (справочниками, документами, регистрами), а не физическими таблицами. Платформа сама транслирует его в SQL конкретной СУБД, поэтому один и тот же запрос работает на любой поддерживаемой базе.
Как понять, что пора переходить с файлового режима на серверный?
Тревожные признаки: постоянные ошибки блокировок, долгое проведение документов, повреждения файла базы, рост базы сверх нескольких гигабайт и более пяти активных пользователей. Любой из них — повод планировать миграцию.
Можно ли читать данные 1С напрямую из СУБД для сторонних отчётов?
Технически возможно через чтение (SELECT), но структура таблиц не документирована и меняется между версиями платформы. Надёжнее использовать штатные механизмы: COM-соединение, OData, HTTP-сервисы или планы обмена.
Что важно запомнить
1С работает с данными через платформу, которая хранит их в файловой базе или во внешней СУБД (MS SQL, PostgreSQL, IBM DB2, Oracle). Выбор режима зависит от числа пользователей и объёма базы. Все изменения данных выполняйте только средствами платформы, а здоровье базы поддерживайте регулярным обслуживанием: копиями, проверкой целостности, обновлением индексов и статистики.