2014-09-14 1 views
1

Je ne suis pas travailler avec dynamics ax 2012 et je suis à la recherche d'une fonction qui verifie si un produit est existe dans le procurement category hierarchy Cette listepage Product Information Management -> Common -> Products -> Released Product Afficher la liste des produits libérés dans le actionpane product, nous avons bouton validate; quand je sélectionne un enregistrement dans le grid control et cliqué dans le bouton validervérifier la catégorie d'approvisionnement de la hiérarchie de produits

je devrais vérifier si la catégorie d'approvisionnement est attaché à ce produit, il n'y a pas d'erreur, si aucune catégorie d'approvisionnement est attaché à ce produit, il doit afficher un ARROR un message

Apparemment, la catégorie d'approvisionnement est une hiérarchie de catégories que je vais aller chercher si le produit est fixé pour cette catégorie, Comment puis-je créer une fonction de recherche dans la catégorie hiérarchie

Can aide de tout le monde moi?

Répondre

2

Vous avez besoin de deux tables pour faire la validation:

  1. Tableau EcoResProductCategory indique qui quelles catégories et hiérarchies catégorie un produit a. Le tableau vous indique le rôle d'une hiérarchie de catégories. Le rôle lui-même est l'enum EcoResCategorynamedHierarchyRole et là vous pouvez trouver l'élément Procurement.

Maintenant vous pouvez combiner ces deux tables dans une requête qui vérifie si le produit a une catégorie dans une hiérarchie de catégories qui a le rôle d'approvisionnement.

+0

Merci, je l'ai résolu le broblem en suivant l'étape que vous montioned – Ahmed

0

Dans la classe EcoResProductValidatonService cette classe est appelée par le bouton de validation dans ce listepage e Product Information Management -> Common -> Produits -> Sortie Produit: Je suis ce code mise en tiroirs, que pensez-vous? Y at-il un autre pourquoi faire cela?

EcoResProductCategory    resProductCateg; 
     if (TableParm::find().ProcRescatgProduct){ 

       InventTable = InventTable::find('Item id'); // pass the item id 
       resProductCateg = EcoResProductCategory::findByProductIdCategoryHierarchyRole(inventTable.Product,EcoResCategoryNamedHierarchyRole::Procurement); 
       if(resProductCateg){ 
        info(strFmt(" %1 procurement category is attached to this product ",InventTable.ItemId)); 

       }else{ 
        info(strFmt(" %1 No procurement category is attached to this product ",InventTable.ItemId)); 
        } 
      } 

Le problème est la valeur de resProductCateg est alywas 0 sachant que j'ai le produit dans la catégorie procurment

Questions connexes