예제 #1
0
        public static void Start()
        {
            // занимаем порт
            ECR.DeviceEnabled = true;
            if (ECR.ResultCode != 0)
            {
                return;
            }

            // получаем состояние ККМ
            if (ECR.GetStatus() != 0)
            {
                return;
            }

            // проверяем на всякий случай ККМ на фискализированность
            //if (ECR.Fiscal)
            //    //if (MessageBox.Show("ККМ фискализирована! Вы действительно хотите продолжить?",
            //    //        Application.ProductName,
            //    //        System.Windows.Forms.MessageBoxButtons.YesNo,
            //    //        System.Windows.Forms.MessageBoxIcon.Question) == DialogResult.No)
            //    return;

            CancelCheck();
        }
예제 #2
0
        private bool SetDevice()
        {
            ECR.PortNumber = COMPort;

            ECR.DeviceEnabled = true;

            if (ECR.ResultCode != 0)
            {
                MessageBox.Show(ECR.ResultDescription);
                return(false);
            }

            if (ECR.GetStatus() != 0)
            {
                MessageBox.Show(ECR.ResultDescription);
                return(false);
            }

            if (ECR.CheckState != 0)
            {
                if (ECR.CancelCheck() != 0)
                {
                    MessageBox.Show(ECR.ResultDescription);
                    return(false);
                }
            }

            ECR.Password = "******";

            return(true);
        }
예제 #3
0
 public override bool OpenPayment()
 {
     Log("Открытие чека");
     KKM.CheckType = 1;
     Log("Статус");
     if (KKM.GetStatus() != 0)
     {
         return(false);
     }
     Log("Открываем чек");
     if (KKM.OpenCheck() != 0)
     {
         return(false);
     }
     _paymentOpened = true;
     return(true);
 }
예제 #4
0
        public Atol()
        {
            statuses = new List <int>();

            try
            {
                driver = Type.GetTypeFromProgID("AddIn.FPrnM45");

                if (driver != null)
                {
                    cmd = Activator.CreateInstance(driver);
                }
                else
                {
                    driverExists = false;
                    return;
                }

                driverExists = true;

                if (cmd.CheckState != 0)
                {
                    cmd.CancelCheck();
                }

                cmd.AttrPrint = 1;

                cmd.DeviceEnabled = true;
                cmd.Password      = "******";

                if (cmd.GetStatus() < 0)
                {
                    MessageBox.Show("Ошибка ККТ: " + cmd.GetStatus().ToString());
                }
            }
            catch (Exception e)
            {
                MessageBox.Show("Не удалось загрузить драйвер Атол.");
                driverExists = false;
            }
        }
예제 #5
0
        private void Initialize()
        {
            try
            {
                Log("Инициализация");
                FSettings = new FiscalSettings();
                FSettings.SettingsChanged += new FiscalSettings.SettingsChangedEventHandler(FSettings_SettingsChanged);
                FSettings.Event();

                KKM = new FprnM1C.FprnM45Class();
                SetDeviceInfo(GetModel(KKM.Model), "АТОЛ V" + KKM.Version, KKM.UMajorVersion.ToString() + "." + KKM.UMinorVersion.ToString() + "." + KKM.UBuild, "COM" + KKM.PortNumber.ToString(), DeviceType.FiscalRegister);
                KKM.DeviceEnabled = true;

                Log("Получение статуса");
                if (!Execute(KKM.GetStatus()))
                {
                    throw new Exception("Не удалось найти устройство КММ. \r\n");
                }


                if (KKM.CheckState != 0)
                {
                    Log("Чек не закрыт, закрываем чек");

                    /*if (KKM.CancelCheck() != 0)
                     * {
                     *  Log("Не удалось закрыть чек.");
                     *  return false;
                     * }*/
                    ClosePayment();
                }
                Log("ResetMode()");
                Execute(KKM.ResetMode());
                KKM.TextWrap = 1;
            }
            catch (Exception ex)
            {
                throw new Exception("Не удалось создать объект общего драйвера КММ `АТОЛ`.\r\n- " + ex.Message);
            }
        }