|
v7: Кассовый аппарат Штрих online периодически не печатает некоторые позиции | ☑ | ||
---|---|---|---|---|
0
aryan
20.04.18
✎
17:49
|
Кассовый аппарат Штрих online периодически не печатает некоторые позиции. Ума не приложу из-за чего, но кассовый аппарат пару раз не печатал позиции в чеке. Первую не печатает, а вторую печатает. По какой причине такое может быть?
|
|||
1
aryan
20.04.18
✎
18:35
|
Процедура ОтветДрайвера()
Result = глФР.ResultCode; ОшибкаПараметра = глФР.ResultCodeDescription; КонецПроцедуры //ОтветДрайвера() Процедура ОткрытьСмену() Если Вопрос("Вы действительно собираетесь открыть смену?","Да+Нет")="Да" Тогда глФР.Password=30; глФР.OpenSession(); ОтветДрайвера(); КонецЕсли; КонецПроцедуры //ОткрытьСмену() |
|||
2
aryan
20.04.18
✎
18:41
|
Открыли смену, далее по нажатии кнопки в ПКО выполняется следующий код:
//Продажа ДокОснование.ВыбратьСтроки(); Пока ДокОснование.ПолучитьСтроку()>0 Цикл глФР.Password=30; глФР.Quantity=ДокОснование.Количество; глФР.Tax1=1; глФР.Price=Окр(ДокОснование.Сумма/ДокОснование.Количество, 2); глФР.StringForPrinting=ДокОснование.Номенклатура; глФР.Sale(); КонецЦикла; // Закрытие чека глФР.Password=30; глФР.Summ1=ДокОснование.Итог("Сумма"); глФР.Tax1=1; глФР.Summ2=0; глФР.Summ3=0; глФР.Summ4=0; глФР.StringForPrinting="================================"; глФР.CloseCheck(); ОтветДрайвера(); Сообщить("Результат: "+Строка(Result)); Сообщить("Ошибка параметра: "+Строка(ОшибкаПараметра)); |
|||
3
aryan
20.04.18
✎
18:50
|
ПКО создан на основании накладной, из табличной части которой берется вся информация.
Были случаи, когда пробивалась вторая позиция, общая сумма пробивалась как дана от покупателя, и расчитывалась сдача. По отдельности позиции пробиваются в чеке и даже те же самые позиции с другими ценами также нормально пробиваются. Кто-нибудь сталкивался с таким, куда копать вообще, от чего это зависит. Сумма/количество=количество*сумму без всяких разночтений. |
|||
4
Kigo_Kigo
20.04.18
✎
19:37
|
Сначало, потом все остальное
глФР.StringForPrinting=ДокОснование.Номенклатура; |
|||
5
Kigo_Kigo
20.04.18
✎
19:38
|
Вот так
//Продажа ДокОснование.ВыбратьСтроки(); Пока ДокОснование.ПолучитьСтроку()>0 Цикл глФР.Password=30; глФР.StringForPrinting=ДокОснование.Номенклатура; глФР.Quantity=ДокОснование.Количество; глФР.Tax1=1; глФР.Price=Окр(ДокОснование.Сумма/ДокОснование.Количество, 2); глФР.Sale(); КонецЦикла; |
|||
6
Kigo_Kigo
20.04.18
✎
19:42
|
или даже Вот так
//Продажа ДокОснование.ВыбратьСтроки(); Пока ДокОснование.ПолучитьСтроку()>0 Цикл глФР.Password=30; глФР.StringForPrinting=ДокОснование.Номенклатура; глФР.Quantity=ДокОснование.Количество; глФР.Tax1=1; глФР.Price=Окр(?(ДокОснование.Количество = 0,ДокОснованиеСумма,ДокОснование.Сумма/ДокОснование.Количество, 2); глФР.Sale(); КонецЦикла; |
|||
7
Woldemar177
20.04.18
✎
19:53
|
/*Кассовый аппарат Штрих online периодически не печатает некоторые позиции. Ума не приложу из-за чего, но кассовый аппарат пару раз не печатал позиции в чеке. Первую не печатает, а вторую печатает. По какой причине такое может быть?*/
скрины? сканы? |
|||
8
aryan
20.04.18
✎
20:18
|
(7) http://www.picshare.ru/view/8765492/
http://www.picshare.ru/view/8765499/ Извините, чек немного размыт, его сфоткал сотрудник |
|||
9
aryan
20.04.18
✎
20:19
|
(6) От перемены мест слагаемых сумма не меняется. :) Самое интересное: есть чеки из 5 позиций, которые пробиваются нормально. Не могу отследить закономерность этого сбоя.
|
|||
10
aahc
20.04.18
✎
20:26
|
не а что) налогов меньше) разница кассиру)
|
|||
11
Kigo_Kigo
20.04.18
✎
20:27
|
(9) Есть зависимость, в последних штрихах именно наименование товара должно быть первым, ты попробуй, а уж потом рассуждай
|
|||
12
aahc
20.04.18
✎
20:29
|
в шапке ! без пробела надо было сделать) а есть возможность другой аппарат подкинуть?
|
|||
13
Kigo_Kigo
20.04.18
✎
20:30
|
если нет, то надо шить кассу на последнюю прошивку, но порядок остается такой же как я вам написал
|
|||
14
Kigo_Kigo
20.04.18
✎
20:31
|
Вы сильно удивитесь, когда увидите в ОФД чеки без наименование, по той же причине
|
|||
15
aryan
20.04.18
✎
20:33
|
(12) Другого аппарата нет.
(9) Попробую наименование первым обязательно, думал что вроде на момент команды Sale() все поля заполнены, какая вроде разница в какой последовательности их заполнять. (13) прошивка последняя |
|||
16
aryan
20.04.18
✎
20:36
|
Я уже на лету программно сделал, чтобы кроме символов букв других не было, думал, что кассовый аппарат не воспринимает какие-то символы в наименовании товара - это не сработало.
|
|||
17
Kigo_Kigo
20.04.18
✎
21:31
|
подход штриха сча такой, все что до цена и количество -это наименование товара, после - рекламный текст
|
|||
18
aryan
20.04.18
✎
21:55
|
(17) Как тогда объяснить, делаю продажу с приходником на свою организацию (пробный чек с маленькими ценами), с теми же позициями и количеством, указываю цену 1 рубль и чек выезжает с обеими теми же позициями как надо с тем же программным алгоритмом?
|
|||
19
aryan
20.04.18
✎
22:06
|
В руководстве программиста в драйвере к Штриху
Создание объекта драйвера v:=CreateOleObject(‘AddIn.DrvFR’); Продажа v.Password:=30; v.Quantity:=1000; v.Price:=1.56; v.Department:=1; Руководство программиста –52– v.Tax1:=1; v.Tax2:=2; v.Tax3:=0; v.Tax4:=0; v.StringForPrinting:= 'Спичечный коробок'; v.Sale; Закрытие чека v.Password:=30; v.Summ1:=1500; v.Summ2:=100; v.Summ3:=200; v.Summ4:=300; v.DiscountOnCheck:=5; v.Tax1:=1; v.Tax2:=2; v.Tax3:=0; v.Tax4:=0; v.StringForPrinting:= '===================================='; v.CloseCheck; Обратите внимание, где находится StringForPrinting |
|||
20
aryan
20.04.18
✎
22:08
|
Может, какой параметр неправильно стоит в свойствах драйвера к кассе. Неужели никто с такой проблемой не сталкивался?
|
|||
21
MWWRuza
гуру
20.04.18
✎
22:08
|
Я в дебри не вдавался, но может банально надо вместо:
глФР.StringForPrinting=ДокОснование.Номенклатура; Использовать глФР.StringForPrinting=СокрЛП(ДокОснование.Номенклатура); ??? в глФР.StringForPrinting Вы пихаете вместо строки ссылку на элемент справочника 1С... |
|||
22
aryan
20.04.18
✎
22:12
|
(21) извращался даже вот так:
печнаим="Код "+СокрЛП(Строка(ДокОснование.Номенклатура.Код))+" "; колнаим=СтрДлина(печнаим); Для сча=1 по СтрДлина(ДокОснование.Номенклатура.ПолнНаименование) Цикл символика=Сред(ДокОснование.Номенклатура.ПолнНаименование,сча,1); Если (символика<>"=") и (символика<>"""") и (символика<>",") и (символика<>"/") и (символика<>".") и (символика<>"\") Тогда печнаим=печнаим+символика; Иначе печнаим=печнаим+" "; КонецЕсли; колнаим=колнаим+1; Если колнаим=40 Тогда Прервать; КонецЕсли; КонецЦикла; ...... глФР.StringForPrinting=печнаим; |
|||
23
piter3
20.04.18
✎
22:32
|
1.0 ограничение?
|
|||
24
aryan
20.04.18
✎
22:39
|
(23) Нет, 5 позиций с суммами более 1000 прекрасно пробиваются.
|
|||
25
aryan
20.04.18
✎
22:42
|
из где-то 7 чеков, 2 дали сбой. В каждом из этих чеков было 2 товара и пробился именно второй, первый - касса как будто отбросила.
|
|||
26
piter3
20.04.18
✎
22:43
|
(24) Не понял,а проблема в наименовании или в чем?
|
|||
27
piter3
20.04.18
✎
22:43
|
(25) Логи смотри,что тут вангу искать
|
|||
28
aryan
20.04.18
✎
23:03
|
(26) Проблема в том, что в чеке вместо двух позиций пробивается одна, как будто касса просто одну позицию выкидывает.
|
|||
29
aryan
20.04.18
✎
23:07
|
(26) Например 2 позиции: одна Товар А 2 шт на сумму 1000,
Товар Б 3 шт на сумму 900 руб. Касса пробивает Товар Б в размере 3 шт на сумму 900. Пишет: получено 1900, сдача: 1000. Первой позиции вообще на чеке не наблюдается. |
|||
30
piter3
20.04.18
✎
23:08
|
(29) нонсенс,давай,что бы было проще,все параметры.Я штрихи не,но будет коллегам проще
|
|||
31
piter3
20.04.18
✎
23:14
|
версия прошивки,драйвера
|
|||
32
aryan
20.04.18
✎
23:15
|
(30) Сам в шоке, не могу отловить ошибку, ладно бы все так печатались, а нет. Дело в том, что всего по этой кассе было пробито 7 чеков: 5 нормально, 2 с двумя позициями, из них на чеке только вторые позиции. А какие параметры интересуют? пример в прикреплении в (8)
|
|||
33
aryan
20.04.18
✎
23:18
|
Остается надежда - обращусь в ЦТО, чтобы они со Штрихом связались - может у кого такое было. Касса подключена по RNDIS на Windows 10, 1С подключена не в терминале,база файловая, сама база на сервере. Тис 7.7. Код написан - код весь скинул.
|
|||
34
piter3
20.04.18
✎
23:18
|
(32) Логи дай посмотреть,что там передается от ожидаемого
|
|||
35
aryan
20.04.18
✎
23:20
|
(34) В понедельник посмотрю, где логи хранятся в драйвере - скину.
|
|||
36
Kigo_Kigo
21.04.18
✎
11:36
|
(19) Выкинь нафиг это руководство, я тоже по нему делал, только через неделю клиент позвонил сказал, у нас чеки в ОФД без наименований приходят, и добавь команды
на каждую позицию ФР.FNOperation(); перед закрытием чека ФР.FNCloseCheckEx(); |
|||
37
aryan
22.04.18
✎
09:55
|
(36) вот так? Свойства надо какие новые добавлять?
ДокОснование.ВыбратьСтроки(); Пока ДокОснование.ПолучитьСтроку()>0 Цикл глФР.Password=30; глФР.StringForPrinting=ДокОснование.Номенклатура; глФР.Quantity=ДокОснование.Количество; глФР.Tax1=1; глФР.Price=Окр(?(ДокОснование.Количество = 0,ДокОснованиеСумма,ДокОснование.Сумма/ДокОснование.Количество, 2); глФР.FNOperation(); //новая строка глФР.Sale(); КонецЦикла; // Закрытие чека глФР.Password=30; глФР.Summ1=ДокОснование.Итог("Сумма"); глФР.Tax1=1; глФР.Summ2=0; глФР.Summ3=0; глФР.Summ4=0; глФР.StringForPrinting="================================"; глФР.FNCloseCheckEx(); //новая строка глФР.CloseCheck(); ОтветДрайвера(); Сообщить("Результат: "+Строка(Result)); Сообщить("Ошибка параметра: "+Строка(ОшибкаПараметра)); |
|||
38
Woldemar177
22.04.18
✎
09:58
|
штрих печатает то что вы говорите ему печатать.
|
|||
39
aryan
22.04.18
✎
10:02
|
(38) Я ему говорю печатать 2 строки табличной части - он печатает одну, почему-то последнюю из двух. Программный код привел, что в нем не так?
|
|||
40
Woldemar177
22.04.18
✎
10:04
|
(39) не знаю ;-)
в типовых я никогда с таким не сталкивался. |
|||
41
aryan
22.04.18
✎
10:04
|
(38) Иногда он печатает все, иногда -нет. Не пойму от чего это зависит. Код по идее либо работает - либо нет. Значит есть какое-то условие, которое не зависит от кода. Как выяснить, что за условие?
|
|||
42
Woldemar177
22.04.18
✎
10:14
|
(41) печатать те позиции подряд которые не печатаются.
Зы как скучаю по кодингу и такому выносу мозга ;)))) Как скучно я живу. Ставлю кассу, сканируют штрих, из облака выбирают название по короче, загоняют в кабинет личный, потом в 1с ут 11.3. Потом продажи снимать будут. |
|||
43
aryan
22.04.18
✎
12:45
|
Может DrvFR.dll в режиме demo выкидывает какую-нибудь n-ю позицию в чеке?
|
|||
44
Сияющий в темноте
23.04.18
✎
16:07
|
Команда Sale возвращает код ошибки или ноль,вот если не ноль,то команда не выполнена
хватит мучить ФР пишите правильно код ничего не пропадет |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |