Подключение и настройка нескольких терминалов оплаты через RDP

Пример настройки и подключения нескольких терминалов оплаты СберБанка РФ при работе клиентов (магазинов) в 1С: УправлениеТорговлей 10.3 на сервере, через удаленный рабочий стол.
Все торговые точки работают в 1С УТ10.3 через удаленный рабочий стол (RDP).
В один прекрасный день установили терминал оплаты СБРФ. И всё прекрасно работало, пока не понадобилось установить такой же в ещё одном магазине. Тут и началось: танцы с бубном у сисадминов (настройка COM-портов, их проброс на сервер); мучения программистов 1С с обработкой подключения эквайринговой системы СБРФ. Но работать вместе эти терминалы на одном сервере отказывались. Работал только тот, который первый подключился к серверу, второй же при попытке провести оплату говорил, что настройки не верны, либо что пин-пад не подключен.

В результате долгих мучений наткнулся на такой вот вариант решения проблемы:
1. Добавить строки 
WorkingDir=%UserProfile%SC552 
TlvDir=%UserProfile%SC552 
в \serv_nameC$sc552pinpad.ini 

2. На сервере скопировать каталоги «sc552» в каталоги пользователей: 
\pc_nameC$sc552*.* -> \serv_nameC$usersusernamesc552*.* 

 
Привожу свои действия при настройке упомянутой схемы в виде инструкции
##################### Р А Б О Ч И Й П Р И М Е Р ######################### 
1.Скопировал 
\client01C$sc552*.* -> \servC$sc552*.* 

2.Изменил файл 

\servC$sc552pinpad.ini 

############################## 
WorkingDir=%UserProfile%SC552 
TlvDir=%UserProfile%SC552 
comport=9 
############################## 

3.Скопировал каталоги 
\client01C$sc552*.* -> \servC$Userskassir01sc552*.* 
\client02C$sc552*.* -> \servC$Userskassir02sc552*.* 

##################### Р А Б О Ч И Й П Р И М Е Р #########################

57 Comments

  1. tvixeg

    Подтверждаю, что решение рабочее:) Сам таким же способом в результате долгих мучений пару лет назад подключал свою конфигурацию к сбербанку по рдп. Причем в сбербанке сами ничего не знают как это сделать и документации такой нет…

    Только я в общем файле pinpad.ini прописывал

    WorkingDir=%UserProfile%sbrf

    TlvDir=%UserProfile%sbrf

    а ком-порт указывал уже в каждой папке пользователя свой тоже в файле pinpad.ini, но там уже в нем только одна строка например

    ComPort=2

    Reply
  2. Tarlich

    а если у вас к одному компу в магазине подключено 3 пинпада (и 3 фискальника)?

    Reply
  3. UniversaLL

    (2) Tarlich, не представляю зачем оно мне так подключать. У Вас именно так подключено и есть проблема? Или к чему Вы свой вопрос задали?

    Reply
  4. UniversaLL

    (1) tvixeg, с COM-портами я не заморачивался, так как сисадмин заверил, что набор виртуальных портов у каждого сеанса RDP индивидуальный. У всех COM9 и работает))

    Reply
  5. ToJIuK

    (3) Такой вариант возможен есть организация использует 2 юр. лица (ООО и ИП) . И тут сталкиваемся с проблемой 🙂 . а вообще на стороне 1с как решили данную проблему ? указывали конкретную папку для каждого пользователя?

    Reply
  6. UniversaLL

    (5) ToJIuK, на строне 1с вообще ничего не делал. Стандартная обработка.

    Reply
  7. Entigo

    Делали аналогично.

    Но для того чтобы все настройки были в одном месте, а не распиханы по профилям пользователей, в pinpad.ini прописали следующее:

    WorkingDir=C:SC552SessionData\%USERNAME%

    TlvDir=C:SC552SessionData\%USERNAME%

    Столкнулись с проблемой. Если пользователи имеют русские наименования (например, в нашем случае «Пушкина 1»), то не работает. Проблема скорее всего сводится к тому что драйвер сбера не поддерживает кодировку текста. Чтобы не переименовывать пользователей, случайно нашли другое решение. Под каждым профилем запустили из-под 1С УТ 10.3 сверку итогов. При этом автоматически создались папки с наименованием типа «ЏгиЄЁ­ 1». Ну а дальше просто раскидали по папкам нужные файлы.

    Reply
  8. xzorkiix

    подпишусь на комментарии.

    Reply
  9. ferrasoft

    Попробуем использовать это решение для Управление торговлей 11.

    Reply
  10. vertkov2010

    (9) ferrasoft, У меня на УТ 11 не взлетело. Поделитесь решением на ут 11

    Reply
  11. marksheder

    1C УПП все работает. Спасибо!

    Reply
  12. Kiprida

    А как быть с регистрацией dll? Нужно ее регистрировать дополнительно на сервере или нет?Если нужно то один раз и будет доступно для всех пользователей или нужно заходить под каждой учетной записью и регистрировать?

    Reply
  13. UniversaLL

    (12) Kiprida, о какой dll идёт речь.

    При реализации этого решения никаких dll я не регистрировал.

    Reply
  14. CnupT

    На сколько я понимаю, речь идет о библиотеках sbrf.dll и SBRFCOM.dll

    Подозреваю, описанный метод работает следующим образом:

    Мы сохраняем на диске с сервера основную папку sc552 и соответственно при обращении к упомянутым выше библиотекам

    попадаем именно в эту папку. Прочитав в ней pinpad.ini нас отправляют в папку конкретного пользователя. И дальше с нами работает уже та папка.

    Т.е. регистрация библиотек нужна только один раз, в центральной папке. Чтобы в дальнейшем программа могла нас отправить куда нужно.

    Reply
  15. Kiprida

    (14) CnupT, именно про эту библиотеку вопрос. Буду пробовать

    Reply
  16. Kiprida

    Ситуация следующая. Имеется два пользователя. user1 работает на локальной учетной записи и терминал сбербанка подключен по COM1 физически. User2 работает через RDP терминал подключен по USB (эмуляция COM порта) Com7. Порт пробрасывается нормально на сервер. Второму пользователю, у которого эмуляция COM, EnableUSB=0 в pinpad.ini не прописовала. COM порты указываются у каждого пользователя в свое папке соответственно.

    Проделав все пункты выше описанные имею следующее поведение. У обоих пользователей 1С активирует терминал первого пользователя. Всегда. То есть тест устройства в настройках 1С активирует терминал первого пользователя. Как это победить ума не приложу.

    Reply
  17. ashush

    У нас используется вариант с именем клиентского компьютера, а не именем пользователя.

    Т.е. написано: WorkingDir=E:TERMINALSB\%clientname%

    И теперь не важно, под каким именем пользователь заходит на сервер, его все равно перенаправляет на папку, совпадающую с именем компьютера, с которого он заходит на сервер.

    Reply
  18. ashush

    Только вот что-то с последними версиями сбербанковских библиотек беда. Сотрудник Сбербанка называет их «с поддержкой pci dss». Как будто они игнорируют WorkingDir . Заставить работать с ними два терминала не получилось. Пока откатились на старые версии библиотек, но рано или поздно переходить придется, поэтому ищется решение.

    Reply
  19. user719104

    (18)

    Решение есть.

    Принцип такой же, только на дописать в родительской папке:

    ComPort=»должен быть у всех терминалов один»

    WorkingDir=%UserProfile%sc552\r

    PrinterFile=%UserProfile%sc552p

    Обновляли несколько точек все работает, дальше все зависит от драйвера рук

    Reply
  20. ashush

    (19)

    Если я правильно понял, то они вообще не хранят данные локально и игнорируют WorkingDir . Логи у вас в итоге куда пишутся? А вот одинаковый ComPort можно попробовать.

    Reply
  21. user719104

    (20)

    Нет workingdir работает, модуль для работы все равно нужен терминалу. Просто с pci dss все хранится в терминале, а не на кассе как раньше, терминал отвечает в «p» файл, а с него уже 1с печатает с него слипы. Логи пишутся в родительской папке

    Reply
  22. eaw3

    Добрый день!

    Работа двух терминалов через rdp с разных компьютеров реализована — все хорошо! Но висят на одном Com. Далее осталась касса, где к одному ПК подключено два ФР, два Юр.лица и два терминала. Мультимерчант — не подходит из соображений бухгалтерии. Никто так и не решил вопрос (2)???

    Reply
  23. Tarlich

    Мультимерчант — я не знаю что это такое

    из моего «рекорда» у меня в одной базе (рдп) 3 организации — 6 магазинов — в кажом магазине по 3 пинпада и 3 кассовых аппарата на одном компе — 3 год полет нормальный

    Reply
  24. nDaDe

    (19)

    А если com будет один и тот же, разве не возникнут проблемы с мапингом com в терминал?

    Может кто-нибудь поделится библиотеками где еще работали WorkingDir,TlvDir.

    Reply
  25. nDaDe

    Как вариант еще можно использовать регистрацию на терминале под каждого пользователя в свою папку и тогда все нормально будет.

    Reply
  26. bomber99544

    Коллеги кто нибудь подключал пинпад через сетку? К серверу терминалов

    Reply
  27. DimanZ

    (23)Андрей, поделитесь, пожалуйста, методикой решения данной проблемы. У клиента по 2 пинпада, с фискальниками вопрос решается нормально через логические устройства в драйвере, а у пинпада такого не нашел. Также интернет есть только на локальной машине, на сервере принципиально отключен, фискальники настроили, а пинпад стучится в инет с сервера.

    Reply
  28. micha26

    (19)А если вариант с бездисковыми клиентами — а то сотрудник Сбера так и не сообразил, что делать…сам вот перелопачиваю…

    Все клиенты подключаются по rdp — порты прокидываются, но в родительском pinpad.ini что указывать? Несколько профилей?

    Reply
  29. mshi

    Тоже столкнулся с тем, что опции WorkingDir и TlvDir не работают на новых библиотеках. Хотя техподдержка Сбербанка по старому еще рассказывает про них. Вышел из положения с помощью метода ЗадатьИмяБиблиотеки(ИмяФайлаGateDLL). Сделал для каждого терминала свою папку и свой набор библиотек. Только SBRFCOM.dll одна. При создании экземпляра объекта AddIn.SBRFCOMExtension устанавливаю ему этим методом свою уникальную ДЛЛ. Путь к этой ДЛЛ можно по разному делать. У меня просто в настройке подключения жестко прописано. Можно через %clientname% или %UserProfile% или %USERNAME% его формировать. Тогда gate.dll определяет свое местонахождение и использует из него все настройки.

    Вообще для такой большой компании как Сбербанк стыдно так работать. Особенно смешным выглядит Греф со своими БигДата и прочим умствованием. Не могут нормальную документацию дать. Не говоря уже о нормальных примерах обработок 1С.

    Reply
  30. Pskmetall2016

    (29)Добрый день!Помогите,пожалуйста, в настройке терминала Сбербанка через РДП: очень нужна ваша помощь.

    модель устройства Verifone VX 820. Сбербанк.

    Суть проблемы — при оплате платежной картой из 1С УТ 11.3.4 возникает ошибка 4309. При этом сначала оплата проходит, а потом по карте происходит возврат. При этом терминал пишет «успех»,а в 1с возникает ошибка 4309.

    Установлена Windows10.

    Компоненты зарегистрированы. Все проходит нормально вплоть до ввода пин кода и обработки оплаты.А дальше 4309 и возврат оплаты.

    Подскажите, пожалуйста, что делать?

    Reply
  31. mshi

    Ошибка не у вас одной. Курите http://bankomatchik.ru/forums/33/7716

    Reply
  32. Pskmetall2016

    (31)

    Ошибка не у вас одной. Курите http://bankomatchik.ru/forums/33/7716
    Reply
  33. Pskmetall2016

    (31) я прочитала статью ,спасибо. Но все равно оплата не проходит, пожалуйста,подскажите, где должна находиться папка sc552?в данный момент она находится на диске С, библиотеки скопированы в папку bin и зарегистрированы. Папка bin также находится на диске С. Что я делаю не так?

    Reply
  34. Pskmetall2016

    в файле comer следующие записи:

    04.09 14:12:43 Failed to open device \.COM9, err 2

    Что это означает?пожалуйста,подскажите?

    Reply
  35. mshi

    (34) ПО пытается подключиться к терминалу через ком-порт 9.

    Нужно определить как подключен терминал — через ethernet или USB.

    Если USB, проверьте наличие ком-порта 9 на клиентском компьютере. Может вообще драйвера не установлены.

    Установлена ли галка на маппинг ком-портов в РДП-подключении?

    Если подключение через ethernet, то надо править ини-файл.

    Reply
  36. Pskmetall2016

    (35)спасибо за ответ. На клиентском компе проверила порт com 9, драйвер установлен, галки в подключении на ком-порты стоят.

    в диспетчере устройств есть терминал, тестовая оплата прошла через файлы из папки sc552, котрые дал специалист сбербанка

    Reply
  37. Pskmetall2016

    При тестовой оплате слип не распечатался, просто прошла оплата и отмена

    Reply
  38. Pskmetall2016

    там в статье по ссылке, советуют запустить sbcall, у меня нет такого файла в папке sc552

    Reply
  39. Pskmetall2016

    не могу скачать из статьи,там просто название.

    Reply
  40. Pskmetall2016

    (35) Коллеги прошу помощи за вознаграждение,очень срочно надо настроить терминал

    Reply
  41. Pskmetall2016

    С терминала ничего вообще не печатается, даже сверка итогов

    Reply
  42. mshi

    (41) Если еще актуально — позвоните во вторник до 9:30. Потом буду на работе и не смогу помочь. 8918-454-12-57

    Reply
  43. Pskmetall2016

    (42)актуально, теперь стала вылетать 1С при нажатии оплата картой. Позвоню завтра с утра примерно в 8.50

    Reply
  44. ashush

    (19) А в папках пользователей для новых драйверов вообще что-то теперь должно находиться? Или все в родительской папке?

    Reply
  45. voldemar81

    Подскажите, а как быть если на точках установлены терминалы различных моделей, и папки с драйверами и настройки в них не одинаковые?

    Reply
  46. Сергей Ю.

    Пробую подключить несколько терминалов по предложенной методике:

    ComPort=»должен быть у всех терминалов один»
    WorkingDir=%UserProfile%sc552\r
    PrinterFile=%UserProfile%sc552p 

    Все равно в итоге файл «p» со слипом создается только в том каталоге откуда зарегистрирована библиотека sbrfcom

    У кого работает данный метод можно узнать версии dll? В идеале скинуть сюда их

    Или есть более свежий метод работы нескольких терминалов по rdp?

    Reply
  47. user802948

    (46) Здравствуйте. Подскажите, получилось у вас найти решение?

    Reply
  48. micha26

    (46)

    PrinterFile=%UserProfile%sc552p

    Похоже у всех такая проблема. «Специалисты» сбербанка молчат.

    Reply
  49. Сергей Ю.

    У меня нет. Спасает только малое количество транзакций в магазинах. Еще не было ситуации чтобы 2 терминала одновременно проводили оплату.

    Reply
  50. micha26

    (49)Указал один ком порт на все терминалы, фиг знает вроде работает временами.

    Reply
  51. user637113_crysound

    Подключаю эквайринг от СБ на Далион, один как то заработал, хотя платежи не проходили, как после заработал так и не поняли….

    2й так же как первый ни в какую завести не можем пробитие чека идёт от банка, а ККМ не хочет в итоге операция не прошла пишет и всё заново… Забавляет ситуация что сменить Ком порт не представляется возможным, в диспетчере устройств ставлю другой, после перегруза внутри настройки порта всё равно 9й фигурирует, не смотря что в дереве устройств отображается тот который установили принудительно…

    Ещё всё осложняется что в далионе нужен драйвер Атол… для всего оборудования… как в торговле только дллки не прокатит…

    Не будет советов?

    Reply
  52. Swizbiz

    Если нужно подключить несколько эквайринговых терминалов по RDP, то каждый отдельно настроенный на локальной машине терминал будет иметь свою папку sc552(на примере сбербанка) и нужно скопировать эту папку с локальной машины на сервер. Если подключается первый терминал, то нужно зарегестрирорвать библиотеку SBRFCOM.DLL и SBRF.dll через командную строку с правами администратора командой — Regsvr32 «C:sc552SBRF.dll» c указанием пути к этим библиотекам. Таким образом для каждого нового эквайрингового терминала будет своя папка sc552. И при подключении оборудования в 1С нужно указать путь к этой папке.

    Reply
  53. wwweee1

    Собственно получилось подключить несколько терминалов на одном RDP.

    1. Делаем для каждого пользователя отдельный каталог со всеми файлами, в pinpad.ini устанавливаем нужные настройки для пинпада этого пользователя.

    2. Регистрируем один раз Regsvr32 «ваш путьSBRF.dll» и Regsvr32 «ваш путьSBRFCOM.dll».

    3. Делаем батник с subst s: C:sbrfкаталог пользователя с файлами сбера. Добавляем в автозапуск пользователя.

    4. Правим пути в регистре с «ваш путьSBRF.dll» и «ваш путьSBRFCOM.dll» на S:. В реестре где есть ключ «HELPDIR» меняем каталог на S;.

    5. Регистрируем компоненту в 1С, через настройки в Подключаемом оборудовании.

    Вроде работает…

    ЗЫ

    Регить ДЛЛ бесполезно с дисков SUBST и подкюченых сетевых дисков, т.к. все равно пропишет путь до первоисточника…

    Reply
  54. user1096023

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

    1. по терминальному режиму. со слов спецов сбербанка: создаем в каталоге юзера каталог sc552 туда закидываем весь софт. далее из под прав этого пользователя регистрируем sbrf.dll и sbrfcom.dll (по моему адвасед юзер) т.е. регаем столько раз сколько пользователей. (в 17 году видел на сервера в рабочем состоянии , но сейчас нет туда доступа.) на данный момент один из клиентов не может решить ее.

    2. если кому то не хочется прокидывать COM через терминальную сессию. терминал ставим на мультипортовике (терминал подключаем к Ethernet напрямую) в терминал прописываем свой IP адрес, маску шлюз. и из кассовой программы обращаемся не к ком порту а по IP адресу. (кировский, остин, галамарт правда у них нет терминального сервера.)

    3. если кому то надо инфу, то инженеры сбербанка по вашему запросу передадут вам информацию «для разработчиков» там много что интересного. если манагеры вас не понимают, найдите инженера который бегает по точкам и попросите его. если он скажет что нет такой инфы, то скажите что в папке UPOS каталог DOCs эта информация не ДСП и дать они имеют право.

    Reply
  55. dynamicsystems
    Reply
  56. michfood
    Reply
  57. ashush

    А есть вообще какая-то разница — использовать SBRFCOM.dll или SBRF.dll? Как-то они отличаются по предоставляемым возможностям или исключительно технической реализацией?

    Reply

Leave a Comment

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