Разработка и Конфигурация · 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 конкретной СУБД.
Запрос = Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ Номенклатура.Ссылка ИЗ Справочник.Номенклатура КАК Номенклатура";
Результат = Запрос.Выполнить().Выгрузить();Как и где хранятся данные: файловый режим и СУБД
Данные 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 пользователей и небольших объемов. Ограничение: просадки при параллельной работе и риск повреждения файла при сбое сети.
Подходит для средних и крупных внедрений с активной нагрузкой. Ограничение: стоимость лицензий Microsoft и необходимость администрирования СУБД.
Подходит для снижения стоимости лицензий и работы на Linux. Ограничение: требует сборки PostgreSQL, адаптированной под 1С, и опыта тонкой настройки.
Расширения и внешние компоненты: чем дополняют типовой функционал
Когда встроенного языка не хватает, используются дополнительные механизмы. Расширения конфигурации позволяют дорабатывать типовые решения без снятия их с поддержки — код расширения хранится отдельно и накладывается на типовую конфигурацию при запуске. Это основной рекомендуемый способ доработок.
Для задач, требующих системного уровня — работа со сканерами штрих-кодов, криптография, специфическое оборудование — применяются внешние компоненты по технологии Native API. Они пишутся на C++ и подключаются к платформе как библиотеки. Также платформа поддерживает вызов внешних приложений и скриптов, хотя в серверном контуре такие вызовы нужно жестко ограничивать по соображениям безопасности.
Что учитывать при выборе инфраструктуры и специалистов
Архитектура 1С напрямую определяет требования к инфраструктуре. Для клиент-серверного режима нужны: сервер 1С (лучше отдельный от СУБД при заметной нагрузке), быстрые диски под базу, достаточный объем оперативной памяти и резервное копирование средствами СУБД, а не копированием файлов. Файловый режим требует надежного диска и запрета одновременного доступа по нестабильной сети.
При найме специалистов учитывайте слой, с которым предстоит работать. Разработчику 1С не обязательно знать C++ — ему нужны встроенный язык, язык запросов и понимание объектов конфигурации. Администратору нужны навыки работы с сервером 1С, выбранной СУБД и механизмами резервного копирования. Смешение этих ролей в одной вакансии — частая причина неудачного найма.
Частые вопросы об устройстве 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++, конфигурации на встроенном языке и СУБД для хранения. Данные меняются только через платформу, доработки — через расширения, а выбор между файловым и клиент-серверным режимом определяется числом пользователей и нагрузкой.