FLOWKLAS ;Klassement Toelevering, offerte, order, bon [ 11/21/2003 2:51 PM ] ; ; Ophalen van de klassementreferentie van een offerte GETOFF(OFFNr) New R,KLNr,KlasRef,User Set KlasRef="",R=$G(^KOFKL1(OFFNr,"F")),KLNr=$P(R,D) Set:KLNr R=$G(^KOFKL(KLNr,"F",OFFNr,1)),KlasRef=$P(R,D,24) Do:$P(KlasRef,"#")="DIV" . Set User=$$USERNAME^vhUSER($P($P(R,D,8),"#"),-1) . Set:$L(User) $P(KlasRef,"#")=$P(KlasRef,"#")_" ("_User_")" Quit KlasRef ; ; Verwerk een offerte OFFERTE(OFFNr) New KlasRef Set KlasRef=$$GETOFF(OFFNr) Do:$L(KlasRef) SHOWREF(KlasRef) Quit ; ; Ophalen van de klassementreferentie van een order GETORD(ORDNr) New R,KLNr,KlasRef,User Set KlasRef="",R=$G(^KO1(ORDNr,"F")),KLNr=$P(R,D) Set:KLNr R=$G(^KOD(KLNr,"F",ORDNr,1)),KlasRef=$P(R,D,24) Do:$P(KlasRef,"#")="DIV" . Set User=$$USERNAME^vhUSER($P($P(R,D,8),"#"),-1) . Set:$L(User) $P(KlasRef,"#")=$P(KlasRef,"#")_" ("_User_")" Quit KlasRef ; ; Verwerk een order ORDER(ORDNr) New KlasRef Set KlasRef=$$GETORD(ORDNr) Do:$L(KlasRef) SHOWREF(KlasRef) Quit ; ; Ophalen van de klassementreferentie van een order in een bon GETBON(BONNr,ORDNr,FakSoort) New R,KLNr,KlasRef,KlasRefs,BLNr,User Set ORDNr=$G(ORDNr),FakSoort=$G(FakSoort,"F"),KlasRefs="",R=$G(^KU1(BONNr,"F")),KLNr=$P(R,D),BLNr=100 If KLNr For Set BLNr=$O(^KUL(KLNr,FakSoort,BONNr,BLNr)) Quit:'BLNr Do If ORDNr Quit:$L(KlasRefs) . Set R=^KUL(KLNr,FakSoort,BONNr,BLNr) . Quit:$P(R,D,17)'="KF5" Quit:$P(R,D,19)="" . If ORDNr,$P($P(R,D,5)," - ")'=ORDNr Quit . Set KlasRef=$P(R,D,19) . Do:$P(KlasRef,"#")="DIV" .. Set User=$$USERNAME^vhUSER($P($P(R,D,4),"#"),-1) .. Set:$L(User) $P(KlasRef,"#")=$P(KlasRef,"#")_" ("_User_")" . Set KlasRefs=KlasRefs_";"_KlasRef Set $E(KlasRefs)="" Quit KlasRefs ; ; Verwerk een order in een bon BON(BONNr,ORDNr,FakSoort) New KlasRef Set KlasRef=$$GETBON(BONNr,$G(ORDNr),$G(FakSoort,"F")) Do:$L(KlasRef) SHOWREF(KlasRef) Quit ; ; Ophalen van de klassementreferentie van een order in een bon van een factuur GETFAKT(FANr,BONNr,ORDNr) New R,KlasRef,KlasRefs,UBONNr,BLNr,User Set BONNr=$G(BONNr),ORDNr=$G(ORDNr),KlasRefs="",UBONNr="U" For Set UBONNr=$O(^KFA("F",FANr,UBONNr)) Quit:$E(UBONNr)'="U" Do If BONNr Quit:$L(KlasRefs) . If BONNr,$E(UBONNr,2,9)'=BONNr Quit . Set BLNr=100 . For Set BLNr=$O(^KFA("F",FANr,UBONNr,BLNr)) Quit:'BLNr Do If ORDNr Quit:$L(KlasRefs) .. Set R=^KFA("F",FANr,UBONNr,BLNr) .. Quit:$P(R,D,17)'="KF5" Quit:$P(R,D,19)="" .. If ORDNr,$P($P(R,D,5)," - ")'=ORDNr Quit .. Set KlasRef=$P(R,D,19) .. Do:$P(KlasRef,"#")="DIV" ... Set User=$$USERNAME^vhUSER($P($P(R,D,4),"#"),-1) ... Set:$L(User) $P(KlasRef,"#")=$P(KlasRef,"#")_" ("_User_")" .. Set KlasRefs=KlasRefs_";"_KlasRef Set $E(KlasRefs)="" Quit KlasRefs ; ; Verwerk een order in een bon van een factuur FAKT(FANr,BONNr,ORDNr) New KlasRef Set KlasRef=$$GETFAKT(FANr,$G(BONNr),$G(ORDNr)) Do:$L(KlasRef) SHOWREF(KlasRef) Quit ; ; Ophalen van de klassementreferentie van een order in een bon van een proforma GETPROF(FANr,BONNr,ORDNr) New R,KlasRef,KlasRefs,UBONNr,BLNr,User Set BONNr=$G(BONNr),ORDNr=$G(ORDNr),KlasRefs="",UBONNr="U" For Set UBONNr=$O(^KFAP("F",FANr,UBONNr)) Quit:$E(UBONNr)'="U" Do If BONNr Quit:$L(KlasRefs) . If BONNr,$E(UBONNr,2,9)'=BONNr Quit . Set BLNr=100 . For Set BLNr=$O(^KFAP("F",FANr,UBONNr,BLNr)) Quit:'BLNr Do If ORDNr Quit:$L(KlasRefs) .. Set R=^KFAP("F",FANr,UBONNr,BLNr) .. Quit:$P(R,D,17)'="KF5" Quit:$P(R,D,19)="" .. If ORDNr,$P($P(R,D,5)," - ")'=ORDNr Quit .. Set KlasRef=$P(R,D,19) .. Do:$P(KlasRef,"#")="DIV" ... Set User=$$USERNAME^vhUSER($P($P(R,D,4),"#"),-1) ... Set:$L(User) $P(KlasRef,"#")=$P(KlasRef,"#")_" ("_User_")" .. Set KlasRefs=KlasRefs_";"_KlasRef Set $E(KlasRefs)="" Quit KlasRefs ; ; Verwerk een order in een bon van een proforma PROF(FANr,BONNr,ORDNr) New KlasRef Set KlasRef=$$GETPROF(FANr,$G(BONNr),$G(ORDNr)) Do:$L(KlasRef) SHOWREF(KlasRef) Quit ; ; Ophalen van de klassementreferentie van product in een order GETPROD(PRNr,ORDNr) New R,KlasRef,WNode Set ORDNr=$G(ORDNr),KlasRef="",WNode="W" For Set WNode=$O(^KPR(PRNr,WNode)) Quit:$E(WNode,9)'="R" Do If ORDNr Quit:$L(KlasRef) .Set R=$E(WNode,18,23) .Quit:R="" Quit:'$D(^KO1(R)) .If ORDNr,R'=ORDNr Quit .Set R=$$GETORD(R) .Quit:R="" .Set KlasRef=KlasRef_";"_R Set $E(KlasRef)="" Quit KlasRef ; ; Verwerk een product van een order PROD(PRNr,ORDNr) New KlasRef Set KlasRef=$$GETPROD(PRNr,$G(ORDNr)) Do:$L(KlasRef) SHOWREF(KlasRef) Quit ; ; Toon de klassementreferentie via tekstpop SHOWREF(KlasRef) New R,Txt,Count,UserId,IntDate,ORDNr Set Count=0 For Do Quit:KlasRef="" .Set R=$P(KlasRef,";"),UserId=$P(R,"#"),IntDate=$P(R,"#",2),ORDNr=$P(R,"#",3),KlasRef=$P(KlasRef,";",2,99) .Quit:R="" .Set Count=Count+1,Txt(Count)="&C"_$S(UserId:$$USERNAME^vhUSER(UserId,-1),1:UserId) .Set Count=Count+1,Txt(Count)="&S" .Set Count=Count+1,Txt(Count)="&C"_$TR($$EXTDATE^vhDTyp(IntDate,"DL4"),"-"," ") .Set Count=Count+1,Txt(Count)="&S" .Set Count=Count+1,Txt(Count)="&C"_$E(ORDNr,3,6) Set Txt="Txt",R=$$WILD^vhTXTPOP("","",.Txt,,-1) Quit ;