# Erreur sur la fonction search() de BusinessObjectTool

**URL:** <https://community.simplicite.io/t/erreur-sur-la-fonction-search-de-businessobjecttool/2048>\
**Category:** Support\
**Tags:** v4-0\
**Created:** [January 20, 2020, 1:49pm UTC](https://community.simplicite.io/t/erreur-sur-la-fonction-search-de-businessobjecttool/2048 "2020-01-20T13:49:54Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![dnguyen](https://community.simplicite.io/letter_avatar_proxy/v4/letter/d/ed655f/32.png) [@dnguyen](https://community.simplicite.io/u/dnguyen)\
**Post date:** [January 20, 2020, 1:49pm UTC](https://community.simplicite.io/t/erreur-sur-la-fonction-search-de-businessobjecttool/2048/1 "2020-01-20T13:49:54Z")

</div>

Bonjour,

Je souhaite faire une mise à jour d’un objet métier “DF\_Livraison” depuis un webhook (objet externe). Voici le code:

```java
	private void updateCard(JSONObject card) {
		try {
			AppLog.info(getClass(), "updateCard", card.toString(2), getGrant());
			String o = "DF_Livraison";
			ObjectDB obj = Grant.getSystemAdmin().getObject("webhook_" + o, o);
			BusinessObjectTool objt = new BusinessObjectTool(obj);
			obj.resetFilters();
			obj.getField("df_livraison_id").setFilter(card.getString("id"));
			List<String[]> rows = objt.search();
			/*if (rows.size() == 1) {
				obj.setValues(rows.get(0), true);
				if (card.has("name"))
					obj.setFieldValue("trelloCardExName", card.getString("name"));
				if (card.has("desc"))
					obj.setFieldValue("trelloCardExDescription", card.getString("desc"));
				objt.validateAndSave();
			}*/
		} catch (Exception e) {
			AppLog.error(getClass(), "updateCard", null, e, getGrant());
		}
	}

```

Voici l’erreur

```nohighlight
    com.simplicite.util.exceptions.SearchException: Search error on object DF_Livraison
     at com.simplicite.util.tools.BusinessObjectTool.search(BusinessObjectTool.java:223)
     at com.simplicite.extobjects.DeFilippis.WebhookLivraisonTrello.updateCard(WebhookLivraisonTrello.java:45)
     at com.simplicite.extobjects.DeFilippis.WebhookLivraisonTrello.post(WebhookLivraisonTrello.java:72)
     at com.simplicite.webapp.services.RESTServiceExternalObject.display(RESTServiceExternalObject.java:397)
     at com.simplicite.webapp.servlets.AbstractExternalObjectServlet.service(AbstractExternalObjectServlet.java:120)
     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.simplicite.webapp.filters.RewriteFilter.doFilter(RewriteFilter.java:83)
     at com.simplicite.webapp.filters.AbstractFilter.doFilter(AbstractFilter.java:37)
     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:202)
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
     at com.simplicite.tomcat.valves.APISessionValve.invoke(APISessionValve.java:187)
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
     at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:367)
     at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
     at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:860)
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1598)
     at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
     at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
     at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
     at java.base/java.lang.Thread.run(Thread.java:830)
2020-01-20 14:37:22,867 INFO [com.simplicite.util.engine.ObjectManager] SIMPLICITE|http://demo.simplicite.io:16778||ERR_GRANT|system|com.simplicite.util.engine.ObjectManager|search||

```

Je me demande si l’erreur vient du manque de droit de l’objet externe sur mon objet métier DF\_Livraison?

Avez vous une idée?

---

<div class="post-metadata">

**Author:** ![david](https://community.simplicite.io/user_avatar/community.simplicite.io/david/32/5703_2.png) [@david](https://community.simplicite.io/u/david)\
**Post date:** [January 20, 2020, 2:29pm UTC](https://community.simplicite.io/t/erreur-sur-la-fonction-search-de-businessobjecttool/2048/2 "2020-01-20T14:29:47Z")

</div>

Ecrire cela:

```java
String o = "DF_Livraison";
Grant.getSystemAdmin().getObject("webhook_" + o, o);

```

suppose que le user système (`Grant.getSystemAdmin()`) a des droits appropriés sur l’objet _DF\_Livraison_.

Pour donner des droits au user système il faut ajouter le groupe de droit qui contient les droits en question au profil du groupe `ADMIN`.

Cf. le module d’exemple le groupe `TRELLO_USER` a les droits en CRUD sur l’objet `TrelloCardExample` :

 ![image](https://community.simplicite.io/uploads/default/original/2X/1/11268e9603b32b529f8aef26f082a7ffd0996dc4.png)  
Et ce groupe fait partie des profiles du groupe `ADMIN`:  
 ![image](https://community.simplicite.io/uploads/default/original/2X/3/3cf9530f80e5ddba5d8aa8450d395d4564bfcc4c.png)

---

<div class="post-metadata">

**Author:** ![dnguyen](https://community.simplicite.io/letter_avatar_proxy/v4/letter/d/ed655f/32.png) [@dnguyen](https://community.simplicite.io/u/dnguyen)\
**Post date:** [January 21, 2020, 10:21am UTC](https://community.simplicite.io/t/erreur-sur-la-fonction-search-de-businessobjecttool/2048/3 "2020-01-21T10:21:50Z")

</div>

Super, c’est ce qu’il me manque. Merci

---

<div class="post-metadata">

**Author:** ![system](https://community.simplicite.io/user_avatar/community.simplicite.io/system/32/4700_2.png) [@system](https://community.simplicite.io/u/system)\
**Post date:** [March 30, 2021, 6:45pm UTC](https://community.simplicite.io/t/erreur-sur-la-fonction-search-de-businessobjecttool/2048/4 "2021-03-30T18:45:40Z")

</div>


