|   |   | 
| 
 | v7: АТОЛ. Товар с маркировкой без фактической проверки КМ в ФФД 1.2. | ☑ | ||
|---|---|---|---|---|
| 0
    
        programerfree 15.10.24✎ 15:33 | 
        Доброго времени суток.
 Используется: 1С ТиС 7.7 и драйвер АТОЛ 10.9.1.0. Имеется обработка fr_comm.ert для взаимодействия с драйвером АТОЛ. В данной обработке реализовано пробитие чека на АТОЛ 55Ф. Сейчас добавляю функционал работы с маркированным товаром "Честный знак". Из документации к драйверу понял, что перед регистрацией товара необходимо выполнить алгоритм проверки кода маркировки: beginMarkingCodeValidation(), getMarkingCodeValidationStatus() и acceptMarkingCode(). Данная проверка не всегда возможна из-за нестабильного интернет соединения. После успешного прохождения проверки LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT (тег 2106) содержит значение 15. Попробовал не выполняя проверку вручную задать LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT = 15 и выполнить acceptMarkingCode(). В итоге получил: (422) Данный КМ отсутствует в таблице. Есть ли возможность "рассказать" ФР, что проверка прошла успешна без фактического прохождения самой проверки? | |||
| 1
    
        Злопчинский 15.10.24✎ 16:10 | 
        есть готовые решения.
 без почты - ССЗБ. | |||
| 2
    
        programerfree 15.10.24✎ 16:14 | 
        (1) Пока попадались решения с полноценной проверкой.
 Например: ФФД 1.2 - пробитие чека через через COM драйвер ККМ v10 (АТОЛ) - пример с маркировкой | |||
| 3
    
        Злопчинский 15.10.24✎ 16:23 | 
        Сорри, не дочитал по существу (0)     | |||
| 4
    
        programerfree 15.10.24✎ 16:54 | 
        (0) (422) Данный КМ отсутствует в таблице
 По описанию ошибки выполнения acceptMarkingCode() предполагаю, что при начале проверки beginMarkingCodeValidation() КМ записывается в память ФР. Далее после получения результата проверки getMarkingCodeValidationStatus() LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT = 15 выполняется подтверждение КМ acceptMarkingCode(). После этого заполняются необходимые теги для регистрации товара и при самой регистрации registration() ФР берет КМ из памяти проверенных... Ошибка скорее всего говорит, что при выполнении acceptMarkingCode() в памяти ФР нет КМ. И нужно ли вообще acceptMarkingCode(), если в памяти ФР будет КМ и LIBFPTR_PARAM_MARKING_CODE_ONLINE_VALIDATION_RESULT = 15. Может возможно все необходимые теги записать руками без фактической проверки? Пока мысли такие. | |||
| 5
    
        programerfree 18.10.24✎ 10:42 | 
        (0) Дополнение к основному вопросу.
 Из информации о значениях [М] ( https://markirovka.ru/knowledge/tovarnye-gruppy/obschie-voprosy-gis/znachenie-m-v-fiskalnykh-dokumentakh-chekakh ) понял, что возможны случаи, когда проверка не будет выполнена и это не помешает дальнейшему формированию и пробитию чека. До этого пытался имитировать положительный результат проверки, т.к. интернет соединение не стабильное и проверка не всегда возможна. Сделал цикличное получение результата проверки getMarkingCodeValidationStatus() на протяжении заданного времени. Выход из цикла выполняется или по истечению времени или по получению результата проверки ПустоеЗначение(FR.getParamBool(FR.LIBFPTR_PARAM_MARKING_CODE_VALIDATION_READY))=0. После цикла выполняется acceptMarkingCode(). Из документации наряду с acceptMarkingCode() есть еще declineMarkingCode() и cancelMarkingCodeValidation(). Как правильно должен выглядеть часть алгоритма в случае выходы из цикла проверки по истечению времени? Так же выполнять acceptMarkingCode() и в результате статус будет не [М+], а [М]? | 
 
 | Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |