Имя: Пароль:
1C
1C 7.7
v7: Некорректная операция, внутреняя ошибка ПО ФФД1.2
,
0 Mafiozaa
 
19.01.22
09:00
Приветствую, Штрих М, тестил 2 драйвера 4.15.0.842, и 5.16.0.877. У себя на офисе пробиваю чек, с 2 и более позициями, все выходит хорошо правильно, на торговой точке, этот же драйвер все тоже самое, но если 1 товар все ок, больше товаров пишет некорректная операция внутренняя ошибка по, дата прошивки одна и та же, все тоже самое, у меня все ок, на магазин колом, толкните на мысль

        GTINSerial = СокрЛП(Сред(КодМаркировки, 1, 31));
        СоедКод = СокрЛП(Сред(КодМаркировки, 33, 6));
        КриптоХвост = СокрЛП(Сред(КодМаркировки, 40, 47));
        КМ = GTINSerial + Симв(29) + СоедКод + Симв(29) + КриптоХвост;
        Объект.BarCode = КМ;
        Если Объект.CheckType = 0 Тогда
            Объект.ItemStatus = 1;
        КонецЕсли;
        Если Объект.CheckType = 2 Тогда
            Объект.ItemStatus = 3;
        КонецЕсли;
        Объект.CheckItemMode = 0;
        Объект.PaymentTypeSign = 4;
        Объект.PaymentItemSign = 1;
        Объект.FNCheckItemBarcode();
        Объект.FNAcceptMarkingCode();
        Объект.PaymentItemSign = 31;
        Объект.MeasureUnit = 0;
        Объект.FNSendItemBarcode();
        Если ПустоеЗначение(СокрЛП(КодМаркировки)) = 0 Тогда    
            Сообщить(Объект.ResultCodeDescription);
        КонецЕсли;
1 Ёпрст
 
19.01.22
09:15
(0) у тебя определенно хуё..во со счетом. Бегом в школу учить арифметику. Я тебе еще в прошлой ветке об этом сказал.
Извини, но считать до 40 ты не умеешь
2 Ёпрст
 
19.01.22
09:17
Даже не так, до 6.
Если что, это один, два, три ,четыре, пять и шесть.
И учи аддитивные операции, сложение, например .
Домашнее задание: к 33 прибавь 6.
3 Mafiozaa
 
19.01.22
09:18
(2) Ну че ты разгоняешься))) я не так по цифрам режу? почему у меня отходит тогда корректно
4 Ёпрст
 
19.01.22
09:21
Спорим, победит пересчитывать?)
5 Ёпрст
 
19.01.22
09:21
Побежит
6 Ёпрст
 
19.01.22
09:22
(3) уже пересчитал?)
7 Mafiozaa
 
19.01.22
09:23
(5) Ну конечно побегу считать, может действительно где что
8 Mafiozaa
 
19.01.22
09:23
(6) Хотя вроде не контуженный)
9 Ёпрст
 
19.01.22
09:23
Там правильно, только щачем пихатт сокрлп, раз ты посимвольно складываешь, не ясно. Думаешь, инопланетяне тебе пробелов добавят в строку после сред?
10 Mafiozaa
 
19.01.22
09:24
(9) Да хрен его уже знает) Ну в чем тогда может косяк быть?)
11 Смотрящий
 
19.01.22
09:27
А куды ты 32 и 39 символы деваешь ???
12 Смотрящий
 
19.01.22
09:28
Шоп те так зп начисляли
13 Mafiozaa
 
19.01.22
09:29
(11) вместо 32 и 39 я вставляю Симв(29)
14 Смотрящий
 
19.01.22
09:32
(13) Коверкаешь датаматрикс ? Вот ПО кассы и сносит башню ...
15 victuan1
 
19.01.22
09:33
(13) Вместо? ООоо..
16 Смотрящий
 
19.01.22
09:33
(15) Тсссс ... Вспугнешь ....
17 Mafiozaa
 
19.01.22
09:35
(15) Ну получается что я не беру его, а вставляю 29 симв, я так понял это тот символ который нужен
18 Смотрящий
 
19.01.22
09:37
(17) Если ты передашь в ПО кассы датаматрикс без симв(29) он нормально отработает.
Твоя возня не имеет смысла ...
19 victuan1
 
19.01.22
09:38
(17) Имхо, настрой ужо сканер, чтобы он тебе не коверкал Датаматрикс.
Напиши точно модель сканера, может дам инструкцию.
20 victuan1
 
19.01.22
09:38
(18) Не, если ФФД = 1.2
По крайней мере, [М+] не получишь в чеке.
21 Смотрящий
 
19.01.22
09:40
(20) Номенклатура.Наименование + " [М+]" :))))
Видел тут у одного, и ведь как то проверки проходит
22 Mafiozaa
 
19.01.22
09:41
(20) Сканера в основном Honeywell Orbit 7190g, но есть еще и Mindeo MD6600HD
Вот щас сидя в кабинете при этом коде делаю чек на 2 позиции в чеке на друх позициях M+ (в чз выбыло)
При таком же коде, при таком же драйвере на магазине получается Некоректная операция, ошибка внутреннего ПО, и пока писал меня осинило
В офисе я сканирую Mindeo, а на магазине Orbit
23 victuan1
 
19.01.22
09:41
(21) Это не спортивно)
24 Mafiozaa
 
19.01.22
09:42
(21) Для такого даже я бы не додумался))))
25 Смотрящий
 
19.01.22
09:42
(22) И в чем разница должна быть ? Орбит несвежий чтоль ?
26 Смотрящий
 
19.01.22
09:43
(24) Проверки проходит владелец. Торгует себе. Ни разу не штрафанули
27 Mafiozaa
 
19.01.22
09:43
(25) Ну как мне сказали, настрой так чтоб не коверкал и скинуть название, у меня думка, может сканер как то спецсимвол по другому распознает
28 victuan1
 
19.01.22
09:45
(22) Хонивелл Орбит https://sbis.ru/help/equipment/scaner/setting/7580g_klav?tb=tab2
Миндео https://sbis.ru/help/equipment/scaner/mindeoMD_8000?tb=tab2
После правильно настройки КМ будет возвращаться с символами 29, ничего программно добавлять в КМ не нужно.
29 Mafiozaa
 
19.01.22
09:50
(28) С сетью в 100 магазином, очень сложно будет не очень грамотным заведующим по такой схеме пройти, мне проще символ воткнуть
30 Mafiozaa
 
19.01.22
09:50
(28) Проблема в символах? по твоему мнению? Почему тогда у меня огонь, у них нет
31 victuan1
 
19.01.22
09:54
(30) Откуда ж я знаю.
32 Mafiozaa
 
19.01.22
10:10
(31) У себя попробывал без всяких разбивок и вставок - получилось, щас на точке проверю
33 Mafiozaa
 
19.01.22
10:15
Победа)
34 Смотрящий
 
19.01.22
10:16
Где мы можем получить свою часть победы ?
35 Mafiozaa
 
19.01.22
10:23
(34) Рано походу обрадовался
36 Mafiozaa
 
19.01.22
10:50
Скидка в чеке может ломать кассе голову?
37 Mafiozaa
 
19.01.22
10:54
Без скидки вроде огонь, со скидкой не получается
38 Mafiozaa
 
19.01.22
11:31
Да,все точно, если в чеке есть скидка, то тишина, без скидки огонь, куда копать?)
39 victuan1
 
19.01.22
11:47
(38) Объект.setParam(Объект.LIBFPTR_PARAM_POSITION_SUM, СуммаПозицииЧека);
//не отличаться от произведения цены на количество
У тебя отличается?
40 Mafiozaa
 
19.01.22
13:13
(39) У меня вот так

        Если  СписокТоваров.Количество=0 тогда      
        Объект.Price             = СписокТоваров.Цена;  
    иначе
        Объект.Price             = СписокТоваров.Сумма/СписокТоваров.Количество;
    КонецЕсли;
41 Mafiozaa
 
19.01.22
13:16
(39) У меня в обработку печати я понимаю не передается никакая скидка, у меня в чеке меняется цена, и передается цена
42 Mafiozaa
 
19.01.22
13:17
(39) Удивительно, как может влиять таким образом пикнутая карта скидок на кассе)
43 Mafiozaa
 
19.01.22
13:33
Нашел, из за вот этого куска кода, падало

        //Если ПустоеЗначение(СписокТОваров.СкидкаПоСтроке) = 0 Тогда
        //    пробел ="................................" ;
        //    Объект.StringForPrinting = Лев("Стоимость"+прав(пробел,32-(9+СтрДлина(Формат(СписокТоваров.Цена*СписокТоваров.Количество,"Ч.2"))))+Формат(СписокТоваров.Цена*СписокТоваров.Количество,"Ч.2"),32);
        //    Объект.PrintString();//                                                  СписокТоваров.СкидкаПоСтроке
        //    Объект.StringForPrinting = "Скидка "+СписокТоваров.СкидкаПоСтроке+"%"+прав(пробел,32-(5+СтрДлина(СписокТоваров.СкидкаПоСтроке-СписокТоваров.СкидкаСпасибо)+СтрДлина(Формат((СписокТоваров.Цена*СписокТоваров.Количество-СписокТоваров.Сумма-СписокТоваров.СкидкаСпасибо),"Ч.2"))))+Формат(((СписокТоваров.Цена*СписокТоваров.Количество)-СписокТоваров.Сумма-СписокТоваров.СкидкаСпасибо),"Ч.2");
        //    Объект.PrintString();  
        ////доб.скидка СПАСИБО
        //    Если пустоезначение(СписокТоваров.СкидкаСпасибо)=0 тогда
        //        Объект.StringForPrinting = "Скидка СПАСИБО"+прав(пробел,32-(10+СтрДлина(СписокТоваров.СкидкаСпасибо)+СтрДлина(Формат((СписокТоваров.СкидкаСпасибо),"Ч.2"))))+Формат(((СписокТоваров.СкидкаСпасибо)),"Ч.2");
        //        Объект.PrintString();
        //
        //        Объект.StringForPrinting = "Общая скидка "+прав(пробел,32-(11+СтрДлина(СписокТоваров.СкидкаПоСтроке)+СтрДлина(Формат((СписокТоваров.Цена*СписокТоваров.Количество-СписокТоваров.Сумма),"Ч.2"))))+Формат(((СписокТоваров.Цена*СписокТоваров.Количество)-СписокТоваров.Сумма),"Ч.2");
        //        Объект.PrintString();  
        //    КонецЕсли;
        //    Объект.StringForPrinting     = Лев("Всего"+прав(пробел,32-(5+СтрДлина(Формат(СписокТоваров.Сумма,"Ч.2"))))+Формат(СписокТоваров.Сумма,"Ч.2"),32);
        //    Объект.PrintString();  
        //ИначеЕсли ПустоеЗначение(СписокТОваров.СкидкаСпасибо) = 0 тогда
        //    пробел ="................................" ;
        //    Объект.StringForPrinting = Лев("Стоимость"+прав(пробел,32-(9+СтрДлина(Формат(СписокТоваров.Цена*СписокТоваров.Количество,"Ч.2"))))+Формат(СписокТоваров.Цена*СписокТоваров.Количество,"Ч.2"),32);
        //    Объект.PrintString();//
        //    Объект.StringForPrinting = "Скидка СПАСИБО"+прав(пробел,32-(10+СтрДлина(СписокТоваров.СкидкаСпасибо)+СтрДлина(Формат((СписокТоваров.СкидкаСпасибо),"Ч.2"))))+Формат(((СписокТоваров.СкидкаСпасибо)),"Ч.2");
        //    Объект.PrintString();
        //    Объект.StringForPrinting     = Лев("Всего"+прав(пробел,32-(5+СтрДлина(Формат(СписокТоваров.Сумма,"Ч.2"))))+Формат(СписокТоваров.Сумма,"Ч.2"),32);
        //    Объект.PrintString();        
        ////конец скидка СПАСИБО
        //КонецЕсли;

Даже разбираться не стал что тут написано закоментил, и пролетело со скидкой)
44 mzelensky
 
20.01.22
14:10
(0) Автор, как с тобой связаться, вопросы есть по ФФД 1.2

моя почта [email protected]
Скайп zel_maks
45 Злопчинский
 
20.01.22
15:07
ТС для самообразования почитать https://ru.wikipedia.org/wiki/GS1-128
понять что такое AI
46 victuan1
 
21.01.22
05:06
(44) "Автор" сам плавает в этой теме, смысл с ним связываться ;)
47 mzelensky
 
21.01.22
08:24
(46) Давай с тобой свяжусь.

У меня сейчас стоит задача наладки работы касс по формату ФФД 1.2. Драйвера используем Штрих-М. Конфигурация совершенно нетиповая, поэтому просто взять из последней Розницы или УТ не получится (по крайней мере быстро).

Соответственно ищу варианты, как это сделать более-менее быстро. Если у кого уже есть "вырезанный" рабочий механизм, то готов приобрести.
48 victuan1
 
21.01.22
11:45
(47) 1с8 или 1с7.7?
Компьютер — устройство, разработанное для ускорения и автоматизации человеческих ошибок.