11.08.2020
- Added demo about creating and saving receipt as image (demo for electronic stores) in in C# demo program - "DEMOS/GetEJDocuments_DeviceGroup_A" - about device group A.
- Added demo about creating and saving receipt as image (demo for electronic stores) in in C# demo program - "DEMOS/GetEJDocuments_DeviceGroup_B" - about device group B.
- Added demo about creating and saving receipt as image (demo for electronic stores) in in C# demo program - "DEMOS/GetEJDocuments_DeviceGroup_C" - about device group C.

--------------------ONLY fot device group C---------------------
*** Fiscal device and payment terminal can connect via bluetooth ONLY if the payment terminal is NOT low energy.
*** In that case payment terminal is compatable ONLY with the following fiscal devices from C group - FP-700X , FP-700XE, WP-500X, WP-50X, DP-25X, WP-25X, DP-150X.
- All commands for "working with pinpad" in device group C are added to the SDK.
- There is also a demo in C# demo program - "DEMOS/SalesDemo_DeviceGroup_C".
--------------------ONLY fot device group C---------------------

-Added commands in SDK for device group A: 
--- config_Set_Logo(string rowNum, string data)
--- info_LastErrorExtendedInfo()
--- info_ClearLastErrorExtendedInfo()
--- info_Get_NRAData_Type()
--- config_Set_OptionalErrorText(string option, string offOn) 
--- config_Set_WorkingWithPinpad(string enable)
--- info_Get_DataForLastIssuedReceipt()
--- info_Get_DataForLastIssuedReceipt(string docNum)
--- info_Get_NotPrintedRowsCount(string option)
--- info_Get_NRADocuments(string option) 
--- info_Get_CashDrawerStatusOrOpenShift(string option)
--- info_Get_LastDocumentNumber()
--- info_Get_ProgrammedFuel()
--- info_Get_SoldQuant_AccumulatedSales(string closure1, string option)
--- info_Get_ProgrammedPumps(string closure1, string option)
--- info_Get_ProgrammedPumps2(string closure1, string option)
--- info_Get_ProgrammedPumps3(string closure1, string option, string pumpNum)
--- config_SafetyTurnOffDevice()
--- info_Pinpad_CheckLastRecordedRRN()
--- info_Pinpad_DataForLastTransaction()
--- info_Pinpad_PrintLastSuccesfulTransaction()
--- info_Pinpad_Get_DateTime()
--- config_Pinpad_Set_DateTime(string dateTime)
--- info_Pinpad_TestConnection()
--- info_Pinpad_NumberOfEntries()
--- info_Pinpad_Information()
--- config_Pinpad_SetBatchNumber(string batch)
--- config_Pinpad_DeleteBatchNumber()
--- config_Pinpad_DeleteFreezeTransaction()
--- config_Pinpad_SetReceiptNumber(string stan)
--- receipt_Pinpad_PrintByNumber(string number)
--- receipt_Pinpad_PrintLastSuccessfultransaction()
--- receipt_Pinpad_ReturnLastSuccessfultransaction()
--- config_Pinpad_SetRRNFromPPToFD()
--- info_Pinpad_TestConnectionToServer()
--- report_Pinpad_EndOfDay()
--- info_Pinpad_GetUpdate()
--- report_Pinpad_Reports(string type)
--- info_Pinpad_StatusOfLastTransaction()
--- info_Pinpad_ClearTransactionStatusFlags()
--- config_Pinpad_HeaderPrintingOptions(string option)
--- config_Pinpad_HeaderPrintingOptions(string option,string numReceipts)
--- receipt_Pinpad_PrintReceiptCopyFromEJ_ByNum(string receiptNum)
--- receipt_Pinpad_PrintReceiptCopyFromEJ_ByDate(string date)
--- info_Pinpad_TransactionStatus()

18.02.2020
- Added methods for device group A for command 114, variants about storno receipts
 --- info_Get_StornoSums(string closure1, string option, string closure2)
 --- info_Get_Storno_NettoSums(string closure1, string option, string closure2)
 --- info_Get_Storno_VATSums(string closure1, string option, string closure2)
- Also added in documentation pdf - DeviceGroup_A_Doc

30.01.2020
- Changed anonymous functions:
 1) bool Y(string param) { return !string.IsNullOrEmpty(param); }
 2) bool N(string param) { return string.IsNullOrEmpty(param); }
 3) bool Y(string param) { return !string.IsNullOrEmpty(param) && !param.Equals("0"); }
 4) bool N(string param) { return string.IsNullOrEmpty(param) || param.Equals("0"); }

Moved to class FiscalPrinter and implemented like global lambda functions with names and definitions as follows:
1) Name: Y
Definition: Func<string,bool> Y = (param) => { return !string.IsNullOrEmpty(param); };
2) Name: N
Definition: Func<string,bool> N = (param) => { return string.IsNullOrEmpty(param); };
3) Name: Y_0
   Definition: 
   public Func<string, bool> Y_0 = (param) =>
      {
         return !string.IsNullOrEmpty(param) && !param.Equals("0");
      };
4) Name: N_0
Definition:
   public Func<string, bool> N_0 = (param) =>
      {
         return string.IsNullOrEmpty(param) || param.Equals("0");
      };
Usage is the same as previous versions

- Bug fixed in function Get_CashIn_CashOut in class FDUniversal_BGR in output parameters names
from answer["errorParam"] -> answer["errorCode"] for all 3 device groups A,B,C

23.01.2020
- Added new methods in device independent part of SDK.
-Fixed some bugs
- Added new methods in DEMO program for independent part – Set/Get date and time, Open invoice, X and Z reports,Cash In/Out operation, Information about receipt.

09.01.2020
- Added new device independent part of SDK, which combines Group A, B and C.
 -- Contains basic methods (Fiscal receipt and STORNO) and some useful properties.
- Added DEMO program for independent part

29.11.2019
- Added method documentations (in DOCUMENTATION folder in the archive) as follows:
 -- DeviceGroup_A_Doc - For device group A
 -- DeviceGroup_B_Doc - For device group B
 -- DeviceGroup_C_Doc - For device group C

25.10.2019:
- For device group C, removed commands:
 -- receipt_StornoOpen_C01
 -- receipt_StornoOpen_C02
 -- receipt_StornoOpen_C03
 -- receipt_StornoOpen_C04
 -- receipt_StornoOpen_C05
because they are repeated and useless.
 -- receipt_StornoOpen_C06 name changed:
THE NEW NAME is: open_StornoReceipt
the functionality is the same as previous versions of SDK.

- For device group A and B:
  -- Added open_StornoReceipt command . It combines all of the storno command variants.
- Device group A:
  -- Added two NEW variants for command 49.
  -- receipt_Sale_TextRow1_WQuan
  -- receipt_DSale_TextRow1_WQuan

- For device group B added command 84 - print barcode:
  -- receipt_Print_TextBarcode
  -- receipt_Print_Barcode
- For device group C:
  -- changes in command receipt_Print_Barcode (removed parameter "qRCodeSize" and barcodeType'4' - QR code) 
  -- added NEW command receipt_Print_Barcode_QR (for barcodeType'4' - QR code)	

- Timeout for device when connect is needed just for LAN, so it is only for LAN in this version. 			

19.09.2019:
Version 1.0.0.3
- Added Status bytes support
- Error messages for Device group C
- Bug fixed

29.07.2019:
Version 1.0.0.2
- Added LAN support
- Status bytes "Cover is open" is error only in some devices from Device group A. 

10.07.2019:
Version 1.0.0.1
 - Added to Device group A missing status bits for errors
    ---- 1.6	The built-in tax terminal is not responding.
    ---- 1.3 # 	Low battery (the real-time clock is in RESET status).
    ---- 1.2 #	The RAM has been reset.

    ---- 5.5 	Fiscal memory read error.
    ---- 5.2 *	The last fiscal memory store operation is not successful.
    ---- 5.0 *	The fiscal memory is set in READONLY mode (locked).

04.07.2019:
 - Initial version

