КОД ОШИБКИ 27 НЕВЕРНАЯ ДЛИНА

2.

kuld

Сейчас в теме

идет слишком длинное наименование номенклатуры

слишком длинное – это сколько символов?
у протоколов передачи есть свои ограничения, в т.ч. и на длину наименования.

3.

просто умница

Сейчас в теме

Наименование занимает 94 символа вместе с пробелами. В любом случае, естествеенно, оно не выходит за рамки поля “Наименование” в 1с. Поэтому логично, что оно должно печататься в чеке без проблем.
“Джинсы -баталы зауженные средней плотности варка (двойной бандаж, варка) Pip Style 770/В4-407”

4.

kuld

Сейчас в теме

Логика того, что должно печататься в чеке, а что нет определяется не рамками поля “Наименование” в справочнике “Номенклатура” конфигураций 1С, а федеральным законом о порядке применения контрольно-кассовой техники 54-ФЗ, его подзаконными актами и техническими регламентами.
Например, в ФФД 1.0 длина наименования товара 64 символа, а в ФФД 1.05 – 123 символа.

Какой у Вас ФФД? Какая версия ДТО от Атола?

5.

просто умница

Сейчас в теме

ФФД 1.05, Версия ККТ 1245 ДТО 8.16.1.8701

Только что вышел чек с Номенклатурой в названии которой 83 символа и 84 символа. Застрял чек из 4 номенклатурных позиций.
Вчера застрял чек из 1 номенклатурной позиции

14.

ZIGER666

Сейчас в теме

ффд 1.05 работает ТОЛЬКО с ДТО 9 и на проишивках ККТ от 4555

6.

просто умница

Сейчас в теме

Спасибо Вам огромное что подсказали решение. Оказалось что 123 символа в чеке – это Наименование номенклатуры+ характеристика. И там где характеристика длинная – чек застрял. Срочно сокращаем характеристики, так как скоро переводим все на онлайн кассы. В обычных кассах такой проблемы не было.

7.

kuld

Сейчас в теме

Читайте также:  Код ошибки 0x80240004

В обычных кассах и ФФД не было никакого )
И переходите на ДТО 9. Атол рекомендует это делать для ФФД 1.05 и 1.1

8.

просто умница

Сейчас в теме

Спасибо за рекомендацию. Так и сделаем

9.

RocKeR_13

Сейчас в теме

10.

ValeriyZ

Сейчас в теме

11.

ZIGER666

Сейчас в теме

дто 9? В 1с тоже 9х драйвер?

12.

ValeriyZ

Сейчас в теме

В 1С да, 9х. Д ТО сам не смотрел, но админ уверял, что последний.

13.

ZIGER666

Сейчас в теме

если стоит драйвер 9 и свежий релиз 1С ИП и одна из последних прошивка кассы например 4555 ошибки быть не может проверьте прошивку кассы
я сталкивался с этой проблемой установка ДТО 9 (драйвер атол) ее исправляет

15.

Tangram

Сейчас в теме

Драйвер 8.16.3, АТОЛ 55ф прошивка 6059 – выдавал ошибку -3895 неверная длина пока не поставил ограничение длины строки 64 символа.
Видимо надо на 9 драйвер везде переходить.

16.

ZIGER666

Сейчас в теме

для данной прошивки толькло дто 9 или 10

тег 1162 шины выдает ошибку неверная длина кода

какой длинны код туда требуется? атол☑0
evorle145 ✎

ШтрихкодМаркировкиНовый = “01” + СтруктураШтрихкодовМаркировки.gtin + “21” + СтруктураШтрихкодовМаркировки.serial;
            nomenclatureCode = КАС_ПреобразоватьВМассивБайт( ШтрихкодМаркировкиНовый );

Если ЗначениеЗаполнено(nomenclatureCode) Тогда
                //ТЕА Объект. Драйвер.setParam(Объект. Драйвер. LIBFPTR_PARAM_MARKING_CODE, nomenclatureCode);
                Объект. Драйвер.setParam(1162, nomenclatureCode);

Пробовал сначала  Объект. Драйвер.setParam(Объект. Драйвер. LIBFPTR_PARAM_MARKING_CODE, nomenclatureCode); написала что параметр LIBFPTR_PARAM_MARKING_CODE неизвестен, походу версия платформы 2.5
потом пробовать стал просто Объект. Драйвер.setParam(1162, nomenclatureCode); но тут стал выдавать что неверная длинна кода

1
evorle145 ✎

версия платформы 2.5
версия прошивки 12-8541

2
Voronve ✎3
evorle145 ✎

что вы имеете ввиду? как я понимаю, раз у меня платформа 2.5 , то я должен в код  Объект. Драйвер.setParam(1162, nomenclatureCode);nomenclatureCode – вот сюда подсунуть код не преобразованный через  КАС_ПреобразоватьВМассивБайт( ШтрихкодМаркировкиНовый ); , а прям строку вставлять из этих 31 символов?

Читайте также:  H 1 Z 1 КОД ОШИБОК G 34

4
evorle145 ✎

хэх. подставил строку длинной 31, и пробилось. Спасибо ВАМ, добрый человек!

5
d4rkmesa ✎

Думаю, теперь можно на радостях начать писать слова “длина” правильно.

6
evorle145 ✎7
d4rkmesa ✎8
Исновая ✎9
Voronve ✎

Загляни в ОФД. Проверь

10
evorle145 ✎

в овд вот такая картина:

а правильный код, который я отправлял в тег 1162 вот такой  0104680010061794212pwfO’C6qxpK!

то есть часть отрезало какого то фига “10061794212pwfO’C6qxpK!” и в честном знаке я этот чек так и не увидел

11
Voronve ✎12
evorle145 ✎13
Voronve ✎

У тебя на картинке два М. Если тэг 1162 заполняется корректно, то сама касса выставляет М
То что ка картинке твой киз показан обрезанным – чтож делать, ты не влияешь на то как офд отдает данные пользователю на просмотр.
С утра посмотри в ЧЗ изменения и дерни ТП их.

14
evorle145 ✎15
evorle145 ✎

вот и прикол, в том что в обработке обслуживания написано, если отправлять код в новом формате, то нужно делать через
nomenclatureCode  = КАС_ПреобразоватьВМассивБайт( ШтрихкодМаркировкиНовый )
Объект. Драйвер.setParam(Объект. Драйвер. LIBFPTR_PARAM_MARKING_CODE, nomenclatureCode);

16
evorle145 ✎

Ошибка найдена! Пишу решение для тех, кто возможно наткнется и совершит те же ошибки что и я.

Итак, обновляем прошивку кассы до примерно 12-8541 (если у вас чуть ниже, то вроде с 12-8400 должно работать)
Версия платформы не имеет значение. На 2.5 работает.
ОБЯЗАТЕЛЬНО обновляем драйвер кассы. Если АТОЛ то до 10.8.1 минимум! (Я совершил ошибку и обновил драйвер на локальной машине до это версии, а кассы работы через терминал, а на сервере драйвер стоял 10.4 и ниже приведенный код с ним не работал)

Читайте также:  Код ошибки b1150 сузуки сх4

Правильный код для атола:
+ Code
Объект. Драйвер.setParam(Объект. Драйвер. LIBFPTR_PARAM_MARKING_CODE, nomenclatureCode);
где nomenclatureCode принимает значение:
ШтрихкодМаркировкиНовый = “01” + СтруктураШтрихкодовМаркировки.gtin + “21” + СтруктураШтрихкодовМаркировки.serial;
            nomenclatureCode = ПреобразоватьВМассивБайт( ШтрихкодМаркировкиНовый );

Функция ПреобразоватьВМассивБайт(Данные, РезультатСтрокой = Истина) Экспорт
    Если НЕ ЗначениеЗаполнено(СокрЛП(Данные)) Тогда
        Возврат “”;
    КонецЕсли;    
    РезультатБайтами = “”;

ИмяВрФайла = ПолучитьИмяВременногоФайла(“txt”);
    Текст = Новый ТекстовыйДокумент();
    Текст. УстановитьТекст(Данные);
    Текст. Записать(ИмяВрФайла,КодировкаТекста. ANSI);
    ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВрФайла);
    Если РезультатСтрокой Тогда
        РезультатБайтами = Строка(ДвоичныеДанные);
    Иначе
        РезультатБайтами = ДвоичныеДанные;
    КонецЕсли;

gtin и serial определяются из разбора отсканированной строки (можно подсмотреть код в любой стандартной конфе или у меня если не найдете)

ВСЕ. В честном знаке все появилось через 3 минуты после пробития чека (и продажа и возврат)

17
d4rkmesa ✎тег 1162 шины выдает ошибку неверная длина кода

какой длинны код туда требуется? атол☑0
evorle145 ✎

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *