- Technoh
- Nombre de messages : 3
Date d'inscription : 18/11/2008
[Résolu] Récupérer les lignes d'une transaction
Mar 18 Nov 2008 - 16:19
Bonjour,
Je suis à même de développer une petite application en C# utilisant le SDK. Jusque-là j'ai rencontré quelques petits problèmes, particulièrement parce que je viens du monde des bases de données relationnelles mais rien de bien sérieux. Jusqu'à aujourd'hui.
Ce que je veux faire est assez simple: pour chaque client (un à la fois, lorsque l'utilisateur le choisit), lire toutes les transactions du client et toutes les lignes de chaque transaction. Là où le bât blesse c'est que je n'arrive pas à lire les lignes des transactions se rapportant spécifiquement à une transaction. Si j'utilise la fonction FindKey aucune clé n'est trouvée et si j'utilise la fonction SearchKey en passant le Key_InCardPos de l'objet InvoiceAR comme paramètre (index 6) à Key_ILInvoicingCP de l'objet InvoicingLine la ligne de transaction trouvée n'appartient jamais à la transaction.
Voici schématiquement comment je m'y prends.
- Ouvrir le client
- Assigner Customer.CardPos à InvoiceAR.Key_InCustomerCP
- Lancer FirstKey(1, true)
- Pour chaque transaction (tant que NextKey(1, true) == 0):
+ Assigner InvoiceAR.Key_InCardPos à InvoicingLine.Key_ILInvoicingCP
+ Lancer FirstKey(6, true) ou FindKey(6, true) ou SearchKey(6, true)
Et l'objet InvoicingLine résultant n'est jamais le bon.
Je peux poster du code au besoin mais c'est assez volumineux.
Toute aide est appréciée!
Je suis à même de développer une petite application en C# utilisant le SDK. Jusque-là j'ai rencontré quelques petits problèmes, particulièrement parce que je viens du monde des bases de données relationnelles mais rien de bien sérieux. Jusqu'à aujourd'hui.
Ce que je veux faire est assez simple: pour chaque client (un à la fois, lorsque l'utilisateur le choisit), lire toutes les transactions du client et toutes les lignes de chaque transaction. Là où le bât blesse c'est que je n'arrive pas à lire les lignes des transactions se rapportant spécifiquement à une transaction. Si j'utilise la fonction FindKey aucune clé n'est trouvée et si j'utilise la fonction SearchKey en passant le Key_InCardPos de l'objet InvoiceAR comme paramètre (index 6) à Key_ILInvoicingCP de l'objet InvoicingLine la ligne de transaction trouvée n'appartient jamais à la transaction.
Voici schématiquement comment je m'y prends.
- Ouvrir le client
- Assigner Customer.CardPos à InvoiceAR.Key_InCustomerCP
- Lancer FirstKey(1, true)
- Pour chaque transaction (tant que NextKey(1, true) == 0):
+ Assigner InvoiceAR.Key_InCardPos à InvoicingLine.Key_ILInvoicingCP
+ Lancer FirstKey(6, true) ou FindKey(6, true) ou SearchKey(6, true)
Et l'objet InvoicingLine résultant n'est jamais le bon.
Je peux poster du code au besoin mais c'est assez volumineux.
Toute aide est appréciée!
- Technoh
- Nombre de messages : 3
Date d'inscription : 18/11/2008
Re: [Résolu] Récupérer les lignes d'une transaction
Mar 18 Nov 2008 - 16:38
J'ai continué mes expériences et j'ai remarqué que j'avais fait une grave erreur. Dans mon code j'utilisais l'interface InvoiceAR pour lire les transactions d'un client mais l'interface InvoicingLine pour ligne les lignes d'une transaction client. J'ai changé l'interface InvoiceAR pour Invoicing et j'ai pu faire correspondre (ENFIN!) la propriété Invoicing.Key_InCardPos (ç'aurait pu être CardPos aussi) avec InvoicingLine.Key_ILInvoicingCP en utilisant la fonction SearchKey (puisqu'aucun index n'utilise ILInvoicingCP en tant que première clé - FirstKey et FindKey ne fonctionneront donc pas).
Ouf! C'est résolu!
Ouf! C'est résolu!
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum