При разработке этого метода прошу учесть что бы была возможность смешанного платежа с наличными..... т.е. наличные + один из программируемых видов оплат..... Ну и соответственно также только программируемый вид оплат.... (хотя это решается при наличных =0 )...slan писал(а):в ближайшем будущем добавлю методы ЗакрытьЧекПрограммируемойОплатой(CloseCheckProgramPay)
Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Теги:
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Не получится учесть, т.к. фискальник не позволяет. Выдержка из руководства по программированию Гепарда:Dima писал(а):При разработке этого метода прошу учесть что бы была возможность смешанного платежа с наличными..... т.е. наличные + один из программируемых видов оплат..... Ну и соответственно также только программируемый вид оплат.... (хотя это решается при наличных =0 )...slan писал(а):в ближайшем будущем добавлю методы ЗакрытьЧекПрограммируемойОплатой(CloseCheckProgramPay)
Код: Выделить всё
Для реквизита "Уплаченная сумма":
Вид оплаты
0000B - Наличные
0001B - В кредит
0010B - Платёжная карта
0011B - Комбинированная оплата (наличные и в кредит)
0100B - Комбинированная оплата (наличные и платёжной картой)
0101 - Программируемый вид оплаты 1.
0110 – Программируемый вид оплаты 2.
0111 – Программируемый вид оплаты 3.
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
alfa
Можно ли метод CloseCheck дополнить неким параметром IsFiscal
это Вы избавитесь только от части проблем, дело в том, что CloseCheck функция не атомарная и вполне может может возникнуть такая ситуация при которой во время отработки этой функции будет разрыв и соответственно в ФП запишется чек, а результат в ответ уже не получиться передать и опять получится неопределенность, я эту проблему решал в АРМ кассира и мне приходилось самому это разруливать, причем надо учитывать, что кроме разрыва бывают и отключения питания и тут уже Ваша программа может не успеть или дождаться ответа или не успеть записать ответ о закрытии. У меня перед закрытием чека запоминаются и последний не закрытый и последний в ФР и уже потом происходят некоторые последовательные манипуляции с целью обеспечения целостности для непредвиденных случаев и есть механизмы восстановления при старте программы.
Да и еще скорей всего у Вас возникнет подобная проблема и с закрытием смены, там тоже сохраняю все нужные номера.
Прорабатывали с slan возможность защиты в драйвере, но нашли безопасное решение не атомарных операций только на прикладном уровне.
Можно ли метод CloseCheck дополнить неким параметром IsFiscal
это Вы избавитесь только от части проблем, дело в том, что CloseCheck функция не атомарная и вполне может может возникнуть такая ситуация при которой во время отработки этой функции будет разрыв и соответственно в ФП запишется чек, а результат в ответ уже не получиться передать и опять получится неопределенность, я эту проблему решал в АРМ кассира и мне приходилось самому это разруливать, причем надо учитывать, что кроме разрыва бывают и отключения питания и тут уже Ваша программа может не успеть или дождаться ответа или не успеть записать ответ о закрытии. У меня перед закрытием чека запоминаются и последний не закрытый и последний в ФР и уже потом происходят некоторые последовательные манипуляции с целью обеспечения целостности для непредвиденных случаев и есть механизмы восстановления при старте программы.
Да и еще скорей всего у Вас возникнет подобная проблема и с закрытием смены, там тоже сохраняю все нужные номера.
Прорабатывали с slan возможность защиты в драйвере, но нашли безопасное решение не атомарных операций только на прикладном уровне.
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Все таки для белорусской версии позволяет.... и я надеюсь у Вас все получится....Не получится учесть, т.к. фискальник не позволяет.
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Позволяет, да. Значит сделаю
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Спасибо за развернутый ответShtirlic писал(а):alfa
Можно ли метод CloseCheck дополнить неким параметром IsFiscal
это Вы избавитесь только от части проблем, дело в том, что CloseCheck функция не атомарная и вполне может может возникнуть такая ситуация при которой во время отработки этой функции будет разрыв и соответственно в ФП запишется чек, а результат в ответ уже не получиться передать и опять получится неопределенность, я эту проблему решал в АРМ кассира и мне приходилось самому это разруливать, причем надо учитывать, что кроме разрыва бывают и отключения питания и тут уже Ваша программа может не успеть или дождаться ответа или не успеть записать ответ о закрытии. У меня перед закрытием чека запоминаются и последний не закрытый и последний в ФР и уже потом происходят некоторые последовательные манипуляции с целью обеспечения целостности для непредвиденных случаев и есть механизмы восстановления при старте программы.
Да и еще скорей всего у Вас возникнет подобная проблема и с закрытием смены, там тоже сохраняю все нужные номера.
Прорабатывали с slan возможность защиты в драйвере, но нашли безопасное решение не атомарных операций только на прикладном уровне.
Понятно что на 100 процентов на уровне драйвера проблему не решить , но если что то можно сделать хотя бы частично , то это нужно делать.
Мы также подключаем Фр других производителей -штрихи , феликсы - там разработчики как то смогли решить эту проблему или снизить ее вероятность, а вот с меркуриями у нас постоянно вылазят косяки с проведением чека в ФП .
Я не знаю внутренней механики рабрты драйвера с ФР при выполнений команды ЗакрытьЧек, но как объяснил slan , сначала идеть запись в ФП , а потом собственно печать текста на ленте. Вопрос такой - извещает ли ФР драйвер о завершении проведения чека в ФП , перед началом собственно печати текста? И если извещает , то можно ли сохранить эту информацию где нибудь во внутренней переменной драйвера, и потом вернуть через какой нибудь метод ? Тогда если с ФР возникнут проблемы именно во время печати (отключение, обрыв связи , кеабеля), то это позволит обработать данную ситуацию корректно.
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
alfa, фискальник сам по себе ни о чем не оповещает, пока не дашь ему какую-нибудь команду, а он эту команду выполняет и выдает ответ (то есть даст ответ после полной успешной печати чека - сначала сохранит в фискалку, потом напечатает, потом выдаст ответ) Соответственно, если во время выполнения команды питание пропадет, то ответа от него никакого не будет.
Эту ситуацию должно обрабатывать ПО верхнего уровня, а не драйвер. Shtirlic Вам указал направление, он эту проблему полностью решил, запрашивая номер последнего зарегистрированного документа перед закрытием чека и после
Эту ситуацию должно обрабатывать ПО верхнего уровня, а не драйвер. Shtirlic Вам указал направление, он эту проблему полностью решил, запрашивая номер последнего зарегистрированного документа перед закрытием чека и после
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Спасибо за развернутый ответslan писал(а):alfa, фискальник сам по себе ни о чем не оповещает, пока не дашь ему какую-нибудь команду, а он эту команду выполняет и выдает ответ (то есть даст ответ после полной успешной печати чека - сначала сохранит в фискалку, потом напечатает, потом выдаст ответ) Соответственно, если во время выполнения команды питание пропадет, то ответа от него никакого не будет.
Эту ситуацию должно обрабатывать ПО верхнего уровня, а не драйвер.
Раз нельзя , значит нельзя - буду решать эту проблему на уровне прикладного ПО
У меня есть конфигурации , в которых несколько касс работают с одним ФР , для которых данный метод не совсем коректен.slan писал(а): Shtirlic Вам указал направление, он эту проблему полностью решил, запрашивая номер последнего зарегистрированного документа перед закрытием чека и после
Надеюсь все же вы подумаете в перспективе ,как можно снизить риск возникновения подобных ситуаций .
Например можно изменить логику выполнения команды закрытия чека - запись в ФП проводить не до , а после печати текста чека (или основной текст чека до записи в ФП , а последнюю строку после ) Или ввести некую настройку , которая будет регламентировать эту логику (как сделано в драйвере Штрих-М)
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Мы бы подумали Однако, ПО под ФР (прошивку) пишем не мы (не Курское КБ) и как-то повлиять на этот процесс не можемalfa писал(а): Надеюсь все же вы подумаете в перспективе ,как можно снизить риск возникновения подобных ситуаций .
Например можно изменить логику выполнения команды закрытия чека - запись в ФП проводить не до , а после печати текста чека (или основной текст чека до записи в ФП , а последнюю строку после ) Или ввести некую настройку , которая будет регламентировать эту логику (как сделано в драйвере Штрих-М)
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Где я могу пообщаться с разработчиками прошивок ? (форум или емайл)slan писал(а):
Мы бы подумали Однако, ПО под ФР (прошивку) пишем не мы (не Курское КБ) и как-то повлиять на этот процесс не можем
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Можно добавить метод , который вернет версию прошивки ФР ?
Можно в документацию драйвера добавить дерево навигатор по методам , как на приведенном ниже примере ?
Можно в документацию драйвера добавить дерево навигатор по методам , как на приведенном ниже примере ?
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Добавлюalfa писал(а):Можно добавить метод , который вернет версию прошивки ФР ?
Наверное как-то можно. Как появится свободное время попробую.alfa писал(а): Можно в документацию драйвера добавить дерево навигатор по методам , как на приведенном ниже примере ?
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Здравствуйте! Помогите подключить Меркурий-MS к Розница 2.0.4.! В Розница 2.0.3. все работало, после обновления не видит драйвер
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Приветствую всех в этой ветке.
Интересует реализация кода для 1с7, для Беларуси.
Всё, что у меня получилось выяснить: 1с-ка седьмая не поддерживает типы данных, которые используются в dll-ке.
Пробовал подключить в VB - всё гуд проходит, потому, что там явно типы данных объявляются для переменных.
Под 1c7 попробовал сделать с помощью VBScript. Не получается.
Код на 1с7:
Используемая dll.
Огромная просьба связаться тут или на kravcov@iskamed.by.
Время решения проблемы ограничено днем или двумя максимум.
Интересует реализация кода для 1с7, для Беларуси.
Всё, что у меня получилось выяснить: 1с-ка седьмая не поддерживает типы данных, которые используются в dll-ке.
Пробовал подключить в VB - всё гуд проходит, потому, что там явно типы данных объявляются для переменных.
Под 1c7 попробовал сделать с помощью VBScript. Не получается.
Код на 1с7:
Вот тут всё отрабатывает:Попытка
ЧекПринтер = СоздатьОбъект("MercuryCom.FPDrv1C2"); // Создание объекта внешней компоненты
Исключение
Сообщить("Объект MercuryCom.FPDrv1C2 не создан!!!");
Сообщить("ККМ не подключен!");
ЧекПринтерЗагружен=0;
Возврат;
КонецПопытки;
Если ЧекПринтерЗагружен=1 тогда
Если ЗагрузитьВнешнююКомпоненту("OLEExSup.dll") = 0 Тогда
Предупреждение("Ошибка при подключении OLEExSup.dll !!");
ЧекПринтерЗагружен = 0;
Иначе
Сообщить(ЧекПринтер);
/////////////////////////////////////////////////////////////////////////////////////
//Создание скрипта и получение объекта
ScrCtrl = СоздатьОбъект("ScriptControl");
ScrCtrl.Language="VBScript";
ScrCtrl.AddCode("
|Function Method1()
|ReDim pArray(5)
|pArray(0) = CLng(1)
|pArray(1) = CLng(19200)
|pArray(2) = CStr(""0000"")
|pArray(3) = CLng(1)
|pArray(4) = CBool(3=2)
|pArray(5) = CLng(11)
|Method1 = pArray
|End Function
|
|Function Method2(Arr)
| For Each Item In Arr
| MsgBox Item
| Next
|End Function
|");
CodeObject = ScrCtrl.Modules("Global").CodeObject;
//Вызов метода объекта
OLEExSup = СоздатьОбъект("OLEExSup");
Массив = OLEExSup.InvokeOLEMethod(CodeObject, "Method1");
//Для Инд = Массив.GetLBound() По Массив.GetUBound() Цикл
//читаем/выводим массив
OLEExSup.InvokeOLEMethod(CodeObject, "Method2", Массив);
/////////////////////////////////////////////////////////////////////////////////////
Дев = "";
ЧекПринтер.Open(Массив,Дев);
КонецЕсли;
Но, на строке://читаем/выводим массив
OLEExSup.InvokeOLEMethod(CodeObject, "Method2", Массив);
Получаем:ЧекПринтер.Open(Массив,Дев);
Версия ПО - 2.0 BY В8.1ЧекПринтер.Open(Массив,Дев);
{Глобальный модуль(710)}: Плохой тип переменной
Используемая dll.
Огромная просьба связаться тут или на kravcov@iskamed.by.
Время решения проблемы ограничено днем или двумя максимум.
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Данный драйвер разрабатывался в соответствии с требованиями 1с 8.2, т.к. задача стояла разработать драйвер именно под неё. А дополнительные методы уже добавлялись в связи с пожеланиями пользователей драйвера из своих программ. Переделываться типы параметров специально для 7.7 не будут
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Скажите пожалуйста , как подключить ФР Меркурий МС-к к рознице 2.0.5.7? что для этого необходимо?
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Вы ошиблись темой. Здесь обсуждается сам драйвер, его возможности, ошибкиUmk писал(а):Скажите пожалуйста , как подключить ФР Меркурий МС-к к рознице 2.0.5.7? что для этого необходимо?
p.s. ранее Вы писали в правильную тему, если ответ и будет, то скорее там чем здесь
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Вероятно не в ту тему пишу. Если ошибся - поправьте, pls.
Для версии 1.0.X Курского драйвера есть обработки обслуживания для 1С (версии обработок - 2.16 и 2.27). Будут ли эти обработки работать с версией 2.X драйвера? Если нет, то существуют ли обработки для работы с версией 2.X?
Для версии 1.0.X Курского драйвера есть обработки обслуживания для 1С (версии обработок - 2.16 и 2.27). Будут ли эти обработки работать с версией 2.X драйвера? Если нет, то существуют ли обработки для работы с версией 2.X?
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Нет, обработки от 1.0.х с драйвером 2.х работать не будут. По поводу обработок для 2.х точно не знаю, вроде как их собирались писать, но пока нетуthalt писал(а):Вероятно не в ту тему пишу. Если ошибся - поправьте, pls.
Для версии 1.0.X Курского драйвера есть обработки обслуживания для 1С (версии обработок - 2.16 и 2.27). Будут ли эти обработки работать с версией 2.X драйвера? Если нет, то существуют ли обработки для работы с версией 2.X?
Re: Драйвер (ВЕРСИИ 2.X Курск) для ФР/ЧПМ Меркурий MS-K, Меркурий-119, Меркурий-114.1 [Обсуждение]
Здравствуйте!
Функция GetCashAmount позволяет только получить сумму наличных в ФР, каким образом можно получить сумму оплат по карте или сумму по кредиту?
Функция GetCashAmount позволяет только получить сумму наличных в ФР, каким образом можно получить сумму оплат по карте или сумму по кредиту?