SOMMAIRE
Sommaire | ||
---|---|---|
|
Principe de l’intégration de pièce
Le traitement d'intégration de pièces dans Divalto Achat-Vente intègre le contenu d'un fichier HFI DHFI de type GTFI.dhfd.
Volet | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
IMPORTANT
|
...
Seules les données renseignées ( <> de espace ou 0) sont modifiées.
Si on modifie les quantités, les enregistrement MVTL deviennent obligatoires. On doit respecter somme des ventilations = à quantité du MOUV.
Les chapitres, les postes et les MOUV avec un ENRNO = 0 ou non trouvé sont créés en fin de pièce.
Lorsqu'un texte est intégré il remplace le texte existant (pas de fusion possible).
La fonction ENT_Client_Modification_Affecter traite la modification
Les données modifiées sont traitées dans la séquence G1T1_Client_Modification_affecter..
Suppression de mouvement lors de la validation
Un champ, le MOUV.CEF positionne à la valeur ‘S' est un artifice qui permet d’indiquer la suppression du mouvement indiqué
Algorithme de validation de type ‘V'
...
(=passage d’un type de pièce à un autre
...
sur une partie des lignes)
La séquence d'enregistrements minimale est :
IPAR
MOUV
...
On ne pourra en aucun cas modifier la référence article, le code opération…
On ne peut pas supprimer de ligne ou de ventilation
Les lignes sont toujours créées en fin de pièce
La validation d'une ligne est identifiée par son numéro d'enregistrement, et pas à partir de la référence article.
Pour identifier une ventilation on indiquera également le numéro VTLNO sinon les ventilations seront validées dans l'ordre de lecture des VTL .
Le reliquat est mis à jour automatiquement au prorata des quantités validées
Attention, pour le cas d’une validation commande ou BL en facture, il faut éviter de modifier les quantité livrées
Traitement des remises en pied
Validation sur une pièce existante on conserve le % de la pièce finale.
Validation en créant la pièce finale, on reprend le % de la pièce initiale.
Le % indiqué dans ENT de GTFI écrasant le % ainsi défini.
Suppression de mouvement lors de la validation
Un champ, le MOUV.CEF positionne à la valeur ‘S' est un artifice qui permet d’indiquer la suppression du mouvement indiqué
Algorithme de validation de type 'T' Validation de pièce (=passage total d’un type de pièce à un autre)
La séquence d'enregistrements minimale est :
IPAR
Pour chaque enregistrement MOUV à valider, on recherchera par le numéro d'enregistrement le MOUV de la pièce initiale qui doit être validé.
Lorsque l'enregistrement à valider existe, il est repris entièrement pour la validation. Si vous souhaitez modifier certaines données, surchargez la procédure « G1T1_Validation_Affectation_Ap ».
Informations complémentaires
On ne pourra en aucun cas modifier la référence article, le code opération…
On ne peut pas supprimer de ventilation
La validation d'une ligne est identifiée par son numéro d'enregistrement, et pas à partir de la référence article.
Pour identifier une ventilation on indiquera également le numéro VTLNO sinon les ventilations seront validées dans l'ordre de lecture des VTL .
Attention, pour le cas d’une validation commande ou BL en facture, il faut éviter de modifier les quantité livrées
Traitement des remises en pied
Validation sur une pièce existante on conserve le % de la pièce finale.
Validation en créant la pièce finale, on reprend le % de la pièce initiale.
Le % indiqué dans ENT de GTFI écrasant le % ainsi défini.
Suppression de mouvement lors de la validation
Un champ, le MOUV.CEF positionne à la valeur ‘S' est un artifice qui permet d’indiquer la suppression du mouvement indiqué
Algorithme de validation de type 'S'
La séquence d'enregistrements minimale est :
IPAR
Exemples simples d’action
Création de pièce avec texte (C)
Exemple Diva d’une ligne IPAR de création d’un pièce commande fournisseur avec mouvement
Bloc de code |
---|
IPAR = ' '
IPAR.CE1 = 'I'
IPAR.DOS = MZ.DOS
IPAR.ETB = MZ.ETB
IPAR.PICOD = '2' ; Commande
IPAR.TICOD = 'F' ; Fournisseur
IPAR.TRAIT = 'C' ; Création
HWrite(GTFI, IPAR)
ENT = ' '
ENT.CE1 = 'A'
ENT.CE4 = Condition(CdeProvisoireCtmFl = OUI, '7', '1')
ENT.TIERS = TiersFou ;fournisseur choisi
ENT.TvaTie = Fournisseur.TvaTie
ENT.DEPO = GtCtm100T1.DEPO ;depo de la ligne client
ENT.Projet = GtCtm100T1.Projet
ENT.PiDt = today
ENT.DelDemDt = today
ENT.OP = 'F'
HWrite(GTFI, ENT)
MOUV = ' '
MOUV.CE1 = 'C'
MOUV.CE2 = '1'
MOUV.GrRef = GrRef
MOUV.CdQte = QteE
MOUV.VenUn = AchUn
MOUV.Depo = Depo
MOUV.CdDt = DelDt
MOUV.Projet = Projet
HWrite(GTFI, MOUV)
Note_Chargement_ (C_APPLIC_DAV,Note,RtfMot=RtfMot)
if Note_Tag_Extraction(C_APPLIC_DAV ,Note,Tag, RtfMot=RtfMot) = true
rtfnom = Note_Rechercher_Nom_Rtf (C_APPLIC_DAV,RtfMot=RtfMot)
init itxt = ' '
itxt.ce1 = 'T'
itxt.txtnat = 2 ; Rtf
itxt.txttyp = TxtTyp ; Note ligne pièce
itxt.txttrait= 1
if rtfnom <> ' '
richo.name = rtfnom
st = fopen (richo,'P')
if st = 0
do
init itxt.texte = $00
while freadst (richo,texte) = 0
if mid (texte,1000,1) <> $00
itxt.texte = texte
else
itxt.texte = mid (texte,1,length (texte)) & $00
endif
hwrite (Gtfi,itxt)
wend
hclose (richo)
endif
endif
endif
;Soit ne pas donner de MVTL, soit faire une boucle pour par exemple changer les délais
MVTL = ' '
MVTL.CE1 = 'V'
MVTL.GrRef = GrRef
MVTL.RefQte = RefQte
MVTL.DelDemDt = Ventilation.DelDemDt
Convertir_RefQte_Qte(Ventilation.Qte, Ventilation.ref, Ventilation.sref1, Ventilation.sref2, Ventilation.refQte, MOUV.VenUn, ART.RefUn)
MVTL.DelAccDt = Ventilation.DelAccDt
MVTL.DelRepDt = Ventilation.DelRepDt
MVTL.DelDt = Ventilation.DelDt
HWrite(GTFI, MVTL) |
Suppression de pièce (S)
Exemple Diva d’une ligne minimale de fichier GTFI pour une suppression
Bloc de code |
---|
IPAR = ' '
IPAR.CE1 = 'I'
IPAR.DOS = MZ.DOS
IPAR.ETB = MZ.ETB
IPAR.TRAIT = 'S' ;Suppression
IPAR.TICOD = 'F' ;Fournisseur
IPAR.PICOD = 2 ;2=cde
IPAR.FullPiNo = PieceIntegration.FullPiNo
HWrite(GTFI, IPAR) |
Validation partielle de devis en commande (V)
Exemple Diva d’une ligne IPAR de fichier GTFI pour une validation partielle, puis plusieurs mouvements MOUV basés pour l’exemple sur : les chapitres et postes
OU la référence article ALB0001 de la pièce d’origine
Bloc de code |
---|
IPAR = " " IPAR.Trait = "V" IPAR.Ce1 = "I" IPAR.Dos = ENTdv.Dos IPAR.Etb = ENTdv.Etb IPAR.TiCod = 'C' IPAR.PiCod = 1 IPAR.PiCodf = 2 IPAR.FullPino = ENTDv.FullPiNo Hwrite (GTFI, IPAR) ;Exemple partiel (non fonctionnel) de lecture des mouvements de la pièce origine do while ReaderNext_Mouvement(Rs_Mouvement, IdrMouv) = 0 ;condition exemple : les ref ALB0001 ou chapitre/postes if ( left(MOUV.REF) = 'ALB0001' or MOUV.CE2 in (2,3) ) MOUV = Rs_Mouvement.MOUV ;reprise du MOUV à valider MOUV.CdQte = MOUV.DvQte ;en commande on reprend la quantité en devis Hwrite (GTFI, MOUV) endif wend |
Validation totale de commande en BL (T)
Exemple Diva d’une ligne IPAR de fichier GTFI pour une validation totale de commande en BL
Bloc de code |
---|
IPAR.ce1 = "I"
IPAR.trait = "T"
IPAR.dos = 998
IPAR.ticod = "C"
IPAR.picod = 2
IPAR.fullpino = fullpino
IPAR.picodf = 3
hwrite(gtfi, ipar) |
Appel de l’intégrateur GTPP150
...
Le fichier GTFI est de type HFI DHFI ('N' en longueur variable).
Il contient des enregistrements, qui doivent respecter l’ordre suivant. L’intégrateur traite chaque IPAR avec les enregistrement qui le suivent pour traiter pièce par pièce. Il termine la pièce au prochain IPAR ou en fin de demande.
Consultez la page dédiée pour plus d’informations sur le contenu de chaque enregistrement Contenu d'un fichier GTFI
Nom enregistrement | Détails | |
---|---|---|
IPAR | OBLIGATOIRE et au début. | Paramètre de l'intégration demandée, notamment l’action attendue |
ENT | OBLIGATOIRE sauf pour Suppression Suit IPAR | En-tête de pièce pour l’action demandée. Un seul entête par IPAR |
ITXT | Suit ENT | Texte en-tête, pied, ligne ou note |
EEC | Suit ENT | Echéance multiple |
EAD | Suit ENT | Adresses |
ENTCPLEXT | Suit ENT | Complément externe d’entête pièce |
MOUV | Suit ENT | Mouvement |
MOUVTCLIRE | Suit MOUV, pour TICOD C uniquement | Remise client mouvement |
MOUVTAX | Suit MOUV | Taxe complémentaire mouvement (ecotaxe) |
MVTL | Suit MOUV | Ventilation |
...