Банковский терминал и 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 не будет опубликован. Обязательные поля помечены *