Возникла задача - настроить печать чеков одновременно с 2 рабочих мест УТ 10.2 на одну кассу АТОЛ, подключенную по USB к одному из компьютеров. Поиски по интернету ничего конкретного не принесли.
Итак, предлагаю собственное решение задачи.
Имеем:
Компьютер 1 - рабочее место с УТ 10.2 к нему подключена касса АТОЛ.
Компьютер 2 - рабочее место с УТ 10.2 с него мы хоти печатать чеки.
Основные проблемы, возникшие при реализации:
1. Драйвер печати АТОЛ. По умолчанию даже при подключении удаленно не пускает более одного соединения.
Решение: установить АТОЛ WEB-СЕРВИС, идет в полном комплекте с драйверами АТОЛ с официального сайта.
2. Все стандартные обработки обслуживания не поддерживают работу с веб сервисом АТОЛ.
Решение: использовать нестандартную обработку. Можно переписать стандартную или взять готовую например //infostart.ru/public/956348/
3. Все кассовые смены и оборудование привязано к имени компьютера, создания 2 компьютеров с одинаковым именем в сети неизбежно спровоцирует конфликты и проблемы в сети.
Решение: Маленькая дописка в конфигурации, подменяющая имя компьютера.
В модуле Обработка.ТОСервер
// Функция возвращает строку c именем компьютера для нужд торгового оборудования.
//
// Возвращаемое значение:
// Строка - имя компьютера для торгового оборудования.
//
Функция ПолучитьИмяКомпьютераТО() Экспорт
Если мИмяКомпьютера = Неопределено Тогда
мИмяКомпьютера = ВРег(ИмяКомпьютера());
КонецЕсли;
Если мИмяКомпьютера = "Компьютер 2" Тогда
мИмяКомпьютера = "Компьютер 1";
КонецЕсли;
Возврат мИмяКомпьютера;
КонецФункции // ПолучитьИмяКомпьютераТО()
Теперь распишу все по шагам.
1. Для начала скачиваем драйвера АТОЛ для ККТ онлайн с официального сайта АТОЛ. Выбираем архив с полной версией драйвера.
2. Запускаем установку драйвера. Все ставим по умолчанию (или по вашей необходимости), не забыв отметить установку АТОЛ ВЕБ-СЕРВИС (или WEB Requests как она называется в последних версиях драйвера).
3. После установки вам будет предложено открыть страницу настройки веб-сервиса АТОЛ. Расположение по умолчанию http://127.0.0.1:16732/. Необходимо ввести логин и пароль и вот тут сюрприз - пароль неизвестен, а пустой не принимает. Все дело в том, что в последних версиях защиту веб-сервиса АТОЛ сделали обязательной, но пароль по умолчанию не устанавливается.
4. Идем в командную строку и меняем пароль на веб-сервис. Запускаем командную строку от администратора и вводим в зависимости от версии драйвера:
"C:\Program Files (x86)\ATOL\Drivers10\KKT\web\atol-fptr-web-requests-users.exe" list - если ставили последнюю.
"C:\Program Files (x86)\ATOL\Drivers10\KKT\web\atol-fptr-web-server-users.exe" list - если версия постарше и называется АТОЛ ВЕБ-СЕРВЕР
Смотрим пользователей.
Видим, что пользователей нет.
Добавляем пользователя командой в зависимости от версии драйвера АТОЛ (пароль должен быть не менее 12 символов с большими и маленькими буквами).
"C:\Program Files (x86)\ATOL\Drivers10\KKT\web\atol-fptr-web-requests-users.exe" add admin Admin12345678
"C:\Program Files (x86)\ATOL\Drivers10\KKT\web\atol-fptr-web-server-users.exe" add admin Admin12345678
5. Возвращаемся в интерфейс веб сервиса и вводим логин пароль. Добавляем кассу. Идентификатор - любой но уникальный для каждой кассы. Имя ККТ - любое. После добавления все должно выглядеть так.
5. Нажимаем на идентификатор, переходим в настройки устройства. Все настраиваем как в обычной локальной кассе.
6. Все сохраняем, переходим на вкладку устройства и активируем кассу. При все верных настройках получаем следующую картину.
7. Настройки локальной ККТ закончены. Настраиваем компьютер. Добавляем в брандмауер разрешение на подключение к порту 16732 (если все устанавливали по умолчанию) или отключайте брандмауер если уверены в своей сети.
ВАЖНОЕ УТОЧНЕНИЕ! Компьютер с подключенной кассой должен обладать постоянным IP (настроенным вручную или по DCHP неважно). В моем примере IP компьютера с кассой 192.168.1.126.
8. В УТ 10.2 подгружаем обработку обслуживания с возможностью работой с веб сервисом АТОЛ. В моем случае используется обработка //infostart.ru/public/956348/ которая прекрасно работает.
В настройках указываем идентификатор и адрес с портом компьютера с кассой.
9. Все практически готово. Теперь если вы запустите 1С на компьютере касса будет работать. Но на втором компьютере при аналогичных настройка обработки обслуживания вы получите ошибку открытия смены.
Используем код для подмены имени компьютера 2 на компьютер 1.
10. ГОТОВО! Теперь если вы откроете одновременно УТ на 2 компьютерах вы увидите и кассовые смены и пробитые чеки, а так же сможете пробивать их.
Решение, возможно, не идеальное, и теоретически возможны коллизии при пробитии чеков. Но в боевом режиме работает уже 3 месяца, проблем нет.
Спасибо за внимание!