cAFVBP05 ; Voorraadwijziging ; cAFVBP05 ; T1 ;Product ; T2 ;Foutieve verantwoording; T3 ;Verantwoording moet ingevuld zijn.; T4 ;Product moet ingevuld zijn.; T5 ;Product werd reeds geselecteerd.; ; T1F ;Produit ; T2F ;Justification incorrect; T3F ;Justification doit être rempli.; T4F ;Produit doit être rempli.; T5F ;Produit a déjà été choisi.; ; T1E ;Product ; T2E ;Justification is not correct; T3E ;Justification has to be filled in.; T4E ;Product has to be filled in.; T5E ;Product has already been chosen.; ; YZ Q ; CHKVW(AANT,VERANT) ; Controle of een correcte verantwoording stockcorrectie werd ingegeven S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("AANT,VERANT") S OK=1 I AANT="" G CHKVWZ I VERANT="",$G(AANT) S OK=0_D_$P($T(@("T3"_QT)),U,2) G CHKVWZ S AANT=$G(AANT)-1 I '$L($G(VERANT)) G CHKVWZ S FILT=$$SIG^cAFA1("CODE.9041",VERANT,104) I +FILT=0 G CHKVWZ I AANT<0,(FILT'=1) G CHKVWZ I AANT>0!(AANT=0),(FILT'=2) G CHKVWZ S OK=0_D_$P($T(@("T2"_QT)),U,2) ; I (AANT>0!(AANT=0)),(FILT'=1) S OK=0_D_$P($T(@("T2"_QT)),U,2) G CHKVWZ ; I AANT<0,(FILT'=2) S OK=0_D_$P($T(@("T2"_QT)),U,2) G CHKVWZ CHKVWZ Q OK ; FILTER(AANT) ; Opzetten filter ivm verantwoording stockcorrectie S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("AANT") I AANT>0!(AANT=0) S FILTER="(T1.B104<>'2' OR T1.B104 IS NULL)" G FILTERZ S FILTER="(T1.B104<>'1' OR T1.B104 IS NULL)" FILTERZ Q FILTER ; BTEMP(GRIDID,SELID,VERANTW,COMM) ; Opbouw ^mtemp99 van de stokwijzigingen ; GRIDID: Volgnr van de grid : indien '' : volgnummer ophalen ; SELID: GridId van de productselectie ; VERANTW: Default UI1 verwantwoording (CODE.9041) ; COMM: Default commentaar ; S $ZT="ERR^cAFVBF01" N @$$INITVAR^cAFVBA01("GRIDID,SELID,VERANTW,COMM") ; ; Controle parameters BTEMP1 F i="GRIDID","SELID","VERANTW","COMM" S @i=$g(@i) I '$L(GRIDID) S GRIDID=$$GRIDID^cAFVBF01() ; ; Definities ophalen BTEMP2 K ^mtemp99(GRIDID,"COMMON") S OK=GRIDID I '$L(SELID) G BTEMPZ S PRUREF=$P($$REF^cAFA10(.Q,"PR.A"),D) I '$L(PRUREF) G BTEMPZ ; ; Opbouwen mtemp99 BTEMP3 S VOLGNR=1000 S UI1="" BTEMP31 S UI1=$O(^mtemp99(SELID,"COMMON",UI1)) I '$L(UI1) G BTEMPZ S (N0,N1)="" S $P(N0,D,2)=UI1 ; Product S $P(N0,D,6)=VERANTW ; Verantwoording S $P(N0,D,8)=COMM ; Commentaar S $P(N1,D)=$P(@PRUREF@(0),D,14) ; Huidige voorraad S $P(N1,D,3)=+$P(@PRUREF@(1),D,20) ; Switch wijzigbaar (= voorraadbeheer ja/neen) S $P(N1,D,4)=0 ; Nieuwe lijn (0= neen) S ^mtemp99(GRIDID,"COMMON",VOLGNR,0)=N0,^(1)=N1 S VOLGNR=VOLGNR+1 BTEMP39 G BTEMP31 ; BTEMPZ Q OK ; SAVER() ; Opslaan van rij in mtemp99 ; OPGELET: Instantie van Prog.Tech.PrHis moet bestaan ; N OK,GRIDID,UI1,N0,N1 S $ZT="^dmERROR" ; ; Variabelen opzetten SAVER1 S OK=1,D="\" S PRUREF=$P($$REF^cAFA10(.Q,"PR.A"),D) I '$L(PRUREF) G SAVERZ S PRUREF=$$REPL^cAFA10(PRUREF,"UI1","UI1PR") ; ; Waarden ophalen SAVER2 S GRIDID=..GridId S UI1=..PrHisId S N0="",N1="" S N0=$G(^mtemp99(GRIDID,"COMMON",UI1,0)),N1=$G(^(1)) S $P(N0,D,9)=..B109 ; Te corrigeren aantal S $P(N0,D,6)=..B106GetObjectId() ; Verantwoording S $P(N0,D,8)=..B108 ; Commentaar S $P(N1,D,2)=..B202 ; Nieuwe voorraad ; Ingave nieuwe lijn I ..B204=1 D . S $P(N0,D,2)=..B102GetObjectId() ; Product . S $P(N1,D,4)=0 ; Geen nieuwe lijn meer . S UI1PR=$P(N0,D,2) . S $P(N1,D)=$P(@PRUREF@(0),D,14) ; Huidige voorraad . S $P(N1,D,3)=+$P(@PRUREF@(1),D,20) ; Switch wijzigbaar (= voorraadbeheer ja/neen) ; ; Opslaan in mtemp99 SAVER3 S ^mtemp99(GRIDID,"COMMON",UI1,0)=N0,^(1)=N1 ; SAVERZ Q OK ; STKWIJZ(GRIDID,DAT,REF) ; Voorraadwijziging ; Input: GRIDID : GridId van de ^mtemp99 met geselecteerde UI1's ; DAT : $H, datum wijziging ; REF : referentie ; Output: 0\Boodschap indien niet alle producten kunnen gelockt worden. ; 1\ : ok S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("GRIDID,DAT,REF") S SWOK=1 I GRIDID="" G STKWIJZZ ; Locken geselecteerde producten S UI1="" STKWIJZA S UI1=$O(^mtemp99(GRIDID,"COMMON",UI1)) I UI1="" G STKWIJZB S INH=^(UI1,0) S UI1PR=$P(INH,D,2) ; Enkel lijnen locken waar een aantal werd ingevuld I '$L($P(INH,D,9)) G STKWIJZA I $D(LOCTAB(UI1PR)) G STKWIJZA ; Is reeds gelocked (product 2x geselecteerd) ; Locken oud en nieuw product S SWOK=$$LOCK^cAFVBA01(Q,"PR.A",UI1PR,1,$P($T(@("T1"_QT)),U,2)_$$SIG^cAFA1("PR.A",UI1PR,101)_"~"_1) I 'SWOK G STKWIJZX ; Bijhouden welke producten konden gelocked worden S LOCTAB(UI1PR)="" G STKWIJZA ; Verwerken van de stockwijzigingen STKWIJZB S UI1="" STKWIJZC S UI1=$O(^mtemp99(GRIDID,"COMMON",UI1)) I UI1="" G STKWIJZX S INH=^(UI1,0) S UI1PR=$P(INH,D,2) ; Enkel lijnen beschouwen waar een aantal is ingevuld I '$L($P(INH,D,9)) G STKWIJZC S DAT1=$$HD^cAFD1(DAT) D WIJZ(UI1PR,DAT1,REF,$P(INH,D,9),$P(INH,D,8),$P(INH,D,6)) G STKWIJZC ; Unlocken van alle gelockte producten STKWIJZX S UI1PR="" STKWIJZY S UI1PR=$O(LOCTAB(UI1PR)) I UI1PR="" G STKWIJZZ ; Unlocken oud en nieuw product S K=$$LOCK^cAFVBA01(Q,"PR.A",UI1PR,0,$P($T(@("T1"_QT)),U,2)_$$SIG^cAFA1("PR.A",UI1PR,101)_"~"_1) G STKWIJZY STKWIJZZ Q SWOK ; WIJZ(UI1PR,DT1,UIN,ATLX,COM,VERANT) ; Doorvoeren stockwijz. voor 1 product N INHPR,AKP,VKP,STK,BTW,MRK,HIS,BL,LEV,UWC,BEW,CODE,EP,PS S $ZT="TRAP^cAN000" ; Ophalen parameters producten S PS=$G(@("^"_Q_"PR(0,19)")) S KEI=0 ; excl. BTW S DAI=$$DC^cAFD1(DT1) ; Opzoeken gegevens product S INHPR=$$SIGN^cAFA1("PR.A",UI1PR,0) S PR=$P(INHPR,D,50) S AKP=$P(INHPR,D,19),VKP=$P(INHPR,D,7),STK=$P(INHPR,D,14),BTW=$P(INHPR,D,5),HIS=$P(INHPR,D,15) ; Omvormen BTW-code naar oud nr. BTW-code S BTW=$$SIG^cAFA1("CODE.9011",BTW,150) ; Opzoeken gegevens hoofdaankoopgegeven S BL(1)=$$SIGN^cAFA1("PR_LE.A",$$SIG^cAFA1("PR.A",UI1PR,406),0),LEV=$P(BL(1),D) ; Ophalen nr. leverancier S LEV=$$SIG^cAFA1("LE.A",LEV,101) S UWC=0 ; Opzoeken welke beweging die bij de verantwoording hoort S BEW=$$SIG^cAFA1("CODE.9041",VERANT,103) ; Opzoeken code van de gekozen verantwoording S CODE=$$SIG^cAFA1("CODE.9041",VERANT,150) ; Opzoeken eenheidsprijs S K=VKP S K=$$EP^cAFA30(Q,K,KEI,BTW) S EP=AKP I BEW=2!(BEW=12) S EP=+$J(K,0,QD+5) D ; registratie NT . S $ZT="TRAP^cAN000" . N UQC,USC D DMS^cAN000("UQC","USC","PR.STCOR") Q:UQC=""!(USC="") . N UI1,A,B,SW2,SW3,UFU,UREF,X,Y S UREF=^DMC(UQC,USC,"DATA","REF") . S X=1000,Y=PR_" "_CODE_" "_DAI_" " . F S UI1=Y_X L +@UREF Q:'$D(@UREF) L -@UREF S X=X+1 . S A(1)=D,B(1)=PR_D_CODE_D_DT1_D_ATLX_D_EP_D_UIN_D_COM . S (SW2,SW3)=1,UFU="O" D B^cAN000(130,""),U^cAN000 . L -@UREF ; I BEW=2!(BEW=4)!(BEW=12) D ; (neg) verk/corr.uit . S R=DAI_(BEW#10) . S $P(R,D,2)=-ATLX . S $P(R,D,3)=EP . S $P(R,D,4)=HIS . S $P(R,D,5)=$S(BEW=4:1,1:UWC) . S $P(R,D,6)=$P(PS,D,5) . S $P(R,D,7)=$P(PS,D,3) . S $P(R,D,8)=LEV . S $P(R,D,9)="F" . S $P(R,D,10)=UIN . S $P(R,D,13)=1 . S $P(R,D,14)=1 . S $P(R,D,22)=CODE . S $P(R,D,23)=COM . D ^cPNV006d ; I BEW=1!(BEW=3)!(BEW=11) D ; (neg) aank/corr.in . S R=DAI_(BEW#10) . S $P(R,D,2)=ATLX . S $P(R,D,3)=EP . S $P(R,D,4)=HIS . S $P(R,D,5)=$S(BEW=3:1,1:UWC) . S $P(R,D,6)=$P(PS,D,5) . S $P(R,D,8)=LEV . S $P(R,D,9)="F" . S $P(R,D,10)=UIN . S $P(R,D,12)=1 . S $P(R,D,22)=CODE . S $p(R,D,23)=COM . D ^cANP001d . I BEW=1 D ; laatste akp .. D W^cAN220("PR.A","",UI1PR,231,AKP) ; ; einde stockcorr. product S @%Q1=1 WIJZZ Q ; CREATEL(GRIDID) ; Creatie lijn in mtemp99 ; Input: ; GRIDID : gridid van empties ; Output: ; 1\GRIDID\ROWID S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("GRIDID") S GRIDID=$G(GRIDID) I '$L(GRIDID) S GRIDID=$$GRIDID^cAFVBF01() S UI1=$O(^mtemp99(GRIDID,"COMMON",""),-1) ; ; er zijn nog geen empties voor deze leveringsbon ingegeven I '$L($G(UI1)) S UI1=1000 G CREATELZ ; S UI1=UI1+1 ; CREATELZ Q 1_D_GRIDID_D_UI1 ; CHKPR(GRIDID,ROWID,PR) ; Controle op product ; Input: ; GRIDID ; ROWID : huidige rij ; PR : intern nummer product (PR.A) ; Output: ; 0/foutboodschap ; 1/Huidige voorraad S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("GRIDID,ROWID,PR") I '$L($G(PR)) S OUT=2_D_$P($T(@("T4"_QT)),U,2) G CHKPRZ ; S I1="",OK=1 F S I1=$O(^mtemp99(GRIDID,"COMMON",I1)) Q:I1="" D Q:'OK . I I1=ROWID Q . I $P(^(I1,0),D,2)=PR S OK=0 I 'OK S OUT=0_D_$P($T(@("T5"_QT)),";",2) G CHKPRZ ; ; Huidige voorraad ophalen S HVOORR=$$SIG^cAFA1("PR.A",PR,114) S OUT=1_D_HVOORR ; CHKPRZ Q OUT ; CHKAANT(GRIDID) ; Input: ; GRIDID ; Output: ; 0 = geen aantal ingevuld ; 1 = aantal ingevuld S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("GRIDID") S OUT=0 I '$L($G(GRIDID)) G CHKPRZ ; S I1="",OK=1 F S I1=$O(^mtemp99(GRIDID,"COMMON",I1)) Q:I1="" D Q:'OK . I $L($P(^(I1,0),D,9)) S OK=0 I 'OK S OUT=1 CHKAANTZ Q OUT ; DELROW(ID) ; INPUT: ; ID : nummer van de rij die verwijderd mag worden ; OUTPUT: ; 1 ; S $ZT="^dmERROR" ; S OK=1 S GRIDID=$P(ID,"||") K ^mtemp99(GRIDID,"COMMON",$P(ID,"||",2)) DELROWZ Q OK ; ZZ ; 29.08.07 - 10 u 22 * V8.09