IPB

Здравствуйте, гость ( Вход | Регистрация )

> Восстановление лицензий

С 3 августа 2017 восстановление лицензий производится ТОЛЬКО через СервисДеск
Просьба обращаться к партнерам компании для оформления заявок в СД

 
Добавить ответ в эту темуОткрыть тему
Почему код работает только на 8.12
Cramac
сообщение 16.4.2018, 12:52
Сообщение #1


Прохожий


Группа: Пользователи
Сообщений: 29
Регистрация: 5.2.2008
Пользователь №: 12 546



Приветствую.
Хотелось бы разобраться. две разные кассы, три вида виндовс. Работает только на драйвере 8.12

Вот код подключения к кассе:

Код
public string ConnectKKM2(string ComPort)
        {
            
            try
            {
                msk = new FprnM1C.FprnM45();
            }
            catch (Exception)
            {
                MessageBox.Show("Не удалось создать объект общего драйвера ККМ!", Application.ProductName,
                    MessageBoxButtons.OK,
                    MessageBoxIcon.Error);
            }

            DevId = "-1";
            msk.PortNumber = Convert.ToInt32(ComPort);
            msk.BaudRate = 18;
            msk.Model = 61;
            msk.WriteLogFile = 1;
            msk.DeviceEnabled = true;
            

            Log.Write("com: "+ComPort);

            if (msk.ResultCode != 0)
                MessageBox.Show("msk.ResultCode != 0 <" + Convert.ToString(msk.ResultCode+">"));

            Log.Write("msk.ResultCode: " + Convert.ToString(msk.ResultCode));


            // получаем состояние ККМ
            if (msk.GetStatus() == 0)
            {
                Log.Write("Старт кассы: sn:" + Convert.ToString(msk.SerialNumber) + " num:" + Convert.ToString(msk.LogicalNumber) + " error:" + Convert.ToString(msk.ECRError));
                DevId = Convert.ToString(msk.LogicalNumber);
            }
            else
            {
                Log.Write("Старт кассы: Касса не подключена");
            }

         return DevId;
        }


Все работает на 8.12 но как только ставим выше, все, коннект не идет.
Тестовая машина Вин 7 х64

Что я делаю не так?

Сообщение отредактировал Cramac - 16.4.2018, 12:53
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
АТОЛ: Царюков Ро...
сообщение 16.4.2018, 12:53
Сообщение #2


Тех.поддержка
********

Группа: Администраторы
Сообщений: 41 229
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717



делфи?


--------------------

ответы на 90% вопросов находятся в ДОКУМЕНТАЦИИ
еще 9% ответов ТУТ
P.S.: уважайте труд наших писателей - читайте мануалы
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ДимкаМ
сообщение 16.4.2018, 12:57
Сообщение #3


NedoPC
******

Группа: Пользователи
Сообщений: 1 219
Регистрация: 6.3.2017
Пользователь №: 135 925



без этих строк
Код
            msk.PortNumber = Convert.ToInt32(ComPort);
            msk.BaudRate = 18;
            msk.Model = 61;
            msk.WriteLogFile = 1;
работает?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Эльдар Кадыров
сообщение 16.4.2018, 12:57
Сообщение #4


Участник
**

Группа: Пользователи
Сообщений: 144
Регистрация: 4.3.2016
Пользователь №: 123 484



По синтаксису на C# похоже, но ни как не на delphi
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
АТОЛ: Царюков Ро...
сообщение 16.4.2018, 12:58
Сообщение #5


Тех.поддержка
********

Группа: Администраторы
Сообщений: 41 229
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717



Цитата(Эльдар Кадыров @ 16.4.2018, 12:57) *
По синтаксису на C# похоже

значит ничем не помогу )))


--------------------

ответы на 90% вопросов находятся в ДОКУМЕНТАЦИИ
еще 9% ответов ТУТ
P.S.: уважайте труд наших писателей - читайте мануалы
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ДимкаМ
сообщение 16.4.2018, 12:59
Сообщение #6


NedoPC
******

Группа: Пользователи
Сообщений: 1 219
Регистрация: 6.3.2017
Пользователь №: 135 925



И в конце не вижу msk.DeviceEnabled = false;
зачем держите постоянное соединение?
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Cramac
сообщение 16.4.2018, 14:08
Сообщение #7


Прохожий


Группа: Пользователи
Сообщений: 29
Регистрация: 5.2.2008
Пользователь №: 12 546



на C#
Коннект открыт пока работает программа. Или каждый раз открывать коннект при печати чека? Чем плох постоянный коннект?
Без параметров вроде пробовал, тоже не прет.
Тестовые утилиты всегда работают.

Сообщение отредактировал Cramac - 16.4.2018, 14:09
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ДимкаМ
сообщение 16.4.2018, 14:20
Сообщение #8


NedoPC
******

Группа: Пользователи
Сообщений: 1 219
Регистрация: 6.3.2017
Пользователь №: 135 925



а что в логах FprnM1C.log ?

п.с. я только не понял, можно теперь логи на форуме ложить или нет.
В личку тогда киньте.
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
К. Дмитрий
сообщение 16.4.2018, 14:23
Сообщение #9


Участник
**

Группа: Пользователи
Сообщений: 165
Регистрация: 9.2.2017
Пользователь №: 133 773



Цитата(ДимкаМ @ 16.4.2018, 16:20) *
а что в логах FprnM1C.log ?

п.с. я только не понял, можно теперь логи на форуме ложить или нет.
В личку тогда киньте.

Логи вроде как можно, нельзя выкладывать те цифры и буквы, которые посылаются для того, что бы узнать прошивку (короче нельзя сильно палить команду нижнего уровня, мб что бы в поиске легко не находилась)
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ДимкаМ
сообщение 16.4.2018, 14:30
Сообщение #10


NedoPC
******

Группа: Пользователи
Сообщений: 1 219
Регистрация: 6.3.2017
Пользователь №: 135 925



Только что скомпилил - работает.
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FprnM1C;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            FprnM45Class kkm = new FprnM45Class();
            kkm.DeviceEnabled = true;
            kkm.GetStatus();
            Console.WriteLine(kkm.SerialNumber);
            kkm.DeviceEnabled = false;
            Console.ReadKey();
        }
    }
}
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
АТОЛ: Царюков Ро...
сообщение 16.4.2018, 14:31
Сообщение #11


Тех.поддержка
********

Группа: Администраторы
Сообщений: 41 229
Регистрация: 25.9.2008
Из: Москва
Пользователь №: 14 717



Цитата(К. Дмитрий @ 16.4.2018, 14:23) *
Логи вроде как можно, нельзя выкладывать те цифры и буквы, которые посылаются для того, что бы узнать прошивку (короче нельзя сильно палить команду нижнего уровня, мб что бы в поиске легко не находилась)

Как в сказке про Гарри Поттера


--------------------

ответы на 90% вопросов находятся в ДОКУМЕНТАЦИИ
еще 9% ответов ТУТ
P.S.: уважайте труд наших писателей - читайте мануалы
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
ДимкаМ
сообщение 16.4.2018, 14:44
Сообщение #12


NedoPC
******

Группа: Пользователи
Сообщений: 1 219
Регистрация: 6.3.2017
Пользователь №: 135 925



драйвер 8.16.1.8701

Цитата(К. Дмитрий @ 16.4.2018, 14:23) *
Логи вроде как можно, нельзя выкладывать те цифры и буквы, которые посылаются для того, что бы узнать прошивку (короче нельзя сильно палить команду нижнего уровня, мб что бы в поиске легко не находилась)

Дык она же не нижнего уровня.
Код
            kkt.UnitType=хх;
            kkt.GetUnitVersion();
            str+="Версия прошивки:"+kkt.Ubuild+'<br>';


Цитата(ДимкаМ @ 16.4.2018, 14:30) *
Только что скомпилил - работает.
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FprnM1C;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            FprnM45Class kkm = new FprnM45Class();
            kkm.DeviceEnabled = true;
            kkm.GetStatus();
            Console.WriteLine(kkm.SerialNumber);
            kkm.DeviceEnabled = false;
            Console.ReadKey();
        }
    }
}

кстати, у Cramac почемуто

msk = new FprnM1C.FprnM45();

Хотя и так тоже работает
Код
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FprnM1C;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            var kkm = new FprnM1C.FprnM45();
            kkm.DeviceEnabled = true;
            kkm.GetStatus();
            Console.WriteLine(kkm.SerialNumber);
            kkm.DeviceEnabled = false;
            Console.ReadKey();
        }
    }
}

Конечно при условии что соединение уже настроено через тест-драйвера или через kkm.ShowProperties()

Сообщение отредактировал ДимкаМ - 16.4.2018, 14:45
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Cramac
сообщение 17.4.2018, 22:31
Сообщение #13


Прохожий


Группа: Пользователи
Сообщений: 29
Регистрация: 5.2.2008
Пользователь №: 12 546



Вот лог на более свежих драйверах:
Код
Версия ОС: Win NT 6.1.7601 Service Pack 1
Центральный процессор: AMD Athlon(tm) X4 845 Quad Core Processor (3493 MHz)
Оперативная память: Phys = 4095 / 3720, PageFile = 4095 / 4095, Virtual = 2047 / 1812
Командная строка: "C:\PayYota\YotaPayOffice.exe"  (вер: 1.0.0.0)
Модуль: C:\PROGRA~2\ATOL\Drivers8\Bin_Free\FprnM1C.dll Версия: 8.16.2.8958 Адрес: 06AE0000
17.04.2018 22:32:27.812 Начинаем запись в лог...
17.04.2018 22:32:27.813 0000000000 Initialization 8...
17.04.2018 22:32:27.814 0000000000 Initialization 8 complete
17.04.2018 22:32:27.815 0000000000 Initialization 45...
17.04.2018 22:32:27.815 0000000000 Initialization 45 complete
17.04.2018 22:32:27.817 0000000000 Initializing control...
17.04.2018 22:32:27.824 0000000000 Creating devices...
17.04.2018 22:32:27.824 0000000000 Loading settings...
17.04.2018 22:32:27.824 0000000000 Driver.LoadDevicesSettings
17.04.2018 22:32:27.824 0000000000 Loading DeviceSettings:
DeviceNumber=1
DeviceName=Без названия
MachineName=
PortNumber=1007
BaudRate=18
Model=61
AccessPassword=
UseAccessPassword=1
WriteLogFile=1
DefaultPassword=30
HostAddress=192.168.10.1:5555
InvertDrawerState=0

Версия ОС: Win NT 6.1.7601 Service Pack 1
Центральный процессор: AMD Athlon(tm) X4 845 Quad Core Processor (3493 MHz)
Оперативная память: Phys = 4095 / 3719, PageFile = 4095 / 4095, Virtual = 2047 / 1811
Командная строка: "C:\PayYota\YotaPayOffice.exe"  (вер: 1.0.0.0)
Модуль: C:\PROGRA~2\ATOL\Drivers8\Bin_Free\FprnMSM.dll Версия: 8.16.2.8958 Адрес: 07190000
17.04.2018 22:32:27.829 Начинаем запись в лог...
17.04.2018 22:32:27.830 0000000000 Создание пула очередей
17.04.2018 22:32:27.832 0000000000 Создание удаленного объекта нижнего уровня с ПК <>
17.04.2018 22:32:27.834 0000000000 Протокол = 18
17.04.2018 22:32:27.837 0000000000   Объект нового протокола создан
17.04.2018 22:32:27.837 0000000000 Номер порта = 1007
17.04.2018 22:32:27.837 0000000000 Скорость обмена = 18
17.04.2018 22:32:27.837 0000000000 Адрес ККМ = 192.168.10.1:5555
17.04.2018 22:32:27.844 0000000032 DriverObject created.
17.04.2018 22:32:27.844 0000000000 Driver.PartialCut
17.04.2018 22:32:27.845 0000000016 Таймаут ответа = 11000
17.04.2018 22:32:27.845 0000000000 Таймаут ответа = 50000
17.04.2018 22:32:27.845 0000000000 Ошибка! ResultCode = -11 ResultDescription = "Устройство не включено" BadParam = 0 BadParamDescription = "Ошибок в параметрах нет"
Версия ОС: Win NT 6.1.7601 Service Pack 1
Центральный процессор: AMD Athlon(tm) X4 845 Quad Core Processor (3493 MHz)
Оперативная память: Phys = 4095 / 3677, PageFile = 4095 / 4095, Virtual = 2047 / 1960
Командная строка: "C:\Program Files (x86)\ATOL\Drivers8\Bin\DTOintegrator.exe"  (вер: 8.16.0.0)
Модуль: C:\PROGRA~2\ATOL\Drivers8\Bin_Free\FprnM1C.dll Версия: 8.16.2.8958 Адрес: 032B0000
17.04.2018 22:32:43.354 Начинаем запись в лог...
17.04.2018 22:32:43.355 0000000000 Initialization 8...
17.04.2018 22:32:43.357 0000000000 Initialization 8 complete
17.04.2018 22:32:43.357 0000000000 Initialization 45...
17.04.2018 22:32:43.357 0000000000 Initialization 45 complete
17.04.2018 22:32:43.361 0000000000 Initializing control...
17.04.2018 22:32:50.632 0000007270 Finalization 8
17.04.2018 22:32:50.632 0000000000 Завершаем запись в лог...
                        ################################################################
Версия ОС: Win NT 6.1.7601 Service Pack 1
Центральный процессор: AMD Athlon(tm) X4 845 Quad Core Processor (3493 MHz)
Оперативная память: Phys = 4095 / 3656, PageFile = 4095 / 4095, Virtual = 2047 / 1956
Командная строка: "C:\Program Files (x86)\ATOL\Drivers8\Bin\DTOintegrator.exe"  (вер: 8.16.0.0)
Модуль: C:\PROGRA~2\ATOL\Drivers8\Bin_Free\FprnM1C.dll Версия: 8.16.2.8958 Адрес: 032B0000
17.04.2018 22:32:50.639 Начинаем запись в лог...
17.04.2018 22:32:50.639 0000000000 Initialization 8...
17.04.2018 22:32:50.640 0000000000 Initialization 8 complete
17.04.2018 22:32:50.640 0000000000 Initialization 45...
17.04.2018 22:32:50.640 0000000000 Initialization 45 complete
17.04.2018 22:32:50.642 0000000000 Initializing control...
17.04.2018 22:32:54.860 0000004228 Finalization 8
17.04.2018 22:32:54.865 0000000000 Завершаем запись в лог...
                        ################################################################


Сообщение отредактировал Cramac - 17.4.2018, 22:33
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения
Cramac
сообщение 17.4.2018, 22:47
Сообщение #14


Прохожий


Группа: Пользователи
Сообщений: 29
Регистрация: 5.2.2008
Пользователь №: 12 546



странно, но вроде ничего не менял. поставил 8.16.2 на ПК с студией, и вроде как все пошло.

Завтра опробуем в работе.

Сообщение отредактировал Cramac - 17.4.2018, 22:48
Вернуться в начало страницы
 
+Ответить с цитированием данного сообщения

Добавить ответ в эту темуОткрыть тему
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 16.8.2018, 2:21
 Яндекс цитирования  Rambler's Top100