Подключение онлайн кассы (ККМ) ATOL к УТ 10.3 в терминале. Личный опыт

Оборудование - ККМ

Использование Онлайн Кассы на Windows HOME c драйвером без цифровой подписи. Проброска портов для ККМ. Использование компьютера с кассой в качестве сервера для быстрой печати чеков через терминал без использования сквозных COM портов.

Вот список проблем, с которыми приходится сталкиваться и краткое описание их решений. Более подробное описание со скриншотами ниже.

1. Компьютеры с Widows 10 Home не могут установить корректно драйвер Атол ТО. Решение от ЦТО - купить и использовать версию операционки проф за +15 тр. Решение - включил в операционке и биосе возможность установки не подписанных драйверов (не слетает при перезагрузке).

2. При работе через терминал и с пробросской COM портов чек выходит с колосальной задержкой и тупняком в 13 секунд. Решение от ЦТО - работать локально, 1С установить локально, сервер принести в локалку с компьютером и кассой. Решение - отказаться от классической пробросски COM-портов в терминале, использовать службу драйвера ККМ АТОЛ, к которой можно подключиться из терминала через интернет. Работает мгновенно.

3. При начале работы система сообщает, что смена не открыта. Теперь есть журнал кассовых смен в УТ 10.3. Открывать и закрывать смены нужно в нем. Автоматически смена не открывается.

Теперь по порядку.

Подключение ККМ к операционной системе Windows 10 Home

1. Вся проблема заключается в том, что на данной операционной системе нельзя устанавливать не подписанные фирмой Microsoft драйвера. Поэтому, нужно включить такую возможность дополнительно

2. Отключаем проверку подписи драйверов навсегда — с использованием командной строки для редактирования параметров загрузки.

2.1 В BIOS требуется отключить Secure Boot (это обязательно).

       2.2 Запустите командную строку Windows 10 от имени администратора. В командной строке по порядку введите следующие две команды:

bcdedit.exe -set loadoptions DISABLE_INTEGRITY_CHECKS
bcdedit.exe -set TESTSIGNING ON
 
Отключение проверки подписи драйверов в командной строке
 
После того, как обе команды будут выполнены, закройте командную строку и перезагрузите компьютер. Проверка цифровых подписей будет отключена, с одним лишь нюансом: в правом нижнем углу вы будете наблюдать уведомление о том, что Windows 10 работает в тестовом режиме (чтобы убрать надпись и вновь включить проверку, введите в командной строке bcdedit.exe -set TESTSIGNING OFF).
3. Если при подключении к кассе через COM порт вы видите ошибку типа "Нет связи -1", то нужно все перезагрузить (и кассу), если не поможет, то на COM порты нужно установить вместо стандартных Winsows Драйверов драйвера из каталога с установленным драйвером ККТ.
 
Установка драйверов
 
1. Устанавливаем Атоловские драйвера на локальный компьютер и на терминальный сервер

 

 
2. Присваиваем локальному компьютеру постоянный статический IP адрес, например 192.168.1.4
 
3. Отключить нужно обязательно IP v6
 
4. Отключить нужно так же и брендмауэр Windows или добавить нужный порт в список исключений
 
5. На роутере в локальной сети с кассой сделать проброску порта 6220 на компьютер кассира
 
6. ЭТОТ ПУНКТ НЕ ОБЯЗАТЕЛЕН, он для проверки. Переходим к настройкам на терминальном сервере. В драйвере ККМ выполняем тестовое подключение по порту 6220 указав внешний IP адрес подсети с нашей кассой
 
7. Проверяем подключение, все должно мгновенно сработать
 

Подключение кассы к 1С

1. Важно помнить, что никакие кассовые смены автоматически не открываются (пишет что кассовая смена не открыта), т. к. это написано в интерете, открывать ее нужно в 1С дополнительно ежедневно (ежесменно).

2. В настройках торгового оборудования добавляем нашу ККТ с передачей данных, загружая драйвер с сайта ИТС

3. В параметрах подключения нужно не забыть указать компьютер (внешний ip адрес) и порт

4. С настройками покончено, переходим к открытиям смены

 

Для работы в терминале клавиатурного (в режиме USB-HID) сканера ШК

Отказываясь от проброски COM портов, реализуем повторное нажатие клавиши F7 после первого сканирования товаров в документ Чек ККМ. Сканер вообще не нужно подключать как торговое оборудование.

Процедура формы документа чек ККМ:

Функция СШКНоменклатура(Номенклатура, Характеристика, Серия, Качество,

Единица, Количество, СШК) Экспорт

 

Результат = Истина;

ИмяТекСтраницы = ЭлементыФормы.ПанельТовары.ТекущаяСтраница.Имя;

СтруктураПодбора = РаботаСТорговымОборудованием.СформироватьСтруктуруПодбора(Дата, Номенклатура, Характеристика,

Серия, Качество, Единица,

Количество, мВалютаРегламентированногоУчета,

Неопределено, мУказаниеСкладовВТЧ,

ТипЦен, , , УсловиеПродаж, Склад);

 

Если ИмяТекСтраницы = "Товары" Тогда

ОбработкаПодбора(Товары, СтруктураПодбора);

Иначе

Предупреждение("На странице """

+ ИмяТекСтраницы

+ """ подбор номенклатуры не предусмотрен.");

КонецЕсли;

 

//!нажмем еще раз F7

КоманднаяПанельТоварыПоискПоШтрихКоду(ЭлементыФормы.КоманднаяПанельТовары.Кнопки.ПоискПоШтрихКоду) ;

 

Возврат Результат;

 

КонецФункции // СШКНоменклатура()

 
 

 

Подключение торгового оборудования по RDP для конкретного пользователя

В модуле обработки ТОСервер в 1С заменим код в процедуре для привязки к пользователю

 

Функция ПолучитьИмяКомпьютераТО() Экспорт

 

//Если мИмяКомпьютера = Неопределено Тогда

// мИмяКомпьютера = ВРег(ИмяКомпьютера());

//КонецЕсли;

 

//Возврат мИмяКомпьютера;

 

//в имя компьютера добавим название пользователя, тогда торговое оборудование только к нему будет подцепляться

Если мИмяКомпьютера = Неопределено Тогда

мИмяКомпьютера = ВРег(ИмяКомпьютера());

Если Константы.ТорговоеОборудованиеИспользуетсяНаСервереТерминала.Получить() = истина тогда

мИмяКомпьютера = мИмяКомпьютера + "_"+глЗначениеПеременной("глТекущийПользователь");

КонецЕсли;

КонецЕсли;

Возврат мИмяКомпьютера;

 

КонецФункции // ПолучитьИмяКомпьютераТО()

Работа кассира (полный интерфейс)

1. Запускаем обработку Кассовые смены из меню торгового оборудования, работа с ККМ

2. Выбираем наш кассовый аппарат и жмем открытие смены

3. Теперь при проведении чеков ккм у нас все будет печататься

4. Аналогичным образом работает и кнопка закрытия смены

 

 

См. также

Комментарии
1. Андрей Карпов (karpik666) 1632 10.05.18 20:08 Сейчас в теме
Спасибо, замечу, что вариант с пробросом порта 6220 работает только на драйверах 8-й версии, на которых есть служба fdsvc, и подходит для формата обмена ффд 1.0 который устарел, компонента же 1с для работы по ффд 1.05 требует драйвера 9 или 10, рекомендуется использовать метод подключения tcp\ip
2. Сергей Цепелев (serge-ce1) 14.05.18 07:53 Сейчас в теме
(1) Добрый день !
А как использовать метод подключения tcp\ip на ККМ с интерфесом USB ?
3. Андрей Карпов (karpik666) 1632 14.05.18 08:02 Сейчас в теме
(2) Мне такой способ не известен, возможно есть специальные программы для расшаривания такого подключения по сети, но стандартно к аппарату нужно подключать Ethernet кабель, чтобы он имел свой IP адрес.
4. Denger (Denger) 16.05.18 08:11 Сейчас в теме
(1) в настройках начиная с версии 8.14.2 (не точно) уже нет поля Компьютер. При работе в терминале вообще интересная ситуация была, когда чек улетал не на ту кассу (не было привязки к пользователю). Добавил отбор касс при подключении по значению ОсновнаяКассаККМ в настройках пользователя
5. Алексей Станиславович (Drizer2000) 13 16.05.18 11:31 Сейчас в теме
При работе через терминал с проброской ком-портов на сервер Windows Server 2008 R2 пробитие чеков не тормозит. Стоят 9-е дрова атола. Что я сделал не так?) Может на других серверных операционках тупит. не пробовал
6. Алексей Станиславович (Drizer2000) 13 16.05.18 11:41 Сейчас в теме
Для подключение торгового оборудования по RDP - решение от 1с - это просто полный провал, самое удивительно,что этот косяк они не устранили с самого существование ут 10.3, мне даже интересно почему они не хотят это исправлять. Может кто писал в тех. поддержку,очень интересно что они отвечают. Я использовал решение не через пользователя, а через имя компьютера на котором подключено оборудование.
Функция ПолучитьИмяКомпьютераТО() Экспорт

	//((заменим на имя физического компа 
	//типовой код комментируем. 
	//Если мИмяКомпьютера = Неопределено Тогда
	//	мИмяКомпьютера = ВРег(ИмяКомпьютера());
	//КонецЕсли;
	Если мИмяКомпьютера = Неопределено Тогда
		WSS = Новый COMОбъект("WScript.Shell");
		WSSE = WSS.Environment("Process");
		мИмяКомпьютера = ВРег(WSSE.Item("ClientName"));
		Если ПустаяСтрока(мИмяКомпьютера) Тогда
			мИмяКомпьютера = ВРег(ИмяКомпьютера());
		КонецЕсли;
	КонецЕсли;
	//если зайти в терминальной сессии консольно, то получим "CONSOLE",
	// в этом случае применяем типовую функцию
	Если мИмяКомпьютера = "CONSOLE" Тогда  
		мИмяКомпьютера = ВРег(ИмяКомпьютера());
	КонецЕсли;
	
	Возврат мИмяКомпьютера;

КонецФункции // ПолучитьИмяКомпьютераТО()
Показать
7. klom klom (klom) 16.05.18 11:51 Сейчас в теме
Для работы ФФД 1.05 данное решение не подходит, так как требуется драйвер выше 9. Остается только проброс COM портов в свойствах RDP соединения.
Оставьте свое сообщение