Mettre la date du jour dans un widget

Bonjour,

J’aimerais savoir comment mettre la date du jour par défaut dans un widget.
J’ai pourtant mis “now” quand j’ai créé ma variable date, ça ne fonctionne pas.

Bonjour,

Où est-ce que se trouve ce formulaire : sur une tâche humaine ou sur le pool ?

En effet, 2 cas peuvent se présenter :

  • Vous êtes sur une tâche humaine : dans ce cas, vérifiez que vous avez bien mis “Now” (sans les guillemets) dans la valeur par défaut de votre variable date. Vous pouvez également utiliser la solution du 2ème cas (ce qui vous donnera la date du jour et non pas la date où le processus a été instancié).
  • Vous êtes sur le pool : à ce stade, les données n’ont pas encore été créées. Vous ne pouvez donc pas accéder à la valeur par défaut. Mais vous pouvez simplement faire un “new java.util.Date()” dans un script Groovy pour récupérer la date du jour.

Bonne fin de journée.

Bonjour,

Tout d’abord, il faut s’assurer que vous mettez bien le new java.util.Date() dans un script Groovy.
Ensuite, cette méthode est valable pour un widget Date, puisqu’elle renvoie une donnée de type Date.

Si vous êtes dans un autre type de widget, il faut traiter cette donnée pour qu’elle soit du bon type. Par exemple, s’il s’agit d’un champ Texte, il faut la transformer en donnée de type Texte et adapter un formatage en fonction de ce que vous souhaitez afficher.

Effectivement, c’est un problème de format : “java.lang.String is not compatible with evaluated type class java.util.Date”.

Dans le script Groovy, vous avez le type de retour en bas : sélectionnez le type Date.

je suis bien dans le pool et ça ne fonctionne pas quand je fais new javai.util.Date()

Je suis bien dans un Widget Date et quand je met le script dans le widget correspondant, j’ai une erreur de chargement du formulaire.

Pouvez-vous copier/coller le log d’erreur svp (Aide → Logs du moteur) ?
(Ouvrez les logs, supprimez tout puis relancer le processus afin que l’on ait uniquement la partie qui nous intéresse)

Je peux supprimer les logs sans danger ?

Oui, pas de soucis. Vous ouvrez le fichier de logs du moteur, vous supprimez puis enregistrez.

Voici le fichier de logs concernant l’erreur :

avr. 08, 2014 5:41:20 PM org.bonitasoft.forms.server.provider.impl.FormServiceProviderImpl resolveExpressions
Grave: Error while communicating with the engine.
org.bonitasoft.console.common.server.utils.BPMEngineException: Error when evaluating expressions on process definition 8341946985640141936
at org.bonitasoft.forms.server.accessor.api.ExpressionEvaluatorEngineClient.evaluateExpressionsOnProcessDefinition(ExpressionEvaluatorEngineClient.java:62)
at org.bonitasoft.forms.server.api.impl.FormExpressionsAPIImpl.evaluateProcessExpressions(FormExpressionsAPIImpl.java:1077)
at org.bonitasoft.forms.server.api.impl.FormWorkflowAPIImpl.getProcessFieldsValues(FormWorkflowAPIImpl.java:897)
at org.bonitasoft.forms.server.provider.impl.FormServiceProviderImpl.resolveExpressions(FormServiceProviderImpl.java:917)
at org.bonitasoft.forms.server.api.impl.util.FormFieldValuesUtil.setFormWidgetsValues(FormFieldValuesUtil.java:877)
at org.bonitasoft.forms.server.FormsServlet.getFormFirstPage(FormsServlet.java:218)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at org.bonitasoft.forms.server.FormsServlet.processCall(FormsServlet.java:130)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)
Caused by: org.bonitasoft.engine.expression.ExpressionEvaluationException: org.bonitasoft.engine.expression.exception.SInvalidExpressionException: Declared return type class java.lang.String is not compatible with evaluated type class java.util.Date for expression date_demande1:initial-value
at org.bonitasoft.engine.api.impl.ProcessAPIImpl.evaluateExpressionsOnProcessDefinition(ProcessAPIImpl.java:5329)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:294)
at org.bonitasoft.engine.api.impl.ServerAPIImpl.access$000(ServerAPIImpl.java:65)
at org.bonitasoft.engine.api.impl.ServerAPIImpl$1.call(ServerAPIImpl.java:263)
at org.bonitasoft.engine.transaction.JTATransactionServiceImpl.executeInTransaction(JTATransactionServiceImpl.java:241)
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPIInTransaction(ServerAPIImpl.java:270)
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeAPI(ServerAPIImpl.java:221)
at org.bonitasoft.engine.api.impl.ServerAPIImpl.invokeMethod(ServerAPIImpl.java:107)
at org.bonitasoft.engine.api.impl.ClientInterceptor.invoke(ClientInterceptor.java:88)
at com.sun.proxy.$Proxy14.evaluateExpressionsOnProcessDefinition(Unknown Source)
at org.bonitasoft.forms.server.accessor.api.ExpressionEvaluatorEngineClient.evaluateExpressionsOnProcessDefinition(ExpressionEvaluatorEngineClient.java:60)
… 29 more
Caused by: org.bonitasoft.engine.expression.exception.SInvalidExpressionException: Declared return type class java.lang.String is not compatible with evaluated type class java.util.Date for expression date_demande1:initial-value
at org.bonitasoft.engine.expression.impl.ExpressionServiceImpl.checkReturnType(ExpressionServiceImpl.java:157)
at org.bonitasoft.engine.expression.impl.ExpressionServiceImpl.evaluate(ExpressionServiceImpl.java:99)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionWithResolvedDependencies(ExpressionResolverServiceImpl.java:151)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluateExpressionsFlatten(ExpressionResolverServiceImpl.java:110)
at org.bonitasoft.engine.core.expression.control.api.impl.ExpressionResolverServiceImpl.evaluate(ExpressionResolverServiceImpl.java:73)
at org.bonitasoft.engine.api.impl.transaction.expression.EvaluateExpressionsDefinitionLevel.execute(EvaluateExpressionsDefinitionLevel.java:74)
at org.bonitasoft.engine.api.impl.ProcessAPIImpl.evaluateExpressionsDefinitionLevel(ProcessAPIImpl.java:5372)
at org.bonitasoft.engine.api.impl.ProcessAPIImpl.evaluateExpressionsOnProcessDefinition(ProcessAPIImpl.java:5325)
… 43 more

avr. 08, 2014 5:41:20 PM org.bonitasoft.forms.server.FormsServlet getFormFirstPage
Grave: Error while getting the first page for application Process Achat–4.0$entry
org.bonitasoft.forms.server.exception.FormNotFoundException: Error while communicating with the engine.
at org.bonitasoft.forms.server.provider.impl.FormServiceProviderImpl.resolveExpressions(FormServiceProviderImpl.java:939)
at org.bonitasoft.forms.server.api.impl.util.FormFieldValuesUtil.setFormWidgetsValues(FormFieldValuesUtil.java:877)
at org.bonitasoft.forms.server.FormsServlet.getFormFirstPage(FormsServlet.java:218)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:561)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
at org.bonitasoft.forms.server.FormsServlet.processCall(FormsServlet.java:130)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:248)
at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:643)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:723)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.bonitasoft.console.security.SessionFixationValve.invoke(SessionFixationValve.java:77)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
at java.lang.Thread.run(Unknown Source)

Merci, c’était juste ça ! :wink: