Главная категория > Посцентр (ШТРИХ-М)
CheckType в чеке (с данными коррекции) на ФФД 1.2 - что опять за бред?
kkmspb:
И опять здравствуйте!
Изучения протокола Штрих меня вынуждает напрягать мозги и уже не верить ни чему. Думаю надо отдельную тему для этого отвести.
Смотрите, что только что обнаружил с коррекцией чеков:
У меня Штрих-Онлайн , тест. ФН 1.2 (версия регистрации 1.2), драйвер 5.09.0008.хххх.
Что имеем в коде :
CheckType = 0|2
FNOpenCheckCorrection
регистрируем позиции .....
FNCloseCheckEx
Обратите внимание на возможные значения CheckType = 0|2
То есть:
0 - получится приход
1 - получится ошибка FNOperation() [94] Некорректная операция
2 - получится возврат прихода
3 - получится ошибка FNOperation() : [94] Некорректная операция
4 - получится ошибка FNOperation() : [94] Некорректная операция
Я уже у Штриха вообще ничего не понимаю. В документации вообще написано CheckType варианты: 0,1,2,3 (v5.17)
Расход и возврат с коррекцией вообще что ли отсутствуют?
Или это только у меня?
Slava:
/// 5.09.0008.хххх.
Это что за драйвер ?
зы. " Кто такая , почему не знаю ? "
kkmspb:
--- Цитата: Slava от 01/05/2025 01:11:38 ---/// 5.09.0008.хххх.
Это что за драйвер ?
зы. " Кто такая , почему не знаю ? "
--- Конец цитаты ---
Извините ошибся, вот так отображается, 5.0.9008.21769. Что это за версия? Сам уже не помню. Но не суть.
Установил теперь DrvFR_5.16_877_x32. Эта в окне отображается как 5.0.7942.30349
Ситуация такая же CheckType : 0 или 2 только проходит.
Но зато еще одну кассу ШТРИХ-МИНИ-01Ф завел на ФН 1.05 (и зарегил на 1.05 соответственно):
----------------------------------------
Версия ПО : C.1
Сборка ПО : 19018
Дата ПО : 13.02.2020
----------------------------------------
Так вот эта касса вообще коррекцию бьет по другому (через связку FNBeginCorrectionReceipt / FNBuildCorrectionReceipt2 ) и только без покупок в чеке.
Суммы по НДСам надо самому вычислять.
Stok:
--- Цитата: kkmspb от 01/05/2025 20:01:41 ---Так вот эта касса вообще коррекцию бьет по другому (через связку FNBeginCorrectionReceipt / FNBuildCorrectionReceipt2 ) и только без покупок в чеке.
Суммы по НДСам надо самому вычислять.
--- Конец цитаты ---
Загляните в ФФД 1.05 и не будет повода удивляться.
--- Цитата: kkmspb от 30/04/2025 23:12:10 ---Что имеем в коде :
CheckType = 0|2
FNOpenCheckCorrection
регистрируем позиции .....
FNCloseCheckEx
Обратите внимание на возможные значения CheckType = 0|2
То есть:
0 - получится приход
1 - получится ошибка FNOperation() [94] Некорректная операция
2 - получится возврат прихода
3 - получится ошибка FNOperation() : [94] Некорректная операция
4 - получится ошибка FNOperation() : [94] Некорректная операция
--- Конец цитаты ---
1. 0,1,2,3,4 - почему Вы перечисляете 5 значений, когда их для тега 1054 всего 4?
2. Подозреваю, что Вы в какой-то момент нарушаете порядок действий. Сначала записывается вид документа 31 Кассовый чек коррекции, затем один из реквизитов тега 1054 Приход, Возврат прихода, Расход, Возврат расхода.
kkmspb:
--- Цитата: Stok от 02/05/2025 03:13:31 ---
--- Цитата: kkmspb от 01/05/2025 20:01:41 ---Так вот эта касса вообще коррекцию бьет по другому (через связку FNBeginCorrectionReceipt / FNBuildCorrectionReceipt2 ) и только без покупок в чеке.
Суммы по НДСам надо самому вычислять.
--- Конец цитаты ---
Загляните в ФФД 1.05 и не будет повода удивляться.
--- Цитата: kkmspb от 30/04/2025 23:12:10 ---Что имеем в коде :
CheckType = 0|2
FNOpenCheckCorrection
регистрируем позиции .....
FNCloseCheckEx
Обратите внимание на возможные значения CheckType = 0|2
То есть:
0 - получится приход
1 - получится ошибка FNOperation() [94] Некорректная операция
2 - получится возврат прихода
3 - получится ошибка FNOperation() : [94] Некорректная операция
4 - получится ошибка FNOperation() : [94] Некорректная операция
--- Конец цитаты ---
1. 0,1,2,3,4 - почему Вы перечисляете 5 значений, когда их для тега 1054 всего 4?
2. Подозреваю, что Вы в какой-то момент нарушаете порядок действий. Сначала записывается вид документа 31 Кассовый чек коррекции, затем один из реквизитов тега 1054 Приход, Возврат прихода, Расход, Возврат расхода.
--- Конец цитаты ---
Вот смотрите лог (веду сам), ниже чек прихода с коррекционными данными ( это на ФФД 1.2):
Ждите идет процесс:...
начало печати чека...
setProperty Password = 1 ok
setProperty ComNumber = 10 ok
setProperty Timeout = 153 ok
setProperty ConnectionType = 0 ok
setProperty UseIPAddress = false ok
setProperty ConnectionTimeout = 3000 ok
setProperty BaudRate = 6 ok
cmd:GetShortECRStatus() ok
cmd:GetShortECRStatus() ok
setProperty Password = 30 ok
setProperty CheckType = 0 ok
cmd:FNOpenCheckCorrection() ok
setProperty Password = 30 ok
setProperty TaxValueEnabled = false ok
setProperty Summ1Enabled = false ok
setProperty Tax1 = 1 ok
setProperty PaymentTypeSign = 4 ok
setProperty PaymentItemSign = 1 ok
setProperty Department = 1 ok
setProperty Quantity = 2.345 ok
setProperty Price = 12300 ok
setProperty StringForPrinting = тестовая продажа ok
cmd:FNOperation() ok
setProperty ConnectionTimeout = 5000 ok
setProperty Summ1 = 28800 ok
setProperty Summ2 = 0 ok
setProperty Summ3 = 0 ok
setProperty Summ4 = 0 ok
setProperty Summ5 = 0 ok
setProperty Summ6 = 0 ok
setProperty Summ7 = 0 ok
setProperty Summ8 = 0 ok
setProperty Summ9 = 0 ok
setProperty Summ10 = 0 ok
setProperty Summ11 = 0 ok
setProperty Summ12 = 0 ok
setProperty Summ13 = 0 ok
setProperty Summ14 = 0 ok
setProperty Summ15 = 0 ok
setProperty Summ16 = 0 ok
setProperty TaxType = 2 ok
setProperty RoundingSumm = 0 ok
setProperty StringForPrinting = --------------- ok
setProperty TagNumber = 1173 ok
setProperty TagType = 0 ok
setProperty TagValueInt = 0 ok
cmd:FNSendTag() ok тег: 1173 (тип коррекции)
setProperty TagNumber = 1178 ok
setProperty TagType = 6 ok
setProperty TagValueDateTime = 2025-05-02T00:00:00 ok
cmd:FNSendTag() ok тег: 1178 = '2025-05-02' (дата совершения корректируемого расчета)
setProperty ConnectionTimeout = 3000 ok
cmd:FNCloseCheckEx() ok Закрытие чека
cmd:GetShortECRStatus() ok
cmd:FNGetStatus() ok
setProperty Password = 30 ok
setProperty DocumentNumber = 105 ok
FNFindDocument: найти документ по номеру 105
setProperty Password = 30 ok
setProperty DocumentNumber = 105 ok
cmd:GetShortECRStatus() ok
cmd:ResetECR() ok
Успешное завершение.
------ Check_Result --------
Номер ФД : 11
дата время : 2025-05-02 15:23
номер смены : 8
номер чека : 1
сумма чека : 2.88
ФПД : 2490622461
Рег.номер ФН : 0000000001024919
зав. номер Ф : 9999078902013158
Успешное завершение.
Пробился чек прихода с коррекцией нормально. Обратите внимание CheckType=0.
Далее аналогично пробивается чек с CheckType=2 - это возврат прихода с коррекцией получается.
Варианты с CheckType =1, 3 , 4 выдают ошибку.
Навигация
Перейти к полной версии