Подключение терминала эквайринг сбербанка к 1С Розница 8.Аптека 2.1

Декоративное изображение

Для получения доступа к форуму необходимо авторизоваться
или зарегистрироваться на сайте.

Пользователь ПП
RSS
Добрый день!
Ситуация: Настраиваем возможность оплаты банковской картой через РМК(Управляемый режим) в конфигурации 1С Розница 8. Аптека 2.1 (2.1.5.9). Специалисты банка настроили терминал - сверка итогов проходит успешно через loadparm. В Подключаемом оборудовании нами подключается эквайринговый терминал через драйвер "1С-Рарус эквайринг-терминал Сбербанка"  (1С-Рарус Эквайринг-терминал сбербанка 1.2.94).
В списке настроек  драйвера  все оставили по умолчанию.Тест устройства через данный драйвер проходит успешно. Но в РМК(управляемый режим) -при попытке оплаты платежной картой(F7) выходит предложение вставить карту в терминал, а сам терминал(пинпад) не активируется для приема карты (экран не подсвечивается).
Подскажите, пожалуйста, в чем может быть проблема? Есть подробная инструкция по подключению сбербанковского терминала для данной версии программного продукта?
Настройки по умолчанию для 1С-Рарус Эквайринг-терминал сбербанка 1.2.94 в файле

Прикрепленные файлы

Декоративное изображение 124
Сотрудник 1С-Рарус
Добрый день.
Для проверки эквайринг-терминала используйте утилиту SBRFTest.exe. Данная утилита находится либо в каталоге защиты ПО 1С-Рарус либо в каталоге, где установлена система управления оборудованием 1С-Рарус.
1. Нажмите кнопку «Тест Pinpad-а». В случае успеха в окне «Результат» появится надпись «0 - Нет ошибок». Если появилась надпись «99 - Нет связи с пинпадом» - проверьте - подключен ли корректно пинпад к  соответствующему порту в диспетчере устройств Windows.Если пинпад подключен корректно, но связь с ним отсутствует – обратитесь за помощью к специалистам Сбербанка.
2. Попробуйте провести сверку итогов, нажав соответствующую кнопку на форме. При успешном завершении операции, в поле «Текст квитанции» будет выведен текст сверки итогов. Если сверка итогов завершилась с ошибкой - обратитесь за помощью к специалистам Сбербанка, сообщив им номер ошибки.
Пользователь ПП
Спасибо за оперативный ответ. Попробовали провести Тест через утилиту - прошел успешно. Без ошибок. Сверка итогов через утилиту тоже завершилась без ошибок . Сейчас в РМК кассира терминал активизируется при оплате через F7(Плат. картой). Но при этом появляется окно вставьте карту с окном и моргает попеременно с окном Код ошибки 34 и номером терминала(тоже самое происходит при попытке чтения карты через утилиту SBRFTEST.exe - ошибка получается в настройках параметров терминала?). Но когда вставляешь карту- запрашивает пин-код и операция авторизуется у банка. Дальше выходит ошибка "Индекс находится за пределами массива" и чек на АСПД не распечатывается. Где -то что-то не так настроено. Но где именно?
Возможно это связано с типами оплат на терминале и ФР? Мы настройки по умолчанию по типам оплат не изменяли (т.е. у нас в системе есть вид оплаты банковской картой с типом оплаты "платежная карта" и других видов оплат с типом оплаты "платежная карта" мы не создавали)
Сотрудник 1С-Рарус
Добрый день.
Приложите скриншот ошибки и развернутую информацию по кнопке Подробно.
Пользователь ПП
Скриншот какой ошибки необходимо приложить?
Если ошибки 34, то вот так она выглядит в прилагаемом файле. Расшифровки ошибок или кнопки подробно там нет. Сбербанк говорит, что ошибка 34, возвращаемая терминалом говорит о том, что долго не проводилась сверка итогов, хотя сверку итогов мы проводили перед этим.

Прикрепленные файлы

Пользователь ПП
По ошибке "Индекс находится за пределами массива" через конфигуратор ругается на строку с условием в обработке ЗакрытиеКассовойСмены:

Если Не ПустаяСтрока(ВыходныеПараметры[0][1]) Тогда
глПодключаемоеОборудование.Вставить("ПоследнийСлипЧек", ВыходныеПараметры[0][1]);
КонецЕсли;
ВыходныеПараметры[0][1] -действительно нет такого элемента. Что должно туда передаваться?
Сотрудник 1С-Рарус
Цитата
Eugene Davydov пишет:
По ошибке "Индекс находится за пределами массива" через конфигуратор ругается на строку с условием в обработке ЗакрытиеКассовойСмены:

Если Не ПустаяСтрока(ВыходныеПараметры[0][1]) Тогда
глПодключаемоеОборудование.Вставить("ПоследнийСлипЧек", ВыходныеПараметры[0][1]);
КонецЕсли;
ВыходныеПараметры[0][1] -действительно нет такого элемента. Что должно туда передаваться?

Добрый день.
Ошибка передана разработчикам. Выход нового релиза 1С Розница 8. Аптека 2.1.5.11 назначен на 19.03.15,  исправления выпустить уже не успеем. Так что исправления выйдут в следующем релизе.
Пользователь ПП
Ясно. Подключили терминал через обработку 1С Совместимо СБ РФ Эквайринговые терминалы.
Партнер
Здравствуйте, на1с Розница МБТСС тоже самое при оплате и снятии z-отчета.
Решил проблему таким образом:
Код
         Попытка
         ПараметрДействия.Вставить("СтрокаСлипЧека", ВыходныеПараметры[3][1]);
            
         
         Исключение
         ПараметрДействия.Вставить("СтрокаСлипЧека", ВыходныеПараметры[3][0][1]);
         КонецПопытки;

Но в массиве "ВыходныеПараметры[3][0][1]" пустая строка по этому на фискальном регистраторе не печатаются чеки с ЭТ. Не подскажите как решить данную проблему? я так понимаю проблема где то в настройках драйвера, но почему не передаются строки слип чека не могу понять.
Партнер
А еще не подскажете как подключить один терминал с 2 ID на одну кассу ккм?
При подключении 2 касс ккм к одному РМК у ИНПАС можно в настройках указать ID терминала а для аркус 2 таких настроек нет.
Сотрудник 1С-Рарус
Цитата
Валерий пишет:
Но в массиве "ВыходныеПараметры[3][0][1]" пустая строка по этому на фискальном регистраторе не печатаются чеки с ЭТ. Не подскажите как решить данную проблему? я так понимаю проблема где то в настройках драйвера, но почему не передаются строки слип чека не могу понять.

Добрый день.
Необходимо время для детального ответа.
Ответ будет дан позже.
Сотрудник 1С-Рарус
Цитата
Валерий пишет:
Но в массиве "ВыходныеПараметры[3][0][1]" пустая строка по этому на фискальном регистраторе не печатаются чеки с ЭТ. Не подскажите как решить данную проблему? я так понимаю проблема где то в настройках драйвера, но почему не передаются строки слип чека не могу понять.

Добрый день.
ВыходныеПараметры[3] - это должен быть массив. Если это не так, то что-то не в порядке с драйвером.
В нулевом элементе этого массива (ВыходныеПараметры[3][1]) должна быть строка "ReceiptText"
(Если это не так, то что-то не в порядке с драйвером либо это не драйвер 1С-Рарус).
А в первом элементе этого же массива (т.е. ВыходныеПараметры[3][1]) должна быть многострочная строка с текстом квитанции авторизатора, как ее передал банк.

Если вышеописанная нумерация параметров у вас не соблюдается то обновите код процедуры "ПерепаковатьSafeArrayВМассив" в модуле "МенеджерОборудованияКлиент"взяв ее из последнего релиза подукта (еще лучше весь модуль целиком, а в идеале обновите все решение сразу на последний релиз).
Сотрудник 1С-Рарус
Цитата
Валерий пишет:
А еще не подскажете как подключить один терминал с 2 ID на одну кассу ккм?
При подключении 2 касс ккм к одному РМК у ИНПАС можно в настройках указать ID терминала а для аркус 2 таких настроек нет.

Добрый день.
Требуется время для рассмотрения этого вопроса.
Ответ будет дан позже.
Партнер
Светлана спасибо большое за скорый ответ, но я с версии 2.4.9 пытаюсь решить данную проблему. Перед обновление я проверял новые релизы на демо базе чтобы не исправлять снова после обновления. Вот скрины ошибок при оплате через терминал аркус в версии 2.1.7.15:







Менеджер оборудования 1С Рарус тоже ставил последнюю версию, настройки по умолчанию оставлял.
Через утилиту CommandLineTool после выполнения операции  в файле cheq.out есть слип чек.
Помогите пожалуйста, что я делаю не так?
Сотрудник 1С-Рарус
Цитата
Валерий пишет:
Помогите пожалуйста, что я делаю не так?
Валерий, здравствуйте. Похоже что у Вас все настроено правильно, а проблема в коде 1С. С какого-то релиза там решили передавать параметры через XML, что накладывает ограничения на использование символов в строках. Текст же слипа для печати формируется в банке и там про то что на них "наложили какие-то ограничения" конечно даже не подозревают .   Возможно другие эквайринг-терминалы (другое банковское ПО) никогда не использует такие "непечатаемые символы" и с ними таких проблем не возникало.  Получается что это только Вам так "повезло". Мы уведомим 1С об этой проблеме и со своей стороны тоже постараемся предложить решение (пока напрашивается поиск и вырезание по всему тексту полученного слипа всех таких непечатаемых символов за исключением перевода строк, возврата каретки и отреза...  но это еще нужно проверять и тестировать на практике). Об окончательном варианте решения сообщим на следующей неделе.
Партнер
Спасибо Вам огромное! А то я уже устал искать причину.
Партнер
Подскажите пожалуйста по rdp возможно подключение 2 терминалов аркус?
Я попробовал повесить их на один порт, но в этом случае при одновременной оплате на обоих не проходит оплата.
Сотрудник 1С-Рарус
Добрый день, Валерий!
Спасибо за обращение, Ваш вопрос находится на рассмотрении. Ответ будет дан в этой ветке форума.
Сотрудник 1С-Рарус
Цитата
Валерий пишет:
Подскажите пожалуйста по rdp возможно подключение 2 терминалов аркус?
Я попробовал повесить их на один порт, но в этом случае при одновременной оплате на обоих не проходит оплата.

Добрый день.
Уточните релиз конфигурации и версию системы защиты
Опишите подробнее схему работы:
Терминалы подключены к разным рабочим местам, правильно? А каким образом отправляется оплата на терминал: с рабочего места, к которому подключен эквайринг-терминал или с другого рабочего места?
Партнер
Розница. Магазин бытовой техники и средств связи, редакция 2.1, версия 2.1.5.9. Файловая база.
Извините я не понял вопроса.
Проблема заключается в подключении одновременно 2 терминалов к одному ПК, абсолютно не важно как они подключены и откуда идут команды.
Драйвер обращается к файлу cashreg.ini в котором жестко задан ComPort.
http://radikal.ru/fp/a99d1c08b48a46259fdacd86e942ffa5
http://radikal.ru/fp/920edda251ee449fbd9c171dd6d39d81

Поиск в просторах интернета результатов не дал. Видимо это сам софт  Arcus не дает возможности подключить 2 терминала одновременно.
Партнер
Видимо подключить два терминала или один терминал с двумя ID возможно только при помощи CAP или Arcus NET Server. Когда впервые пытался подключить arcus еще к версии 1.0 спрашивал у банковских работников эти вещи, ответ был отрицательный, что это дорого и покупать не будут.
Будем искать альтернативу эти терминалам.
Партнер
Цитата
Ярослав Дубровский пишет:
Цитата
Валерий пишет:
Помогите пожалуйста, что я делаю не так?
Валерий, здравствуйте. Похоже что у Вас все настроено правильно, а проблема в коде 1С. С какого-то релиза там решили передавать параметры через XML, что накладывает ограничения на использование символов в строках. Текст же слипа для печати формируется в банке и там про то что на них "наложили какие-то ограничения" конечно даже не подозревают .   Возможно другие эквайринг-терминалы (другое банковское ПО) никогда не использует такие "непечатаемые символы" и с ними таких проблем не возникало.  Получается что это только Вам так "повезло". Мы уведомим 1С об этой проблеме и со своей стороны тоже постараемся предложить решение (пока напрашивается поиск и вырезание по всему тексту полученного слипа всех таких непечатаемых символов за исключением перевода строк, возврата каретки и отреза...  но это еще нужно проверять и тестировать на практике). Об окончательном варианте решения сообщим на следующей неделе.
Скажите, решения данной проблемы еще нет?
Сотрудник 1С-Рарус
Цитата
Валерий пишет:
Скажите, решения данной проблемы еще нет?

Добрый день.
К сожалению проблема пока не решена.
Партнер
Здравствуйте, все таки подключил терминал с 2 id пришлось почти полностью изменить работу рмк при оплате картой, код получился вот такой:
Код
      КодВозврата=1;
      СтрокаПараметровОплаты= "CommandLineTool.exe /o1 /c643 /a"+СтрЗаменить(Строка(Сумма*100),Символы.НПП,"")+"/i00122333";
            ЗапуститьПриложение(СтрокаПараметровОплаты,"C:\Arcus2\CommandLineTool\bin",Истина,КодВозврата);
         Если КодВозврата=0 Тогда
         Файл = Новый ЧтениеТекста("C:\Arcus2\CommandLineTool\bin\rc.out");      
         ОтветТР = Файл.Прочитать();
         Файл.Закрыть();
      Иначе
         Возврат;
      КонецЕсли;   

      Если  Не СокрЛП(ОтветТР) = "000" Тогда
         Возврат;

      КонецЕсли;

В коде к СтрокеПараметровОплаты пришлось добавить только "/i00122333".
Может быть Вы добавите в ваш менеджер оборудования arcus реквизит для id терминала который будет передаваться с командой оплаты? Если я правильно понял ваш менеджер работает по такому же принципу запуская  CommandLineTool с заданными параметрами.
Сотрудник 1С-Рарус
Цитата
Если я правильно понял ваш менеджер работает по такому же принципу запуская CommandLineTool с заданными параметрами.
Нет, это не так. Мы используем методы библиотеки ArcCom.dll. Она не предоставляет такую функциональность
Читают тему
Поддержка отраслевых решений «1С-Рарус»
Услуги 1С