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

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

На чем основана 1С: технологическая основа системы

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

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

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

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

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

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

Платформа версионируется независимо от конфигураций. Например, конфигурация «Бухгалтерия предприятия» требует платформу не ниже определенного релиза, указанного в ее описании. Это важный практический момент: обновление конфигурации иногда требует предварительного обновления платформы, а несовместимость версий — частая причина ошибок запуска.

Платформа кроссплатформенна: серверная часть работает на Windows и Linux, клиентские приложения — на Windows, Linux и macOS, а также через браузер и мобильные приложения. Это основано на том, что клиент-серверное взаимодействие идет по собственному протоколу и через стандартные веб-технологии.

Конфигурации и метаданные — на чем построены прикладные решения

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

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

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

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

Логика в 1С пишется на встроенном языке — высокоуровневом предметно-ориентированном языке, синтаксически напоминающем упрощенный Pascal/BASIC с русскоязычными ключевыми словами (допустим и английский синтаксис). Код исполняется платформой, а не компилируется в машинный код напрямую. Язык заточен под работу с объектами конфигурации: запросы, документы, регистры, перечисления, коллекции.

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

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

Для интеграций платформа поддерживает работу с HTTP, веб-сервисами SOAP и REST (HTTP-сервисы), форматами XML и JSON, COM/внешними компонентами. То есть связать 1С с сайтом, CRM или складским оборудованием можно штатными средствами, не выходя за пределы встроенного языка.

Хранение данных: файловый и клиент-серверный варианты

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

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

КритерийФайловый вариантКлиент-серверный вариант
Число пользователейЕдиницы, обычно до 5–10Десятки и сотни одновременно
ТребованияТолько платформа и файл базыСервер 1С + лицензии + СУБД
НадежностьРиск повреждения файла при сбоеТранзакционность и средства СУБД
Фоновые заданияОграниченыПолноценные, на сервере
ОбслуживаниеМинимальноеТребуется администратор

Клиентские приложения и веб-клиент

Работать с 1С можно через несколько типов клиентов, и это тоже часть ответа на вопрос, на чем основана система. Толстый клиент — полноценное приложение, способное исполнять код на стороне пользователя; сегодня применяется в основном для разработки и администрирования. Тонкий клиент — легкое приложение, где вся логика исполняется на сервере, а клиент лишь отображает интерфейс. Веб-клиент работает в браузере без установки, через публикацию информационной базы на веб-сервере (IIS или Apache).

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

Мобильная платформа — отдельная ветка технологии: она позволяет собирать автономные мобильные приложения под Android и iOS, которые синхронизируются с основной базой. На этом основаны решения для торговых представителей, курьеров и складских работников.

Расширения и внешние компоненты — как дорабатывают систему

Механизм расширений конфигурации основан на идее «надстройки без изменения»: расширение добавляет или переопределяет объекты и обработчики, не трогая типовую конфигурацию. При обновлении типовое решение обновляется штатно, а расширение продолжает работать поверх него. Это рекомендуемый способ доработки для печатных форм, дополнительных отчетов, проверок и небольших изменений логики.

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

Типичные ошибки при доработке 1С
01
Прямая правка типовой конфигурации вместо расширения — каждое обновление превращается в ручное сравнение сотен объектов и рискует затереть доработки
02
Изменение данных напрямую в SQL — разрушает служебные структуры платформы и целостность базы
03
Игнорирование требований к версии платформы — конфигурация не запускается или работает с ошибками после обновления
04
Файловая база на сетевой папке для десятка пользователей — постоянные блокировки и риск повреждения файла

Как проверить, на чем работает ваша 1С

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

Как определить устройство вашей базы
  1. 1
    Откройте «Файл → О программе» в клиенте: там указаны версия платформы и режим (файловый или клиент-серверный)
  2. 2
    Посмотрите строку подключения в списке баз стартера: путь к файлу .1CD означает файловый режим, имя сервера — клиент-серверный
  3. 3
    В конфигураторе откройте «Администрирование → Свойства информационной базы», чтобы увидеть параметры СУБД
  4. 4
    Проверьте наличие расширений: «Конфигурация → Расширения конфигурации»
  5. 5
    Сравните версию платформы с минимально требуемой для конфигурации (указана в документации к релизу)
Контрольные точки

Как проверить результат

Режим работы базы
Норма

В «О программе» указан ожидаемый режим, соответствующий числу пользователей

Тревожный признак

Файловый режим при десятках одновременных пользователей

Версия платформы
Норма

Не ниже требуемой конфигурацией, база открывается без предупреждений

Тревожный признак

Ошибка несовместимости версий при запуске

Доработки
Норма

Изменения вынесены в расширения, типовая конфигурация обновляется

Тревожный признак

Конфигурация снята с поддержки, обновления не устанавливаются

Если выяснилось, что база файловая, а пользователей уже много, — переход на клиент-серверный вариант выполняется через выгрузку базы в файл .dt из конфигуратора и загрузку в новую базу на сервере. Перед любыми такими операциями обязательно сделайте резервную копию и проверьте восстановление из нее на тестовой копии.

Итог

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

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

Частые вопросы

На каком языке программирования написана сама 1С?

Ядро платформы разработано преимущественно на C++, что обеспечивает производительность и кроссплатформенность. Прикладная логика конфигураций пишется на встроенном языке 1С, который платформа интерпретирует. Конечному разработчику знание C++ не требуется — только для создания внешних компонентов.

Можно ли использовать 1С без сервера баз данных?

Да, файловый вариант не требует СУБД: вся база хранится в одном файле .1CD. Это рабочий вариант для одного пользователя или небольшой группы. При росте числа пользователей и объема данных рекомендуется переход на клиент-серверную архитектуру с PostgreSQL или MS SQL.

Чем встроенный язык 1С отличается от обычных языков программирования?

Он предметно-ориентированный: вместо работы с файлами, сокетами и SQL-таблицами разработчик оперирует документами, справочниками и регистрами. Это ускоряет разработку учетных систем, но язык существует только внутри платформы и не подходит для задач вне нее.

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

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

Что выбрать для доработки: изменение конфигурации или расширение?

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

Работает ли 1С на Linux и в браузере?

Да. Сервер «1С:Предприятия» и клиенты работают на Linux, СУБД PostgreSQL поддерживается штатно, а веб-клиент позволяет работать через браузер после публикации базы на веб-сервере. Ограничение — код, рассчитанный только на толстый клиент, в браузере не выполнится.