IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SAGE Discussion :

Insertion d'une ligne dans F_DOCLIGNE


Sujet :

SAGE

  1. #1
    Membre habitué Avatar de lalouve
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 128
    Points : 145
    Points
    145
    Par défaut Insertion d'une ligne dans F_DOCLIGNE
    Bonjour,

    Je développe actuellement une plateforme Web en PHP permettant aux clients de naviguer dans le catalogue de produits d'un SAGE 100 Gestion commerciale i7 Pack et de passer des commandes.

    Je bloque un peu sur la création des bons de commande... La création des en-tête dans F_DOCENTETE fonctionne bien mais je ne parviens pas à insérer les lignes dans la table F_DOCLIGNE.

    Voici un exemple de requête SQL que j'essaie de faire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    INSERT INTO [ERP].[dbo].[F_DOCLIGNE] ([DO_Domaine] ,[DO_Type] ,[CT_Num] ,[DO_Piece] ,[DL_PieceBC] ,[DL_PieceBL] ,[DO_Date] ,[DL_DateBC] ,[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_Remise02REM_Valeur] ,[DL_Remise02REM_Type] ,[DL_Remise03REM_Valeur] ,[DL_Remise03REM_Type] ,[DL_PrixUnitaire] ,[DL_PUBC] ,[DL_Taxe1] ,[DL_TypeTaux1] ,[DL_TypeTaxe1] ,[DL_Taxe2] ,[DL_TypeTaux2] ,[DL_TypeTaxe2] ,[CO_No] ,[AG_No1] ,[AG_No2] ,[DL_PrixRU] ,[DL_CMUP] ,[DL_MvtStock] ,[DT_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] ,[DL_MontantHT] ,[DL_MontantTTC] ,[DL_FactPoids] ,[DL_Escompte] ,[DL_PiecePL] ,[DL_DatePL] ,[DL_QtePL] ,[DL_NoColis] ,[DL_NoLink] ,[RP_Code] ,[DL_QteRessource] ,[DL_DateAvancement] ,[PF_Num] ,[DL_CodeTaxe1] ,[DL_CodeTaxe2] ,[DL_CodeTaxe3] ,[DL_PieceOFProd] ,[DL_PieceDE] ,[DL_DateDE] ,[DL_QteDE] ,[DL_Operation] ,[Colisage] ,[QTE ANNULEE]) VALUES (0 ,1 ,'2211110' ,'BC1600015' ,'' ,'' ,'20160704 23:59:59' ,'20160704 23:59:59' ,'1900-01-01 00:00:00' , 1000 ,'' ,0 ,0 ,0 ,'5708932923293' ,'BLABLA BLA' ,1 ,1 ,0 ,0 ,0 ,6 ,1 ,0 ,0 ,0 ,0 ,57.04 ,0 ,5.500000 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,0 ,53.62 ,0 ,0 ,'' ,'Unité' ,1 ,0 ,1 ,1 ,0 ,0 ,56.57 ,16 ,'1900-01-01 00:00:00' ,'' ,0 ,0 ,0 ,0 ,1 ,null ,0 ,'' ,53.62 ,56.57 ,0 ,0 ,'' ,'1900-01-01 00:00:00' ,1 ,'' ,0 ,null ,0 ,'1900-01-01 00:00:00' ,'' ,'C02' ,null ,null ,0 ,'' ,'20160704 23:59:59' ,1 ,'' ,1 ,'')
    L'erreur renvoyée par SQL Serveur est la suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Msg*50000, Niveau*16, État*1, Procédure*TG_INS_F_DOCLIGNE, Ligne*78
    L'erreur*82086, la gravité*11, l'état*1 ont été générés, mais aucun message avec ce numéro d'erreur n'a été trouvé dans sys.messages. Si l'erreur est supérieure à 50000, vérifiez que le message défini par l'utilisateur a été ajouté à l'aide de sp_addmessage.
    Msg*3609, Niveau*16, État*1, Ligne*1
    La transaction s'est terminée dans le déclencheur. Le traitement a été abandonné.
    La version de SQL Server : SQL Server 2012

    Est-ce que l'un d'entre vous aurait des pistes pour m'aider ?
    if (navigator.geolocation) { //do your magic }

  2. #2
    Membre habitué Avatar de lalouve
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2004
    Messages
    128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Décembre 2004
    Messages : 128
    Points : 145
    Points
    145
    Par défaut
    Bon alors, pour ceux que cela intéresse, l'erreur était due au fait que l'en-tête et la ligne de commande avaient des dates [DO_Date] différentes.
    if (navigator.geolocation) { //do your magic }

  3. #3
    Membre éprouvé
    Homme Profil pro
    Indépendant X3 et SQL server
    Inscrit en
    Juillet 2006
    Messages
    865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Indépendant X3 et SQL server
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2006
    Messages : 865
    Points : 1 091
    Points
    1 091
    Par défaut
    Bonjour,

    merci pour l'info car il n'y a pas beaucoup de contributeur Sage 100 sur le forum

  4. #4
    Nouveau membre du Club
    Profil pro
    Développeur Web
    Inscrit en
    Septembre 2003
    Messages
    30
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Septembre 2003
    Messages : 30
    Points : 26
    Points
    26
    Par défaut
    Bonjour,

    Je peux vous aider.
    Vous avez déjà une erreur sur les 2 premières dates, il faut respecter le format (comme vous l'avez fait plus loin dans la requête).

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2016
    Messages : 7
    Points : 6
    Points
    6
    Par défaut SAGE SQL : erreur lors de la commande insert docligne
    Bonjour, je voudrais inserer une ligne dans ma facture mais un message d'erreur non explicite ne me permet pas de trouver l'erreur .

    Voici la commande sql :

    INSERT INTO F_DOCLIGNE ([DO_Domaine] ,[DO_Type] ,[CT_Num] ,[DO_Piece] ,[DL_PieceBC] ,[DL_PieceBL] ,[DO_Date] , [DL_DateBC] , [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_Remise02REM_Valeur] ,[DL_Remise02REM_Type] ,[DL_Remise03REM_Valeur] ,[DL_Remise03REM_Type] ,[DL_PrixUnitaire] ,[DL_PUBC] ,[DL_Taxe1] ,[DL_TypeTaux1] ,[DL_TypeTaxe1] ,[DL_Taxe2] ,[DL_TypeTaux2] ,[DL_TypeTaxe2] ,[CO_No] ,[AG_No1] ,[AG_No2] ,[DL_PrixRU] ,[DL_CMUP] ,[DL_MvtStock] ,[DT_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] ,[DL_MontantHT] ,[DL_MontantTTC] ,[DL_FactPoids] ,[DL_Escompte] ,[DL_PiecePL] ,[DL_DatePL] , [DL_QtePL] ,[DL_NoColis] ,[DL_NoLink] ,[RP_Code] ,[DL_QteRessource] ,[DL_DateAvancement] ,[PF_Num] ,[DL_CodeTaxe1] ,[DL_CodeTaxe2] ,[DL_CodeTaxe3] ,[DL_PieceOFProd] ,[DL_PieceDE] ,[DL_DateDE] ,[DL_QteDE] ,[DL_Operation] ,[Colisage])
    VALUES
    (0 , 1 , 'DIAMA' ,'FA00005' , '' , '' , '20150215 00:00:00' ,'20150215 00:00:00' ,'20150215 00:00:00' , 42000 , '' , 0 , 0 , 0 , 'LINGOR18' ,'Lingot Or 18 cts' ,1 , 1 , 0 , 0 , 0 , 12 , 1 , 0 , 0 , 0 , 0 , 80700 , 0 , 20 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 80700 , 0 , 0 , '' , 'Unité' , 1 , 0 , 1 , 1 , 0 , 0 , 80700 , 42000 ,'19000101 00:00:00' ,'' , 0 , 0 , 0 , 0 , 1 , null , 0 , '' , 80700 , 96840 , 0 , 0 , '' , '19000101 00:00:00' ,1 , '' , 0 , null , 0 , '19000101 00:00:00' ,'' , 'C20' , null , null , 0 , '' ,'20150215 00:00:00' ,1 , '' , 1 )



    Le message est le suivant :

    Msg*50000, Niveau*16, État*1, Procédure*TG_INS_F_DOCLIGNE, Ligne*78
    L'erreur*82086, la gravité*11, l'état*1 ont été générés, mais aucun message avec ce numéro d'erreur n'a été trouvé dans sys.messages. Si l'erreur est supérieure à 50000, vérifiez que le message défini par l'utilisateur a été ajouté à l'aide de sp_addmessage.
    Msg*3616, Niveau*16, État*1, Ligne*1
    Une erreur est survenue lors de l'exécution du déclencheur. Le lot a été abandonné et la transaction utilisateur éventuelle a été restaurée.


    J'ai parcouru les fils de discutions et essayer de modifier les formats de date sans effet.
    Merci pour l'aide

  6. #6
    Membre éprouvé
    Homme Profil pro
    Indépendant X3 et SQL server
    Inscrit en
    Juillet 2006
    Messages
    865
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Indépendant X3 et SQL server
    Secteur : Conseil

    Informations forums :
    Inscription : Juillet 2006
    Messages : 865
    Points : 1 091
    Points
    1 091
    Par défaut
    Bonjour essayez le format de date suivant :
    20151502 00:00:00.000 avec aaaajjmm (année/jour/mois) et le .000 (millième de temps)

  7. #7
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2016
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Merci Castorameur pour ta réponse.

    Ta suggestion ne fonctionne pas, voir plus bas

    voici la syntaxe après values :

    (0 , 1 , 'DIAMA' ,'FA00005' , '' , '' , '20151502 00:00:00.000' , '20151502 00:00:00.000', '20151502 00:00:00.000' , 42000 , '' , 0 , 0 , 0 , 'LINGOR18' ,'Lingot Or 18 cts' ,1 , 1 , 0 , 0 , 0 , 12 , 1 , 0 , 0 , 0 , 0 , 80700 , 0 , 20 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 80700 , 0 , 0 , '' , 'Unité' , 1 , 0 , 1 , 1 , 0 , 0 , 80700 , 42000 ,'19000101 00:00:00.000' ,'', 0 , 0 , 0 , 0 , 1 , null , 0 , '' , 80700 , 96840 , 0 , 0 , '' , '19000101 00:00:00.000' , 1 , '' , 0 , null , 0 , '20151502 00:00:00.000' , '' , 'C20' , null , null , 0 , '' ,'20151502 00:00:00.000' ,1 , '' , 1 )

    le message d'erreur est :
    Msg*242, Niveau*16, État*3, Ligne*1
    La conversion d'un type de données varchar en type de données smalldatetime a créé une valeur hors limites.
    L'instruction a été arrêtée.


    En effet, l'exécution de la requete :
    select CAST('20151502 00:00:00.000' AS smalldatetime)
    renvoi la même erreur :
    Msg*242, Niveau*16, État*3, Ligne*1
    La conversion d'un type de données varchar en type de données smalldatetime a créé une valeur hors limites.

    En passant au format: 20150215 00:00:00.000 la requete de convertion fonctionne:
    select CAST('20150215 00:00:00.000' AS smalldatetime)
    revoie 2015-02-15 00:00:00

    Cependant associé à la requete d'inserttion :

    INSERT INTO F_DOCLIGNE ([DO_Domaine] ,[DO_Type] ,[CT_Num] ,[DO_Piece] ,[DL_PieceBC] ,[DL_PieceBL] ,[DO_Date] , [DL_DateBC] , [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_Remise02REM_Valeur] ,[DL_Remise02REM_Type] ,[DL_Remise03REM_Valeur] ,[DL_Remise03REM_Type] ,[DL_PrixUnitaire] ,[DL_PUBC] ,[DL_Taxe1] ,[DL_TypeTaux1] ,[DL_TypeTaxe1] ,[DL_Taxe2] ,[DL_TypeTaux2] ,[DL_TypeTaxe2] ,[CO_No] ,[AG_No1] ,[AG_No2] ,[DL_PrixRU] ,[DL_CMUP] ,[DL_MvtStock] ,[DT_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] ,[DL_MontantHT] ,[DL_MontantTTC] ,[DL_FactPoids] ,[DL_Escompte] ,[DL_PiecePL] ,[DL_DatePL] , [DL_QtePL] ,[DL_NoColis] ,[DL_NoLink] ,[RP_Code] ,[DL_QteRessource] ,[DL_DateAvancement] ,[PF_Num] ,[DL_CodeTaxe1] ,[DL_CodeTaxe2] ,[DL_CodeTaxe3] ,[DL_PieceOFProd] ,[DL_PieceDE] ,[DL_DateDE] ,[DL_QteDE] ,[DL_Operation] ,[Colisage])
    VALUES
    (0 , 1 , 'DIAMA' ,'FA00005' , '' , '' , CAST('20150215 00:00:00.000' AS smalldatetime) , CAST('20150215 00:00:00.000' AS smalldatetime), CAST('20150215 00:00:00.000' AS smalldatetime) , 42000 , '' , 0 , 0 , 0 , 'LINGOR18' ,'Lingot Or 18 cts' ,1 , 1 , 0 , 0 , 0 , 12 , 1 , 0 , 0 , 0 , 0 , 80700 , 0 , 20 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 80700 , 0 , 0 , '' , 'Unité' , 1 , 0 , 1 , 1 , 0 , 0 , 80700 , 42000 ,CAST('20150215 00:00:00.000' AS smalldatetime) ,'', 0 , 0 , 0 , 0 , 1 , null , 0 , '' , 80700 , 96840 , 0 , 0 , '' ,CAST('20150215 00:00:00.000' AS smalldatetime) , 1 , '' , 0 , null , 0 ,CAST('20150215 00:00:00.000' AS smalldatetime) , '' , 'C20' , null , null , 0 , '' ,CAST('20150215 00:00:00.000' AS smalldatetime) ,1 , '' , 1 )
    le message d'erreur est bien celui du post :
    Msg*50000, Niveau*16, État*1, Procédure*TG_INS_F_DOCLIGNE, Ligne*78
    L'erreur*82086, la gravité*11, l'état*1 ont été générés, mais aucun message avec ce numéro d'erreur n'a été trouvé dans sys.messages. Si l'erreur est supérieure à 50000, vérifiez que le message défini par l'utilisateur a été ajouté à l'aide de sp_addmessage.
    Msg*3616, Niveau*16, État*1, Ligne*1
    Une erreur est survenue lors de l'exécution du déclencheur. Le lot a été abandonné et la transaction utilisateur éventuelle a été restaurée.

    Suggestions bienvenues

  8. #8
    Futur Membre du Club
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2016
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2016
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    L'erreur 82086 provient du trigger TG_INS_F_DOCLIGNE



    SELECT @rcnt = COUNT(*) FROM INSERTED WHERE (INSERTED.DO_Domaine <> 4 OR
    (INSERTED.DO_Domaine = 4 AND INSERTED.DO_Type in (select 39 + cbIndice from P_INTERNE where D_MvtStock <> 5)));
    IF (SELECT COUNT(*) FROM F_DOCENTETE INNER JOIN INSERTED
    ON (F_DOCENTETE.DO_Domaine=INSERTED.DO_Domaine AND F_DOCENTETE.DO_Type=INSERTED.DO_Type AND
    F_DOCENTETE.cbDO_Piece=INSERTED.cbDO_Piece AND F_DOCENTETE.DO_Date = INSERTED.DO_Date AND
    (INSERTED.DO_Domaine <> 4 OR(INSERTED.DO_Domaine = 4 AND INSERTED.DO_Type in (select 39 + cbIndice from P_INTERNE where D_MvtStock <> 5))))
    ) <> @rcnt
    EXECUTE CB_Error 82086;

    Dans l'insert DO_DOMAIN = 0 . Je ne sais pas ce que j'ai pu oublié ?
    des suggestions?
    Merci d'avance

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Insertion d'une icone dans le SystemTray
    Par Vow dans le forum MFC
    Réponses: 23
    Dernier message: 25/01/2008, 14h50
  2. Insertion d'une occurence dans un arbre
    Par Gryzzly dans le forum Algorithmes et structures de données
    Réponses: 13
    Dernier message: 19/12/2005, 15h52
  3. insertion d'une applet dans une page html
    Par Copps dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 18/11/2005, 14h26
  4. Insertion d'une image dans la une base mysql...
    Par Angeldu74 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 01/06/2005, 14h00
  5. insertion d'une date dans visual foxpro
    Par yvescollet dans le forum Bases de données
    Réponses: 4
    Dernier message: 10/05/2005, 15h39

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo