-
Notifications
You must be signed in to change notification settings - Fork 589
-
Notifications
You must be signed in to change notification settings - Fork 589
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Pricing engine sets the scale of price amounts to the respective precision #4376
Comments
metas-ts
added a commit
that referenced
this issue
Jul 13, 2018
Pricing engine sets the scale of price amounts to the respective precision #4376
metas-ts
added a commit
that referenced
this issue
Jul 16, 2018
#4376 - pricing engine updates the price amounts to match the precision
IT (please check step 10)
|
metas-ts
added a commit
that referenced
this issue
Aug 1, 2018
Pricing engine sets the scale of price amounts to the respective precision #4376
IT
"org.adempiere.exceptions.AdempiereException: ArithmeticException: Rounding necessary"
1:" at org.adempiere.exceptions.AdempiereException.wrapIfNeeded(AdempiereException.java:89)"
2:" at org.adempiere.exceptions.AdempiereException.wrapIfNeeded(AdempiereException.java:85)"
3:" at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.appendAndLogHowtoDisableMessage(AnnotatedModelInterceptor.java:577)"
4:" at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.executeNow(AnnotatedModelInterceptor.java:567)"
5:" at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.execute(AnnotatedModelInterceptor.java:521)"
6
:
" at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.execute(AnnotatedModelInterceptor.java:464)"
7
:
" at org.adempiere.ad.modelvalidator.AnnotatedModelInterceptor.onModelChange(AnnotatedModelInterceptor.java:442)"
8
:
" at org.adempiere.ad.modelvalidator.ModelInterceptor2ModelValidatorWrapper.modelChange(ModelInterceptor2ModelValidatorWrapper.java:123)"
9
:
" at org.compiere.model.ModelValidationEngine.invokeModelChangeMethod(ModelValidationEngine.java:970)"
10
:
" at org.compiere.model.ModelValidationEngine.invokeModelChangeMethods(ModelValidationEngine.java:947)"
11
:
" at org.compiere.model.ModelValidationEngine.fireModelChange0(ModelValidationEngine.java:829)"
12
:
" at org.compiere.model.ModelValidationEngine.lambda$fireModelChange$0(ModelValidationEngine.java:784)"
13
:
" at org.compiere.model.ModelValidationEngine$1.run(ModelValidationEngine.java:806)"
14
:
" at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:145)"
15
:
" at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:135)"
16
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:775)"
17
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:688)"
18
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:596)"
19
:
" at org.compiere.model.ModelValidationEngine.executeInTrx(ModelValidationEngine.java:801)"
20
:
" at org.compiere.model.ModelValidationEngine.fireModelChange(ModelValidationEngine.java:784)"
21
:
" at org.compiere.model.PO.fireModelChange(PO.java:4846)"
22
:
" at org.compiere.model.PO.save0(PO.java:2821)"
23
:
" at org.compiere.model.PO.access$100(PO.java:139)"
24
:
" at org.compiere.model.PO$1.run(PO.java:2729)"
25
:
" at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:145)"
26
:
" at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$3.call(TrxCallableWrappers.java:135)"
27
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:775)"
28
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:688)"
29
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:589)"
30
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:520)"
31
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.run(AbstractTrxManager.java:506)"
32
:
" at org.compiere.model.PO.saveEx(PO.java:2723)"
33
:
" at org.adempiere.model.POWrapper.save(POWrapper.java:799)"
34
:
" at org.adempiere.model.InterfaceWrapperHelper.save(InterfaceWrapperHelper.java:598)"
35
:
" at de.metas.adempiere.callout.OrderFastInput.addOrderLine(OrderFastInput.java:315)"
36
:
" at de.metas.ui.web.quickinput.orderline.OrderLineQuickInputProcessor.process(OrderLineQuickInputProcessor.java:85)"
37
:
" at de.metas.ui.web.quickinput.QuickInput.complete(QuickInput.java:250)"
38
:
" at de.metas.ui.web.quickinput.WindowQuickInputRestController.lambda$null$9(WindowQuickInputRestController.java:309)"
39
:
" at de.metas.ui.web.quickinput.WindowQuickInputRestController.lambda$forQuickInputWritable$3(WindowQuickInputRestController.java:212)"
40
:
" at de.metas.ui.web.window.model.DocumentCollection.forRootDocumentWritable(DocumentCollection.java:288)"
41
:
" at de.metas.ui.web.quickinput.WindowQuickInputRestController.forQuickInputWritable(WindowQuickInputRestController.java:205)"
42
:
" at de.metas.ui.web.quickinput.WindowQuickInputRestController.lambda$complete$10(WindowQuickInputRestController.java:308)"
43
:
" at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$4.call(TrxCallableWrappers.java:193)"
44
:
" at org.adempiere.ad.trx.api.impl.TrxCallableWrappers$5.call(TrxCallableWrappers.java:222)"
45
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call0(AbstractTrxManager.java:775)"
46
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:688)"
47
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:589)"
48
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:520)"
49
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:498)"
50
:
" at org.adempiere.ad.trx.api.impl.AbstractTrxManager.call(AbstractTrxManager.java:475)"
51
:
" at de.metas.ui.web.window.controller.Execution$ExecutionBuilder.lambda$execute$0(Execution.java:194)"
52
:
" at de.metas.ui.web.window.controller.Execution$ExecutionBuilder.lambda$execute$2(Execution.java:237)"
53
:
" at de.metas.ui.web.window.controller.Execution$ExecutionBuilder.execute(Execution.java:260)"
54
:
" at de.metas.ui.web.window.controller.Execution.callInNewExecution(Execution.java:88)"
55
:
" at de.metas.ui.web.quickinput.WindowQuickInputRestController.complete(WindowQuickInputRestController.java:307)"
56
:
" at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)"
57
:
" at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)"
58
:
" at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)"
59
:
" at java.lang.reflect.Method.invoke(Method.java:498)"
60
:
" at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)"
61
:
" at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)"
62
:
" at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:97)"
63
:
" at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:827)"
64
:
" at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:738)"
65
:
" at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)"
66
:
" at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:963)"
67
:
" at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:897)"
68
:
" at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)"
69
:
" at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)"
70
:
" at javax.servlet.http.HttpServlet.service(HttpServlet.java:661)"
71
:
" at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)"
72
:
" at javax.servlet.http.HttpServlet.service(HttpServlet.java:742)"
73
:
" at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)"
74
:
" at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)"
75
:
" at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)"
76
:
" at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)"
77
:
" at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)"
78
:
" at org.springframework.boot.web.filter.ApplicationContextHeaderFilter.doFilterInternal(ApplicationContextHeaderFilter.java:55)"
79
:
" at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)"
80
:
" at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)"
81
:
" at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)"
82
:
" at de.metas.ui.web.config.WebConfig$1.doFilter(WebConfig.java:82)"
83
:
" at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)"
84
:
" at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)"
85
:
" at de.metas.ui.web.config.ServletLoggingFilter.doFilter(ServletLoggingFilter.java:89)"
86
:
" at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)"
87
:
" at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)"
88
:
" at de.metas.ui.web.config.CORSFilter.doFilter(CORSFilter.java:85)"
89
:
" at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)"
90
:
" at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)"
91
:
" at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:110)"
92
:
" at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)"
93
:
" at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)"
94
:
" at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)"
95
:
" at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99)"
96
:
" at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)"
97
:
" at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)"
98
:
" at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)"
99
:
" at org.springframework.web.filter.HttpPutFormContentFilter.doFilterInternal(HttpPutFormContentFilter.java:105)"
|
metas-ts
added a commit
that referenced
this issue
Aug 8, 2018
Pricing engine sets the scale of price amounts to the respective precision #4376
IT
|
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Is this a bug or feature request?
Feature
What is the current behavior?
The pricing engine goes with the amounts with the respective pricing rules come up with.
Problem with that: we observe that some pricing rules (i suggest a discount related one) keeps adding meaningless zeroes (after the decimal point) to the price.
Also, when we have a pricing result with a particular precision, why not make sure that the price amount themselves have this precision too.
The text was updated successfully, but these errors were encountered: