Администрирование · 11 мин
На чем основана 1С:Предприятие
Разбираем, на чем основана 1С:Предприятие: архитектура платформы, СУБД, встроенный язык, метаданные, клиент-серверный режим и варианты развертывания.
1С:Предприятие — это не отдельная программа, а технологическая платформа, на основе которой строятся прикладные решения: «Бухгалтерия», «Управление торговлей», «Зарплата и управление персоналом» и сотни других конфигураций. Понимание того, на чем основана платформа, помогает правильно выбрать режим работы, СУБД, способ обновления и подход к доработкам.
В основе системы лежат четыре ключевых элемента: ядро платформы (исполняемый код, написанный преимущественно на C++), метаданные конфигурации, встроенный язык программирования и система управления базами данных. Пользователь работает не с таблицами напрямую, а с объектами прикладной модели — документами, справочниками, регистрами, — а платформа сама преобразует их в структуры хранения.
Ниже разобраны основные технологические слои: язык разработки, модель метаданных, варианты СУБД, клиент-серверная архитектура, виды клиентов и механизмы расширения. Это базовый минимум, который нужен администратору, внедренцу и начинающему разработчику 1С.
Ядро платформы и языки разработки
Исполняемое ядро 1С:Предприятия написано преимущественно на C++, что обеспечивает кроссплатформенность: сервер и клиенты работают на Windows и Linux, а часть функций доступна на macOS. Платформа поставляется как набор исполняемых файлов и библиотек, которые устанавливаются отдельно от прикладной конфигурации.
Прикладная логика пишется не на C++, а на встроенном языке 1С — высокоуровневом языке с русскоязычным и англоязычным синтаксисом. Код выполняется в контексте объектов конфигурации: модулей документов, форм, общих модулей. Разработчику не нужно вручную писать SQL-запросы для типовых операций — платформа генерирует их сама на основе обращений к объектам.
Для запросов к данным используется собственный язык запросов 1С, похожий на SQL, но оперирующий объектами конфигурации, а не физическими таблицами. Платформа транслирует такие запросы в диалект конкретной СУБД — это позволяет одной и той же конфигурации работать на разных базах данных без переписывания кода.
Метаданные: фундамент конфигурации
Главная особенность архитектуры 1С — конфигурация описывается метаданными: декларативным набором объектов и их свойств. Справочник, документ, регистр накопления, отчет — это не классы в коде, а структуры метаданных, которые разработчик создает в конфигураторе мышью, а поведение дополняет кодом модулей.
Платформа по метаданным автоматически создает структуру таблиц в базе данных, строит стандартные формы, команды интерфейса, права доступа и механизмы проведения. Поэтому типовой документ можно добавить в конфигурацию за минуты, а не дни — вся «инфраструктурная» работа уже заложена в платформу.
Метаданные хранятся внутри информационной базы и в файле конфигурации. При обновлении конфигурации платформа сравнивает старую и новую структуру и выполняет реструктуризацию — изменение таблиц базы данных под новые метаданные.
Хранение данных: файловый режим и СУБД
1С:Предприятие не хранит данные само по себе — оно работает поверх системы управления базами данных. Поддерживаются два принципиально разных режима: файловый и клиент-серверный. Выбор режима определяет масштабируемость, надежность и стоимость владения.
В файловом режиме вся база — это один файл 1Cv8.1CD на диске или сетевом ресурсе. Такой вариант подходит для небольших баз с ограниченным числом одновременно работающих пользователей. В клиент-серверном режиме данные размещаются в полноценной СУБД, а между клиентами и базой работает сервер 1С:Предприятия.
| Параметр | Файловый режим | Клиент-серверный режим |
|---|---|---|
| Хранилище | Файл 1Cv8.1CD | PostgreSQL, MS SQL Server, Oracle, IBM Db2 |
| Число пользователей | Небольшое, единицы одновременных сеансов | Десятки и сотни одновременных сеансов |
| Отказоустойчивость | Ограниченная, риск повреждения файла | Резервирование средствами СУБД и кластера серверов |
| Требования | Минимальные, работает «из коробки» | Отдельный сервер 1С, лицензии, администрирование СУБД |
| Фоновые задания | Ограничены | Полноценное выполнение на сервере |
Какой режим выбрать
Подходит для малых организаций с несколькими пользователями и некритичными базами. Ограничение: слабая устойчивость к сбоям и блокировки при одновременной работе.
Нужен при десятках пользователей, больших объемах данных и требованиях к отказоустойчивости. Ограничение: стоимость лицензий на сервер 1С и СУБД, необходимость администрирования.
Клиент-серверная архитектура
В трехзвенной архитектуре выделяются клиентское приложение, сервер 1С:Предприятия и сервер СУБД. Клиент отображает интерфейс и выполняет часть логики, сервер 1С исполняет серверный код, управляет транзакциями, фоновыми заданиями и сеансами, а СУБД отвечает за физическое хранение и выборку данных.
Сервер 1С:Предприятия может работать как кластер из нескольких рабочих процессов и серверов с распределением нагрузки. Это позволяет выносить тяжелые операции на отдельные узлы и обеспечивать отказоустойчивость: при падении одного рабочего процесса сеансы перераспределяются.
Для администратора ключевые инструменты — консоль кластера серверов, журнал регистрации и технологический журнал. Они позволяют видеть активные сеансы, блокировки, длительные запросы и ошибки исполнения кода.
- 1Откройте список информационных баз в окне запуска 1С.
- 2Выберите базу и посмотрите строку подключения: путь к файлу каталога означает файловый режим, адрес сервера и имя базы — клиент-серверный.
- 3В клиент-серверном режиме уточните тип СУБД в свойствах базы в консоли кластера или у администратора СУБД.
- 4Проверьте нагрузку: число активных пользователей и размер базы подскажут, соответствует ли режим реальным потребностям.
Клиентские приложения и веб-доступ
Платформа предлагает несколько видов клиентов. Толстый клиент — полноценное приложение с максимальными возможностями, включая работу конфигуратора-подобных функций и COM-интеграции. Тонкий клиент — облегченное приложение, где большая часть логики исполняется на сервере, что снижает требования к рабочим местам.
Веб-клиент работает в браузере без установки платформы: сервер 1С публикуется на веб-сервере (Apache или IIS) и формирует интерфейс в HTML. Это удобно для удаленных сотрудников и территориально распределенных подразделений. Дополнительно существует мобильная платформа для построения приложений на смартфонах и планшетах.
Интерфейс современных конфигураций строится на управляемых формах: разработчик описывает структуру формы декларативно, а платформа сама отрисовывает её в толстом, тонком и веб-клиенте. Это еще одно проявление принципа «описываем модель — платформа делает остальное».
Расширение и интеграция
Платформа изначально проектируется с учетом доработок. Изменять типовую конфигурацию напрямую можно, но это усложняет обновления, поэтому современный подход — механизм расширений: отдельные надстройки, которые добавляют объекты и переопределяют обработчики без изменения основной конфигурации.
Для интеграции с внешними системами доступны веб-сервисы (SOAP и HTTP-сервисы), REST-интерфейс OData, планы обмена, файловые форматы обмена и COM-соединение. Стандарт OData позволяет читать и изменять данные 1С из внешних приложений без написания кода на стороне 1С — достаточно включить публикацию интерфейса.
Лицензирование и ограничения
Лицензионная модель 1С разделяет лицензии на платформу (клиентские и серверные) и поставку прикладных конфигураций. Клиентские лицензии считаются по одновременным сеансам, серверная — на сервер 1С:Предприятия. Для файлового режима серверная лицензия не требуется.
Защита построена на программных или аппаратных ключах (HASP). При планировании инфраструктуры важно заранее определить число одновременных пользователей и режим работы — от этого зависят и набор лицензий, и требования к оборудованию.
Проверка работоспособности системы
После установки или миграции полезно убедиться, что все слои архитектуры работают согласованно. Проверка занимает немного времени, но позволяет выявить проблемы до начала эксплуатации.
Как проверить результат
База открывается без ошибок, журнал регистрации доступен
Ошибки соединения с сервером или СУБД, сообщения о несовместимости версий
Версия платформы соответствует требованиям конфигурации
Конфигурация требует более новую платформу, чем установлена
В консоли кластера видны активные сеансы без массовых обрывов
Сеансы аварийно завершаются, растут блокировки
Регламентные задания выполняются по расписанию
Задания зависают или завершаются с ошибками
Что важно запомнить
1С:Предприятие основано на собственной платформе с ядром на C++, метаданных конфигурации, встроенном языке и работе через СУБД. Файловый режим подходит малым базам, клиент-серверный — масштабируемым системам. Доработки выполняйте расширениями, данные изменяйте только через платформу, а перед обновлениями делайте резервные копии.
Частые вопросы
На каком языке программирования написана сама 1С?
Ядро платформы написано преимущественно на C++, что обеспечивает работу на Windows и Linux. Прикладная логика конфигураций пишется на встроенном языке 1С, который исполняется платформой и не требует знания C++ от разработчика прикладных решений.
Можно ли использовать 1С без отдельной СУБД?
Да, в файловом режиме вся база хранится в одном файле 1Cv8.1CD и отдельная СУБД не нужна. Такой вариант подходит для небольшого числа пользователей. При росте нагрузки рекомендуется переход на клиент-серверный режим с PostgreSQL, MS SQL Server, Oracle или IBM Db2.
Чем расширение отличается от изменения конфигурации?
Расширение — отдельная надстройка, которая добавляет объекты и переопределяет обработчики, не меняя основную конфигурацию. Типовая конфигурация остается на поддержке и обновляется проще. Прямые изменения конфигурации снимают объекты с полной поддержки и усложняют каждое обновление.
Почему нельзя править данные напрямую в таблицах SQL?
Платформа хранит не только «видимые» данные, но и служебные структуры: итоги регистров, служебные таблицы, нумерацию, механизмы версионирования. Прямая правка таблиц нарушает согласованность этих данных, и база может начать работать с ошибками или перестать открываться. Все изменения нужно выполнять через платформу — обработками, кодом или штатными механизмами.
Что такое метаданные простыми словами?
Это описание структуры прикладного решения: какие есть справочники, документы, регистры, какие у них реквизиты и связи. Платформа читает метаданные и сама создает таблицы в базе, формы, права и команды интерфейса. Разработчик описывает модель, а рутинную реализацию берет на себя платформа.
Какой клиент выбрать: тонкий, толстый или веб?
Тонкий клиент — стандартный выбор для большинства рабочих мест: легкий, вся тяжелая логика на сервере. Толстый нужен для специфических задач вроде отладки и некоторых интеграций. Веб-клиент подходит, когда установка платформы на рабочее место невозможна или нежелательна — достаточно браузера.