Не получается пробить чек с контролем маркировки по ФФД 1.2.
Марка 0104606779460500215BNj7C (здесь вставлен символ GS как положено 0x1D в виде одного байта) 9339Vu
сначала результат проверки марки 5 вместо 15 (причем с другим ПО в принципе касса М+ печатает),
затем при окончательном пробитии чека после проверки выдает
"В реквизите 2007 содержится КМ, который ранее не проверялся в ФН".
libfptr_cancel_marking_code_validation(fptr);//на случай не завершенной предыдущей проверки отменим ее.
libfptr_set_param_int(fptr, LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT12_AUTO);
libfptr_set_param_bytearray(fptr, LIBFPTR_PARAM_MARKING_CODE, mark, a + 1);//к маркировке прибавили передачу терминирующего нуля. Итого передали 32 символа включая терминирующий ноль в конце строки
libfptr_set_param_int(fptr, LIBFPTR_PARAM_MARKING_CODE_STATUS, 1);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_MARKING_PROCESSING_MODE, 0);
libfptr_begin_marking_code_validation(fptr);
// Дожидаемся окончания проверки и запоминаем результат
while(1)
{
libfptr_get_marking_code_validation_status(fptr);
if(libfptr_get_param_bool(fptr, LIBFPTR_PARAM_MARKING_CODE_VALIDATION_READY))
break;
}
validationResult = libfptr_get_param_int(fptr, LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT);
//результат получается 5 чертяка!
// Подтверждаем реализацию товара с указанным КМ
libfptr_accept_marking_code(fptr);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_NO);//НДС не облагается
libfptr_set_param_int(fptr, LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT12_AUTO);
libfptr_set_param_bytearray(fptr, LIBFPTR_PARAM_MARKING_CODE, mark, a + 1);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_MARKING_CODE_STATUS, LIBFPTR_MES_PIECE_SOLD);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT, validationResult);
libfptr_set_param_int(fptr, LIBFPTR_PARAM_MARKING_PROCESSING_MODE, 0);
libfptr_set_param_str(fptr, LIBFPTR_PARAM_COMMODITY_NAME, thing_name);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_PRICE, price);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_QUANTITY, quantity);
libfptr_set_param_double(fptr, LIBFPTR_PARAM_DEPARTMENT, department);
libfptr_set_param_int(fptr, 1212, 33);//с маркировкой не подакцизный
libfptr_set_param_int(fptr, 1214, 4);
res = libfptr_registration(fptr);
//ошибка "В реквизите 2007 содержится КМ, который ранее не проверялся в ФН".
Что не так?
Эвотор ОФД, на другом ПО в чеках М+ есть на этой кассе.