Openbravo Issue Tracking System - Retail Modules
View Issue Details
0056778Retail ModulesRetail APIpublic2024-10-14 18:012024-10-24 07:22
kchoperena 
Bimla_vm 
highmajoralways
scheduledopen 
5
 
 
No
0056778: Export Promotion API: incompatibleDiscount is defined as mandatory but in the back-end you can create a register not setting it
If you create a register for the Incompatible Discounts tab of 'Promotion and Discounts' window and you leave empty the 'Incompatible discount' field, any GET API is going to fail with the following error as the field has not a value defined:

2024-10-14 17:54:56,174 [http-nio-8080-exec-6] ERROR org.openbravo.service.web.BaseWebServiceServlet - Value of property incompatibleDiscount is null but it does not accept null values
org.openbravo.base.exception.OBException: Value of property incompatibleDiscount is null but it does not accept null values
    at org.openbravo.service.external.integration.mapping.PropertyMapping.addPropertyValueIfValid(PropertyMapping.java:108) ~[classes/:?]
    at org.openbravo.service.external.integration.mapping.PropertyMapping.addMappingValue(PropertyMapping.java:87) ~[classes/:?]
    at org.openbravo.service.external.integration.mapping.PropertyMapper.createSynchronizableBusinessObject(PropertyMapper.java:155) ~[classes/:?]
    at org.openbravo.service.external.integration.export.SynchronizableBusinessObjectExporter.exportToSynchronizableBusinessObject(SynchronizableBusinessObjectExporter.java:129) ~[classes/:?]
    at org.openbravo.service.external.integration.export.SynchronizableBusinessObjectExporter.exportToSynchronizableBusinessObject(SynchronizableBusinessObjectExporter.java:108) ~[classes/:?]
    at org.openbravo.service.external.integration.mapping.OneToManyEntityPropertyMapping.getTargetList(OneToManyEntityPropertyMapping.java:110) ~[classes/:?]
    at org.openbravo.service.external.integration.mapping.OneToManyEntityPropertyMapping.getMappingValueForExport(OneToManyEntityPropertyMapping.java:98) ~[classes/:?]
1.- Create a promotion in the back-end
2.- Add a configuration for the Incompatible Discounts tab (see attached image as an example)
3.- Using a REST client, create a request to get the previously created promotion. Example request for livebuilds:

https://livebuilds.openbravo.com/context/retail_modules_pgsql_pi/ws/org.openbravo.api.ExportService/Promotion/promotionId [^]

Just replace the base url and the promotionId by the created one

RESULT: The integration will fail
No tags attached.
Issue History
2024-10-14 18:01kchoperenaNew Issue
2024-10-14 18:01kchoperenaAssigned To => Retail
2024-10-14 18:01kchoperenaTriggers an Emergency Pack => No
2024-10-17 15:25guillermogilStatusnew => acknowledged
2024-10-23 09:12guillermogilAssigned ToRetail => guilleaer
2024-10-24 07:21Bimla_vmAssigned Toguilleaer => Bimla_vm
2024-10-24 07:22Bimla_vmStatusacknowledged => scheduled

There are no notes attached to this issue.