К статье
Практический материал

Разработка и Конфигурация · 10 мин

На чем сделан 1С: устройство платформы изнутри

Разбираем, на чем сделан 1С: платформа 1С:Предприятие, встроенный язык, СУБД, клиентские приложения и технологии интеграции. Практический разбор для бизнеса.

Ответ на вопрос «на чем сделан 1С» состоит из нескольких слоев. Сама программа, которую видит бухгалтер или менеджер, — это прикладное решение (конфигурация), написанное на встроенном языке 1С. Эта конфигурация работает внутри технологической платформы «1С:Предприятие», которая, в свою очередь, написана в основном на C++ и взаимодействует с базой данных — файловой или клиент-серверной (MS SQL, PostgreSQL, Oracle, IBM Db2).

Такое многослойное устройство объясняет, почему вопрос «на чем написана 1С» не имеет односложного ответа. Пользователь работает с конфигурацией, разработчик пишет код на встроенном языке, администратор настраивает сервер 1С и СУБД, а вендор развивает саму платформу на системных языках программирования. Каждый слой имеет свои технологии, ограничения и правила.

Понимание архитектуры полезно на практике: от него зависит выбор оборудования, способ интеграции с другими системами, оценка трудоемкости доработок и даже требования к кандидатам при найме 1C-специалиста. Ниже разбираем каждый слой отдельно — от платформы до веб-клиента и механизмов обмена данными.

Технологическая платформа 1С:Предприятие — ядро системы

Фундамент любой программы 1С — технологическая платформа «1С:Предприятие». Это исполняемая среда, которая загружает конфигурацию, исполняет код, управляет сеансами пользователей, правами доступа, транзакциями и обменом данными с СУБД. Сама платформа разработана фирмой «1С» на системных языках, главным образом на C++, что обеспечивает производительность и кроссплатформенность.

Платформа выпускается для Windows и Linux (серверная часть), а клиентские приложения доступны для Windows, Linux и macOS. Это значит, что сервер 1С можно развернуть на Linux с PostgreSQL и полностью уйти от лицензий Microsoft на уровне серверной инфраструктуры — популярный сценарий для снижения стоимости владения.

Важно различать версии платформы и конфигурации. Платформа 8.3 — это среда исполнения, а «1С:Бухгалтерия 3.0» или «1С:Управление торговлей 11» — конфигурации, запускаемые этой средой. Обновляются они независимо: платформу можно обновить без обновления конфигурации и наоборот, хотя новые релизы конфигураций часто требуют минимальную версию платформы.

Встроенный язык 1С — на чем пишут конфигурации

Прикладная логика — проведение документов, расчет налогов, формирование отчетов — написана на встроенном языке 1С. Это высокоуровневый предметно-ориентированный язык с синтаксисом, похожим на смесь BASIC и Pascal. Характерная особенность: код можно писать на русском языке, включая ключевые слова («Если», «Тогда», «КонецЕсли»), хотя существует и английский вариант синтаксиса.

Язык работает только внутри платформы и не компилируется в машинный код — он интерпретируется средой исполнения. Это ограничивает его применение задачами учета и бизнес-логики, но дает преимущество: разработчику не нужно вручную управлять памятью, соединениями с базой и транзакциями — платформа берет это на себя.

Для выборки данных используется собственный язык запросов 1С, внешне похожий на SQL, но работающий с объектами конфигурации (справочники, документы, регистры), а не с физическими таблицами. Платформа сама транслирует такие запросы в SQL конкретной СУБД.

bsl
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить().Выгрузить();

Как и где хранятся данные: файловый режим и СУБД

Данные 1С хранятся в двух режимах. В файловом варианте вся база — это один файл 1Cv8.1CD на диске или сетевом ресурсе. Такой режим подходит для небольших баз с несколькими пользователями: он прост в развертывании, но ограничен по производительности, одновременным подключениям и устойчивости к сбоям.

В клиент-серверном варианте платформа работает через сервер 1С:Предприятия, который обращается к промышленной СУБД. Поддерживаются Microsoft SQL Server, PostgreSQL (включая отечественные сборки), Oracle Database и IBM Db2. Выбор СУБД влияет на стоимость лицензий, требования к администрированию и поведение под нагрузкой.

Важный момент: структуру таблиц в СУБД создает и контролирует платформа, а не разработчик. Прямая запись в таблицы средствами SQL в обход платформы запрещена — это нарушает целостность данных и лицензионные условия. Чтение напрямую технически возможно, но используется только для аналитики на копиях баз.

Клиентская часть: тонкий, толстый и веб-клиент

Интерфейс, который видит пользователь, реализован в трех вариантах клиентских приложений. Толстый клиент — классическое «тяжелое» приложение, исполняющее значительную часть логики на компьютере пользователя. Тонкий клиент переносит вычисления на сервер и требует минимальных ресурсов рабочего места — сейчас это основной вариант для локальной сети.

Веб-клиент работает в браузере без установки платформы: интерфейс формируется с применением стандартных веб-технологий (HTML, CSS, JavaScript), а серверная часть публикуется через веб-сервер Apache или IIS. Это позволяет давать доступ сотрудникам извне офиса, но требует грамотной настройки защищенного соединения и ограничения доступа.

Разработка интерфейсов ведется в конфигураторе: разработчик описывает формы декларативно, а платформа сама отрисовывает их в каждом клиенте. Поэтому одна и та же конфигурация работает и в тонком клиенте, и в браузере без переписывания прикладного кода.

Интеграции: как 1С обменивается данными с внешними системами

Для связи с внешними системами платформа предоставляет несколько стеков технологий. Классические механизмы — COM-соединение и OLE (только Windows), файловые обмены через XML, CSV, JSON, а также планы обмена для синхронизации между базами 1С. Современный стандарт — HTTP-сервисы и REST-интерфейсы: конфигурация может как публиковать свои сервисы, так и вызывать внешние API.

Типовые конфигурации умеют публиковать стандартный OData-интерфейс, через который внешние системы читают и записывают данные в терминах объектов конфигурации. Для интеграции с сайтами и торговыми платформами широко используется обмен в формате CommerceML. Выбор механизма зависит от требований к скорости, объемам и безопасности канала.

Сравнение вариантов развертывания

Файловая база

Подходит для 1–5 пользователей и небольших объемов. Ограничение: просадки при параллельной работе и риск повреждения файла при сбое сети.

Клиент-сервер на MS SQL

Подходит для средних и крупных внедрений с активной нагрузкой. Ограничение: стоимость лицензий Microsoft и необходимость администрирования СУБД.

Клиент-сервер на PostgreSQL

Подходит для снижения стоимости лицензий и работы на Linux. Ограничение: требует сборки PostgreSQL, адаптированной под 1С, и опыта тонкой настройки.

Расширения и внешние компоненты: чем дополняют типовой функционал

Когда встроенного языка не хватает, используются дополнительные механизмы. Расширения конфигурации позволяют дорабатывать типовые решения без снятия их с поддержки — код расширения хранится отдельно и накладывается на типовую конфигурацию при запуске. Это основной рекомендуемый способ доработок.

Для задач, требующих системного уровня — работа со сканерами штрих-кодов, криптография, специфическое оборудование — применяются внешние компоненты по технологии Native API. Они пишутся на C++ и подключаются к платформе как библиотеки. Также платформа поддерживает вызов внешних приложений и скриптов, хотя в серверном контуре такие вызовы нужно жестко ограничивать по соображениям безопасности.

Что учитывать при выборе инфраструктуры и специалистов

Архитектура 1С напрямую определяет требования к инфраструктуре. Для клиент-серверного режима нужны: сервер 1С (лучше отдельный от СУБД при заметной нагрузке), быстрые диски под базу, достаточный объем оперативной памяти и резервное копирование средствами СУБД, а не копированием файлов. Файловый режим требует надежного диска и запрета одновременного доступа по нестабильной сети.

При найме специалистов учитывайте слой, с которым предстоит работать. Разработчику 1С не обязательно знать C++ — ему нужны встроенный язык, язык запросов и понимание объектов конфигурации. Администратору нужны навыки работы с сервером 1С, выбранной СУБД и механизмами резервного копирования. Смешение этих ролей в одной вакансии — частая причина неудачного найма.

Типичные ошибки
01
Размещение файловой базы на сетевой папке с нестабильным каналом — приводит к повреждению файла 1Cv8.1CD и потере данных.
02
Резервное копирование клиент-серверной базы копированием файлов СУБД вместо штатных средств — копия оказывается несогласованной и не восстанавливается.
03
Прямые правки таблиц SQL в обход платформы — разрушение итогов, ссылочной целостности и потеря поддержки вендора.
04
Доработка типовой конфигурации напрямую вместо расширений — каждое обновление превращается в ручное слияние изменений.

Частые вопросы об устройстве 1С

1С — это язык программирования или готовая программа?

И то, и другое одновременно. «1С:Предприятие» — это платформа со встроенным языком разработки, а «1С:Бухгалтерия» или «1С:Управление торговлей» — готовые прикладные решения, написанные на этом языке и работающие внутри платформы. Пользователь обычно имеет дело с готовым решением, разработчик — с платформой и языком.

Правда ли, что код 1С пишется на русском языке?

Да, встроенный язык поддерживает русский синтаксис: операторы, встроенные функции и имена объектов могут быть на русском. Существует и полный английский вариант синтаксиса, причем оба могут смешиваться в одном модуле. На практике в российских проектах преобладает русский синтаксис.

Можно ли подключиться к базе 1С напрямую через SQL?

Технически чтение данных из таблиц СУБД возможно и иногда используется для аналитики на копии базы. Запись напрямую категорически запрещена: платформа хранит служебные структуры, итоги и версии данных, и внешнее вмешательство разрушает целостность. Для интеграций используйте штатные механизмы — HTTP-сервисы, OData, планы обмена.

Работает ли 1С на Linux и без лицензий Microsoft?

Да. Сервер 1С:Предприятия выпускается для Linux, а в качестве СУБД можно использовать PostgreSQL. Клиентские приложения также доступны для Linux и macOS, плюс существует веб-клиент через браузер. Это позволяет построить инфраструктуру полностью без продуктов Microsoft.

Чем расширение конфигурации отличается от доработки конфигурации?

Расширение хранится отдельно от типовой конфигурации и накладывается на нее при запуске, поэтому типовое решение остается на поддержке и обновляется штатно. Прямая доработка изменяет объекты конфигурации поставщика, и каждое обновление требует ручного сопоставления изменений, что резко удорожает сопровождение.

Какие знания нужны разработчику 1С, кроме встроенного языка?

Ключевой минимум: язык запросов 1С, понимание объектов метаданных (справочники, документы, регистры), механизмы проведения и итогов, система компоновки данных для отчетов. Для интеграций дополнительно понадобятся HTTP-сервисы, JSON/XML и основы работы выбранной СУБД на уровне понимания блокировок и производительности.

Итог

Что важно запомнить

1С — это трехслойная система: платформа на C++, конфигурации на встроенном языке и СУБД для хранения. Данные меняются только через платформу, доработки — через расширения, а выбор между файловым и клиент-серверным режимом определяется числом пользователей и нагрузкой.