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

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

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

Сообщение Dima »

Если есть кто обработал данный драйвер на делфи помогите)))) Устал биться... Вот мой код

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

var
 fr:variant;
 v:variant;
  port              :longint;
  speed           :longint;
  password      :widestring;
  cashsection  :longint;
  printtax       :boolean;
  protocol       :longint;
devid:widestring;
begin
fr:=CreateOleObject('MercuryCom.FPDrv1C2');
v:=VarArrayCreate([0, 5], varvariant);
  port           :=2;
  speed         :=115200;
  password    :=StringToOleStr('0000');
  cashsection :=1;
  printtax      :=false;
  protocol     :=11;
v[0]:=port;
v[1]:=speed;
v[2]:=password;
v[3]:=cashsection;
v[4]:=printtax;
v[5]:=protocol;
result:=fr.Devicetest(v, devid);  //при выполнении вываливается ошибка "Несовпадение типов"
end;
Соответственно result не чего не присваивается, в devid пустота..... Для метода Fr.Open(v, devid) естественно тоже самое.
ПОМОГИТЕ кто чем сможет!!!!


Решил проблему ... В данном коде вместо

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

result:=fr.Devicetest(v, devid);  //при выполнении вываливается ошибка "Несовпадение типов"
нужно

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

result:=fr.Devicetest(Olevariant(v), devid);
Дело было не в бабине ... :)
Последний раз редактировалось Dima 27 сен 2012, 16:44, всего редактировалось 1 раз.

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

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

Сообщение alfa »

slan писал(а):Описание новых методов почитать в документации, она вместе с драйвером устанавливается. Мой антивирус Microsoft Security Essentials на установку не ругается
Есть замечание по методу GetShiftState
Он отслеживает два состояния - Открыта и Закрыта .
Собственно данная информация особого интереса не представляет , хотелось бы отследить состояние , когда смена открыта , но истекли 24 часа с начала ее открытия, что то вроде - Необходимо выполнить закрытие смены
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

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

Сообщение slan »

Пойдет если еще одной строкой верну время открытия смены? Просто не во всех версиях фискальников есть параметр "Состояние периода смены". А вот время открытия смены есть во всех
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

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

Сообщение alfa »

slan писал(а):Пойдет если еще одной строкой верну время открытия смены?
Можно вернуть продолжительность смены , как разность текущего времени по внутренним часам ФР и времени открытия смены , выраженную в секундах или минутах?
slan писал(а):Просто не во всех версиях фискальников есть параметр "Состояние периода смены". А вот время открытия смены есть во всех
В них не требуется закрывать смену по истечению 24 часов ?
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

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

Сообщение slan »

alfa писал(а):Можно вернуть продолжительность смены , как разность текущего времени по внутренним часам ФР и времени открытия смены , выраженную в секундах или минутах?
ok
alfa писал(а):В них не требуется закрывать смену по истечению 24 часов ?
Не знаю :) Почему параметра этого нету в некоторых фискальниках тоже не знаю, это нужно поинтересоваться у разработчкика фр
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

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

Сообщение slan »

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

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

Сообщение alfa »

slan писал(а):в метод ПолучитьСостояниеСмены добавил параметр Период, качайте версию 2.2.1
Спасибо за оперативность , теперь все ок
Хочу спросить о назначении параметра IsFiscalCheck метода OpenCheck .
Я сначала подумал , что с его помощью можно печатать нефискальные чеки , но в случае IsFiscalCheck=True ,команда закрытия чека завершилась ошибкой.
Аватара пользователя
Dima
Сообщения: 10
Зарегистрирован: 18 сен 2012, 15:54

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

Сообщение Dima »

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

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

Сообщение slan »

alfa писал(а):Хочу спросить о назначении параметра IsFiscalCheck метода OpenCheck .
Я сначала подумал , что с его помощью можно печатать нефискальные чеки , но в случае IsFiscalCheck=True ,команда закрытия чека завершилась ошибкой.
Все правильно, IsFiscalCheck отвечает за печать нефискального чека. После OpenCheck с IsFiscalCheck = VARIANT_FALSE, нужно вызывать метод печати нефискальной строки, затем закрывать чек. Открывать и закрывать чек не обязательно, нефискальные строки можно печатать и без вызова этих методов. Параметр IsFiscalCheck был добавлен в OpenCheck в соответствии с требованиями 1С и по сути, если он установлен в VARIANT_FALSE, то открытия чека не происходит. А какая ошибка выскочила?
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

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

Сообщение slan »

Dima писал(а):Хотелось бы также узнать номер ККМ.... Я в мануале не нашел....
Добавлю
Аватара пользователя
Dima
Сообщения: 10
Зарегистрирован: 18 сен 2012, 15:54

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

Сообщение Dima »

Также хотелось бы видеть... Такую полезную функцию... Как показать наличные в кассе....
Типа в таком виде GetItogCash(DeviceID, Cash) DviceID[in], Cash[out]
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

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

Сообщение slan »

Dima писал(а):Также хотелось бы видеть... Такую полезную функцию... Как показать наличные в кассе....
Типа в таком виде GetItogCash(DeviceID, Cash) DviceID[in], Cash[out]
Сумма наличных в кассе нужна, правильно? Будет такое.
Аватара пользователя
Dima
Сообщения: 10
Зарегистрирован: 18 сен 2012, 15:54

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

Сообщение Dima »

Затестил... Новые функции работают отлично :!:
Аватара пользователя
Dima
Сообщения: 10
Зарегистрирован: 18 сен 2012, 15:54

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

Сообщение Dima »

Еще раз доброго времени суток:
Мне интересен вот такой вопрос: Из данной функции видно:

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

ЗакрытьЧек (CloseCheck)
ИДУстройства
(DeviceID)
НаличнаяОплата
(Cash)
ОплатаКартой
(PayByCard)
ОплатаКредитом
(PayByCredit)
BSTR [IN]
Идентификатор
устройства
DOUBLE [IN]
Сумма
наличной
оплаты
DOUBLE [IN]
Сумма оплаты
картой
DOUBLE [IN]
Сумма оплаты
кредитом
VARIANT_
BOOL
Закрывает чек,
комбинированная
оплата «Картой» и
«Кредитом»
приведет к ошибке
что мне доступны только 3 вида оплат.... Получается что так как их в меркурии по моему 8 максимум... то остальные 5 мне не доступны.... а так как мы их используем.... - у нас через них реализована доп.пл3 - рассрочка и до.пл.2 - коммунальные платежи...
Вообщем данный вопрос считаю серьезным.... Который нужно решать)))
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

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

Сообщение slan »

Dima писал(а):Еще раз доброго времени суток:
Мне интересен вот такой вопрос: Из данной функции видно:

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

ЗакрытьЧек (CloseCheck)
ИДУстройства
(DeviceID)
НаличнаяОплата
(Cash)
ОплатаКартой
(PayByCard)
ОплатаКредитом
(PayByCredit)
BSTR [IN]
Идентификатор
устройства
DOUBLE [IN]
Сумма
наличной
оплаты
DOUBLE [IN]
Сумма оплаты
картой
DOUBLE [IN]
Сумма оплаты
кредитом
VARIANT_
BOOL
Закрывает чек,
комбинированная
оплата «Картой» и
«Кредитом»
приведет к ошибке
что мне доступны только 3 вида оплат.... Получается что так как их в меркурии по моему 8 максимум... то остальные 5 мне не доступны.... а так как мы их используем.... - у нас через них реализована доп.пл3 - рассрочка и до.пл.2 - коммунальные платежи...
Вообщем данный вопрос считаю серьезным.... Который нужно решать)))

На данный момент Вам доступны 5 видов оплаты: наличными, картой, в кредит, наличные + карта, наличные + кредит. Карта + Кредит недоступно.
Аватара пользователя
Dima
Сообщения: 10
Зарегистрирован: 18 сен 2012, 15:54

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

Сообщение Dima »

slan писал(а): На данный момент Вам доступны 5 видов оплаты: наличными, картой, в кредит, наличные + карта, наличные + кредит. Карта + Кредит недоступно.
А еще (по крайней мере для белоруской версии) должно быть прог.опл1, прог.опл2, прог.опл3. (прог.опл. - это программируемый вид оплат)....
Аватара пользователя
Dima
Сообщения: 10
Зарегистрирован: 18 сен 2012, 15:54

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

Сообщение Dima »

Также не плохо было увидеть метод.. Скидка на чек. к примеру в таком виде: GetSkidka(devicID, Summa) .... которая будет вызываться перед методом закрытия чека и соответственно в итоге чека будет писаться
ИТОГО: сумма всех позиций уже с примененной скидкой на позиции
СКИДКА: сумма скидки только на чек
ПРОДАЖА: сумма к оплате: разница первых двух строк
ОПЛАТА: внесенные деньги в зависимости (естественно от видов оплат)
СДАЧА: разница преведущих двух


ПЫ.сы. Сорри за грам. ошибки ((((
Аватара пользователя
alfa
Сообщения: 45
Зарегистрирован: 14 апр 2012, 18:46

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

Сообщение alfa »

Можно ли метод CloseCheck дополнить неким параметром IsFiscal , котрый бы возвращал статус сохранения чека в фискальной памяти ?
Вариант с достижением конца чековой ленты я сейчас учел , но может быть такая ситуация , что во время печати чека прервется связь с ФР.
GetLastError вернет соббщение -Нет ответа от устройства., а уточнить ситуацию через метод ПолучитьИнфоПоследнегоЧека уже не удастся (нет связи , и восстановится возможно только спустя часы или дни). В результате в ФР чек провелся а в учетной системе нет , и как следствие - неприятные разборки с руководством фирмы .
Аватара пользователя
slan
Сообщения: 1157
Зарегистрирован: 18 фев 2011, 11:36
Откуда: Курск

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

Сообщение slan »

в ближайшем будущем добавлю методы ЗакрытьЧекПрограммируемойОплатой(CloseCheckProgramPay) и добавлю метод для скидки на чек.
Ответить