Anonymous | Login
Project:
RSS
  
News | My View | View Issues | Roadmap | Summary

View Issue DetailsJump to Notes ] Issue History ] Print ]
ID
0057455
TypeCategorySeverityReproducibilityDate SubmittedLast Update
defect[POS2] POSminorhave not tried2024-12-16 10:402025-01-16 16:30
ReporterjayalaView Statuspublic 
Assigned Toguilleaer 
PrioritynormalResolutionopenFixed in Version
StatusscheduledFix in branchFixed in SCM revision
ProjectionnoneETAnoneTarget Version
OSAnyDatabaseAnyJava version
OS VersionDatabase versionAnt version
Product VersionSCM revision 
Review Assigned To
Regression level
Regression date
Regression introduced in release
Regression introduced by commit
Triggers an Emergency PackNo
Summary

0057455: Suggestions Engine use initial form values to make suggestions

DescriptionIn POS, if Suggestion Engine should suggest something, it's using the initial form values to make suggestions, instead the updated values.
Steps To Reproduce1. Select a customer an edit any address.
2. Change Postal Code.
3. Type something into Address Line 1 to get suggestions.

This suggestions will be related to initial Postal Code, and not to the changed. Once you save the form, and opened again, data is saved, and the suggestions will be correctly generated.

This is also easily noticeable by using the network debugger, watching the network requests done to "getPropertySuggestion" endpoint (this is automatically requested when a the POS is going to show suggestions). Inside the request, the sent entity will contain the old data.

HOW TO REPRODUCE WITH SAMPLEBPINTEGRATION:
Having org.openbravo.retail.samplebpintegration module installed, and the CRM Dataset of this module imported and having CRM without coding enabled (at client window)
1. Select Arturo Montoro as customer an edit "Calle Estafeta 25" address.
2. Change Postal Code: Delete the input and type "310" to view some suggest, select "31010 - Baranain"
3. WITHOUT SAVE OR EXIT THE FORM, change again the Postal Code: Delete the input and type again "310" to watch some suggest, choose "31013 - Berriozar"
4. In network debbuger, the request to getPropertySuggestions, at payload, has entity.postalCode set to 31001. This is not correct because at UI the Postal Code have changed.
5. The infrastructure is using the old postalCode, and this is because the entity which is send to the server is not updated when is sent.
Proposed SolutionAt CustomerFormHandlerUtils.js:
 1. Inside function "setFieldProperties", probably in payload.properties, another property is necessary >> valueChanged: true
 2. Inside function "propertyFormSuggestionSelected":
  2.1. Inside if "useSuggestionEngine" and "field.obAutoResolveSelection", the function "setFieldProperties" is executed with some arguments. Probably one of them is incorrect (probably field.data). If not, the call to this function is incorrect and some code will need to be developed inside these two if's.
  2.2. The variable "entityForSuggestions" is created using objectToValidate.getPlainObject(), which probably is not correct because this is using the old entity (not with the updated data). Probably this is not necessarily a bug and this code it's ok, because the real bug is in first point, and if it's solved, all be ok.

Take into account that this is some developer research after a debugging session, so this solutions/conclusions are not necessary correct.

HOW TO REPRODUCE WITH SAMPLEBPINTEGRATION:
Having org.openbravo.retail.samplebpintegration module installed, and the CRM Dataset of this module imported and having CRM without coding enabled (at client window)
1. Select Arturo Montoro as customer an edit "Calle Estafeta 25" address.
2. Change Postal Code: Delete the input and type "310" to view some suggest, select "31010 - Baranain"
3. WITHOUT SAVE OR EXIT THE FORM, change again the Postal Code: Delete the input and type again "310" to watch some suggest, choose "31013 - Berriozar"
4. In network debbuger, the request to getPropertySuggestions, at payload, has entity.postalCode set to 31001. This is not correct because at UI the Postal Code have changed.
5. The infrastructure is using the old postalCode, and this is because the entity which is send to the server is not updated when is sent.

* A video have been attached to clarify how to reproduce the error.
* The problem (probably) is not from suggest, it's because the infrastructure doesn't update internally the state of the form and later the entity is not correctly sent.

Have fun!
¯\_( ͡❛ ͜ʖ ͡❛)_/¯
TagsNo tags attached.
Attached Files? file icon Screencast from 2024-12-27 13-14-19.webm [^] (2,256,425 bytes) 2024-12-27 13:15

- Relationships Relation Graph ] Dependency Graph ]

-  Notes
(0174244)
hgbot (developer)
2025-01-16 16:30

Merge Request created: https://gitlab.com/openbravo/product/pmods/org.openbravo.core2/-/merge_requests/1720 [^]

- Issue History
Date Modified Username Field Change
2024-12-16 10:40 jayala New Issue
2024-12-16 10:40 jayala Assigned To => Retail
2024-12-16 10:40 jayala Triggers an Emergency Pack => No
2024-12-16 10:40 jayala Assigned To Retail => guilleaer
2024-12-16 10:42 jayala Proposed Solution updated
2024-12-16 12:12 jayala Steps to Reproduce Updated View Revisions
2024-12-16 13:16 guilleaer Severity trivial => minor
2024-12-20 09:03 guilleaer Status new => scheduled
2024-12-27 13:13 jayala Proposed Solution updated
2024-12-27 13:15 jayala File Added: Screencast from 2024-12-27 13-14-19.webm
2024-12-27 13:17 jayala Proposed Solution updated
2025-01-08 11:17 guilleaer Steps to Reproduce Updated View Revisions
2025-01-08 11:17 guilleaer Proposed Solution updated
2025-01-16 16:30 hgbot Note Added: 0174244


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker