Администрирование · 9 мин
Работа с базой данных в 1С: что это такое и как она устроена
Что значит работа с базой данных в 1С: файловый и клиент-серверный режимы, запросы, регистры, типичные операции и ошибки. Практическое руководство для начинающих.
Работа с базой данных в 1С — это совокупность операций, при которых платформа хранит, читает, изменяет и удаляет учётные данные: документы, справочники, записи регистров, настройки пользователей. Когда бухгалтер проводит накладную, а кассир пробивает чек, оба фактически выполняют запись в базу данных — просто платформа скрывает технические детали за привычными формами.
Важно понимать: «база 1С» — это не то же самое, что база данных в терминах SQL. Информационная база 1С включает прикладные данные, конфигурацию (программный код прикладного решения) и пользователей. Физически всё это хранится либо в одном файле, либо в базе на сервере СУБД, но логика работы для пользователя и программиста одинакова.
Знание того, как устроена работа с БД в 1С, нужно не только разработчикам. Администратору оно помогает выбрать режим работы и организовать резервное копирование, а продвинутому пользователю — понять, почему документ «не проводится», куда пропали остатки и почему база стала медленной.
Что такое информационная база и где она хранится
Информационная база — это единое хранилище, с которым работает платформа 1С:Предприятие. Внутри неё лежат данные (проведённые документы, остатки товаров, курсы валют), конфигурация (описание структуры объектов и программный код) и список пользователей с правами доступа. Для пользователя всё это выглядит как одна «база» в списке при запуске.
Существует два варианта физического хранения. В файловом режиме вся база — это один файл с именем 1Cv8.1CD в выбранной папке. Платформа сама читает и пишет в него, обеспечивая блокировки при одновременной работе нескольких пользователей по сети. В клиент-серверном режиме данные хранятся в базе на сервере СУБД — чаще всего Microsoft SQL Server или PostgreSQL, а платформа через сервер 1С:Предприятия транслирует туда свои запросы.
Файловый или клиент-серверный режим: что выбрать
Файловый режим подходит для небольших компаний: несколько пользователей, умеренные объёмы данных, нет выделенного администратора. Его плюсы — простота установки и копирования (достаточно скопировать файл), минусы — ограничения по количеству одновременно работающих пользователей, чувствительность к сбоям сети при размещении файла на сетевом диске и более высокий риск повреждения при аварийном отключении.
Клиент-серверный режим применяют при большом числе пользователей, значительных объёмах данных и требованиях к надёжности. СУБД обеспечивает транзакции, журналирование, регламентные задания обслуживания и средства резервного копирования. Цена вопроса — необходимость администрировать сервер: следить за местом на дисках, настраивать обслуживание индексов, контролировать журналы транзакций.
Сравнение режимов работы
Подходит для небольших баз и малого числа пользователей. Ограничения: чувствительность к сбоям сети, ограниченная масштабируемость, риск повреждения файла при аварийном выключении.
Подходит для десятков и сотен пользователей и больших объёмов. Требует сервера 1С, СУБД и квалифицированного администрирования, но даёт надёжность транзакций и штатные средства обслуживания.
Как устроены данные: объекты конфигурации
Платформа не даёт пользователю работать с «голыми» таблицами. Вместо этого данные организованы в объекты конфигурации, каждый из которых решает свою задачу. Справочники хранят условно-постоянную информацию: контрагенты, номенклатура, сотрудники. Документы фиксируют факты хозяйственной деятельности: поступление товара, оплату, начисление зарплаты. Регистры накопления и сведений хранят итоги и показатели, которые документы формируют при проведении.
Ключевая механика — проведение документа. Когда пользователь нажимает «Провести», платформа в рамках одной транзакции записывает сам документ и его движения по регистрам. Если на любом шаге возникает ошибка (например, контроль остатков не прошёл), вся транзакция откатывается, и база остаётся в согласованном состоянии. Именно поэтому «документ проведён, а остатков нет» — признак нештатной ситуации: либо движения были очищены, либо проведение выполняется особыми механизмами.
Для чтения данных в коде и отчётах используется встроенный язык запросов 1С — он похож на SQL, но оперирует объектами конфигурации, а не физическими таблицами. Платформа сама преобразует такой запрос в команды для файловой базы или сервера СУБД.
Типичные операции с базой данных на практике
Администратор и разработчик чаще всего выполняют один и тот же набор операций. Знание их последовательности помогает действовать безопасно и предсказуемо.
- 1Создание базы: через стартер 1С (файловый вариант) или через консоль кластера с созданием базы в СУБД (клиент-серверный).
- 2Загрузка конфигурации или данных: обновление типового решения, загрузка выгрузки .dt, обмен данными между базами.
- 3Резервное копирование: выгрузка в .dt через конфигуратор для файлового режима или штатный backup средствами СУБД для клиент-серверного.
- 4Тестирование и исправление: проверка логической и ссылочной целостности при подозрении на повреждение данных.
- 5Обслуживание: в клиент-серверном варианте — обновление статистики, перестроение индексов, контроль роста журнала транзакций средствами СУБД.
Выгрузка в файл .dt — универсальный способ переноса базы целиком, включая конфигурацию и пользователей. Однако для больших клиент-серверных баз этот способ медленный и требует значительных ресурсов; там основным средством резервного копирования становятся штатные механизмы СУБД, а выгрузку в .dt используют для переноса или создания тестовых копий.
Тестирование и исправление (конфигуратор, меню «Администрирование») применяют, когда есть признаки повреждения: база не открывается, объекты «исчезают», появляются ошибки формата потока. Перед запуском процедуры обязательно делают копию базы — сама операция может изменять данные.
Как проверить, что с базой всё в порядке
Проблемы с базой данных редко возникают внезапно — обычно им предшествуют заметные симптомы: рост времени проведения документов, ошибки при одновременной работе пользователей, расхождения в отчётах. Полезно периодически оценивать состояние базы по нескольким контрольным точкам.
Как проверить состояние базы
Проведение документов и формирование отчётов занимает привычное время
Резкий рост времени выполнения без изменения объёмов — проверить индексы, статистику СУБД, размер базы
Отчёты сходятся между собой, документы проводятся без ошибок
Ошибки формата потока, «битые» ссылки, расхождения итогов — признаки повреждения
Копии создаются по расписанию и периодически проверяются восстановлением
Копии формально есть, но никто никогда не пробовал из них восстановиться
На дисках с базой и журналами СУБД есть запас места
Диск почти заполнен — риск остановки базы и повреждения данных
Частые вопросы о работе с базой данных в 1С
Чем база 1С отличается от базы данных SQL Server?
База данных SQL Server — это физическое хранилище таблиц. Информационная база 1С — логическое понятие платформы: она включает данные, конфигурацию и пользователей. В клиент-серверном режиме база 1С хранится внутри базы SQL Server, но работать с ней нужно только через платформу.
Можно ли просто скопировать файл 1Cv8.1CD как резервную копию?
Можно, но только когда с базой никто не работает и все сеансы завершены. Копирование файла во время активной работы пользователей может дать несогласованную копию. Более безопасный штатный способ — выгрузка в .dt через конфигуратор.
Почему документ проведён, а остатки по регистру не изменились?
Чаще всего документ не формирует движения по нужному регистру (проверьте настройку «Движения» в конфигураторе), движения были очищены вручную или обработкой, либо проведение происходит через отложенные механизмы, которые ещё не отработали. Начните с кнопки «Движения документа» в форме самого документа.
Опасно ли запускать «Тестирование и исправление»?
Операция штатная, но она может изменять и удалять повреждённые данные. Запускайте её только при монопольном доступе и обязательно после создания резервной копии. Если база клиент-серверная, сначала убедитесь, что проблема не на стороне СУБД.
Когда файловой базы становится недостаточно?
Тревожные признаки: десятки одновременно работающих пользователей, частые конфликты блокировок, длительное проведение документов, рост файла до размеров, при которых замедляются выгрузка и восстановление. В такой ситуации рассматривают переход на клиент-серверный режим.
Нужно ли учиться SQL, чтобы работать с базой в 1С?
Для пользователя и разработчика 1С — нет: платформа предоставляет встроенный язык запросов и объектную модель. Знание SQL и основ администрирования СУБД потребуется администратору клиент-серверных баз для обслуживания, резервного копирования и диагностики производительности на уровне сервера.
Что важно запомнить
Работа с БД в 1С — это работа через платформу с объектами конфигурации: справочниками, документами и регистрами. Файловый режим подходит для небольших баз, клиент-серверный — для больших и нагруженных. Прямой доступ к таблицам СУБД запрещён, а любые операции, изменяющие структуру или данные, выполняются только после проверенной резервной копии.