Одна ККМ на несколько рабочих мест в 1С 8.3 УФ с помощью Атол Веб-сервер 10.Х



В драйверах Атол версии 10.Х появилась возможность работы с Онлайн ККМ через Веб-сервер. Атол Веб-сервер позволяет работать с одной ККМ на нескольких рабочих местах (ПК).

На момент написания  публикации в 1С 8.3 на управляемых формах нет поддержки Атол Веб-сервера. Я вижу следующие пути решения этой проблемы:

1) Создать DLL, которая будет преобразовывать команды для драйвера 10.Х в HTTP-запросы к веб-серверу.
При этом не придется изменять конфигурацию, а подключать драйвер для работы с ККМ можно будет стандартно.
Но есть один нюанс. У каждого пользователя будет создана в 1С своя ККМ, а в реальности она одна на всех. Ряд операций (Открытие смены, Закрытие смены) будут проходить не совсем штатно.

2) Внести изменения (сделать расширение) в конфигурации.

Смысл изменений:

ОбъектДрайвера = Новый ("AddIn....")

заменяем на

ОбъектДрайвера = ВнешниеОбработки.Создать("...")

Ну или что-то подобное.

При обращении к ОбъектДрайвера в конфигурации будут вызываться процедуры и функции внешней обработки. А уже в этих процедурах и функциях будут формироваться HTTP-запросы к веб-серверу.

Изменения придется вносить где-то в общих модулях МенеджерОборудования…

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

3) Для УТ 11.4 в модуле формы обработки ПредпросмотрЧека вместо:   

МенеджерОборудованияКлиент.НачатьФискализациюЧекаНаФискальномУстройстве(
Оповещение,
УникальныйИдентификатор,
ПараметрыОперацииФискализацииЧека,
ПараметрыККТ.ИдентификаторУстройства,
ПослеОткрытияЧека);

вызываем внешнюю обработку Чек_Атол_Веб_Предпросмотр, из которой формируем HTTP-запросы к веб-серверу:

ОбъектыНазначения = Новый Массив;
ОбъектыНазначения.Добавить(ДокументСсылка);
ПараметрыОперацииФискализацииЧека.Вставить("ОбъектыНазначения",ОбъектыНазначения);

СсылкаНаФайл = ПолучитьСсылкуНаФайлИзСправочника("Чек_Атол_Веб_Предпросмотр"); //Имя обработки
ОткрытьФорму(
"ВнешняяОбработка."+ВызовСервера(СсылкаНаФайл)+".Форма",
ПараметрыОперацииФискализацииЧека,
ЭтаФорма,,,,
Оповещение);

Обработку Чек_Атол_Веб_Предпросмотр прикрепил к публикации. Ее необходимо добавить во "Внешние обработки" и нажать кнопку "Выполнить". На вкладке "Настройка" указать ip-адрес и порт web-сервера, а также применяется или нет СНО Патент (вместо ЕНВД).

Так же в модуле формы ПредпросмотрЧека необходимо добавить функции:

&НаСервереБезКонтекста
Функция ВызовСервера(АдресХранилища) //Функция подключает обработку что бы к ней можно было обратиться
Возврат ВнешниеОбработки.Подключить(АдресХранилища);
КонецФункции

&НаСервереБезКонтекста
Функция ПолучитьСсылкуНаФайлИзСправочника(ИмяФайла) //функция ищет по наименования ссылку на обработку и возвращает ссылку на реквизит "ХранилищеОбработки" найденной обработки
Возврат ПолучитьНавигационнуюСсылку(Справочники.ДополнительныеОтчетыИОбработки.НайтиПоНаименованию(ИмяФайла),"ХранилищеОбработки");
КонецФункции

В публикации прикрепил измененную обработку ПредпросмотрЧека для УТ 11.4.8.92. Ее можно добавить в конфигурацию, а можно подключить как Внешнюю обработку. Кроме выше указанного кода в обработке внесены изменения по определению наличных, безналичных сумм оплаты, предоплаты. А также определения ПризнакСпособаРасчета, ПризнакПредметаРасчета.

Для корректной работы обработки ПредпросмотрЧека в оборудовании должна быть подключена ККМ.

Решение: подключаем каждому пользователю Эмулятор ККМ и можно работать.

 

Штатное открытие и закрытие смены будут проходить только в БД. Для открытие и закрытие смены в ККМ нужна будет отдельная внешняя обработка (можно использовать ККМ_Атол_Веб).

 

4) Написать внешнюю обработку. Которая будет подключаться в «Дополнительных отчетах и обработках» и вызываться из документа.
Из плюсов — не надо изменять конфигурацию. Из минусов — многие механизмы работы придется писать в обработке.

По данному варианту в публикации выложена обработка для УТ 11.4.8.92 — Чек_Атол_Веб. Обработку можно вызывать из документов ПриходныйКассовыйОрдер, РасходныйКассовыйОрдер, ОперацияПоПлатежнойКарте, которые созданы на основании РеализацияТоваровУслуг или ВозвратТоваровОтКлиента.

В обработке на вкладке настройка необходимо установить ip-адрес и порт web-сервера, а также применяется или нет СНО Патент (вместо ЕНВД).

Обработка в реальных условиях еще не использовалась, так что будьте внимательны.

04.09.19
Добавил обработку для работы с ККМ через Атол веб-сервер. Есть возможность: Открыть смену, Закрыть смену (Отчет с гашением, Z-Отчет), Отчет без гашения (X-Отчет), Состояние расчетов, Внесение, Изъятие.

Обработка подключается в «Дополнительных отчетах и обработках».

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *