Acomba (Forum)
Pourquoi ne pas devenir membre du forum ?

Identifiez-vous ou Inscrivez-vous afin d'accéder à l'inrégralité du forum:
Accès à toutes les catégories du forum,
Entraide entre les 6 500 membres, et ce nombre s'accroît quotidiennement!

Notez que ce forum est indépendant de la société Acceo Solutions, éditrice du logiciel Acomba.
Connexion

Récupérer mon mot de passe


Création d'une soumission avec ODBC

Voir le sujet précédent Voir le sujet suivant Aller en bas

Création d'une soumission avec ODBC

Message  adidas le Lun 30 Juil 2007 - 19:20

Bonjour,

J'utilise ODBC depuis plusieurs mois avec les tables simples. Je dois maintenant utiliser les tables composées, pour créer une soumission, mais je n'ai pas encore eu de succès dans mes démarches.

Voici mon code SQL:

execute
('BEGIN_TRANSACTION_IN') AT acomba;
insert
into openquery(acomba,'SELECT * FROM TransactionHeader') (
InInvoiceNumber
,
InInvoiceType
,
InReference
,
InDescription
,
InCurrentDay
,
InTransactionActive
,
InTaxGroupCP
,
InCustomerSupplierCP
,
InReceivableOffset
,
TANumLines
)
VALUES (Null, 4, 'Vente du site Web', 'Vente du site Web', 1, 1, 3, 2068, 0, 1);
select
* from openquery(acomba,'SELECT * FROM TransactionDetail where TaNum = 1')
exec
('UPDATE TransactionDetail SET
ILLineNumber = 1,
ILProductNumber = ''1800XPRO'',
ILProductCP = 40,
ILDescription = ''Behringer B1800X PRO boîte de son sub 1600w RMS'',
ILSellingPrice = 0,
ILProductGroupCP = 1,
ILOrderedQty = 2
where TaNum=1'
) AT acomba

execute
('CALCULATE_TAXES') AT acomba
SELECT
* FROM OPENQUERY(acomba,'SELECT * FROM LastTransactionHeader')
execute
('END_TRANSACTION_IN') AT acomba

Chaque lignes de commandes retourne le résultat '(1 ligne(s) affectée(s))'

[size=9]Sauf la dernière ligne, qui retourne '[size=7]Type de la transaction invalide. <32>'[/size][/size]
[size=9][/size]
[size=9]Si vous avez des indices, ce serait apprécié.[/size]
[size=9][/size]
[size=9]Merci[/size]

adidas

Nombre de messages : 37
Age : 45
Ville : L'Épiphanie
Date d'inscription : 14/07/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Insertion dans les tables composées...

Message  Lartis le Lun 30 Juil 2007 - 22:04

Salut Adidas,

Je crois qu'il te manque ILType = 4 dans TransactionDetail.

Le reste me semble correct. De plus, ça semble consistant avec le message d''erreur (ce qui est rare! Surpris Car l'erreur survient toujours sur la commande "END_TRANSACTION_IN" mais peut être causée par un problème avec le header)

Je crois aussi que tu n'as pas besoin de mettre le ILProductNumber, le ILProductCP est suffisant. Mais ça me surprendrait que ça cause ton erreur.

Sylvain
avatar
Lartis

Nombre de messages : 640
Ville : Laval
Date d'inscription : 03/04/2007

Fiche d'Entreprise
Nom de l'entreprise: Groupe Conseil Lartis Inc.

Voir le profil de l'utilisateur http://www.lartis.com

Revenir en haut Aller en bas

Inscrire une soumission

Message  adidas le Lun 30 Juil 2007 - 23:04

Bonjour,

Merci pour ta réponse rapide.

J'ai nettoyé un peu le code, éliminé les openquery et passé directement les paramètres pour exécution à Acomba, mais j'ai toujours le même message.

Voici le code:

execute
('BEGIN_TRANSACTION_IN') AT acomba;

-- Soumission

exec
('insert into TransactionHeader (
InInvoiceType,
InReference,
InDescription,
InCurrentDay,
InTransactionActive,
InTaxGroupCP,
InCustomerSupplierCP,
InReceivableOffset,
TANumLines )
VALUES ( 4, ''Vente du site Web'', ''Vente du site Web'', 1, 1, 3, 2068, 0, 1)'
) AT acomba;
exec
('UPDATE TransactionDetail SET
ILLineNumber = 1,
ILType = 4,
ILProductCP = 40,
ILSellingPrice = 0,
ILProductGroupCP = 1,
ILInvoicedQty = 2
where TaNum=1'
) AT acomba

execute
('END_TRANSACTION_IN') AT acomba

Les champs InTaxGroupCP, InCustomerSupplierCP, ILProductCP et ILProductGroupCP correspondent tous à des RecCardPos valides.

Je suis dans la brume la plus totale...

merci de votre aide.

adidas

Nombre de messages : 37
Age : 45
Ville : L'Épiphanie
Date d'inscription : 14/07/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Autres pistes...

Message  Lartis le Lun 30 Juil 2007 - 23:24

Voici quelques trucs que tu pourrais essayer:


  • Ajoute au Header l'information sur le terme:
RstTransactionHeader!InTermType = 0
RstTransactionHeader!InTermDescription = "Sur réception"
RstTransactionHeader!InTermPercent = 0
RstTransactionHeader!InNumberOfDays = 0
RstTransactionHeader!InDueDays = 30


  • Remplace le type par Facture: InInvoiceType = ILType = 1. On ne sait jamais. Je n'ai jamais fait de soumission, peut être que le problème est spécifique aux soumissions. Par exemple, un champs est peut-être requis uniquement pour les soumissions.


  • Dans mon code VB, je dois faire un .update sur le header avant d'insérer les lignes. Y a t-il un moyen dans SQL de t'assurer que la première commande est exécuté. Je crois pas que ça soit ça le problème, mais on ne sait jamais, c'est une piste. Tu peux exécuter seulement la première requête et consulter tes tables avant de continuer.
Sylvain
avatar
Lartis

Nombre de messages : 640
Ville : Laval
Date d'inscription : 03/04/2007

Fiche d'Entreprise
Nom de l'entreprise: Groupe Conseil Lartis Inc.

Voir le profil de l'utilisateur http://www.lartis.com

Revenir en haut Aller en bas

créer une soumission

Message  adidas le Mar 31 Juil 2007 - 0:13

Bonjour,

J'ai essayé d'ajouter les champs. le résultat est le même :-( j'avais aussi tenté de changer le type pour soumission, commande, facture, etc.. mais toujours le même message.

En TSQL, on envoie la commande directement, tandis qu'en vb, on doit d'abord placer toutes les variables. En principe, VB envoie la commande TSQL tel que je l'ai fait quand on envoie un .update.

Comme je dis, c'est un principe. Cependant, quand SQL retourne 1 ligne affectée, c'est que un changement a été correctement effectué sur la table.

J'ai envoyé un mail au support développeurs de Acomba, j'attends des nouvelles. peut-être il y a une autre méthode que je ne connais pas!

en attendant si vous avez d'autres indices, ne vous gênez pas! et sinon, je poste la réponse d'acomba ici.

P.S. : Sylvain, as-tu trouvé les outils pour SQL Serveur Express??

Merci

adidas

Nombre de messages : 37
Age : 45
Ville : L'Épiphanie
Date d'inscription : 14/07/2007

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Création d'une soumission avec ODBC

Message  volcom21 le Ven 9 Oct 2009 - 13:42

up !!!! J'ai le même problème

volcom21

Nombre de messages : 6
Date d'inscription : 09/10/2009

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Création d'une soumission avec ODBC

Message  hench le Dim 3 Oct 2010 - 0:10

Je n'ai jamais travaillé avec ODBC, mais peut-être que cela peut aider :

le champs InDate ?,
Changer le ILInvoicedQty par ILOrderedQty ?
Remplir le ILTotalAmount sur la ligne de produit ?

hench

Nombre de messages : 163
Date d'inscription : 30/12/2008

Fiche d'Entreprise
Nom de l'entreprise:

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Re: Création d'une soumission avec ODBC

Message  Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum