Как устроен толстый клиент 1С:Предприятия и когда без него не обойтись

· 9 мин

Содержание

Толстый клиент 1С:Предприятия — это исполняемый файл 1cv8.exe, который умеет выполнять на компьютере пользователя не только интерфейс, но и прикладной код конфигурации. Только он открывает конфигурации на обычных формах (БП 2.0, УПП 1.3, УТ 10.3, ЗУП 2.5) и внешние обработки, нарисованные обычными формами.

Обычно о нём вспоминают, когда старая обработка не открывается в тонком клиенте или программист просит «зайти в толстом». Для повседневной работы в управляемых конфигурациях он не нужен, а вот для обычных форм, отладки и старых драйверов оборудования замены ему нет.

Как устроен толстый клиент 1С:Предприятия

Платформа 1С 8.3 построена по многоуровневой схеме: клиентское приложение → сервер 1С:Предприятия (или файловый движок) → хранилище данных. Клиенты отличаются тем, какую часть работы они берут на себя.

Толстый клиент «толстый» потому, что тянет на свою сторону почти всё:

  • 🧩 Полные метаданные конфигурации. Клиент загружает описание всех объектов, а не только клиентскую часть интерфейса.
  • ⚙️ Прикладной код. В обычном приложении модули объектов, менеджеров и общие модули без ограничений по контексту могут исполняться прямо на клиенте.
  • 🗄️ Доступ к данным с клиента. Код на клиенте может читать справочники, документы и выполнять запросы; само обращение к базе при этом всё равно идёт через сервер 1С.
  • 🖼️ Два вида форм. Толстый клиент показывает и обычные, и управляемые формы.

Обычное и управляемое приложение в толстом клиенте

Толстый клиент работает в двух режимах:

РежимКакой модуль приложенияФормыТипичные конфигурации
Обычное приложениеМодуль приложенияОбычные (и управляемые при включённом свойстве)БП 2.0, УПП 1.3, УТ 10.3, ЗУП 2.5
Управляемое приложениеМодуль управляемого приложенияУправляемые (и обычные при включённом свойстве)БП 3.0, ЗУП 3.1, УТ 11 в толстом клиенте

В коде режим различают инструкциями препроцессора: #Если ТолстыйКлиентОбычноеПриложение Тогда, #Если ТолстыйКлиентУправляемоеПриложение Тогда, #Если ТонкийКлиент Тогда. Это удобно, когда одна обработка должна работать в разных клиентах.

Файловый и клиент-серверный вариант

В файловой базе движок работы с данными загружается в процесс клиента. Получается, что толстый клиент сам и «сервер», и интерфейс: всё крутится на одном компьютере, а файл 1Cv8.1CD лежит локально или в общей папке.

В клиент-серверной базе клиент сначала обращается к агенту сервера (порт 1540), затем к менеджеру кластера (1541) и рабочим процессам. Толстый клиент при этом отправляет на сервер обращения к данным, но часть логики оставляет у себя. Отсюда и больший трафик по сравнению с тонким клиентом.

Толстый, тонкий и веб-клиент: сравнение режимов

Три клиента — это не три разные программы для разных задач, а три способа подключиться к одной базе. Различия удобнее смотреть в таблице.

ПараметрТолстый клиентТонкий клиентВеб-клиент
Файл запуска1cv8.exe1cv8c.exeБраузер
УстановкаПолная платформаПлатформа или отдельный дистрибутив тонкого клиентаНе нужна, база публикуется на веб-сервере
Обычные формы✅ Да❌ Нет❌ Нет
Управляемые формы✅ Да✅ Да✅ Да
Прикладной код на клиентеПочти весьТолько клиентские процедурыТолько клиентские процедуры
Доступ к данным с клиентаЕстьТолько через вызов сервераТолько через вызов сервера
Работа по медленному каналуПлохоХорошоХорошо
Нагрузка на компьютерВысокаяУмереннаяЗависит от браузера

Лицензии от выбора клиента не зависят: каждый сеанс 1С:Предприятия занимает клиентскую лицензию, будь то толстый, тонкий или веб-клиент.

Почему типовые конфигурации ушли от толстого клиента

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

Управляемое приложение разделило код на клиентский и серверный директивами &НаКлиенте и &НаСервере. Клиенту достаётся только интерфейс, тяжёлая работа остаётся на сервере. Поэтому новые редакции типовых решений выходят только на управляемых формах, а толстый клиент остался для совместимости.

Если конфигурация управляемая (БП 3.0, ЗУП 3.1, УТ 11), для ежедневной работы выбирайте тонкий клиент. Толстый в такой базе нужен эпизодически: для старых внешних обработок и отладки.

Исключительный режим: что это и при чём тут толстый клиент

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

Когда нужен монопольный доступ

Монопольный режим требуется для операций, которые меняют базу целиком:

  1. 🔧 Обновление структуры базы данных после изменения конфигурации (Конфигурация → Обновить конфигурацию базы данных).
  2. 📦 Загрузка информационной базы из файла .dt (Администрирование → Загрузить информационную базу).
  3. 🩺 Тестирование и исправление информационной базы.
  4. 🗑️ Некоторые обработки, которые сами запрашивают монопольный режим. Чаще это старые обработки на обычных формах, запускаемые как раз в толстом клиенте.

В коде режим включают методом УстановитьМонопольныйРежим(Истина), а проверяют функцией МонопольныйРежим(). Если в базе есть другие сеансы, установка режима завершится ошибкой.

Как получить монопольный доступ без конфликтов

Чтобы освободить базу, используют блокировку установки соединений. В типовых управляемых конфигурациях её включают в разделе Администрирование → Обслуживание, в группе, где настраиваются блокировка работы пользователей и код разрешения.

После блокировки администратор входит с ключом /UC<код разрешения>, например:

"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /N"Администратор" /P"пароль" /UC123456

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

Перед обновлением структуры базы и загрузкой .dt сделайте резервную копию: выгрузку .dt или бэкап СУБД. Эти операции не отменяются кнопкой «Назад».

Когда необходим запуск 1С в толстом клиенте

Толстый клиент не «лучше» и не «мощнее» в бытовом смысле. Он нужен в конкретных ситуациях.

Случаи, когда без него не обойтись

  • 📁 Конфигурация на обычных формах. БП 2.0, УПП 1.3, УТ 10.3, ЗУП 2.5, КА 1.1 и самописные базы того же поколения работают только в толстом клиенте.
  • 🧾 Внешняя обработка или отчёт на обычных формах. Файл .epf или .erf с обычной формой не откроется в тонком клиенте. В управляемой базе его можно запустить в толстом клиенте, если в свойствах конфигурации включено Использовать обычные формы в управляемом приложении.
  • 🔌 Старые внешние компоненты и драйверы оборудования, которые разработчик делал под обычное приложение.
  • 🐞 Отладка кода, который в обычном приложении выполняется на клиенте. Чтобы отладчик остановился на точке останова, сеанс нужно запустить в том же клиенте, где работает пользователь.

Когда толстый клиент не нужен

  • Работа бухгалтера в БП 3.0 или кадровика в ЗУП 3.1.
  • Подключение из дома или филиала по интернету: здесь лучше тонкий клиент, веб-клиент или удалённый рабочий стол.
  • Слабые компьютеры и ноутбуки с малым объёмом памяти.
Какой клиент выбрать для вашей задачи?

Настройка запуска толстого клиента и параметры командной строки

Запустить 1С в толстом клиенте можно тремя способами: через свойства базы в стартере, через настройки пользователя и через командную строку.

Способ 1. Свойства базы в окне запуска

  1. Откройте окно запуска 1С (1cestart.exe).
  2. Выделите базу и нажмите Изменить.
  3. Пройдите мастер до последней страницы.
  4. В поле Основной режим запуска выберите Толстый клиент.
  5. Нажмите Готово и запустите базу кнопкой 1С:Предприятие.

Вариант Выбирать автоматически оставляет решение платформе: для управляемой конфигурации она обычно выбирает тонкий клиент.

Способ 2. Режим запуска у пользователя

В Конфигураторе откройте Администрирование → Пользователи, затем карточку пользователя. На вкладке Прочие есть поле Режим запуска со значениями Авто, Обычное приложение и Управляемое приложение.

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

Способ 3. Командная строка и ярлык

Самый надёжный способ — ярлык с параметрами. Платформа берётся из конкретной папки версии, режим задаётся явно.

:: Файловая база, толстый клиент, обычное приложение
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Torg" /RunModeOrdinaryApplication

:: Клиент-серверная база, толстый клиент, управляемое приложение
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /S"srv1c\buh" /RunModeManagedApplication

:: Запуск с очисткой кэша
"C:\Program Files\1cv8\8.3.24.1548\bin\1cv8.exe" ENTERPRISE /F"D:\Bases\Torg" /ClearCache

Основные параметры:

ПараметрЧто делает
ENTERPRISEЗапуск в режиме 1С:Предприятие (а не Конфигуратора)
/F"путь"Путь к файловой базе
/S"сервер\база"Адрес клиент-серверной базы
/N"имя" и /P"пароль"Пользователь и пароль 1С
/RunModeOrdinaryApplicationТолстый клиент, обычное приложение
/RunModeManagedApplicationТолстый клиент, управляемое приложение
/UC<код>Вход при включённой блокировке соединений
/ClearCacheОчистка клиентского кэша при запуске
/DisableStartupMessagesБез стартовых предупреждений

Номер версии в пути подставьте свой: он совпадает с названием папки в C:\Program Files\1cv8\.

Пароль в ярлыке виден любому, кто откроет свойства ярлыка. Для рабочих мест лучше аутентификация Windows (ключ /WA+) или ввод пароля вручную.

Как проверить, в каком клиенте вы работаете

Откройте окно «О программе» (значок со знаком вопроса в правом верхнем углу или меню Справка). Там указан тип клиента и режим приложения. Ещё один признак: если в главном окне есть классическое меню с пунктами Операции и Сервис, перед вами обычное приложение, а значит, толстый клиент.

Почему толстый клиент работает медленно и как его ускорить

Толстый клиент тяжелее тонкого по устройству. Жалобы на скорость обычно сводятся к четырём причинам.

Причины тормозов

  • 🐢 Медленный канал до сервера. Толстый клиент гоняет по сети больше данных, чем тонкий. По VPN с высоким пингом это заметно на каждой форме.
  • 🗄️ Файловая база в общей папке. Каждый пользователь работает с файлом 1Cv8.1CD по сети. При 5–10 одновременных сеансах начинаются ожидания на блокировках.
  • 💾 Раздутый или битый кэш. Клиент хранит копию метаданных в профиле пользователя. После обновлений там копятся старые версии, иногда кэш повреждается.
  • 🧠 Нехватка памяти. Полная конфигурация УПП или КА в 32-разрядном клиенте упирается в лимит адресного пространства процесса.

Что сделать

  1. Очистите кэш. Закройте 1С и запустите базу с ключом /ClearCache. Альтернатива — удалить папки с длинными именами-идентификаторами в %APPDATA%\1C\1cv8\ и %LOCALAPPDATA%\1C\1cv8\. Список баз (ibases.v8i) при этом не трогайте.
  2. Поставьте 64-разрядный клиент, если компьютер и версия платформы это позволяют. Ограничение по памяти процесса уходит.
  3. Не тяните толстый клиент через интернет. Для удалённых сотрудников поднимите удалённый рабочий стол рядом с сервером 1С: клиент будет работать в той же сети, что и база.
  4. Переведите файловую базу на клиент-серверный вариант, если одновременно работают больше нескольких человек и тормоза связаны с блокировками.
  5. Проверьте антивирус. Исключите из проверки каталоги кэша и папку с файловой базой. Сканирование 1Cv8.1CD на лету резко замедляет любые операции.

Удалять папки кэша можно только при закрытой 1С на этом компьютере. Если чистите кэш на терминальном сервере, сначала попросите пользователей выйти: иначе их сеансы завершатся с ошибкой.

Частые вопросы о толстом клиенте 1С

Нужна ли отдельная лицензия для толстого клиента?
Нет. Толстый, тонкий и веб-клиент используют одни и те же клиентские лицензии. Сеанс занимает одну лицензию независимо от вида клиента.
Можно ли установить только толстый клиент без остальной платформы?
Нет. Толстый клиент входит в полный дистрибутив платформы вместе с Конфигуратором. Отдельно поставляется только тонкий клиент.
Работает ли толстый клиент на Linux?
Да. Для Linux выпускается дистрибутив платформы, в который входит толстый клиент. Конфигурации на обычных формах при этом должны быть совместимы с Linux-версией: старые COM-компоненты и драйверы под Windows там работать не будут.
Почему внешняя обработка открывается у программиста, но не у бухгалтера?
Программист запускает базу в толстом клиенте, а бухгалтер — в тонком. Обработка на обычных формах в тонком клиенте не откроется. Решение — переделать её на управляемые формы или запускать её в толстом клиенте.
Чем отличаются 1cv8.exe и 1cestart.exe?
1cestart.exe — стартер: он показывает список баз и выбирает нужную версию платформы. 1cv8.exe — сам толстый клиент и Конфигуратор конкретной версии.