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
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

Aller en bas
avatar
wedge
Nombre de messages : 3
Date d'inscription : 14/01/2009

PHP et Acomba Empty PHP et Acomba

Mer 14 Jan 2009 - 13:43
Bonjour,

J'aimerais savoir si certain d'entre vous ont déjà fait du PHP avec le ODBC d'Acomba. Je suis capable de faire des SELECT et des UPDATE sans aucun problème.

Si vous avez jamais utiliser PHP, j'aimerais seulement savoir quelle table vous utiliser pour créer une facture et si vous avez un ébauche de votre procédure.

Merci.
avatar
wedge
Nombre de messages : 3
Date d'inscription : 14/01/2009

PHP et Acomba Empty Re: PHP et Acomba

Mer 14 Jan 2009 - 16:42
Bonjour

je suis entrain de développer une application en PHP pour
pouvoir faire des mises à jour dans la base de donnée d’Acomba. Je tente
de créer une facture en me basant sur l’exemple en VB fourni dans la
documentation de l’ODBC (Créer une transaction client). Une
fois connecté au driver, voici un bout de mon code :
Code:

$transaction = array();
$req = 'SELECT * FROM Customer WHERE CuNumber=\'3681940\'';
$resultats = odbc_exec($db, $req);
$data = odbc_fetch_array($resultats);
$transaction['InCustomerSupplierCP'] = $data['RecCardPos'];
$transaction['InInvoicedToCP'] = $data['CuInvoicedToCP'];
$transaction['InSalesRepCP'] = $data['CuSalesRepCP'];
$transaction['InTerritoryCP'] = $data['CuTerritoryCP'];
$transaction['InReceivableOffset'] = $data['CuReceivable'];
$transaction['InCurrentDay'] = 1;
$req2 = 'INSERT INTO TransARHeader (InCustomerSupplierCP, InInvoicedToCP,
InSalesRepCP, InTerritoryCP, InReceivableOffset, InCurrentDay) VALUES (\'' .
$transaction['InCustomerSupplierCP'] . '\', \'' .
$transaction['InInvoicedToCP'] . '\', \'' . $transaction['InSalesRepCP'] . '\',
\'' . $transaction['InTerritoryCP'] . '\', \'' .
$transaction['InReceivableOffset'] . '\', \'' . $transaction['InCurrentDay'] .
'\')';
$resultat = odbc_exec($db, $req2);

Il me retourne une erreur sur mon dernier odbc_exec. Voici le message : Warning:
odbc_exec() [function.odbc-exec]: SQL error: [Acomba ODBC
Driver]Invalid operand for operator: , SQL state S0000 in
SQLExecDirect in C:\Program Files\Apache Software
Foundation\Apache2.2\htdocs\test6.php
on line 60

Après verification tout les champs de ma requête sont de
type integer. J’ai donc modifier ma requête pour enlever les ‘. Ça me donne ceci : INSERT INTO
TransARHeader (InCustomerSupplierCP, InInvoicedToCP, InSalesRepCP,
InTerritoryCP, InReceivableOffset, InCurrentDay) VALUES (8623, 0, 12, 1, 0, 1).

Cette fois,
je reçois ça comme message d’erreur : Warning: odbc_exec() [function.odbc-exec]: SQL error: Erreur de ToolKit Fonction = ReserveCardNumber Champ =
PK_TransType Erreur = Valeur invalide <1997>, SQL state in SQLExecDirect
in C:\Program Files\Apache Software Foundation\Apache2.2\htdocs\test6.php
on line 53.

Avez-vous une idée du problème. On dirait que l’ODBC
ne reconnait pas ma requête.

Merci pour les informations.


Dernière édition par Alex le Sam 17 Jan 2009 - 21:36, édité 1 fois (Raison : Formattage)
Friedrick
Friedrick
Nombre de messages : 11
Date d'inscription : 17/12/2008

Fiche d'Entreprise
Nom de l'entreprise:

PHP et Acomba Empty Re: PHP et Acomba

Ven 16 Jan 2009 - 14:25
Tu dois vraiment faire attention à tes requêtes ave cet ODBC. Il est sensible à la case, et il faut vraiment suivre la documentation en ce qui attrait au opérateur. Regarde dans la documentation et moi, de mon coté, je vais faire une petite vérification pour regarder cette requête.

Frédérick
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

PHP et Acomba Empty Valeur requise...

Ven 16 Jan 2009 - 21:32
Bonjour,

Pour une rare fois, le message d'erreur est clair!!!

PK_TransType Erreur = Valeur invalide

Certains champs sont requis dans cette table, dont entre autre le champ InTransactionType. Il te faut absolument le mettre dans ton INSERT.

Valeurs possibles: (donc 3 pour une facture)
0 Aucun
1 Excédent
2 Crédit
3 Facture
4 Intérêts
5 Autres frais
6 Dépôt
7 Pénalité

Petite astuce: essai d'insérer une ligne directement dans la table avec Access. Ça te permettra rapidement de voir les champs requis.

Je viens d'aller voir l'exemple, et tu as oublié un bloc:

Code:
rstTransARHeader!InTransactionType = 3
    rstTransARHeader!InReference = "PO-1223"
    rstTransARHeader!InDescription = "Nouveau Contrat de service"
             
    'Nombre d'affectations de la transaction

    rstTransARHeader!TANumPosts = 5


Ce bloc contient 2 champs requis: InTransactionType et TANumPosts, que tu as aussi omis.


Dernière édition par Alex le Sam 17 Jan 2009 - 21:37, édité 3 fois (Raison : Formattage)
avatar
Gr3g
Nombre de messages : 2
Ville : Montréal
Date d'inscription : 10/08/2009

Fiche d'Entreprise
Nom de l'entreprise:

PHP et Acomba Empty Création d'une facture avec PHP

Lun 10 Aoû 2009 - 15:25
Bonjour,

Après avoir pas mal cherché et galéré avec l'insertion de données dans la base de données d'Acomba avec PHP et ODBC je pense qu'il est sympa de mettre le fruit de mes recherches pour ceux qui sont intéressés.

Ceci est un exemple !

Tout d'abord on va se connecter à la base de données d'Acomba :
Code:
$conn = odbc_connect('dsn','','password');

Ensuite on va signaler le début de l'opération de transaction :
Code:
odbc_exec($conn, "BEGIN_TRANSACTION_IN");

Puis on va insérer l'entête de la facturation
Code:
$req = "INSERT INTO TransactionHeader (InInvoiceType, InReference, InDescription, InCurrentDay, InTransactionActive, InCustomerSupplierCP, TANumLines) VALUES (1, 'la référence', 'la description', 1, 1, 260, 1);

odbc_exec($conn, $req);

avec :
InInvoiceType -> =1 car c'est une facture
InReference -> string, référence de la facture
InDescription -> string, description de la facture
InCurrentDay -> =1 si on veut que ce soit daté de ce jour
InTransactionActive -> =1 si on veut que la facture soit active
InCustomerSupplierCP -> = numéro cardPos du client à facturer
TANumLines -> = nombre de lignes que doit comporter la facture

Ensuite on va créer les lignes une par une, selon le nombre qu'on a renseigné dans l'entête :
Code:
$req = "UPDATE TransactionDetail SET ILType = 1, ILDescription = 'ma ligne 1', ILSellingPrice = 48, ILProductGroupCP = 1, ILInvoicedQty = 2, ILLineNumber = 1 WHERE TaNum=1";

odbc_exec($conn, $req);

avec :
ILType ->=1 car c'est une facture
ILDescription -> string, la description de la ligne
ILSellingPrice -> prix de vente
ILProductGroupCP -> groupe de produit auquel appartient le produit facturé
ILInvoicedQty -> quantité de cet article
ILLineNumber -> numéro de la ligne
WHERE TaNum=1 -> en gros, on update les infos de la ligne 1

On recommence cette dernière opération pour chaque ligne à insérer...

Enfin on termine la transaction :
Code:
odbc_exec($conn, "END_TRANSACTION_IN");
odbc_close($conn);

Voila pour la base de l'insertion d'une facture avec l'ODBC dans Acomba en localhost.
J'espère que ca pourra en aider certains...

C'est bien joli de pouvoir ajouter des factures et des clients en localhost dans Acomba mais ce qui m'intéresse maintenant c'est de pouvoir le faire depuis le Web, depuis le serveur de mon entreprise.

Je m'explique :
Nous avons développé un gestionnaire de projet en ligne et on m'a confié comme seconde tâche de pouvoir directement créer les factures et ajouter des clients depuis cet "intranet", directement dans Acomba. Et c'est là que je bloque complètement, malgré les quelques explication données dans d'autres posts du forum (création de passerelle avec mssql, mise en place d'un vpn...).

Si quelqu'un peut m'aider Smile

Merci !

Gr3g.
avatar
calypso
Nombre de messages : 1
Date d'inscription : 02/12/2010

PHP et Acomba Empty Acomba et PHP en 2010.?

Jeu 2 Déc 2010 - 16:51
J'ai plus ou moins les mêmes besoins que Gr3g: accéder/modifier les données de Acomba via une application web en PHP.

Je me demandais juste si quelqu'un avait des développement de ce côté. J'ai pas encore installé Acomba, jamais entendu parler avant il y a 2 heures, je viens tout juste de recevoir le mandat de regarder ce qui est possible. Gr3g nous expliquait en détails la méthode mais on semble restreint à travailler en localhost.

Est-ce que quelqu'un à réussi à faire "parler" Acomba et PHP sur le web.?

Autre question, admettons que c'est possible, est-ce qu'il faut une version spéciale de Acomba (qui réside sur un serveur j'imagine, pour que PHP puisse accéder à la bd)..?
Contenu sponsorisé

PHP et Acomba Empty Re: PHP et Acomba

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