- Le Shadow
- Nombre de messages : 3
Ville : Chicoutimi
Date d'inscription : 03/12/2007
Modification d'une commande
Lun 3 Déc 2007 - 11:58
Bonjour, j'essaie de modifier une commande à l'aide du SDK, mais je recois toujours un messsage me disant que je ne peux réserver ma carte (Fonction not supported for this card ID).
Je suis bien dans le fichier "Transactions" d'où je me suis positionné à partir du cardPos de mon fichier "Invoicing", et je suis capable de récupérer mes infos (ex.: # commande, client...) et ce sont les bonnes. Mais dès que je fais mon ReserveCard, je recois mon message d'erreur... Je me suis basé sur l'exemple VB qui fait la Modification d'un client...
Qu'est-ce que je fais de pas correct ? Est-ce que je me prend de la bonne Facon ? Car il semble impossible de modifier directement le fichier "Invoicing"...
Merci à l'avance
Je suis bien dans le fichier "Transactions" d'où je me suis positionné à partir du cardPos de mon fichier "Invoicing", et je suis capable de récupérer mes infos (ex.: # commande, client...) et ce sont les bonnes. Mais dès que je fais mon ReserveCard, je recois mon message d'erreur... Je me suis basé sur l'exemple VB qui fait la Modification d'un client...
Qu'est-ce que je fais de pas correct ? Est-ce que je me prend de la bonne Facon ? Car il semble impossible de modifier directement le fichier "Invoicing"...
Merci à l'avance
- Lartis
- Nombre de messages : 640
Ville : Laval
Date d'inscription : 03/04/2007
Fiche d'Entreprise
Nom de l'entreprise: Groupe Conseil Lartis Inc.
Modifier une commande
Dim 9 Déc 2007 - 22:48
Bonjour Le Shadow,
Dans le fichier d'aide ODBC pour Acomba (C:\Fortune\SnapIn\ODBC\0C_ODBC.hlp), tu as un exemple complet de modification d'une commande.
Voici le code: (que je n'ai pas testé)
Dans le fichier d'aide ODBC pour Acomba (C:\Fortune\SnapIn\ODBC\0C_ODBC.hlp), tu as un exemple complet de modification d'une commande.
Voici le code: (que je n'ai pas testé)
- Code:
'Déclaration' des variables
Dim cnn As New ADODB.Connection
Dim CustomerNumber As String
Dim ProduitTrouve As Boolean
Dim TaxeFederale As Double
Dim TransCardPos As Long
Dim FreeIt As Long
cnn.ConnectionString = "DSN=DEMO;"
cnn.CursorLocation = adUseClient
cnn.Open
'**********************************************************
'Étape 1 : On modifie l'en-tete de la commande
'
'**********************************************************
cnn.Execute ("BEGIN_TRANSACTION_IN")
rstTransactionHeader.Open "SELECT * FROM TransactionHeader where inInvoiceNumber = "1" and inInvoiceType = 2", cnn, adOpenKeyset, adLockOptimistic
rstTransactionHeader!InDescription = "Ma description"
rstTransactionHeader.Update
'**********************************************************
'Étape 2 : on modifie les propriétés des
' lignes de la commande
'**********************************************************
rstTransactionDetail.Open "SELECT * FROM TransactionDetail where RecCardPos = " & rstTransactionHeader!RecCardPos, cnn, adOpenKeyset, adLockOptimistic
' Ligne 1
rstTransactionDetail!ILProductNumber = "CARJETENC 654"
rstTransactionDetail.Update
' Ligne 2
rstTransactionDetail.MoveNext
rstTransactionDetail!ILProductNumber = "XXX 654"
rstTransactionDetail.Update
'Pour canceller la modification a la commande et libérer les cartes pré-réservées
'cnn.Execute ("CANCEL_TRANSACTION_IN")
cnn.Execute ("END_TRANSACTION_IN")
MsgBox "Transaction terminé"
rstTransactionHeader.Close
rstTransactionDetail.Close
cnn.Close
'**********************************************************
' Deuxième manière, avec des commandes SQL
'**********************************************************
'Déclaration des variables
Dim cnn As New ADODB.Connection
Dim CustomerNumber As String
Dim ProduitTrouve As Boolean
Dim TaxeFederale As Double
Dim TransCardPos As Long
Dim FreeIt As Long
cnn.ConnectionString = "DSN=DEMO;"
cnn.CursorLocation = adUseClient
cnn.Open
'**********************************************************
'Étape 1 : On modifie l'en-tete de la commande
'
'**********************************************************
cnn.Execute ("BEGIN_TRANSACTION_IN")
rstTransactionHeader.Open "SELECT * FROM TransactionHeader where inInvoiceNumber ="1" and inInvoiceType = 2", cnn, adOpenKeyset, adLockOptimistic
cnn.Execute ("update TransactionHeader set InDescription = "Ma description" where inInvoiceNumber = '" & Me.cbCommande & "' and inInvoiceType = 2")
'**********************************************************
'Étape 2 : on modifie les propriétés des
' lignes de la commande
'**********************************************************
' Ligne 1
cnn.Execute ("update TransactionDetail set ILProductNumber = 'lune' where RecCardPos = " & rstTransactionHeader!RecCardPos & " and TaNum = 1")
' Ligne 2
cnn.Execute ("update TransactionDetail set ILProductNumber = 'soleil' where RecCardPos = " & rstTransactionHeader!RecCardPos & " and TaNum = 2")
' Ligne 3
cnn.Execute ("update TransactionDetail set ILProductNumber = 'Saturn' where RecCardPos = " & rstTransactionHeader!RecCardPos & " and TaNum = 3")
' Ligne 4
cnn.Execute ("update TransactionDetail set ILProductNumber = 'Pluton' where RecCardPos = " & rstTransactionHeader!RecCardPos & " and TaNum = 4")
cnn.Execute ("END_TRANSACTION_IN")
rstTransactionHeader.Close
cnn.Close
MsgBox "Transaction terminé"
- Le Shadow
- Nombre de messages : 3
Ville : Chicoutimi
Date d'inscription : 03/12/2007
Re: Modification d'une commande
Ven 4 Jan 2008 - 10:09
Merci pour ta réponse...
J'utilise par contre le SDK , et non le module ODBC... J'ai réussi a modifier mes quantités facturées (en passant par le fichier de transactions et en adaptant l'exemple fourni en vb).
- Lorsque je tente de créer un nouvelle facture / commande, je recois toujours un message m disant que la clé n'a pas été réservée. j'ai tenté la meme chose dans le fichier Invoicing, et ce n'étais pas mieux.
- Si j'essaie d'ajouter un produit a ma commande déja existante, je recois encore un message d'erreur me disaint que le type de transaction n'est pas valide
- Finalement, comment je dois procéder pour convertir ma commande en facture ?
Ces opérations semblent réalisables avec l'exemple C++ utilisant la dll #127, mais moi, j'utilise la dll AcoSdk... Est-ce que je devrais m'y prendre autrement ?
Merci à l'avance
J'utilise par contre le SDK , et non le module ODBC... J'ai réussi a modifier mes quantités facturées (en passant par le fichier de transactions et en adaptant l'exemple fourni en vb).
- Lorsque je tente de créer un nouvelle facture / commande, je recois toujours un message m disant que la clé n'a pas été réservée. j'ai tenté la meme chose dans le fichier Invoicing, et ce n'étais pas mieux.
- Si j'essaie d'ajouter un produit a ma commande déja existante, je recois encore un message d'erreur me disaint que le type de transaction n'est pas valide
- Finalement, comment je dois procéder pour convertir ma commande en facture ?
Ces opérations semblent réalisables avec l'exemple C++ utilisant la dll #127, mais moi, j'utilise la dll AcoSdk... Est-ce que je devrais m'y prendre autrement ?
Merci à l'avance
- adidas
- Nombre de messages : 37
Age : 51
Ville : L'Épiphanie
Date d'inscription : 14/07/2007
Re: Modification d'une commande
Ven 25 Jan 2008 - 0:49
peut-être est-il trop tard, mais voici quand même...
Vous devez utiliser la méthode Reservecard() plutot que la méthode ReserveCardNumber()
vous devez d'abord remplir les champs clé et retrouver la carte dans AcoSDK.Transaction.
Bonne Journée
Vous devez utiliser la méthode Reservecard() plutot que la méthode ReserveCardNumber()
vous devez d'abord remplir les champs clé et retrouver la carte dans AcoSDK.Transaction.
Bonne Journée
- RedSoxFred
- Nombre de messages : 1
Date d'inscription : 06/05/2008
Meme genre de probleme de mon coté
Mar 6 Mai 2008 - 10:54
j'ai de l'expérience avec le dll aco127.dll mais j'ai décidé d'utiliser le acosdk.dll pour un nouveau projet.
En utilisant l'exemple du fichier d'aide j'obtiens l'erreur 11 quand j'appelle AddCard (La clé ne peut être réserve). J'avais pourtant appellé la fonction ReserveCardNumber avec succès un peu plus haut.
Si j'essaye d'utiliser ReserveCard avec le IsBeingCreated comme cardpos, j'obtiens alors l'erreur 196650
Erreur Filer 42 Proc 0 Sub Proc 3
Est-ce que quelqu'un peut m'aider.
Merci
En utilisant l'exemple du fichier d'aide j'obtiens l'erreur 11 quand j'appelle AddCard (La clé ne peut être réserve). J'avais pourtant appellé la fonction ReserveCardNumber avec succès un peu plus haut.
Si j'essaye d'utiliser ReserveCard avec le IsBeingCreated comme cardpos, j'obtiens alors l'erreur 196650
Erreur Filer 42 Proc 0 Sub Proc 3
Est-ce que quelqu'un peut m'aider.
Merci
- Le Shadow
- Nombre de messages : 3
Ville : Chicoutimi
Date d'inscription : 03/12/2007
Re: Modification d'une commande
Mar 15 Juil 2008 - 13:21
Bonjour RedSoxFred, J'ai encore et toujours le meme problème que toi. J'ai laissé de coté quelque peu pour m'acharner sur autre chose... Si jamais tu trouve une solution, fais moi signe ! Et moi de meme !
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum