Чудеса на виражах БПО с терминалом Сбербанка

При подключении эквайринга от Сбербанка столкнулся с проблемой, решение которой было не очевидно.

Терминал у меня прописан так:

При входе в параметры подключения у меня выдавались вот такие параметры:

В демо-базе БПО 3.1 окно подключения такое же.

Тест подключения не проходил, это и не удивительно, в каталоге поставки от сбербанка файла pilot_nt нет:

В интернете пишут что sb_pilot используется для Linux.

Тогда я решил посмотреть, как выглядит это меню в типовой демо-базе Розницы:

Как видно, тут просто указан путь к дистрибутиву, а не путь к sb_pilot.

Тогда я подумал, что в Рознице используется другой драйвер оборудования, но нет, там такой же драйвер с идентификатором Драйвер1СЭквайринговыеТерминалыСбербанк.

Я сохранил общий макет Драйвер1СЭквайринговыеТерминалыСбербанк из обоих конфигураций, они оказались идентичными:

Я посмотрел, как прописан драйвер в обоих базах. В моей:

В Рознице:

Сейчас вижу, что не заполнено поле имя макета, но скорее всего дело не в этом.

Я попробовал изменить режим подключения — «Драйвер подключается из макета» заменил на «Драйвер установлен на локальном компьютере». Потому что предположил, что лучше создавать компоненту из Сбербанковских dll, зарегистрированных на компьютере ( AddIn.SberAcquiringTerminal ).

Получил ошибку, т.к. не все общие модули перенес из БПО:

Перенес этот модуль (и связанные) в итоге не смог установить драйвер:

Отладил код подключения в Рознице, он шел по отмеченными рамками шагам:

Причем в рознице параметры правильные определялись:

<?xml version="1.0" encoding="UTF-8"?>
<Settings>
   <Page Caption="Параметры">
      <Group Caption="Параметры подключения">
         <Parameter Name="DistribPath" Caption="Путь к дистрибутиву" Description="Путь к папке, содержащей библиотеку gate.dll" TypeValue="String" DefaultValue="C:\SBERBANK\PILOT_NT\" />
         <Parameter Name="CutSequence" Caption="Последовательность частичного отреза" Description="Строка из шестнадцатеричных кодов символов, параметр &quot;Последовальность в конце чека&quot; в tlv" TypeValue="String" DefaultValue="22" />
         <Parameter Name="Department" Caption="Номер отдела" Description="Номер отдела, по которому будут проводиться операции. 0 - первый отдел, -1 - выбор из меню при каждой операции" TypeValue="Number" DefaultValue="0" />
         <Parameter Name="PrintSlipOnTerminal" Caption="Печать документов на терминале" Description="Определяет, будет ли терминал самостоятельно печатает квитанции на своем принтере для операций" TypeValue="Boolean" DefaultValue="false" />
      </Group>
   </Page>
</Settings>

В общем, ничего не дало мне использование компоненты вместо макета.

Тогда поменял обратно на «Драйвер подключается из макета» и о чудо, настройки стали нормальными:

Возможно, нужно было очистить поле «Загруженный драйвер», при смене метода он очистился? Не знаю…

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

Среда: БПО 3.1, Розница 2.3.

fixin

Программирую на 1С с 1999 года. В 1С просто Гений. В 2020 году ушел из офиса на вольные хлеба фриланса. Принимаю заказы.

Читайте также:

Добавить комментарий

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