Администрирование · 10 мин
На чем построена 1С: архитектура платформы и технологический стек
Разбираем, на чем построена 1С: платформа 1С:Предприятие, встроенный язык, СУБД, клиент-серверная архитектура, метаданные и технологический стек системы.
Любая прикладная программа семейства 1С — «Бухгалтерия», «Зарплата и управление персоналом», «Управление торговлей» — работает не сама по себе, а поверх технологической платформы «1С:Предприятие». Платформа — это исполняемое ядро, которое загружает конфигурацию, исполняет код, отрисовывает интерфейс и обеспечивает доступ к данным. Понимание того, из каких слоёв состоит система, помогает грамотно выбирать режим работы, планировать производительность и диагностировать сбои.
Архитектурно 1С устроена как трёхуровневая система: клиентское приложение, сервер «1С:Предприятия» (или файловый режим без него) и система управления базами данных. Поверх этой инфраструктуры лежит конфигурация — описание структуры данных и бизнес-логики на встроенном языке. Именно разделение «платформа + конфигурация» — ключевая идея, на которой построена вся экосистема 1С.
Ниже разберём каждый слой: что такое платформа и конфигурация, как устроены метаданные, на каком языке пишется код, какие СУБД поддерживаются и чем файловый режим отличается от клиент-серверного.
Платформа «1С:Предприятие» — ядро системы
Платформа — это комплект исполняемых модулей, написанных преимущественно на C++, которые устанавливаются на компьютер пользователя или сервер. Она не содержит прикладной логики учёта: в ней нет ни проводок, ни начисления зарплаты, ни складских документов. Платформа предоставляет универсальные механизмы: работу с объектами данных, построение форм, систему прав доступа, механизм запросов, отчёты на СКД, обмены данными и веб-сервисы.
Платформа выпускается в версиях (например, линейка 8.3 с регулярными обновлениями) и существует в редакциях для Windows и Linux, а также в виде сервера для разных разрядностей. Прикладные конфигурации рассчитаны на определённую минимальную версию платформы — это указано в их системных требованиях.
Обновление платформы и обновление конфигурации — независимые процессы. Платформу обновляют для исправления ошибок ядра и получения новых технологических возможностей, конфигурацию — для изменений в учёте и законодательстве. Путать эти обновления нельзя: установка новой платформы не меняет ни одного документа или отчёта в прикладном решении.
Конфигурация и метаданные: где живёт бизнес-логика
Конфигурация — это дерево метаданных: описание справочников, документов, регистров, отчётов, обработок, ролей и других объектов, плюс программные модули на встроенном языке. При загрузке базы платформа читает метаданные и автоматически создаёт структуру таблиц в СУБД, строит интерфейс и подключает обработчики событий.
Такой подход называется метаданно-ориентированным: разработчик не проектирует таблицы и не пишет SQL для создания структуры — он описывает прикладной объект (например, документ «Реализация товаров» с табличной частью), а платформа сама решает, как хранить его физически. Это ускоряет разработку и делает конфигурации переносимыми между разными СУБД.
Типовые конфигурации («Бухгалтерия предприятия», «Управление торговлей» и другие) — это готовые конфигурации, написанные фирмой «1С» на той же платформе, что доступна и сторонним разработчикам. Многие современные типовые решения построены на «Библиотеке стандартных подсистем» — наборе переиспользуемых модулей для типовых задач: работа с файлами, обмены, версионирование, рассылка отчётов.
Справочники, документы, регистры, перечисления, отчёты
Общие модули, модули объектов, форм, менеджеров
Какие объекты доступны группам пользователей
Навигация, командный интерфейс, начальная страница
Встроенный язык и среда разработки
Прикладная логика 1С пишется на встроенном языке, который часто называют «язык 1С» или «1С:Скрипт». Синтаксически он напоминает BASIC-подобные языки, поддерживает русские и английские ключевые слова и тесно интегрирован с объектной моделью платформы: разработчик работает с объектами типа «ДокументОбъект.РеализацияТоваров», а не с низкоуровневыми структурами данных.
Для выборки данных используется собственный язык запросов — декларативный, похожий на SQL, но работающий поверх метаданных: в запросе указываются имена объектов конфигурации, а не физические таблицы. Платформа транслирует такой запрос в SQL конкретной СУБД. Среду разработки составляют конфигуратор (встроен в платформу) и 1C:Enterprise Development Tools (EDT) — среда на базе Eclipse, ориентированная на командную разработку и работу с системами контроля версий.
Хранение данных: файловый режим и СУБД
Данные информационной базы 1С могут храниться двумя способами. В файловом режиме вся база — это файл с расширением 1Cv8.1CD, с которым платформа работает напрямую. Такой вариант прост в развёртывании и подходит для небольших коллективов, но имеет ограничения по одновременной нагрузке и объёму.
В клиент-серверном режиме данные хранятся в промышленной СУБД: Microsoft SQL Server, PostgreSQL (включая сертифицированные сборки), IBM DB2 или Oracle Database. Платформа сама формирует структуру таблиц и индексов — администратору СУБД не требуется создавать объекты вручную, достаточно выделить пустую базу и права. Прямая ручная правка данных в таблицах СУБД запрещена: она нарушает внутренние связи и лишает поддержки.
Файловый режим или клиент-серверный
Подходит для 1–10 пользователей и небольших баз; простое резервное копирование, но ограничения по параллельной работе и размеру
Для десятков и сотен пользователей и крупных баз; требует сервера 1С и отдельной СУБД, даёт блокировки на уровне записей и масштабируемость
Клиентская часть и архитектура взаимодействия
Работать с информационной базой можно через несколько клиентов: толстый клиент (полнофункциональное приложение, в том числе с возможностью запуска конфигуратора), тонкий клиент (облегчённое приложение, вся логика исполняется на сервере) и веб-клиент через браузер при публикации базы на веб-сервере. Интерфейс строится декларативно на основе метаданных — механизм «управляемых форм» сам компонует экранные формы под разные клиенты.
В клиент-серверном варианте между клиентом и СУБД стоит кластер серверов «1С:Предприятия»: он исполняет серверный код, управляет сеансами, фоновыми заданиями и блокировками. Кластер можно масштабировать, вынося рабочие процессы на несколько машин и распределяя нагрузку. Для интеграций платформа предоставляет встроенные механизмы: HTTP-сервисы, SOAP веб-сервисы, планы обмена, работу с файлами и очередями.
- 1Откройте «О программе» в меню клиента — там указаны версия платформы и режим запуска
- 2Посмотрите строку подключения в списке баз: путь к файлу .1CD означает файловый режим, имя сервера — клиент-серверный
- 3В консоли кластера (для серверного варианта) проверьте, какая СУБД указана в свойствах информационной базы
- 4Сопоставьте версию платформы с требованиями конфигурации перед обновлениями
Расширения и внешние компоненты
Когда типовой конфигурации не хватает функций, менять её код не обязательно: механизм расширений позволяет добавлять объекты и переопределять обработчики поверх основной конфигурации, сохраняя её на поддержке. Это современный рекомендуемый способ доработок, упрощающий обновления.
Для задач, которых не покрывает встроенный язык (работа с оборудованием, криптография, специфические протоколы), существует технология внешних компонентов — библиотек, подключаемых к платформе по стандартному интерфейсу. Также платформа умеет публиковать функциональность наружу через веб-сервисы, что делает 1С полноценным участником гетерогенного ландшафта предприятия.
Частые ошибки в понимании архитектуры
Самая распространённая ошибка — считать, что «1С — это база данных» или «1С — это язык программирования». На деле это многослойная система, и проблема в любом слое проявляется по-разному: медленная работа может быть вызвана как неоптимальным кодом конфигурации, так и нехваткой ресурсов СУБД или сетевыми задержками между клиентом и сервером.
Вторая типичная ошибка — обновлять конфигурацию, не проверив совместимость с версией платформы, или наоборот. Перед обновлением всегда сверяйте требования в поставке и делайте резервную копию: откат платформы или конфигурации без копии может быть невозможен.
Частые вопросы
1С — это СУБД или нет?
Нет, 1С не является полноценной СУБД общего назначения. В файловом режиме платформа использует собственный формат хранения, а в клиент-серверном — внешние СУБД (MS SQL, PostgreSQL, DB2, Oracle). Управлением данными на физическом уровне занимается именно СУБД, а 1С работает на уровне прикладных объектов.
На каком языке написана сама платформа 1С?
Ядро платформы написано на компилируемых языках, прежде всего C++. Прикладные конфигурации пишутся на встроенном языке 1С, который исполняется виртуальной машиной платформы и не требует компиляции в машинный код.
Можно ли использовать 1С без сервера баз данных?
Да, файловый режим не требует отдельной СУБД — база хранится в одном файле 1Cv8.1CD. Этого достаточно для небольших команд. При росте числа пользователей и объёма данных рекомендуется переход на клиент-серверную архитектуру.
Чем конфигуратор отличается от EDT?
Конфигуратор — встроенная в платформу среда разработки, ориентированная на индивидуальную работу с информационной базой. 1C:EDT — отдельная среда на базе Eclipse с поддержкой Git, командной разработки и статического анализа кода. Обе работают с одними и теми же метаданными.
Зависит ли конфигурация от версии платформы?
Да. Каждая конфигурация указывает минимально совместимую версию платформы и режим совместимости. Запуск на слишком старой платформе невозможен, а на слишком новой без тестирования — рискован, поэтому обновления планируют совместно.
Что важно запомнить
1С построена на платформе «1С:Предприятие»: ядро на C++, метаданно-ориентированная конфигурация, встроенный язык и собственный язык запросов. Данные хранятся в файле 1Cv8.1CD или в промышленной СУБД через сервер 1С. Понимание слоёв — платформа, конфигурация, СУБД, клиенты — основа грамотного администрирования и доработок.