JavaPOSWorkingGroup / javapos-contracts

Hosts the interfaces and data types of the UnifiedPOS reference implementation for Java.
Other
8 stars 9 forks source link

Missing constants for FiscalPrinter #8

Closed mjpcger closed 1 year ago

mjpcger commented 4 years ago

The following FiscalPrinter constants have been specified in UPOS 1.14, but are not present in JavaPOS 1.14: FPTR_AC_SEK, FPTR_CC_SWEDEN, FPTR_S_JOURNAL_SLIP, FPTR_S_RECEIPT_SLIP, FPTR_AT_DISCOUNT and FPTR_AT_SURCHARGE To FPTR_AC_SEK and FPTR_CC_SWEDEN: perhaps not so important because Sweden uses fiscal boxes, not fiscal printers and OTHER is probably a good alternative. However, I heard of implementations as fiscal printer without any print station. To FPTR_S_JOURNAL_SLIP and FPTR_S_RECEIPT_SLIP: May be this is a theoretical problem, I don't know any fiscal printer which supports document printing, except some very old models that are no longer in use. To FPTR_AT_DISCOUNT and FPTR_AT_SURCHARGE: It is completely unclear which constant could be used instead for package adjustments.

kuniss commented 4 years ago

Source code review shows:

FPTR_AC_SEK: is lacking in FiscalPrinterConst, but defined in the UnfiedPOS specification.

FPTR_CC_SWEDEN: is lacking in FiscalPrinterConst, but defined in the UnfiedPOS specification.

FPTR_S_JOURNAL_SLIP: is lacking in FiscalPrinterConst, but defined in the UnfiedPOS specification as enumeration constant of the property ErrorStation.

FPTR_S_RECEIPT_SLIP: is lacking in FiscalPrinterConst but defined in the UnfiedPOS specification as enumeration constant of the property ErrorStation.

FPTR_AT_DISCOUNT: is lacking in FiscalPrinterConst but defined in the UnfiedPOS specification as argument enumeration value for parameter adjustmentType of methods printRecPackageAdjustment and printRecPackageAdjustVoid. This is assumed to be an (quite old) issue in the UnifiedPOS specification as other methods like printRecItemAdjustment define other enumeration constants (e.g., FPTR_AT_AMOUNT_DISCOUNT, FPTR_AMOUNT_SURCHARGE, FPTR_AT_PERCENTAGE_DISCOUNT, FPTR_PERCENTAGE_SURCHARGE etc.), all well defined in JavaPOS, which are intended to be used for printRecPackageAdjustment and printRecPackageAdjustVoid too. So an UnifiedPOS specification corrections is appreciated here listing the same enumeration constants for printRecPackageAdjustment and printRecPackageAdjustVoid as for printRecItemAdjustment marking FPTR_AT_DISCOUNT as deprecated. Nevertheless, the JavaPOS constant FPTR_AT_DISCOUNT should be definded assiging the value of FPTR_AT_AMOUNT_DISCOUNT to it.

FPTR_AT_SURCHARGE: same as for FPTR_AT_DISCOUNT respectively.

kuniss commented 3 years ago

The problem reagrding FPTR_AT_DISCOUNT and FPTR_AT_SURCHARGE and a potential improvment of the UnifiedPOS specification mentioned here had been discussed at the September 2020 quartely meeting of the OMG Retail Domain Task Force.

The conclusion is that the task force might not change the UnifiedPOS specification because this issue is quite old (at least 15 years) and no one had a concern yet.

So now, only the correction will be maded for the JavaPOS implementation by defining the both FPTR_AT_DISCOUNT and FPTR_AT_DISCOUNT as stated in the first comment.

kuniss commented 2 years ago

Solved with release 1.14.4.

kuniss commented 2 years ago

Only solved in regard to FPTR_AT_DISCOUNT and FPTR_AT_SURCHARGE. The other constants were not added with release 1.14.4! However, they will be solved with PR #13 (thanks to @mjpcger) at the upcoming release 1.15.

kuniss commented 1 year ago

Now finally solved with release 1.15.0.