Obtenir toutes les adresses sur le système Dynamics AX 2012

QUESTION:

Je voudrais savoir comment puis-je obtenir toutes les adresses sur le système, y compris la (les clients, les fournisseurs, les banques et les autorités fiscales) sur une requête, et le mettre sur une vue avec des colonnes (nom, adresse).
Il serait donc parties et non-parties entités.

CE QUE J'AI ESSAYÉ DE FAIRE:

- Je utiliser la table de concepts pour comprendre le problème pour les fêtes:

Obtenir toutes les adresses sur le système Dynamics AX 2012

LogisticsPostalAddress - table contient des adresses dans le système qui pourrait être associé à différentes entités.
Est l'endroit où les principales informations sur les adresses sont, il semble que le reste sont en sus, les descriptions de ces adresses.

La CustTable et VendTable ont un FK à DirPartyTable.
Le BankAccountTable et la TaxAuthorityAddress à la relation directe avec le LogisticsLocation que la relation avec le LogisticsPostalAddress, la relation Location_FK.

La question est maintenant de savoir comment construire la requête qui obtient les adresses de Clients, BankAccounts, des Fournisseurs et des Autorités Fiscales et de le mettre sur une vue (nom,adresse) paire?

ÉDITÉ

J'ai trouvé un moyen d'obtenir toutes les adresses à l'aide d'une méthode, mais pas à l'aide d'une requête, et n'est pas très efficace, mais c'était suffisant pour ce que je voulais:

1) Créer une table: AllAddresses par exemple:
Avec les champs: le Nom, l'Adresse

2) Créer un emploi:

static void GettingAllAddresses(Args _args)
{
    CustTable custTable;
    VendTable vendTable;
    TaxAuthorityAddress taxAuthorityAddress;

    LogisticsPostalAddress logisticsPostalAddress;
    AllAddresses allAddresses;

    ;

    while select * from custTable
    {
        allAddresses.Address = custTable.address();
        allAddresses.Name = custTable.name();
        allAddresses.CustAccount = custTable.AccountNum;
        allAddresses.doInsert();
    }



    //Getting all vendors
    while select * from vendTable
    {

        allAddresses.Address = vendTable.address();
        allAddresses.Name = vendTable.name();
        allAddresses.doInsert();
    }

    //Getting all tax authorities addresses
    while select * from taxAuthorityAddress
    {


        allAddresses.Address = TaxAuthorityAddress::address(taxAuthorityAddress.TaxAuthority);
        allAddresses.Name = taxAuthorityAddress.Name;
        allAddresses.doInsert();
    }

    //Getting all bank addresses
    while select * from bankAccountTable
    {
        logisticsPostalAddress = LogisticsLocationEntity::location2PostalAddress(bankAccountTable.Location);
        allAddresses.Address = logisticsPostalAddress.Address;
        allAddresses.Name = bankAccountTable.Name;
        allAddresses.doInsert();
    }
}
  • Si j'étais vous, je ne voudrais pas essayer de construire une seule requête pour obtenir toutes les données, mais à la place je voudrais construire une table temporaire qui serait rempli par un batchjob faire plusieurs requêtes à la base de données.
InformationsquelleAutor Tito | 2012-06-13