#include BL.Sys.FOP.Common #include BL.Derde.KlantSpecifiek ULTOER ;Toerlijst ; [ 12/22/2003 4:56 PM ] ; Do INIT,KRITERIA() Do COMMAND Kill ^HULP(%J) Lock Quit ; COMMAND Set Input="" For Quit:Input="-" Quit:Input="CANC" Do .Do REFRESH .Set DL(3)=-300 Do SL^PROC Kill DL(3) .Set ULNr=$P($G(^HULP(%J,"D",ULTOER(6))),D,1) .Set Input=R Quit:R="-" .If Input="HELP" Do HELP .Set:$L($P(Kriteria,D)) $P(Kriteria,D)="" .If Input="COM" Set Input="" Do CALL^vhMenu("ULTOER") .Quit:Input="CANC" .Do EXEC^vhMenu("ULTOER",.Input) .If "R"[Input Do REFETCH .If $E(Input)="M" Kill IK Set R=$E(Input,2),IK(2)=2 Do IK^PROC1:R'?1N,KRITERIA(R):R?1N .If $L(Input)=1,Input?1N!("X<"[Input) Do ZENDW(Input) .;If Input="F" Do FAKTUUR; Niet meer gebruikt CW 04.04.05 .If Input="G" Do GEWICHT .If Input="ETIKET" Do ETIKET .If Input="PRINT" Do PRINT("") .If Input="PRINT2" Do TRANSBON^ULTOER2 .If Input="S" Do KRITERIA() .If Input="U" Do DISPLAY .If Input="W" Do KF9 .If Input="A" Do MARK .If Input="K" Do RAADPL .If $L(Input),"DZ"[Input Do EDITEER(Input) .If Input="ENTER" Do EDITEER() Quit ; FMORE(Max,Len,Ref) Quit:Datum=-1 Max Set OldMax=Max For Set Datum=$O(^KU3(Datum)) Quit:Datum="" Quit:Datum>-DatVan Set Max=$$FETCH(Max,Datum) Quit:Max-OldMax>Len Set:Datum=""!(Datum>-DatVan) Datum=-1 Quit Max ; FETCH(Max,Date) GoTo FETCH+1^ULTOER2 ; Naar de nieuwe FETCH i.v.m. het opnemen van de doorgestuurde orders CW 22.04.10 New VerzWz,Beperk,Sort,LVerzWz,ULNr,KLNr,R,Type,SortKey,IsTerugN,VerzType,VervRef New KlantInd,KlantNm,PostKode,Gemeente,Land,FakSoort Kill ^HULP(%J,"T") Set LVerzWz=$P(Kriteria,D,3),VerzType=$P(Kriteria,D,7) Set VerzWz=LVerzWz_" " If $L(VerzWz) Set VerzWz=$O(^KU3(Date,VerzWz),-1) Set Beperk=$P(Kriteria,D,4),Sort=$P(Kriteria,D,5) For Set VerzWz=$O(^KU3(Date,VerzWz)) Quit:VerzWz=""!($E(VerzWz,1,$L(LVerzWz))'=LVerzWz) Do .Set ULNr="" .For Set ULNr=$O(^KU3(Date,VerzWz,ULNr)) Quit:ULNr="" Do ..Set R=^KU3(Date,VerzWz,ULNr),KLNr=$P(R,D),FakSoort=$P(R,D,2) ..Quit:'$D(^KUL(KLNr,FakSoort,ULNr)) ..If "\O\T\"[(D_Beperk_D),FakSoort'="F" Quit ..If $L(VerzType) Set IsTerugN=$$ISTERUGN^FLOWBON5(ULNr) Quit:$P("L\T",D,IsTerugN+1)'=VerzType ..If $D(BulkGroep) Quit:$L($P(^KUL(KLNr,FakSoort,ULNr,1),D,38)) Set BONNrs(ULNr)="" ..Set Type=$P("O\\F\F",D,$F("FXGM",FakSoort)-1) ..If "A"'[Beperk,"T"'[Beperk,Type'=Beperk Quit ..Set R=$$FETCHL(KLNr,ULNr,FakSoort),VervRef=$P($P(R,D,13),";") ..If Beperk["T",VervRef,##Class(BL.Flow.Cons.TransportData).IsClosed(VervRef) Quit ; Beperking openstaande en niet op transport ..Set SortKey=ULNr If Sort'="B" Set SortKey=KlantInd_SortKey If Sort'="K" Set SortKey=PostKode_SortKey If Sort'="P" Set SortKey=VerzWz_KlantInd_SortKey ..Set ^HULP(%J,"T",SortKey)=R Set SortKey="",Count=Max For Set SortKey=$O(^HULP(%J,"T",SortKey)) Quit:SortKey="" Set Count=Count+1,^HULP(%J,"D",Count)=^HULP(%J,"T",SortKey) Kill ^HULP(%J,"T") Quit Count ; FETCHL(KLNr,ULNr,FakSoort) New R,KlantNm,Gemeente,Land,FakSoort,Type,Proforma,IsTerugN If '$D(FakSoort) Set FakSoort="F" Set:'$D(^KUL(KLNr,FakSoort,ULNr)) FakSoort="G" If FakSoort="G",'$D(^KUL(KLNr,FakSoort,ULNr)) Set FakSoort="M" Set R=^KUL(KLNr,FakSoort,ULNr,1) Set Type=$P(R,D,28),Proforma="" Set:$P(R,D,25)="M"!($P(R,D,25)="P") Proforma=$P(R,D,25)_$S($P(R,D,29)["P":"m",1:"z") Set KlantInd=^KK1(KLNr),R=$G(^KUL(KLNr,FakSoort,ULNr,3)) If '$P(R,D) Set R=^KKL(KlantInd,0) Set KlantNm=$P(R,D,2),PostKode=$P(R,D,6),Gemeente=$P(R,D,7) Set Land=$$LAND^vhRtn1($P(R,D,8)),IsTerugN=$$ISTERUGN^FLOWBON5(ULNr) Set R=ULNr_D_Type_D_KLNr_D_KlantNm_D_$S(Land'="BE":Land_"-",1:"")_Gemeente Set R=R_D_^KUL(KLNr,FakSoort,ULNr,1),$P(R,D,50)=Proforma,$P(R,D,51)=IsTerugN Set KlantInd=$$UPTRIMAN^vhRtn1(KlantNm)_" "_KLNr Quit R ; EDITEER(Field) New R,KLNr,FakSoort,ULNr,KlantInd,PostKode,Taal,BONNr,Refetch Quit:'$$INITMOD() Set BONNr=ULNr,Refetch=0 If $D(^HULP(%J,"D",ULTOER(6))) Set Refetch=BONNr'=$P(^HULP(%J,"D",ULTOER(6)),D) Set DL(2)=ULTOER(3),DL(3)=ULTOER(4)-9+($D(Field)*5) Do PL^PROC Kill DL(2),DL(3) If "Z"[$G(Field) Set KlantInd=^KK1(KLNr),Taal=$P(^KKL(KlantInd,0),D,9) If Taal="" Set Taal="N" If $D(Field) Do If 1 .If Field="D" Do FIELD^vhScherm("ULTOERED",3) .If Field="Z" Do FIELD^vhScherm("ULTOERED",4) Else Do EDIT^vhScherm("ULTOERED") Do REMOVE^vhLock("^KUL(KLNr,""F"",ULNr)") If %SC Do .If Refetch Do REFETCH Quit .Set ^HULP(%J,"D",ULTOER(6))=$$FETCHL(KLNr,ULNr) Do EL^PROC Set DL(2)=ULTOER(3),DL(3)=ULTOER(4)+9-($D(Field)*5) Do PL^PROC Kill DL(2),DL(3) Do:'Refetch!'%SC RESET^vhScherm Quit ORGVERP New ULNr If $$INITMOD() Do EXTERN^ORGVERP(ULNr) Quit KLBONOVZ New KLNr Set KLNr=$P($G(^HULP(%J,"D",@DL(1)@(6))),D,3) If KLNr Do STORE^vhTERMINA(),KLANT^KLBONOVZ(KLNr),REFRESH^vhTERMINA() Quit ZENDW(Nr) ;Aanpassen van volgnummer van numerieke verzendingswijzen If Nr="X" Set ZendMod='ZendMod Do ADD^vhScherm(1,1) Quit Quit:'ZendMod New Rec,KlantInd,Taal Quit:'$$INITMOD(0,1) Set (Rec)=^KUL(KLNr,"F",ULNr,1) Set (OldW,ZendW)=$P($P($P(Rec,D,7),"#")," ") I Input?1N Set ZendW=$E(ZendW,1,2) Set:Input ZendW=ZendW_Input I "<"[Input Do .Set ZendW=$O(^RES("KLANT","PI","VERZENDWIJZE","D",ZendW)) .If $E(ZendW,1,2)'=$E(OldW,1,2) Do ..Set ZendW=$E(OldW,1,2) ..Quit:$D(^RES("KLANT","PI","VERZENDWIJZE","D",ZendW))!(ZendW="TP") ..Set ZendW=$O(^RES("KLANT","PI","VERZENDWIJZE","D",ZendW)) .Set ZendW=$P(ZendW," ") If '$D(^RES("KLANT","PI","VERZENDWIJZE","D",ZendW)) Write *7 Quit Set KlantInd=^KK1(KLNr),Taal=$P(^KKL(KlantInd,0),D,9) If Taal="" Set Taal="N" S ZendW=ZendW_" #"_$G(^RES("KLANT","PI","VERZENDWIJZE","D",ZendW,Taal)) Do KILL^KFVZW("F",Rec,ULNr) Set $P(Rec,D,7)=ZendW Set ^KUL(KLNr,"F",ULNr,1)=Rec D SET^KFVZW("F",Rec,ULNr) Do REMOVE^vhLock("^KUL(KLNr,""F"",ULNr)") Set ^HULP(%J,"D",ULTOER(6))=$$FETCHL(KLNr,ULNr) If ULTOER(6)(ULTOER(6)+ULTOER(4))) If ULNr'=$P($G(^HULP(%J,"D",ULTOER(6))),D) Do .For I=1:1 Quit:'$D(^HULP(%J,"D",I)) If $P(^HULP(%J,"D",I),D)=ULNr Set ULTOER(6)=I Quit .Set:ULTOER(7)>ULTOER(6) ULTOER(7)=ULTOER(6) .Set:ULTOER(6)-ULTOER(7)'5 Set DL(2)=sRT Do WL^PROC Kill DL(2),DL(3) If sRB=24,'ULTOER(9) Set FP=2401 Write @F,"Geen uitleverigen gevonden voor bovenstaande selectiecriteria",@F2 Do RESET^vhScherm Quit ; INITMOD(NoMod,DontAsk) New %TC,R Set (ULNr,KLNr)="" Set:$D(^HULP(%J,"D",ULTOER(6))) R=^HULP(%J,"D",ULTOER(6)),X=$P(R,D) If '$G(DontAsk) Do .Set %R=24,%C=2,ln=6,prompt="Bonnummer : ",FP=2401 W @F,@F2 Do ^vhINP .Do ADD^vhScherm(24,24) Do REFRESH Quit:'X 0 Quit:'$D(^KU1(X)) 0 Set ULNr=X,KLNr=+^KU1(X,"F") Quit:$G(NoMod) 1 If $D(^KUL(KLNr,"G",ULNr)) Do TXT^vhINP("Deze bon is reeds gefaktureerd") Quit 0 If '$D(^KUL(KLNr,"F",ULNr)) Do TXT^vhINP("Deze bon is gestorneerd"),REFETCH Quit 0 Do ADD^vhLock("^KUL(KLNr,""F"",ULNr)") I '%TC Do Quit 0 .Do LDISP^vhLock("^KUL(KLNr,""F"",ULNr)","Order "_ULNr) .Set DL(2)=24 Do WL^PROC Kill DL(2) Quit 1 ; CHKTRANS(BONNr,DontAsk) New R,Ok,KLNr,VervRef,GroepNr,Transporteur,TranspDate Set Ok=1,KLNr=$P(^KU1(BONNr,"F"),D),R=^KUL(KLNr,"F",BONNr,1) Set VervRef=$P($P(R,D,8),";"),GroepNr=$P($P(R,D,8),";",2) Do:VervRef .Set R=$G(^TRANSP("D",VervRef)) .Quit:R="" .Set Transporteur=$$TRANSPORTEUR^TRANSP(VervRef,1),TranspDate=$$EXTDATE^vhDTyp($P(R,D,10)) .If '$P(R,D,11),'$P(R,D,12) Do ..Set Ok=$S($G(DontAsk):1,1:$$^vhTXTPOP("ULTOER","TRANSP","",BONNr,GroepNr,Transporteur,TranspDate)) ..Do:Ok DELGRP^TRANSP(VervRef,GroepNr) .Else Set Ok=$S($G(DontAsk):0,1:$$^vhTXTPOP("ULTOER","TRANSPCLO","",BONNr,Transporteur,TranspDate)) Quit Ok ; FAKTUUR New R,KLNr,FakSoort,ULNr,KlantInd,PostKode Quit:'$$INITMOD(1) I $D(^KUL(KLNr,"G",ULNr)) Set FANr=$P(^KU1(ULNr,"F"),D,2),R=$$SHOW^RPLFAKT(FANr,7) Do ADD^vhScherm(7,24) Quit Quit:'$$INITMOD(0,1) Do S1^KF27,FDAT^KF27:'$D(FDT)!'$G(OK) If '$D(FDT)!'$G(OK) Do ADD^vhScherm(1,24) Quit Do Locals("ULNr,FDT,BH,BJ,BM,BP,BX,OK") Do DO^vhPROGRAM("FE^KF27") If '$D(^KUL(KLNr,"F",ULNr)) Do REFETCH Quit Do ADD^vhScherm(1,24) Quit ; KF9 New R,KLNr,FakSoort,ULNr,KlantInd,PostKode,Old,New Quit:'$$ASK^vhWACHTW("MANAGER",,"",0) Quit:'$$INITMOD() Do Locals("ULNr") Set Old=^KUL(KLNr,"F",ULNr,1) Do DO^vhPROGRAM("FUE^KF9") If '$D(^KUL(KLNr,"F",ULNr)) Do REFETCH Quit Set New=^KUL(KLNr,"F",ULNr,1) Set %SC=1 If $P(Old,D,2)=$P(New,D,2),$P(Old,D,7)=$P(New,D,7) Set %SC=0 If %SC Set ^HULP(%J,"D",ULTOER(6))=$$FETCHL(KLNr,ULNr) Do ADD^vhScherm(1,24) Quit ; DISPLAY Write *7 Quit New R,ULNr Quit:'$D(^HULP(%J,"D",ULTOER(6))) Set R=^HULP(%J,"D",ULTOER(6)) Set ULNr=$P(R,D) Do PRINT^BON(ULNr,"K") Quit ; ETIKET New R,KLNr,ULNr Do:$$INITMOD(1) EXTERN^FLOWBON4(ULNr) Quit ; TRANSPLIJST Set Vzw=$P(Kriteria,D,3) Set VerzType=$P(Kriteria,D,7) Set Beperk=$P(Kriteria,D,4) Set Sort=$P(Kriteria,D,5) Set DatVan=$P(Kriteria,D,2),DatTot=$P(Kriteria,D,6) Set lbCrit=$LB("TOER",DatVan,DatTot,Vzw) Quit PRINT(Type) New ULTOERL,I,R,X,DL,Clear For I=1,2,5,8 Set ULTOERL(I)=ULTOER(I) Set $P(ULTOERL(2),D,4,5)="$$KLTYP^KLANT($P(FL(3),D,3));C;R;3;;;;$S(X=""IND-A"":""IA"",X=""IND-B"":""IB"",1:"""")" Set X=$P(Kriteria,D,5),ULTOERL(11)="Toerlijst volgens "_$S(X="B":"bonnummer",X="K":"klantnaam",1:"postkode") Set X=$P(Kriteria,D,3) Set:$L(X) ULTOERL(11)=ULTOERL(11)_D_$S($L(X):X_" "_$G(^RES("KLANT","PI","VERZENDWIJZE","D",X,"N")),1:"") Set DL(1)="ULTOERL",Clear=20+(Type="P"*2),FP=Clear*100+1 Write @F,@F1 If '$L(Type) Set Type="PMT" Set R=$A("S") If Type="M" Do .If $P(^cLOG(boot,"DEV",$$IO^cQ5),D)'="MC" Set Type="PMT" .Read *R:1 Do ^OUTPUT(Type,"",$S($G(R):$C(R),1:"")) Do ADD^vhScherm(Clear,24) Quit ; Locals(List) New I For I=1:1:$L(List,",") Set $P(List,",",I)=""""_$P(List,",",I)_"""" Xecute "For Locals="_List_" Set Locals(Locals)=@Locals" Quit ; HELP Set Input="" Set FaktSoort=$P($G(^HULP(%J,"D",ULTOER(6))),D,2) Do POP^MN("ULTOERH") Set Input=R If Input'="HELP",Input'="?" Quit New FL,DL,HLP Set HLP(1)="ULTOER",HLP(3)=7,HLP(6)="" Do HLP^HELP Do ADD^vhScherm(1,24) Quit ; MAILVERZ(BONNr,NewVerzW) New R,KLNr,KlNaam,OldVerzW,TUserId,Txt,Ref,MailId,OrderCreatedBy Set R=^KU1(BONNr,"F"),KLNr=$P(R,D),R=^KUL(KLNr,"F",BONNr,1),OldVerzW=$P(R,D,7) Do:$P(NewVerzW," ")'=$P(OldVerzW," ") .Set R=^KKL(^KK1(KLNr),0),KlNaam=$P(R,D,2) .Set TUserId=$$INTVW^KLOPV(KLNr),OrderCreatedBy=$$OrderCreatedBy^FLOWBON(BONNr) .If OrderCreatedBy Set:TUserId TUserId=TUserId_";" Set TUserId=TUserId_$P(OrderCreatedBy,"#") .Set:'TUserId TUserId="ORDVW" .Set Txt(1)="Leveringsbon "_BONNr_" van "_KlNaam_"~is gewijzigd van " .Set Txt(1)=Txt(1)_$P(OldVerzW," ")_" naar "_$P(NewVerzW," ")_"." .Set Ref(1)="KL\"_KLNr_"\R\L",Ref(2)="BON\"_BONNr_"\R" .Set MailId=$$SYSTEM^vhMAIL("KL",KLNr,"Wijziging verzendwijze",TUserId,.Txt,.Ref,1,1) Quit ; FactGroep New %SC,%TC,I,R,BulkGroep,DelBulkGroep,KLNr,BONNr,BONNrs,ULTOER,ULNr,Delete,Deleted,GroepVia,Ingave Set BulkGroep="",GroepVia="B" For I=1:1 Set R=$G(^HULP(%J,"D",I)) Quit:R="" Do . Quit:$P(R,D,43)'["/" ; Geen markeergroep . Set:(D_BulkGroep_D)'[(D_$P(R,D,43)_D) BulkGroep=BulkGroep_D_$P(R,D,43) Set $E(BulkGroep)="" If $L(BulkGroep) For I=1:1:$L(BulkGroep,D) Set BulkGroep(I)=$P(BulkGroep,D,I)_"`"_$P(BulkGroep,D,I) Set BulkGroep="" Do INIT^PROC("ULTOER") Set ULTOER(6)=0 Set ULNr=$P($G(^HULP(%J,"D",ULTOER(6))),D) Do REFETCH Do ADD^vhScherm(1,24) Do REFRESH Set ULTOER(4)=14 If $D(^HULP(%J,"D")) Do . If $O(BulkGroep("")) Do Quit:zb="CANC" ; Er zijn reeds groepen binnen deze selectie . . Set BulkGroep($O(BulkGroep(""),-1)+1)="`Nieuwe groep" . . Set BulkGroep=$$WILD^vhPOPUP("C;C","O1-","Groep",.BulkGroep) . If $L(BulkGroep) Set %SC=1 . Else Do . . Set BulkGroep=$P($P(Kriteria,D,3)," ") Set:BulkGroep="" BulkGroep="DIV" . . Do FIELD^vhScherm("ULTOERSEL","BULKGROEP") ; Ingave facturatiegroep indien nieuwe groep . Do:%SC . . Set:$L(BulkGroep,"/")=1 BulkGroep=$$NewFactGroep(BulkGroep) . . For Do ADD^vhLock("BulkGroep(BulkGroep)") Quit:%TC Do LDISP^vhLock("BulkGroep(BulkGroep)","Markeergroep "_BulkGroep) . . Do DISPLAY^vhScherm("ULTOERSEL","",5,"H","BULKGROEP") . . Set BONNr="" . . For Do Quit:'%SC If '$D(^HULP(%J,"D")) Set R=$$^vhTXTPOP("ULTOER","BULKDONE","",BulkGroep) Quit . . . Do FIELD^vhScherm("ULTOERSEL","BONNR") ; Ingave bon . . . Quit:'%SC . . . Set Delete=$E(BONNr)="-",BONNr=$$CheckBonNr(BONNr,.BONNrs,BulkGroep) . . . Quit:'BONNr . . . Set KLNr=$P(^KU1(BONNr,"F"),D) . . . If Delete Do If '$G(Deleted) Set BONNr="" Quit . . . . Set DelBulkGroep=BulkGroep . . . . Set:$P(^KUL(KLNr,"F",BONNr,1),D,38)'=BulkGroep DelBulkGroep=$P(^KUL(KLNr,"F",BONNr,1),D,38) . . . . Do DelFactGroep(KLNr,BONNr,0) . . . . Set Deleted=$P(^KUL(KLNr,"F",BONNr,1),D,38)="" . . . Do:'Delete AddFactGroep(KLNr,BONNr,BulkGroep) . . . Do REFETCH,REFRESH . . . ; Geef een bericht dat de bon opgenomen-, verwijderd is . . . Set FP=2201 . . . Write @FCH,@F,@F1 . . . Set FP=2401 . . . Write @F,@FMTI," Bonnummer ",BONNr," is " . . . Write $S(Delete:"verwijderd uit de",1:"opgenomen in") . . . Write " groep ",$S(Delete:DelBulkGroep,1:BulkGroep)," ",@FMTi . . . Read *BONNr:5 ; Eventueel lezen van het eerste karacter van de volgende input . . . Write @FCS . . . If "\-1\13\"[(D_BONNr_D) Set BONNr="" . . . Else Set BONNr=$C(BONNr) . . Do REMOVE^vhLock("BulkGroep(BulkGroep)") Else Set R=$$^vhTXTPOP("ULTOER","BULKNOBON") Kill BulkGroep Do DISPLAY^vhScherm("ULTOERSEL","",5,"H") Quit ; ; Inputcotrole leveringsbon bulkfacturatie CheckBonNr(BONNr,BONNrs,BulkGroep) New R,CDigit,KLNr,KlNaam,Delete,DelBulkGroep Set Delete=$E(BONNr)="-",BONNr=$$TRIMN^vhRtn1(BONNr),CDigit=$E(BONNr,$L(BONNr)),BONNr=$E(BONNr,1,$L(BONNr)-1) If Delete,$L(BONNr)'=6 Set BONNr="" If $L(BONNr)>2,$L(BONNr)'=6 Set BONNr=$$SHORTNUM^FLOW("KUL","KU1",BONNr) If $L(BONNr)'=6 Set BONNr="" Else Set:'$$CheckCDigit6^vhRtn2(BONNr,CDigit) BONNr="" If BONNr,$D(^KU1(BONNr,"F")) Set KLNr=$P(^KU1(BONNr,"F"),D) Else Set BONNr="" If 'BONNr Do ; Foutief nummer . Set BONNr=$$^vhTXTPOP("ULTOER","BULKBONWRONG") Else If '$D(^KUL(KLNr,"F",BONNr)) Do ; Bon onbekend . Set BONNr=$$^vhTXTPOP("ULTOER","BULKBONUNDEF","",$$EXTNUM^vhDTyp(BONNr,0,".",0)) Else If Delete Do . Set KlNaam=$P(^KKL(^KK1(KLNr),0),D,2) . If $P(^KUL(KLNr,"F",BONNr,1),D,38)="" Set BONNr=$$^vhTXTPOP("ULTOER","BULKBONNOTINBULK","",$$EXTNUM^vhDTyp(BONNr,0,".",0),KlNaam) Quit ; Bon niet opgenomen in een groep . If $P(^KUL(KLNr,"F",BONNr,1),D,38)'=BulkGroep Do . . Set DelBulkGroep=$P(^KUL(KLNr,"F",BONNr,1),D,38) . . Set:'$$^vhTXTPOP("ULTOER","BULKDELBONNOTINTHISBULK","",$$EXTNUM^vhDTyp(BONNr,0,".",0),KlNaam,BulkGroep,DelBulkGroep) BONNr="" ; Bon niet opgenomen in de huidige groep Else If '$D(BONNrs(BONNr)) Do . Set KlNaam=$P(^KKL(^KK1(KLNr),0),D,2) . Set R=^KUL(KLNr,"F",BONNr,1),BulkGroep=$P(R,D,38) . If $L(BulkGroep) Set BONNr=$$^vhTXTPOP("ULTOER","BULKBONINBULK","",$$EXTNUM^vhDTyp(BONNr,0,".",0),KlNaam,BulkGroep) Quit ; Bon reeds opgenomen in een groep . Set:'$$^vhTXTPOP("ULTOER","BULKBONNOTINSEL","",$$EXTNUM^vhDTyp(BONNr,0,".",0),KlNaam) BONNr="" ; Bon niet in deze selectie Quit BONNr ; ; Geef een nieuwe facturatiegroep NewFactGroep(BulkGroep) New R Set R=$G(^KUL(0,"F","FG","VZ")),$P(R,D)=$P(R,D)+1,^KUL(0,"F","FG","VZ")=R Set BulkGroep=BulkGroep_"/"_$P(R,D) Quit BulkGroep ; ; Groep invullen in bon AddFactGroep(KLNr,BONNr,BulkGroep) New R,KlNaam Set KlNaam=$P(^KKL(^KK1(KLNr),0),D,2) For Do ADD^vhLock("^KUL(KLNr,""F"",BONNr)") Quit:%TC Do LDISP^vhLock("^KUL(KLNr,""F"",BONNr)","Levering "_BONNr) Set R=^KUL(KLNr,"F",BONNr,1),$P(R,D,28)="L",$P(R,D,38)=BulkGroep,^KUL(KLNr,"F",BONNr,1)=R Do ##Class(BL.Flow.RecuPak.Main).AddVerpakToBon(BONNr,1) Do REMOVE^vhLock("^KUL(KLNr,""F"",BONNr)") Quit ; ; Groep verwijderen uit bon DelFactGroep(KLNr,BONNr,Bevestig) New R,BulkGroep,KlNaam,Delete Set Bevestig=$G(Bevestig,1) If 'Bevestig Set Delete=1 Else Do . Set R=^KUL(KLNr,"F",BONNr,1),BulkGroep=$P(R,D,38),KlNaam=$P(^KKL(^KK1(KLNr),0),D,2) . Set Delete=$$^vhTXTPOP("ULTOER","BULKDELBON","",$$EXTNUM^vhDTyp(BONNr,0,".",0),KlNaam,BulkGroep) Do:Delete . For Do ADD^vhLock("^KUL(KLNr,""F"",BONNr)") Quit:%TC Do LDISP^vhLock("^KUL(KLNr,""F"",BONNr)","Levering "_BONNr) . Set R=^KUL(KLNr,"F",BONNr,1),$P(R,D,28)="",$P(R,D,38)="",^KUL(KLNr,"F",BONNr,1)=R . Do REMOVE^vhLock("^KUL(KLNr,""F"",BONNr)") Quit ; DisplayTerugnOfBeloofd(FL) New DisplayTerugnOfBeloofd Set DisplayTerugnOfBeloofd=$S($L($P(FL(3),D,31)):$P(FL(3),D,31),1:$P(FL(3),D,21)) If $L($P(FL(3),D,31)) Set DisplayTerugnOfBeloofd=$P(FL(3),D,31) Else Set DisplayTerugnOfBeloofd=$S($L($P(FL(3),D,21)):$S($P(FL(3),D,28)="N":"N",1:$S('$P(FL(3),D,41):"B",1:"")),1:"") Quit DisplayTerugnOfBeloofd ; ; Initialiseren van de verpakkingsgegevens INITVERPAK(%J,sFL) If $P(sFL(1),D,3)="DI1" Do INITABX^ULTOER(%J) If $P(sFL(1),D,3)="DI2" Do INITOD4en5^ULTOER(%J) If $P(sFL(1),D,3)="DI3" Do INITOD4en5^ULTOER(%J) If $P(sFL(1),D,3)="OD5" Do INITOD4en5^ULTOER(%J) Quit ; ; Ophalen van de verpakkingsgegevens ABX ABXData(%J) New I,R,ABXData,VervRef,Verpakking Set (VervRef,Verpakking)="" For I=1:1 Set R=$G(^HULP(%J,"D",I)) Quit:R="" Do Quit:VervRef . Set VervRef=$P($P(R,D,13),";") . Quit:'VervRef . Set:##Class(BL.Flow.Cons.TransportData).IsClosed(VervRef) VervRef="" Set:VervRef Verpakking=$$CalcVerpak^TRANSP(VervRef) Set ABXData=VervRef_D_Verpakking Quit ABXData ; ; Initialiseren van de verpakkingsgegevens ABX INITABX(%J) New R Set R=$$ABXData(%J),VervRef=$P(R,D),Palet=$P(R,D,2),Collo=$P(R,D,3),LangGoed=$P(R,D,4) Do REMATTR^vhScherm("ABX","H","H") Do REMATTR^vhScherm("PALET","H","H") Do REMATTR^vhScherm("COLLO","H","H") Do REMATTR^vhScherm("LANGGOED","H","H") Quit ; ; Ophalen van de verpakkingsgegevens DI2 (OD4), OD5 en DI3 OD4en5Data(%J) New I,R,OD4en5Data,VervRef,Verpakking Set (VervRef,Verpakking)="" For I=1:1 Set R=$G(^HULP(%J,"D",I)) Quit:R="" Do Quit:VervRef . Set VervRef=$P($P(R,D,13),";") . Quit:'VervRef . Set:##Class(BL.Flow.Cons.TransportData).IsClosed(VervRef) VervRef="" Set:VervRef Verpakking=$$CalcVerpak^TRANSP(VervRef) Set OD4en5Data=VervRef_D_Verpakking Quit OD4en5Data ; ; Initialiseren van de verpakkingsgegevens DI2 (OD4), OD5 en DI3 INITOD4en5(%J) New R Set R=$$OD4en5Data(%J),VervRef=$P(R,D),Palet=$P(R,D,2),Collo=$P(R,D,3),LangGoed=$P(R,D,4),KleinPalet=$P(R,D,5) Do REMATTR^vhScherm("PALET","H","H") Do REMATTR^vhScherm("COLLO","H","H") Do REMATTR^vhScherm("LANGGOED","H","H") Do REMATTR^vhScherm("KLEINPALET","H","H") Quit ; CHKMENU(Menu,Aktie) New I,R,Ok,VerzWijze,BONNr Set Ok=0 If Menu="L" Do ; Link menu . If Aktie="AT" Do ; Alles op transport . . Set R=$G(^HULP(%J,"D",1)) . . Quit:R="" . . Set BONNr=$P(R,D) . . Set VerzWijze=$P($P(R,D,12)," "),Ok=$E(VerzWijze,1,3)'="DI1" ; Niet indien GLS . . Quit:'Ok . . For I=1:1 Set R=$G(^HULP(%J,"D",I)) Quit:R="" Do Quit:'Ok . . . Set Ok=$P($P(R,D,12)," ")=VerzWijze ; Zelfde verzendwijze? Quit Ok ; ; Hoeveel leveringsadressen van een klant uit deze toerlijst staan reeds op transport? LevAdresNrsOpTransport(KLNr) New I,R,LevAdresNrs,BONNr,LevAdresNr Set LevAdresNrs="" For I=1:1 Set R=$G(^HULP(%J,"D",I)) Quit:R="" Do:$P(R,D,3)=KLNr . Set BONNr=$P(R,D) . Quit:'$L(##class(Flow.Cons.TransportBon).GetTransport(BONNr)) ; Niet op transport . Set LevAdresNr=$$GetAdresNr^LEVADR(KLNr,$$GetLevAdr^KFLAD("L",BONNr)) . Set:";"_LevAdresNrs_";"'[(";"_LevAdresNr_";") LevAdresNrs=LevAdresNrs_";"_LevAdresNr Set $E(LevAdresNrs)="" Quit LevAdresNrs ; MenuItem(Menu,Aktie) New R,MenuItem,KLNr,BONNr,LevAdresNr If Menu="L" Do ; Link menu . If Aktie="KT" Do ; Klant op transport . . Set R=$G(^HULP(%J,"D",ULTOER(6))),BONNr=$P(R,D),KLNr=$P(R,D,3),LevAdresNr=$$GetAdresNr^LEVADR(KLNr,$$GetLevAdr^KFLAD("L",BONNr)) . . Set MenuItem=$P(^KKL(^KK1(KLNr),0),D,2)_" op transport" Set:$L(LevAdresNr) MenuItem=MenuItem_" ("_LevAdresNr_")" Quit $G(MenuItem) ; AllToTransport(KLNr,RefBONNr) New I,R,BONNr,BONNrs,Leveringen,TerugNames,Terug,TransportLink,TransportLevering,TransportTerug,AutoClose,PerKlant,Adres,LevAdresNr Set PerKlant=$G(KLNr) Set:PerKlant AutoClose=0 If $G(KLNr),$G(RefBONNr) Set LevAdresNr=$$GetAdresNr^LEVADR(KLNr,$$GetLevAdr^KFLAD("L",RefBONNr)) For I=1:1 S R=$G(^HULP(%J,"D",I)) Quit:R="" Do . If $G(KLNr) Quit:$P(R,D,3)'=KLNr . Set BONNr=$P(R,D) . If '$L(##class(Flow.Cons.TransportBon).GetTransport(BONNr)) Do ; Bon is nog niet opgenomen in een transport . . If $D(LevAdresNr),$$GetAdresNr^LEVADR(KLNr,$$GetLevAdr^KFLAD("L",BONNr))'=LevAdresNr Quit ; Er is een referentie levadr meegegeven en het komt niet overeen met deze bon . . Set BONNrs(BONNr)="" If $D(BONNrs) Do ; Er zijn bons op te nemen . Set:'$D(AutoClose) AutoClose=$$^vhTXTPOP("ULTOER","AUTOCLOSE") . Quit:AutoClose="A" . For I=1:1 S R=$G(^HULP(%J,"D",I)) Quit:R="" Do . . If $G(KLNr) Quit:$P(R,D,3)'=KLNr . . Set BONNr=$P(R,D) . . If $D(LevAdresNr),$$GetAdresNr^LEVADR(KLNr,$$GetLevAdr^KFLAD("L",BONNr))'=LevAdresNr Quit ; Er is een referentie levadr meegegeven en het komt niet overeen met deze bon . . Set TransportLink=##class(Flow.Cons.TransportBon).GetTransport(BONNr) . . If $$ISTERUGN^FLOWBON5(BONNr) Do . . . If $L(TransportLink) Set TransportTerug=$P(TransportLink,";") Quit ; Bon is opgenomen in een transport . . . Set TerugNames(BONNr)="" . . Else Do . . . If $L(TransportLink) Set TransportLevering=$P(TransportLink,";"),Adres=$P(TransportLink,";",2) Quit ; Bon is opgenomen in een transport . . . Set Leveringen(BONNr)="" . If $D(Leveringen) Do . . Kill BONNrs . . Merge BONNrs=Leveringen . . Do ##Class(BL.Flow.Cons.TransportFlow).AddAllLeveringen(.BONNrs,$G(TransportLevering),$G(Adres),AutoClose,$S(PerKlant:"",1:1)) . If $D(TerugNames) Do . . If $D(Leveringen) Do Quit:'$$^vhTXTPOP("ULTOER","TRANSPTERUG","") . . . Set BONNr="",Terug="Terug" . . . For I=1:1 Set BONNr=$O(TerugNames(BONNr)) Quit:BONNr="" Do If I>10 Set Terug(I)="... | ..." Quit . . . . Set KLNr=$P(^KU1(BONNr,"F"),D) . . . . Set Terug(I)=BONNr_" | "_$P(^KKL(^KK1(KLNr),0),D,2) . . Kill BONNrs . . Merge BONNrs=TerugNames . . Do ##Class(BL.Flow.Cons.TransportFlow).AddAllLeveringen(.BONNrs,$G(TransportTerug),"",AutoClose,$S(PerKlant:"",1:1)) Else Do WARN^vhTXTPOP("Er zijn geen bons op transport te plaatsen!","") Quit ; ; Kan een transport afgedrukt of gesloten worden? CheckTransport(CheckClosed) New I,R,BONNr,TransportLink,Transport,Transporteur,TransportOk Set TransportOk=0 For I=1:1 S R=$G(^HULP(%J,"D",I)) Quit:R="" Do Quit:TransportOk . Set BONNr=$P(R,D) . Quit:$P(R,D,2)="W" ; nog niet op bon, WMS . Set TransportLink=##class(Flow.Cons.TransportBon).GetTransport(BONNr),Transport=$P(TransportLink,";") . Quit:'Transport . If $G(CheckClosed),##Class(BL.Flow.Cons.TransportData).IsClosed(Transport) Quit ; Afsluiten transport en het transport is gesloten . Set Transporteur=$$TRANSPORTEUR^TRANSP(Transport) . Set:Transporteur'=5036 TransportOk=1 ; Indien niet ABX Quit TransportOk ; ; Printen van een transportlijst PrintTransp New I,R,BONNr,TransportLink,Transport,Transporteur,Transporten,DefaultTransport,Obj For I=1:1 S R=$G(^HULP(%J,"D",I)) Quit:R="" Do . Set BONNr=$P(R,D),TransportLink=##class(Flow.Cons.TransportBon).GetTransport(BONNr) . Set Transport=$P(TransportLink,";") Set:Transport Transport(Transport)="" . If I=@DL(1)@(6) Set DefaultTransport=Transport Set Transport=$O(Transport("")) Do:$O(Transport(Transport)) . Set Transport="" . For Set Transport=$O(Transport(Transport)) Quit:Transport="" Do . . Set Transporteur=$$TRANSPORTEUR^TRANSP(Transport,1) . . Set Obj=##Class(Flow.Cons.Transport).%OpenId(Transport),TransportType=Obj.TransportType . . Set I=I+1,Transporten(I)=Transport_D_Transport_" | "_Transporteur_" | "_$S(TransportType="T":"Terugname",1:"Levering") . Set R=$$WILD^vhPOPUP("C;C","-1O","",.Transporten,$G(DefaultTransport)) Set:zb'="CANC" Transport=$P(R,D) If Transport,'$$BevatGeenVerpakking^TRANSPC(Transport) Do EXTERN^DCPRINT("E",Transport,,,1) Quit ; ; Afsluiten van een transport met eventueel een afdruk CloseTransp(Print) New I,R,BONNr,TransportLink,Transport,Transporteur,Transporten,DefaultTransport,Obj For I=1:1 S R=$G(^HULP(%J,"D",I)) Quit:R="" Do . Set BONNr=$P(R,D),TransportLink=##class(Flow.Cons.TransportBon).GetTransport(BONNr) . Set Transport=$P(TransportLink,";") . Quit:'Transport . If ##Class(BL.Flow.Cons.TransportData).IsClosed(Transport) Quit ; Transport is reeds gesloten . Set:Transport Transport(Transport)="" . If I=@DL(1)@(6) Set DefaultTransport=Transport Set Transport=$O(Transport("")) Do:$O(Transport(Transport)) . Set Transport="" . For Set Transport=$O(Transport(Transport)) Quit:Transport="" Do . . Set Transporteur=$$TRANSPORTEUR^TRANSP(Transport,1) . . Set Obj=##Class(Flow.Cons.Transport).%OpenId(Transport),TransportType=Obj.TransportType . . Set I=I+1,Transporten(I)=Transport_D_Transport_" | "_Transporteur_" | "_$S(TransportType="T":"Terugname",1:"Levering") . Set R=$$WILD^vhPOPUP("C;C","-1O","",.Transporten,$G(DefaultTransport)) Set:zb'="CANC" Transport=$P(R,D) If Transport,$$^vhTXTPOP("ULTOER","CLOSETRANSP") Do ##Class(BL.Flow.Cons.TransportData).AutoClose(Transport,$G(Print)) Quit ; ; Afdrukken Levernota's PrintANotas(Kriteria) New sc ;If $P(Kriteria,D,3)="DI2" Do ;. Do PrintAllBons($P(Kriteria,D,2),$P(Kriteria,D,6),$P(Kriteria,D,3),"1") S sc=##class(BL.Flow.TransportLijst.Doc).RenderAndPrintANotas($P(Kriteria,D,2),$P(Kriteria,D,6),$P(Kriteria,D,3)) I sc,$$$ISERR(sc) Do WARN^vhTXTPOP($$ParseStatus^vhLib(sc),"") Quit PrintAllBons(VanDatum,TotDatum,Vzw,PapierLade) ; wordt niet meer gebruikt PV 22/09/08 Set Datum=-(TotDatum+1) For Set Datum=$O(^KU3(Datum)) Quit:'Datum Quit:(-Datum)