Как зарегистрировать в системе 1с компоненту sbrfcom dll
В 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).
Специальные предложения
Подключал такую к Штрих-М кассир (7.7).
Намучился, поскольку у клиентов вместо фискального регистратора или ккм был подключен принтер чеков (т.е. печатали чеки своей процедурой печати встроенной в форму рабочего места и в настройках кассы как бы не было). А без ФР эта штуковина не работает. Решили проблему разработчики Штрих-М кассир, прислали dll, которой все равно - подключен ФР или нет. За что им большой поклон.
Спасибо за публикацию. На её основе был подключён банковский терминал к самописной кассовой конфигурации.
Подключить библиотеку сразу не удалось. Оказалось недостаточно скопировать SBRFCOM.DLL в каталог конфигурации. Банком был предоставлен каталог C:\sc552 со всеми библиотеками, программами и документацией. Подключить библиотеку к 1с7.7 удалось только указав полный путь к данной библиотеке в предоставленный банком каталог.
Попытка
Результ = ЗагрузитьВнешнююКомпоненту("C:\sc552\SBRFCOM.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");
Полезно запомнить строку чека для получения возможности напечатать её повторно в случае каких-либо технических проблем с принтером.
Процесс по шагам:
1. Нужно получить у работников сбербанка следующие файлы:
- SB_KERNEL.DLL
- GATE.DLL
- SBRFCOM.dll
- LOADPARM.EXE
- RRDK.R
- R003.R
- PARAMS.TLV
2. Скопировать их в каталог «C:\Program Files\1cv81\bin» и зарегистрировать библиотеку SBRFCom.dll с помощью команды (regsvr32 «C:\Program Files\1cv81\bin\SBRFCOM.DLL»).
3. Подключить терминал считывания карт через USB или COM порт.
4. Выполнить загрузку настроечных параметров библиотеки. Для этого запустить программу LOADPARM.EXE:
Зайти в меню Служебные операции –> Настройки –> Техобслуживание –> Пароль . –> Загрузка параметров, выбрать файл PARAMS.TLV и дождаться окончания загрузки (пароль вам должен сказать работник банка).
5. Открываем УТ. Далее, открываем пункт меню: Сервис –> Торговое оборудование –> Помощник подключения и настройки торгового оборудования. Нажимаем далее:
Выбираем пункт «Эквайринговая система» и нажимаем «Далее».
Здесь выбираем СБ РФ «Эквайринговая система» и нажимаем «Далее».
Если здесь нет этого пункта, можно попробовать загрузить его вручную. Здесь же выбираем пункт «Добавить новую обработку обслуживания», выбираем каталог «C:\Program Files\1cv81\tmplts\1c\trade\10_3_7_9\TradeWareEpf» (у вас вместо «10_3_7_9» будет номер версии последнего обновления УТ 8.1).
Нажимаем получить список и если нужная обработка в этом каталоге есть – то появиться нужный нам пункт «СБ РФ „Эквайринговая система“. Файл обработки называется SberBankES_v2.epf.
Если все сделано верно, должно появиться окно Настройки параметров Эквайринговой системы:
При этом, может выдаваться ошибка говорящая о невозможности проверки версии драйвера. Это нормально, т.к. в программном коде написано, что пока такая проверка не реализовано в драйвере:
Установка завершена. Больше ничего устанавливать не надо, поэтому нажимаем „Нет“.
Теперь проверим, как это работает. Заходим в меню Сервис –> Торговое оборудование –> Управление Эквайринговой системой:
Нажимаем кнопку «Оплатить картой», вводим сумму в появившемся окне и нажимаем «Оплату платежа». После чего система попросит вставить карту в терминал для чтения карт. Естественно, что терминал должн быть подключен. Кроме того обязательно должен быть подключен Фискальный регистратор. Иначе система работать не будет.
Процесс по шагам:
1. Нужно получить у работников сбербанка следующие файлы:
- SB_KERNEL.DLL
- GATE.DLL
- SBRFCOM.dll
- LOADPARM.EXE
- RRDK.R
- R003.R
- PARAMS.TLV
2. Скопировать их в каталог «C:\Program Files\1cv81\bin» и зарегистрировать библиотеку SBRFCom.dll с помощью команды (regsvr32 «C:\Program Files\1cv81\bin\SBRFCOM.DLL»).
3. Подключить терминал считывания карт через USB или COM порт.
4. Выполнить загрузку настроечных параметров библиотеки. Для этого запустить программу LOADPARM.EXE:
Зайти в меню Служебные операции –> Настройки –> Техобслуживание –> Пароль . –> Загрузка параметров, выбрать файл PARAMS.TLV и дождаться окончания загрузки (пароль вам должен сказать работник банка).
5. Открываем УТ. Далее, открываем пункт меню: Сервис –> Торговое оборудование –> Помощник подключения и настройки торгового оборудования. Нажимаем далее:
Выбираем пункт «Эквайринговая система» и нажимаем «Далее».
Здесь выбираем СБ РФ «Эквайринговая система» и нажимаем «Далее».
Если здесь нет этого пункта, можно попробовать загрузить его вручную. Здесь же выбираем пункт «Добавить новую обработку обслуживания», выбираем каталог «C:\Program Files\1cv81\tmplts\1c\trade\10_3_7_9\TradeWareEpf» (у вас вместо «10_3_7_9» будет номер версии последнего обновления УТ 8.1).
Нажимаем получить список и если нужная обработка в этом каталоге есть – то появиться нужный нам пункт «СБ РФ „Эквайринговая система“. Файл обработки называется SberBankES_v2.epf.
Если все сделано верно, должно появиться окно Настройки параметров Эквайринговой системы:
При этом, может выдаваться ошибка говорящая о невозможности проверки версии драйвера. Это нормально, т.к. в программном коде написано, что пока такая проверка не реализовано в драйвере:
Установка завершена. Больше ничего устанавливать не надо, поэтому нажимаем „Нет“.
Теперь проверим, как это работает. Заходим в меню Сервис –> Торговое оборудование –> Управление Эквайринговой системой:
Нажимаем кнопку «Оплатить картой», вводим сумму в появившемся окне и нажимаем «Оплату платежа». После чего система попросит вставить карту в терминал для чтения карт. Естественно, что терминал должн быть подключен. Кроме того обязательно должен быть подключен Фискальный регистратор. Иначе система работать не будет.
Обработка ТО (для УТ 10.3 или Розница 1.0) подключения эквайрингового терминала СБ РФ (sbrfcom.dll на 7 параметров). По умолчанию сотрудники СБ РФ стали ставить dll на 7 параметров, а в конфигурации есть только на 3 параметра.
По умолчанию сотрудники СБ РФ стали ставить dll на 7 параметров, а в конфигурации есть только на 3 параметра, которая выдает ошибку "недостаточно параметров". Эта внешняя обработка поможет решить описанную проблему.
Подключение обработки производится аналогично стандартным обработкам ТО.
Проверялось на конфигурациях:
Специальные предложения
Можно проще. При установке своего оборудования сотрудники банка спрашивают сколько параметров нужно 3 и 7?
В комплекте их поставки идут обе библиотеки. Нужно просто сказать им какую установить. Или просто связаться с ними и спросить как зарегистрировать нужную.
Библиотеки обычно у них лежат на диске С: в двух разных каталогах и часто даже подписана 7 и 3 параметра.
Это понятно. Просто сберовцы говорят (во всяком случае в нашем регионе), что в ближайшее время у них не будет поддержки на 3 параметра.
Поэтому это и есть проще - если есть dll и на 3 и на 7, то пускай и обработки ТО будут и на 3, и на 7 параметров.
Просмотры 2879
Загрузки 17
Рейтинг 2
Создание 16.07.21 14:30
Обновление 16.07.21 14:30
№ Публикации 1481614
Рубрики Эквайринг
Операционная система Не имеет значения
Страна Россия
Вид учета Не имеет значения
Доступ к файлу Абонемент ($m)
Код открыт Да
См. также
[Расширение] Временное отключение онлайн-эквайринга в РМК (УТ 11.4, Розница 2.3) Промо
Расширение предназначено для исправления исключительных ситуаций, когда оплата по эквайринговому терминалу с подключением оборудования прошла успешно, но чек на ККТ не был фискализирован. Расширение позволит временно отключить онлайн-эквайринг непосредственно из формы РМК.
1 стартмани
14.12.2020 14352 67 RocKeR_13 18
Управление эквайринговым терминалом + контрольная лента
Расширение добавляет в меню Продажи - Сервис раздел Управление эквайринговым терминалом. А также добавлена функция печати контрольной для терминалов СберБанка.
1 стартмани
09.04.2022 753 1 kobayoshi 0
СБП плати QR (от Сбербанка) для 1С (обычные и управляемые формы)
Внешняя обработка для реализации системы Плати QR в системе 1С.
3 стартмани
08.04.2022 1998 31 S_Morozov 23
[Расширение] Комиссия банка из назначения платежа по пользовательским шаблонам БП 3.0
Расширение для выделения комиссии банка из поля "Назначение платежа" документа "Поступление на расчетный счет" с видом операции: "Поступление по платежным картам"(комиссия за эквайринг) для 1С:Бухгалтерия предприятия 3.0. Особенности: можно самому задавать шаблоны для поиска комиссии банка (комиссия, ком., комиссии и др.) и отключать поиск комиссии, когда нужно. Также если в назначении платежа есть несколько комиссий, то они суммируются.
ИначеЕсли Строка(ДрайверУстройства) = "СБ РФ: Эквайринговые терминалы" Тогда
Попробовал как в статье второй вариант, dll вообще не регистрируется и пишет "Драйвер не установлен и версия не определена. Подскажите как можно подключить dll другими способами в терминале и как в статье на инфостарте. Заранее спасибо
дорогие форумчане,неужели так тяжело помочь.На форуме очень много тем насчет моей проблеме.но в них нет ничего путного
А вообще сначало удали и заново поставь.
У меня такая хрень была с 1с 7.7.
От имени админа стартанул - все ок стало.
регистрирую dll я всегда от имени администратора. Но почему dll слетает. Вот и я подумал , прочитав на инфостарте и на других сайта. может дело в процедуре подключения или как то напрямую подключить dll.
Здравствуйте!
Я автор статьи на инфостарте "Решение проблем с регистрацией внешних компонент в терминале". Попробовал разобраться в вашей проблеме.
Для начала попробовал установить драйвер эквайринговой системы на локальном компе в УТ 11. Пишет "Драйвер не установлен". Значит проблема с регистрацией dll.
С помощью программы OLE\COM Object Viewer от можно определить что dll действительно успешно зарегистрировалась и в системе имеется COM-объект с ProgID = AddIn.SBRFCOMObject. Однако ОбъектДрайвера = Новый("AddIn.SBRFCOMExtension") не создается.
Таким образом проблема с регистрацией dll решена.
Далее используйте рекомендации в моей статье по поводу регистрации в терминале.
Я думаю все должно заработать.
(8)Огромное спасибо, что откликнулись. С эквайринговым терминалом мучаюсь уже где то полугода. В конфигурации Розница 1.0 терминал мне удалось подключить без проблем.
1. Регистрируем внешнюю компоненту утилитой regsvr32.exe на сервере терминалов в папке в папке C:\WINDOWS\SYSWOW64.
Ну, в 64-х разрядной Windows отведены специальные папки для dll:
System32 для тех что могут работать в 64-х разрядной среде и SysWOW64 для dll изначально написанных под 32-х разрядную среду исполнения.
Эта dll для эквайрингового терминала скорее всего была написана под 32-х разрядную среду. Поэтому мне кажется правильнее ее поместить в папку C:\WINDOWS\SYSWOW64, а не в папку пользователя ExtCompT.
Ограничения на регистрацию dll у пользователей терминала конечно же есть.
Об этом как раз я и писал в своей статье.
У них нет прав на запись в ветку системного реестра HKEY_CLASSES_ROOT.
Поэтому происходит отказ в регистрации внешней компоненты.
Я попробовал у себя под терминалом Windows server 2008 R2 x64 установить драйвера и посмотреть что получится.
У меня все нормально. Пишет "Драйвер установлен", "Версия не определена".
Так и должно быть.
Кстати, dll регистрировали под администратором?
regsvr32.exe вызывали из папки SysWOW64?
Дело в том что regsvr32.exe есть еще в папке System32.
Вызывать нужно именно тот что в папке SysWOW64.
Читайте также: