1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96
| //Champs de saisie obligatoire constituant une contrainte de validation
SI SAI_ART_CODE ~= "" ALORS
Erreur("Vous devez saisir un code article.")
RepriseSaisie(SAI_ART_CODE)
FIN
SI COMBO_COLLEC <=0 ALORS
Erreur("Vous devez saisir une saison.")
RepriseSaisie(COMBO_COLLEC)
FIN
SI TABLE_CODIM1..Occurrence = 0 ALORS
Erreur("Vous devez saisir au moins un coloris.")
RepriseSaisie(TABLE_CODIM1)
FIN
POUR i = 1 A 10
SI TABLE_CODIM1.SELECTION[i] ALORS
POUR j=1 A TableOccurrence(CODIM2_SUS)
SI CODIM2_SUS.SELECTION[j] ALORS
// Contrôle si l'article en création existe déjà dans la base de données
variable est une chaîne
Suffixe est une chaîne
NouveauCode est une chaîne
sRequete est une chaîne="SELECT ART_CODE FROM ARTICLES WHERE ART_CODE LIKE '"+SAI_ART_CODE+"%' ORDER BY ART_CODE DESC "
//SI EnModeTest() ALORS Trace(sRequete)
SI SQLExec(sRequete,"REQ") ALORS
SI SQLAvance("REQ") = 0 ALORS
variable=SQLLitCol("REQ", 1)
SI EnModeTest() ALORS Trace("TRACE N°1-Récupere après \-", ExtraitChaîne(variable,2,"\"))
Suffixe=ExtraitChaîne(variable,2,"\") // Récupération de ce qu'il y a après l'anti-slash
SI EnModeTest() ALORS Trace("TRACE N°2- Incrémente de 1-", Val(Suffixe)+1)
Suffixe=Val(Suffixe)+1 // Incrémente de 1 l'UVC
SI EnModeTest() ALORS Trace("TRACE N°3- Nouvelle UVC-", ExtraitChaîne(variable,1,"\")+"\"+Suffixe)
NouveauCode=ExtraitChaîne(variable,1,"\")+"\"+Suffixe // Constitution de la nouvelle UVC
SINON
SI EnModeTest() ALORS Trace("TRACE N°4-Création si inexistant-", SAI_ART_CODE+"\1")
NouveauCode=SAI_ART_CODE+"\1"
FIN
SQLFerme("REQ")
//Sélectionne le dernier code barre
sVariable_EAN est une chaîne
prefixe_AEN est une chaîne
nouveauCode_AEN est une chaîne
Cle est une chaîne
nTotal est un entier
Requete est une chaîne="SELECT MAX(ART_CODEBARRE) FROM ARTICLES "
SI SQLExec(Requete, "REQ1") ALORS
SI SQLAvance("REQ1")=0 ALORS
sVariable_EAN=SQLLitCol("REQ1", 1)
SI EnModeTest() ALORS Trace("TRACE N°5- Extraction de AEN13-", Gauche(sVariable_EAN,12))
prefixe_AEN=Gauche(sVariable_EAN,12)
prefixe_AEN=NumériqueVersChaîne(Val(prefixe_AEN)+1,"012d")
SI EnModeTest() ALORS Trace("TRACE N°6- Incrémente de 1 AEN-", prefixe_AEN)
FIN
SINON
SQLInfoGene("REQ1")
Trace("Erreur SQL R1 : ", SQL.MesErreur)
FIN
SQLFerme("REQ1")
//calcul du caractère de contrôle
POUR ii = 1 A Taille(prefixe_AEN) //Code est les 12 premiers caractères du code barre
SI EstPair(ii) ALORS
nTotal+=Val(prefixe_AEN[[ii]])*3
SINON
nTotal+=Val(prefixe_AEN[[ii]])
FIN
FIN
Cle = ((PartieEntière(nTotal/10)+1)*10)-nTotal
SI Cle = 10 ALORS
Cle = 0
FIN
nouveauCode_AEN=prefixe_AEN + Cle
// Si les données n'existe pas alors INSERT INTO ajoute les données
Requete1 est une chaîne="INSERT INTO ARTICLES (ART_CODE,ART_UVC,ART_NOMAPPEL,ART_CODIM1,ART_CODIM2,ART_DATE_CREATION,ART_DATE_MODIFICATION,ART_LIBRE1,ART_NOM,ART_COLLECTION,ART_FOURNISSEUR,ART_MARQUE,ART_COMPOSITION,ART_CODEBARRE,ART_LIBRE3,ART_CODIM3,ART_PRIXACHAT,ART_PRIXVENTE) "+...
"VALUES('"+NouveauCode+"','"+NouveauCode+"','"+SAI_ART_NOMAPPEL+"','"+TABLE_CODIM1.COL_CODE[i]+"','"+CODIM2_SUS.SUS_CODE[j]+"','"+SAI_CREATION+"','"+SAI_DATE_MODIF+"','"+SAI_ART_LIBRE1+"','"+SAI_ART_NOM+"','"+COMBO_COLLEC+"','"+COMBO_ART_FOUR+"','"+COMBO_ART_MARQUE+"','"+COMBO_COMPOSITION+"','"+nouveauCode_AEN+"','"+COMBO_ORIGINE1+"','"+COMBO_TYPE1+"','"+SAI_EPA+"','"+SAI_EPVD4+"') "
SI EnModeTest() ALORS Trace("TRACE N°7- Insertion-", Requete1)
SI SQLExec(Requete1,"REQ10") ALORS
FIN
SQLFerme("REQ10")
FIN
FIN
FIN
FIN
FIN
SI OuiNon("Vous êtes sur le point de créer un article, veuillez confirmer votre choix") ALORS
Info("La fiche article a été créée")
FIN |
Partager