RPLMBON3 ;Raadplegen MoederBon [ 10/15/2003 1:49 PM ] Q ; CHECKORD New I,R,Next,CheckOrd,TxtLoc,ButLoc,Opmerk,%J,LD,SortKey,Count,StckProb New Rec,PRNr,Aantal,Stock,MaxLen,Length,PakNr,PakNaam,ChkContr Do STORE^vhTERMINA() Set CheckOrd="PO",%J=$$%J^vhRtn1(),(StckProb,ChkContr)=0 Kill ^HULP(%J) Set PakNr="" For Set PakNr=$O(^MBLOG("D",$$IO^cQ5,KLNr,"P",PakNr)) Quit:PakNr="" Do .Set PakNaam=$P(^PAKKET("D",PakNr),D,2),PRNr="" .For Set PRNr=$O(^MBLOG("D",$$IO^cQ5,KLNr,"P",PakNr,PRNr)) Quit:'PRNr Do ..Set Aantal=^MBLOG("D",$$IO^cQ5,KLNr,"P",PakNr,PRNr) ..Set SortKey=$$SORTKEY^PRODUKT(PRNr) ..Set ^HULP(%J,"S","P",PakNaam,SortKey)=PRNr_D_Aantal Set PRNr="" For Set PRNr=$O(^MBLOG("D",$$IO^cQ5,KLNr,PRNr)) Quit:'PRNr Do .Set R=^MBLOG("D",$$IO^cQ5,KLNr,PRNr),Aantal=$P(R,D) .Quit:'Aantal .Set SortKey=$$SORTKEY^PRODUKT(PRNr) .Set ^HULP(%J,"S","V",SortKey)=PRNr_D_Aantal Set PakNaam="" For Set PakNaam=$O(^HULP(%J,"S","P",PakNaam)) Quit:PakNaam="" Do .Set SortKey="" .For Set SortKey=$O(^HULP(%J,"S","P",PakNaam,SortKey)) Quit:SortKey="" Do ..Set Rec=^HULP(%J,"S","P",PakNaam,SortKey),PRNr=$P(Rec,D),Aantal=$P(Rec,D,2) ..Set Stock=$$GETSTOCK^PRODUKT4(PRNr),$P(Rec,D,4,6)=$P(Stock,D,1,3) ..Set Opmerk=$$CHECK^ORDERT(PRNr,KLNr,Aantal,,,"K"),$P(Rec,D,3)=Opmerk ..Set Opmerk=$$CHECK^ORDERT(PRNr,KLNr,Aantal,,,"S"),MaxLen=36 ..Do:$L(Opmerk)>MaxLen ...For Do Quit:$L(Opmerk)'>MaxLen ....Set Length=0 ....For I=1:1:$L(Opmerk,",") Set:$L($P(Opmerk,",",I))>Length Length=$L($P(Opmerk,",",I)) ....For I=1:1:$L(Opmerk,",") Set R=$P(Opmerk,",",I) Set:$L(R)=Length $E(R,$L(R))="",$P(Opmerk,",",I)=R ..Set $P(Rec,D,7)=Opmerk ..Set ^HULP(%J,"S","P",PakNaam,SortKey)=Rec Set SortKey="" For Set SortKey=$O(^HULP(%J,"S","V",SortKey)) Quit:SortKey="" Do .Set Rec=^HULP(%J,"S","V",SortKey),PRNr=$P(Rec,D),Aantal=$P(Rec,D,2) .Set Stock=$$GETSTOCK^PRODUKT4(PRNr),$P(Rec,D,4,6)=$P(Stock,D,1,3) .Set Opmerk=$$CHECK^ORDERT(PRNr,KLNr,Aantal,,,"K"),$P(Rec,D,3)=Opmerk .Set Opmerk=$$CHECK^ORDERT(PRNr,KLNr,Aantal,,,"S"),MaxLen=36 .Do:$L(Opmerk)>MaxLen ..For Do Quit:$L(Opmerk)'>MaxLen ...Set Length=0 ...For I=1:1:$L(Opmerk,",") Set:$L($P(Opmerk,",",I))>Length Length=$L($P(Opmerk,",",I)) ...For I=1:1:$L(Opmerk,",") Set R=$P(Opmerk,",",I) Set:$L(R)=Length $E(R,$L(R))="",$P(Opmerk,",",I)=R .Set $P(Rec,D,7)=Opmerk .Set ^HULP(%J,"S","V",SortKey)=Rec Set (PakNaam,Count)="",Opmerk=0 For Set PakNaam=$O(^HULP(%J,"S","P",PakNaam)) Quit:PakNaam="" Do .Set R="** **" .Set $E(R,$L(R)-$L(PakNaam)\2,$L(R)-$L(PakNaam)\2+$L(PakNaam))=PakNaam .Set Count=Count+1,^HULP(%J,"L",Count)=R .Set SortKey="" .For Set SortKey=$O(^HULP(%J,"S","P",PakNaam,SortKey)) Quit:SortKey="" Do ..Set R=^HULP(%J,"S","P",PakNaam,SortKey),Count=Count+1,^HULP(%J,"L",Count)=R ..Set:Opmerk<$L($P(R,D,3)) Opmerk=$L($P(R,D,3)) ..Set:'StckProb StckProb=$P(R,D,3)["S" Set:'StckProb StckProb=$P(R,D,3)["Q" ..Set:'ChkContr ChkContr=$P(R,D,3)["C" If $D(^HULP(%J,"S","P")) Set Count=Count+1,^HULP(%J,"L",Count)="*-----------------------*" Set SortKey="" For Set SortKey=$O(^HULP(%J,"S","V",SortKey)) Quit:SortKey="" Do .Set R=^HULP(%J,"S","V",SortKey),Count=Count+1,^HULP(%J,"L",Count)=R .Set:Opmerk<$L($P(R,D,3)) Opmerk=$L($P(R,D,3)) .Set:'StckProb StckProb=$P(R,D,3)["S" Set:'StckProb StckProb=$P(R,D,3)["Q" Set:'StckProb StckProb=$P(R,D,3)["D" .Set:'ChkContr ChkContr=$P(R,D,3)["C" If Opmerk Do .Do INIT^vhLIST("RPLMBON","CHECKORD",.LD) .;If StckProb!ChkContr Do .If ChkContr,"\31\"'[(D_$G(CUserId)_D) Do ; Enkel contracten (niet voor CDV) ..For I=1:1 Quit:'$D(LD("B",I)) If $P(LD("B",2),"`",6)="PO" Set $P(LD("B",2),"`",3)="D" Quit .Do WRITE^vhLIST(.LD) .For Set CheckOrd=$$SCROLL^vhLIST(.LD) Quit:"\\PT\PO\"[(D_CheckOrd_D) Kill ^HULP(%J) Do REFRESH^vhTERMINA() Quit CheckOrd