Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Раздел для обсуждения программного обеспечения КБ по ККМ Меркурий.
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение alfa »

В 1 версии можно было выполнять печать больших текстов , используя в качестве символов перевода строки комбинацию \0D\0A.
Какие комбинации символов для перевода строки можно использовать во 2 версии?
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк в драйвере вер. 2

Сообщение slan »

alfa писал(а):В 1 версии можно было выполнять печать больших текстов , используя в качестве символов перевода строки комбинацию \0D\0A.
Если вы имеете ввиду версию 1.7.х или 1.9.х, то этот драйвер (вер. 2) не имеет никакого отношения к ним. Он разрабатывался не на их основе, а абсолютно с нуля.

Что Вы имеете ввиду под печатью больших текстов? Текст нефискальный? Тогда есть метод НапечататьНефискСтроку (PrintNotFiscalString), в котором можно использовать символ '\n' (код символа 0x0A) для перевода строки.
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Печать текстовых строк в драйвере вер. 2

Сообщение alfa »

slan писал(а):
alfa писал(а):В 1 версии можно было выполнять печать больших текстов , используя в качестве символов перевода строки комбинацию \0D\0A.
Если вы имеете ввиду версию 1.7.х или 1.9.х, то этот драйвер (вер. 2) не имеет никакого отношения к ним. Он разрабатывался не на их основе, а абсолютно с нуля.

Что Вы имеете ввиду под печатью больших текстов? Текст нефискальный? Тогда есть метод НапечататьНефискСтроку (PrintNotFiscalString), в котором можно использовать символ '\n' для перевода строки.
Прошу прощения , что залез не в ту ветку.

Я имею ввиду метод PrintNotFiscalString().
Проверил символ \n - к сожалению ,не работает.
Драйвер вер 2.02

И также интересует , можно ли как то длинные наименования товаров в методе PrintFiscalString переносить на другую строку ?
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение slan »

Вот только что проверил в билдере еще раз:

Variant MSK;
.....
.....
WideString wstr = L"Нефискальная\nстрока";
MSK.OleFunction("НапечататьНефискСтроку", devID.c_bstr(), wstr.c_bstr());

Фискальник напечатал 2 строки вот так:
Нефискальная
строка

Видимо что-то Вы делаете не так

С длинными наименованиями товаров, насколько я помню, всё обстоит так же
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение alfa »

slan писал(а):Вот только что проверил в билдере еще раз:
Видимо что-то Вы делаете не так
С длинными наименованиями товаров, насколько я помню, всё обстоит так же
Вроде бы все делаю как Вы подсказали.
вот пример того , что получаю на ленте
Изображение
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение alfa »

slan писал(а):С длинными наименованиями товаров, насколько я помню, всё обстоит так же
пример с наименованием товара
Изображение[/quote]
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение slan »

Вот что получилось у меня:
wstr2 = L"ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬ\nЮ \"СИГМА\"\nТОВАРНЫЙ ЧЕК 5\nИНН:2502121212\nКассир";
MSK.OleFunction("НапечататьНефискСтроку", devID.c_bstr(), wstr2.c_bstr());

Изображение
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение alfa »

slan писал(а):Вот что получилось у меня:
wstr2 = L"ОБЩЕСТВО С ОГРАНИЧЕННОЙ ОТВЕТСТВЕННОСТЬ\nЮ \"СИГМА\"\nТОВАРНЫЙ ЧЕК 5\nИНН:2502121212\nКассир";
MSK.OleFunction("НапечататьНефискСтроку", devID.c_bstr(), wstr2.c_bstr());
Может быть у Вас более новая версия драйвера ?
Открываю Fr Tools
Выполняю : Продажа->Добавить Товар : Часть 1\nЧасть2 -> Ok
На чеке вижу : Часть 1\nЧасть2 - переноса нет
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение slan »

Нет, драйвер у меня тот же 2.0.2.
А FR Tools работает так же как и у Вас, не переносит. Но FR Tools не работает через драйвер, он работает через ту же библиотеку что и драйвер.
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение alfa »

slan писал(а):Нет, драйвер у меня тот же 2.0.2.
А FR Tools работает так же как и у Вас, не переносит. Но FR Tools не работает через драйвер, он работает через ту же библиотеку что и драйвер.
В общем наконец разобрался . На самом деле командой перевода строки является символ с кодом 0x0A . \n это просто его символическое имя в Вашем языке программирования.

И еще пара вопросов
1.Можно ли как нибудь получить инфо о последнем номере чека не выполняя метод OpenCheck ?
2.Можно ли как то отключить вывод в чеке налоговых ставок , по которым сумма налога равна нулю ?
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение slan »

Я почему-то подумал что речь идет о языке с/с++ :) (не знаю почему, моя ошибка)

1. Нельзя, но сделать в принципе недолго такой метод
2. Нельзя, но если нужно могу посмотреть что можно сделать
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение alfa »

slan писал(а): 1. Нельзя, но сделать в принципе недолго такой метод
Транзакции по банк. картам желательно делать до печати чека (у клиента может не оказаться средств на счете), а банковское по иногда требует указывать номера чека. В принципе можно выкрутится через открытие чека с последующей отменой , но лучше бы иметь спец метод.
slan писал(а): 2. Нельзя, но если нужно могу посмотреть что можно сделать
Был бы Вам очень благодарен

И еще одна проблема с печатью нефискальной строки :
Если длина строки превышает 240 символов , то метод возврашает ошибку 131079 - ПРИНТЕР НЕ ГОТОВ.
При этом строка на ленте печатается корректно и полностью.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение slan »

1. Обновил драйвер до версии 2.1.0, добавил метод для получения информации о последнем оформленном финансовом документе.

2. В скором будущем сделаю

3. Да, действительно возникает ошибка, спасибо за найденный баг. Фискальник почему-то неправильно возвращает статус принтера при печати длинной нефискальной строки. Отписал разработчику прошивок, жду что он ответит, тогда баг и поправлю
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение slan »

Обновил драйвер.
Нулевые налоговые ставки убрал
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение slan »

alfa писал(а):И еще одна проблема с печатью нефискальной строки :
Если длина строки превышает 240 символов , то метод возврашает ошибку 131079 - ПРИНТЕР НЕ ГОТОВ.
При этом строка на ленте печатается корректно и полностью.
Пробуйте новую версию драйвера (2.1.9). Теперь метод должен отрабатывать корректно
Аватара пользователя
VJS
Сообщения: 4
Зарегистрирован: 22 июл 2013, 19:04

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение VJS »

Доброго времени суток!
Есть касса Меркурий-114 Ф. Есть Ваш драйвер Версия 2.10.0. Используется протокол 0.
Есть проблема - при открытом фискальном чеке не получается напечатать строку "VIP Клиент" через PrintNotFiscalString, вылетает ошибка "Ошибка сервера".

В чем может быть проблема?
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение slan »

Вам нужно что-то типа такого?
Изображение

Открываю чек, добавляю фискальную строку, нефискальную строку, закрываю чек. Все получилось без ошибок.
Возможно Вам стоит выбрать правильную версию протокола для Вашего ФР, т.к. протокол 0 это как бы общий протокол для всех поддерживаемых ккм, и с ним могут возникать различные нюансы
Аватара пользователя
VJS
Сообщения: 4
Зарегистрирован: 22 июл 2013, 19:04

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение VJS »

А какой протокол выбран Вами?
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение slan »

мной выбран протокол того аппарата, на котором проверял, а именно 12 Меркурий-119 ФKG. Протокол нужно выбирать не "как у меня", а в соответствии с версией используемого аппарата
Аватара пользователя
VJS
Сообщения: 4
Зарегистрирован: 22 июл 2013, 19:04

Re: Печать текстовых строк через драйвер "ФР Меркурий" ВЕРСИИ 2.x (Курск)

Сообщение VJS »

Не подскажите какой протокол нужен для Меркурий-114 Ф (Айзербаджан)?
Ответить