Подключение фискального регистратора MG-T808TL (на базе Toshiba) и MG-P800TL (на базе POSNET)


На сегодня существует большое множество фискальной техники. И для удобства как пользователей, так и программистов 1С выкладываю свои наработки по еще одному фискальному аппарату, собранному на базе Toshiba модель MG808TL.
Добавлена возможность работы с еще одним аппаратом MG-P800TL (подробнее о аппарате: http://gera-service.com.ua/products/9/663/ )
По MG N707TS задаем свои вопросы не связанные с RS232 соединением тут: http://infostart.ru/public/376254/
Добавил обработку обслуживания для подключения торгового оборудования

Решил поделиться с миром наработкой в 1С для фискального принтера (РРО) (ЭККА).
Не судите строго, выполнено в виде консоли для подключения и демонстрации работы с 1С.

Добавил обработку  для подключения торгового оборудования через ДОБАВИТЬ драйвер в разделе торговое оборудовние.

Интерфейс собрал в себя все необходимые функции для повседневной работы с фискальным аппаратом и рекомендуется для более быстрого и удачного согласования с 1С 8.2 (8.3) или 7.7 в Ваших проектах или на базе существующего.

Для регистрации драйвера в системе необходимо скопировать исполняющий exe файл в любое удобное место на компьютере, где ожидается запуск 1С. После чего он доступен для вызова под именем MGT808TL.FiscalPrinter

Кроме всего прочего позволяет печатать:

штрих код чека EAN-128,

штрих-код в чеке EAN-13,

произвольный штрихкод в чеке EAN-13,

—  штрихкод товара в чеке EAN-13,

— загружать в аппарат логотип (только Ч/Б монохромный .BMP)

Добавили возможность запрашивать время до блокировки аппарата. (см. скрин)

Как известно аппарат должен работать без передачи данных в налоговую не более 72 часов, иначе должен заблокироваться! 

Для этого необходимо обновить и драйвер MGT808TL Driver for 1C !

С 9.02.2024 добавлен новый версии 1.0.0.5 — если у Вас стрый OLE  — обновите до 1.0.0.5 !

Перерегистрация драйвера :
1) Запустить MGT808TL.exe c праметром -u и правами администратора

2) Запустить MGT808TL.exe с правами администратора

Все с Обновленным OLE можно работать.

Добавил обработку обслуживания для подключения торгового оборудования.

Огромное спасибо ВСЕМ КТО ПОМОГ , участвовал в создании этой обработки. (Перечислять ВСЕХ не буду , но Ивано-Франковск — реально классный город).

Пример инициализации на VBS:

Set fp = CreateObject(«MGT808TL.FiscalPrinter«)

Всем удачи…

Если появятся вопросы и пожелания по доработке, милости просим — пишите.

Появилась возможность работы с MG-P800TL (на базе POSNET) задаем вопросы по его работе…

По MG N707TS задаем свои вопросы, не связанные с RS232 соединением, тут: //infostart.ru/public/376254/

57 Comments

  1. mar_a

    Буду благодарен за найденные ошибки, неточности и разумеется пожелания по улучшению.

    Reply
  2. w-divin

    а умеет работать с сетевым MG N707TS? весь найденный мною софт для 707 (и на оф. сайте и у дилеров) ссылается на 808…

    Reply
  3. mar_a

    Да умеет , если будут проблемы (а они будут). то обращайтесь

    Протокол обмена у этих Аппаратов один и тот-же.

    То обратите внимание , на то что Длинна строки товаров разная !

    Второе кол-во строк на индикаторе 16 , а не 20 как 808 !

    По разномуу называются ТИПЫ оплат.

    Если эти и еще некоторые нюансы учесть то получим одновременную работу на 2х аппаратах и 707 и 808.

    Reply
  4. mar_a

    Сейчас напишем демонстрацию работы с 1С через HTTP (JSON).

    Если будут вопросы и рекомендации пишите пока состряпаем бету версию.

    Заранее спасибо.

    Reply
  5. mar_a

    (2) w-divin, Да умеет , если будут проблемы (а они будут). то обращайтесь

    Reply
  6. andrvyst

    Огромное спасибо за обработку. Вместе с описанием OLE сервера позволила легко написать обработку обслуживания для розницы.

    Но есть ситуация с округлением в скидке. Подскажите пожалуйста.

    Например, 1с насчитывает скидку в 0,46 копеек. Аппарат считает скидку в 0,47 коп.

    Сумма чека в 1с = 27,09. Аппарат, соответственно, оплачивает сумму в 27,08., готивкой = 27,09 и сдача 0,01

    Скидка в %

    Использую Объект.Драйвер.GiveDiscount(Скидка,0,0,»Знижка:»);

    Может подскажите по каким правилам округляет аппарат? Потому как в документации о правилах округления ни слова.

    Или может я чего делаю не так.

    Reply
  7. mar_a

    (6) andrvyst,

    0,46 копеек = 1копейка ? Передается число ЦЕЛЫХ копеек.

    Будьте так любезны округлить ЛЮБЫМ известным ВАМ методом, с отбрасыванием или математическим округлением до целого числа копеек.

    И все будет ОБИ-ОК.

    Теперь перефразирую ВОПРОС , т.к. он был неправильно задан:

    (Поправте если что не так)

    Был товар на сумму 27.55 грн (27грн 55коп)

    Хочу Выполнить абсолютную скидку в 46копеек (0,46грн)

    Теперь ответ:

    Создал — в своей конфигурации и пробиваю одну позицию на 27.55 грн со скидкой в 46копеек

    В результате Сумма 27,09 грн

    Закрываю ее подрасчет и Готiвкою 27.09грн

    Сдача =0.00

    Ошибок нет , проверил на своем тестовом аппарате.

    Если появляется ошибка прошу привести код посылки.

    Ради теста выводим через Сообщить все параметры передваемые в аппарат , суммы, скидки и т.д.

    Я думаю что-то банальное…

    Reply
  8. Strawberry

    1C 7.7

    ЭККР=СоздатьОбъект(«MGT808TL.FiscalPrinter»);

    ЭККР.Connect(Порт,Скорость);

    ЭККР.GetXReport();

    GetXReport: Ошибка протокола обмена.

    Получаем ошибку метод не существует.

    Вопросы:

    1. При каких условиях работает GetXReport ??

    2. Как можно получить номера а) последжнего чека продаж ; б) последнего чека возврата; в) последнего Z отчета

    Reply
  9. mar_a

    (8) Strawberry,

    Причин может быть несколько:

    Нет бумаги,

    неправильно подключен (не тот порт или скорость).

    Время работы превышает 24 часа — это для любой команды пока не снимете Z отчет.

    -Данный объект работает только в режиме чтения — следовательно что-то записать невозможно.

    Судя по коду …

    как идет обращение к этой функции , мне интуитивно непонятно , а что ожидаете от этой комманды?

    Например первое встреченное мною это получение количества чеков ЭККР.GetXReport().ChecksCount

    Где в моем коде Вы такое( ЭККР.GetXReport(); ) встретили? Я исправлю…

    ——————————————-

    Количество чеков продаж соответствует ЭККР.GetXReport().ChecksCount т.е. последний распечатанный чек на сегодня.

    Количество чеков возвратов соответствует ЭККР.GetXReport().RefundChecksCount

    Количество Z отчетов в ЭККР.GetXReport() — несуществует!

    Да добавил файл с ОПИСАНИЕ методов OLE объекта.

    Увы незнаю как съделать его бесплатным.

    Reply
  10. Strawberry
    Reply
  11. mar_a

    (10) Strawberry,

    И я о том-же , временно поместил ЭККР.GetXReport(); в переменную Xreport, и никто к этой переменной не обращается на прямую.

    Обращение ведется (смотрите ниже) например SumPayt=Xreport.SumByPayType; и в переменную SumPayt записано значение.Xreport.SumByPayType; но никак не ЭККР.GetXReport() (или Xreport.ChecksCount — которая интересует ВАС)

    Странно но в моей 1С 7.7. конструкция вида ЭККР.GetXReport().SumByPayType неработала.

    Поэтому пришлось прибегнуть к временной переменной (по сути объекту) Xreport.

    Ошибок тут нет, я просто заострил на этом внимание.

    Ну а если вытаскивать непосредственно ЭККР.GetXReport(); — то ничего не выйдет — объекта такого действительно не существует.

    Существует Xreport.RefundChecksCount, Xreport.ChecksCount и т.д.

    по Z отчету не количество а номер последнего как можно получить ??

    Никак… нет такого в свойствах данного аппарата (косвенно только) или посмотреть в кассовой книге РРО.

    Для чего ВАМ этот номер?

    Reply
  12. Strawberry

    (11)

    Номер Z отчета храню в в доке 1С для проверки. Хм и так исторически сложилось что номер дока в РРО дублируется в 1С

    Ок, вечером попробую переменную Xreport

    Reply
  13. mar_a

    (12) Strawberry, Увы — разработчики посчитали это ненужным.

    Но есть например косвенные методы:

    При снятии скажем Z отчета — можно вести сквозную нумерацию внутри 1С, (снял Z отчета — увеличил значение переменной на 1 и сохранил в каком-то поле БД). При следующем снятии опять добавил к существующему числу 1 и сохранил в БД.

    Чаще людей интересует номер пакета в КЛЭФ который доступен в момент снятия Z отчета

    NumberKLEF=ЭККР.PrintZReport(ОтчетыПароль);

    Этот номер будет полезен в при печати скажем копии ленты от NumberKLEF_start до NumberKLEF_End

    В функции PrintReportById

    Сам-же номер Zотчета нигде в протоколе в явном виде более не фигурирует.

    Чаще это действительно Номер КЛЭФ (NumberKLEF)

    Reply
  14. Strawberry

    (13)

    В самом протоколе то оно есть, его нет в ОЛЕ сервере

    вот документация

    GetDayReport прочитать данные дневного отчета

    Код: 42.

    Параметры Размер Формат

    таг нужных данных 1 бин

    Данные Размер Формат

    Нет параметров

    счетчик чеков продаж 2 бин

    счетчики продаж по налоговым группам и формам оплат 4*(6+10) бин

    дневная наценка по продажам 4 бин

    дневная скидка по продажам 4 бин

    дневная сумма служебного вноса 4 бин

    счетчик чеков выплат 2 бин

    11

    счетчики выплат по налоговым группам и формам оплат 4*(6+10) бин

    дневная наценка по выплатам 4 бин

    дневная скидка по выплатам 4 бин

    дневная сумма служебной выдачи 4 бин

    Таг 0

    текущий номер Z-отчета 2 бин

    счетчик чеков продаж 2 бин

    счетчик чеков выплат 2 бин

    дата конца смены в формате ДДММГГ 3 BCD

    время конца смены в формате ЧЧММ 2 BCD

    дата последнего дневного отчета в формате ДДММГГ 3 BCD

    счетчик артикулов 2 бин

    Таг 1

    суммы налогов по налоговым группам для наложенного НДС 4*(6+6) бин

    Таг 2

    количество аннулированных чеков продаж 2 бин

    количество аннулированных чеков выплат 2 бин

    сумма аннулированных чеков продаж 4 бин

    сумма аннулированных чеков выплат 4 бин

    количество отказов продаж 2 бин

    количество отказов выплат 2 бин

    сумма отказов продаж 4 бин

    сумма отказов выплат 4 бин

    тег 0 содержит данные о текущем Z отчете

    Reply
  15. mar_a

    (14) Strawberry,

    Я передам пожелание на доработку , думаю в понедельник обновить.

    Reply
  16. Strawberry

    (15)

    Это лог

    18:46:15.390 Connect — COM1 9600bps

    18:46:15.390 -> (7) 10 02 00 00 00 10 03

    18:46:15.578 <- (126) 10 02 00 00 00 00 20 20 45 49 43 33 30 38 30 30 31 34 39 20 32 34 2D 30 35 2D 31 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 90 85 F2 91 92 90 80 92 8E 90 20 4D 47 20 4E 37 30 37 54 53 0C 93 8A 90 80 F4 8D 80 20 32 30 31 34 18

    18:46:15.578 data (116) 20 45 49 43 33 30 38 30 30 31 34 39 20 32 34 2D 30 35 2D 31 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 90 85 F2 91 92 90 80 92 8E 90 20 4D 47 20 4E 37 30 37 54 53 0C 93 8A 90 80 F4 8D 80 20 32 30 31 34 18 2A 2A 2A 2A 2A 2A

    18:46:15.578 -> (7) 10 02 01 00 FF 10 03

    18:46:15.765 <- (126) 10 02 01 00 00 00 20 20 45 49 43 33 30 38 30 30 31 34 39 20 32 34 2D 30 35 2D 31 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 90 85 F2 91 92 90 80 92 8E 90 20 4D 47 20 4E 37 30 37 54 53 0C 93 8A 90 80 F4 8D 80 20 32 30 31 34 18

    18:46:15.765 data (116) 20 45 49 43 33 30 38 30 30 31 34 39 20 32 34 2D 30 35 2D 31 35 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 14 90 85 F2 91 92 90 80 92 8E 90 20 4D 47 20 4E 37 30 37 54 53 0C 93 8A 90 80 F4 8D 80 20 32 30 31 34 18 2A 2A 2A 2A 2A 2A

    18:46:15.765 Connect — Ok

    18:46:26.640 -> (7) 10 02 02 2A D4 10 03

    18:46:26.843 <- (144) 10 02 02 2A 00 00 20 03 00 B8 C9 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B8 C9 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 30 D4

    18:46:26.843 data (134) 03 00 B8 C9 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B8 C9 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 30 D4 05 00 00 00 00 00

    18:46:26.843 GetXReport — Ошибка протокола обмена.

    это то что хотелось

    ЭККР=СоздатьОбъект(«MGT808TL.FiscalPrinter»);

    ЭККР.Connect(Порт, СкоростьПорта );

    Xreport= ЭККР.GetXReport();

    ПоследнийЧекПродажи = Число(Xreport.ChecksCount);

    1с отписала

    Xreport= ЭККР.GetXReport();

    {ХХХХХХХХХХХХХХХХХХХХХХХХ}: GetXReport: Ошибка протокола обмена.

    пробовал под 8.2 метод тоже возвращает ошибку

    Reply
  17. Strawberry

    Драйвер брал

    http://www.gera.com.ua/gera/dbfiles/%D0%A3%D0%BD%D0%B8%D0%B2%D0%B5%D1%80%D1%81%D­0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9%20%D0%B4%D1%80%D0%B0%D0%B­9%D0%B2%D0%B5%D1%80%20%D0%B4%D0%BB%D1%8F%201%D0%A1%20%D0%9F%­D1%80%D0%B5%D0%B4%D0%BF%D1%80%D0%B8%D1%8F%D1%82%D0%B8%D0%B5.zip?id=108418

    на этой странице http://www.gera.com.ua/prod/108411

    пробовалась обе версии, результат стабильный: не работает

    Reply
  18. mar_a

    (17) Strawberry, результат стабильный: не работает/

    Неработает что?

    И с каким аппартом?

    С 808 — сам проверял — все в конфигурации работает для 1С 8.2 версия аппарата MG-08

    И кстати драйвер я не видел что-б у меня вообще кто-то скачивал.

    Reply
  19. Strawberry

    (18)

    аппарат MG N707TS

    подключенный через сом порт

    под Windows XP 1с 27 релиз

    драйвер скачан с сайта производителя

    неработает команда

    Xreport= ЭККР.GetXReport();

    {ХХХХХХХХХХХХХХХХХХХХХХХХ}: GetXReport: Ошибка протокола обмена.

    см. посты выше там приведен лог оле сервера

    Reply
  20. mar_a

    (19) Strawberry,

    Вы УВАЖАЕМЫЙ внимательнее прочтите 2 пункта.

    1) Название темы (а именно MG808TL)

    2) (3) Если эти и еще некоторые нюансы учесть то получим одновременную работу на 2х аппаратах и 707 и 808.

    Во всех Ваших сообщениях небыло указано , что идет работа с 707!!!

    3) Только пишем (4) под сетевое обращение к 707 , не под RS232 !!!

    Действительно эта опция GetXReport() не работает в 707 аппарате.

    Теперь стало все на свои места… (понятно зачем сбросили ЛОГ). Я в курсе про эти вещи!!!

    Reply
  21. Strawberry

    (20)

    а будет ли решение для 707 для опции GetXReport() ??

    Reply
  22. mar_a

    (21) Strawberry, Давайте дождемся пока он (707) в серию выйдет.

    Разработчик пока еще обкатывает пробную партию.

    Надо будет исправить , конено-же. Пока такой инфы нет.

    Reply
  23. pumbaE

    (4) а зачем пишите? Или вы официальный подрядчик?

    Reply
  24. mar_a

    (23) pumbaE, Зачем пишу ответы?

    Мне задают вопросы — я отвечаю.

    Почему 707 совместим только на 80% с 808 (Нюансы я уже писал, и дал намек что это(3) еще не все нюансы).

    Совместимость пока на 80-90% , иначе я бы дал заглавие и 707 и 808.

    Но над этим повторюсь люди работают.

    Основной упор в 707 будет дан на сетевую (Ethernet) коммуникацию. Поэтому режим совместимости у этих двух аппаратов только по RS232 (СОМ-порту).

    Reply
  25. pumbaE

    (24) я знаю про их совместимость. Меня в основном интересует вопрос «вы официальный подрядчик» по интеграции с 1с или нет. Я просто видел, заготовки кода для взаимодействия 1с и 707 по json с digest авторизацией и у меня возникли вопросы и пожелания разработчикам по этой обработке.

    Хотелось бы донести им прям в уши.

    Reply
  26. mar_a

    (25) pumbaE, Хотите написать к разработчику железа?

    Хотите высказатья — прошу в личку, я передам ВАШИ пожелания в уши разработчику железа.

    Reply
  27. An79

    День добрый!

    Может кто здесь поможет…

    Для аппарата MG808TL команды PrintXReport и PrintZReport с параметром пароля — 0 проходят на ура. А вот для аппарата MG N707TS выдает «Ошибка ЭККР 12: Неправильный пароль».

    Пароль писал и «0», «0000», 0.

    При том что остальные очеты (по артикулам и т.д.) с этим же паролем (0) печатаются нормально.

    В чем может быть проблема, кто сталкивался?

    Спасибо!

    Reply
  28. tyutyun

    Поделитесь, пожалуйста готовой обработкой для работы этого РРО в «УТ для Украины».

    Reply
  29. mar_a

    (27) An79, Ну 100% OLE объект у меня не скачивали… (как предположение MGT808TL Driver for 1C). Заметьте именно OLE объект.

    Reply
  30. mar_a

    (28) tyutyun, А этого примера недостаточно, чтобы даже скопировать функции и вставить в нужное место?

    Или есть подводные камни именно с УТ ?

    Reply
  31. pumbaE

    (28) tyutyun,

    Reply
  32. mar_a

    (31) pumbaE, Спасибо и от меня лично. Полезно ознакомится, т.к. никогда не писал под УТ, да и вообще наверное надо было делать обработку под универсальную конфигурацию?

    Или неимеет смысла ? (поскольку их очень много и не факт, что вообще нужна будет под каждую стандартую обработку)

    Reply
  33. pumbaE

    (32) имеет, по факту сейчас есть два стандарта для уф и не уф конфигураций. Данная обработка подойдет для УТП, УПП 1.3, Бухгалтерия, УТ 2.3 без всяких передолок, т.е. 80% конфигураций покрываете, для уф УТ 3.0 и УНФ немного по другому надо делать.

    Reply
  34. Strawberry

    (27) An79, OLE брали с сайта разработчика. Там в архиве лежит два EXE файла один глюкавый — непечатает отчеты, второй нормальный. Стал на эти грабли у заказчика.

    Reply
  35. mar_a

    (34)Где архив ? Я сегодня только выложил exe файл, без архива… Версия должна быть 1.0.0.3

    Последняя версия более стабильно работает на различных СОМ портах (вне зависимости родной СОМ порт материнки или внешний расширитель портов или RS 2 USB переходник).

    Reply
  36. stas_roman

    Я извиняюсь, но как тут скачать?

    Reply
  37. Tiger77

    Подскажите печатаем чек на MG N707TS через COM-порт.

    На некоторые товары в SetArticle получаем ошибку «Неправильное описание артикула». Попробовали ограничить длину артикула до 35 символов, ошибка стала появляться намного реже, но все равно есть. В названии каких-то спецсимволов не обнаружено.

    С чем это может быть связано, что смотреть ?

    Reply
  38. mar_a

    (37) Tiger77,

    На некоторые товары ? Какие именно?

    Чем больше информации тем мне проще понять!

    ——————————

    Читаю мысли удаленно (такой опции нет).

    ——————————

    Неправильное описание артикула — это ответ СТАРОГО OLE драйверане говорит о том , что ошибка именно в описании товара.

    Попробовали ограничить длину артикула до 35 символов

    Я свободно пробивал товары и в 50 символов !!! Ошибка явно не там.

    С чем это может быть связано, что смотреть ?

    Так хочется ответить в рифму…

    Но я сегодня в хорошем настроении поэтому отвечу так:

    Необходим ЛОГ если это было через мой драйвер (а его скачал только 1 чел и это УВЫ не Вы).

    Что посылалось , с какими налоговыми ставками, был ли на этом месте ранее другой товар , сколько чеков было (тонкий намек что стопор происходит на 7…8 чеках), переключили ли аппарат в RS-232 протокол (пунк по середине , а не верхний!!!) и т.п.

    Кстати не писал о этом, но версия драйвера давно обновлена с 1.0.0.3 до 1.0.0.4

    Слишком мало информации для рекомендации…

    Reply
  39. andrvyst

    mar_a,

    Подскажите пожалуйста как бороться со следующей ситуацией.

    Использую драйвер 1.0.0.4 На некоторые товары (например, Активіа Біфідойогурт питний 1,5% пет 290г полун-су ) регистратор выдает ошибку «Ошибка ЭККР 28: ошибка в описании артикула.». Следующие чеки не пробиваются — помогает только закрытие смены. После закрытия, этот же чек, который не пробивался, пробивается без ошибок.

    __

    В принципе вопрос решен. Ошибка возникает если в течении смены менялось наименование(например, Хаеб на Хлеб). Нельзя ли в следующей версии Ole-драйвера пофиксить это?

    Спасибо.

    Reply
  40. mar_a

    (39) andrvyst, Это не трабл — это требование налоговой.

    Привидите пример в каком аппарате такое сработает?

    Первая продажа — записывает товар с кодом в аппарат под кодом с которым он продавался (считайте индентификатор — это и есть код товара).

    Изменение названия , цены, налога — приводит к изменению артикульной таблицы !!!

    Собственно для этого необходимо использовать другой код товара — их в аппарате предостаточно.

    На основании этих артикулов — можно выполнить отчет по проданным товаров из аппарата.

    Хотя отвечу на вопрос ВАШИМИ дословно словами

    Ошибка возникает если в течении смены менялось наименование(например, Хаеб на Хлеб). Нельзя

    в течении открытой смены.

    После снятия отчетов (закрытия смены) таблица артикулов разблокируется и работает в режиме динамического программирования.

    Reply
  41. andrvyst

    (40)

    На аппарате Datecs FP-3530T(работаем на них 5 лет) у нас таких траблов не возникает( таблица артикулов аппарата хранится на компьютере к которому подключен аппарат в dbf файле)

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

    Буду благодарен за найденные ошибки, неточности и разумеется пожелания по улучшению.

    SetTime — строка в формате HH:MM:SS. В Вашей консоли, если переводить время до 10:00:00, время будет в формате H:MM:SS

    В любом случае, спасибо Вам за ответ.

    Reply
  42. mar_a

    (41) andrvyst,

    На аппарате Datecs FP-3530T(работаем на них 5 лет) у нас таких траблов не возникает( таблица артикулов аппарата хранится на компьютере к которому подключен аппарат в dbf файле)

    Никто не запрещал с первого раза пробивать товар с ПРАВИЛЬНЫМ названием…

    Может таблица соответствий ?

    Тогда это не только у Датексов , и у Марий (Резонанс) и др. производителей. Но все-таки правильнее не давать под одним и тем-же номером пробивать два разных товара.

    Иначе этот аппарат не мог пройти серификацию ЧЕСТНО. Исходя из вышесказанного товар под кодом 1 можно пробить Водка а потом исправить на Мороженное (акцизный и неакцизный товар) под тем-же кодом — то аппарат абсолютно адекватно выдаст чек в обоих случаях (без снятия Z отчета)?

    Ситуация номер 2: Комп подвис и надо выполнить отчет по товарам за текущую смену, но поскольку у ВАС таблица артикулов лежит на компе (а комп просто висит или умер) то снять этот отчет не представляется возможным (что нарушает правила налоговой)?

    SetTime — строка в формате HH:MM:SS. В Вашей консоли, если переводить время до 10:00:00, время будет в формате H:MM:SS

    Время передается для 808 как и в 707 в формате 09:12:00 (09 часов утра 12 минут 00 сек.) — это если смотреть напрямую через порт.

    В OLE объект с помощью обработки передается действительно 9:12:00 причем в самом поле форме даже если указать 09:12:00 тут-же после нажатия кнопки передается 9:12:00 (проверил путем вывода переменной непосредственно) замечу что формат ставил ДФЛ=T .

    Это связанно скорее всего с тем что я не профи в 1С и работы с типами переменных в 1С.

    Через VBS время передается в правильном формате , если посылать именно 09:12:00

    Поэтому честно БЛАГОДАРЮ — мой глюк.(за мое незнание).

    Как поставить формат принудительно HH:MM:SS именно в 1С ?

    Reply
  43. andrvyst

    (42)

    Исходя из вышесказанного товар под кодом 1 можно пробить Водка а потом исправить на Мороженное (акцизный и неакцизный товар) под тем-же кодом — то аппарат абсолютно адекватно выдаст чек в обоих случаях (без снятия Z отчета)?

    Без снятия Z-отчета не выйдет. В общем ладно, буду выкручиваться по-другому)

    Как поставить формат принудительно HH:MM:SS именно в 1С ?

    Я сделал конкатенацией

    Время          = Формат(‘00010101100000’, «ДФ=HHmmss»);    //10:00:00
    ТекВремя   = Формат(ТекущаяДата(), «ДФ=HHmmss»);
    
    Если ТекВремя < Время Тогда
    ТекВремя = «0»+Час(ТекущаяДата())+»:»+Минута(ТекущаяДата())+»:»+Секунда(ТекущаяДата());
    КонецЕсли;
    
    ЭККР.SetTime(ТекВремя);
    

    Показать

    Reply
  44. mar_a

    (43) andrvyst,

    Без снятия Z-отчета не выйдет. В общем ладно, буду выкручиваться по-другому)

    По другому только кодТовара + 1 где кодТовара это обычный счетчик который постоянно в рамках ОТКРЫТОЙ рабочей смены будет прибавляться до 8000

    Ну уж 8000 товаров за 1 смену точно не успеете пробить 😉

    Потом Z отчет ну и новый день опять считаем от 1 до 8000.

    По поводу конкатенации — это на костыль похоже, а не на стандартный метод.

    Но спасибо , я б тоже так подтавил опору…

    Reply
  45. andrvyst
    По другому только кодТовара + 1 где кодТовара это обычный счетчик который постоянно в рамках ОТКРЫТОЙ рабочей смены будет прибавляться до 8000

    Спасибо огромное за идею!

    По поводу конкатенации — это на костыль похоже, а не на стандартный метод.

    Конечно костыль. В 4 утра только костыли и получаются

    Спасибо Вам

    Reply
  46. mar_a

    (45) andrvyst, Я вобщето так не рекомендую делать но если ВЫ ничего более путного не можете придумать, то …

    Reply
  47. Tiger77

    (38) Проблема оказалась не в 1С и не в драйвере. Проблема в прошивке кассового аппарата — он выдавал ошибку на 8-м по счету артикуле с начала дня.

    Reply
  48. mar_a

    (47) Tiger77, И это даже не прошивка…

    Сам с таким столкнулся, аппарат был подготовлен для работы по HTTP протоколу, а там другая разметка артикульной таблицы.

    Я ВАМ намекал на это

    сколько чеков было (тонкий намек что стопор происходит на 7…8 чеках), переключили ли аппарат в RS-232 протокол

    Но Вы упорно не хотели давать полную информацию о ошибке…

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

    Reply
  49. nems
    Reply
  50. mar_a

    (49) nems, Скидка ставиться 100 раз проверено.

    Пошагово как передаем цену на товар , как передем скидку , абсолютную или относительную?

    То что ВЫ выслали (лог) пока не нужен, т.к. с работой и скидками ошибок нет.

    Ошибка в том что ВЫ посылаете.

    Напишите пошагам и ВАМ сразу станет ясно где ошибка.

    1) Передаем SAle Название товара , код и т.д.

    2) Скидка — ее значение

    и .т.д.

    Reply
  51. nems

    Ра(50) разобрался со скидкой, возникла проблема с печатью из терминальной сессии — очень долго идет проведение и иногда чек не пробивается (остается открытым)

    Reply
  52. mar_a

    (51) nems, Это чудно что разобрались. А по поводу терминальной сессии — согласитесь это не из-за аппарата.

    И кстати выпустили для таких нужд сетевой Фискальный регистратор MG707 ( http://infostart.ru/public/376254/ ) который работает по TCP|IP.

    Reply
  53. Sergey_S

    Здравствуйте!

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

    Регистратор MG N707TS

    RS232

    драйвер версии 1.0.0.4

    среда разработки VS2010

    ————

    Фрагмент кода:

    ‘1. Создаю объект
    Dim TotalSumma As Long
    Dim fp As New MGT808TL.FiscalPrinter
    ‘2. Подключаюсь
    fp.Connect(«COM3», 9600)
    ‘3. Регистрируем продажу стоимость 1700,00 грн
    TotalSumma = fp.SaleArticle(«101», 1, 170000, FPTaxType.fpttD, «Товар № 1»)

    ———

    Значение переменной TotalSumma при просмотре = 170

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

    Спасибо.

    Reply
  54. mar_a

    (53) Sergey_S, Количество 0,001шт ? Это нормально ?

    Или я не вижу что-бы передавался разряд степени кол-ва. (См. документацию по команде SaleArticle )

    на скорую руку слепил скрипт на VBS для демонстрации .

    com_port = InputBox(«Введите Номер порта:»,,com)
    com_port =»COM»&com_port
    ‘ устанавливаю связь к объекту
    Set fp = CreateObject(«MGT808TL.FiscalPrinter»)
    fp.Connect com_port, 9600
    
    
    ‘Строка продажи товара
    code = 142
    ‘Кол-во 1 кг !
    count = 1000
    ‘Цена в копейках !!!
    price = 1733
    Name= «Товар Цена»
    ‘Налог А
    fpttA=&h80
    TotalSum = fp.SaleArticle ( code, count, price, fpttA, Name )
    
    MsgBox («TotalSum = «&CStr(TotalSum))
    
    fp.CommentCheck «»&code&» «&count&» «&price&» «&Name&» «&fpttA
    
    ‘Оплата подрасчет
    fp.PayCheck
    

    Показать

    Все работает отдает в моем случае 1733.

    С Вашими данными (кстати хоть Д налог активный? Невижу что там за параметр!)

    Reply
  55. Sergey_S

    (54) Вчера я заподозрил, что дело в количестве (у меня не весовой товар, а услуги) потому добавил параметр разрядности количества CountFormat=128 (0-знаков после запятой) и получил правильное значение:

    TotalSumma = fp.SaleArticle(101, 1, 170000, FPTaxType.fpttD, «Товар № 1», 128)

    Спасибо за ответ!

    Reply
  56. vahate

    очень надо сделать 1С Розница 2.2 (Россия) + IKC_C651T MZ11 (http://ics-market.com.ua/ru/oborudovanie/fiskalnoe-oborudovanie/fiskalnye-registratory/321-fiskalnie-registratori/1940-fiskalnyj-registrator-ikc-c651t#dopolnitelno). Это я к автору публикации, не нашёл имейл личных данных.

    Reply
  57. mar_a

    (56) vahate, ПЕРВОЕ — Вы темой ошиблись…

    Ну а ВТОРОЕ — там есть обработка у них на сайте. Правда не под Росссию , а

    ТРЕТЬЕ данные кассовые аппараты не под Россиию!!!

    И тот что на сайте тоже…

    И так у ВАС 3 -нет прощайте.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *