KPRIJS ;Produkt prijs ;[ 06/18/2003 3:28 PM ] ; Compiled June 3, 2004 08:43:22 PROD(PRNr,PK1,PK2,KV,KKN,KYW,NoSa,SimPPL,KlantGrOrde) ; De SimPPL wordt genomen ter vervanging van de PPL in PRNr, ; zo kan dan het product een generisch product zijn waarvoor het afgeleid product nog niet bestaat If "N"[$G(NoSa) Quit $$PROD^KPRIJSS(PRNr,PK1,PK2,KV,$G(KKN),$G(KYW),.NoSa,.SimPPL) If "S"=$G(NoSa) Quit $$PROD^KPRIJSNew(PRNr,PK1,PK2,KV,$G(KKN),$G(KYW),.NoSa,.SimPPL,.KlantGrOrde) KLANTPR(KLNr,PRNr,NoSa,SimPPL) ; De SimPrijs wordt genomen ter vervanging van de PPL in PRNr, ; zo kan dan het product een generisch product zijn waarvoor het afgeleid product nog niet bestaat Quit:KLNr="?" $$KLANTPR^KPRIJSS(KLNr) If "N"[$G(NoSa) Quit $$KLANTPR^KPRIJSS(KLNr,PRNr,.NoSa,.SimPPL) If "S"=$G(NoSa) Quit $$KLANTPR^KPRIJSNew(KLNr,PRNr,.NoSa,.SimPPL) // Set twee kortingen om van in % (*100) naar één korting in % OneKorting(Korting1,Korting2) Quit (1-((1-(Korting1/100))*(1-(Korting2/100))))*100 LEVPR(LEVNr,PRNr,NoSa) ; Prijsgegevens ophalen voor opmaak toelevering New R,MuntPar,Korting1,Korting2,Munt,AankPr,Eenheid,Prijs If "N"[$G(NoSa) Set NoSa="" Set:'$D(LEVNr) LEVNr=$O(^KPR(PRNr,"J")),LEVNr=$S($E(LEVNr)="J":$E(LEVNr,2,9),1:"?") If '$D(^KPR(PRNr,"J"_LEVNr)) Quit "Undef" Set R=^KPR(PRNr,"J"_LEVNr),Korting1=$P(R,D,9),Korting2="",Munt=$P(R,D,17) Set AankPr=$P(R,D,19),Eenheid=$P(R,D,28) If NoSa="S" Do .Set R=^KPR(PRNr,2) .Set:$D(^TempBlumPRScaduw(PRNr,2)) R=^TempBlumPRScaduw(PRNr,2) .If $L($P(R,D,3)) Set AankPr=$P(R,D,3) .If $L($P(R,D,4)) Set Korting1=$P(R,D,4),Korting2="" .Set:$L($P(^KPR(PRNr,1),D,3)) Munt=$P(^KPR(PRNr,1),D,3) Set MuntPar=$$MUNT^vhRtn1(Munt,,11,"S") Set Prijs=AankPr-(AankPr*Korting1/100),Prijs=Prijs-(Prijs*Korting2/100) Set R=$J(Prijs,0,2)_D_Munt_D_Eenheid_D_AankPr_D_Korting1_D_Korting2_"\\\"_MuntPar_"\\" Set Eenheid=$S(Eenheid="M":1000,Eenheid="H":100,1:1),Prijs=$J(Prijs/Eenheid*MuntPar,0,4) Set R=R_Eenheid_"\\"_Prijs Quit R ; PPL(incl. korting, munt lev) munt, eenheid, Aankprijs( excl. korting, munt lev.), korting1, korting2, , , Pariteit, , eenheid(numeriek), , PPL(EUR incl. korting) CHKPRIJS(PRNr,LijstPr,VerkPr,Eenheid,Pariteit,AankPr,WachtW,Position,TimeOut,Time,Check) New R,KortText,Ok Set WachtW=$G(WachtW),Position=$G(Position),TimeOut=$G(TimeOut),Time=$G(Time) Set Check=$G(Check) Set:Check="" Check="ALV" Set LijstPr=LijstPr/Eenheid*Pariteit,VerkPr=VerkPr/Eenheid*Pariteit,Ok=1 If Check["L",'LijstPr Do .Set KortText=$P(^KPR(PRNr,0),D) .Set R=$$^vhTXTPOP("KPRIJS","CHK-LIJST-NUL-PRIJS","",KortText),Ok=R'="A" .If Ok,$L(WachtW) Set Ok=$$ASK^vhWACHTW(WachtW,Position,TimeOut,Time) Else If Check["A",'AankPr Do .Set KortText=$P(^KPR(PRNr,0),D) .Set R=$$^vhTXTPOP("KPRIJS","CHK-AANK-NUL-PRIJS","",KortText),Ok=R'="A" .If Ok,$L(WachtW) Set Ok=$$ASK^vhWACHTW(WachtW,Position,TimeOut,Time) ELse If Check["V",VerkPrLijstPr Do .Set KortText=$P(^KPR(PRNr,0),D) .Set R=$$^vhTXTPOP("KPRIJS","CHK-VERK-LIJST-PRIJS","",KortText,$J(VerkPr,0,2),$J(LijstPr,0,2)),Ok=R'="A" .If Ok,$L(WachtW) Set Ok=$$ASK^vhWACHTW(WachtW,Position,TimeOut,Time) Quit Ok ; KSKORT(PRNr,Korting,NoSa) Goto KSKORT+1^KPRIJSS ; PRIJSGEG(PRNr,NoSa,SimPPL) If "N"[$G(NoSa) Quit $$PRIJSGEG^KPRIJSS(PRNr,.NoSa,.SimPPL) If "S"=$G(NoSa) Quit $$PRIJSGEG^KPRIJSNew(PRNr,.NoSa,.SimPPL) ; ROUND(Prijs) ; Afronden naar boven op 1 cent Set Prijs=$J(Prijs*100+.499999,0,0)/100 Quit Prijs ;