Comment importer des clients et des fournisseurs dans Microsoft Dynamics AX 2009

Cet article explique comment importer des clients dans Microsoft Dynamics AX 2009 à partir d’une feuille de calcul Microsoft Office Excel. Ces étapes décrivent comment importer des clients. Toutefois, vous pouvez également suivre ces étapes pour importer des fournisseurs.

S’applique à : Microsoft Dynamics AX 2009
Numéro de la base de connaissances d’origine : 960729

Pour importer des clients dans Microsoft Dynamics AX 2009, procédez comme suit :

  1. Dans le volet de navigation, sélectionnez Administration, Périodique, Exportation/importation de données, Feuilles de calcul Excel, puis Assistant Modèle.

  2. Dans l’Assistant Modèle Excel, sélectionnez Suivant.

  3. Dans le champ Nom de fichier, entrez le nom du fichier que vous souhaitez utiliser, puis sélectionnez Suivant.

  4. Dans la page Sélectionner des tables de l’Assistant, sélectionnez CustTable dans la zone Objets disponibles , sélectionnez le > bouton pour insérer l’objet dans la zone Objets sélectionnés , puis sélectionnez Suivant.

    Remarque

    Pour les fournisseurs, sélectionnez VendTable dans la zone Objets disponibles .

  5. Dans la page Générer la liste des champs de l’Assistant, sélectionnez Suivant.

  6. Dans la page Sélectionner des champs de l’Assistant, développez Client, puis sélectionnez les champs que vous souhaitez importer dans Microsoft Dynamics AX. Les champs obligatoires pour une importation CustTable sont les suivants :

    • Compte client
    • Groupe de clients
    • Devise
    • Langue
    • Type de carnet d’adresses
    • Nom de l’ID du carnet d’adresses
    • Address
    • Conditions de paiement
    • Pays/région
    • Code postal
    • État
    • Comté
    • Nom de la recherche
    • Ville
    • Street name
    • Pays/région
    • État
    • Company
  7. Sélectionnez Suivant.

  8. Suivez les étapes de l’Assistant pour terminer l’importation.

  9. Dans le volet de navigation, sélectionnez De base, développez Configuration, Carnet d’adresses global, puis Paramètres.

  10. Sélectionnez l’onglet Séquences de nombres , puis vérifiez qu’une séquence de nombres est sélectionnée pour l’ID du carnet d’adresses.

    Remarque

    La séquence numérique sélectionnée ne peut pas être configurée comme continue.

  11. Recherchez le fichier que vous avez créé à l’étape 3. La feuille de calcul Excel qui contient les données que vous souhaitez importer est remplie.

  12. Laissez le champ ID du carnet d’adresses vide. Le champ ID du carnet d’adresses est rempli lorsque vous importez la feuille de calcul Excel à l’aide de la séquence de nombres que vous avez configurée à l’étape 10.

  13. Dans le volet de navigation, sélectionnez Administration, Périodique, Exportation/importation de données, puis groupes de définitions.

  14. Dans la boîte de dialogue Exportation/importation de données , sélectionnez le groupe de définitions que vous avez créé à l’aide de l’Assistant Modèle Excel, puis sélectionnez Configuration de la table.

  15. Dans la boîte de dialogue Configuration de la table, sélectionnez l’onglet Conversion , puis ajoutez le code suivant pour les importations à la table CustTable après la ligne par défaut dans la fenêtre.

     str dirId;
     ;
    
    // Check that the custtable table is not associated to Party.
     if (!custTable.PartyId || custTable.PartyId == "")
     {
     // Create a Party entry for the customer.
     dirId = DirParty::createPartyFromCommon(custTable).PartyId;
     custTable.PartyId = dirId;
     }
     else
     {
     DirParty::updatePartyFromCommonInsert(custTable.PartyId,custTable);
     }
    

    Pour importer des fournisseurs, ajoutez le code suivant.

    str dirId;
     ;
    
    // Check that the vendtable table is not associated to Party.
     if (!vendTable.PartyId || vendTable.PartyId == "")
     {
     // Create a Party entry for the vendor.
     dirId = DirParty::createPartyFromCommon(vendTable).PartyId;
     vendTable.PartyId = dirId;
     }
     else
     {
     DirParty::updatePartyFromCommonInsert(vendTable.PartyId,vendTable);
     }
    
  16. Sélectionnez la zone Exécuter la conversion case activée, puis sélectionnez le bouton Compiler.

    Cette étape détermine si le code est correctement typé.

  17. Sélectionnez l’onglet Aperçu , vérifiez que les champs correspondent aux valeurs correctes entrées dans la feuille de calcul Excel, puis fermez la boîte de dialogue Configuration du tableau .

  18. Dans la boîte de dialogue Exportation/importation de données , sélectionnez le groupe de définitions que vous avez créé, puis sélectionnez Importer.

  19. Dans la boîte de dialogue d’importation Excel , sélectionnez la feuille de calcul Excel que vous avez créée à l’étape 3, puis sélectionnez OK.

  20. Vérifiez que votre client est importé dans la table CustTable et qu’un enregistrement correspondant est créé dans la table DirPartyTable.

Après avoir importé le client, vous pouvez importer des adresses supplémentaires pour le client. Pour cela, procédez comme suit :

  1. Dans le volet de navigation, sélectionnez Administration, Périodique, Exportation/importation de données, Feuilles de calcul Excel, puis Assistant Modèle.

  2. Dans l’Assistant Modèle Excel, sélectionnez Suivant.

  3. Dans le champ Nom de fichier, entrez le nom du fichier que vous souhaitez utiliser, puis sélectionnez Suivant.

  4. Dans la page Sélectionner des tables de l’Assistant, sélectionnez l’option Afficher toutes les tables , sélectionnez Adresse dans la zone Objets disponibles , sélectionnez le > bouton pour insérer l’objet dans la zone Objets sélectionnés , puis sélectionnez Suivant.

  5. Dans la page Générer la liste des champs de l’Assistant, sélectionnez Suivant.

  6. Dans la page Sélectionner des champs de l’Assistant, développez Adresse de remplacement, puis sélectionnez les champs que vous souhaitez importer dans Microsoft Dynamics AX.

    Remarque

    L’ID d’enregistrement et l’ID de table de la table main doivent être sélectionnés

  7. Sélectionnez un champ supplémentaire qui est une chaîne que vous n’utilisez pas actuellement. Par exemple, sélectionnez la zone Numéro de compte de l’opérateur case activée.

  8. Sélectionnez Suivant.

  9. Suivez les étapes de l’Assistant pour terminer l’importation.

  10. Recherchez la feuille de calcul Excel que vous avez créée à l’étape 3, puis renseignez les données que vous souhaitez importer.

    Remarque

    Définissez l’ID de table de la colonne de la table main avec 77 pour custTable ou 505 pour la table VendTable.

  11. Définissez le champ Référence sur 0.

  12. Pour le champ numéro de compte opérateur supplémentaire que vous avez ajouté à la feuille de calcul, entrez le numéro de compte client.

  13. Dans l’arborescence d’objets d’application (AOT), recherchez la importData méthode dans l’objet suivant :

    Classes\SysDataImportDefBase

  14. Dans la importData méthode , modifiez le code comme suit.

    Code existant

    _curcommon.doInsert();
    

    Code de remplacement

    if (SysExpImpGroup::find(groupId).Type == SysExpImpType::Excel
     && _curCommon.TableId == tablenum(Address))
     {
     _curcommon.Insert();
     }
     else
     {
     _curcommon.doInsert();
     }
    
  15. Enregistrez, puis compilez la SysDataImportDefBase classe .

  16. Dans le volet de navigation, sélectionnez Administration, Périodique, Exportation/importation de données, puis groupes de définitions.

  17. Dans la boîte de dialogue Exportation/importation de données , sélectionnez le groupe de définitions que vous avez créé à l’aide de l’Assistant Modèle Excel, puis sélectionnez Configuration de la table.

  18. Dans la boîte de dialogue Configuration de la table, sélectionnez l’onglet Conversion , puis ajoutez le code suivant pour les importations à la table CustTable après la ligne par défaut dans la fenêtre.

    str account;
     ;
    
    // If the address is for a customer and the recid for the customer is not specified
    if (address.AddrTableId == tablenum(CustTable) && address.AddrRecId == 0)
    {
     account = address.ShipCarrierAccount; // The additional field is added to the spreadsheet.
    
    // Fetch the recid of the customer.
     address.AddrRecId = CustTable::find(account).RecId;
     address.ShipCarrierAccount = '';
    }
    

    Pour importer un fournisseur, ajoutez le code suivant.

    str account;
    ;
    
    // If the address is for a vendor and recid for the vendor is not specified
     if (address.AddrTableId == tablenum(VendTable) && address.AddrRecId == 0)
     {
     account = address.ShipCarrierAccount; // The additional field is added to the spreadsheet.
    
    // Fetch the recid of vendor.
     address.AddrRecId = VendTable::find(account).RecId;
     address.ShipCarrierAccount = '';
     }
    
  19. Sélectionnez la zone Exécuter la conversion case activée, puis sélectionnez le bouton Compiler.

    Cette étape détermine si le code est correctement typé.

  20. Sélectionnez l’onglet Aperçu , vérifiez que les champs correspondent aux valeurs correctes entrées dans la feuille de calcul Excel, puis fermez la boîte de dialogue Configuration du tableau .

  21. Dans la boîte de dialogue Exportation/importation de données , sélectionnez le groupe de définitions que vous avez créé, puis sélectionnez Importer.

  22. Dans la boîte de dialogue d’importation Excel , sélectionnez la feuille de calcul Excel que vous avez créée à l’étape 3, puis sélectionnez OK.

  23. Vérifiez que les adresses sont importées pour le client ou pour le fournisseur.