FIltre sur les articles

Version Axelor Version: 5.0.20

Je souhaite filtrer la liste des articles selon la société par défaut de l’utilisateur.

Pas de problème pour la liste des articles, le « domain » se filtre correctement :

<action-view id="actium.sc.root.sale.products" name="sc.root.sale.products" model="com.axelor.apps.base.db.Product" title="Products &amp; services">
  <view name="product-cards" type="cards"/>
  <view name="product-grid" type="grid"/>
  <view name="product-form" type="form"/>
  <view-param name="search-filters" value="products-filters"/>
  <domain>self.isModel = false AND self.sellable = true AND self.isShippingCostsProduct = false AND (self.isPrototype = false 
    AND ((:_myActiveCompany ='XXX' AND NOT self.code LIKE 'FI-%') OR (:_myActiveCompany ='YYY' AND self.code LIKE 'FI-%'))
    OR not :_myActiveGroup='CIAL') </domain>
  <context name="_myActiveCompany" expr="eval: __user__.activeCompany.code"/>
  <context name="_myActiveGroup" expr="eval: __user__.group.code"/>

par contre, dans la liste des articles lors de la saisie d’un document, la variable user contient l’id et non pas l’objet user, je n’arrive pas à créer le bon « domain ». Code actuel, ne fonctionnant pas :

<action-attrs id="actium-action-sale-order-line-attrs-domain-product" name="action-sale-order-line-attrs-domain-product">
  <attribute name="domain" expr="eval: &quot; self.isModel = false and (self.endDate = null or self.endDate > :__date__) 
  and self.sellable = true 
  and (self.isPrototype = false or :__user__=1  or :__user__=9  or :__user__=66)
 AND
  (
  (${__repo__(User).all().filter('User.id = :__user__').fetch.activeCompany.code}  = 'XXX'      AND NOT self.code LIKE 'FI-%') 
   OR
  (${__repo__(User).all().filter('User.id = :__user__').fetch.activeCompany.code}  = 'YYY'      AND self.code LIKE 'FI-%')
  )
    
  &quot;" for="product"/>
</action-attrs>

j’ai toujours l’ensemble des articles.

merci pour votre aide.
Bonne journée