PRHF ;Produkten halffabrikaten [ 11/21/2003 2:08 PM ] ; HADPR(TOENr,TLUNr,PRNr,AantWMS,RCPODate) New R,HFCode,HFPRNr,Aantal,KLNr,WVAantal,DimUitV,QtyWVRes,ResRec,FabKey Do LogMoeder("M",PRNr,PRNr_D_TOENr_D_TLUNr_D_AantWMS) If '$$ISHALUX^PRODUKT2(PRNr),'$$ISNV^PRODUKT2(PRNr) Quit Set HFCode="",KLNr=$$GETALG^DEFAULTS("MRP","KLNR") For Set HFCode=$O(^PRBS("BS",PRNr,HFCode)) Quit:HFCode="" Do . Set R=^PRBS("BS",PRNr,HFCode) . Set HFPRNr=$P(R,D) . Do Log("PRBS",HFPRNr,PRNr_"\"_R) . Quit:$P(R,D,3)'="H" ; Geen halffabrikaat . Quit:$P(R,D,27) ; Geen stockaanpassingen voor dit product . Set FabKey=$$FABKEYT^HADOPV(TOENr,TLUNr) . Set ResRec=$G(^HADPR("F",FabKey,"AR",HFCode)) . Do Log("HADPR",HFPRNr,PRNr_"\"_ResRec) . If $P(ResRec,D,8)="H" Do ; Reeds op halffabrikaat gezet waardoor de stock niet moet verminderd worden . . Set QtyWVRes=$P(ResRec,D,5) . . Set HFPRNr=$P(ResRec,D,1) . . Quit:'$D(^KPR(HFPRNr)) . . Do MODHalfFabrStock^MRPSTOCK(HFPRNr,-QtyWVRes) . Else Do ; Nog niet op halffabrikaat dus volledige verwerking . . Set R=^PRBS("BS",PRNr,HFCode),HFPRNr=$P(R,D),Aantal=$P(R,D,2) . . Quit:'$D(^KPR(HFPRNr)) . . Quit:$P(^KPR(HFPRNr,0),D,23)?1(1"HZ",1"HHZ") ; Niet voor halffabrikaten ZONDER stock verwerking, zie tabel PRLINK;LINKTYPE . . Set DimUitV=$P($G(^PRBS("BS",PRNr,HFCode,"D")),D,3) . . Set WVAantal=$$CV2WV^MRP(HFPRNr,0,AantWMS*Aantal,DimUitV) . . Do Log("STAT",HFPRNr,WVAantal) . . Do STAT(TOENr,TLUNr,KLNr,PRNr,HFPRNr,WVAantal,RCPODate) . . Do HIST(TOENr,TLUNr,KLNr,PRNr,HFPRNr,WVAantal,RCPODate) Do DELONE^MRPRES(TOENr_";"_TLUNr,PRNr,,,AantWMS) ; WVAantal -> AantWMS : aangepast op PV 10/10/2011 Quit ; STAT(TOENr,TLUNr,KLNr,PRNr,HFPRNr,Aantal,Date) New R,LEVNr,TLNr New Prijs,Round,Munt,Pariteit,SpecPrs,Netto,Marge,LijstPr,IsKom ; KSTKL en KSTPR Set R=$$KLANTPR^KPRIJS(KLNr,PRNr) Set ($P(R,D),$P(R,D,13),$P(R,D,14),$P(R,D,15))=0 ; Zonder verkoop-, aankoop- en lijstprijs Set Prijs=$P(R,D),Round=$P(R,D,10),Munt=$P(R,D,2),Pariteit=$P(R,D,9),SpecPrs="" Set Netto=$P(R,D,14)*Aantal,Marge=$P(R,D,14)-$P(R,D,13)*Aantal,LijstPr=$P(R,D,15) Do BLD^STAT(KLNr,HFPRNr,$$EXTDATE^vhLib.DataTypes(Date,"DKP"),Aantal,Prijs,Round,Munt,Pariteit,SpecPrs,Netto,Marge,LijstPr) ; KSPW Set R=^KTO1(TOENr),LEVNr=$P(R,D),TLNr=^TO("IU",TOENr,TLUNr) Set R=^KTO(LEVNr,TOENr,TLNr),IsKom=''$L($P(R,D,27)),IsKom=0 ; Altijd Stock Set R=HFPRNr_D_$$EXTDATE^vhLib.DataTypes(Date,"DSN")_D_Aantal_D_0_D_IsKom Do ^Stat.Product.UpdateWeekStatistiek Quit ; HIST(TOENr,TLUNr,KLNr,PRNr,HFPRNr,Aantal,Date) New R,RTemp,PR,Waarde,ModHist,IsEuro,StukPr,LEVNr,TLNr,ORDNr,EindKLNr,OrdDat Set PR=HFPRNr,IsEuro=$$ISEURO^vhRtn1(),EindKLNr="" If TOENr,TLUNr Do .Set R=^KTO1(TOENr),LEVNr=$P(R,D) .Set TLNr=$G(^TO("IU",TOENr,TLUNr)) .Quit:'TLNr .Set R=^KTO(LEVNr,TOENr,TLNr),ORDNr=$P(R,D,27) .Quit:'ORDNr .Set R=^KO1(ORDNr,"F"),EindKLNr=$P(R,D) .Set OrdDat=$P($$ORDGEG^FLOWTOE(LEVNr,TOENr,TLNr),D,2) Set:$L(OrdDat) OrdDat=$$INTDATE^vhLib.DataTypes(OrdDat) If 'EindKLNr Set R=$O(^KSTPR(PRNr,0)) If $O(^KSTPR(PRNr,R))="" Set EindKLNr=R Set R=^KPR(HFPRNr,0),ModHist=$P(R,D,15) Set R=$$KLANTPR^KPRIJS(KLNr,HFPRNr),StukPr=$P(R,D,14),Waarde=StukPr*Aantal Set R=$$EXTDATE^vhLib.DataTypes(Date,"DSN")_4,$P(R,D,12)="" Set $P(R,D,2)=Aantal,$P(R,D,4)=1,$P(R,D,5)=$J(Waarde,0,$S(IsEuro:4,1:2)) Set $P(R,D,7)=ModHist,$P(R,D,8)="H:"_EindKLNr_":"_TOENr Set RTemp=R Set:$P(RTemp,D,2) R=$$CV2EENH^MRP(PRNr,$P(RTemp,D,2)),$P(RTemp,D,5)=$P(RTemp,D,5)/$P(RTemp,D,2)*R,$P(RTemp,D,2)=R Set R=RTemp Do WV^KPR10,PUT^PRHIST(HFPRNr,-Aantal,"H","W",EindKLNr,TOENr,TLUNr,$P(Date,","),,,,,PRNr,$G(OrdDat)) Quit ; LogMoeder(Key,MPRNr,Rec) Quit ; PV 7/3/20 New VolgNr,PRNr Set PRNr=919146 Quit:MPRNr'?4.9N Quit:'$D(^PRBS("IP",PRNr,MPRNr)) Set VolgNr=$O(^KSPWLog(PRNr,""),-1)+1 Set ^KSPWLog(PRNr,VolgNr,Key)=Rec Set:Key="M" ^KSPWLog(PRNr,VolgNr,"MS")=$$GetStackToString^vhLib.System() Quit Log(Key,PRNr,Rec) Quit ; PV 7/3/20 New VolgNr Quit:PRNr'=919146 Set VolgNr=$O(^KSPWLog(PRNr,""),-1)+1 Set ^KSPWLog(PRNr,VolgNr,Key)=Rec Set:Key="PRBS" ^KSPWLog(PRNr,VolgNr,"S")=$$GetStackToString^vhLib.System() Quit