Перевод работы пользователей в веб-клиент «1С:Предприятия» — популярный тренд в автоматизации бизнеса. Использование браузеров (Google Chrome, Яндекс.Браузер, Microsoft Edge) позволяет разворачивать рабочие места кассиров и менеджеров без установки тяжелых локальных программ. Однако при интеграции торгового оборудования, особенно онлайн-касс (ККТ) под 54-ФЗ или сканеров штрихкодов, администраторы часто сталкиваются со следующей ошибкой:
«Установка внешней компоненты не выполнена! В процессе установки произошла ошибка! Возможно, отсутствует компонента для используемого клиентского приложения»
При этом запуск той же базы через локальный тонкий клиент «1С:Предприятия» проходит абсолютно штатно, и все чеки печатаются без проблем. В этой статье мы подробно разберем, почему возникает данная ошибка в веб-клиенте, как правильно настроить двухкомпонентное расширение 1С и какие современные альтернативные технологии позволяют сделать работу торгового оборудования через браузер максимально стабильной.
Чтобы понять природу ошибки, проанализируем архитектурные различия между тонким клиентом и веб-клиентом 1С. Тонкий клиент представляет собой классическое Win32/Win64 приложение, которое имеет прямой доступ к операционной системе, портам USB/COM и реестру Windows. Браузер же работает в изолированной среде — «песочнице» (Sandbox), которая из соображений безопасности блокирует любые прямые попытки сайтов обратиться к физическому оборудованию ПК.
Рассмотрим основные причины сбоя при установке компоненты:
Native Messaging. Для её работы требуется установить две части: расширение в сам браузер и специальное приложение-посредник (Native Messaging Host) в операционную систему. Если установлена только визуальная часть расширения из магазина Chrome, а локальная утилита отсутствует, браузер не сможет передать команду на ККТ.Для восстановления работоспособности оборудования через браузер по классической схеме нам необходимо последовательно настроить интеграционную среду. Разберем этот процесс по шагам.
Шаг 1. Установка расширения для браузера. Перейдите в интернет-магазин используемого браузера (например, Chrome Web Store) и установите расширение «Расширение для работы с 1С:Предприятием» (Extension for working with 1C:Enterprise). Это расширение добавит в правый верхний угол браузера соответствующую иконку и позволит веб-странице 1С взаимодействовать с локальной ОС.
Шаг 2. Ручная установка локальной части через MSI-пакет. Чтобы обойти ограничения прав доступа при автоматической установке компоненты из браузера, рекомендуется выполнить установку локального модуля вручную с правами администратора. Для этого найдите в каталоге установленной на сервере или локальном ПК платформы «1С:Предприятие» файл 1ce-chrome-ext.msi (или аналогичный пакет для вашего браузера). Запустите установку этого дистрибутива от имени администратора. Программа автоматически пропишет необходимые ключи в ветке реестра HKEY_LOCAL_MACHINE\SOFTWARE\Google\Chrome\NativeMessagingHosts\com.1c.enterprise.chrome.ext.
Шаг 3. Проверка разрядности драйвера. Убедитесь, что на компьютере, к которому подключена ККТ, установлена версия драйвера торгового оборудования (например, ДТО АТОЛ 10), соответствующая разрядности вашего браузера (обычно 64-бит). В конфигурации 1С в разделе настройки подключаемого оборудования загрузите актуальную версию интеграционной библиотеки, содержащую компоненты обеих разрядностей.
Шаг 4. Настройка исключений безопасности. Если после выполнения предыдущих шагов ККТ все еще не определяется, временно отключите брандмауэр Windows и сторонний антивирус для проверки. Если связь появилась, добавьте локальные исполняемые файлы 1С и драйвера ККТ в белый список (исключения) вашего защитного ПО.
Даже при правильной настройке классического расширения системные администраторы часто сталкиваются с тем, что после очередного обновления платформы 1С или версии браузера связь с ККТ снова «отваливается». Чтобы избежать регулярных сбоев, рассмотрим более стабильный и современный архитектурный подход — использование встроенного веб-сервера самого производителя ККТ (на примере АТОЛ ДТО 10).
При установке драйвера АТОЛ 10 на компьютер кассира инсталлируется фоновая служба ATOL Web Server (веб-сервер ККТ), которая по умолчанию начинает слушать локальный порт http://localhost:16732. При использовании этой схемы веб-клиент 1С полностью отказывается от использования внешних компонент браузера и технологии Native Messaging.
Взаимодействие между 1С и фискальным регистратором происходит напрямую по протоколу HTTP с помощью JSON API. Посмотрим на упрощенный пример того, как выглядит отправка задания на печать чека из веб-клиента 1С на локальный веб-сервер ККТ:
// Пример формирования JSON-запроса для отправки на локальный веб-сервер ККТ
ЗапросДТО = Новый Соответствие;
ЗапросДТО.Вставить("uuid", Строка(Новый УникальныйИдентификатор));
МассивЗаданий = Новый Массив;
ПараметрыЧека = Новый Соответствие;
ПараметрыЧека.Вставить("type", "sell"); // Операция продажи
// Данные кассира
Кассир = Новый Соответствие;
Кассир.Вставить("name", "Администратор");
ПараметрыЧека.Вставить("operator", Кассир);
// Позиции чека
МассивПозиций = Новый Массив;
Позиция = Новый Соответствие;
Позиция.Вставить("type", "position");
Позиция.Вставить("name", "Тестовая услуга в браузере");
Позиция.Вставить("price", 1500.00);
Позиция.Вставить("quantity", 1);
Позиция.Вставить("amount", 1500.00);
Позиция.Вставить("tax", "none");
МассивПозиций.Добавить(Позиция);
ПараметрыЧека.Вставить("items", МассивПозиций);
// Способ оплаты
МассивОплат = Новый Массив;
Оплата = Новый Соответствие;
Оплата.Вставить("type", "cash");
Оплата.Вставить("amount", 1500.00);
МассивОплат.Добавить(Оплата);
ПараметрыЧека.Вставить("payments", МассивОплат);
МассивЗаданий.Добавить(ПараметрыЧека);
ЗапросДТО.Вставить("request", МассивЗаданий);
Этот JSON-объект сериализуется в строку и отправляется обычным HTTP-запросом POST на локальный адрес веб-службы драйвера. Веб-сервер ККТ принимает задание, обрабатывает его на низком уровне и отправляет команду непосредственно на физическое устройство через COM или USB-порт.
Проанализируем ключевые преимущества использования схемы с веб-сервером ККТ:
Если веб-клиент 1С внедряется в крупной компании с жесткими политиками безопасности, системные администраторы часто отключают возможность самостоятельной установки расширений пользователями. В таких условиях расширение 1С для браузера не сможет установиться в автоматическом режиме.
Для централизованного решения этой задачи системному администратору необходимо настроить групповые политики (GPO) в домене Windows:
pbhelknnhilelbnhfpcjlcabhmfangik) в список принудительно устанавливаемых расширений (политика ExtensionInstallForcelist или разрешенных ExtensionInstallAllowlist).%AppData%, так как именно туда веб-клиент 1С временно распаковывает свои динамические библиотеки при инициализации оборудования.Применение этих настроек позволит развернуть рабочие места пользователей без необходимости ручного вмешательства в каждый отдельный компьютер.
Настройка торгового оборудования в браузере при работе с 1С — абсолютно решаемая задача. Если вы выбираете классический путь интеграции, обязательно используйте ручную установку локальной части расширения через MSI-пакет и следите за соответствием разрядности компонентов (64-бит для современных браузеров). Если же вам требуется максимальная стабильность и независимость от частых обновлений ПО, рассмотрите переход на использование локального веб-сервера драйвера ККТ, работающего по протоколу HTTP JSON API.