Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

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

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

Martin писал(а):Добрый день.
Начал работать с драйвером и столкнулся с тем, что метод DeviceTest есть только в реализации с SAFEARRAY.
Было бы здорово, иметь этот метод, принимающий отдельно взятый набор параметров для подключения, по аналогии с OpenWithParams.
Добавил DeviceTestWithParams в 2.10.1

Теги:
Аватара пользователя
Martin
Сообщения: 23
Зарегистрирован: 17 июл 2013, 13:36

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение Martin »

slan писал(а):
Martin писал(а):Добрый день.
Начал работать с драйвером и столкнулся с тем, что метод DeviceTest есть только в реализации с SAFEARRAY.
Было бы здорово, иметь этот метод, принимающий отдельно взятый набор параметров для подключения, по аналогии с OpenWithParams.
Добавил DeviceTestWithParams в 2.10.1
Спасибо, за оперативность.
Скачал, проверил – работает
Аватара пользователя
Martin
Сообщения: 23
Зарегистрирован: 17 июл 2013, 13:36

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение Martin »

Добрый день.
Помогите пожалуйста разобраться, с методом PrintFiscalString и CloseCheck.

Я работаю, примерно следующим образом. И получаю ошибку в методе CloseCheck. Это при условии что в dQuantity дробное число.

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

...
dAmount=35250.0;
dPrice=21146.0;
dQuantity=1.667;

if (!Gepard2.PrintFiscalString(sDeviceIdGepard_v2, " ", dQuantity, dPrice, dAmount, 1, 0))
{
      Gepard2.GetLastError(out strError);
      ShowError(strError);
}

doCardSum=0.0;
doCashSum=75250.0;
doCreditSum=0.0;

if (!Gepard2.CloseCheck(sDeviceIdGepard_v2, doCashSum, doCardSum, doCreditSum))
{
     Gepard2.GetLastError(out strError); // здесь ошибка "Неверный формат поля команды." 
     ShowError(strError);
}
Но, если dQuantity целое число (например dQuantity=2.0) всё работает нормально, чек печатается, ошибки не возникает.

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

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

Странно, у меня все получилось:
Изображение

Правда я тестил на аппарате, который у меня под рукой (Меркурий-119 Киргизия), возможно с Вашим ФР есть какие-нибудь нюансы, укажите используемый ФР, прошью свой и проверю
Аватара пользователя
Martin
Сообщения: 23
Зарегистрирован: 17 июл 2013, 13:36

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение Martin »

Я использую Гепард НТС-МФ (Гепард НТС-ФВY) (белорусская версия), версия ПО 2.0 BY B8.1
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

Да, та же самая проблема и на моём фискальнике, причём с белорусской версией 119 всё отрабатывает на ура, а вот с гепардом ошибка. Буду разбираться
p.s. не работает если точность выше одной десятой, т.е например количество = 1.5 работает, 1.51 не работает
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

Потестировал, и выяснил, что например:

Цена = 100, Количество = 1.560, СуммаСоСкидкой = 165, УплаченнаяСумма = 200 - чек отпечатывается корректно
Цена = 10, Количество = 1.560, СуммаСоСкидкой = 165, УплаченнаяСумма = 200 - ошибка
Цена = 10, Количество = 1.500, СуммаСоСкидкой = 165, УплаченнаяСумма = 200 - чек отпечатывается корректно
Цена = 1000, Количество = 1.566, СуммаСоСкидкой = 1650, УплаченнаяСумма = 2000 - чек отпечатывается корректно
Цена = 1003, Количество = 1.566, СуммаСоСкидкой = 1650, УплаченнаяСумма = 2000 - ошибка

Напрашивается вывод - что для корректной работы, цена умноженная на количество должны быть целым числом. Как только произведением является дробное число, возникает даннная ошибка. Отпишу разработчику прошивок

p.s. кстати и на м-119 белорусской то же самое, в прошлый раз мне видимо повезло не попасть на эту ошибку
Аватара пользователя
Martin
Сообщения: 23
Зарегистрирован: 17 июл 2013, 13:36

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение Martin »

slan писал(а):Потестировал, и выяснил, что например:

Цена = 100, Количество = 1.560, СуммаСоСкидкой = 165, УплаченнаяСумма = 200 - чек отпечатывается корректно
Цена = 10, Количество = 1.560, СуммаСоСкидкой = 165, УплаченнаяСумма = 200 - ошибка
Цена = 10, Количество = 1.500, СуммаСоСкидкой = 165, УплаченнаяСумма = 200 - чек отпечатывается корректно
Цена = 1000, Количество = 1.566, СуммаСоСкидкой = 1650, УплаченнаяСумма = 2000 - чек отпечатывается корректно
Цена = 1003, Количество = 1.566, СуммаСоСкидкой = 1650, УплаченнаяСумма = 2000 - ошибка

Напрашивается вывод - что для корректной работы, цена умноженная на количество должны быть целым числом. Как только произведением является дробное число, возникает даннная ошибка. Отпишу разработчику прошивок

p.s. кстати и на м-119 белорусской то же самое, в прошлый раз мне видимо повезло не попасть на эту ошибку
Тестируя в различных комбинациях, я пришел к тому же выводу:

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

цена умноженная на количество должны быть целым числом. Как только [b]произведением[/b] является дробное число, возникает данная ошибка
Пожалуйста, как только появится новая информация - сообщите. По Вашему опыту, как скоро можно ждать новую прошивку ? (и видимо, исправление в драйвере ?)
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

Выяснил, что если установить галочку в FR Tools -> Программирование -> Программирование параметров -> Параметры 2 -> Вывод сумм с десятичной точкой, то фискальник все вышеописанные ситуации отрабатывает корректно, без ошибок. А вот если эта параметр не установлен (на обоих аппаратах после прошивки у меня так и было), то как раз и возникает ситуация с ошибкой.
Не знаю, корректна ли ситуация, при которой если парамемтр выключен, и цена без копеек, но сумма получается с копейками, то возникает ошибка. Разработчик по этому поводу ничего не говорит.
Так что установите этот параметр, драйвер и прошивку фр менять не нужно
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

Пообщавшись с разработчиком, удалось прояснить картину:
если параметр "Вывод сумм с десятичной точкой" не установлен, то параметр Цена при печати фискальной строки и Сумма при закрытии чека должны быть без копеек.
Учтите, что параметр Сумма при печати фискальной строки (Сумма позиции со всеми скидками) должен быть как раз таки с копейками, т.е например:
Количество 1.15 Цена 10 СуммаСоСкидками = 11.5 (если нет скидок/наценок)


Тогда всё отрабатывает корректно и без ошибок. Вот такой нюанс
Аватара пользователя
Martin
Сообщения: 23
Зарегистрирован: 17 июл 2013, 13:36

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение Martin »

Добрый день.
В реквизитах чека, печатается номер кассир (строка вида КАССИР 00). Можно ли рядом отобразить "имя" кассира.
Я понимаю, что это можно, сделать это не фискальной строкой, но может есть, какой-либо встроенный механизм ?
Например, что-то вроде: КАССИР 01 Иванова А. А.
ФР - Меркурий MS-K, вернее его белорусская версия Гепард.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

Имя будет отображаться, если перед печатью фискального чека (ну или например после подключения) зарегистрировать кассира. Для белорусской версии кассир (номер, имя, пароль) предварительно должен быть запрограммирован в память фр. Если кассира не регистрировать, то драйвер автоматически зарегистрирует кассира с пустым именем
Аватара пользователя
grach
Сообщения: 5
Зарегистрирован: 21 июн 2013, 10:27

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение grach »

И снова здгавствуйте! ;) Меркурий Гепард 114.1Ф молдавский.
1. Обнаружил, что функция ПолучитьИнфоПоследнегоЧека не возвращает значения НомерЧека, вернее возвращает (-1) после любой операции. В программе WinExpert все значения выдает, независимо от того, какой последний документ был создан.
2. В драйвере реализовано получение многих счетчиков, но не всех тех, что есть в WinExpert.
3. Можно ли реализовать управление макетом документов. То есть порядком и форматом вывода реквизитов документа. А то X-Отчет и Z-отчет текстовое клише равняют по центру, заводские и регистрационные данные слева и в отдельных строчках, время и номер документа в начале печати (сверху отчета). В то же время на чеках клише прижато слева, заводские и регистрационные данные в одну строчку, время и номер документа в конце документа.
4. Печать графических изображение в чеке, вроде штрихкода. Если можно, конечно.
С уважением, Радослав.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

grach писал(а):И снова здгавствуйте! ;) Меркурий Гепард 114.1Ф молдавский.
1. Обнаружил, что функция ПолучитьИнфоПоследнегоЧека не возвращает значения НомерЧека, вернее возвращает (-1) после любой операции. В программе WinExpert все значения выдает, независимо от того, какой последний документ был создан.
2. В драйвере реализовано получение многих счетчиков, но не всех тех, что есть в WinExpert.
3. Можно ли реализовать управление макетом документов. То есть порядком и форматом вывода реквизитов документа. А то X-Отчет и Z-отчет текстовое клише равняют по центру, заводские и регистрационные данные слева и в отдельных строчках, время и номер документа в начале печати (сверху отчета). В то же время на чеках клише прижато слева, заводские и регистрационные данные в одну строчку, время и номер документа в конце документа.
4. Печать графических изображение в чеке, вроде штрихкода. Если можно, конечно.
С уважением, Радослав.
Добрый день.
1. Разберусь как выйду из отпуска (ближе к сентябрю)
2. При разработке драйвера не учитывался функционал программы WinExpert, такой задачи не стояло. Драйвер разрабатывался согласно требованиям фирмы 1с к драйверу фр. Остальной функционал добавлялся по мере необходимости.
3. Управление макетом фискального документа потребует значительного времени для разработки. Я такие вопросы не решаю, это Вам к моему начальству. Управление (в том числе и центрирование) текстового клишедля фискального чека можно осуществить из утилиты FR Tools
4. Графическое клише можно запрограммировать в фр из FR Tools, но печататься оно будет одинаковое для всех чеков
Аватара пользователя
grach
Сообщения: 5
Зарегистрирован: 21 июн 2013, 10:27

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение grach »

Я дико извиняюсь, ПолучитьИнфоПоследнегоЧека работает, так что вопрос снимается.
С уважением, Радослав.
Аватара пользователя
Martin
Сообщения: 23
Зарегистрирован: 17 июл 2013, 13:36

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение Martin »

Подскажите, как работает метод ОтменитьЧек(CancelCheck):
1) отменяет последний закрытый чек ?
2) отменяет текущий чек, если он ещё не закрыт ?
Спасибо.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

Martin писал(а):Подскажите, как работает метод ОтменитьЧек(CancelCheck):
1) отменяет последний закрытый чек ?
2) отменяет текущий чек, если он ещё не закрыт ?
Спасибо.
скорее всего второе, т.к. по закрытому чеку разве что возврат можно сделать. Аппарата чтоб проверить под рукой нет, в отпуске нахожусь :)
p.s. А в описании этого метода в документации разве не написана эта информация?
Аватара пользователя
Martin
Сообщения: 23
Зарегистрирован: 17 июл 2013, 13:36

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение Martin »

slan писал(а):
Martin писал(а):Подскажите, как работает метод ОтменитьЧек(CancelCheck):
1) отменяет последний закрытый чек ?
2) отменяет текущий чек, если он ещё не закрыт ?
Спасибо.
скорее всего второе, т.к. по закрытому чеку разве что возврат можно сделать. Аппарата чтоб проверить под рукой нет, в отпуске нахожусь :)
p.s. А в описании этого метода в документации разве не написана эта информация?
Спасибо, разобрался
Аватара пользователя
SAD
Сообщения: 1
Зарегистрирован: 13 авг 2013, 13:50

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение SAD »

Добрый день. Прошу вас добавить:
1. Для метода НапечататьЧекВнесенияВыемки out парамеры НомерЧека,НомерСмены по аналогии с методом ОткрытьЧек
2. В метод ПолучитьСостояниеСмены желательно добавить НомерСмены
как вариант минимум хотя бы 2 пункт, т.к. единственным способом получения текущего номера смены будет открытие и отмена чека.
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]

Сообщение slan »

SAD писал(а):Добрый день. Прошу вас добавить:
1. Для метода НапечататьЧекВнесенияВыемки out парамеры НомерЧека,НомерСмены по аналогии с методом ОткрытьЧек
2. В метод ПолучитьСостояниеСмены желательно добавить НомерСмены
как вариант минимум хотя бы 2 пункт, т.к. единственным способом получения текущего номера смены будет открытие и отмена чека.
Добрый день.
1. Этого делать не буду, т.к. в требованиях 1с к для этого метода таких параметров не было, и было сделано так как сейчас. Изменять количество / тип параметров существующего метода нельзя, т.к. тогда всем пользователям драйвера придется переписывать свои программы. Возможно лишь добавлять новые методы, может быть в этом и есть резон.
2. Изменять метод не получится (см. п.1)
p.s. Выйду 26-го из отпуска, посмотрю что можно сделать
Ответить