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 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187
|
$LECTURE
# By JCB on 20210819
# Copie et modification du traitement standard
# Modification du Link [LNK]. Ajout de du lien vers Articles [ITM]ITM0=[PTD]ITMREF
# Déplacement du [LNK] avant l'appel des filtres
GPE=1
Local Decimal WMNTORG(0..1), WMNTDES(0..1), WMNTHT, WMNTTTC
Local Integer SPSTAT
#acces depuis article ou article site
If GPILNAV>1
If find(GNAVIG(GPILNAV-1),"GESITM")
Diszo [M:CPS1]ITMREF
Else If find(GNAVIG(GPILNAV-1),"GESITF")
Diszo [M:CPS1]ITMREF
Diszo [M:CPS1]PRHFCY
Diszo [M:CPS1]CPY
Endif
Endif
#acces depuis clients ou fournisseurs
If find(GNAVIG(GPILNAV-1),"GESBPS","GESBPC")
# Diszo [M:CPS1]BPSNUM
Diszo [M:CPS1]BPSNUMDEB : Diszo [M:CPS1]BPSNUMFIN
Endif
# Issue Issue X3-15598 - 2017-02-23 by FGR : BEGIN
If find(GNAVIG(GPILNAV-1),"GESPJM","PJMACTBUD", "PJMACTTAS") Then
Diszo [M:CPS1]PJTDEB
Diszo [M:CPS1]PJTFIN
Endif
# Issue Issue X3-15598 - 2017-02-23 by FGR : END
Endif
Gosub CHANGE_MSK From GCONSULT
If CHGPAG<0 : NOL = MAXLIG : Endif
# Ajout du lien vers le fichier ITM
Link [PTD] With [PTH]PTH0=[PTD]PTHNUM,
& [ITM]ITM0=[PTD]ITMREF
& As [LNK]
#-- Positionnement des Filtres
#Attention. il faut envoyer vers le traitement standard
Gosub LOAD_FILTER From CNSCPSSTD
If PROGSPE<>""
ACTION = "FILTRE" : Gosub ACTION From =PROGSPE
Endif
# ------------------------------------------------------- #
# CHGPAG = 1 : Recherche #
# ------ = 2 : Suite #
# = 3 : F5 (Rafraichissement page courante) #
# CHGPAG = -1 : Dernier #
# ------ = -2 : Retour (Page précédente) #
# ------------------------------------------------------- #
#-- Application des Filtres
If CHGPAG > 0
SUITE=1
If CHGPAG = 1 : RETOUR = 1 : Elsif CHGPAG = 2 : RETOUR = 2 : Endif
Case [M:CCPS]TRI
When 1 : # tri par numéro
Filter [LNK] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2) & evalue(WFIL3) Order By Key PTD0
When 2 : # tri par date
Filter [LNK] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2) & evalue(WFIL3)
& Order By Key CLE=[F:PTD]RCPDAT;[F:PTD]PTHNUM;[F:PTD]PTDLIN :# 69747
#& Order By Key CLE=[F:PTD]RCPDAT;[F:PTD]PTHNUM
Endcase
Else
RETOUR=1
If CHGPAG = -1 : SUITE = 1 : Else SUITE = 2 : Endif
Case [M:CCPS]TRI
When 1 : # tri par numéro
Filter [LNK] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2) & evalue(WFIL3) Order By Key PTD0 Desc
When 2 : # tri par date
Filter [LNK] Where evalue(WFIL) & evalue(WFIL1) & evalue(WFIL2) & evalue(WFIL3)
& Order By [F:PTD]RCPDAT Desc ;[F:PTD]PTHNUM Desc ;[F:PTD]PTDLIN Desc :# 69747
#& Order By [F:PTD]RCPDAT Desc ;[F:PTD]PTHNUM Desc
Endcase
Endif
#-- raz du masque
If CHGPAG<>2 & CHGPAG<>-2 : Raz [M:CPS2] : Endif
#-- lecture
$BOUCLE
For [LNK]
# Filtre sur la société
If [M:CPS1]CPY <> ""
If [F:FCY]FCY <> [F:PTH]PRHFCY Read [FCY] FCY0 = [F:PTH]PRHFCY
If fstat Raz [F:FCY] : Endif
Endif
If [F:FCY]LEGCPY <> [M:CPS1]CPY Goto SUIV : Endif
# Issue 91193 - 2013-08-09 by MUARN : Réaffectation Globale
GSOCIETE = [M:CPS1]CPY
Endif
If NBLU = 1
If CHGPAG=2 | CHGPAG=-2 : Raz [M:CPS2] : Endif
NBLU = 2
Endif
If CHGPAG > 0
If NOL >= MAXLIG-1 : SUITE=2 : Break : Endif
NOL += 1
If NOL=0
#69747
If CHGPAG=2
If [F:PTD]PTHNUM=FINNUM and [F:PTD]PTDLIN<=FINLIN : NOL-=1 : Goto SUIV : Endif
Endif
#fin 69747
DEBNUM = [F:PTH]PTHNUM
DEBDAT = [F:PTH]RCPDAT
DEBLIN = [F:PTD]PTDLIN :# 69747
Endif
FINNUM = [F:PTH]PTHNUM
FINDAT = [F:PTH]RCPDAT
FINLIN = [F:PTD]PTDLIN :# 69747
Else
If NOL <= 0 : RETOUR=2 : Break : Endif
NOL -= 1
If NOL=MAXLIG-1
#69747
If CHGPAG=-2
If [F:PTD]PTHNUM=DEBNUM and [F:PTD]PTDLIN>=DEBLIN : NOL+=1 : Goto SUIV : Endif
Endif
#fin 69747
FINNUM = [F:PTH]PTHNUM
FINDAT = [F:PTH]RCPDAT
FINLIN = [F:PTD]PTDLIN :# 69747
Endif
DEBNUM = [F:PTH]PTHNUM
DEBDAT = [F:PTH]RCPDAT
DEBLIN = [F:PTD]PTDLIN :# 69747
Endif
nolign = NOL+1
[M:CPS2]=[F:PTH] : # trans classe sur PRECEIPT
[M:CPS2]=[F:PTD] : # trans classe sur PRECEIPTD
#MAE, exi 91193
#CONVERSION EN DEVISE DOCUMENT (SOCIÉTÉ POUR LINAMT)
If GLOCALDEV <> [F:PTH]CUR & [F:PTH]CHGCOE<>0
#récupération arrondi devise société
If GLOCALDEV <> [F:PTH]CUR
Read [TCU] TCU0 = GLOCALDEV
If fstat Raz [F:TCU] : Endif
Endif
[M:CPS2]LINAMTSOC(nolign-1) = arr([M:CPS2]LINAMT(nolign-1)*[F:PTH]CHGCOE,[F:TCU]CURRND)
#récupération arrondi devise document
If GLOCALDEV <> [F:PTH]CUR
Read [TCU] TCU0 = [M:CPS2]CUR(nolign-1)
If fstat Raz [F:TCU] : Endif
Endif
[M:CPS2]CSTPURDOC(nolign-1) = arr([M:CPS2]CSTPUR(nolign-1)/[F:PTH]CHGCOE,[F:TCU]CURRND)
[M:CPS2]LINCSTPURDOC(nolign-1) = arr([M:CPS2]LINCSTPUR(nolign-1)/[F:PTH]CHGCOE,[F:TCU]CURRND)
# MUARN, exi 91193
[M:CPS2]LINATIAMTSOC(nolign-1) = arr([M:CPS2]LINATIAMT(nolign-1)*[F:PTH]CHGCOE,[F:TCU]CURRND)
Else
[M:CPS2]LINAMTSOC(nolign-1) = [M:CPS2]LINAMT(nolign-1)
[M:CPS2]CSTPURDOC(nolign-1) = [M:CPS2]CSTPUR(nolign-1)
[M:CPS2]LINCSTPURDOC(nolign-1) = [M:CPS2]LINCSTPUR(nolign-1)
# MUARN, exi 91193
[M:CPS2]LINATIAMTSOC(nolign-1) = [M:CPS2]LINATIAMT(nolign-1)
Endif
#fin MAE 91193
#US 71069/12 PJT by RBA
[M:CPS2]PJT(nolign-1) = [F:PTD]PJT
#/US 71069/12 PJT by RBA
$SUIV
Next
Filter [LNK]
#Spécifique pour afficher les catégories articles
For II = 0 To dim([M:CPS2]PTHNUM)-1
If [M:CPS2]ITMREF(II)<>""
Read [F:ITM]ITM0=[M:CPS2]ITMREF(II)
If fstat : Raz [F:ITM] : Endif
[M:CPS2]TCLCOD(II)=[F:ITM]TCLCOD
Endif
Next
Affzo [M:CPS2]TCLCOD
Return |
Partager