cAFVBP01 ; dotNET functies producten ; cAFVBP01 ; T1 ;Ongeldige productcode.; T2 ;Product; ; T1F ;Code produit non valable.; T2F ;Produit; ; T1E ;Invalid Productcode.; T2E ;Product; ; YZ Q ; BTW(QQ) ; Filter op land bij de BTW-codes aan de hand van vennootschap ; Input: QQ: UI1 vennootschap (Q) ; Output: Filter op land N R,LND S $ZT="^dmERROR" ; ; Land ophalen bij vennootschap BTW1 S LND=$$SIG^cAFA1("Q",$G(QQ,Q),206) I '$L(LND) S R="" G BTWZ ; ; Filter samenstellen BTW2 S R="%ALPHAUP(T1.B103)=%ALPHAUP('"_LND_"')" ; BTWZ Q R ; CHKPC(PC) ; Check geldige productcode ; Input: PC: Productcode ; Output: 1: alles OK ; 0\foutboodschap S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("PC") ; ; Check parameters CHKPC1 S R=1 I '$L($G(PC)) G CHKPCZ ; ; Controle (moet met alfanumerisch karakter beginnen) CHKPC2 I PC?1AN.ANP G CHKPCZ S R=0_D_$P($T(@("T1"_QT)),U,2) ; CHKPCZ Q R ; COPYL(PRO,PRN) ; Kopiëren van gelinkte bestanden van een product ; Input: PRO: UI1 bestaand product (PR.A) ; PRN: UI1 nieuwe product (PR.A) ; ; Output: aangemaakte UI1's, gescheiden door "\" ; 1. Hoofdleverancier S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("PRO,PRN") ; ; Check parameters COPYL1 S R="" I '$L($G(PRO))!'$L($G(PRN)) G COPYLZ ; ; Hoofdleverancier bij bestaand product ophalen COPYL2 S HLO=$$SIG^cAFA1("PR.A",PRO,406) ; ; Definities aankoopgegeven COPYL3 S REF=$$REF^cAFA10(.Q,"PR_LE.A",201),UREF=$P(REF,D),IREF=$P(REF,D,3) I '$L(UREF)!'$L(IREF) G COPYLZ ; ; Aankoopgegeven(s) opzetten COPYL4 S (AG,HLN)="" COPYL41 S AG=$O(@IREF@(PRO,AG)) I '$L(AG) G COPYLY S UI1=$P(^(AG),D) S TAB(1)=@UREF@(0),TAB(2)=@UREF@(1) I '$L(TAB(1)) G COPYL49 S $P(TAB(2),D)=PRN ; Nieuw productnummer F I=48,49,50,28,29 S $P(TAB(1),D,I)="" ; Linken uitblanken D P^cAN220("PR_LE.A","","","TAB","") I $L(K) X "STOP" ;G COPYL49 I UI1=HLO S HLN=NUI1 COPYL49 G COPYL41 ; ; Output samenstellen COPYLY S R="" S $P(R,D)=HLN ; Hoofdleverancier ; COPYLZ Q R ; DELL(PR) ; Verwijderen gelinkte bestanden indien product niet bestaat ; Input: PR: UI1 Product (PR.A) ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("PR") ; ; Check parameters DELL1 I '$L($G(PR)) G DELLZ ; ; Bestaat product? DELL2 S UREF=$P($$REF^cAFA10(.Q,"PR.A"),D) I '$L(UREF) G DELLZ S UI1=PR I $D(@UREF) G DELLZ ; Product bestaat (nog) ; ; Aankoopgegeven(s) opzoeken + verwijderen DELL3 S IREF=$P($$REF^cAFA10(.Q,"PR_LE.A",201),D,3) I '$L(IREF) G DELLZ S AG="" DELL31 S AG=$O(@IREF@(PR,AG)) I '$L(AG) G DELLZ S AGUI1=$P(^(AG),D) D X^cAN220("PR_LE.A","",AGUI1) I $L(K) X "STOP" ;G COPYL49 ; Verwijderen DELL39 G DELL31 ; DELLZ Q ; DP(PR,LPR) ; Deelproducten (TIJDELIJKE WRAPPER) ; Input: PR: UI1 Product (PR.A) ; LPR: UI2 eerste bestand (PR) N DP S $ZT="^dmERROR" ; ; Check parameters DP1 S DP=0 I '$L($G(PR)) G DPZ ; ; Gelinkt bestand bepalen DP2 S LPR=$$LINK(PR,$G(LPR)) ; ; Loonkost bepalen DP3 S DP=$$DP^cAFA3(LPR) ; DPZ Q DP ; FIFO(PR,LPR) ; Inventariswaarde FIFO (TIJDELIJKE WRAPPER) ; Input: PR: UI1 Product (PR.A) ; LPR: UI1 eerste bestand (PR) S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("PR,LPR") ; ; Check parameters FIFO1 S R=0 I '$L($G(PR)) G FIFOZ ; ; Gelinkt bestand bepalen FIFO2 S LPR=$$LINK(PR,$G(LPR)) ; ; Inventariswaarde bepalen FIFO3 S R=$$FIFO^cAP000(LPR) ; FIFOZ Q R ; LINK(PR,LPR) ; Eerste bestand van doorgegeven product (PR.A) LINKZ Q $S($L($G(LPR)):LPR,1:$$DATA^cAFVBO01("^DPR","EA","PR.A",$G(PR),150)) ; LK(PR,LPR) ; Loonkost (TIJDELIJKE WRAPPER) ; Input: PR: UI1 Product (PR.A) ; LPR: UI2 eerste bestand (PR) N @$$INITVAR^cAFVBA01("PR,LPR") S $ZT="^dmERROR" ; ; Check parameters LK1 S LK=0 I '$L($G(PR)) G LKZ ; ; Gelinkt bestand bepalen LK2 S LPR=$$LINK(PR,$G(LPR)) ; ; Loonkost bepalen LK3 S LK=$$LK^cAFA3(LPR) ; LKZ Q LK ; KP(PR,LPR) ; Kostprijs (TIJDELIJKE WRAPPER) ; Input: PR: UI1 Product (PR.A) ; LPR: UI2 eerste bestand (PR) N @$$INITVAR^cAFVBA01("PR,LPR") S $ZT="^dmERROR" ; ; Check parameters KP1 S KP=0 I '$L($G(PR)) G KPZ ; ; Gelinkt bestand bepalen KP2 S LPR=$$LINK(PR,$G(LPR)) ; ; Loonkost bepalen KP3 S KP=$$KP^cAFA3(LPR) ; KPZ Q KP ; HD(TYPE,SW,CODE,OMS) ; Hoofding ; Input TYPE: 0 = Product ; SW: Switch ; "" of 0: Via object ; 1: Via parameters ; CODE: Code ; OMS: Omschrijving S $ZT="^dmERROR" HD1 D QT^cAFVBO01 S D="\",U=";" N i,HD F i="TYPE","SW","CODE","OMS" S @i=$G(@i) ; ; Via parameters HD2 I 'SW S CODE=..B101,OMS=$S($G(QTD,QT)="":..B102,$G(QTD,QT)="F":..B222,$G(QTD,QT)="D":..B301,$G(QTD,QT)="E":..B302,1:..B102) F i="CODE","OMS" S @i=$TR(@i,U,",") ; ";" uitfilteren S TIT=$P($T(@("T2"_QT)),U,2) S HD="\\"_TIT_"\ ;"_CODE_" "_OMS ; HDZ Q HD ; CHKHL(PR,HL) ; Controle input Hoofdleverancier ; Input: PR: Product (intern nummer PR.A) ; HL: Ingegeven hoofdleverancier ; ; Output: 0 ; 1\Id\Query ; 2\Getrimde waarde\Parameter ; S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("PR,HL") ; ; Check parameters CHKHL1 S OK=0 I '$L($G(HL))!'$L($G(PR)) G CHKHLZ S HL=$TR(HL,"+","") ; ; Variabelen opzetten CHKHL2 S KLASSE="Prog_Prod.PrLe" S TABEL="Prog.Prod.PrLe" S GRIDID="PROG.PROD.PRLE" S DMS="PR_LE.A" S ZBIND="B102" I +HL=HL S ZBIND="B101" ; ; Query samenstellen CHKHL3 S query="SELECT T1.ID From "_KLASSE_" T1" S query=query_" WHERE %ALPHAUP(T1.B201) = %ALPHAUP('"_PR_"')" S query=query_" AND %ALPHAUP(T1.B101->"_ZBIND_") LIKE %ALPHAUP('"_HL_"')_'%'" S query=query_" AND T1.LevelUsage = '0' AND (%ALPHAUP(T1.B149) = %ALPHAUP('"_$$Q^cAFA10_"'))" ; S ClassName="%Library.DynamicQuery",QueryName="SQL" S rs=##class(%Library.ResultSet).%New(ClassName_":"_QueryName) I 'rs s OK="0" G CHKHLZ ; Could not create an instance for the query s OK=rs.Prepare(query) I 'OK S OK="0" G CHKHLZ ; Could not prepare query S OK=rs.Execute() I 'OK S OK="0" G CHKHLZ ; Could not excute query ; ; Query uitvoeren CHKHL4 F tel=0:1:2 Q:rs.Next()=0 S PRLEID=rs.GetData(1) ; ; Resultaat verwerken CHKHL5 I tel=0 S OK=0 G CHKHLY ; Geen aankoopgegeven gevonden I tel>1 S OK="2"_D_HL G CHKHL7 ; Meerdere aankoopgegevens gevonden ; ; Eén aankoopgegeven gevonden: query samenstellen CHKHL6 S OK=$$INPUT^cAFVBI01(.Q,DMS,"",GRIDID,PRLEID,"","","","","",$G(QTD," ")) I 'OK S OK=0 G CHKHLY I +OK=0 S OK=0 G CHKHLY I +OK=1 S $P(OK,D,3,6)=$$QUERY^cAFVBI01(TABEL,$P(OK,D,2),"","",$P(OK,D,5),$P(OK,D,6),GRIDID,,,,,$G(QTD," ")) G CHKHLY ; ; Meerdere aankoopgegevensOpzoeken kolom uit grid CHKHL7 S $P(OK,D,3)=$$GRIDKOL^cAFVBI01(GRIDID,"B101->"_ZBIND) I '$L($P(OK,D,3)) S OK=0 ; kolom niet in de grid gevonden : mag grid niet opstarten ; ; Resultset afsluiten CHKHLY S rs=rs.%Close() ; CHKHLZ Q OK ; MARGE(VKP,AKP,BTW) ; Marge tussen aankoopprijs en verkoopprijs (TIJDELIJKE WRAPPER) ; Input: VKP: Verkoopprijs ; AKP: Aankoopprijs ; BTW: UI1 BTW (CODE.9011) N @$$INITVAR^cAFVBA01("VKP,AKP,BTW") S $ZT="^dmERROR" ; ; Variabelen opzetten MARGE1 I $L($G(BTW)) S BTW=$$BTWC^cAN00822(BTW) S $P(B(1),D,5)=$G(BTW)_D_D_$G(VKP),$P(B(1),D,19)=$G(AKP) ; ; Marge bepalen MARGE2 S R=+$TR($$MARGE^cAFA3,",",".") ; MARGEZ Q R ; ; VK12M(PR,UI1) ; Verkocht laatste 12 maand (TIJDELIJKE WRAPPER) ; Input: PR: UI1 Product (PR.A) ; UI1: UI2 eerste bestand (PR) N @$$INITVAR^cAFVBA01("PR,UI1,UREFPR") S $ZT="^dmERROR" ; ; Check parameters VK12M1 S R=0 I '$L($G(PR)) G VK12MZ ; ; Gelinkt bestand bepalen VK12M2 S UI1=$$LINK(PR,$G(UI1)) I '$L(UI1) G VK12MZ ; ; Aantal verkocht de laatste 12 maand bepalen VK12M3 S UREFPR=$G(UREFPR,$P($$REF^cAFA10(.Q,"PR"),D)) S J=DJ*100+DM,R=+$G(@UREFPR@("S"_J)) F I=1:1:11 S J=J-1 S:'(J#100) J=J-88 S R=R+$G(^("S"_J)) ; VK12MZ Q R ; ZZ ; 29.08.07 - 10 u 22 * V8.09