Index: EWORDS6.mac.rou =================================================================== diff -u -r29059 -r44434 --- EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 29059) +++ EWORDS6.mac.rou (.../EWORDS6.mac.rou) (revision 44434) @@ -1,3 +1,4 @@ +#include BL.Derde.LevSpecifiek EWORDS6 ;E'WMS Automatisch markeren voor orderpicking [ 10/28/2003 10:26 AM ] /* @@ -290,48 +291,45 @@ ; Boekhoudkundige controle? CheckBoekhouding(ORDNr) - New Check - Set Check=$$CheckRembours(ORDNr) - Set:Check Check=$$CheckVooruitBetaling(ORDNr) - Set:Check Check=$$CheckDubieus(ORDNr) - Set:Check Check=$$CheckKredietwaardig(ORDNr) - Quit Check + New CheckIsOK + Set CheckIsOK=$$CheckRembours(ORDNr) + Set:CheckIsOK CheckIsOK=$$CheckVooruitBetaling(ORDNr) + Set:CheckIsOK CheckIsOK=$$CheckDubieus(ORDNr) + Set:CheckIsOK CheckIsOK=$$CheckKredietwaardig(ORDNr) + Quit CheckIsOK ; Controle rembours CheckRembours(ORDNr) - New R,KLNr,Check,Rembours,SendWMS + New R,KLNr,CheckIsOK,Rembours,SendWMS Set R=^KO1(ORDNr,"F"),KLNr=$P(R,D) - Set SendWMS=$P(^KKL(^KK1(KLNr),2),D,8) - Set Check=$E(SendWMS,$L(SendWMS)) ; Geen vrijgave door boekhouding nodig - Set:'Check R=^KKL(^KK1(KLNr),3),Rembours=$P(R,D),Check='Rembours - Quit Check + Set CheckIsOK='$$IsKlantVrijgesteldVanVrijgaveDoorBKH(KLNr) + Set:'CheckIsOK R=^KKL(^KK1(KLNr),3),Rembours=$P(R,D),CheckIsOK='Rembours + Quit CheckIsOK ; Controle vooruitbetaling CheckVooruitBetaling(ORDNr) - New R,KLNr,Check,VooruitBetaling,SendWMS + New R,KLNr,CheckIsOK,VooruitBetaling,SendWMS Set R=^KO1(ORDNr,"F"),KLNr=$P(R,D) - Set SendWMS=$P(^KKL(^KK1(KLNr),2),D,8) - Set Check=$E(SendWMS,$L(SendWMS)) ; Geen vrijgave door boekhouding nodig - Set:'Check R=^KKL(^KK1(KLNr),3),VooruitBetaling=$P(R,D,2),Check='VooruitBetaling - Quit Check + Set CheckIsOK=$$IsKlantVrijgesteldVanVrijgaveDoorBKH(KLNr) + Set:'CheckIsOK CheckIsOK=$$CheckVolledigHalux(KLNr,ORDNr) + Set:'CheckIsOK R=^KKL(^KK1(KLNr),3),VooruitBetaling=$P(R,D,2),CheckIsOK='VooruitBetaling + Quit CheckIsOK ; Controle dubieus CheckDubieus(ORDNr) - New R,KLNr,Check,Dubieus,SendWMS + New R,KLNr,CheckIsOK,Dubieus,SendWMS Set R=^KO1(ORDNr,"F"),KLNr=$P(R,D) - Set SendWMS=$P(^KKL(^KK1(KLNr),2),D,8) - Set Check=$E(SendWMS,$L(SendWMS)) ; Geen vrijgave door boekhouding nodig - Set:'Check R=^KKL(^KK1(KLNr),3),Dubieus=$P(R,D,8),Check='Dubieus - Quit Check + Set R=^KKL(^KK1(KLNr),3),Dubieus=$P(R,D,8),CheckIsOK='Dubieus + Quit CheckIsOK ; Controle kredietwaardig? CheckKredietwaardig(ORDNr) - New R,KLNr,Check,SendWMS + New R,KLNr,CheckIsOK,SendWMS Set R=^KO1(ORDNr,"F"),KLNr=$P(R,D) - Set SendWMS=$P(^KKL(^KK1(KLNr),2),D,8) - Set Check=$E(SendWMS,$L(SendWMS)) ; Geen vrijgave door boekhouding nodig - Set:'Check Check=+$$WAARDIG^KREDIET(KLNr) - Quit Check + Set CheckIsOK=$$IsKlantVrijgesteldVanVrijgaveDoorBKH(KLNr) + Set:'CheckIsOK CheckIsOK=$$CheckVolledigHalux(KLNr,ORDNr) + Set:'CheckIsOK CheckIsOK=+$$WAARDIG^KREDIET(KLNr) + Quit CheckIsOK ; De voorraad van alle gelinkte orders voldoende? CheckStock(ORDNr) @@ -344,6 +342,27 @@ Quit:'InStock } Quit $G(InStock,1) + +IsKlantVrijgesteldVanVrijgaveDoorBKH(KLNr) + New VrijgaveAutomatisch + Set VrijgaveAutomatisch=$P(^KKL(^KK1(KLNr),2),D,8) + Quit $E(VrijgaveAutomatisch,$L(VrijgaveAutomatisch)) + + +CheckVolledigHalux(KLNr,ORDNr) + New OLNr,R,TOENr,PRNr,NietVolledigHalux + Set NietVolledigHalux=0 + Set OLNr=100 + For { + Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) + Quit:OLNr="" + Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2) + Continue:'PRNr + Set LevNr=$E($O(^KPR(PRNr,"J")),2,9) + Set TOELNr=$P(R,D,28) ;bevat de lijnnr van de toelevering of KOM + If (TOELNr="")||(LevNr'=$$$LevHalux) Set NietVolledigHalux=1 + } + Quit 'NietVolledigHalux ; Controle voorraad van een order CheckStockOneOrder(ORDNr) @@ -768,4 +787,3 @@ -