#include Prod.Product #include BL.Derde.LevSpecifiek #include vhLib.Macro Receptie Write @F11,@F1,@FMTI,"Tandembox, Legrabox en TA'OR box - Receptie : ",QN,@FMTi Do mnSelectGroep Quit:Groep="" For Do Quit:(Input="-")||(Input=".") . Set Input=$$SCROLL^vhLIST(.LD) . If Input="COM" Set Input="" Do CALL^vhMenu("HABOXRCP") . Do EXEC^vhMenu("HABOXRCP",.Input) Quit mnSelectGroep Set VanDatum=$H-90,TotDatum=$H Set NewGroep=$$PI^vhPOPUP("C;C","O2","Selecteer Productie","HABOXRCP","RCP","") Quit:NewGroep="" Set Groep=NewGroep Write @F11,@F1,@FMTI,$P($G(^RES("HABOXRCP","PI","RCP","D",Groep)),"`",2)," - Receptie : ",QN,@FMTi Do Fetch Do INIT^vhLIST("HABOXRCP","RCP",.LD) Do WRITE^vhLIST(.LD) Quit mnExportCumul Do Export2File(Groep) Do WRITE^vhLIST(.LD) Quit mnExportDetail Do ExportDetails2File Do WRITE^vhLIST(.LD) Quit IsGeldig(Groep,PRNr) Quit:'$D(^KPR(PRNr,"J"_$$$LevHalux)) 0 Set GenTyp=$$GENTYP^HAD(PRNr) Quit:(";"_Groep_";")'[(";"_$P(GenTyp,"\")_";") 0 Quit:GenTyp="TBX\PR+" 0 ; geen pro + Quit 1 Fetch Set PRNr=0 Kill Sum For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Quit:'$$IsGeldig(Groep,PRNr) . Set VerpakFetched=0 . Set VolgNr="" . For Set VolgNr=$O(^PRHIST(PRNr,VolgNr),-1) Quit:VolgNr="" Do Quit:DatTotDatum . . If 'VerpakFetched Do . . . Set Verpak=$$GeefVerpakking(PRNr) . . . ;Write PRNr," ",Verpak,! . . . Set VerpakFetched=1 . . Quit:Verpak="" . . Set Qty=$P(Rec,D,2) . . Set Sum(Dat,Verpak)=$G(Sum(Dat,Verpak))+Qty . . Set Sum(Dat)=$G(Sum(Dat))+Qty Set Dat="" Kill List For Set Dat=$O(Sum(Dat),-1) Quit:Dat="" Do . Set Rec=Dat_"\"_$G(Sum(Dat)) . Set Verpak="" . For Set Verpak=$O(Sum(Dat,Verpak)) Quit:Verpak="" Do . . Set VerpakPos=$Case(Verpak,"V1":1,"Procom":2,"Probox":3,"VHoss":4,"Pallet":5,:6)+2 . . Set $P(Rec,D,VerpakPos)=$P(Rec,D,VerpakPos)+Sum(Dat,Verpak) . Set List($I(List))=Rec Quit GeefVerpakking(PRNr) Set GenTyp=$P($$GENTYP^HAD(PRNr),"\") If GenTyp="TBX" { Set VerpakTBX=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"VERPAK")) ; Verpakking Set Verpak=$Case(VerpakTBX,"S":"V1","Z":"V1","O":"Procom","C":"Procom","X":"Probox","Y":"Probox","A":"VHoss","B":"VHoss","P":"Pallet",:"X") } ElseIf GenTyp="LBX" { Set IngegevenKenmerken=##class(DOM.PM.Maatwerk.Calc.Common.ProductSpecificatie).%OpenId($P(^KPR(PRNr,15),"\",13)).GeefIngegevenKenmerken() #dim VerpakLBX as DOM.PM.enu.LBXVerpakkingType =IngegevenKenmerken.VerpakkingType Set Verpak=VerpakLBX } ElseIf GenTyp="TAO" { Set IngegevenKenmerken=##class(DOM.PM.Maatwerk.Calc.Common.ProductSpecificatie).%OpenId($P(^KPR(PRNr,15),"\",13)).GeefIngegevenKenmerken() #dim VerpakTAO as DOM.PM.enu.TAORVerpakkingType =IngegevenKenmerken.VerpakkingType Set Verpak=VerpakTAO } ElseIf GenTyp="MVX" { Set IngegevenKenmerken=##class(DOM.PM.Maatwerk.Calc.Common.ProductSpecificatie).%OpenId($P(^KPR(PRNr,15),"\",13)).GeefIngegevenKenmerken() #dim VerpakMVX as DOM.PM.enu.MVXVerpakkingType =IngegevenKenmerken.VerpakkingType Set Verpak=VerpakMVX } Else { Set Verpak="" } Quit Verpak Export2File(Groep) Do INIT^vhLISTO("HABOXRCP","RCPPRINT",.PrintD) Set PrintD(11)=$P($G(^RES("HABOXRCP","PI","RCP","D",Groep)),"`",2)_" gerecepteerde aantallen" Set PrintD(1)=$NA(List) Set PrintD(2,1)="92\1.1;C;L;50" Set PrintD(2,2)="92\2.1;C;L;50" Set PrintD(5)=80 Do PRINT^OUTPUT(.PrintD,"T",,"Transfer "_$TR(Groep,";"," ")_".txt") Quit ExportDetails2File Set Dev=$$OPEN^vhDEV(,"TBXReceptieDetail.txt","W","T") Use Dev Set VanDatum=$$CALCDATE^vhLib.DataTypes($H,"J",-3,"FD"),TotDatum=$H Set PRNr=0 Write "Datum PRNr KortTekst Aantal" Do HeaderKenmerken^PVJB Write ! Kill Sum For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Quit:'$D(^KPR(PRNr,"J"_$$$LevHalux)) . Set GenTyp=$$GENTYP^HAD(PRNr,1) . Quit:$P(GenTyp,"\")'="TBX" . Quit:$P($$GENTYP^HAD(PRNr),"\",2)="PR+" ; geen pro + . Set VolgNr="" . For Set VolgNr=$O(^PRHIST(PRNr,VolgNr),-1) Quit:VolgNr="" Do Quit:DatTotDatum . . Set KT=$P(^KPR(PRNr,0),"\",1) . . Set Qty=$P(Rec,D,2) . . Do FetchKenmerken^PVJB(PRNr) . . Write $$$ExcelDat(Dat),*9,PRNr,*9,KT,*9,$$$ExcelNum(Qty) . . Do:DS'="" WriteKenmerken^PVJB . . Write ! Do CLOSE^vhDEV(Dev)