public override void GetDelayedZReports() { Log("Отложенные Z отчеты\r\nResetMode()"); if (!Execute(KKM.ResetMode())) { return; } KKM.Password = _psysadm; KKM.Mode = 3; Log("Установка режима 3"); if (!Execute(KKM.SetMode())) { return; } KKM.StreamFormat = 3; KKM.OutboundStream = "B5"; //вход в режим распечатки отчетов из памяти KKM.ReportType = 1; Log("Вход в режим распечатки отчетов, снятие"); Execute(KKM.RunCommand()); string answer = KKM.InboundStream; //формат ответа: '550019', где "19" -- количество оставшихся свободных полей в памяти в hex, "00" -- код ошибки Log("Релуьтат:" + answer); if (answer.Length == 6) { string p = answer[4] + "" + answer[5]; _countFreeZReports = int.Parse(p); if (answer[2] + "" + answer[3] != "00") { Log("Невозможно снять Z в пямять 0х" + answer[2] + "" + answer[3]); //throw new Exception("Невозможно снять Z-отчет в память. Error 0x" + answer[2] + "" + answer[3]); return; } } //собственное здесь идет разбор ответа и анализ того, что Вам надо //KKM.Report(); //а вот и собственно снятие отчета в память. Log("ReserMode()"); Execute(KKM.ResetMode()); //выходим из режима снятия отчетов. }