Подключение на одном ПК к одной 1С две службы ТС Пиот и два ККТ

25.05.26

Интеграция - ККМ

В статье разобрана реальная проблема: на одном компьютере нужно одновременно работать с двумя кассами (Атол и Штрих) и двумя службами проверки маркировки «Пиот» от ЕСП. Главная сложность — оба драйвера ККТ «хотят» занимать один и тот же порт 4042.

Каждый ПИОТ для своей ККТ работает на разных портах и возвращает результат проверки.

 

Вводные данные

ТС Пиот используем от производителя ЕСП

ККТ используем Атол и Штрих

Официальная позиция от ЕСП

 

 

Этап 1 Регистрация ККТ В ЕСМ

 

Первый технический вопрос, как появляются в списке ККТ

 

 

С появлением ПИОТ производители ККТ сделали агента ДККТ, которая слушает 4042 порт и обрабатывает входящие соединения, для дальнейшей обработки, на внутренним gRPC сервере ККТ.

Для получения списка ЕСМ запрашивает информацию об устройстве и ее отдает.

Пример из лога:

2026.05.22 22:42:06.851 INF Запросим инфо об устройстве

2026.05.22 22:42:06.852 INF deviceConfig &{{7380440902442xxx fn_v_1_2 2026-11-23 00:00:00 3439 49802 13724} {0006965453000xxx 00108727311xxx 7743793xxx АТОЛ 27Ф 5.17.0 АТОЛ 10.10.8.24 АТОЛ 2026-05-22 22:42:05} 1} err <nil>

 

Теперь разберемся, как запускается ДККТ у каждого производителя.

Небольшое отклонение от курса, я не нашел возможности изменить порт ДККТ, возможно, производители негласно договорились, что он 4042, это будет являться основным камнем преткновения в дальнейшем.

 

ККТ производитель АТОЛ,  драйвер KKT10-10.10.8.23

С установкой драйвера устанавливается служба ATOL: Fptr grpc service

При старте она занимает на всех интерфейсах порт 4042

C:\Windows\system32>netstat -ano | findstr 4042

  TCP    0.0.0.0:4042           0.0.0.0:0              LISTENING       10144

И пока служба жива, порт занят

ККТ производитель Штрих, драйвер DrvFR_5.25_2142 производитель ТоргБаланс

У штриха нет отдельной службы, порт занимается при первом обращении к драйверу и живет до тех пор, пока драйвер активен (это второй камень преткновения, но об этом позже, для регистрации это не имеет никакого значения).

Как только мы запустили Тест драйвер(DrvFRTst.exe), у нас занялся порт.

Как происходит инициализация драйвера в 1С, описано ниже, как дойдем до 1С.

C:\Windows\system32>netstat -ano | findstr 4042

  TCP    127.0.0.1:4042         0.0.0.0:0              LISTENING       8756

 

Теперь для регистрации в Тест драйвере должны быть установлена связь и с оборудованием, и тогда ЕСМ по gRPC сможет получить информацию.

Вывод

Сначала запускаем службу Атол и регистрируем Атол.

После отключаем службу Атол и запускаем Тест драйвер и регистрируем ШТРИХ.

Как происходит регистрация, есть много информации, дублировать не вижу смысла, при двух ККТ должна получиться картина 

 

 

Один оркестратор – служба для управления службами ESM: Control Module.

ESM: Control Module – две службы, для каждого ККТ в имени службы заложен серийный номер.

Пример
esm-cm-045372000208xxxx

На данном этапе запустить одновременно у нас две службы не получится, но они зарегистрированы, для каждого ККТ получена собственная лицензия, ее необходимо предварительно приобрести у ЕСП для каждого ККТ.

 

Этап 2. Настройка служб ESM: Control Module

Исполняемый файл службы "C:\Program Files\ESP\ESM\bin\controlmodule.exe" --id 045372000208xxxx --port 50402 --soft-port 0

Мы видим, что службу можно запустить на разных портах, каждая следующая сама регистрируется последовательно на порт 50401, 50402.

Но на данном этапе мы все равно не можем их одновременно запустить, разбираемся дальше, почему.

Проверяем, что запускает служба 2160 – это пид службы на данный момент

netstat -ano | findstr 2160

  TCP    0.0.0.0:50402          0.0.0.0:0              LISTENING       2160

  TCP    0.0.0.0:51401          0.0.0.0:0              LISTENING       2160

И видим, что помимо 50402, которая указана, служба еще открывает 51401 для проверки марок из приложений, в том числе 1С как раз используется именно внешний порт.

У нас первая задача изменить внешний порт, да, и это возможно, спасибо разработчикам ЕСП.

Настройки хранятся C:\ProgramData\ESP\ESM\um в файлах с номерами ККТ.

Пример config_045372000208xxxx.yml

Нас интересует секция

soft:

            swaggerPath: ""

            httpsPort: 51401

            lastkey: ""

Для одной из служб меняем порт на другой пример 51402, но это надо запомнить и настроить в дальнейшем в 1С, чтобы при обращении к ККТ 045372000208xxxx проверка проходила по порту 51402.

На данном этапе можно запустить обе службы для теста.

 

 

Мы видим, что обе службы запущены и не конфликтуют.

Теперь нам нужно разобраться, как все же служба получает информацию о физической ККТ.

Снова смотрим конфиг конфигурации

dkkt:

            port: 4042

            url: 127.0.0.1

 

Вот второй ключевой момент: если мы в Штрих ничего не можем сделать, т.к. при первом обращении к драйверу у нас происходит открытие порта 4042 на 127.0.0.1, то с Атолл картина немного другая, занимает порт 4042 на всех интерфейсах и согласно документации стека протокола Windows (WinSock) и алгоритму Best Match, если у нас занят сокет на одном из интерфейсов, и мы занимаем сокет на всех, то служба займет только на имеющихся и запустится, конфликта не будет.

Следствие предыдущего абзаца - нам нужно сначала запустить драйвер, а после службу, тогда для Атола настраиваем  url с сетевым адресом своего ПК у нас 192.168.0.2 как пример.

И тогда служба Есм для Атола будет опрашивать информацию о ККТ с интерфейса 192.168.0.2, а Штрих с 127.0.0.1.

На данном этапе у нас корректно отправляются запросы по каждому ТС ПИОТ.

 

Служба

Внутренний gRPC порт (связь с драйвером ККТ)

Внешний HTTP порт (для 1С)

Назначение

Атол

4042 (через 192.168.0.2)

51402 (меняем в конфиге)

Прием запросов на проверку марок от 1С

Штрих

4042 (через 127.0.0.1)

51401 

Прием запросов на проверку марок от 1С

 

Этап 3. Настройка в 1С

Первым делом отключаем службу Атола (ATOL: Fptr grpc service) из автозапуска в службах.

Как происходит открытие порта 4042 из 1С.

ОбъектДрайвера = Ждать ПодключаемоеОборудованиеДрайверКлиент.ОбъектДрайвераАсинх(ПараметрыПодключения); // Тут мы получаем драйвер ККТ Штрих, если в параметры передали информацию о штрихе

РезультатВызова = Ждать ОбъектДрайвера.ПолучитьРевизиюИнтерфейсаАсинх(); и вот тут мы обращаемся к драйверу и у нас сразу запускается сокет 4042 на 127.0.0.1, владельцем процесса оказывается сама 1С. Одно из главных ограничений то, что закрыть мы его не можем, разработчики драйвера не позаботились, хотя было бы гораздо проще, если бы метод существовал, но имеем что имеем.

Дальше запускаем службу ATOL: Fptr grpc service, для этого я сделал отдельную службу, которая умеет по REST запускать службу Атол и переключать службы ESM, переключение нужно, если у нас есть два ККТ Атол, но это немного другая история и если кому нужна будет служба, которая умеет управлять включением и отключением служб ЕСМ по Rest, напишите в комментариях.

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

Итог


Вступайте в нашу телеграмм-группу Инфостарт

Вы можете заказать платную адаптацию этой статьи под ваши задачи на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

См. также

ККМ Кассовые операции Розничная торговля НДС 22% Системный администратор Программист 1С:Предприятие 8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Бухгалтерия государственного учреждения 1С:Бухгалтерия автономного учреждения Россия Платные (руб)

Обработка осуществляет обслуживание ККТ АТОЛ, Штрих, Вики Принт и Меркурий для конфигураций "УТ 10.3", "КА 1.1", "УПП 1.3", "Розница 1.0", "БП 2.0" и других отраслевых решений, построенных на основе указанных выше конфигурациях. Поддерживает возможность параллельно пробития чеков на одной ККМ несколькими пользователями. Поддерживает Веб-сервер Атол. Соответствует требованиям 54-ФЗ. Поддерживает ФФД 1.0, 1.05, 1.1 и 1.2. Разделяет чеки по нескольким СНО. Поддерживает механизмы подключения ККТ по TCP/IP, для работы через RDP или интернет. Поддержка маркировки и разрешительного режима. Поддержка пробития чеков с новыми ставками НДС 5%, НДС 7% и НДС 22%.

7900 руб.

25.05.2015    378392    2278    3275    

1173

ККМ Кассовые операции Розничная торговля Программист Бухгалтер Пользователь 1С:Предприятие 8 1С:Розница 2 1С:Управление торговлей 11 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Расширение для типовых конфигураций для Управляемых форм позволяет выполнять печать кассовых чеков на одну ККМ 54-ФЗ с нескольких рабочих мест. НИКАКИХ НАСТРОЕК В РАЗРАБОТКЕ - ПОДКЛЮЧИЛ И ПЕЧАТАЙ. Если у вас несколько отделов и одна ККМ - печатайте на одной ККМ! Если у вас две ККМ и одна поломалась - печатайте на одной ККМ, пока ремонтируете другую! Решение для розничных продаж! Обновление 19.03.26 для 1С:Розница 2.3.23 и 27.04.2026 для 1С:УТ 11.5.25 в новых релизах tcp/ip

9500 руб.

27.08.2018    137510    790    603    

951

ККМ Розничная торговля Системный администратор Программист 1С:Предприятие 8 1С:Розница 2 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Обмен между 1С:Розница и Frontol 6 при торговле от нескольких организаций, а также ряд других полезных функций. Данный модуль синхронизации незаменим для тех, кто ведёт учет по нескольким организациям в 1С:Розница, а на РМК (рабочем месте кассира) установлен Frontol или планируется его установка. Подходит для 1С:Розница 2.3 / 3.0, 1С:УНФ 3.0

10300 руб.

22.03.2019    100199    809    482    

233

НДС 22% Учетные задачи ККМ Файловый обмен (TXT, XML, DBF), FTP 1С 8.3 1С:Комплексная автоматизация 1.х 1С:Управление торговлей 10 1С:Управление производственным предприятием Бухгалтерский учет Налоговый учет НДС Платные (руб)

Готовое обновление для конфигурации 1С:Управление торговлей 10.3, 1С:Комплексная автоматизация 1.1 , 1С:Управление производственным предприятием 1.3 обеспечивающее полную поддержку новой ставки НДС 22%. Для 1С:УТ 10.3 реализована поддержка печати чеков ККМ, а также Правила обмена с 1С:БП 3.0. Решение встраивает необходимые изменения в перечисления и документы, включая торговые операции и печатные формы.

12200 руб.

16.12.2025    8674    92    0    

86

ККМ Кассовые операции Розничная торговля НДС 22% Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:Торговля и склад 7.7 1С:ERP Управление предприятием 2 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 1.6 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 10 1С:Управление торговлей 11 1С:Розница 3.0 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Рестораны, кафе и фаст-фуд Россия Платные (руб)

«Сервер ККМ» позволяет приложениям работать с фискальными регистраторами по локальной сети или интернет, организовать печать на одном ККМ с нескольких рабочих мест с поддержкой очереди печати. Поддержка НДС 22% для Атол, Штрих, Ритейл и всех 1С-совместимых ККМ с драйвером ревизии 4.7 и 5.0. Поддерживаются ВСЕ ревизии требований фирмы 1С к разработке драйверов ККТ от 2.2 до 4.7. Возможность печати чеков с НДС 22% без изменения конфигурации 1С. Поддержка драйвера от "Торгового баланса М" с возможностью работы с ТСПиОТ. Поддерживаются требования к ККМ, действующие с 1 сентября 2025г.

9000 руб.

02.09.2016    155017    232    203    

234

Кассовые операции ККМ Пользователь 1С:Предприятие 8 1С:Управление торговлей 11 Розничная и сетевая торговля (FMCG) Россия Управленческий учет Платные (руб)

Расширение для 1С:Управление торговлей 11.5, которое позволяет пробивать чеки ККМ и списывать товар с разных складов. Склад списание товара можно указывать в табличной части рабочего места кассира (РМК).

7198 руб.

12.04.2023    15883    117    13    

92

ККМ Кассовые операции Розничная торговля НДС 22% Системный администратор Программист 1С:Предприятие 8 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Управление производственным предприятием Россия Платные (руб)

Обработки осуществляют обслуживание фискальных регистраторов, поддерживаемых драйвером "АТОЛ: Драйвер ККМ v.10.10.8", "ШТРИХ-М: Драйвер ККМ v 5.21", "ВИКИ: Драйвер CSI v 1.6", для конфигураций БП, УТ, КА, УПП, "Розница 1.0", соответствующих требованиям закона ФЗ-54 о применении контрольно-кассовой техники. Поддержка НДС 20%, 22%. Поддержка маркировки 488-ФЗ. Марки. Акциз. Честный знак. Разрешительный режим. Локальный модуль Честный Знак. Поддержка УСН НДС 5%, 7%, 20%, 22%. Требования к ККТ по приказу Федеральной налоговой службы от 26.03.2025 № ЕД-7-20/23, вступающие в силе с 01.09.25. Сертификация ТС ПИоТ.

6039 руб.

02.02.2017    299952    403    2433    

579

Кассовые операции ККМ Пользователь 1С:Предприятие 8 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Платные (руб)

Расширение для 1С:Управление торговлей 11.5 и 11.4, которое позволяет из рабочего места кассира разбивать чек ККМ на несколько чеков и пробивать их на разных кассах подключенных к одному РМК. Можно пробивать разные группы товаров по разным организациям на разных кассовых аппаратах.

7198 руб.

22.08.2022    14505    48    17    

45
Для отправки сообщения требуется регистрация/авторизация