#0
by Виль
УТ. ФР - Феликс РК- 01. Интерфейс кассира В коде добавил функцию после кассового чека - через Фр выходит и товарный чек. - при закрытии первого чека нормально выходит и кассовый и товарный, но когда начинаешь закрывать следующий чек - кассовый выходит со значением "Аннулирован"... Такое ощущение, что предыдущий чек не закрылся - может кто с таким уже сталкивался?
#6
by MikeFromAtol
НУ и еще можно выложить код обработки, отвечающий за формирование чеков. а вообще надо анализировать ошибки при вызове методов драйвера, чтобы понимать, когда возникает ошибка
#7
by Виль
да АТОЛовский... Ошибок он как раз и не выдает - поковырял - нашел следующее - кассовый чек не закрывается однозначно. Заходишь в общий драйвер кассы и делаешь отмену чека. в этом случае - всё начинает работать до пробития следующего чека
#8
by MikeFromAtol
Обработку в студию. Так подсказать ничего не сможем, но однозначно где то что то не так вызывается. А ошибки то он может и выдает, только этого не видно :) поэтому надо после выполнения определенных методов вызывать ResultCode и ResultDescription для анализа, что получается после выполнения определенных команд. Кстати, в АТОЛ: драйвер ККМ реализован интерфейс 1С, описанный в ИТС, в разделе работы с торговым оборудованием. Может, попробовать реализовать работу через него?
#10
by Torquader
Просто печать строк может считаться началом нового чека, а при начале печати кассового чека производится проверка, а не открыт ли чек, и, если он открыт, отменяет его и начинает снова. Чтобы не иметь такой проблемы, нужно сначала проверять наличие открытого чека, потом печатью текстовых строки печатать товарный чек или всё, что хочется напечатать, после этого не забыть напечатать заголовок чека и пробить нужный чек.
#11
by Виль
Убрал из обработки печать товарного чека - выяснилось следующее - какие-то номенклатурные позиции пробиваются кассовым чеком нормально - а некоторые позиции начало чека выводят - но закрытие не делают. Отладчиком проходил - Объект.Драйвер.ЗакрытьЧек просто проходит... Никаких действий по закрытию. Сравнивал две позиции которые закрываются кассовым чеком и не закрываются. Видимых отличий нет... Куда бросить взор - чем успокоится?
#12
by MikeFromAtol
А что за номенклатура? Если они по-разному пробиваются - значит, в них есть какие-нибудь отличия, например, пробиваются штучные, не пробиваются весовые, или что-нибудь похожее. А вообще, как уже и писал, обработку в студию, а к ней - два лога. FprnM1C.log и FprnMLS.log - их можно найти там, где зарегистрирована dll драйвера. Логи лучше выложить сразу, как только выйдет ошибка, чтобы нам в них долго не копаться.
#13
by Виль
Это из лога Сразу спасибо - в общем нашел почему чек не закрывался - В интерфейсе стоит принудительное округление в меньшую сторону и я так понимаю, что обе суммы до и после округления попадают в кассу. сейчас буду разбираться как это уравновесить... 06.04.2009 17:55:54 0000000000 Driver.OpenCheck 06.04.2009 17:55:54 0000000000 Посылка команды ККМ: 00 00 92 00 01 0000000016 Получен ответ: 55 00 00 0000000000 Driver.Set_CurrentDeviceNumber 45 0000000000 Driver.Set_AdvancedRegistration 0 0000000000 Driver.Set_TextWrap 2 0000000000 Driver.Set_Name Проверочный товар 0000000000 Driver.Set_Quantity 1 0000000000 Driver.Set_Price 375,9 0000000000 Driver.Set_Department 1 06.04.2009 17:55:54 0000000000 Driver.Registration 06.04.2009 17:55:54 0000000000 Посылка команды ККМ: 00 00 92 00 01 0000000015 Получен ответ: 55 9B 00 06.04.2009 17:55:54 0000000000 Посылка команды ККМ: 00 00 52 03 00 00 03 75 90 00 00 00 10 00 01 0000000000 Получен ответ: 55 00 00 06.04.2009 17:55:54 0000000000 Посылка команды ККМ: 00 00 4C 8F A8 E0 E1 A8 AD A3 20 91 30 39 31 32 20 20 8F A8 E0 E1 A8 AD A3 20 35 38 35 F8 28 E8 E2 2C 20 0000000016 Получен ответ: 55 00 00 06.04.2009 17:55:54 0000000000 Посылка команды ККМ: 00 00 4C 35 32 38 33 33 34 30 30 30 39 35 33 36 29 0000000078 Получен ответ: 55 00 00 06.04.2009 17:55:54 0000000000 Посылка команды ККМ: 00 00 52 02 00 00 03 75 90 00 00 00 10 00 01 0000000094 Получен ответ: 55 00 00 0000000000 Driver.Set_CurrentDeviceNumber 45 0000000000 Driver.Set_Summ 375 0000000000 Driver.Set_TypeClose 0 06.04.2009 17:55:54 0000000000 Driver.Payment 06.04.2009 17:55:54 0000000000 Посылка команды ККМ: 00 00 99 00 01 00 00 03 75 00 0000000203 Получен ответ: 55 00 00 00 00 00 90 00 00 00 00 00 06.04.2009 17:55:55 0000000000 Driver.CloseCheck 06.04.2009 17:55:55 0000000000 Посылка команды ККМ: 00 00 4A 00 01 00 00 00 00 00 0000000016 Получен ответ: 55 72 00 06.04.2009 17:55:55 0000000000 Ошибка! ResultCode = -3897 ResultDescription = "Чек оплачен не полностью" BadParam = 0 BadParamDescription = "Ошибок в параметрах нет" 0000016312 Driver.Set_CurrentDeviceNumber 45 0000000000 Driver.Set_DeviceEnabled 0 06.04.2009 17:56:11 0000000000 Устройство включено = 0 0000000000 Waiting for EventThread... 0000000109 EventThread destroyed successfully 0000000016 Port closed 06.04.2009 17:56:11 0000000000 Driver.DeleteDevice 06.04.2009 17:56:11 0000000000 Разрушение объекта нижнего уровня 06.04.2009 17:56:11 0000000000 Объект старого протокола разрушен ################################################################ 06.04.2009 17:56:11 0000000359 Разрушение объекта нижнего уровня 06.04.2009 17:56:11 0000000000 Объект старого протокола разрушен ################################################################ 06.04.2009 17:56:11 0000000000 Разрушение объекта нижнего уровня
#15
by Torquader
"Умный" драйвер работает с переменными типа double-вещественное число, а касса хочет int. Поэтому, некоторые double с копейками округляются и выходит, что итог по чеку не равен сумме позиций. Я писал "пробивалку" в Excel и напоролся именно на это, только у меня сама программа так и говорила, что суммы не совпали, и предлагала отменить и повторить чек. Решением проблемы для Excel было использование формата Decimal или Currency. Здесь можно посоветовать пробивать суммы без копеек, так как копейки - это зло. Другой вариант, который очень подошёл - это "пробивать" весь чек текстовыми строками, а потом одной суммой - итогом.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
В этой группе 1С
- дополнительные отпуска - УПП
- v7: Нет проводок по НУ при переоценке расчетов в у.е. (УПП)
- В номере докумета поставили дробь. Надо убрать.
- как сложить две строки в запросе?
- несовместимые типы
- Как в запросе сравнить строки с точностью до регистра?
- поступление в торговле и склад
- Где сохраняются настройки внешних отчетов?
- Не получается выборка по группировкам
- ЗУП - форма Т-13 (табель) Где искать?
- Список работающих сотрудников запросом в ЗУП
- Зависает при поиске документа в журнале по номеру.
- массовое перепроведение документов - как ускорить?
- v8: Как прочитать текстовый файл начиная с конца?
- a timeout was reached при РИБ обмене по FTP
- Как перевести приложение на управляемые блокировки?
- Отрицательный НДФЛ начисленный
- УПП. Нумерация кадровых приказов.
- Выводит ошибку на RG328.DBF файл,при открытии периода.
- Практика в ЗУП