Générer une ligne de coût
La procedure Cout_Collecter de QUPMCOQ000 crée une nouvelle ligne de coût .
Prototype de la procedure
Cout_Collecter (&idlist,statdt,idcout,mtcout,typenr,idenr)
IdList : Liste des lignes de coûts collectées
Paramètre obligatoire
StatDt : Date de prise en compte de la ligne de coût
Paramètre obligatoire
IdCout : Famille coût
Paramètre obligatoire
MtCout : Montant coût
Paramètre obligatoire
TypEnr : Type enregistrement source de la collecte
Paramètre obligatoire
Exemple de valeur :
C_ENRCOD_PBLE = "PBLE" ;constat problème qualité
C_ENRCOD_ECR = "ECR";ecriture comptable
IdEnr : Numéro enregistrement source de la collecte
Paramètre obligatoire
Exemples :
Pour collecter des coûts selon une procédure personnalisée, il faut créer une séquence de traitement dans quttcoq000 selon le modèle suivant, en la nommant selon la famille de coût à personnaliser <<IdCout>>:
;*
public function int <<IdCout>>>_Collecte (debdt,findt,&cptenr,&totcout)
; collecte des coûts personnalisé pour une famille coût <IDCOUT>
1debdtA ;période extraction
1findtA
1cptenrN ;nombre enregistrements extraits
1totcoutN ;montant total extrait
1 reussi 1,0
1finiB
1mtcout>qufdd.dhsd CoutMt
1validB
beginf
reussi = true
totcout = 0
cptenr = 0
; lecture données à collecter
; initialiser clé
tdf.key = [ "A" mz.dos debdt ]
do
fini = hread (tdf,enreg,,"F")
if not fini
if enreg.dos <> mz.dos or enreg.dt > findt
fini = true
endif
endif
while not fini
; calcul couts mtcout
; répartition dans familles coûts
cout_collecter(Idlist_Collecte,enreg.dt,Idcout,mtcout,C_ENRCOD_XXX,enreg.numenr)
cptenr ++
totcout = totcout + mtcout
wend
freturn(reussi)
endf