Sage ligne 100 odbc transformer BC en BL

Forum consacré aux développements d'applications interfacées avec les logiciels Sage

Modérateurs: Super Modérateur, Modérateurs

Règles du forum
Merci de prendre connaissance des règles d'utilisation du forum

Avant de poster un nouveau message, utilisez la fonction RECHERCHER. Indiquez la VERSION de votre logiciel et toutes informations utiles à la résolution de votre question. Ne rédigez pas vos messages en MAJUSCULES. Soyez courtois et pensez aux formules de POLITESSE d'usage. Les messages à vocation COMMERCIALE ou PUBLICITAIRE seront supprimés.

*** LORSQU'UN SUJET EST RESOLU, SON AUTEUR DOIT EDITER LE 1ER MESSAGE DU SUJET EN HAUT DE PAGE ET COCHER "SUJET RESOLU" ***

Sage ligne 100 odbc transformer BC en BL

Messagede 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
ulric
Posteur néophyte
Posteur néophyte
 
Messages: 1
Inscription: Jeu 13 Mar 2008 14:36

Messagede 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
Nic0s
Posteur néophyte
Posteur néophyte
 
Messages: 8
Inscription: Mar 25 Mar 2008 16:15


Retourner vers Développements ODBC, Objets métiers, SQL

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités