|
v7: ШТРИХ М, банковский платежный агент, передача тегов в ККМ | ☑ | ||
---|---|---|---|---|
0
kupec
29.05.23
✎
16:00
|
Всем доброго дня
Помогите передать правильно этот тег через 1С 7.7 http://www.consultant.ru/document/cons_doc_LAW_362322/ffc2071e4b7f2d12acc8872998eb9b35011d7a3b/ делая вот так FR.Password=30; FR.TagNumber = 1222; FR.TagType = 0; FR.TagValueInt = ВотТутВотЧтоПоставить??; мне нужен БПА (БАНК. ПЛ. АГЕНТ) FR.FNSendSTLVTag(); Заранее спасибо |
|||
1
dedmoroz777
29.05.23
✎
17:13
|
В гугле же первой строкой ответ, не?
|
|||
2
kupec
29.05.23
✎
19:00
|
Через тест драйвера и лог понял, что в моем случае надо вот так
FR.Password=30; FR.TagNumber = 1222; FR.TagType = 0; FR.TagValueInt = 1; FR.FNSendSTLVTag(); Но все равно ничего не добавляет. Пишет что некорректные параметры в команде. |
|||
3
victuan1
30.05.23
✎
07:36
|
FR.Password=30;
FR.TagNumber = 1222; FR.TagType = 0; FR.TagValueInt = 64; //1 в 6-ом бите FR.FNSendTagOperation(); //передать просто тег в позицию чека Если FR.ResultCode <> 0 Тогда ОписаниеРезультата = сокрлп(FR.ResultCode)+": "+FR.ResultCodeDescription; Сообщить("Ошибка записи тега "+FR.TagNumber+": "+ОписаниеРезультата) КонецЕсли; Ну и не забыть, что еще нужно передать какие-то из этих тегов: Данные агента 1223 Адрес оператора перевода 1005 ИНН оператора перевода 1016 Наименование оператора перевода 1026 Операция платежного агента 1044 Телефон платежного агента 1073 Телефон оператора по приему платежей 1074 Телефон оператора перевода 1075 Данные поставщика 1224 Наименование поставщика 1225 Телефон поставщика 1171 ИНН поставщика 1226 Признак агента 1057 (отменен с ФФД 1.2) |
|||
4
kupec
30.05.23
✎
08:11
|
(3) а почему в шестом бите если я банковский платежный агент? В договоре так и написано.
Вроде получилось у меня передать 1222. Пытаюсь теперь передать 1226 1223 и 1224. Делаю вот так. Но все равно что то ругается на неверный тип данных //Данные агента 1223 ТаблицаТэгов=СоздатьОбъект("ТаблицаЗначений"); ТаблицаТэгов.НоваяКолонка("НомерТега"); ТаблицаТэгов.НоваяКолонка("ТипТега"); ТаблицаТэгов.НоваяКолонка("ЗначениеТега"); //телефон оператора перевода ТаблицаТэгов.НоваяСтрока(); ТаблицаТэгов.НомерТега=1075;ТаблицаТэгов.ТипТега=7; ТаблицаТэгов.ЗначениеТега="88005555550"; //операция банковского платежного агента ТаблицаТэгов.НоваяСтрока(); ТаблицаТэгов.НомерТега=1044;ТаблицаТэгов.ТипТега=7; ТаблицаТэгов.ЗначениеТега="Выдача наличных"; //телефон платежного агента ТаблицаТэгов.НоваяСтрока(); ТаблицаТэгов.НомерТега=1073;ТаблицаТэгов.ТипТега=7; ТаблицаТэгов.ЗначениеТега="84935421148"; //телефон оператора по приему платежей ТаблицаТэгов.НоваяСтрока(); ТаблицаТэгов.НомерТега=1074;ТаблицаТэгов.ТипТега=7; ТаблицаТэгов.ЗначениеТега="88005555550"; //наименование оператора перевода ТаблицаТэгов.НоваяСтрока(); ТаблицаТэгов.НомерТега=1026;ТаблицаТэгов.ТипТега=7; ТаблицаТэгов.ЗначениеТега="ПАО Сбербанк России"; //адрес оператора перевода ТаблицаТэгов.НоваяСтрока(); ТаблицаТэгов.НомерТега=1005;ТаблицаТэгов.ТипТега=7; ТаблицаТэгов.ЗначениеТега="117312, г.Москва, ул.Вавилова, д.19"; //ИНН оператора перевода ТаблицаТэгов.НоваяСтрока(); ТаблицаТэгов.НомерТега=1016;ТаблицаТэгов.ТипТега=7; ТаблицаТэгов.ЗначениеТега="7707083893"; ЗаписатьSTLVТег(1223, ТаблицаТэгов, 1); Процедура ЗаписатьSTLVТег(НомерСоставногоТега,ТЗЗначенийВнутреннихТегов,ЭтоОперация) Если ТипЗначенияСТР(ТЗЗначенийВнутреннихТегов)<>"ТаблицаЗначений" Тогда Возврат; КонецЕсли; Если ТЗЗначенийВнутреннихТегов.КоличествоСтрок()=0 Тогда Возврат; КонецЕсли; FR.Password = 30; FR.TagNumber = НомерСоставногоТега; TagID = FR.FNBeginSTLVTag(); //начало ввода составного тега ТЗЗначенийВнутреннихТегов.ВыбратьСтроки(); Пока ТЗЗначенийВнутреннихТегов.ПолучитьСтроку()=1 Цикл НомерТега = ТЗЗначенийВнутреннихТегов.НомерТега; ТипТега = ТЗЗначенийВнутреннихТегов.ТипТега; ЗначениеТега = ТЗЗначенийВнутреннихТегов.ЗначениеТега; FR.TagID = TagID; FR.TagNumber = НомерТега; FR.TagType = ТипТега; Если ТипТега = 0 Тогда // ttByte FR.TagValueInt = ЗначениеТега; ИначеЕсли ТипТега = 1 Тогда // ttUint16 FR.TagValueInt = ЗначениеТега; ИначеЕсли ТипТега = 2 Тогда // ttUint32 FR.TagValueInt = ЗначениеТега; ИначеЕсли ТипТега = 3 Тогда // ttVLN FR.TagValueBin = ЗначениеТега; ИначеЕсли ТипТега = 4 Тогда // ttFVLN FR.TagValueFVLN = ЗначениеТега; ИначеЕсли ТипТега = 5 Тогда // ttBitMask FR.TagValueBin = ЗначениеТега; ИначеЕсли ТипТега = 6 Тогда // ttUnixTime FR.TagValueDateTime = ЗначениеТега; ИначеЕсли ТипТега = 7 Тогда // ttString FR.TagValueStr = СокрЛП(ЗначениеТега); КонецЕсли; FR.FNAddTag();ОшибкаПередачиТега("Обычный тег: "+СокрЛП(НомерТега)); КонецЦикла; //если это составной тег строки чека то ЭтоОперация = 1, если В общие реквизиты ЭтоОперация = 0 Если ЭтоОперация=1 Тогда FR.FNSendSTLVTagOperation(); Иначе FR.FNSendSTLVTag(); КонецЕсли; ОшибкаПередачиТега("Составной тег: "+СокрЛП(НомерСоставногоТега)); КонецПроцедуры |
|||
5
kupec
30.05.23
✎
08:11
|
ОшибкаПередачиТега() проверяет ответ драйвера
|
|||
6
kupec
30.05.23
✎
08:40
|
Не получается передать составные тэги
https://ibb.co/mRr5Ss6 Хотя передать пытаюсь. При этой команде FR.FNAddTag() ошибок НЕТ Ошибка с кодом 51 тут FNSendSTLVTagOperation - не верные параметры в команде |
|||
7
kupec
30.05.23
✎
09:00
|
Есть вероятность, что касса не перерегистрирована на работу с выдачей наличных через БПА?
|
|||
8
kupec
30.05.23
✎
09:15
|
Поставил последнюю прошивку, поставил последний драйвер, передаю данные через тест драйвеа, все равно пишет ошибку 51. Не корректные данные в команде. Сделал перерегитсрацию ККМ. Перевел в режим, когда можно выдавать деньги агентом или субагентом. Все равно ничего не понимаю
|
|||
9
kupec
30.05.23
✎
10:18
|
Оказывается телефон надо передавать в формате +71234567890 вроде заработало
|
|||
10
victuan1
30.05.23
✎
10:30
|
Ну и лады
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |