Configuration des unités

Bonjour,

J’aimerais avoir des explications par rapport à la configuration des unités. En effet, j’ai créé des fiches produits et sur chaque fiche j’ai renseigné les unités de stockage et d’achat. Cependant, il se fait que sur l’une des fiches j’ai omis de renseigner les unités de stockage pour le produit. Je veux faire un mouvement de retour en stock pour ce produit et le système me demande de configurer les unités. Je vais donc sur la fiche produit pour inscrire l’unité mais je n’ai plus la main pour modifier. La section unité de stock pour ce produit est comme bloquée.
J’aimerais savoir comment faire pour configurer les unités pour ce produit.

Merci.

Bonjour,

Jusqu’à maintenant on empêche la modification de l’unité de stockage une fois le produit créé pour éviter de fausser les données en stock.

Mais en effet cela peut être contraignant, nous allons réfléchir à un moyen d’autoriser le changement de l’unité de stockage d’un produit déjà créé, en mettant en place une conversion d’unité au niveau de l’emplacement de stock si l’unité de stockage est modifiée.

Pour le moment la seule solution est d’archiver le produit sur lequel vous avez un problème et de le créer de nouveau en remplissant l’unité de stockage dès la création.

Cordialement.

En archivant le produit qu’est ce qui se passe avec les données dans lesquelles il est utilisé?

Merci

Bonjour,

J’ai archivé la fiche produit concernée et créer une nouvelle fiche. Cependant, le système me demande toujours de configurer les unités lors de la validation de l’inventaire.
Je vous remercie d’avance pour votre aide.

Cordialement

Bonjour,

Vous êtes sur quelle version du logiciel ?

Nous utilisons actuellement la version Axelor 5.01

Nous n’arrivons pas à reproduire le problème. C’est à quel niveau exactement, quand vous faites un inventaire ou quand vous effectuez un mouvement de stock de retour suite à une vente comme mentionné dans votre premier message ?

Et est-ce que vous pourriez s’il vous plait refaire la manipulation qui fait apparaître le message vous demandant de configurer les unités, puis une fois que le message est apparu, aller dans Config applicative/Technical maintenance/Tracebacks. Là il doit s’agir du premier message tout en haut de la liste, le dernier apparu, double cliquez dessus.

Il nous faudrait le contenu de la “Trace” pour essayer de comprendre pourquoi ce message s’affiche.

Bonsoir,
L’erreur apparaît lorsque je veux valider un inventaire que j’ai lancé pour une remise à niveau des stocks.
Concernant le premier problème que je vous ai remonté, j’ai fait exactement ce que vous avez suggéré. Je crois que c’est réglé.

Ci dessous le contenu de la trace

com.axelor.exception.AxelorException: Veuillez configurer les unités.
at com.axelor.apps.base.service.UnitConversionService.convert(UnitConversionService.java:99)
at com.axelor.apps.stock.service.StockMoveServiceImpl.computeWeights(StockMoveServiceImpl.java:589)
at com.axelor.apps.stock.service.StockMoveServiceImpl.realize(StockMoveServiceImpl.java:459)
at com.axelor.apps.supplychain.service.StockMoveServiceSupplychainImpl.realize(StockMoveServiceSupplychainImpl.java:105)
at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:62)
at com.axelor.apps.stock.service.InventoryService.generateStockMove(InventoryService.java:403)
at com.axelor.apps.stock.service.InventoryService.validateInventory(InventoryService.java:276)
at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:70)
at com.axelor.apps.stock.web.InventoryController.validateInventory(InventoryController.java:115)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.axelor.meta.ActionHandler.call(ActionHandler.java:158)
at com.axelor.meta.schema.actions.ActionMethod.evaluate(ActionMethod.java:80)
at com.axelor.meta.schema.actions.ActionMethod.wrap(ActionMethod.java:85)
at com.axelor.meta.schema.actions.ActionGroup.evaluate(ActionGroup.java:225)
at com.axelor.meta.schema.actions.ActionGroup.wrap(ActionGroup.java:378)
at com.axelor.meta.schema.actions.ActionGroup.evaluate(ActionGroup.java:225)
at com.axelor.meta.schema.actions.ActionGroup.wrap(ActionGroup.java:378)
at com.axelor.meta.ActionHandler.execute(ActionHandler.java:379)
at com.axelor.web.service.ActionService.execute(ActionService.java:101)
at com.axelor.rpc.RequestFilter.invoke(RequestFilter.java:59)
at com.axelor.rpc.ResponseInterceptor.invoke(ResponseInterceptor.java:67)
at sun.reflect.GeneratedMethodAccessor440.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.jboss.resteasy.core.MethodInjectorImpl.invoke(MethodInjectorImpl.java:140)
at org.jboss.resteasy.core.ResourceMethodInvoker.invokeOnTarget(ResourceMethodInvoker.java:294)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:248)
at org.jboss.resteasy.core.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:235)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:398)
at org.jboss.resteasy.core.SynchronousDispatcher.invoke(SynchronousDispatcher.java:205)
at org.jboss.resteasy.plugins.server.servlet.ServletContainerDispatcher.service(ServletContainerDispatcher.java:228)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:56)
at org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher.service(HttpServletDispatcher.java:51)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:89)
at com.axelor.db.tenants.AbstractTenantFilter.doFilter(AbstractTenantFilter.java:73)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at org.apache.shiro.guice.web.SimpleFilterChain.doFilter(SimpleFilterChain.java:44)
at org.apache.shiro.web.servlet.AdviceFilter.executeChain(AdviceFilter.java:108)
at org.apache.shiro.web.servlet.AdviceFilter.doFilterInternal(AdviceFilter.java:137)
at com.axelor.auth.AuthFilter.doFilterInternal(AuthFilter.java:82)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at org.apache.shiro.guice.web.SimpleFilterChain.doFilter(SimpleFilterChain.java:41)
at org.apache.shiro.web.servlet.AbstractShiroFilter.executeChain(AbstractShiroFilter.java:449)
at org.apache.shiro.web.servlet.AbstractShiroFilter$1.call(AbstractShiroFilter.java:365)
at org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
at org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
at org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
at org.apache.shiro.web.servlet.AbstractShiroFilter.doFilterInternal(AbstractShiroFilter.java:362)
at org.apache.shiro.web.servlet.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:125)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.axelor.app.internal.AppFilter.doFilter(AppFilter.java:94)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:91)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.axelor.db.tenants.AbstractTenantFilter.doFilter(AbstractTenantFilter.java:73)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.axelor.web.servlet.CorsFilter.doFilter(CorsFilter.java:136)
at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:120)
at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:135)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:494)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:651)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:407)
at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:754)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1376)
at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

Cordialement

Bonsoir,

Au vu du Traceback, il ne s’agit pas de l’unité de stock, mais d’une conversion que le système essai de faire entre l’unité de poids du produit (onglet Packaging) et l’unité de poids pour les douanes défini dans la config stock par société et utilisé pour la fiche logistique ou pour une DEB.

Actuellement, à tord, le sysème demande de renseigner ces informations quelques soit le type de mouvements, alors que l’on pourrait l’activer uniquement si il s’agit de transfert de stock entre pays ou d’un BL (pour la fiche logistique).

Cordialement

Bonjour,
Les informations que vous mentionnés ne sont pas enregistrées et l’entreprise n’est pas dans ce cas de figure.
Comment faire alors?

Bonjour,

Avez-vous trouver la solution à votre problème?
Je suis dans le même cas de figure.

Cordialement