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
Сейчас в теме
В обычных кассах и ФФД не было никакого )
И переходите на ДТО 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 символов?
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 и ниже приведенный код с ним не работал)
Правильный код для атола:
+ Code
Объект. Драйвер.setParam(Объект. Драйвер. LIBFPTR_PARAM_MARKING_CODE, nomenclatureCode);
где nomenclatureCode принимает значение:
ШтрихкодМаркировкиНовый = “01” + СтруктураШтрихкодовМаркировки.gtin + “21” + СтруктураШтрихкодовМаркировки.serial;
nomenclatureCode = ПреобразоватьВМассивБайт( ШтрихкодМаркировкиНовый );
Функция ПреобразоватьВМассивБайт(Данные, РезультатСтрокой = Истина) Экспорт
Если НЕ ЗначениеЗаполнено(СокрЛП(Данные)) Тогда
Возврат “”;
КонецЕсли;
РезультатБайтами = “”;
ИмяВрФайла = ПолучитьИмяВременногоФайла(“txt”);
Текст = Новый ТекстовыйДокумент();
Текст. УстановитьТекст(Данные);
Текст. Записать(ИмяВрФайла,КодировкаТекста. ANSI);
ДвоичныеДанные = Новый ДвоичныеДанные(ИмяВрФайла);
Если РезультатСтрокой Тогда
РезультатБайтами = Строка(ДвоичныеДанные);
Иначе
РезультатБайтами = ДвоичныеДанные;
КонецЕсли;
gtin и serial определяются из разбора отсканированной строки (можно подсмотреть код в любой стандартной конфе или у меня если не найдете)
ВСЕ. В честном знаке все появилось через 3 минуты после пробития чека (и продажа и возврат)
17
d4rkmesa ✎тег 1162 шины выдает ошибку неверная длина кода
какой длинны код туда требуется? атол☑0
evorle145 ✎
