Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
Кто нибудь имеет опыт подключения или примеры на Штрих-М-01Ф
Надо подключить это чудо к программе на VFP. ------------------ sejko Исправлено 2 раз(а). Последнее : Sejko, 08.02.17 21:43 ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
Мне интересует , неужели никто не имеет опыт подключения кассы от Штрих-М
Можно помочь , можно и не бесплатно ! ------------------ sejko ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
gorev Сообщений: 105 Откуда: Чита Дата регистрации: 29.11.2009 |
Ищем "драйвер штрих м 4.9 руководство программиста"
www.shtrih-m.ru ecr = CREATEOBJECT("Addin.DrvFR") ecr.portnumber = 1 * проверить состояние, открыть смену, открыть чек и ... * закрытие чека наличными без ввода полученной от клиента суммы ecr.summ1 = 1000.00 ecr.closecheck и т.д. ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
А вы сами работали с этим регистратором !!
Я Его вижу вообще первый раз. А можно какой нибудь пример поподробнее, образец продажи с чеком и скидкой, возврат товара и X-отчет , Z отчет мой ящик sejkoed@gmail.com ------------------ sejko Исправлено 3 раз(а). Последнее : Sejko, 11.02.17 09:15 ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
gorev Сообщений: 105 Откуда: Чита Дата регистрации: 29.11.2009 |
С этим нет, но подозреваю, что буква Ф в названии, значит тоже, что и у Атола - онлайн-кассы, но как и ожидалось у Атола - просто блок ЭКЛЗ заменили на блок работы с центром данных и всё. На практике, новый онлайн-касса заработала со старой программой без переделок - там только доработка нужна, чтобы передавать информацию о телефоне и/или мыле покупателя в ККМ.
![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
gorev Сообщений: 105 Откуда: Чита Дата регистрации: 29.11.2009 |
Пример - ну вот Атоловский есть, у Штриха по сути тоже самое, просто методы чуть по другому называются. Да нюансы есть, типа - если программируете работу с несколькими аппаратами сразу - то для переключения в Атол достаточно порт переключить, а у Штриха надо ещё и логическое устройство - по крайней мере так было у меня, конец/обрыв бумаги они принципиально по разному отрабатывают, Атол аннулирует чек, а Штрих продолжает.
Тут надо сам аппарат иметь, чтобы сразу проверять на практике, тогда окажется, что там всё просто. [attachment 27021 DTO8_test.js.zip] Исправлено 3 раз(а). Последнее : gorev, 11.02.17 19:18 ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
это синтаксис я так понимаию не Foxpro a java
а на фоксе есть или приблизительно разницы кроме методов нет ------------------ sejko ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
А можно попросить пример на Fox, чтобы передавать информацию о телефоне и/или мыле покупателя в ККМ
------------------ sejko ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
gorev Сообщений: 105 Откуда: Чита Дата регистрации: 29.11.2009 |
Из примера Атол:
// Запись контакта покупателя для отправки электронного чека driver.AttrNumber = 1008; driver.AttrValue = "+79091235566"; driver.WriteAttribute(); На фоксе: * Запись контакта покупателя для отправки электронного чека driver.AttrNumber = 1008 driver.AttrValue = "+79091235566" driver.WriteAttribute() Разница в синтаксисе комментария и ; убрать - можно просто копировать в фокс с этой коррекцией и всё работать будет. Название методов диктуется драйвером Атол, я думаю они одинаково используются в любых языках, разница в синтаксисе незначительная и очевидная. Исправлено 1 раз(а). Последнее : gorev, 12.02.17 14:48 ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
gorev Сообщений: 105 Откуда: Чита Дата регистрации: 29.11.2009 |
|
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
а как объснить пример закрытие чек
выполняться на определённых моделях ККМ, что указано в описании каждого метода. Пример: Приведём пример распространённой ситуации формирования чека продажи и закрытия чека. Произведём продажу 1000 шт. спичечных коробков по цене 1 руб. 56 коп. за штуку в секцию 1 (см. метод Sale на стр. 99). Необходимо заполнить свойство Password (пароль оператора, выполняющего команду). Присвоим, например, этому свойству значение «30» (по умолчанию пароль системного администратора). Свойству Quantity (количество товара) присвоим значение «1000» (1000 коробков). Свойству Price присвоим значение «1,56», т.е. цена одной единицы товара – 1 руб. 56 коп. Значение свойства Department установим равным «1» (1-ая секция). Налоги: Tax1=1 (1-ая налоговая группа), Tax2=2 (2- ая налоговая группа), Tax3=0 (нет налоговой группы) и Tax4=0 (нет налоговой группы). Свойству StringForPrinting присваиваем строковое значение «Спичечный коробок». Если значение свойства ResultCode по выполнению метода равно «0», операция продажи была выполнена успешно, иначе смотри описание ошибки ResultCodeDescription. Метод модифицирует свойство OperatorNumber, в котором возвращается порядковый номер оператора, вызвавшего метод. Для закрытия чека (см. метод CloseCheck на стр. 91 )также заполним необходимые свойства: Password=30 (пароль системного администратора, должен совпадать с паролем оператора, открывшего чек операцией продажи); Summ1=1500 (сумма наличных 1500 руб.); Summ2=100 (сумма типом оплаты 2 – 100 руб.); Summ3=200 (суммы типом оплаты 3 – 200 руб); Summ4=300 (сумма типом оплаты 4 – 300 руб); DiscountOnCheck=5 (скидка на чек – 5 %); Tax1=1 (1-ая налоговая группа), Tax2=2 (2-ая налоговая группа), Tax3=0 (нет налоговой группы) и Tax4=0 (нет налоговой группы); StringForPrinting=’=========================’ (в чеке будет двойная пунктирная линия). Если значение свойства ResultCode по выполнению метода равно «0», операция закрытия чека была выполнена успешно, иначе смотри описание ошибки ResultCodeDescription. Метод модифицирует свойства OperatorNumber, в котором возвращается порядковый номер оператора, вызвавшего метод, и Change, в котором хранится сумма сдачи. Листинг вызова этих двух методов приведён ниже: Создание объекта драйвера v:=CreateOleObject(‘AddIn.DrvFR’); Продажа v.Password:=30; v.Quantity:=1000; v.Price:=1.56; v.Department:=1; Драйвер ККТ версия 4.12 –51– v.Tax1:=1; v.Tax2:=2; v.Tax3:=0; v.Tax4:=0; v.StringForPrinting:= 'Спичечный коробок'; v.Sale; Закрытие чека v.Password:=30; v.Summ1:=1500; v.Summ2:=100; v.Summ3:=200; v.Summ4:=300; v.DiscountOnCheck:=5; v.Tax1:=1; v.Tax2:=2; v.Tax3:=0; v.Tax4:=0; v.StringForPrinting:= '===================================='; v.CloseCheck; ------------------ sejko Исправлено 1 раз(а). Последнее : Sejko, 14.02.17 00:46 ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
arshin Сообщений: 44 Дата регистрации: 15.02.2011 |
Скажите пожалуйста на чем отлаживать код? Это должен какой то специальный фискальник подключен или программа эмулятор фискальника? Ведь мне нужно распечатать чек и посмотреть как и что на нем напечаталось.
![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
matod Сообщений: 3062 Откуда: Иркутск Дата регистрации: 31.10.2001 |
Если у используемого объекта есть режим эмуляции или такой эмулятор предусмотрели разработчики, то, конечно, можно его использовать. Но что-то я сомневаюсь, чтобы о нас так позаботились
![]() Конкретно с этим устройством не работал, делал программу под Viki Print. Для отладки брал само устройство с отключенным фискальным режимом на несколько дней. Если правильно организовать программу, сделать библиотеку-обертку для взаимодействия с устройством, то вживую мучать его долго не надо - отладить взаимодействие, потом поставить вместо него класс-заглушку для создания самой программы. ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
arshin Сообщений: 44 Дата регистрации: 15.02.2011 |
А что за номер AttrNumber и какой нужен для отправки чека клиенту, Исправлено 1 раз(а). Последнее : arshin, 27.02.17 13:22 ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
Спасибо,
т.е. при подплючениие Оператору , ККМ сам пошлет по этим командам Чек , или надо както его выбрать . Есть еще вопрос , а в чеке при старте следующего дня показывает , что есть сумма входящая , так должно быть или какие то команды для Инкассации ------------------ sejko ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
Вот что я нашел в просторах интернета
forum.shtrih-m.ru Код: private void button2_Click_1(object sender, EventArgs e) { //Открываем чек продажи Driver.CheckType = 0; Driver.OpenCheck(); //Отправка данных о покупателе Driver.CustomerEmail = textBox1.Text; //В качестве параметра можно передавать или телефон (+7хххххххххх) или e-mail: test@test.com Driver.FNSendCustomerEmail(); //Формируем продажу Driver.Quantity = Convert.ToDouble(textBox3.Text); Driver.Price = Convert.ToInt32(textBox2.Text); Driver.Department = 1; Driver.Tax1 = 0; Driver.Tax2 = 0; Driver.Tax3 = 0; Driver.Tax4 = 0; Driver.StringForPrinting = "Булка с маком"; Driver.Sale(); Driver.CheckSubTotal(); //Закрываем чек Driver.Summ1 = Driver.Summ1; Driver.Summ2 = 0; Driver.Summ3 = 0; Driver.Summ4 = 0; Driver.Tax1 = 0; Driver.Tax2 = 0; Driver.Tax3 = 0; Driver.Tax4 = 0; Driver.StringForPrinting = ""; Driver.CloseCheck(); } Если есть необходимость в печати развернутого наименования товарной позиции (например с указанием артикула, производителя и т.д.), длина которой (в символах) будет больше 64, то можно использовать новый алгоритм формирования чека: Код: private void button3_Click(object sender, EventArgs e) { //Открываем чек продажи Driver.CheckType = 0; Driver.OpenCheck(); //Отправка данных о покупателе Driver.CustomerEmail = textBox1.Text; //В качестве параметра можно передавать или телефон (+7хххххххххх) или e-mail: test@test.com Driver.FNSendCustomerEmail(); Driver.StringForPrinting = "Печать полного наименования товара"; //Произвольная строка, в которой будет печататься полное наименование товара Driver.PrintString(); //Регистрируем товарную позицию с сокращенным наименованием товара (до 64 символов) и передаем ее на сервер ОФД без печати на данной товарной позиции на чеке. Driver.CheckType = 0; Driver.Quantity = Convert.ToDouble(textBox3.Text); Driver.Price = Convert.ToInt32(textBox2.Text); Driver.Department = 1; Driver.Tax1 = 0; Driver.DiscountValue = 0; Driver.ChargeValue = 0; Driver.BarCode = "123456789"; Driver.StringForPrinting = "//"+"Булка с маком"; //Наименование товара. Символ '//' в начале строки информирует ККТ о том, что данную позицию передаем, но не печатаем Driver.DocumentName = ""; Driver.FNDiscountOperation(); Driver.CheckSubTotal(); //Закрываем чек Driver.Summ1 = Driver.Summ1; Driver.Summ2 = 0; Driver.Summ3 = 0; Driver.Summ4 = 0; Driver.Tax1 = 0; Driver.Tax2 = 0; Driver.Tax3 = 0; Driver.Tax4 = 0; Driver.StringForPrinting = ""; Driver.CloseCheck(); ------------------ sejko ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
arshin Сообщений: 44 Дата регистрации: 15.02.2011 |
Нужна помощь! очень срочно. Вот этот код правильно отрабатывает в командной строке фокса, в скомпилированном файле пишет ошибку нет соединения с устройством. Помогите куда копать?
Pdrv=CreateObject('AddIn.DrvFR') IF Pdrv.Beep () < 0 MESSAGEBOX("Ошибка:" + Pdrv.ResultCodeDescription()) RELEASE Pdrv ELSE MESSAGEBOX('aa') ENDIF ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
намекаю: commport забыл указать
------------------ sejko ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
Sejko Автор Сообщений: 147 Откуда: Moscow Дата регистрации: 09.01.2005 |
после строки
Pdrv=CreateObject('AddIn.DrvFR') надо pdrv.ComNumber =1 pdrev.Password ="30" или какой там user ------------------ sejko Исправлено 1 раз(а). Последнее : Sejko, 01.03.17 14:01 ![]() |
Re: Касса Регистратор Штрих-М-01Ф | |
---|---|
arshin Сообщений: 44 Дата регистрации: 15.02.2011 |
Тоже самое не помогло, скомпилированный код не определяет COM порт. Не скомпилированный работает. Может библиотеку какую подгрузить или еще что?
Исправлено 1 раз(а). Последнее : arshin, 01.03.17 14:44 ![]() |
© 2000-2025 Fox Club  |