cAFVBP03 ; dotNET functies aankoopgegeven en leveranciersindex ; cAFVBP03 ; T1 ;Product-leverancier; T3 ;Combinatie leverancier - index is niet uniek.; T4 ;Index; T5 ;Combinatie product - leverancier is niet uniek.; ; T1F ;Produit-fournisseur; T3F ;Combinaison fournisseur - index n'est pas unique.; T4F ;Index; T5F ;Combinaison produit - fournisseur n'est pas unique.; ; T1E ;Product-Supplier; T3E ;Combination Supplier - Index is not unique.; T4E ;Index; T5E ;Combination Product - Supplier is not unique.; ; YZ Q ; AKP(BSP,COE,DEC) ; Berekent de aankoopprijs ; Input: BSP: Basisprijs ; COE: Coëfficient ; DEC: Afronden op x-aantal decimalen S $ZT="^dmERROR" N (BSP,COE,DEC) ; ; Check parameters AKP1 S AKP=0 I '$L($G(BSP))!'$L($G(COE)) G AKP3 ; ; AKP berekenen AKP2 S AKP=BSP*COE ; ; Formatering AKP3 I '$L($G(DEC)) S DEC=2 S AKP=$J(AKP,"",DEC) ; AKPZ Q AKP ; COEF(WZ1,TK1,WZ2,TK2,WZ3,TK3,WZ4,TK4,WZ5,TK5) ; Berekent coëfficiënt aan de hand van werkzones (lever. index) ; Input: WZ1: Werkzone 1 ; TK1: Type korting 1 ; 0: bijkomende korting/toeslag ; 1: korting/toeslag op basisprijs ; ... ; ; Output: Coëfficiënt S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("WZ1,TK1,WZ2,TK2,WZ3,TK3,WZ4,TK4,WZ5,TK5") ; ; Check parameters COEF1 F i="WZ1","TK1","WZ2","TK2","WZ3","TK3","WZ4","TK4","WZ5","TK5" S @i=$G(@i) ; ; B() samenstellen voor berekening COEF2 S $P(B(1),D,11)=$S('WZ1:"",1:$S(TK1:"B",1:"")_$TR(WZ1,"-","")_$S(WZ1<0:"-",1:"")) S $P(B(1),D,12)=$S('WZ2:"",1:$S(TK2:"B",1:"")_$TR(WZ2,"-","")_$S(WZ2<0:"-",1:"")) S $P(B(1),D,13)=$S('WZ3:"",1:$S(TK3:"B",1:"")_$TR(WZ3,"-","")_$S(WZ3<0:"-",1:"")) S $P(B(1),D,14)=$S('WZ4:"",1:$S(TK4:"B",1:"")_$TR(WZ4,"-","")_$S(WZ4<0:"-",1:"")) S $P(B(1),D,15)=$S('WZ5:"",1:$S(TK5:"B",1:"")_$TR(WZ5,"-","")_$S(WZ5<0:"-",1:"")) ; ; Coëfficiënt berekenen COEF3 S COEF=$$COEF^cANP905() ; COEFZ Q COEF ; HAKG(PRLE,PR) ; Hoofdaankoopgegeven? ; Input: PR: UI1 product (PR.A) ; PRLE: UI1 aankoopgegeven (PR_LE.A) ; Output: 0: doorgegeven aankoopgegeven is NIET het hoofdaankoopgegeven ; 1: doorgegeven aankoopgegeven is het hoofdaankoopgegeven N R ; HAKG1 I '$L($G(PRLE))!('$L($G(PR))) G HAKGZ S R=($$DATA^cAFVBO01("^DPR","EA","PR.A",PR,406)=PRLE) ; HAKGZ Q $G(R,0) ; HD(SW,PRCODE,PRDESC,LE) ; Hoofding aankoopgegeven ; Input SW: Switch ; "" of 0: Via object ; 1: Via parameters ; PR: UI1 product (PR.A) ; LE: UI1 leverancier (LE.A) S $ZT="^dmERROR" HD1 D QT^cAFVBO01 S D="\",U=";" N i,HD F i="SW","PRCODE","PRDESC","LE" S @i=$G(@i) ; ; Via parameters HD2 ;I 'SW S PR=..B201GetObjectId(),LE=..B101GetObjectId() I 'SW S LE=..B101GetObjectId() S TIT=$P($T(@("T1"_QT)),U,2),HD="\\"_TIT_"\ ;" S TL=$G(QTD,QT) ;S HD=HD_$$SIG^cAFA1("PR.A",PR,101)_" "_$$SIG^cAFA1("PR.A",PR,$S(TL="":102,TL="F":222,TL="D":301,TL="E":302,1:102))_"\\\\ ;" S HD=HD_PRCODE_" "_PRDESC_"\\\\ ;" S HD=HD_$$SIG^cAFA1("LE.A",LE,101)_" "_$P($G(^(0)),D,2) ; HDZ Q HD ; HDIND(SW,LE,IND,OMS) ; Hoofding index ; Input SW: Switch ; "" of 0: Via object ; 1: Via parameters ; LE: UI1 leverancier ; IND: Index ; OMS: Omschrijving S $ZT="^dmERROR" HDIND1 D QT^cAFVBO01 S D="\",U=";" N i,HD,TIT F i="SW","LE","IND","OMS" S @i=$G(@i) ; ; Via parameters HDIND2 I 'SW S LE=..B106GetObjectId(),IND=..B101,OMS=..B102 F i="LE","IND","OMS" S @i=$TR(@i,U,",") ; ";" uitfilteren S TIT=$P($T(@("T4"_QT)),U,2) S HD="\\"_TIT_"\ ;"_$$SIG^cAFA1("LE.A",LE,101)_" "_$P($G(^(0)),D,2)_"\\\\ ;"_IND_" "_OMS ; HDINDZ Q HD ; CHKIND(LE,IND,OUI1) ; test op uniek gegeven ; Input: LE: Leverancier (LE.A) ; IND: Index ; OUI1: UI1 van index (CODE.9036) S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("LE,IND,OUI1") ; ; Check parameters CHKIND1 S OK=1 I '$L($G(LE))!'$L($G(IND)) G CHKINDZ ; ; Index uniek binnen leverancier? CHKIND2 S UI1=$$UI1OP^cAFA1("CODE.9036","M2","///"_$G(OUI1),$$Q^cAFA10(),LE,IND) I '$L(UI1) G CHKINDZ ; Er werden geen gevonden : dus uniek I $L($G(OUI1)) I (UI1=OUI1) G CHKINDZ ; Eigen UI1 S OK=0_D_$P($T(@("T3"_QT)),U,2) ; CHKINDZ Q OK ; CHKPRLE(PR,LE,OUI1) ; Test op uniek combinatie Product - Leverancier (aankoopgegeven) ; Input: PR: Product (PR.A) ; LE: Leverancier (LE.A) ; OUI1: UI1 van aankoopgegeven (PR_LE.A) S $ZT="^dmERROR" N @$$INITVAR^cAFVBA01("PR,LE,OUI1") ; ; Check parameters CHKPRLE1 S OK=1 I '$L($G(PR))!'$L($G(LE)) G CHKPRLEZ ; ; Index uniek binnen leverancier? CHKPRLE2 S UI1=$$UI1OP^cAFA1("PR_LE.A","M4","///"_$G(OUI1),$$Q^cAFA10(),PR,LE) I '$L(UI1) G CHKPRLEZ ; Er werden geen gevonden : dus uniek I $L($G(OUI1)) I (UI1=OUI1) G CHKPRLEZ ; Eigen UI1 S OK=0_D_$P($T(@("T5"_QT)),U,2) ; CHKPRLEZ Q OK ; ZZ ; 29.08.07 - 10 u 22 * V8.09