Index: EWPR.mac.rou =================================================================== diff -u -r53219 -r73189 --- EWPR.mac.rou (.../EWPR.mac.rou) (revision 53219) +++ EWPR.mac.rou (.../EWPR.mac.rou) (revision 73189) @@ -1,3 +1,5 @@ +#include Prod.Product +#include BL.Derde.LevSpecifiek EWPR ;E'WMS Produkten [ 12/04/2003 4:37 PM ] Set PRNr=0 @@ -14,10 +16,10 @@ Set $P(^KPR(PRNr,2),D,17)="A;"_$H Q "Send" -ZEND(PRNr) +ZEND(PRNr,Forced) New C ;Q ; Tijdelijk geen produkt info doorsturen - If $$CHKSEND(PRNr),"1D"[$$CHKAFGL(PRNr) Do + If ($$CHKSEND(PRNr)&&("1D"[$$CHKAFGL(PRNr)))||$G(Forced) Do . Do BUILD(PRNr),ZEND^EWRECS("C") . Set $P(^KPR(PRNr,2),D,17)="A;"_$H Quit @@ -31,17 +33,20 @@ Set EndPRNr=$O(^KPR(""),-1) For Do Quit:PRNr="" .Set DH="" + .Set StartPRNr=PRNr .For Set PRNr=$O(^KPR(PRNr)) Quit:'PRNr Do Quit:Cnt'=MemCnt&(Cnt#500=0) - .. Quit:'$$CHKSEND(PRNr) - .. Quit:'$$CHKAFGL(PRNr) + .. ;Quit:'$$CHKSEND(PRNr) + .. ;Quit:'$$CHKAFGL(PRNr) + .. Quit:$$$PRGet($$$OpslagZone)'=3 .. Set Cnt=Cnt+1 + .. W $$$ProductGet(PRNr,$$$KortTekst)," - ",$$$PRGet($$$OpslagZone),! .. Set:'DH DH=$$OPEN^EWRECS .. Do BUILD(PRNr),PUT^EWRECS(DH,"C") .. Set $P(^KPR(PRNr,2),D,17)="A;"_$H .Do:DH CLOSE^EWRECS(DH,1) ; met NoStore .Set MemCnt=Cnt - .Write !,Cnt," : ",PRNr," -> ",EndPRNr - .Hang 180 + .Write !,Cnt," : ",StartPRNr," -> ",PRNr," Max:",EndPRNr + .Hang 20 Quit SYNCAFGL ; Alle generisch afgeleide producten weghalen die gedurende 1 maand niet meer bewogen zijn en waarvoor er geen "W" node bestaat @@ -78,6 +83,7 @@ Quit:$P(^KPR(PRNr,1),D,25)=1 0 ; Non-aktief Quit:$P(^KPR(PRNr,0),D,3)?1A1.E 0 ; Generisch product NIET overdragen naar het WMS (wel de afgeleide) Quit:$P(^KPR(PRNr,2),D,15)=0 0 ; Opslagzone Manueel + ;Quit:+$$$PRGet($$$CifPPLEUR)>0 0 Quit 1 CHKAFGL(PRNr,Dagen) ; Controle of afgeleid product nog moet verstuurd worden @@ -119,30 +125,33 @@ Set KleurC=$E($P(P(0),D,1),22,25) Set KleurO=$G(^KCOL(KleurC_" ","N")) Set:$L(KleurO) $E(C("OMSCHRIJFNED"),45-$L(KleurO)+1,45)=KleurO - Set C("OMSCHRIJFFRANS")=$$TEKST(45,"1.22;3.21;8.1;8.2;8.3;8.4") - Set KleurO=$G(^KCOL(KleurC_" ","F")) - d - Set:$L(KleurO) $E(C("OMSCHRIJFFRANS"),45-$L(KleurO)+1,45)=KleurO - Set KleurO=$G(^KCOL(KleurC_" "),"N") + Set C("OMSCHRIJFFRANS")=$$GeefItemIDForAX(PRNr) ;$$TEKST(45,"1.22;3.21;8.1;8.2;8.3;8.4") + ;Set KleurO=$G(^KCOL(KleurC_" ","F")) + ;Set:$L(KleurO) $E(C("OMSCHRIJFFRANS"),45-$L(KleurO)+1,45)=KleurO + ;Set KleurO=$G(^KCOL(KleurC_" "),"N") Set C("LEVNR")=$P(P("J"),D,1) Set C("LEVNM")=$P(^KLE(^KL1(C("LEVNR")),0),D,2) Set C("LEVREF")=$P(P("J"),D,3) Set C("LEVREFOMS")=$$TEKST(45,"4.1;4.2;4.3;4.4;4.5;4.6;4.7;4.8;4.9;4.10") Set C("TELBAAR")=+$P(P(1),D,7) - Set C("AKP")=$P(P("J"),D,23) + Set C("AKP")=$$AankoopPrijs(PRNr) - If C("LEVNR")=5005 Do ; alleen voor Blum verpakking doorsturen + If +C("LEVNR")=5005 Do ; Blum . Set C("AANTALGVP")=$P(P("J"),D,16) . Set C("AANTALKVP")=$P(P("J"),D,15) . Set:'C("AANTALKVP") C("AANTALKVP")=$P(P("J"),D,14) ; Indien norm niet is ingevuld dan kleinverpakking + Else Do ; Alle andere dan BLU, geen verpakkings gegeven meesturen + . Set C("AANTALGVP")="" + . Set C("AANTALKVP")="" Set C("SNS")=$P(P(1),D,20) Set C("MKBTYPE")=$S($P(P(0),D,23)="K":"K",$D(^PRLINK("D",PRNr)):"M",1:"") Set C("MOEDERPRNR")=$D(^PRLINK("IKM",PRNr))>0 ; vermits een kind meerdere moeders kan hebben alleen maar markering of dat het een moeder heeft Set C("PRODUKTGROEP")=$P(P(1),D) + Set:+C("PRODUKTGROEP")=0 C("PRODUKTGROEP")=1 Set C("CYCLECOUNTTYPE")=$P(P(1),D,2) - Set C("ABCKLAS")=+$C($A($P($P(P(0),D,8),"#"))-64+48) - Set C("ABCKLAS")=$S(C("ABCKLAS")<1&(C("ABCKLAS")>3):3,1:C("ABCKLAS")) + Set:+C("CYCLECOUNTTYPE")=0 C("CYCLECOUNTTYPE")=4 + Set C("ABCKLAS")=+$CASE($P($P(P(0),D,8),"#"),"A":1,"B":2,:3) Set C("BARCODE")=$P(P(2),D,14) Set C("SORTKEY")=$$SORTKEY^PRODUKT(PRNr) Set C("GEWICHT")=$P(P(1),D,13)*1000 ; in mg, moet nauwkeuriger ingegeven kunnen worden @@ -153,13 +162,51 @@ Set C("DATUMFIFO")=$P(P(1),D,8) Set C("OPSLAGZONE")=$P(P(2),D,15) Set C("TELWIJZE")="" ;$P(P(2),D,11) + Set C("PALLETAANTAL")=$P(P(2),D,16) + Set C("IMAGE")=##class(BL.Prod.ImageLink).%New().GetProductImageURL(PRNr,"WMS") + Set:C("IMAGE")'="" C("IMAGE")=$$REPLACE^vhRtn1(C("IMAGE"),"Notes01","EWMS2003") ;Wijzig accenten in std. ascii ;Do VANNAAR^vhTERMINA("ASCII") ;Set C("OMSCHRIJFNED")=$TR(C("OMSCHRIJFNED"),FVAN,FNAAR) ;Set C("OMSCHRIJFFRANS")=$TR(C("OMSCHRIJFFRANS"),FVAN,FNAAR) ;Set C("LEVREFOMS")=$TR(C("LEVREFOMS"),FVAN,FNAAR) Quit +AankoopPrijs(PRNr) + New CifPPL,BLID,lbPRNrs,CifPPLSom,CifPPL2,Cnt,PRNr2 + Set CifPPL=+$$$PRGet($$$CifPPLEUR) + Set (CifPPLSom,Cnt)=0 + If (+CifPPL=0)&&($$$PRGet($$$LeveranciersNr)=$$$LevBlum) Do ; zonder prijs + . Set BLID=$$GetBlumID^BLPROD(PRNr) + . Set lbPRNrs=$$GetVHProds^BLPROD(BLID) + . For I=1:1:$LL(lbPRNrs) Do + . . Set PRNr2=$LG(lbPRNrs,I) + . . Quit:PRNr2="" + . . Quit:PRNr=PRNr2 + . . Set CifPPL2=$$$ProductGet(PRNr2,$$$CifPPLEUR) + . . ;W $$$ProductGet(PRNr2,$$$KortTekst)," ",CifPPL2,! + . . Quit:+CifPPL2=0 + . . Set Cnt=Cnt+1 + . . Set CifPPLSom=CifPPLSom+CifPPL2 + . Set:Cnt CifPPL=CifPPLSom/Cnt + Quit CifPPL + + +Image(PRNr) + Set StartPad="\\Notes01\Images\" + Set rsImg=##Class(%ResultSet).%New("Res.ImageLink:GetViaFunctieTypes") + Do rsImg.Execute("PR",PRNr,$LB("PB"),"N") ; Haalt alle objecten waarvang de functietype is PB en AG (ook dubbels worden getoond) + Set TFile="" + For Quit:'rsImg.Next() Do + . Set TFile=##class(Res.ImageLink).GetFile(StartPad,rsImg.Data("%ID"),"W","\") + Quit TFile + +GeefItemIDForAX(PRNr) + New Translator,ItemID + Set Translator=##class(AX.Uitgaand.EC.DataAX.impl.Translator).%New() + Set ItemID=Translator.GeefItemIDForAX(PRNr) + Quit ItemID + KortAfIdentNrTotMaxLengteVoorEgemin(Identnr) New KortIdentnr Set KortIdentnr = $S($L(Identnr)>11:$Reverse($P($Reverse(Identnr),".")_$P($Reverse(Identnr),".",2,9)),1:Identnr) @@ -202,6 +249,7 @@ Set C("DATUMFIFO")="" Set C("OPSLAGZONE")="1" Set C("TELWIJZE")="" + Set C("PALLETAANTAL")="" Do ZEND^EWRECS("C") Quit TEKST(Len,Refs) @@ -221,16 +269,22 @@ ; ====== To_Receive ====== &sql(DECLARE crTR CURSOR FOR SELECT OrderNr INTO :OrderNr FROM EWMS.ToReceive WHERE (Product=:ProdNr) AND (QtyToReceive <> QtyTransported)) &sql(OPEN crTR) - &sql(FETCH crTR) - Set:($D(OrderNr)) Status=Status_"R" + For &sql(FETCH crTR) Quit:SQLCODE Do Quit:Status["R" + . Quit:$G(OrderNr)="" + . Quit:'$D(^RCP("D",OrderNr)) ; bestaat niet meer in RCP + . Quit:$P(^RCP("D",OrderNr),"\",20)="I" ; ingeboekt + . Set Status=Status_"R" &sql(CLOSE crTR) ; ====== To_Pick ====== k OrderNr &sql(DECLARE crTP CURSOR FOR SELECT order_nr INTO :OrderNr FROM EWMS_Pick.ToPick WHERE (product=:ProdNr) AND (qty_to_pick <> qty_picked)) &sql(OPEN crTP) - &sql(FETCH crTP) - Set:($D(OrderNr)) Status=Status_"P" + For &sql(FETCH crTP) Quit:SQLCODE Do Quit:Status["P" + . Quit:$G(OrderNr)="" + . Quit:'$D(^ORDW("D",OrderNr)) ; bestaat niet meer in RCP + . Quit:$P(^ORDW("D",OrderNr),"\",20)="B" ; op bon + . Set Status=Status_"P" &sql(CLOSE crTP) ; ====== Inventory ====== @@ -255,3 +309,4 @@ Set:$D(^KPR(ProdNr,2)) $P(^KPR(ProdNr,2),"\",17)="D;"_+$H ; Markeren dat het product verwijderd werd uit het EWMS Quit "" +