PRODUKT8 ; Producten - snijden verpakking Quit SnijDoos(PRNr,AantDozen) New %SC,Type,SnijMachine,MachineOutput,SnijPrioriteit,BaseRef,Status,Qty,MaxQty,Input,ScreenPos Set Type=##class(BL.Prod.OptiBox.Diverse).HasOptiData(PRNr) If $L(Type) Do . Do STORE^vhTERMINA() . Set AantDozen=$G(AantDozen),SnijMachine=1,MachineOutput="",SnijPrioriteit=5 . If "\TBX\KAD\"[(D_Type_D) Set SnijMachine=2,MachineOutput=1 . Set ScreenPos=$P(^SD("D","SNIJDOOS"),"`"),FP=ScreenPos*100+1 . Write @F,@F1 . Do NIEUW^vhScherm("SNIJDOOS") . Do:%SC . . Set SnijMachine=$P(^RES("SNIJDOOS","PI","SNIJMACHINE","D",SnijMachine),"`",3) . . Set BaseRef=##class(BL.Prod.OptiBox.Diverse).SnijDirect(PRNr, AantDozen, , SnijPrioriteit, MachineOutput, SnijMachine) . . Set FP=ScreenPos*100+1 . . Write @F,@F1 . . For Quit:($G(Status)="F")||($G(Input)=-1) Do . . . Do ##class(BL.Prod.OptiBox.Diverse).SnijStatus(BaseRef, .Status, .Qty, .MaxQty) . . . If Status="O" Set FP=2103 Write @F,"Optimalisatie" . . . If Status="S" Set FP=2203 Write @F,"Snijden in wachtrij : ",Qty," / ",MaxQty . . . If Status="E" Set FP=2303 Write @F,"Error bij het snijden : ",Qty," / ",MaxQty . . . Quit:Status="F" . . . Read *Input:1 ; wachten op input, 1 seconde . Do REFRESH^vhTERMINA() Quit ; Controle ingave dozenaantal ValAantDozen(AantDozen) New sEr Set sEr="Foutieve ingave" Set AantDozen=$TR(AantDozen,";:/.",",,,,") If $L($TR(AantDozen,",0123456789","")) Else If $E(AantDozen)="," Else If $E(AantDozen,$L(AantDozen))="," Else If AantDozen[",," Else If 'AantDozen Set sEr="Er moet een aantal ingevuld zijn" Else Set sEr="" Quit sEr