Банковский терминал и 1С7.7



1с7.7 и банковский терминал. Внешняя обработка обслуживания.

В 1С8 есть обработка подключения банковского терминала. В 7-ке такого нет.. Вернее не было. Теперь есть. Тестировалась на VeriFone Vx810. Это банковский терминал без принтера. Он использует принтер ККМ.

Внешняя обработка (SBRF.ERT) использует комплекс программ и обработок, предоставляемом Банком (СБ РФ). В частности нужны : SBRFCOM.dll, pilot_nt.dll, sb_kernel.dll

Pilot_nt.dll – основная библиотека, которую должно вызывать ПО ККМ;

Sb_kernel.dll, Gate.dll – служебные библиотеки;

LoadParm.exe – утилита для загрузки параметров библиотеки и других технологических операций.

Все необходимые файлы, а так же Инструкции Сбербанка прилагаются.

.dll-ки необходимо зарегистрировать командой regsvr

Для связи с ККМ используется Драйвер ККМ Атолл.

Если у вас драйвер ККМ загружается при начале работы системы, то в модуле обработки (Процедура ПриОткрытии()) нужно залочить (или удалить) строку «ПодключитьДрайверККМ()».

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

При вызове обработки из программы, в нее необходимо передать сумму чека.

После успешного  проведения платежа, формируется "признак успешного проведения платежа", передается обратно и обработка закрывается.

После проведения сверки итогов, формируется "признак успешного проведения сверки", передается обратно и обработка закрывается. (у меня запускается "обработка закрытия банковской смены" (свертка чеков с признаком оплаты через банк и формированием документа «Реализация розница»)). 

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

Спецы Банка рекомендуют скопировать все файлы комплекта поставки в каталог оболочки 1С (BIN).

45 Comments

  1. TrinitronOTV

    хорошая разработка, спасибо

    Reply
  2. nurislam

    Как раз вовремя.Спасибо

    Reply
  3. kdw

    прикольная вещица — не видел ни разу

    Reply
  4. Andreyyy

    Подключал такую к Штрих-М кассир (7.7).

    Намучился, поскольку у клиентов вместо фискального регистратора или ккм был подключен принтер чеков (т.е. печатали чеки своей процедурой печати встроенной в форму рабочего места и в настройках кассы как бы не было). А без ФР эта штуковина не работает. Решили проблему разработчики Штрих-М кассир, прислали dll, которой все равно — подключен ФР или нет. За что им большой поклон.

    Reply
  5. sandyanf

    Спасибо за публикацию. На её основе был подключён банковский терминал к самописной кассовой конфигурации.

    Подключить библиотеку сразу не удалось. Оказалось недостаточно скопировать SBRFCOM.DLL в каталог конфигурации. Банком был предоставлен каталог C:sc552 со всеми библиотеками, программами и документацией. Подключить библиотеку к 1с7.7 удалось только указав полный путь к данной библиотеке в предоставленный банком каталог.

    Попытка

    Результ = ЗагрузитьВнешнююКомпоненту(«C:sc552SBRFCOM.dll»);

    Если Результ = 1 Тогда

    SBRF = СоздатьОбъект(«SBRFSRV.Server»);

    SBRF.Clear();

    Иначе

    Сообщить («Не загружена внешняя компонента SBRFCOM.»,»!»);

    КонецЕсли;

    Исключение

    Сообщить («Не найдена внешняя компонента SBRFCOM.»,»!»);

    КонецПопытки;

    Далее оплата примерно так:

    SBRF.Clear();

    Amount = SBRF.SParam («Amount», Итого()*100); //сумма операции в копейках

    Ошибка = SBRF.NFun (4000); //Оплата покупки

    Если Ошибка <> 0 Тогда

    Предупреждение(«Операция с банком не удалась! Код ошибки: «+Ошибка);

    Иначе

    НомерТерминала = SBRF.GParamString(«TermNum»); //номер терминала

    НомерКарты = SBRF.GParamString(«ClientCard»); //номер карты клиента

    СрокДействияКарты = SBRF.GParamString(«ClientExpiryDate»); //срок действия карты клиента

    КодАвторизации = SBRF.GParamString(«AuthCode»); //код авторизации

    НомерТранзакции = SBRF.GParamString(«MerchantTSN»); //номер транзакции в пакете терминала

    СтрокаЧека = SBRF.GParamString(«Cheque»);

    … некие действия

    КонецЕсли;

    Полезно запомнить строку чека для получения возможности напечатать её повторно в случае каких-либо технических проблем с принтером.

    Reply
  6. 1801

    Подскажите, пожалуйста, с другими банками (не Сбербанк)обработка будет работать? Если да, то что для этого нужно сделать? Ну кроме того, чтоб иметь руки, растущие из нужного места).Спасибо.

    Reply
  7. Sanario

    (6) 1801, ну, для начала выдать информацию по терминалу, банку, используемому ПО и железу, хорошо попросить (или оплатить) и все — получите себе работоспособную обработку)

    Reply
  8. vladimirkrivko

    в банке предлагают терминал банковских карт полностью автономный , он физически не подключается ни к компьютеру ни к ФР , нужна обработка 1с торговля и склад 7.7 для печати чека оплаты банковской картой на ФР Штрих М-ФР-К. ваша подойдет или нет ? если нет может возможно ее доработать под мои нужды , готов оплатить!

    Reply
  9. avers007

    (8) vladimirkrivko, автономный терминал сам печатает чеки оплаты (2 штуки).

    Если Вам нужно, чтобы ККМ печатал чек с видом оплаты «картой», то это задается в настройках драйвера ККМ.

    Может я не понял вопрос?

    Reply
  10. vladimirkrivko

    (9) Все верно ,я хочел чтобы ККМ печатал чек с видом оплаты «картой» иначе как тогда выручка по безналу попадет в Z отчет ФР? если терминал выдает чек об оплате картой то он должен и z отчет уметь снимать? если у меня будет два z отчета как тогда заносить выручку в кассовый журнал непонятно? как я понял из этого http://www.termt.com/2013/05/o-zakonnom-ispolzovanii-kkm-i-pos-terminalov/ то у меня должен стоять или банковский терминал 2 в 1, а именно аппарат совмещающий в себе банковский терминал и контрольно-кассовый аппарат. или использовать POS систему в связке с ФР и отдельно банковский терминал т.к. в «Торговля и склад» версии 7.7 не реализована возможность оплаты товара банковской картой там можно только выбить обычный чек ккм оплаты наличными!

    Reply
  11. avers007

    (10) vladimirkrivko, И ККМ и 1С это все умеет. Надо просто немного поработать ручками.

    Кто-то делает галочку, кто-то выбирает вид оплаты «картой» из выпадающего окна.

    Я сделал в «Чек ККМ» две большие кнопки.

    В результате ККМ видит какая оплата была, и в Z-отчете идет две строки — «Наличные» и «Картой».

    Если интересно-пиши в личку. Вышлю картинку, как это сделано у меня.

    avers007@mail.ru

    Reply
  12. rayastar

    А обработка для Vx810 на 1с 8.1-8.2?

    Reply
  13. rayastar

    А есть обработка обслуживания для Vx810 на 1с 8.1-8.2?

    Reply
  14. Sanario

    Если только написать…

    Reply
  15. rayastar

    Добрый день! Скажите пожалуйста, по какой причине может не происходить печать чека pos-терминала на принтере ккм? до этого стоял гиперком — проблем не было, все печаталось..куда мне предложите копать?

    Reply
  16. rayastar

    (14) Sanario, я нашел, запросил у саппорта

    Reply
  17. snip

    Добрый день!

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

    Когда подобную задачу решал лет 5-7 назад приходилось покупать АТОЛовский драйвер порядка 7 тыс. тогда стоил.

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

    Reply
  18. shtern12

    Добрый день. Хотелось бы узнать будет ли данная обработка работать с микропроцессорными картами Сбербанка.

    Т.к. в коде обработки используются функции , например 4000 из диапазона функций магнитных карт (VISA и т.д.) .

    Судя по описанию библиотеки SBRF.dll у сбербанковских карт другой диапазон кодов функций. Или это устаревшее

    описание и я ошибаюсь?

    Reply
  19. Mary-alala

    Добрый день, вопрос по автономному терминалу, не устанавливается драйвер, выдаёт ошибку 0x80070005, хотя в системе нахожусь от имени администратора и в 1с также зашла от имени администратора.

    В окне регистрации продаж кпопка платежных карт активна, а вот уже во вновь всплывающем окне «Enter» не активен.

    Помогите решить данный вопрос.

    Reply
  20. sandyanf

    (18) shtern12, Насколько я понимаю, для библиотеки не имеет значения, с какой картой работать, с микропроцессорной или нет, если это VISA или MASTERCARD. Да и принадлежность карты тоже не имеет значения. Насколько я помню, 4000 — это оплата покупки.

    Если речь идёт о некоторых других картах (не виза или мастеркарт), а неких СБЕРКАРТ, то, разумеется, коды функций будут иными (в документации указаны 1000-3999). Но я сомневаюсь, что речь идёт о них, поскольку они нигде реально не используются — тупиковый проект. Сомневаюсь, что вы найдёте карты данного вида. Если же речь идёт об УЭК, то это нужно специально обсуждать со специалистами банка, сможет ли их терминал работать с этими картами.

    Reply
  21. sandyanf

    (17) snip, Данная библиотека самодостаточна и не требует сторонних программ. Подключайте её к 1С как указано в публикации или комментарии 5.

    Reply
  22. iddqd

    Огромное спасибо за обработку!

    Собираюсь подключать терминал к нестандартной конфе. Ваша обработка, как пример, должна сильно упростить этот процесс.

    Reply
  23. Кошки рулят

    Юзаю атоловский драйвер. Недорого, стабильно, без проблем, полностью документирован, демо режим (полный функционал, но сумма оплаты не более 10 рублей) …

    Сколько раз приходилось сталкиваться с ПО от СБ РФ, так еще не помню случая чтобы без глюков и косяков, причем обращаться в техподдержку — все равно, что писать письма Деду Морозу …

    Reply
  24. pk3-20

    (14) Sanario, А если у меня принтер Штрих-М — мне процедуры печати оплаты, отмены и пр. придется формировать и прописывать вручную построчно?

    Reply
  25. Михалыч1

    Большое спасибо, у меня самописная конфигурация 1C v7.7, много развлекался с АТОЛ драйвером ККМ, сейчас жду оборудования из банка. Есть пара вопросов.

    1. Существует ли als файл справки для библиотеки sbrfCom.dll? Либо в другом формате, где подробно были бы описаны методы и атрибуты внешней компоненты в среде 1С v7.7.

    2. В обработке SBRF.ert присутствует процедура ПодключитьДрайверТерминалаSB_1C(). Несмотря на то, что в работе она не участвует, мне тем не менее любопытно, что за библиотека sb_1C.dll там прописана? В комплекте поставки на данном сайте она отсутствует.

    Reply
  26. tomus555

    Добрый день!

    Подключаю терминал vx820 к 1С 7.7

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

    Через RDP кассовый компьютер подключается к терминальной сессии сервера (2008R2) где работает 1С

    На сервере в 1С подключаю библиотеку SBRFCOM.dll

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

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

    Reply
  27. zolotov1978

    Ошибка при нажатии на кнопку ОПЛАТИТЬ БАНКОВСКОЙ КАРТОЙ: Amount = Serv.SParam («Amount», Сумма);

    {C:1CBASEКОПИЯ DBEXTFORMSSBRF.ERT(61)}: Значение не представляет агрегатный объект (SParam)

    Reply
  28. begemot

    (26) tomus555,

    Подскажите, как решили вопрос?

    Reply
  29. Rest001

    А для VX520 подойдет?

    Reply
  30. kobayoshi

    Может это у меня только так, но я битый час мучился и не мог провести платёж. После соединения с банком выкидывало ошибку 4461 Превышен лимит операций. А на терминале в это время горело «Недостаточно средств».

    И это при том, что я пытался продать шуруп на 15 копеек! Оказалось терминал не желает проводить операции на сумму менее 50 копеек! Завтра спрошу у специалистов СберБанка, но чувствую, что это гиблый номер))

    Reply
  31. CheBurator

    Обработку успешно впилил, работала.

    В частности нужны : SBRFCOM.dll, pilot_nt.dll, sb_kernel.dll

    — имхо не соответсвует действительности. надо как-то умудрится чтобы библиотеки обслуживания терминала видели ПРОЧИЕ нужные файлы (какие именно за что отвечают — точно установить не удалось) — иначе на экране терминала начинаются непонятки. возможно, надо подключать компоненты из их каталога с установленными драйверами, а не копирую в папку 1С/базы.

    но когда нвернулась ситема — второй раз настроит не удалось.

    так как как раз былыи проблемы с полностью непонятками ЧТО ЖЕ ВСЕТАКИ НУЖНО ТЕРМИНАЛУ — КРОМЕ УПОМЯНУТЫХ ФАЙЛОВ — чтобы все работало ок.

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

    Reply
  32. sergeysvis

    (29) этот терминал с печатью чеков, он не подходит

    Reply
  33. Иваныч

    Подскажите, как вообще идет процесс работы в такой связке, Сберовская обработка должна вызываться из документа ЧекККМ или еще как-то?

    Reply
  34. mshi

    Я делал подключение терминала к 7.7. Переделок очень много:

    — добавление эквайринга в обработку торгового оборудования

    — написание драйвера эквайринга

    — доработка драйвера ККТ

    — форма оплаты, которую вызывают

    — изменение справочника Кассы

    — изменение ЧекККМ

    — обработка управления эквайрингом (отчет, закрытие смены)

    Дешевле пятидесяти тысяч рублей браться не стоит. У меня пару недель заняло подключение.

    Reply
  35. itdirectdominus

    Подключил к ТиС 7.7, оплата проходит но не может распечатать чек, ругается в этом месте ECR.Caption = cheque — Значение не представляет агрегатный объект Caption

    Куда копать? ККМ подключен.

    Reply
  36. user602990_lvv

    (35)

    Caption это строка. Что передаете?

    Reply
  37. itdirectdominus

    (36)

    С этим разобрались) Другой вопрос. Как обрезать чеки банковские? Печатаются 2 копии, их необходимо обрезать между собой и в конце второй чек так же не обрезается фискальником. Не подскажете команду?

    Reply
  38. user602990_lvv

    У Атола PartialCut() и FullCut() (не полная и полная) обрезка

    Reply
  39. user602990_lvv

    Я беру одну копию и печатаю ее 2 раза

    Reply
  40. zoeh

    Я так и не понял. Это обработка позволяет проводить оплату по карте прямо из 1С 7.7

    нужен только пин пад, подключенный к системнику через USB

    вопрос какие пинпады поддерживаются?

    Reply
  41. pakko

    А эта обработка подходит только сбербанку или универсальная?

    Reply
  42. svkotov

    В комментарии указано, что «Для связи с ККМ используется Драйвер ККМ Атолл.» Как быть в случае когда используется ККМ Штрих-онлайн?

    Или драйвер от Атолл позволяет работать с ККМ Штрих?

    Reply
  43. avers007

    Вроде бы в обработке можно прописать, какой драйвер задействовать.

    Прописываете свой, загружаете и работаете

    Reply
  44. mk126

    Отчеты и сводный чек формируются нормально. А по кнопкам Оплатить банковской картой и Вернуть платеж по карте получаю сообщение : «Операция с банком не удалась! Попробуйте еще раз.»

    По кнопке Отменить платеж по карте появляется окно с предложением вставить карту.

    Посмотрел отладчиком выражение Serv.NFun (4000) возвращает значение 4325.

    В чем проблема? Что тут делать?

    Reply
  45. KuvshinovV

    (44)Возможно дело в этом:

    Может это у меня только так, но я битый час мучился и не мог провести платёж. После соединения с банком выкидывало ошибку 4461 Превышен лимит операций. А на терминале в это время горело «Недостаточно средств».

    И это при том, что я пытался продать шуруп на 15 копеек! Оказалось терминал не желает проводить операции на сумму менее 50 копеек! Завтра спрошу у специалистов СберБанка, но чувствую, что это гиблый номер))

    У меня была такая же проблема. Код ошибки не помню, но оплату на сумму менее 1 руб., если карта не Сбербанковская, терминалы не проводят.

    Reply

Leave a Comment

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