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

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

В демо-базе БПО 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="Строка из шестнадцатеричных кодов символов, параметр "Последовальность в конце чека" в 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.
