Ошибка при вызове функции getcurrentstatus


Автор
Тема: Штрих-М-01Ф маркированные товары и нет связи  (Прочитано 3181 раз)


Кассир 5 и маркированный товар, подключены два Штрих-М-01Ф, на одном стоит прошивка от 08 месяца и регистрация с маркировкой. Переодически при пробитии товара с маркировкой, чек не распечатывается до конца, возникает ошибка нет связи, но при этом чек фиксируется в фн и отправляется в офд, а также прибавляется в z-отчете, а в программе чек не фиксируется и соответственно возникает расхождение с отчетом по продажам и z-отчетом. Как это исправить?


Записан

АвТор Штрих г. Ставрополь pos26.ru
Вкусный чай и кофе ma26.ru


Уточните, пожалуйста, по какому интерфейсу подключен аппарат
-RS232
-USB (VCOM)
-USB (RNDIS)
-Ethernet
Какой таймаут установлен в Кассире 5 и в Тесте Драйвера? Какая версия Теста Драйвера?


Записан

В задачи технической поддержки ГК «Штрих-М» ответы на форуме не входят!
Для получения оперативной поддержки обращайтесь
E-mail: tp@shtrih-m.ru
Telegram: @shtrihtp
Телефон: +74957876090 доб. 794
А также на более живой форум:
https://kkmcom.ru/index.php/board,276.0.html


-USB (VCOM)
таймаут 10000
по Ethernet отправка чеков


Записан

АвТор Штрих г. Ставрополь pos26.ru
Вкусный чай и кофе ma26.ru


Чек не распечатывается до конца? Что возникает при этом?
Хорошо бы видеть видео.
Это может быть просадка по питанию или датчик бумаги, а, может, у вас новая версия Штрих-М-01Ф с УИМ и подключение по RS-232?


Записан

В задачи технической поддержки ГК «Штрих-М» ответы на форуме не входят!
Для получения оперативной поддержки обращайтесь
E-mail: tp@shtrih-m.ru
Telegram: @shtrihtp
Телефон: +74957876090 доб. 794
А также на более живой форум:
https://kkmcom.ru/index.php/board,276.0.html


Другая касса с похожей проблемой, стоит ум, версия ффд 1.2, драйвер 5.16.0.877, прошивка от декабря 2021 года. Подключали и -RS232 и по-Ethernet, ошибки одинаковые Ошибка при вызове функции GetCurrentStatus: FFFFFFF8h, Connect timed out. при этом программа не понимает закрылся чек или нет, касса подключена к frontol 6


Записан

АвТор Штрих г. Ставрополь pos26.ru
Вкусный чай и кофе ma26.ru


По RS-232 не может быть ошибки «FFFFFFF8h, Connect timed out.»
FFFFFFF8h, Connect timed out. — ошибка подключения по TCP
Нет связи — ошибка подключения по СОМ-порту.

Ошибка постоянная или плавающая? При каких обстоятельствах возникает?


Записан

В задачи технической поддержки ГК «Штрих-М» ответы на форуме не входят!
Для получения оперативной поддержки обращайтесь
E-mail: tp@shtrih-m.ru
Telegram: @shtrihtp
Телефон: +74957876090 доб. 794
А также на более живой форум:
https://kkmcom.ru/index.php/board,276.0.html


Ошибка плавающая, взаимосвязи не нашли, подключали по rs и по ethernet, возникает при пробитии сигарет


Записан

АвТор Штрих г. Ставрополь pos26.ru
Вкусный чай и кофе ma26.ru


Ошибка плавающая, взаимосвязи не нашли, подключали по rs и по ethernet, возникает при пробитии сигарет

В последние дни сервера КМ (ОИСМ) Честного Знака работают со сбоями. Проблемы наблюдаются даже на тестовых серверах. Очень много обращений по данному вопросу. Проскакивают долгие ожидания ответов сервера. Возможно, на них большая нагрузка.
Рекомендуется понизить таймауты ожидания ответа (Т19П7=5, Т19П8=2, таймаут в Тесте Драйвера и в кассовой программе 10000), и игнорировать ошибки. Коды потом все равно спишутся.
Как долго это продлится, можете попробовать уточнить в техподдержке Честного Знака.


Записан

В задачи технической поддержки ГК «Штрих-М» ответы на форуме не входят!
Для получения оперативной поддержки обращайтесь
E-mail: tp@shtrih-m.ru
Telegram: @shtrihtp
Телефон: +74957876090 доб. 794
А также на более живой форум:
https://kkmcom.ru/index.php/board,276.0.html


А разве ккт должна зависать при этом?


Записан

АвТор Штрих г. Ставрополь pos26.ru
Вкусный чай и кофе ma26.ru


А разве ккт должна зависать при этом?

Аппарат с УИМ или без? Какой год производства?


Записан

В задачи технической поддержки ГК «Штрих-М» ответы на форуме не входят!
Для получения оперативной поддержки обращайтесь
E-mail: tp@shtrih-m.ru
Telegram: @shtrihtp
Телефон: +74957876090 доб. 794
А также на более живой форум:
https://kkmcom.ru/index.php/board,276.0.html


Добрый день.
Такая же проблема, ККТ РР-02, РР-03 прошивки от 26.08.2021, 17.01.2022, драйвер 5.16.0.874, если есть неотправленные уведомления, связь теряется и TCP и по COM (железному). При понижении таймаута Т19П7=5, Т19П8=2, ничего не меняется.


Записан


Добрый день.
Такая же проблема, ККТ РР-02, РР-03 прошивки от 26.08.2021, 17.01.2022, драйвер 5.16.0.874, если есть неотправленные уведомления, связь теряется и TCP и по COM (железному). При понижении таймаута Т19П7=5, Т19П8=2, ничего не меняется.

Тут не форум по РР!
Вам сюда https://rr-electro.com/forum/


Записан


Похожая проблема со штрих-м01ф 2016 г.в.
 Версия ПО                 : C.3
 Сборка ПО                 : 62507
 Дата ПО                   : 28.12.2022
ФН 7281440500398090
Подключен по USB отправка через ethernet

работает под 1С
При пробитии чека с маркировкой ошибка нет связи. Пробывал через тест драйвера, ошибка остаётся при этом обычные чеки бьются. может и с маркировкой закрыть с N-ной попытки при этом в чеке отсутствует  признак марки, а в ОФД всё норм отображается.


Записан


Похожая проблема со штрих-м01ф 2016 г.в.
 Версия ПО                 : C.3
 Сборка ПО                 : 62507
 Дата ПО                   : 28.12.2022
ФН 7281440500398090
Подключен по USB отправка через ethernet

работает под 1С
При пробитии чека с маркировкой ошибка нет связи. Пробывал через тест драйвера, ошибка остаётся при этом обычные чеки бьются. может и с маркировкой закрыть с N-ной попытки при этом в чеке отсутствует  признак марки, а в ОФД всё норм отображается.

Человек прочитал все мои подписи, написал в техподдержку и проблему решили.


Записан

В задачи технической поддержки ГК «Штрих-М» ответы на форуме не входят!
Для получения оперативной поддержки обращайтесь
E-mail: tp@shtrih-m.ru
Telegram: @shtrihtp
Телефон: +74957876090 доб. 794
А также на более живой форум:
https://kkmcom.ru/index.php/board,276.0.html


Человек прочитал все мои подписи, написал в техподдержку и проблему решили.

Спасибо

Проблема в сканере была


Записан

Tarlich

16.01.19 — 19:17

Таких тем уже много, но …

УТ 11.3.3.145 — старенькая переписанная .

4.14.744

Пробовал подсунуть shtrih-m_24 — Даже ДЛЛ не устанавливается — Возможно отсутствует компонента и т.д

shtrih-m_20 — добавил , связь есть но ругается  33 не корректные параметры

Тут больше вопрос : Обновлять или ковырять ?

Tarlich

1 — 16.01.19 — 19:19

лог :

[16.01.2019 18:58:16.281] [00005880] [ERROR] TFiscalPrinter (51, 33h) Некорректные параметры в команде

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter Повтор команды 3/3

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter Unlock

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter Send.3

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter Send.4

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDrvFR GetFontMetrics: 51

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDrvFR Get_ResultCodeDescription

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDrvFR Get_ResultCodeDescription: Некорректные параметры в команде

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDrvFR UnlockPort

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter UnlockPort

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter Lock

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter Unlock

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDrvFR UnlockPort: 0

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDrvFR Disconnect

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter Disconnect

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter IsModelType2 22

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TFiscalPrinter ServerDisconnect

[16.01.2019 18:58:16.281] [00005880] [DEBUG] Close socket

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDrvFR Disconnect: 0

[16.01.2019 18:58:16.281] [00005880] [ERROR] TDriver1Cst17 Open Error

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDriver1Cst17 HandleException: 51, Некорректные параметры в команде

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDriver1Cst17 Open.end

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDrvFR1C17 Open: False

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDrvFR1C17 GetLastError

[16.01.2019 18:58:16.281] [00005880] [DEBUG] TDriver1Cst17 GetLastError 33h, Некорректные параметры в команде

Pit0n_08

2 — 16.01.19 — 21:30

Аналогичная хрень после перепрошивки Штрих-М-01Ф на ТиС 7.7…

Смена драйвера от 4.14.721 до последнего не помогает.

Pit0n_08

3 — 16.01.19 — 21:33

У кого эта замечательная ККМ заработала с новым НДС?

На каком драйвере, .dll и обработке (для 7.7)?

yzimin

4 — 17.01.19 — 00:24

Мне на одной кассе помогло в таблицу с налогами прописать 2000, хотя с НДС не работает ККТ

Масянька

5 — 17.01.19 — 10:14

(3) У меня штрих онлайн + ТиС = работает.

Pit0n_08

6 — 17.01.19 — 15:53

(5) Настоящая женщина!!! Всё же в (3) есть и второй вопрос — может приоткроете тайну…

Масянька

7 — 17.01.19 — 16:01

(6) Пошла рисовать… Жди…

Pit0n_08

8 — 17.01.19 — 16:09

(+6) ККМ перепрошита?

Масянька

9 — 17.01.19 — 16:09

Торговое оборудование — https://pastenow.ru/be19e22c848969f55a04520eb3e37663

Настройка параметров системы (вкладка «Драйвер ККТ») — https://pastenow.ru/3943779993bd25feac0e73ae18ccb909

Печать чека (из elves.etr):

Функция ПечататьЧек(Объект, Пароль, СписокТоваров, СуммаЧека, Получено, Скидка, ПризнВозврата, НомерСекции, НомерЧека, ЕстьНДС)

    

    Если (ПустоеЗначение(Объект) = 1) Тогда

        ОписаниеРезультата = «устройство не подключено»;

        Возврат 0;

    КонецЕсли;

    

    Если  ((Получено > 0) И (Получено < СуммаЧека)) Тогда

        Предупреждение(«Сумма чека больше полученных денег!»);

        Возврат 0;

    КонецЕсли;

    Если (ПолучитьРежимККМ(Объект, 0) = 0) тогда

        ПолучитьРежимККМ(Объект, 1);

        Возврат 0;

    конецесли;

    

    Пока («на экране окно вопроса» = «на экране окно вопроса») Цикл

        Объект.Password = Пароль;

        Объект.Connect();

        Результат = ОбработкаОшибокПриПечати(Объект);

        Если (Результат = «Отмена») Тогда

            Объект.Disconnect();

            Возврат 0;

        ИначеЕсли (Результат = 0) Тогда

            Прервать;

        КонецЕсли;

    КонецЦикла;

    

    Пока («на экране окно вопроса» = «на экране окно вопроса») Цикл

        Объект.GetECRStatus();

        Результат = ОбработкаОшибокПриПечати(Объект);

        Если (Результат = «Отмена») Тогда

            Объект.Disconnect();

            Возврат 0;

        ИначеЕсли (Результат = 0) Тогда

            Прервать;

        КонецЕсли;

    КонецЦикла;

    

    Если (Объект.ECRAdvancedMode = 3) Тогда

        Объект.ContinuePrint();

        Пока («на экране окно вопроса» = «на экране окно вопроса») Цикл

            Объект.GetECRStatus();

            Результат = ОбработкаОшибокПриПечати(Объект);

            Если (Результат = «Отмена») Тогда

                Объект.Disconnect();

                Возврат 0;

            ИначеЕсли (Результат = 0) Тогда

                Прервать;

            КонецЕсли;

        КонецЦикла;

    КонецЕсли;  

    // чек на возврат

    Если (ПризнВозврата = 1) Тогда

        Объект.CheckType = 2;

    Иначе

        Объект.CheckType = 1;

    КонецЕсли;

    СписокТоваров.ВыбратьСтроки();

            

    ИтогСумма = 0;

    ИтогНДС   = 0;

    Пока (СписокТоваров.ПолучитьСтроку() = 1) Цикл

        

        Объект.Price                  = Окр(СписокТоваров.Цена, 2, 1);

        Объект.Quantity               = СписокТоваров.Количество;

        Объект.Department             = НомерСекции;

        Объект.StringForPrinting    = «//» + Лев(СписокТоваров.ТовНаим, 30);

        Объект.Summ1Enabled         = 1;

        Объект.Summ1                 = Окр((СписокТоваров.Цена * СписокТоваров.Количество), 2, 1);

        Объект.PaymentTypeSign         = 4;

        Объект.PaymentItemSign         = СписокТоваров.Вид;

        

        СтрокаДляПечатиКолВаЦеныСуммы = «»;

        СтрокаДляПечатиКолВаЦеныСуммы = СокрЛП(Формат(Окр(Объект.Quantity, 2, 1), «Ч15.2″)) + » * » +

                                        СокрЛП(Формат(Окр(Объект.Price, 2, 1), «Ч15.2″)) + » =» +

                                        СокрЛП(Формат(Окр(Объект.Summ1, 2, 1), «Ч15.2»));

        

        СтрокаДляПечатиНДС         = «»;

        СтрокаДляПечатиСуммыНДС    = «»;

        Если (ЕстьНДС = 1) Тогда

            Объект.Tax1             = 1;

            СтавкаНДС                 = глПользователь.ОсновнаяСтавкаНДС;

            Объект.TaxValueEnabled     = 0;

            Объект.TaxValue1         = Окр((Объект.Summ1 * глВыделяемыйНДС(СтавкаНДС)), 2, 1);

            СтрокаДляПечатиНДС        = «НДС » + ОбработкаДанных.обрданПредставлениеСтавкиНДС(СтавкаНДС);

            СтрокаДляПечатиСуммыНДС = «=» + СокрЛП(Формат(Окр(Объект.TaxValue1, 2, 1), «Ч15.2»));

        Иначе

            Объект.Tax1         = 4;

            СтрокаДляПечатиНДС    = «Без НДС»;

        КонецЕсли;

        
        Результат = ОбработкаОшибокПриПечати(Объект);

        Если (Результат = 0) Тогда

            Объект.НомерТега             = 1203;                        //TagNumber

            Объект.ТипТега                  = 7;                        //TagType

            Объект.ЗначениеТегаСтрока     = СокрЛП(«231503734195»);   //TagValueStr    

            Объект.FNSendTag();                                     // отправка тега

            Объект.FNOperation();

            // печать чека на чековой ленте

            Объект.StringForPrinting = «»;

            Объект.PrintString();

            мШирина = 32;

            Объект.StringForPrinting = СокрЛП(СписокТоваров.НомерПП) + «.» + Лев(СписокТоваров.ТовНаим, мШирина);

            Объект.PrintString();

            Объект.StringForPrinting = глРасположитьТекстПоКраям(«», СтрокаДляПечатиКолВаЦеныСуммы, мШирина);

            Объект.PrintString();

            Объект.StringForPrinting = глРасположитьТекстПоКраям(СокрЛП(СтрокаДляПечатиНДС), СтрокаДляПечатиСуммыНДС, мШирина);

            Объект.PrintString();

            

            Если (СписокТоваров.Вид = 3) Тогда

                Объект.StringForPrinting = »  Работа»;

            ИначеЕсли (СписокТоваров.Вид = 4) Тогда

                Объект.StringForPrinting = »  Услуга»;

            Иначе

                Объект.StringForPrinting = »  Товар»;

            КонецЕсли;

            Объект.PrintString();

            Объект.StringForPrinting = »  Полный расчет»;

            Объект.PrintString();

        

        Иначе

            Объект.CancelCheck();

            Возврат 0;

        КонецЕсли;

        

        ИтогСумма = ИтогСумма + Объект.Summ1;

        ИтогНДС   = ИтогНДС + Объект.TaxValue1;

    КонецЦикла;

        

    Если ((Получено > 0) И (Получено > СуммаЧека)) Тогда

        Объект.Password = Пароль;

        Объект.Summ1     = Окр(Получено, 2, 1);

    иначе

        Объект.Password = Пароль;

        Объект.Summ1     = ИтогСумма;

    КонецЕсли;

    Объект.TaxValue1          = ИтогНДС;

    Объект.Summ1                = ИтогСумма;

    Объект.TaxType               = 1;

    Объект.StringForPrinting = «================================»;

    Объект.FNCloseCheckEx();

    

    Результат = ОбработкаОшибокПриПечати(Объект);

    Если (Результат = «Отмена») Тогда

        Объект.CancelCheck();

        Возврат 0;

    КонецЕсли;

    //// отрезаем чек

    //если ОтрезкаЧека=1 тогда

    //    Объект.Password=Пароль;

    //    Объект.CutType=0;

    //    Объект.CutCheck();

    //КонецЕсли;

    Если (ОбработкаОшибок(Объект) = 0) Тогда

        Объект.GetECRStatus();

        НомерЧека = Объект.OpenDocumentNumber + 1;

    Иначе

        Возврат 0;

    КонецЕсли;

    Возврат 1;

КонецФункции

Масянька

10 — 17.01.19 — 16:09

(8) Есесьно.

Масянька

11 — 17.01.19 — 16:09

+ (10) С бубеном танцевала…

У меня такой розовый

Pit0n_08

12 — 17.01.19 — 16:15

(11) настоящий девчоночный

Драйвер 624 — фактически годичной давности! Печатает и передает в ОФД все данные?

Масянька

13 — 17.01.19 — 16:16

(12) Василий! Вы мне не верите? (С)

Масянька

14 — 17.01.19 — 16:16

+ (13) У меня штрих-онлайн (касса такая).

tgu82

15 — 17.01.19 — 16:18

(12) у меня работают 8 касс из них 2 с НДС. Пока полет нормальный. ТИС 7.7 кассы Штрих-Лайт 01Ф

Масянька

16 — 17.01.19 — 16:20

Pit0n_08

17 — 17.01.19 — 16:26

(13) Это из мультика про попугая? Иногда бываю похож на того тракториста…)

Впрочем, как только меня не называли — но я старательно всех прошу «зовите меня просто Вася…»

Масянька

18 — 17.01.19 — 16:28

(17) Нет. Это из «Любовь и голуби».

Там еще у Гурченко взгляд такой… Блондинистый

Масянька

19 — 17.01.19 — 16:28

(17) И вообще — не отвлекайся!

Pit0n_08

20 — 17.01.19 — 16:28

(15) прошу всё же уточнить «На каком драйвере, .dll и обработке (для 7.7)?»

Pit0n_08

21 — 17.01.19 — 16:29

(19) Креплюсь из последних сил…

Масянька

22 — 17.01.19 — 16:30

(20) У меня dll от 05.10.2017 (в эске).

tgu82

23 — 17.01.19 — 16:35

(20) 4.14.722 drvfr.dll

NikeArz

24 — 17.01.19 — 17:10

(9) Тег 1203 вынеси из цикла. Этот тег привязывается ко всему чеку, а не к позиции. Поставь сразу после цикла. Касса корректней работать будет.

Pit0n_08

25 — 17.01.19 — 20:11

(24) А тег 1203 обязателен?

Pit0n_08

26 — 17.01.19 — 20:21

(9) в другой ветке жалилась на двойные строки при печати товаров. Судя по бубну — победила! Но.

Неужели без такого количества ручной печати (.StringForPrinting) в части ТовНаим, количество, цена, налог, тип оплаты и т.д. ККМ сама это не выводит в чек?

Масянька

27 — 18.01.19 — 08:42

(26) Я же написала — с бубеном плясала… И танго, и ламбаду, и краковяк…

Я не знаю, что они (разрабы кассового ПО) сделали, но после срабатывания этой прошивки начался треш и угар…

Признак предмета расчета у меня (лично) начался печататься сверху (первый раз). Признак способа расчета вообще не печатается. В общем, бред сивой кобылы.

А товарищ из (24) кинул обработку (для снеговика) — и там я увидела, что можно печатать не фискальными строками (я слышала, но примеров не видела, а методом тыка — дорого). Вот и сделала. Кстати, еще и шрифт заголовка чека уменьшила (в заголовке стало влезать в одну строку).

Сама касса выводит. Но после этой прошивки криво. Очень. Пробуй. Добьешься — делись.

NikeArz

28 — 18.01.19 — 09:16

(25) Да обязателен

Масянька

29 — 18.01.19 — 09:28

(25) Это ИНН кассира. Обязателен. Зачем нужен — риторический вопрос…

tgu82

30 — 18.01.19 — 11:09

(29) Подскажите никак не врублюсь… Если опдлата товара когда его номенклатура еще неизвестна в точности — ПР=»П», СР=»Ав», Вид опдаты (наличные или электронные). А когда закрыватся сделка (то есть отдается товар) то ПР=»Т» СР=ПР Вид оплаты =»Предоплата» ???

tgu82

31 — 18.01.19 — 11:54

(29) А если накладная будет оплачена безнальным перечислением но позже по договору отсрочки платежа? Тоже надо чек пробивать при отгрузке с постоплатой? Бред какой-то?

NikeArz

32 — 18.01.19 — 12:02

(31) На инфостарте есть примеры чеков. Тему не помню.

tgu82

33 — 18.01.19 — 12:32

(32) Да не в них дело. При оплате между кем и кем используются эти примеры ?

А если платеж будет безналичный но позже

-Между двумя ЮЛ

— между юл и ип

— между ип и юл

— между ип и ип

ИП = Физическое лицо или все-таки это именно ИП со своими нюансами как как бы у юр. лица ?

Масянька

34 — 18.01.19 — 12:35

(33) Тут тебе и авторы закона не скажут.

Они писали, писали… Устали и запутались.

tgu82

35 — 18.01.19 — 13:04

Пункт 9

Контрольно-кассовая техника не применяется при осуществлении расчетов в безналичном порядке между организациями и (или) индивидуальными предпринимателями, за исключением осуществляемых ими расчетов с использованием электронного средства платежа с его предъявлением.

Понимай как хочешь для предоплат и постоплат

DEG156

36 — 25.01.19 — 11:24

Мне помогла переустановка драйвера на DrvFR_4.14_721 !

Rovan

37 — 25.01.19 — 11:38

(0) у меня у 1 клиента сейчас эта ошибка на базе 1С Бух 3.0

Переписываюсь с фирмой Штрих-М.

Результата пока нет.

Rovan

38 — 25.01.19 — 11:40

(+37) ошибка идет при продаже товаров с НДС 20%

Rovan

39 — 25.01.19 — 11:42

Дали мне драйвер 4.14.749 — такая же ошибка

Garykom

40 — 25.01.19 — 11:42

(35) Если предоплата или постоплата идет не наличными (и не по карте через терминал) то ККТ применять не требуется.

По логике в случае взаимозачета это тоже безналичная оплата.

Потому что нет применения (движения) наличных денежных средств.

Garykom

41 — 25.01.19 — 11:45

(40)+ Да возникновение дебета/кредита в случае передачи ТМЦ (или приема/оказания услуг или приема/выполнения работ) — это тоже «безналичная оплата».

Rovan

42 — 25.01.19 — 14:58

(15) есть подозрение что обл. орг-я должна ставить свежую прошивку в сам аппарат, чтобы он поддерживал всё новое

Масянька

43 — 25.01.19 — 15:02

(42) А кассу не прошивали?

Rovan

44 — 25.01.19 — 15:07

(43) вижу что дата прошивки от октября 2018

Масянька

45 — 25.01.19 — 15:12

(44) В налогах (на кассе) есть 20% НДС?

Rovan

46 — 25.01.19 — 16:07

(45) да

Масянька

47 — 25.01.19 — 16:32

(46) У меня 24.10.2018.

Нужно лезть и смотреть, на что ругается.

Смотри в логах, отладчике, обработке.

Масянька

48 — 25.01.19 — 16:35

+ (47) Теперь обязательны: ИНН кассира, признак и предмет расчета.

Масянька

49 — 25.01.19 — 16:38

+ (47) В параметрах (что на кассу передаются): сам НДС не изменился. То есть: был Tax1 и сейчас Tax1, но это уже 20%.

Rovan

50 — 25.01.19 — 16:46

(47) падает при вызове ОбработчикДрайвераМодуля.ВыполнитьКоманду( «CheckFiscalization», ….

Rovan

51 — 25.01.19 — 16:47

(48) это в базе 1С надо указывать ?

Масянька

52 — 25.01.19 — 17:04

(51) В обработке, которая передает данные в кассу.

(47) Тут я тебе ничего не скажу…

Теперь вместо CloseCheck они (разрабы касс) рекомендуют использовать FNCloseCheckEx. Это по поводу изменений.

NikeArz

53 — 25.01.19 — 17:56

(51) Попробуй убрать автокоррекцию НДС. Таблица 17 поле не помню. Все делается перед открытием смены.

g00d

54 — 25.01.19 — 20:45

знакомая история

Rovan

55 — 26.01.19 — 14:37

(52) у клиента типовая БП 3.0

я могу менять только настройки оборудования в 1С

Rovan

56 — 26.01.19 — 14:38

(53) пробные чеки из Драйвера ФР печатаются…

не работает именно вызов печати из 1С

Данила180

57 — 27.01.19 — 11:00

при попытке решить одну задачу столкнулся с таким моментом, когда откатил платформу на старую версию  (8.3.10.2561) и чеки перестали печататься из УТ 11.3.4.162. Обновил на 8.3.13.1690 и чеки поехали. Я к тому, что может и Вам попробовать обратить внимание на версию платформы. Так же некоторые прошивку ККТ обновили, а лицензию загрузить не потрудились и поэтому тоже возникают проблемы.

  

Rovan

58 — 29.01.19 — 16:12

Проблему решил!  В моем случае было

Значение «4968091  4967469  4967630» у контрагента-поставщика

превышает допустимое по спецификации 20 символов.

Решение: в поле «Телефон» я указал  1 телефон, остальные я перенес в поле «Комментарий».

1C 8 Не печатается чек ККМ. 33h, Ошибка отправки тега 1256: Некорректные параметры в команде

Описание ошибки:
Ошибка при попытке распечать чек на ККМ из 1С 8. В частности возникла в конфигурации 1С: Управление торговлей, ред. 10.3 (релиз 10.3.71) на платформе 8.3.18.1289.

Найденные решения:

После нажатия кнопки «Пробить чек» в форме «Предпросмотр чека», открытой из формы документа приема денежных средств от покупателя, по данным которого должен быть напечатан чек ККМ из 1С возникает ошибка. Причем особенностью ошибки была ее непостоянная периодичность — из части документов чек ККМ выводился на печать без проблем, а в других не печатался и сопровождался указанной ошибкой.

1С 8 при пробитии чека 33h, Ошибка отправки тега 1256: Некорректные параметры в команде
Рис. 1. 33h, Ошибка отправки тега 1256: Некорректные параметры в команде

Сходу сложно было понять, в чем именно заключается проблема. Похожая ошибка на практике уже была, описана на странице «Ошибка: 33h, Ошибка передачи тега 1228: Некорректные параметры в команде», но она никак не подсказывала, что еще можно проверять, т.к. проверка заполнения реквизитов контрагента не выявляла каких-либо нарушений — ИНН корректный, адреса, наименования не содержат запрещенных символов.

Развитие решения данной проблемы произошло за счет подсказки в ответе обсуждения на форуме mista.ru «Штрих-М, ФФД 1.2: Ошибка отправки тега 1256», а из этой ветки в обсуждении в ветке «БП 3.0 «проблема» с чеками после обновления, касса АТОЛ 55Ф»

Нажатие на изображении увеличит его
1С 8 и Штрих-М, ФФД 1.2 Ошибка отправки тега 1256
Рис. 2. Ссылка на страницу сайта ФНС с описанием формата тегов.

По ссылке «https://www.nalog.gov.ru/rn77/about_fts/docs/10020801/» мы попадем на сайт ФНС, на страницу «Приказа о дополнительных реквизитах фискальных документов и форматов фискальных документов» (далее ФФД), где можно скачать «Приложение 2 Форматы фискальных документов, обязательных к использованию». 

Нажатие на изображении увеличит его
1С 8 как устранить, исправить, причина, ошибка 33h, Ошибка отправки тега 1256: Некорректные параметры в команде
Рис. 3. Ссылка на приложение с описанием «Формата фискальных документов» на сайте ФНС

В нем можно найти описание таблицы — тега 1256 и того, какие данные в нем должны передаваться. В том же файле можно узнать, что на момент описания ошибки заполнение реквизитов является необязательным.

Нажатие на изображении увеличит его
1С 8
Рис. 4. Пример описания структуры данных реквизита «Сведения о покупателе (клиенте)» (тег 1256) в документации с сайта ФНС

Внутри 1С реквизиты (в свою очередь тоже теги с 1227-1228, 1243-1246, 1254) а в частности 1227, 1228, 1254 помещаются в структуру. Экспериментально, проверкой данных контрагентов было определено, что контрагенты, у которых не заполнен ИНН — по ним, как было отмечено в самом начале, печать чека ККМ производилась без ошибки. А контрагенты, у которых ИНН был заполнен и заполнен корректно — вот при печати по таким контрагентам чека ошибка появлялась.

1С 8 отправка тега 1256 сведений о покупателе на ККМ
Рис. 5. Заполнение тега 1256 в 1С данными контрагента-покупателя

Так же экспериментально это было и подтверждено. В контрагенте поле реквизита элемента справочника «ИНН» опустошалось. Печать чека ККМ выполнялась без ошибки «33h, Ошибка отправки тега 1256: Некорректные параметры в команде«. Потом значение ИНН для ведения дальнейшего корректного учета  возвращалось в элемент справочника. Поэтому на время, чтобы освободить пользователей от этих действий, чтобы печать ККМ велась без ошибок, был закомментирован участок кода процедуры «ЗаполнитьДанныеПокупателя» общего модуля «ПодключаемоеОборудованиеУТ» по заполнению значения ключа структуры «ПолучательИНН». Приведенное решение не претендует на единственно правильное и верное решение. Но само подробное описание проблемы может позволить Вам найти свое решение данной проблемы. Самое сложное — определить первопричину, что и поставлено целью данного текста. Дальнейшие Ваши действия могут отличаться для достижения желаемого Вами результата в утстранении ошибки.

Нажатие на изображении увеличит его
1C 8 как обойти ошибку при печати чека ККМ 33h, Ошибка отправки тега 1256
Рис. 6. Пример фактического устранения ошибки при печати чека ККМ из 1С 8:
33h, Ошибка отправки тега 1256 Некорректные параметры в команде

В файле описания ФФД  тега 1228, который передается в составе тега 1256 указан момент, что если длина ИНН меньше 12 символов, то в конце должны добавляться пробелы. При анализе ошибки, в отладке 1С 8, было замечено, что ИНН юридического лица передается без дополнительных пробелов в конце.

Нажатие на изображении увеличит его
как исправить, устранить ошибки печати чека ККМ атол штрих-м 33h, Ошибка отправки тега 1256: Некорректные параметры в команде
Рис. 7. Описание того, какие значения может принимать тег 1228 по данным описания в ФФД.

Так же можно в частности найти рекомендацию на сайте forums.kuban.ru «33h, Ошибка передачи тега 1227: Некорректные параметры в команде» о том, что необходимо обновить конфигурацию базы УТ до более актуального релиза. Но в момент разрешения ошибки не было возможности это мгновенно выполнить. Но по крайней мере в релизе УТ 10.3.75.3 в части общего модуля «ПодключаемоеОборудованиеУТ» и процедуры «ЗаполнитьДанныеПокупателя» изменений не обнаружено. Как не заметно добавление пробелов слева и в других процедурах по сбору фикализируемых данных.

Нажатие на изображении увеличит его
как обойти ошибку в 1С 8 печати чека ККМ 33h, Ошибка отправки тега 1256 Некорректные параметры
​Рис. 8. Рекомендация по устранению ошибки

Оцените, помогло ли Вам предоставленное описание решения ошибки?




© www.azhur-c.ru 2014-2020. Все права защищены. Использование текстов и изображений с данной страницы без письменного разрешения владельца запрещено. При использовании материалов с данной страницы обязательно указание ссылки на данную страницу.

01-12-2022

Журавлев А.С.
(Сайт azhur-c.ru)

Вопрос что делать?! выкладываю переписку с компанией 1С по поводу данной ошибки. Сама ККТ в драйвере чеки отбивает корректно.Во вложение различные скрины настроек и лог драйвера..

Переписка !!!!! Судя по всему необходимо обратится к производителям драйвера, т.к по указанной ниже ссылке написано что действительно Штрих- Онлайн не вошел в список сертифицированного оборудования:

Список сертифицированных программно-аппаратных комплексов:
http://v8.1c.ru/common/KKT_54_FZ.htm

———————————
С уважением,
ООО «Центр ИТ «Сибирь»
(3842) 72-05-48
www.sibir-1c.ru

——— Пересылаемое сообщение ———
От кого: v8 <v8@1c.ru>
Кому: ‘Центр ИТ Сибирь’ <354393@bk.ru>
Дата: Пятница, 6 апреля 2018, 21:23 +07:00
Тема: RE: SW1266434 Настройки кассы Драйвер .png, Настройки кассы1 .png, Настройки кассы2 .png и ещё 5 файлов

Здравствуйте!
Ваше обращение зарегистрировано под номером SW1266434 / 1.
Пожалуйста, в тексте следующих обращений на эту же тему ссылайтесь на этот номер.

Модель Штрих Online не входит в список сертифицированного оборудования.
Список сертифицированных программно-аппаратных комплексов:
http://v8.1c.ru/common/KKT_54_FZ.htm
Обращения, по вопросам работы указанных в таблице «Моделей оборудования, поддерживаемых сертифицированными драйверами»  принимаются службой технической поддержки производителей драйверов.
Если Вы хотите сообщить нам о Вашей оценке качества данного ответа, то перейдите на страницу нашего сайта http://www.1c.ru/rus/support/response-mark/?rn=20015406196&sw=1266434&na=1 и укажите в качестве номера обращения SW1266434, а в качестве номера ответа 1.
В письме обязательно указывайте номер релиза программных файлов и типовой конфигурации. При ответах, пожалуйста, не изменяйте и не удаляйте текст предыдущей переписки.

С уважением,
отдел тех. поддержки «1С»
Тел. (495) 956-11-81 (линия ИТС)
Факс (495) 681-44-07
E-mail: V8@1c.ru
Задавайте вопросы и получайте на них оперативные ответы на форуме BUH.RU! http://buh.ru/forum/
Воспользуйтесь поиском по форуму – возможно, коллеги уже обсуждали интересующую Вас тему. http://buh.ru/search/?q=
*************************************************
-an—————————————————
Отдел продаж «1С» (495) 737-92-57
Web-сервер «1С» http://www.1c.ru

    From: Центр ИТ Сибирь [mailto:354393@bk.ru]
Sent: Wednesday, April 04, 2018 12:12 PM
To: HLINE
Subject: Настройки кассы Драйвер .png, Настройки кассы1 .png, Настройки кассы2 .png и ещё 5 файлов

  Здравствуйте.
Рег. номер ПП: 20015406196
ИНН: 4205321570 Организация ООО ТД Кардинал.
Версия платформы: 8.3.11.2867
Конфигурация: Бухгалтерия предприятия базовая (3.0.59.56)
Касса: Штрих-ONLINE
Версия драйвера: 4.14.0.685
Версия прошивки от 20.02.2018
Возникла проблема при работе с онлайн кассой. Суть следующая: кассовая смена открывается и закрывается корректно, связь с кассой из 1С устанавливается, тест устройства проходит успешно, отчет без гашения снимается нормально, однако при печати чека возникает ошибка : Чек не может быть напечатан на фискальном устройстве «Ошибка 33h Некорректные параметры в команде»
Скриншоты настроек кассы в 1С, настройки кассы в драйвере, параметры компьютера а также файл лога прилагаю во вложении
———————————
С уважением,
ООО «Центр ИТ «Сибирь»
(3842) 72-05-48
HYPERLINK «http://www.sibir-1c.ru»www.sibir-1c.ru !!!!!!!!!!!Переписка

@zmip

I’ve spent a few hours deciphering what happens when calling getCurrentStatus() with a barcode. The data returned from the API is valid, but things seem to go horribly wrong at parsing the JSON data into the appropriate data structures. Docs are unclear at what should happen, but I assume the returned object from getCurrentStatus() (a CurrentStatusResponse) should be hydrated with data. It’s not. There’s only one fillable prop on CurrentStatusResponse ($Shipments) and that doesn’t get touched. Makes sense, in the returned JSON there is no «Shipments» key, only a «Shipment» key, but this gets entirely ignored AbstractEntity’s jsonDeserialize(). I assume that there should actually be a property $CurrentStatus on CurrentStatusResponse (so you can call getCurrentStatus() on it). If I add that, then it gets filled, but all the other data from the API call is not getting attached to it.

So what happened here? Did PostNL change the returned JSON, or did this never work, and am I the only actually trying to get this working?

@firstred

So what happened here? Did PostNL change the returned JSON, or did this never work, and am I the only actually trying to get this working?

Yes, the REST API has changed so often that now the original v1 version is broken for the most part. The SOAP version shouldn’t be used for new projects, as PostNL is phasing that one out.

We have been trying to keep up with a new version v2, but eventually had to abandoned that one, too. The API is changing rapidly without PostNL publishing what exactly has changed. Many API components are an outright mystery as the documentation is either lacking or outdated. For now my (and a few others’) API «fix» has been to switch to DHL, because they take their API far more seriously. I am hoping to reboot this project this year, because PostNL still is a major player and I can’t believe the API will stay broken for another year.

For the moment I would strongly discourage people from making their business depend on this unstable API. Try to find an intermediate shipping tool such as Sendcloud, Wuunder, etc. so you wouldn’t have to be in the same sh*t I have been with PostNL.

@zmip

Wow, thanks for sharing your insights Michael. Pretty amazing actually. Isn’t that exactly why API’s have a version prefix? To not break other people’s applications when changes are made?

I’ve never seen such amateuristic and incomplete API documentation as at PostNL’s. Actually, make that: never seen such clumsiness as an entire business as PostNL. Rather pathetic party to work with, their IT-related stuff is a total laugh. But on the plus side, the people are super friendly (I had to find out that this is the type of IT (!) company that you have to actually phone to get stuff done, haha! And then they covertly smirk at the incompetence of their own company…).

So even more kudos to you for actually having created something that works/worked. I would have probably given up before even starting, just looking at the horror that is their documentation. I’ve implemented a quick workaround by subclassing the main ThirtyBeesPostNL class, but I’ll probably roll something myself or, like you say, move to DHL or DPD.

@firstred

Before you are going to spend more time on it, let’s see if I can find a dump from a store that still ships with PostNL. I believe there’s one that has a version that has been hot-patched by someone over the years. Absolute mad lad who kept supporting this!
It has been scoped with PHP-scoper to not collide with other PostNL modules in a sloppy e-commerce system; the base namespace has become ThirtyBeesPostNLThirtyBeesPostNL, but other than that it is still compatible with this documentation: https://postnl-php.readthedocs.io/en/1.1.0/
It has been running in production now for a whopping 3 months without any breaking changes.

@firstred

Here it is:
postnlvendor.zip

You will have to add it to your composer file manually:

{
    ...
    "autoload": {
        "classmap": [
            "path/to/thirtybees/postnl-api-php"
       ],
    ...
}

but then you should be able to use it right away.
The developer settled with the SOAP API because that one has been the most trustworthy of the two. It is also likely the only version that is supported.

Another option is to use the SOAPClient helpers from this library: https://github.com/DivideBV/Postnl, but note that it doesn’t support concurrent connections (might be slow at times). It also doesn’t come with the abstractions this library provides and has some more low-level annoyances, but since it’s closer to the API, it may be a lot easier to detect changes.

I hope this has been helpful in some way. Good luck with your project(s)!

@firstred

Should have been fixed by 1.2.0

Аватара пользователя

slan

Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Аватара пользователя

salex29

Сотрудник Инкотекс
Сотрудник Инкотекс
Сообщения: 92
Зарегистрирован: 20 июн 2017, 17:19

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

salex29 » 29 сен 2017, 11:27

Меркурий 119Ф RS. Прошивка 1.5 от 25.09.2017. Драйвер MercuryOfdFPDrv v1.5.2.

Подскажите, как нибудь можно отследить готовность принтера непосредственно перед вызовом функции ProcessCheck?
А то получается следующая ситуация: вызываем ProcessCheck когда принтер не готов (нет бумаги, поднята крышка). Функция возвращает ошибку 4 — «Оформление документа прервано по окончанию времени ожидания готовности принтера», но чек в ФН фиксируется. Повторить этот чек возможности нет, в документации такой возможности не нашел. Тоже самое происходит и при обрыве бумаги — когда бумага заканчивается уже в процессе печати. Он также фиксируется в ФН, и допечатать его нет возможности. По хорошему, нужна и возможность проверить готовность принтера (например в той же функции GetCurrentStatus) и возможность повторить последний зафиксированный в ФН чек — что-то типа RepeateCheck. Просмотрел всю ветку форума, в самом начале поднимался такой вопрос, но решился ли, я так и не понял (может плохо смотрел). Неужели никто больше его не поднимал, ведь он достаточно актуален?

Аватара пользователя

slan

Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

slan » 29 сен 2017, 12:14

salex29, а как вам поможет функция проверки готовности принтера перед вызовом печати чека? К примеру добавлю я эту функцию, вы её вызовете, получите ответ от драйвера что всё хорошо, а потом при печати кончится бумага и повторится вся описанная вами выше ситуация. Если вам нужна копия чека — могу добавить в драйвер, начиная с прошивки 1.2 аппарат поддерживает функцию печати документа из буфера фискального накопителя (т.е. по сути копия последнего чека).
p.s. эти вопросы поднимаются в данной ветке редко, потому что драйвер пользуют в основном 1сники через интеграционную библиотеку по 1с-Совместимо, а там функционал оборудования ограничен 1сным API, т.е. если в драйвер понадобавляю различных методов — для 1сников (по 1с-Совместимо) они будут бесполезны.

Аватара пользователя

salex29

Сотрудник Инкотекс
Сотрудник Инкотекс
Сообщения: 92
Зарегистрирован: 20 июн 2017, 17:19

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

salex29 » 29 сен 2017, 14:09

slan писал(а):p.s. эти вопросы поднимаются в данной ветке редко, потому что драйвер пользуют в основном 1сники через интеграционную библиотеку по 1с-Совместимо, а там функционал оборудования ограничен 1сным API, т.е. если в драйвер понадобавляю различных методов — для 1сников (по 1с-Совместимо) они будут бесполезны.

У нас самописный софт, не 1С.

slan писал(а): а как вам поможет функция проверки готовности принтера перед вызовом печати чека? К примеру добавлю я эту функцию, вы её вызовете, получите ответ от драйвера что всё хорошо, а потом при печати кончится бумага и повторится вся описанная вами выше ситуация.

Да, если бумага закончилась в процессе печати чека, никак не поможет. В этом случае как раз нужна функция повтора чека.
Но иметь возможность узнать состояние принтера, считаю, не помешает. Хотя бы для того, чтобы вообще не вызывать ProcessCheck, когда заранее известно что принтер не готов.

slan писал(а): Если вам нужна копия чека — могу добавить в драйвер, начиная с прошивки 1.2 аппарат поддерживает функцию печати документа из буфера фискального накопителя (т.е. по сути копия последнего чека).

Да, такая функция нужна.

Аватара пользователя

slan

Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

slan » 29 сен 2017, 14:54

salex29 писал(а):У нас самописный софт, не 1С.

Это я уже понял. Я пытался объяснить почему данный вопрос не сильно актуален в данной ветке.

salex29 писал(а):Да, если бумага закончилась в процессе печати чека, никак не поможет. В этом случае как раз нужна функция повтора чека.
Но иметь возможность узнать состояние принтера, считаю, не помешает. Хотя бы для того, чтобы вообще не вызывать ProcessCheck, когда заранее известно что принтер не готов.

Вы итак имеете возможность знать состояние принтера: после каждого метода, который использует печать на чековой ленте, драйвер проверяет состояние принтера, и если была ошибка принтера — драйвер оповещает об этом ошибкой. Соответственно при выполнении вами очередного метода вам достаточно знать что предыдущий метод выполнился без ошибок. API ККТ реализовано таким образом, что само по себе ни о чем не оповещает драйвер. Т.е. ответ от ККТ получается только при каком-либо запросе от драйвера, и в каждом ответе содержатся статусы принтера. В принципе, если вам по каким-то причинам не удается сохранить результат выполнения предыдущего метода, я могу добавить отдельный метод запроса состояния принтера, который будет спрашивать у ККТ какую-либо информацию, например версию прошивки, и обновлять статусы принтера.

Аватара пользователя

salex29

Сотрудник Инкотекс
Сотрудник Инкотекс
Сообщения: 92
Зарегистрирован: 20 июн 2017, 17:19

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

salex29 » 29 сен 2017, 17:22

slan писал(а):Вы итак имеете возможность знать состояние принтера: после каждого метода, который использует печать на чековой ленте, драйвер проверяет состояние принтера, и если была ошибка принтера — драйвер оповещает об этом ошибкой. Соответственно при выполнении вами очередного метода вам достаточно знать что предыдущий метод выполнился без ошибок.

Да, но проверить состояние принтера непосредственно перед операцией на мой взгляд будет надежнее.

slan писал(а):API ККТ реализовано таким образом, что само по себе ни о чем не оповещает драйвер. Т.е. ответ от ККТ получается только при каком-либо запросе от драйвера, и в каждом ответе содержатся статусы принтера.

Это понятно.

slan писал(а):В принципе, если вам по каким-то причинам не удается сохранить результат выполнения предыдущего метода, я могу добавить отдельный метод запроса состояния принтера, который будет спрашивать у ККТ какую-либо информацию, например версию прошивки, и обновлять статусы принтера.

Да, такой метод нужен.

По хорошему конечно механизм повтора чека при обрыве бумаги должен быть реализован в прошивке аппарата. Передал чек в ФН, начал печать, получил ошибку принтера (крышка открыта, бумага кончилась, принтер сломался и т.п.) — возвел флаг незавершенной печати, ушел в ошибку. Отследил готовность принтера (бумагу вставили, принтер починили), если есть флаг незавершенной печати — взял документ из ФН и напечатал его заново автоматически или по команде из вне. Тогда и для 1С этот вопрос решится автоматически, и в стороннем софте не надо будет городить огород с этими дополнительными методами.

Аватара пользователя

slan

Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

slan » 29 сен 2017, 17:39

Я вас понял. Со следующим релизом добавлю методы для копии чека и получения статуса принтера.

salex29 писал(а):По хорошему конечно механизм повтора чека при обрыве бумаги должен быть реализован в прошивке аппарата. Передал чек в ФН, начал печать, получил ошибку принтера (крышка открыта, бумага кончилась, принтер сломался и т.п.) — возвел флаг незавершенной печати, ушел в ошибку. Отследил готовность принтера (бумагу вставили, принтер починили), если есть флаг незавершенной печати — взял документ из ФН и напечатал его заново автоматически или по команде из вне. Тогда и для 1С этот вопрос решится автоматически, и в стороннем софте не надо будет городить огород с этими дополнительными методами.

Может быть. Здесь дело за разработчиком прошивки. Однако я думаю в прошивке эту проблему полностью всё равно не решить, так как может например пропасть питание у ККТ при печати чека. По-хорошему надо бы запоминать номер последнего напечатанного чека на самом верхнем уровне.

Аватара пользователя

andrish

Сообщения: 175
Зарегистрирован: 07 июн 2016, 14:41

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

andrish » 02 окт 2017, 12:47

salex29 писал(а):

slan писал(а):Вы итак имеете возможность знать состояние принтера: после каждого метода, который использует печать на чековой ленте, драйвер проверяет состояние принтера, и если была ошибка принтера — драйвер оповещает об этом ошибкой. Соответственно при выполнении вами очередного метода вам достаточно знать что предыдущий метод выполнился без ошибок.

Да, но проверить состояние принтера непосредственно перед операцией на мой взгляд будет надежнее.

slan писал(а):API ККТ реализовано таким образом, что само по себе ни о чем не оповещает драйвер. Т.е. ответ от ККТ получается только при каком-либо запросе от драйвера, и в каждом ответе содержатся статусы принтера.

Это понятно.

slan писал(а):В принципе, если вам по каким-то причинам не удается сохранить результат выполнения предыдущего метода, я могу добавить отдельный метод запроса состояния принтера, который будет спрашивать у ККТ какую-либо информацию, например версию прошивки, и обновлять статусы принтера.

Да, такой метод нужен.

По хорошему конечно механизм повтора чека при обрыве бумаги должен быть реализован в прошивке аппарата. Передал чек в ФН, начал печать, получил ошибку принтера (крышка открыта, бумага кончилась, принтер сломался и т.п.) — возвел флаг незавершенной печати, ушел в ошибку. Отследил готовность принтера (бумагу вставили, принтер починили), если есть флаг незавершенной печати — взял документ из ФН и напечатал его заново автоматически или по команде из вне. Тогда и для 1С этот вопрос решится автоматически, и в стороннем софте не надо будет городить огород с этими дополнительными методами.

Ещё выше уровень когда покупка проходит по банковской карте, а ФР не готов к печати, деньги с карты списываются, в банке операция проходит, а вот чек не печатается, покупка в 1С не проводится. Было уже несколько таких случаев, в 1С списанием повёл, больше ничего не придумал.

Аватара пользователя

slan

Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

slan » 02 окт 2017, 13:01

Вы наверное не очень понимаете смысл фразы «уровень ПО». Я имел ввиду, что для наибольшей надежности, контроль должен осуществляться на самом верхнем уровне ПО (потому что только там можно глазами кассира увидеть напечатан чек на устройстве или нет): самый нижний уровень — прошивка устройства, далее драйвер, далее программа использующая драйвер. Вот эта программа и есть самый верхний уровень.

Аватара пользователя

andrish

Сообщения: 175
Зарегистрирован: 07 июн 2016, 14:41

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

andrish » 02 окт 2017, 17:49

slan писал(а):Вы наверное не очень понимаете смысл фразы «уровень ПО». Я имел ввиду, что для наибольшей надежности, контроль должен осуществляться на самом верхнем уровне ПО (потому что только там можно глазами кассира увидеть напечатан чек на устройстве или нет): самый нижний уровень — прошивка устройства, далее драйвер, далее программа использующая драйвер. Вот эта программа и есть самый верхний уровень.

Какой бы уровень не был,может я их путаю, а действие оплаты происходит: оплата картой, далее печать чека с терминала, далее продажа в 1С, далее передача данных ОФД, далее печать чека как бумажного документа. И если при безналичной оплате происходит сбой печатающего устройства, происходят действия описанные мной выше. Бывает на этапе наличной оплаты, чек не распечатался, а данные в ОФД ушли, продажа в 1С так же не прошла. И если в случае с безналом ничего не сделать, в случае с налом делаем «отложенную продажу» в 1С, устраняю неисправность, провожу продажу отложенного чека(случай с алкоголем при сбое не рассматриваю, там ко всему ещё и обращение к транспортному модулю, полные дебри).
Да, если 1С считать верхним уровнем, то для 1С пишется Интеграционная библиотека, может я опять не о том?

Аватара пользователя

slan

Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

slan » 02 окт 2017, 21:23

Интеграционная библиотека нужна 1С для работы с драйвером по стандарту 1С-Совместимо. Она реализована в соответствии с требованиями 1С к такому типу ПО и содержит все описанные в этих требованиях функции. Эти функции 1С потом дергает сама.
Далее. Предположим, что при пробитии чека из 1С он записался в ФН (и через некоторое время ушел в ОФД), а при печати чековая лента закончилась. По-хорошему после заправки новой чековой ленты нужно напечатать копию чека. Однако как драйвер должен определить что новая лента заправлена чтобы напечатать копию? Кроме как по нажатию кнопки в программе самого верхнего уровня кассиром мне в голову не приходит больше вариантов. И это лишь один пример. Их можно много написать. Но смысл будет один и тот же.

Аватара пользователя

andrish

Сообщения: 175
Зарегистрирован: 07 июн 2016, 14:41

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

andrish » 03 окт 2017, 17:05

slan писал(а):Интеграционная библиотека нужна 1С для работы с драйвером по стандарту 1С-Совместимо. Она реализована в соответствии с требованиями 1С к такому типу ПО и содержит все описанные в этих требованиях функции. Эти функции 1С потом дергает сама.
Далее. Предположим, что при пробитии чека из 1С он записался в ФН (и через некоторое время ушел в ОФД), а при печати чековая лента закончилась. По-хорошему после заправки новой чековой ленты нужно напечатать копию чека. Однако как драйвер должен определить что новая лента заправлена чтобы напечатать копию? Кроме как по нажатию кнопки в программе самого верхнего уровня кассиром мне в голову не приходит больше вариантов. И это лишь один пример. Их можно много написать. Но смысл будет один и тот же.

Во всяком случае проблема существует и не только по Меркуриям, слышу такие проблемы и от других продавцов, особенно касается оптовиков у которых акцизный товар. Позиций по сотне, лента метрами, учёт серьёзный, пока не слышал как они выходят из таких положений. Ну а мы в рознице обвешались оборудованием с передачей данных и не отлучиться никуда дальше своего города, спасибо правительству.

Аватара пользователя

andrish

Сообщения: 175
Зарегистрирован: 07 июн 2016, 14:41

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

andrish » 05 окт 2017, 15:01

slan писал(а):Я это все написал к тому — что претензии стоило бы предъявлять к софту верхнего уровня, а не к драйверу. Только там получится реализовать нужное поведение для пользователя перед которым стоит аппарат.

Вы знаете, то что я имею в виду — это не претензия, тонкостей я не понимаю да и не хочу вникать, не судите строго. Кому и какие претензии высказывать я вообще не понимаю в теперешнее время, Вы мне очень помогаете и огромное Вам СПАСИБО.

Аватара пользователя

salex29

Сотрудник Инкотекс
Сотрудник Инкотекс
Сообщения: 92
Зарегистрирован: 20 июн 2017, 17:19

Аватара пользователя

salex29

Сотрудник Инкотекс
Сотрудник Инкотекс
Сообщения: 92
Зарегистрирован: 20 июн 2017, 17:19

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

salex29 » 09 окт 2017, 10:51

Проверил метод GetHardwareStatus — работает. Единственное замечание — при отсутствии связи с ФР метод все равно возвращает успех (True). С методом PrintDocCopy проблема. Он требует номер фискального документа, но взять его негде. Метод ProcessCheck в параметре CheckNumber возвращает локальный номер чека внутри смены, а не номер фискального документа (ФД), хотя в описании написано, что «CheckNumber — Номер фискального чека возвращаемый ФН». Метод GetCurrentStatus тоже возвращает локальный номер чека.

Аватара пользователя

slan

Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

slan » 09 окт 2017, 14:03

salex29 писал(а):Проверил метод GetHardwareStatus — работает. Единственное замечание — при отсутствии связи с ФР метод все равно возвращает успех (True).

Странно, вроде не должен. Проверю. Вы имеете ввиду — возвращает успех если не было произведено подключение т.е. сразу выполнен запрос GetHardwareStatus , или при установленном соединении выключить питание и вызвать GetHardwareStatus?

salex29 писал(а):С методом PrintDocCopy проблема. Он требует номер фискального документа, но взять его негде. Метод ProcessCheck в параметре CheckNumber возвращает локальный номер чека внутри смены, а не номер фискального документа (ФД), хотя в описании написано, что «CheckNumber — Номер фискального чека возвращаемый ФН». Метод GetCurrentStatus тоже возвращает локальный номер чека.

Видимо это произошло из-за разной терминологии в документациях 1С и фискальника. В требованиях 1С методом ProcessCheck должен возвращаться CheckNumber (Номер фискального чека возвращаемый ФН), а в документации фискальника номер чека — это номер чека внутри смены, а номер документа — это сквозной номер независящий от смены. Видимо номер чека из 1С соответствует номеру документа из документации ККТ. Если это так — то тогда переделаю метод ProcessCheck: в параметр CheckNumberзапишу сквозной номер документа. А метод PrintDocCopy переделывать не нужно, он будет принимать этот номер (только в документации поправлю НомерДокумента на НомерЧека). Соответственно эти изменения коснутся и методов GetCurrentStatus, ProcessCorrectionCheck,

Аватара пользователя

salex29

Сотрудник Инкотекс
Сотрудник Инкотекс
Сообщения: 92
Зарегистрирован: 20 июн 2017, 17:19

Re: Драйвер «Инкотекс: ККТ Меркурий с передачей данных в ОФД (54-ФЗ)» (М119Ф) [Обсуждение]

Сообщение

salex29 » 09 окт 2017, 15:10

slan писал(а): … или при установленном соединении выключить питание и вызвать GetHardwareStatus?

Да, именно это я имел ввиду. У меня ФР с интерфейсом RS-232, если это важно.

slan писал(а): … в параметр CheckNumber запишу сквозной номер документа.

Если при этом еще и номер чека внутри смены останется доступным (через какой-нибудь дополнительный параметр), будет совсем замечательно.

Понравилась статья? Поделить с друзьями:
  • Ошибка при вызове серверного метода
  • Ошибка при вызове операции сервиса
  • Ошибка при вызове обработчика события
  • Ошибка при вызове не указан указанный модуль
  • Ошибка при вызове метода объекта компоненты