如何在OPOS中打开财政打印机日

时间:2013-07-25 09:14:05

标签: c# printing opos

OPOS如何在财政打印机上开放日?

我的代码无效...

device = new OPOSFiscalPrinterClass();

device.Open("FiscPrinter");  //Opened succes
device.ClaimDevice(1000);    //Claimed success
device.DeviceEnabled = true; //Enabled success

if (device.DayOpened)
{
   device.PrintZReport();
}

device.FiscalReceiptType = (int)OPOSFiscalPrinterConstants.FPTR_RT_SALES;

device.BeginFiscalReceipt(true); //After that: ResultCode=114, ResultCodeExtended=221, PrinterState=2, DayOpened=false

device.PrintRecItem("Milk", 25.00M, 10000, 0, 25.00M, "");  
device.EndFiscalReceipt(false); //After that: Receipt cannot be closed, ResultCode=114, ResultCodeExtended=207

device.Release();
device.Close();

尝试使用UnifiedPOS文档。 怎么了?

3 个答案:

答案 0 :(得分:1)

Okey,财务打印机必须有一个操作员/用户,之后你可以使用BeginFiscalReceipt。

答案 1 :(得分:1)

为了完成收据,您需要在收据结束前发出一个小计命令和一个付款命令。 例如

device.PrintRecSubtotal(25.00M);
device.PrintRecCash(25.00M);

答案 2 :(得分:0)

ResultCodeExtended 207 = OPOS_EFPTR_WRONG_STATE:财务打印机当前未处于“财政收据”状态。你需要做一个小计

  device.PrintRecSubTotal(25.00M);
  device.PrintRecTotal(25.00M, 25.00M, 'P'); //Total = 25.00M, Payment = 25.00M

您的代码也可以按照以下方式完成

 device.FiscalReceiptType = (int)OPOSFiscalPrinterConstants.FPTR_RT_SALES

 device.FiscalReceiptType = 4; // FPTR_RT_SALES -> 4