Расширение MCP_Polling в 1С

расширениеpollingустановка

Как ставится MCP_Polling в базу 1С, что лежит внутри расширения, какие параметры задаются. Установка одной командой без ручной правки.

Чтобы long polling заработал, на стороне 1С нужно расширение. Главное в нём: цикл опроса в общем модуле, регламентное задание, которое его запускает, и настройки подключения, вписанные в код модуля. Но если ставить его руками через Конфигуратор каждый раз, на каждой базе, на каждом стенде, это утомляет. В Расширенной редакции есть отдельный флаг, который делает установку без вмешательства разработчика.

Команда установки

mcp-1c-advanced --install-polling "C:\1cv8\bases\acc" --platform "C:\Program Files\1cv8\8.3.24.1819\bin\1cv8.exe" --db-user Администратор --poll-server-url http://localhost:9090 --poll-user mcp --poll-password secret123456

Для пользователя информационной базы без пароля флаг --db-password не нужен. Для клиент-серверной базы добавляется --server, и тогда --install-polling принимает адрес базы в виде сервер\база, например "SERVER01\MyDatabase", как в документации. Установщик передаёт это значение Конфигуратору без изменений, после ключа /S; ibcmd для клиент-серверной базы не используется.

Под капотом установщик сначала вписывает адрес сервера и учётные данные опроса прямо в код модуля MCP_PollingClient, а затем загружает расширение в базу и применяет его. В файловую базу это делает консольная утилита ibcmd, если она найдена. Если не найдена, а для клиент-серверной базы всегда, работает Конфигуратор: /LoadConfigFromFiles, затем /UpdateDBCfg. В код 1С через интерфейс лезть не нужно.

Что внутри расширения

Расширение называется MCP_Polling. Главное в нём:

  • Общий модуль MCP_PollingClient с серверным кодом для цикла опроса.
  • Регламентное задание MCP_PollingJob, которое этот цикл запускает.
  • Адрес сервера, имя пользователя и пароль для авторизации на мосту. Установщик вписывает их прямо в код модуля MCP_PollingClient, отдельной записи в ХранилищеОбщихНастроек он не создаёт. Модуль при запуске читает оттуда запись MCP_Polling/Settings пользователя, от имени которого идёт задание, и если она есть, берёт из неё непустые поля.

Править код модуля, чтобы сменить подключение, не нужно: адрес сервера и учётные данные опроса задают флаги установки, и при каждой установке установщик вписывает их в модуль заново. Если в ХранилищеОбщихНастроек под пользователем, от имени которого идёт задание, сохранена запись MCP_Polling/Settings, её непустые поля главнее вписанных значений.

Какие параметры передаются

Параметр Назначение
--install-polling Путь к файловой базе или адрес клиент-серверной базы в виде сервер\база
--server База клиент-серверная: значение --install-polling читается как сервер\база
--platform Путь к 1cv8.exe. Без него установщик ищет платформу в стандартных каталогах установки
--db-user / --db-password Пользователь информационной базы для установки: его получает Конфигуратор или ibcmd
--poll-server-url URL процесса mcp-1c-advanced на стороне разработчика
--poll-user / --poll-password Учётные данные для канала опроса

Учётка --poll-user отдельная от --db-user. Первая используется для аутентификации между расширением и сервером опроса, вторая для входа в саму базу при установке. Это разные периметры.

Что происходит после установки

Расширение появляется в списке расширений базы как обычный .cfe. Опрос запускает регламентное задание MCP_PollingJob. Если задание не запущено или безопасный режим 1С блокирует исходящий запрос расширения, опроса не будет. Что делать с безопасным режимом, описано в документации; с версии 2.41.0 после успешной установки команда --install-polling и сама об этом напоминает. Если сервер опроса недоступен, модуль на каждом круге пишет в журнал регистрации предупреждение MCP Polling: loop error: …, ждёт 5 секунд и пробует снова.

Чтобы убедиться что расширение установилось:

Конфигуратор -> Конфигурация -> Расширения конфигурации

В списке должно быть MCP_Polling.

Удаление

Штатно через Конфигуратор: «Удалить расширение». Отдельной записи с настройками установщик в ХранилищеОбщихНастроек не создаёт: адрес сервера и учётные данные опроса записаны в коде модуля расширения.

Полная переустановка (для смены параметров) делается тем же --install-polling с обновлёнными значениями. Отдельно старую копию установщик не удаляет: новая версия загружается поверх неё. Непустые поля записи MCP_Polling/Settings в ХранилищеОбщихНастроек, если она сохранена под пользователем, от имени которого идёт задание, по-прежнему главнее новых значений.

Когда это нужно

  • Каждый локальный стенд разработчика, где требуется связка AI-ассистента с 1С.
  • Контейнеризованные тестовые базы, где Apache или IIS поднимать дорого по времени.
  • Демо-стенды для презентаций: компактное расширение, никаких внешних компонентов.

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