маркировка 1.2 на тестовом ФН

Какие результаты проверки маркировки можно получить на тестовом ФН.

Итак тестовый ФН 1.2 полностью очищен и зарегистрирован по ФФД 1.2 с опцией маркированные товары.

Чтобы быть точным через Атол драйвер считаем данные ФН:

Серийный номер:                         9999хххххххххххх
Версия:                                 fn 1.2 mgm 03  
Тип ФН:                                 отладочная версия
Состояние ФН:                           Фискальный режим

Флаги предупреждений (00h):
Требуется срочная замена ФН:            нет
Исчерпан ресурс ФН:                     нет
Память ФН переполнена:                  нет
Превышено время ожидания ответа от ОФД: нет
Критическая ошибка ФН :                 нет
Исполнение ФН:                          ФН-1.1М МГМ (g60) исполнение 15М               
ФН содержит URI сервера ОКП:            да
URI сервера ОКП:                        tcp://test.okp.atlas-kard.ru:31101

Примечание: среда:
драйвер Атол 10.10.0.0 x86;
ккт прошивка 5.8.100;
ФН тестовый 1.2
регистрация по ФФД 1.2 (с Торговля маркированными товарами, Продажа акцизного товара);
ОФД: k-server.1-ofd-test.ru порт 7777;
ОИСМ: k-server.1-ofd-test.ru порт 7788;
рег.номер сгенерирован в драйвере Атола (закладка Регистрация ККТ)

Обращаем  внимание ,что ОКП (каким-то образом по умолчанию) уже tcp://test.okp.atlas-kard.ru:31101. А вот в драйвере Атола 10.10.0.0 (после тех.обнуления и регистрации ) ОКП пустой. Устанавливаем test.okp.atlas-kard.ru:31101.

Через программу БИТ драйвер ККТ сначала связь с сервером ИСМ - завершение удачное:

фотка 1

Теперь считываем код маркировки с любой коробки обуви и проверяем на ИСМ - завершение не просто удачное, а даже [M+].

фотка 2

Далее пытаемся пробить чек через json команду (точно такой же как был пробит на боевом ФН), но чек не пробивается и возвращается:

{
   "validateMarks" : [
      {
         "driverError" : {
            "code" : 0
         },
         "offlineValidation" : {
            "fmCheck" : true,
            "fmCheckErrorReason" : "checked",
            "fmCheckResult" : true
         },
         "onlineValidation" : {
            "itemInfoCheckResult" : {
               "ecrStandAloneFlag" : false,
               "imcCheckFlag" : true,
               "imcCheckResult" : false,
               "imcEstimatedStatusCorrect" : false,
               "imcStatusInfo" : true
            },
            "markOperatorResponse" : {
               "itemStatusCheck" : false,
               "responseStatus" : false
            },
            "markOperatorResponseResult" : "unrecognized"
         },
         "sentImcRequest" : true
      }
   ]
}

что означает - код маркировки не прошел валидацию. Разбираемся с проблемой...

пробиваем чек через драйвер Атола 10.10.0.0 успешно

Берем данные пакета json, которые надо послать, из примера руководства Атола (Работа ККТ с ФФД 1.2). На закладке работа с Json запускаем json пакет и чек пробивается с [M+] (там две позиции) нормально. Тип команды - без предварительной проверки.

фотка 3

Посылаем:

{
  "electronically": false,
  "taxationType": "osn",
  "items": [
    {
      "name": "Кроссовки Adidas Crazy 8",
      "paymentMethod": "fullPayment",
      "paymentObject": "commodityWithMarking",
      "piece": true,
      "price": 12500,
      "quantity": 1,
      "measurementUnit": "piece",
      "amount": 12500,
      "infoDiscountAmount": 0,
      "imcParams": {
        "imcType": "auto",
        "imc": "MDEwMTIzNDU2Nzg5MDEyMzIxTSw3YUwwSkRHYkpDV2EdOTE4MDhCHTkyQ3VFMmI0d0JoUHY5WGVvQlFERXV4OXdPS2VOUjR2ZjRJK3EvUWJocXpoUkd5WVF5bWtrcGd0QVpVdFBIbGZwMFRIR1ZONmkrRDhaeFpRY2JUbnZFTWc9PQ==",
        "itemEstimatedStatus": "itemPieceSold",
        "imcModeProcessing": 0
      },
      "tax": {
        "sum": 0,
        "type": "vat20"
      },
      "type": "position"
    },
    {
      "name": "Нурофен",
      "paymentMethod": "fullPayment",
      "paymentObject": "commodityWithMarking",
      "piece": true,
      "price": 12500,
      "quantity": 1,
      "measurementUnit": "piece",
      "amount": 12500,
      "infoDiscountAmount": 0,
      "imcParams": {
        "imcType": "auto",
        "imc": "MDE0NDk0NTUwNDM1MzA2ODIxUVhZWFNBTEdMTVlRUR05MUVFMDYdOTJZV0NYYm1LNlNOOHZ2d294WkZrN1dBWThXb0pOTUdHcjZDZ3RpdWphMDRjPQ==",
        "itemEstimatedStatus": "itemDryForSale",
        "itemFractionalAmount": "4/5",
        "imcModeProcessing": 0
      },
      "tax": {
        "sum": 0,
        "type": "vat20"
      },
      "type": "position"
    }
  ],
  "operator": {
    "name": " Кассир: Иванов И.",
    "vatin": "123456789047"
  },
  "clientInfo": {
    "name": "Покупатель",
    "birthDate": "12.04.2000",
    "citizenship": "643",
    "identityDocumentCode": "21",
    "identityDocumentData": "99 99 9999990",
    "address": "г. Москва, ул. Вишневая, 6а"
  },
  "payments": [
    {
      "sum": 31500,
      "type": "0"
    }
  ],
  "taxes": [],
  "type": "sell",
  "useVAT18": false,
  "validateMarkingCodes": true
}

Чек печатается нормально. Но что забавно второй раз этот чек уже не получается распечатать - таймаут проверки маркировки. Может так и должно быть?... Не понятно. 

Обратите внимание на "paymentObject": "commodityWithMarking", то есть передается предмет расчета №33 (Товар имеющий КМ за исключением подакцизного).

Важно! Обратите внимание, что коды маркировки взяты из примеров Атола, и это похоже специальные тестовые коды и только они будут проходить нормально на тестовом ФН 1.2. Ниже мы конвертировали их в pdf формат и теперь их можно также считывать сканером (смотрите внизу прикрепили для скачки).

Не знаю, что произошло (может смену открыли закрыли), но чек опять нормально пробился. Вот ответ:

{
   "fiscalParams" : {
      "fiscalDocumentDateTime" : "2024-02-19T17:30:00+03:00",
      "fiscalDocumentNumber" : 6,
      "fiscalDocumentSign" : "4215976867",
      "fiscalReceiptNumber" : 1,
      "fnNumber" : "9999078902013158",
      "fnsUrl" : "www.nalog.gov.ru",
      "registrationNumber" : "0000000001041944",
      "shiftNumber" : 2,
      "total" : 25000
   },
   "validateMarks" : [
      {
         "driverError" : {
            "code" : 0
         },
         "itemInfoCheckResult" : {
            "ecrStandAloneFlag" : false,
            "imcCheckFlag" : true,
            "imcCheckResult" : true,
            "imcEstimatedStatusCorrect" : true,
            "imcStatusInfo" : true
         },
         "offlineValidation" : {
            "fmCheck" : false,
            "fmCheckErrorReason" : "noKeys",
            "fmCheckResult" : false
         },
         "onlineValidation" : {
            "imcType" : "imcFmVerifyCode88",
            "itemInfoCheckResult" : {
               "ecrStandAloneFlag" : false,
               "imcCheckFlag" : true,
               "imcCheckResult" : true,
               "imcEstimatedStatusCorrect" : true,
               "imcStatusInfo" : true
            },
            "markOperatorItemStatus" : "itemEstimatedStatusCorrect",
            "markOperatorResponse" : {
               "itemStatusCheck" : true,
               "responseStatus" : true
            },
            "markOperatorResponseResult" : "correct"
         },
         "sentImcRequest" : true
      },
      {
         "driverError" : {
            "code" : 0
         },
         "itemInfoCheckResult" : {
            "ecrStandAloneFlag" : false,
            "imcCheckFlag" : true,
            "imcCheckResult" : true,
            "imcEstimatedStatusCorrect" : true,
            "imcStatusInfo" : true
         },
         "offlineValidation" : {
            "fmCheck" : false,
            "fmCheckErrorReason" : "typeIncorrect",
            "fmCheckResult" : false
         },
         "onlineValidation" : {
            "imcType" : "imcVerifyCode44",
            "itemInfoCheckResult" : {
               "ecrStandAloneFlag" : false,
               "imcCheckFlag" : true,
               "imcCheckResult" : true,
               "imcEstimatedStatusCorrect" : true,
               "imcStatusInfo" : true
            },
            "markOperatorItemStatus" : "itemEstimatedStatusCorrect",
            "markOperatorResponse" : {
               "itemStatusCheck" : true,
               "responseStatus" : true
            },
            "markOperatorResponseResult" : "correct"
         },
         "sentImcRequest" : true
      }
   ],
   "warnings" : {}
}

Самое странное, что этот чек мы пробили потом дважды с периодичностью 5 сек без проблем. 




Файлы для скачивания

Атол: тестовый DataMatrix код, работает с тестовым ФН 1.2 [pdf]
проверено на драйвере Атол 10.10.0.0 x86, прошивка кассы 5.8.100