Forum d'entraide Acomba
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.

Rejoignez le forum, c’est rapide et facile

Forum d'entraide Acomba
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.
Forum d'entraide Acomba
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Connexion
-45%
Le deal à ne pas rater :
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre 14 couverts – ...
339 € 622 €
Voir le deal

Aller en bas
avatar
adidas
Nombre de messages : 37
Age : 51
Ville : L'Épiphanie
Date d'inscription : 14/07/2007

Création d'une soumission avec ODBC Empty Création d'une soumission avec ODBC

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]
Lartis
Lartis
Nombre de messages : 640
Ville : Laval
Date d'inscription : 03/04/2007

Fiche d'Entreprise
Nom de l'entreprise: Groupe Conseil Lartis Inc.
http://www.lartis.com

Création d'une soumission avec ODBC Empty Insertion dans les tables composées...

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! :msn!: 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
adidas
Nombre de messages : 37
Age : 51
Ville : L'Épiphanie
Date d'inscription : 14/07/2007

Création d'une soumission avec ODBC Empty Inscrire une soumission

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.
Lartis
Lartis
Nombre de messages : 640
Ville : Laval
Date d'inscription : 03/04/2007

Fiche d'Entreprise
Nom de l'entreprise: Groupe Conseil Lartis Inc.
http://www.lartis.com

Création d'une soumission avec ODBC Empty Autres pistes...

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
adidas
Nombre de messages : 37
Age : 51
Ville : L'Épiphanie
Date d'inscription : 14/07/2007

Création d'une soumission avec ODBC Empty créer une soumission

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
avatar
volcom21
Nombre de messages : 6
Date d'inscription : 09/10/2009

Création d'une soumission avec ODBC Empty Re: Création d'une soumission avec ODBC

Ven 9 Oct 2009 - 13:42
up !!!! J'ai le même problème
avatar
hench
Nombre de messages : 163
Date d'inscription : 30/12/2008

Fiche d'Entreprise
Nom de l'entreprise:

Création d'une soumission avec ODBC Empty Re: Création d'une soumission avec ODBC

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 ?
Contenu sponsorisé

Création d'une soumission avec ODBC Empty Re: Création d'une soumission avec ODBC

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