Толстый клиент 1С
Толстый клиент 1С — это компонент программного обеспечения платформы «1С:Предприятие», предназначенный для работы в режиме управляемого приложения и обеспечивающий выполнение основной бизнес-логики на стороне пользовательского компьютера. В отличие от «тонкого клиента», который выполняет только отображение интерфейса и отправку запросов на сервер, толстый клиент содержит значительную часть программного кода конфигурации, включая модули форм, отчётов и обработок, и выполняет их локально. Толстый клиент требует установки полной версии платформы «1С:Предприятие» на компьютер пользователя и используется для работы в файловом или клиент-серверном варианте.
История
Термин «толстый клиент» возник в контексте развития архитектуры «1С:Предприятие» в середине 2000-х годов. До появления платформы версии 8.0 (2003 год) все конфигурации 1С работали исключительно в «толстом» режиме: программа полностью устанавливалась на компьютер пользователя, а данные хранились в локальном файле или на файловом сервере. С появлением управляемых форм (версия 8.2, 2009 год) архитектура разделилась на толстый и тонкий клиенты. Толстый клиент сохранил возможность выполнения кода на стороне клиента, но при этом начал поддерживать работу через веб-сервер или сервер «1С:Предприятия». В версии 8.3 (2013 год) толстый клиент получил поддержку нового интерфейса «Такси» и облачных технологий, однако его роль в корпоративных системах постепенно сокращалась в пользу тонкого клиента и веб-клиента.
Архитектура и принцип работы
Толстый клиент 1С функционирует в рамках клиент-серверной или файловой архитектуры. В файловом варианте программа напрямую обращается к файлу базы данных (формат 1CD), расположенному на локальном диске или сетевом ресурсе. В клиент-серверном варианте толстый клиент подключается к серверу «1С:Предприятия» (кластеру серверов), который управляет доступом к базе данных (СУБД — Microsoft SQL Server, PostgreSQL, IBM DB2).
Основные компоненты толстого клиента:
- Исполняемый файл —
1cv8.exe(для Windows) или1cv8(для Linux), который запускает среду выполнения. - Библиотеки платформы — набор DLL (Windows) или SO (Linux), реализующих функции работы с формами, отчётами, запросами, внешними компонентами.
- Конфигурация — файлы метаданных и программных модулей (форм, отчётов, обработок, общих модулей), которые загружаются из базы данных при старте.
- Временные файлы — кэш конфигурации, временные файлы отчётов и внешних обработок.
При запуске толстый клиент загружает конфигурацию целиком (или её кэшированную копию) в оперативную память. Программный код модулей (на встроенном языке 1С) выполняется на стороне клиента. Это позволяет реализовывать сложные алгоритмы обработки данных, работу с файловой системой, внешними приложениями (например, Microsoft Office) и оборудованием (принтеры, сканеры, кассовые аппараты).
Отличия от тонкого клиента и веб-клиента
Толстый клиент принципиально отличается от других режимов работы платформы «1С:Предприятие»:
- Тонкий клиент (
1cv8c.exe) выполняет только отображение интерфейса и отправку запросов на сервер. Весь программный код выполняется на сервере. Тонкий клиент не может работать в файловом режиме (только клиент-серверный) и не поддерживает работу с внешними компонентами и COM-объектами. - Веб-клиент — работает через браузер без установки платформы. Весь код выполняется на сервере, интерфейс отрисовывается средствами HTML/CSS/JavaScript. Веб-клиент имеет ограниченную функциональность (не поддерживает работу с внешними компонентами, файловой системой, COM-объектами).
- Толстый клиент — единственный режим, который позволяет выполнять код на стороне пользователя, работать с файлами и оборудованием, а также функционировать в файловом варианте без сервера «1С:Предприятия».
Применение
Толстый клиент 1С используется в следующих сценариях:
- Работа в файловом режиме — для небольших организаций (до 5–10 пользователей), где не требуется серверная инфраструктура. База данных хранится в общем сетевом каталоге.
- Работа с внешним оборудованием — подключение кассовых аппаратов (ККТ), фискальных регистраторов, сканеров штрихкодов, принтеров чеков, терминалов сбора данных. Толстый клиент может напрямую обращаться к драйверам устройств через COM-порты или USB.
- Интеграция с внешними приложениями — обмен данными с Microsoft Office (Excel, Word), работа с почтовыми клиентами (MAPI), взаимодействие с веб-сервисами через HTTP-запросы.
- Сложные расчёты и отчёты — выполнение ресурсоёмких алгоритмов на стороне клиента (например, расчёт заработной платы, формирование сводных отчётов с большим объёмом данных). В тонком клиенте такие операции могут приводить к перегрузке сервера.
- Разработка и отладка конфигураций — разработчики используют толстый клиент в режиме «Конфигуратор» для редактирования метаданных, написания и отладки кода. Тонкий и веб-клиенты не имеют режима конфигуратора.
Ограничения и недостатки
Толстый клиент имеет ряд ограничений по сравнению с тонким и веб-клиентами:
- Требования к установке — необходимо устанавливать полную версию платформы на каждый компьютер. Обновление платформы требует административных действий на всех рабочих станциях.
- Зависимость от операционной системы — толстый клиент работает только под управлением Windows (версии 8.3 поддерживают также Linux, но с ограничениями). Веб-клиент работает в любом браузере на любой ОС.
- Нагрузка на клиентский компьютер — выполнение кода на стороне клиента требует достаточных ресурсов (процессор, оперативная память). На слабых компьютерах возможны замедления.
- Сложность масштабирования — при увеличении числа пользователей в файловом режиме резко падает производительность из-за блокировок базы данных. Для масштабирования требуется переход на клиент-серверный вариант.
- Безопасность — код конфигурации выполняется локально, что может создавать риски при работе с конфиденциальными данными (возможность перехвата или модификации кода).
Перспективы
С развитием облачных технологий и переходом на веб-интерфейсы роль толстого клиента в экосистеме «1С» постепенно снижается. Начиная с версии 8.3, компания «1С» рекомендует использовать тонкий клиент и веб-клиент для большинства задач, особенно в крупных корпоративных системах. Однако толстый клиент остаётся востребованным для работы с оборудованием, интеграции с внешними приложениями и в файловых базах данных малых организаций. В версии 8.3.20 и выше разработчики добавили возможность запуска толстого клиента в режиме «управляемого приложения» с интерфейсом «Такси», что улучшило его совместимость с современными стандартами.
Интересные факты
- Толстый клиент 1С является единственным режимом, который поддерживает работу в режиме «Конфигуратор» — среды разработки конфигураций.
- В файловом режиме толстый клиент использует собственную систему блокировок базы данных, отличную от блокировок СУБД.
- В версии 8.3 появилась возможность запуска толстого клиента в режиме совместимости с тонким клиентом (режим «Толстый клиент. Управляемое приложение»), что позволяет использовать его в клиент-серверных конфигурациях с ограниченной функциональностью.
- Толстый клиент поддерживает работу с внешними компонентами (Native API), что позволяет подключать библиотеки на C++ и других языках.
Источники
- Официальная документация «1С:Предприятие 8.3» — раздел «Клиентские приложения»
- Книга «1С:Предприятие 8.3. Практическое пособие разработчика» (М. Г. Радченко, Е. Ю. Хрусталева, 2020)
- Статья «Архитектура платформы 1С:Предприятие» на портале «Инфостарт» (2021)
- Материалы конференции «1С:ERP-Конференция 2022» — доклад «Эволюция клиентских приложений 1С»
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →