Sage ligne 100 odbc transformer BC en BL

Cette section est consacrée aux développements d'applications interfacées avec les logiciels Sage.

Modérateurs: Super-Apogea, Super Modérateur

Sage ligne 100 odbc transformer BC en BL

de ulric » Jeu 13 Mar 2008 14:41

Bonjour,

Je dois modifier une commande de Sage Gestion Commerciale (ligne 100) depuis ODBC (v10.00), afin de la passer en Bon de Livraison.
J'ai d'abord procédé manuellement dans Sage et noté les modifications apportées aux tables F_DOCENTETE et F_DOCLIGNE.

La documentation mentionne l'impossibilité de modifier le champ DO_TYPE, je suppose donc que la seule façon de procéder est de créer de nouvelles lignes et supprimer les lignes d'origine.

La première partie sur F_DOCENTETE se passe sans pb avec le sql suivant :

Code: Tout sélectionner
insert into f_docentete (DO_DOMAINE, DO_TYPE, DO_PIECE, DO_DATE, DO_REF, DO_TIERS, RE_NO, DO_PERIOD, DO_DEVISE, DO_COURS, DE_NO, LI_NO, CT_NUMPAYEUR, DO_EXPEDIT, DO_NBFACTURE, DO_BLFACT, DO_TXESCOMPTE, DO_RELIQUAT, DO_IMPRIM, CA_NUM, DO_COORD01, DO_COORD02, DO_COORD03, DO_COORD04, DO_SOUCHE, DO_CONDITION, DO_TARIF, DO_COLISAGE, DO_TYPECOLIS, DO_TRANSACTION, DO_LANGUE, DO_ECART, DO_REGIME, N_CATCOMPTA, DO_VENTILE, AB_NO, CG_NUM, DO_STATUT, DO_HEURE, CA_NO, RE_NOCAISSIER, DO_TRANSFERE, DO_CLOTURE, DO_NOWEB, DO_ATTENTE) values (0, 2, 'BL130308', '{d 2008-03-13}', '', '00001', 1, 1, 0, 0, 1, 3, '00001', 1, 0, 0, 0, 0, 0, '', '', '', '', '', 0, 1, 1, 1, 1, 11, 0, 0, 21, 1, 0, 0, '41100000', 0, '14:34:10', 0, 0, 0, 0, '', 0);



La seconde partie sur F_DOCLIGNE passe si je ne mentionne pas le champ DL_PIECEBC :

Code: Tout sélectionner
insert into f_docligne (DO_DOMAINE, DO_TYPE, CT_NUM, DO_PIECE, DL_PIECEBL, DO_DATE, DL_DATEBL, DL_LIGNE, DO_REF, DL_TNOMENCL, DL_TREMPIED, DL_TREMEXEP, AR_REF, DL_DESIGN, DL_QTE, DL_QTEBC, DL_QTEBL, DL_POIDSNET, DL_POIDSBRUT, DL_REMISE01REM_VALEUR, DL_REMISE01REM_TYPE, DL_REMISE03REM_VALEUR, DL_REMISE03REM_TYPE, DL_PRIXUNITAIRE, DL_PUBC, DL_TAXE1, DL_TYPETAUX1, DL_TYPETAXE1, DL_TAXE2, DL_TYPETAUX2, DL_TYPETAXE2, RE_NO, AG_NO1, AG_NO2, DL_PRIXRU, DL_CMUP, DL_MVTSTOCK, GL_NO, AF_REFFOURNISS, EU_ENUMERE, EU_QTE, DL_TTC, DE_NO, DL_NOREF, DL_TYPEPL, DL_PUDEVISE, DL_PUTTC, DL_NO, DO_DATELIVR, CA_NUM, DL_TAXE3, DL_TYPETAUX3, DL_TYPETAXE3, DL_FRAIS, DL_VALORISE, AR_REFCOMPOSE, DL_NONLIVRE, AC_REFCLIENT) values (0, 2, '00001', 'BL130308', '', '{d 2008-03-13}', '{d 2008-03-12}', 10000, '', 0, 0, 0, '2402PESBRI', '240/2 POIRE', 8, 0, 8, 0, 0, 0, 0, 0, 0, 16.5, 16.5, 19.6, 0, 0, 0, 0, 0, 1, 112002, 458, 0, 0, 0, 0, '', '', 8, 0, 0, 1, 0, 0, 0, 0, '2008-03-25', '', 0, 0, 0, 0, 1, '', 0, '');




et échoue quand je rajoute le champ DL_PIECEBC :

Code: Tout sélectionner
insert into f_docligne (DO_DOMAINE, DO_TYPE, CT_NUM, DO_PIECE, DL_PIECEBC, DL_PIECEBL, DO_DATE, DL_DATEBL, DL_LIGNE, DO_REF, DL_TNOMENCL, DL_TREMPIED, DL_TREMEXEP, AR_REF, DL_DESIGN, DL_QTE, DL_QTEBC, DL_QTEBL, DL_POIDSNET, DL_POIDSBRUT, DL_REMISE01REM_VALEUR, DL_REMISE01REM_TYPE, DL_REMISE03REM_VALEUR, DL_REMISE03REM_TYPE, DL_PRIXUNITAIRE, DL_PUBC, DL_TAXE1, DL_TYPETAUX1, DL_TYPETAXE1, DL_TAXE2, DL_TYPETAUX2, DL_TYPETAXE2, RE_NO, AG_NO1, AG_NO2, DL_PRIXRU, DL_CMUP, DL_MVTSTOCK, GL_NO, AF_REFFOURNISS, EU_ENUMERE, EU_QTE, DL_TTC, DE_NO, DL_NOREF, DL_TYPEPL, DL_PUDEVISE, DL_PUTTC, DL_NO, DO_DATELIVR, CA_NUM, DL_TAXE3, DL_TYPETAUX3, DL_TYPETAXE3, DL_FRAIS, DL_VALORISE, AR_REFCOMPOSE, DL_NONLIVRE, AC_REFCLIENT) values (0, 2, '00001', 'BL130308', '26486', '', '{d 2008-03-13}', '{d 2008-03-12}', 10000, '', 0, 0, 0, '2402PESBRI', '240/2 POIRE', 8, 0, 8, 0, 0, 0, 0, 0, 0, 16.5, 16.5, 19.6, 0, 0, 0, 0, 0, 1, 112002, 458, 0, 0, 0, 0, '', '', 8, 0, 0, 1, 0, 0, 0, 0, '2008-03-25', '', 0, 0, 0, 0, 1, '', 0, '')
Echec sql insert : HY000:[Simba][Simba ODBC Driver][CBase]Le numéro de pièce et la date du bon de commande doivent être à vide




Or il est indispensable de renseigner ce champ pour lier le BL à la commande.
La documentation précise que en insertion
DL_PieceBC = "" (n’est renseigné par l’application que lorsque l'on fait une transformation de
document)
or les champs DO_TYPE et DL_PieceBC sont dans la liste des champs qui ne peuvent pas être modifiés dans un UPDATE, toujours selon la doc.


Une bonne âme saurait-elle m'aider à débloquer la situation ?
Est-ce la bonne méthode pour transformer un bon de commande existant en BL (je précise au cas où cela aurait de l'importance que je dois traiter deux cas : une transformation complète ou partielle (le BL ne comporte qu'une partie de la quantité du BC, qui doit être régénérée avec ce qui n'est pas sur le BL).


Merci pour votre aide
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: Jeu 13 Mar 2008 14:36

de Nic0s » Mar 25 Mar 2008 16:19

Si je ne trouve pas d'autre solution , je vais tenter de faire cette operation à l'aide d'un logiciel de macro qui "clickera" sur les bon bouton au bon moment ( mais c'est pas le pieds !!!)

Si il existe une solution plus pro et plus propre je suis néanmoins prenneur
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: Mar 25 Mar 2008 16:15


Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités