HADOPVEX ;Export van een BATCH [ 11/08/2003 8:27 PM ] TRANSOB ; Maandelijkse lijst van de producten in de openstaande batches met hun afwerkingsstatus Write @F11,@F1,@FMTI," Transfert van alle producten in de openstaande batches ",@FMTi Set Batches=$$BATCHALL^HADBATCH("") Set Batches=$$BATCHPOP^HADBATCH("M") Quit:Batches="" Set Batch=$P(Batches,";") Set Dev=0 Set Dev=$$OPEN^vhDEV(,"BATCHES.txt","W","A") Use Dev Write $TR("Batch,TOENr,Type,Korttekst,DosNr,KaderToepassing,ProfType,Hoogte,Breedte,Vul,IsMont,Qty,Kost,Status",",",$C(9)),! Set Batch="" For Set Batch=$O(^HADPR("O",Batch)) Quit:Batch="" Do . Quit:";"_Batches_";"'[(";"_Batch_";") . Set VolgNr="" . For Set VolgNr=$O(^HADPR("O",Batch,VolgNr)) Quit:VolgNr="" Do .. Set Rec=^HADPR("O",Batch,VolgNr) .. Set ORDNr=$P(Rec,D,6) .. Set PRNr=$P(Rec,D,3) .. Set KLNr=$P(Rec,D,2) .. Set FabKey=$$FABKEYB^HADOPV(Rec) .. Set Qty=$P(Rec,D,7) .. Do WRITE(PRNr,ORDNr,KLNr,Batch,Qty,FabKey) Close:0'[Dev Dev Quit WRITE(PRNr,ORDNr,KLNr,Batch,Qty,FabKey) Set GRec=$G(^KPR(PRNr,"G")) Quit:GRec="" Set Prijs=$P(^KPR(PRNr,"J6332"),D,23) Set ProfType=$P(GRec,D,2) Set Hoogte=$P(GRec,D,8) Set Breedte=$P(GRec,D,9) Set Toepas=$P(GRec,D,5) Set Vul=$P(GRec,D,10) Set IsMont=$P(GRec,D,11) Set Beslag="" Set KortT=$P(^KPR(PRNr,0),D,1) Set (Code,Status)="" Set GenTyp=$P($$GENTYP^HAD(PRNr),"\") For Set Code=$O(^HADPR("F",FabKey,Code)) Quit:Code="" Do .Set:$P($G(^HADPR("F",FabKey,Code)),D,3)="A" Status=Status_Code Write Batch,$C(9),$G(ORDNr),$C(9),GenTyp,$C(9),KortT,$C(9),$P(GRec,D,1),$C(9),Toepas,$C(9),ProfType,$C(9),Hoogte,$C(9),Breedte,$C(9),Vul,$C(9),IsMont,$C(9),Qty,$C(9),$TR(Prijs,".",","),$C(9),Status,! Quit ONEST(PRNr,ORDNr,KLNr,Batch,Qty) Set GRec=$G(^KPR(PRNr,"G")) Quit:GRec="" Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr) Set ProfType=$P(GRec,D,2) Set Hoogte=$P(GRec,D,8) Set Breedte=$P(GRec,D,9) Set Toepas=$P(GRec,D,5) Set Vul=$P(GRec,D,10) Set IsMont=$P(GRec,D,11)="KV" Set Beslag="" Set KortT=$P(^KPR(PRNr,0),D,1) Write Batch,$C(9),$G(ORDNr),$C(9),KortT,$C(9),$P(GRec,D,1),$C(9),Toepas,$C(9),ProfType,$C(9),Hoogte,$C(9),Breedte,$C(9),Vul,$C(9),IsMont,$C(9),Qty,$C(9),$TR($P(Prijs,D,13),".",","),$C(9),$TR($P(Prijs,D,14),".",","),! Quit OLD ; Reconstructie van een oude batch Set Batches=$$BATCHALL^HADBATCH() Write @F11,@F1 Set Batches="42E" Read "Batchcode(s) met ; gescheiden : ",Batches Quit:Batches="" Set Batch=$E(Batches,1,2) Set Dev=0 Set Dev=$$OPEN^vhDEV(,"BATCH"_Batch_".txt","W") Use Dev Write $TR("Order,DosNr,HADID,Toepas,ProfType,Hoogte,Breedte,Beslag,BQty,GQty,P1Qty,P2Qty,P3Qty,Vul,VulExtra,IsMont,Verpak,Qty,AKP,VKP,K30,K50",",",$C(9)),! Set FabKey="" For Set FabKey=$O(^HADPR("F",FabKey)) Quit:FabKey="" Do . Set Batch=$P($G(^HADPR("F",FabKey)),D,1) . Quit:Batch="" . Quit:Batches'[Batch . Set PRNr=$P($G(^HADPR("F",FabKey)),D,3) . Set Qty=0 . Set VolgNr="" . ; Opzoeken van het nog te fabriceren qty . For Set VolgNr=$O(^HADPR("O",Batch,VolgNr)) Quit:VolgNr="" Do .. Set Rec=^HADPR("O",Batch,VolgNr) .. Set KLNr=$P(Rec,D,2) .. Quit:KLNr'=3479 ;Svedex .. Quit:PRNr'=$P(Rec,D,3) .. Quit:$E($O(^KPR(PRNr,"W")))'="W" ; Geen openstaande orders .. Set Qty=$P(Rec,D,7) . ;Berekenen van de reeds gerecepteerde qty . Set KLNr=3479 . Set Qty=Qty+$$HISTO^STAT(PRNr,,,1) . Do ONE(PRNr,KLNr,Batch,Qty) Close:0'[Dev Dev Quit KLANT(KLNr) Set ORDNr="" Set:'$G(KLNr) KLNr=$$SELECT^KLANT6() Set Dev=0 Set Dev=$$OPEN^vhDEV(,"BATCH"_KLNr_".txt","W") Use Dev Set PRNr="" For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do .Quit:'$D(^KPR(PRNr,"J6332")) .For Mnd="2000.12 ","2001.01 ","2001.02 ","2001.03 ","2001.04 ","2001.05 " Do ..Quit:'$D(^KSTKL(KLNr,PRNr,Mnd)) ; geen verkoop in ... ..Set ORDNr=Mnd ..Do ONE(PRNr,KLNr,Mnd,$P(^KSTKL(KLNr,PRNr,Mnd),D,1)) Close:0'[Dev Dev quit ONE(PRNr,KLNr,Batch,Qty) Set GRec=$G(^KPR(PRNr,"G")) Quit:GRec="" Set Prijs=$$KLANTPR^KPRIJS(KLNr,PRNr) Set ProfType=$P(GRec,D,2) Set Hoogte=$P(GRec,D,8) Set Breedte=$P(GRec,D,9) Set Toepas=$P(GRec,D,5) Set Vul=$P(GRec,D,10) Set IsMont=$P(GRec,D,11)="KV" If Set Beslag="" Set (BQty,GQty,P1Qty,P2Qty,P3Qty)="" Quit:Toepas="B" Do:KLNr=3479 LADE:Toepas="LF"!(Toepas=2),VVOUW:Toepas="VDV",VSCHAR:Toepas="VDS",SCHAR:Toepas="KD" Write Batch,$C(9),$G(ORDNr),$C(9),$P(GRec,D,1),$C(9),$P(GRec,D,13),$C(9),Toepas,$C(9),ProfType,$C(9),Hoogte,$C(9),Breedte,$C(9),Beslag,$C(9),BQty,$C(9),GQty,$C(9),P1Qty,$C(9),P2Qty,$C(9),P3Qty,$C(9),Vul,$C(9),$C(9),IsMont,$C(9),Qty,$C(9),$TR($P(Prijs,D,13),".",","),$C(9),$TR($P(Prijs,D,14),".",","),! Quit LADE Quit:$E(ProfType,1,3)="P02"!($E(ProfType,1,3)="P04") Set (P2Qty,P1Qty)="2K" Quit:Vul="" Set GQty=2 Set:Breedte>500 GQty=4 Quit VVOUW ;Vouwdeel van vouwdeur Set P3Qty="4G;8K" Set:$E(ProfType,1,3)="P02"!($E(ProfType,1,3)="P04") P3Qty="4G" Set BQty=4 Quit VSCHAR ;Vouwdeel van vouwdeur Set P3Qty="4G;8K" Set:$E(ProfType,1,3)="P02"!($E(ProfType,1,3)="P04") P3Qty="4G" Set BQty=4 Do GREEP Quit SCHAR ;Vouwdeel van vouwdeur Set BQty=4 Do GREEP Quit GREEP ; Greep voor Scharnieredeel vouwdeur en scharnierdeur Quit:$E(ProfType,1,3)="P02" ; Geen greep voor P02 Set P3Qty=P3Qty_$S($L(P3Qty):";",1:"")_"2K" Set:$E(ProfType,1,3)="P05" GQty=2 Quit