ATOL драйвер 10.x

Сканеры, кассы, ККТ и т.д.
Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

А вот такое сообщение в имени кассира ни у кого не выскакивало? У кассира ИНН не задан, может из-за этого. Хотя в возвратных чеках все нормально.
check.jpg
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

Походу это я сам, собака страшная, терминатор в конце строки не поставил. Вопрос снимается.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

А кто-нибудь пробовал qr код печатать в нефискальном документе? Обновили прошивку до актуальной, qr не печатается. Ни в дто10, ни в дто8. На втором фискальнике на той же кассе, где прошивку не обновляли, из дто8 печатается, как и раньше.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ATOL драйвер 10.x

Сообщение Игорь Столяров »

А из окна настройки драйвера пробовали печать штрих-кода в не фискальном документе ?
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

Подключение к кассе только удаленное, и на ней работают. Как оказалось, из дто8 все таки куэр печатается. Проблема с печатью из дто10. Очень сложно в таких условиях проверять. Когда у меня был нефискализирлванный ккм, я не мог не проверить печать куэр, все было нормально. Что-то изменилось после обновления драйвера или прошивки.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Admin
Администратор
Сообщения: 3959
Зарегистрирован: 05 Июль 2005, 15:59
Откуда: Хабаровск
Благодарил (а): 25 раз
Поблагодарили: 22 раза
Контактная информация:

ATOL драйвер 10.x

Сообщение Admin »

finsoftrz писал(а): 03 Апрель 2020, 14:53Обновили прошивку до актуальной, qr не печатается. Ни в дто10, ни в дто8.
Этот вопрос наверное лучше подымать напрямую на их форуме.
Там обычно быстро отвечают по важным вопросам.
Рай совершает ошибки ничуть не реже чем ад. Просто у него хорошая пресса
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

В общем, добрался айтишник до кассы, выяснили, в чем проблема. В ДТО8 и ДТО10 по разному задается коэффициент масштабирования qr кода. В ДТО8 обычный и егаисный qr имели коэффициенты 300 и 400, а в ДТО10 надо ставить 5 и 6 соответственно.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

А у кого-нибудь статистика работы через дто10 набралась? Пожаловались, что кассовая программа после переключения на ДТО 10 пару раз вылетала с системной ошибкой типа "windows завершила работу этой программы". Удаленно наблюдаю, пока не повторяется. На этой кассе 2 фискальника, один на дто8, второй на дто10. Вроде работает такое сочетание.
Во всяком случае, что надо печатает, в офд чеки корректно отображаются.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ATOL драйвер 10.x

Сообщение Игорь Столяров »

finsoftrz писал(а): 15 Апрель 2020, 17:54 вылетала с системной ошибкой типа "windows завершила работу этой программы".
Для АТОЛ ДКК10 есть рекомендации, что нужно подгружать драйвер на всё время работы программы и
далее просто обращаться к существующему экземпляру. Это хорошо, но для монопольных программ.
Не знаю как реализована работа с драйвером у Вас, но если выполнять полную инициализацию в каждом
MDI окне, то действительно, рано или поздно начинаются вылеты (могут предположить, что из проблем с выделением памяти).
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

У меня кассовая программа однопоточная. Класс инициализируется при запуске программы и его адрес сохраняется в глобальной переменной. Затем в нескольких местах (разных диалогах) есть вызовы методов этого класса.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ATOL драйвер 10.x

Сообщение Игорь Столяров »

Тогда уже проще. Нужно понять вылет происходит в Вашем коде или в DLL драйвера.
А насчёт двух драйверов на одном компьютере - это обсуждалось на форуме АТОЛ.
Они по сути разные и в принципе не мешают друг другу.
Я у себя ДТО8 удалил, только по тому, что бы не отвечать на вопросы. :)
За теми кто отстал - не возвращаться. (С) Кодекс
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

Насколько я понял, вылетало совсем не при обращении к драйверу. Например, при обновлении справочников из бэка. Но без дто10 такого не было. Хотя, может совпало. Сегодня больше не писали, но и чеков на этом ккм было всего штук 10 после переключения. На этом ккм один алкоголь, и кассовых прохода два. Продавцы после вылета могли на другую кассу народ с алкоголем посылать.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

А кто-нибудь пробовал маркировку выводить по новой схеме? Я пробую, такая конструкцию валит программу в gpf. Причем валит именно на SELF.SetParamByteArray.

Код: Выделить всё

!===================================================================================
! Тестирование 
!
FsKKMAtol.MyTest PROCEDURE
   CODE

      if SELF.Active = 0
         return
      end    

      if SELF.CheckOpened()=1  !Анулирование предыдущего чека если он не закрыт!
         if libfptr_cancel_receipt(SELF.fptr) = LIBFPTR_ERROR
            SELF.GetError
            return
         end
      end

      SELF.OpenShift()   !Открытие смены если нужно
      SELF.SetSotr       !установить кассира

      SELF.SetParamInt(LIBFPTR_PARAM_RECEIPT_TYPE, LIBFPTR_RT_SELL)  !тип чека
      if libfptr_open_receipt(SELF.fptr) = LIBFPTR_ERROR   !открытие чека
         SELF.GetError
         return
      end

      SELF.SetParamStr(LIBFPTR_PARAM_COMMODITY_NAME, 'Сигареты Next Blue Edition ФМ')
      SELF.SetParamDouble(LIBFPTR_PARAM_PRICE, 90)
      SELF.SetParamDouble(LIBFPTR_PARAM_QUANTITY, 1)
      SELF.SetParamInt(LIBFPTR_PARAM_TAX_TYPE, LIBFPTR_TAX_NO)
      SELF.SetParamInt(LIBFPTR_PARAM_DEPARTMENT, 1)
      SELF.SetParamInt(LIBFPTR_PARAM_TAX_MODE, LIBFPTR_TM_POSITION)
      SELF.SetParamInt(1212, 1)
      SELF.SetParamInt(1214, 4) 
      SELF.SetParamInt(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT_OTHER) 
          SELF.SetParamByteArray(LIBFPTR_PARAM_MARKING_CODE,clip(SELF.AtolStrToByte('00000046088710KY4mjNZAB=U/FkO')))
      if libfptr_registration(SELF.fptr) = LIBFPTR_ERROR
         SELF.GetError
      end

      SELF.CancelCheck   !аннулировать чек
      stop('Тест прошел!')
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
finsoftrz
✯ Ветеран ✯
Сообщения: 4553
Зарегистрирован: 06 Ноябрь 2014, 12:48
Благодарил (а): 6 раз
Поблагодарили: 34 раза

ATOL драйвер 10.x

Сообщение finsoftrz »

Чтобы не ванговать.

Код: Выделить всё

!===================================================================================
!
! Установить параметр массив байт
!
FsKKMAtol.SetParamByteArray PROCEDURE(LONG pParam, STRING pValue)
  CODE

      if SELF.Active = 0
         return
      end  
      
      libfptr_set_param_bytearray(SELF.fptr, pParam, ADDRESS(pValue), len(pValue))
А значение параметра передается как 16-ричное представление байт строки, разделенных пробелами.
C6/C11, ШВС, tps/btrieve.
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 7323
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 13 раз
Поблагодарили: 48 раз

ATOL драйвер 10.x

Сообщение Игорь Столяров »

Весь код не смотрел, у меня в принципе всё тоже самое и всё работает.

Код: Выделить всё

Atol10.SetParamBiteArray   PROCEDURE(LONG lParam, STRING sValue)
  Code
  If Self.FlagLoaded = True
     ! передаем так же строку
     libfptr_set_param_bytearray(SELF.fptr, lParam, ADDRESS(sValue), Size(sValue))  ! Заменил Len(sValue)
  end
Вот это - надо только при ручном формировании тега маркировки (убрать)
Разбор строки - сам определит тип маркировки по её длине и содержанию - см. справку.

Код: Выделить всё

     SELF.SetParamInt(LIBFPTR_PARAM_MARKING_CODE_TYPE, LIBFPTR_MCT_OTHER)
И конечно, нужна прошивка ФР с поддержкой маркировки (+ лицензия на работу с маркировкой).
За теми кто отстал - не возвращаться. (С) Кодекс
Ответить