#include Prod.Product TREE Set Dev=$$OPEN^vhDEV(,"Tree.txt","W") Use Dev Write "PRNr SortKey LevRef KortTekst Leverancier" Write " HGNr HG GRNr GR SGNr SG" Write " AGNr AG VD3Nr VD3 VD2Nr VD2" Write " P1Nr P1 P2Nr P2 P3Nr P3 P4Nr P4 VD2Nr VD2" Write " C1ID C1 P2ID C2 C3ID C3 C4ID C4" Write ! S PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Quit:$P(^KPR(PRNr,0),D,3)?4.7N ; afgeleid . Quit:$$$PRGet($$$NONAktief) . Set KT=$$$PRGet($$$KortTekst) . Set IDNr=$$$PRGet($$$IdentNummer) . Set LEVNr=$$$PRGet($$$LeveranciersNr) . ;Quit:LEVNr'=5005 . Set LEVNm=$P(^KLE(^KL1(LEVNr),0),D,2) . Set KKey=$$$PRGet($$$KlassificatieKey) . Set KRec=^KLAS("K",KKey) . Set BLID=$$GetBlumID^BLPROD(PRNr) . Set VD2="" . Set:BLID'="" VD2=$E($P($G(^BLProd("D",BLID)),D,19),1,4) . Set (oVD3,oAG,oVD2,oP4,oP3,oP2,oP1)=##class(Blum.Klassificatie).%New() ; dummy . If VD2'="" Do ; Blum klassificatie . . ; VD . . Set oVD2=##class(Blum.Klassificatie).%OpenId("V2||"_VD2) . . Set:'$isObject(oVD2) oVD2=oVD3 ;dummy . . Set oLink=$S($isObject(oVD2):oVD2.Parents.GetAt("V3"),1:"") . . Set:$isobject(oLink) oVD3=oLink.Parent . . Set oLink=$S($isObject(oVD3):oVD3.Parents.GetAt("AG"),1:"") . . Set:$isobject(oLink) oAG=oLink.Parent . . ; Program . . Set oLink=$S($isObject(oVD2):oVD2.Parents.GetAt("P4"),1:"") . . Set:$isobject(oLink) oP4=oLink.Parent . . Set oLink=$S($isObject(oP4):oP4.Parents.GetAt("P3"),1:"") . . Set:$isobject(oLink) oP3=oLink.Parent . . Set oLink=$S($isObject(oP3):oP3.Parents.GetAt("P2"),1:"") . . Set:$isobject(oLink) oP2=oLink.Parent . . Set oLink=$S($isObject(oP2):oP2.Parents.GetAt("P1"),1:"") . . Set:$isobject(oLink) oP1=oLink.Parent . Write PRNr,*9,$$SORTKEY^PRODUKT(PRNr),*9,IDNr,*9,KT,*9,LEVNr," ",LEVNm . Write *9,$P(KRec,D,2),*9,$P(KRec,D,5),*9,$P(KRec,D,3),*9,$P(KRec,D,6),*9,$P(KRec,D,4),*9,$P(KRec,D,7) . Write *9,oAG.Sleutel,*9,oAG.Omschrijving,*9,oVD3.Sleutel,*9,oVD3.Omschrijving,*9,oVD2.Sleutel,*9,oVD2.Omschrijving . Write *9,oP1.Sleutel,*9,oP1.Omschrijving,*9,oP2.Sleutel,*9,oP2.Omschrijving,*9,oP3.Sleutel,*9,oP3.Omschrijving,*9,oP4.Sleutel,*9,oP4.Omschrijving,*9,oVD2.Sleutel,*9,oVD2.Omschrijving . Set StructID=$S(BLID'="":$LG($G(^Blum.CatalogTreeD("I",BLID))),1:"") . For Quit:StructID="" Do . . Set lbStruct=$G(^Blum.CatalogTreeD("S",StructID)) . . If lbStruct="" Set StructID="" Quit . . If $LG(lbStruct,2)="root" Set StructID="" Quit . . Write *9,StructID,*9,$LG(lbStruct,3) . . Set StructID=$LG(lbStruct,1) . Write ! Close:0'[Dev Dev Quit q OFF Write "KLNr Naam OfferteNr",! S KLNr=0 For Set KLNr=$O(^KOFKL(KLNr)) Quit:KLNr="" Do . SEt OFFNr=0 . For Set OFFNr=$O(^KOFKL(KLNr,"F",OFFNr)) Quit:OFFNr="" Do . . Set OFLNr=99 . . For Set OFLNr=$O(^KOFKL(KLNr,"F",OFFNr,OFLNr)) Quit:OFLNr="" Do . . . Set OLRec=$G(^KOFKL(KLNr,"F",OFFNr,OFLNr)) . . . Set PRNr=$P(OLRec,D,2) . . . Quit:PRNr'=371505 . . . Write KLNr,*9,$P(^KKL(^KK1(KLNr),0),D,2),*9,OFFNr,! Quit Do MAILKL("",,"") ;Do MAILKL("F",,"") Sequence() s Dev=$$OPEN^vhDEV(,"CheckKleller.txt","W") u Dev #define LevHalux 6332 set lbTOENrs=$Lb("284254") Set Count=0 For I=1:1:$LL(lbTOENrs) Do . Set TOENr=$LG(lbTOENrs,I) . Set TLNr=99 . For Set TLNr=$O(^KTO($$$LevHalux,TOENr,TLNr)) Quit:TLNr="" Do ;Quit:Count>10 . . Set LRec=^KTO($$$LevHalux,TOENr,TLNr) . . Set PRNr=$P(LRec,"\",2) . . Quit:$P($$GENTYP^HAD(PRNr),"\")'="TBX" . . Set TLUNr=$P(LRec,"\",15) . . Set KLNr=$P($G(^KTO($$$LevHalux,TOENr,1)),"\",8) ; klant . . Set ORDNr=$P($G(^KTO($$$LevHalux,TOENr,$G(^TO("IU",TOENr,TLUNr),"*"))),"\",27) ; KOMLink . . Set OLNr=$P($G(^KTO($$$LevHalux,TOENr,$G(^TO("IU",TOENr,TLUNr),"*"))),"\",28) ; KOMLink . . Set KlantOrdRef=$S(ORDNr&&OLNr:$P($G(^KOD(KLNr,"F",ORDNr,OLNr)),"\",45),1:"") ; Klantreferentie (ritnummer bij Keller EDI) . . Set TransportRef=$P(^KOD(KLNr,"F",ORDNr,1),"\",33) . . Set KlantProdRef=$S(KLNr:$$DISP^PAKKET(KLNr,PRNr),1:"") . . Write *9,TransportRef,*9,KlantOrdRef,*9,KlantProdRef,*9,PRNr,*9,$P(^KPR(PRNr,0),"\"),*9,$P(LRec,"\",3),! c Dev q KT26 Write "PRNr SortKey KortTekst HalfFabr LEVNr LevNm #Fakt Omzet Marge",! S PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . ;Quit:$P(^KPR(PRNr,0),D,3)?4.7N ; afgeleid . Quit:'$D(^KPR(PRNr,"J6332")) ; Halux . Set KT=$P(^KPR(PRNr,0),D,1) . Quit:$L(KT)'>25 . Write PRNr," ",KT,! . Do DELIND^PRODUKT2(PRNr) . Set $P(^KPR(PRNr,0),D,1)=$E(KT,1,25) . Do BLDIND^PRODUKT2(PRNr) Quit MAILKL(TaalSel,LandSel,ExclTyp,InclTyp,LimGlobRef) Set Dev=0 New U Set U=$C(9) ; TaalSel = N of F ; LandSel = "NL;BE" ; ExclTyp = "" bv "BH;XX" (boekhouding;diverse) ; InclTyp = "" bv "AK;AB" (Aankoop;Algemeen beheerder) ; LimGlobRef wordt gebruikt om te testen of een klant mag opgenomen worden in de maillijst - $D(@LimGlobRef@(KLNr)) Set BeginOmzetMaand=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-12),"DM4")_" " Set EndOmzetMaand=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-1),"DM4")_" " New %J,Dev,KLId,KLNr,KLNm,Taal,Land,Pers,Nr,Found,I,connect,Typconnect,email,Naam,Voornaam,elink Set Dev=$$OPEN^vhDEV(,"MAILLIST"_$G(TaalSel)_".TXT","W") Use Dev Set KLId="" Write "KLNr KLNm ToeNaam Aanspr Straat GEmeente PostKode Land eLink email Regio Taal Persoon",! Set %J=$$%J^vhRtn1() Kill ^HULP(%J) For Set KLId=$O(^KKL(KLId)) Quit:KLId="" Do . Set eFound=0 . Set KLNr=$P(^KKL(KLId,0),D) . If $L($G(LimGlobRef)) Quit:'$D(@LimGlobRef@(KLNr)) . Quit:$P(^KKL(KLId,2),D,10) ; non akt . Quit:$L($P(^KKL(KLId,0),D,30)) ; non akt of verwijderd . Quit:'$P(^KKL(KLId,0),D,20) ; geen regio . Quit:$P(^KKL(KLId,1),D,25)="Z" ; Non akt . Quit:$P(^KKL(KLId,1),D,25)=0 ; Non akt . . ;Quit:$L($P(^KKL(KLId,1),D,10)) ; Klant Van . . ;Set Found=0 . ;Set Vzwn=$P(^KKL(KLId,2),D,16) . ;For I=1:1:$L(Vzwn,"`") Do . . Set Vzw=$P(Vzwn,"`",I) . . Set:($P(Vzw,";")="OD4")&&($P(Vzw,";",2)=1) Found=1 . . Set:($E($P(Vzw,";"),1,2)="OD")&&($P(Vzw,";",2)=1) Found=1 . ;Quit:'Found . ;Quit:'$$IncludeKlant(KLNr) . . Set Regio=$P(^KKL(KLId,0),D,20) . ;Quit:(Regio)'?1(1"1",1"2",1"3",1"20",1"21",1"22",1"23",1"24",1"25",1"26",1"27") . ;Quit:(Regio>12) . ;Quit:Regio=1 ; geen key accounts . ;Quit:Regio'=30 . Set Omzet=$$KLANT^STAT(KLNr,0,BeginOmzetMaand,EndOmzetMaand,3) . ;Quit:'Omzet . . Set KLNm=$P(^KKL(KLId,0),D,2) . Set Taal=$P(^KKL(KLId,0),D,9) . ;Quit:(Taal="D")!(Taal="E") . If $L($G(TaalSel)) Quit:Taal'=TaalSel . Set Land=$$LAND^vhRtn1(KLNr,"K",1,1) . If $L($G(LandSel)) Quit:(";"_LandSel_";")'[(";"_Land_";") . Set Nr="" . For Set Nr=$O(^PERS("K",KLNr,Nr)) Quit:Nr="" Do .. Set Pers=^PERS("K",KLNr,Nr) .. .. ;Controleren of het één van de VerantwType NIET tot de ExclTyp behoort .. Set Typ=$P(Pers,D,5) .. Set Found=$S($L($G(ExclTyp)):0,1:1) .. If 'Found For I=1:1:$L(Typ,";") Do ... Quit:'$L($P(Typ,";")) ... Set:(";"_ExclTyp_";")'[(";"_$P(Typ,";",I)_";") Found=1 .. Quit:'Found ; Behoort to ExclTyp .. .. ;Controleren of het één van de VerantwType tot de InclTyp behoort .. Set Typ=$P(Pers,D,5) .. Set Found=$S($L($G(InclTyp)):0,1:1) .. If 'Found For I=1:1:$L(Typ,";") Do ... Quit:'$L($P(Typ,";")) ... Set:(";"_InclTyp_";")[(";"_$P(Typ,";",I)_";") Found=1 ; Type van persoon behoort tot InclTyp .. Quit:'Found ; Behoort to IncTyp .. For I=15:1:19 Do ... Quit:$P(Pers,D,6) ; mail non aktief ... Set connect=$P(Pers,D,I) ... Quit:$P(connect,";")'="E" ... Set email=$P(connect,";",2) ... Quit:'$l(email) ... Quit:email'["@" ... Quit:$E(email)="#" ; NOOIT versturen ... Quit:$E(email)="~" ; PROBLEEM GEVAL niet versturen ... If $E(email)="~" Set $E(email)="" ; UNDELIVERABLE ... Quit:$D(^HULP(%J,$$UPTRIMAN^vhRtn1(email))) ;dubbel ... Set Naam=$P(Pers,D,2) ... Set VoorNaam=$P(Pers,D,3) ... Set elink=Naam_$S($L(VoorNaam):" "_VoorNaam,1:"") ... Set ^HULP(%J,$$UPTRIMAN^vhRtn1(email))="" ... ;Do WriteAdres(KLNr) ... Set eFound=1 ... ;Write elink,U,email,U,$P(^KKL(KLId,0),D,20),U,Taal,U,$P(Pers,D,1),! . Set email=$P(^KKL(KLId,2),D,19) Do . Quit:eFound . If $E(email)="~" Set $E(email)="" ; UNDELIVERABLE . if $$UPTRIMAN^vhRtn1(email)'="" Quit:$D(^HULP(%J,$$UPTRIMAN^vhRtn1(email))) ;dubbel . If '((email="")||(email'["@")||($E(email)="#")||($E(email)="~")) Quit . Do WriteAdres(KLNr) . ;Write U,email,U,$P(^KKL(KLId,0),D,20),U,Taal,! . Write U,U,$P(^KKL(KLId,0),D,20),U,Taal,! Close:Dev'=0 Dev Quit WriteAdres(KLNr) Set Adres=^KKL(^KK1(KLNr),0) Set KLNr=$P(Adres,D,1) Set KLNm=$P(Adres,D,2) Set Aanspr=$P(Adres,D,4) Set ToeNm=$P(Adres,D,3) Set Straat=$P(Adres,D,5) Set Gemeente=$P(Adres,D,7) Set PostKode=$P(Adres,D,6) Set Land=$$LAND^vhRtn1($P(Adres,D,8),1) Write KLNr,U,KLNm,U,ToeNm,U,Aanspr,U,Straat,U,Gemeente,U,PostKode,U,Land,U Quit IncludeKlant(KLNr) Set PRNr=0 Set Found=0 For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do Quit:Found . Quit:$E($P($G(^KPR(PRNr,0)),"\",1),1,4)'=" 20S" ; Aventos HS . Set Found=1 Quit Found Image(PRNr) Set StartPad=##class(TECH.Config.ConfigMgr).Instance().GeefString("ImagesDirectory","\\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 Banco S Dev=$$OPEN^vhDEV(,"PVH Banco.txt","W") Use Dev Write "PRNr SortKey KLNr KLNm KortTekst #Fakt Omzet Marge",! S PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . ;Quit:$P(^KPR(PRNr,0),D,3)?4.7N ; afgeleid . Quit:($P(^KPR(PRNr,0),D,3)'=36945)&&($P(^KPR(PRNr,0),D,3)'=136797) ; Banco moeder . Set Stat=$$PROD^STAT(PRNr,0,"2007.11 ","2008.10","1,4") . Quit:+$P(Stat,D,3)=0 . S KLNr=$O(^KSTPR(PRNr,0)) . S KLNm=$P(^KKL(^KK1(KLNr),0),D,2) . Write PRNr,*9,$$SORTKEY^PRODUKT(PRNr),*9,KLNr,*9,KLNm,*9,$P(^KPR(PRNr,0),D,1),*9,$TR($P(Stat,D,2),".",","),*9,$TR($P(Stat,D,3),".",","),*9,$TR($P(Stat,D,4),".",","),! Close Dev Quit TransProd S Dev=$$OPEN^vhDEV(,"PVH Producten.txt","W") Use Dev Write "PRNr SortKey KortTekst HalfFabr LEVNr LevNm #Fakt Omzet Marge",! S PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . ;Quit:$P(^KPR(PRNr,0),D,3)?4.7N ; afgeleid . Quit:$D(^KPR(PRNr,"J5005")) ; Blum . Quit:$D(^KPR(PRNr,"J6332")) ; Halux . Quit:$$$PRGet($$$NONAktief) . Quit:$$$PRGet($$$Hoofdgroep)["OL" . Set Stat=$$PROD^STAT(PRNr,0,"2007.11 ","2008.10","1,4") . Set HalfFabr=$$$PRGet($$$LinkType) . Set LEVNr=$E($O(^KPR(PRNr,"J")),2,99) . Set LEVNm=$P(^KLE(^KL1(LEVNr),0),D,2) . Write PRNr,*9,$$SORTKEY^PRODUKT(PRNr),*9,$P(^KPR(PRNr,0),D,1),*9,HalfFabr,*9,LEVNr,*9,LEVNm,*9,$TR($P(Stat,D,2),".",","),*9,$TR($P(Stat,D,3),".",","),*9,$TR($P(Stat,D,4),".",","),! Close Dev Quit BLUMStockVDR Kill MemRCP Set RCPNr="" For Set RCPNr=$O(^RCP("D",RCPNr)) Quit:RCPNr="" Do . Quit:$P(^RCP("D",RCPNr),D,1,2)'="L\5005" . Set TOENr="" . For Set TOENr=$O(^RCP("D",RCPNr,"D",TOENr)) Quit:TOENr="" Do . . Set TLUNr="" . . For Set TLUNr=$O(^RCP("D",RCPNr,"D",TOENr,TLUNr)) Quit:TLUNr="" Do . . . Quit:"I"=$P(^RCP("D",RCPNr,"D",TOENr,TLUNr),D,2) . . . Set MPRNr=$P(^RCP("D",RCPNr,"D",TOENr,TLUNr),"\",1) . . . Set SubTLNr="" . . . For Set SubTLNr=$O(^RCP("D",RCPNr,"D",TOENr,TLUNr,SubTLNr)) Quit:SubTLNr="" Do . . . . Set PRNr=$P(^RCP("D",RCPNr,"D",TOENr,TLUNr,SubTLNr),"\",1) . . . . Quit:'$D(^KPR(PRNr,"J5005")) . . . . Set IDNr=$P(^KPR(PRNr,2),"\",25) . . . . Set:$E(IDNr)=6 PRNr=MPRNr . . . . Set RcpQty=$G(MemRCP(PRNr)) . . . . Set Qty=$P(^RCP("D",RCPNr,"D",TOENr,TLUNr,SubTLNr),"\",3) . . . . Set MemRCP(PRNr)=RcpQty+Qty Set Dev=0 Set Dev=$$OPEN^vhDEV(,"BlumStock.txt","W") Use Dev Kill MemIDNr S PRNr="" Set IDLoop="" w "PRNr IDNr KortT AvgStock Stock Rcp OudCifPPL NieuwCifPPL StockVerschil PPLCifVerschil WaardeVerschil",! For Set IDLoop=$O(^KPR2(IDLoop)) Quit:IDLoop="" Do . Set PRNr=$P(^KPR2(IDLoop),"\") . Quit:$$$PRGet($$$NONAktief) . Quit:'$D(^KPR(PRNr,"J5005")) . Set KortT=$P(^KPR(PRNr,0),"\") . Set IDNr=$P(^KPR(PRNr,2),"\",25) . Quit:$E(IDNr)=6 . Set AvgStock=$P($P(^KPR(PRNr,1),D,24),"#",2) ; Gem. Fys Stock . Set Stock=$P(^KPR(PRNr,0),D,14) . Set Rcp=$G(MemRCP(PRNr)) . Write PRNr,*9,IDNr,*9,KortT,*9,AvgStock,*9,Stock,*9,Rcp,*9,$TR($P($G(^pvCifPPL(PRNr)),D),".",","),*9,$TR($P($G(^pvCifPPL(PRNr)),D,2),".",","),! Close:Dev'=0 Dev Quit BLUMProd Set Dev=0 Set Dev=$$OPEN^vhDEV(,"BlumIdVH.txt","W") Use Dev Kill MemIDNr S PRNr="" Set IDLoop="" For Set IDLoop=$O(^KPR2(IDLoop)) Quit:IDLoop="" Do . Set PRNr=$P(^KPR2(IDLoop),"\") . Quit:$$$PRGet($$$NONAktief) . Quit:'$D(^KPR(PRNr,"J5005")) . Set KortT=$P(^KPR(PRNr,0),"\") . Set IDNr=$P(^KPR(PRNr,2),"\",25) . Set $E(IDNr)=0 . Quit:$D(MemIDNr(IDNr)) . Set MemIDNr(IDNr)="" . Write IDNr,*9,KortT,! Close:Dev'=0 Dev Quit OLBeperkAF S PRNr="" For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Quit:'$$$PRGet($$$NONAktief) . Quit:$$$PRGet($$$Hoofdgroep)'["OL" . Set Grp=$$$PRGet($$$Groep) . Quit:+$E(Grp,5,6)>15 ;15OL15SER . Set KortT=$P(^KPR(PRNr,0),"\") . Write Grp," ",KortT,! . Do $$$PRSet($$$NONAktief,"") Quit SetOLKenmerk(String) Set Q="K",D="\",U=";" Set PRNr=$P(String,"\",1) Set WandDikte=$P(String,"\",2) Set Diepte=$P(String,"\",3) Set Kleur=$P(String,"\",4) Quit:PRNr'?4.7N "NOK" Quit:'$D(^KPR(PRNr)) "NOK" Set sc1=##class(Prod.Kenmerk.DataDefinitie).Set("OL",PRNr,"Diepte",Diepte,";",17) Set sc2=##class(Prod.Kenmerk.DataDefinitie).Set("OL",PRNr,"WandDikte",WandDikte,";",17) Set sc3=##class(Prod.Kenmerk.DataDefinitie).Set("OL",PRNr,"Kleur",Kleur,";",17) Quit "SET"_$$ParseStatus^vhLib(sc1)_$$ParseStatus^vhLib(sc2)_$$ParseStatus^vhLib(sc3) CtrlProd Set Dev=0 Set Dev=$$OPEN^vhDEV(,"Prijsvgl.txt","W") Use Dev S PRNr="" For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Set Qty=$$PROD^STAT(PRNr,0,"2007.08 ","2008.08 ",1) . Quit:Qty<1 . Quit:$$$PRGet($$$NONAktief)=1 . Quit:$E($P(^KPR(PRNr,0),"\"),1,2)="OL" . Set Prijs=$$PRIJSGEG^KPRIJS(PRNr,"S") . Set Schaduw=$P(Prijs,"\",6) . Set Prijs=$$PRIJSGEG^KPRIJS(PRNr,"N") . Set Norm=$P(Prijs,"\",6) . Write $$SORTKEY^PRODUKT(PRNr),*9,PRNr,*9,$P(^KPR(PRNr,0),"\"),*9,$TR(Norm,".",","),*9,$TR(Schaduw,".",","),! Close:Dev'=0 Dev Quit CtrlProdDeBetho Set Dev=0 Set Dev=$$OPEN^vhDEV(,"PrijsvglDeBetho.txt","W") Use Dev S PRNr="" For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Set Qty=$$PROD^STAT(PRNr,0,"2007.08 ","2008.08 ",1) . ;Quit:Qty<1 . Quit:$$$PRGet($$$NONAktief)=1 . Quit:'$D(^KPR(PRNr,"J5529")) . Set Schaduw=$$$PRGet($$$SchaduwPPL) . Set Norm=$$$PRGet($$$PPLMTL) . Write $$SORTKEY^PRODUKT(PRNr),*9,$P(^KPR(PRNr,2),"\",25),*9,PRNr,*9,$P(^KPR(PRNr,0),"\"),*9,$TR(Norm,".",","),*9,$TR(Schaduw,".",","),! Close:Dev'=0 Dev Quit Ninka Set Dev=0 S PRNr="" For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Quit:$$$PRGet($$$NONAktief)=1 . Quit:'$D(^KPR(PRNr,"J6118")) . Set KortT=$P(^KPR(PRNr,0),"\") . Set Opslag=$S($E(KortT,1,3)="AFV":2.5,1:4) . Set Prijs=$$$PRGet($$$SchaduwPPL) . Set:Prijs="" Prijs=$$$PRGet($$$PPLMTL) . Set SPrijs=+$J(Prijs*(1+(Opslag/100)),0,2) . Write PRNr," ",$P(^KPR(PRNr,0),"\")," ",$$$PRGet($$$PPLMTL),"->",Prijs," + ",Opslag,"% = ",SPrijs,! . Do $$$PRSet($$$SchaduwPPL,SPrijs) Quit Prijs(KlantProdID) d MASTER^cQ5 S Q="K" s D="\",U=";" S QU="PV",QU(1)=17,QU(2)="Paul Verhulst" s DT="26.09.08" Set KLNr=$P(KlantProdID,"\") Set ProdID=$P(KlantProdID,"\",2) q "OK:"_IDNr_";"_SchaduwPPL SchadDB(String) S Q="K" s D="\",U=";" S QU="PV",QU(1)=17,QU(2)="Paul Verhulst" s DT="01.09.08" Set IDNr=$$TRIMN^vhRtn1($P(String,"$")) Set Schaduw=$P(String,"$",2) Set PRNr=$P($G(^KPR2($TR(IDNr,". ","")_" ")),"\") Quit:'SchaduwDB "NO DB"_IDNr_";"_$G(SchaduwDB) Quit:PRNr="" "NOT FOUND:"_IDNr_";"_$G(SchaduwDB) ;d WLIP^vhDBG(15,IDNr_" "_SchaduwDB) Do $$$PRSet($$$SchaduwDBPerc,SchaduwDB) q "OK:"_IDNr_";"_SchaduwDB SchadPPL(String) S Q="K" s D="\",U=";" S QU="PV",QU(1)=17,QU(2)="Paul Verhulst" s DT="01.09.08" Set IDNr=$$TRIMN^vhRtn1($P(String,"$")) Set SchaduwPPL=$P(String,"$",2) Quit:'SchaduwPPL "NO DB"_IDNr_";"_$G(SchaduwPPL) Set PRNr=$P($G(^KPR2($TR(IDNr,".","")_" ")),"\") Quit:PRNr="" "NOT FOUND:"_IDNr_";"_$G(SchaduwPPL) ;d WLIP^vhDBG(15,IDNr_" "_SchaduwPPL) Do $$$PRSet($$$SchaduwPPL,SchaduwPPL) q "OK:"_IDNr_";"_SchaduwPPL Kaderdeur Set MPRNr="" For Set MPRNr=$O(^PRBS("BS",MPRNr)) Quit:MPRNr="" Do . Quit:$P($G(^PRBS("BS",MPRNr)),"\",2)'="KAD" . Quit:'$$PROD^STAT(MPRNr,0,"2007.08 ","2008.07 ",1) . Set BSKey="" . Set Found=0 . For Set BSKey=$O(^PRBS("BS",MPRNr,BSKey)) Quit:BSKey="" Do . . Set BSRec=^PRBS("BS",MPRNr,BSKey) . . Set Oms=$zcvt($P(BSRec,D,13),"U") . . If Oms="VULLING ENERGIETOESLAG" Do . . . Set:$P(BSRec,"\",9)="" Found=1 . . If Oms="VULLING" Do . . . Set:$P(BSRec,"\",9)="" Found=1 . Quit:'Found . Write MPRNr,*9,$P(^KPR(MPRNr,0),"\"),! Quit OrderLijnen ;Deprecated Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set FAKNr=799999 Set Dev=$$OPEN^vhDEV(,"Orderlijnen","W") Use Dev Set CheckDat=($H-(365/2)-1) For Set FAKNr=$O(^KFA("F",FAKNr)) Quit:FAKNr="" Quit:FAKNr>900000 Do . Set Dat=$$INTDATE^vhLib.DataTypes($P(^KFA("F",FAKNr,0,0),6),"DK") . Quit:Dat0&&(Regio<4):"I",Regio>9&&(Regio<19):"B",Regio>19&&(Regio<29):"N",1:"X") . For Set ORDNr=$O(^HULP(%J,KLNr,ORDNr)) Quit:ORDNr="" Do . . For Set ProdGrp=$O(^HULP(%J,KLNr,ORDNr,ProdGrp)) Quit:ProdGrp="" Do . . . Set lb=^HULP(%J,KLNr,ORDNr,ProdGrp) . . . Write $$EXTDATE^vhLib.DataTypes($lG(lb)),*9,KLNr,*9,KLNm,*9,Regio,*9,Div,*9,ORDNr,*9,ProdGrp,*9,$Lg(lb,2),! C Dev Q Update For Read !,"GADMeta SoftAlu : ",PRID Quit:PRID'?1.9N Do . If $G(^Prod.GAData.ProductD(PRID,"I","PARAM001","P","Val"))'="OF" Write "GEEN SO/AL" Quit . Set ^Prod.GAData.ProductD(PRID,"I","PARAM001","P","Val")="GF" . Set Key="PARAM" . for Set Key=$O(^Prod.GAData.ProductD(PRID,"I",Key)) Quit:$E(Key,1,5)'="PARAM" Do . . Quit:$LG(^Prod.GAData.ProductD(PRID,"I",Key))'="Staffel" . . Write !,$LG(^Prod.GAData.ProductD(PRID,"I",Key))," : ",^Prod.GAData.ProductD(PRID,"I",Key,"P","Val") Quit SetSchaduw(PRNr,PPL,MinQty) S QU="PV" Set IDNr=$TR(PRNr,". ","")_" " Set PRNr=$P($G(^KPR2(IDNr)),"\") Quit:'PRNr "#IDNR" Quit:$$Get^PRODUKT(PRNr,$$$NONAktief) "#NONAkt" D:$G(PPL) Set^PRODUKT(PRNr,$$$SchaduwPPL,PPL) Quit "OK" SetHuidig(PRNr,PPL,MinQty) S QU="PV" Set IDNr=$TR(PRNr,". ","")_" " Set PRNr=$P($G(^KPR2(IDNr)),"\") Quit:'PRNr "#IDNR" Quit:$$Get^PRODUKT(PRNr,$$$NONAktief) "#NONAkt" D:$G(PPL) Set^PRODUKT(PRNr,$$$PPLMTL,PPL) D:$D(MinQty) Set^PRODUKT(PRNr,$$$GrootteOrdeAankoop,MinQty) D RECALC^PRODUKT2(PRNr) Quit "OK" SetNonActief(PRNr) S QU="PV" Set IDNr=$TR(PRNr,". ","")_" " Set PRNr=$P($G(^KPR2(IDNr)),"\") Quit:'PRNr "#IDNR" D Set^PRODUKT(PRNr,$$$NONAktief,1) Quit "OK" ALK Set PRNr=0 s Cnt=0,Tot=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Quit:'$$IsVerpakking^PRODUKT2(PRNr) . Write PRNr," ",$P(^KPR(PRNr,0),D)," : ",$P(^KPR(PRNr,1),"\")," - ",$P(^KPR(PRNr,0),D,23),! . Set $P(^KPR(PRNr,1),"\")=90 . Set $P(^KPR(PRNr,0),D,23)="HZ" q AutoOrgalux(PRNr) ;Set PRNr=124919 New Status,Result,BSKey,KindHalf,BSDefCod,Type,HFPRNr,Aantal,Lengte,Breedte,HistID,SnijMachineID,VolgNr,Rec,DimRec #define LabelOld "VERPAK" #define OmsVouwenOld "Vouwen" #define OmsInpakOld "Inpakken" #define OmsAfwerkOld "Afwerken" #define OmsLuchtZakOld "Luchtzak" #define OmsToeslagOld "Toeslag oververpakking" #define LabelNew "VERPAK" #define OmsVouwenNew "Vouwen" #define OmsInpakNew "Inpakken" #define OmsAfwerkNew "Afwerken" #define OmsLuchtZakNew "Luchtzak" #define OmsToeslagNew "Toeslag oververpakking" ; Get old values Set Values="" Set BSKey="" For Set BSKey=$O(^HULP(%J,"C",BSKey)) Quit:BSKey="" Do . Set BSRec=^HULP(%J,"C",BSKey) . If ($P(BSRec,D,11)=$$$LabelOld)||($P(BSRec,D,11)=$$$LabelNew) Do . . If ($P(BSRec,D,13)=$$$OmsVouwenOld)||($P(BSRec,D,13)=$$$OmsVouwenNew) Set $P(Values,D,1)=$P(BSRec,D,7) . . If ($P(BSRec,D,13)=$$$OmsInpakOld)||($P(BSRec,D,13)=$$$OmsInpakNew) Set $P(Values,D,2)=$P(BSRec,D,7) . . If ($P(BSRec,D,13)=$$$OmsAfwerkOld)||($P(BSRec,D,13)=$$$OmsAfwerkNew) Set $P(Values,D,3)=$P(BSRec,D,7) . . If ($P(BSRec,D,13)=$$$OmsToeslagOld)||($P(BSRec,D,13)=$$$OmsToeslagNew) Set $P(Values,D,4)=$P(BSRec,D,5) . . If ($P(BSRec,D,13)=$$$OmsLuchtZakOld)||($P(BSRec,D,13)=$$$OmsLuchtZakNew) Set $P(Values,D,5)=$P(BSRec,D,2) Set Verpakking=$zobjclassmethod("BL.Prod.OptiBox.Diverse","OptiDataDisplayName",PRNr) If '$P(Values,D,1)&&'$P(Values,D,1)&&'$P(Values,D,1) Do ; Defaulting . Set $P(Values,D,4)=.05 . If Verpakking["(Volume)" Do ; alleen volume . . Set $P(Values,D,1)=0 . . Set $P(Values,D,2)=5 . . Set $P(Values,D,3)=15 . Else If Verpakking[";" Do ; meerdere verpakkingen . . Set $P(Values,D,1)=15 . . Set $P(Values,D,2)=30 . . Set $P(Values,D,3)=15 . Else If Verpakking["/" Do ; combinatie . . Set $P(Values,D,1)=5 . . Set $P(Values,D,2)=10 . . Set $P(Values,D,3)=5 . Else Do ; single . . Set $P(Values,D,1)=10 . . Set $P(Values,D,2)=20 . . Set $P(Values,D,3)=15 Set sFL(1)=Values Do NIEUW^vhScherm("PRBSOLAUTO",,,,,,1) Quit:'%SC Do AutoOrgaluxSet(PRNr,sFL(1)) Quit AutoOrgaluxSet(PRNr,Values) ; Delete old values Set BSKey="" For Set BSKey=$O(^HULP(%J,"C",BSKey)) Quit:BSKey="" Do . Set BSRec=^HULP(%J,"C",BSKey) . If $P(BSRec,D,1)?4.7N,$E($P(^KPR(PRNr,0),D,1),1,3)="VPO" Kill ^HULP(%J,"C",BSKey) . Else If ($P(BSRec,D,11)=$$$LabelOld)||($P(BSRec,D,11)=$$$LabelNew) Kill ^HULP(%J,"C",BSKey) ; ToeslagMateriaal If $P(Values,D,4) Do . Set Rec=D_1_D_"S" . Set $P(Rec,D,11)=$$$LabelNew . Set $P(Rec,D,13)=$$$OmsToeslagNew . Set $P(Rec,D,5)=$P(Values,D,4) . Set BSKey=$$DEFBSKEY^PRBS("KOST") . Set ^HULP(%J,"C",BSKey)=Rec ; Vouwen If $P(Values,D,1) Do . Set Rec=D_1_D_"T" . Set $P(Rec,D,11)=$$$LabelNew . Set $P(Rec,D,13)=$$$OmsVouwenNew . Set $P(Rec,D,7)=$P(Values,D,1) . Set $P(Rec,D,8)=$P(Values,D,1) . Set $P(Rec,D,9)="OLVERPAK" . Set BSKey=$$DEFBSKEY^PRBS("TIJD") . Set ^HULP(%J,"C",BSKey)=Rec ; Inpak If $P(Values,D,2) Do . Set Rec=D_1_D_"T" . Set $P(Rec,D,11)=$$$LabelNew . Set $P(Rec,D,13)=$$$OmsInpakNew . Set $P(Rec,D,7)=$P(Values,D,2) . Set $P(Rec,D,8)=$P(Values,D,2) . Set $P(Rec,D,9)="OLVERPAK" . Set BSKey=$$DEFBSKEY^PRBS("TIJD") . Set ^HULP(%J,"C",BSKey)=Rec ; Afwerken If $P(Values,D,3) Do . Set Rec=D_1_D_"T" . Set $P(Rec,D,11)=$$$LabelNew . Set $P(Rec,D,13)=$$$OmsAfwerkNew . Set $P(Rec,D,7)=$P(Values,D,3) . Set $P(Rec,D,8)=$P(Values,D,3) . Set $P(Rec,D,9)="OLVERPAK" . Set BSKey=$$DEFBSKEY^PRBS("TIJD") . Set ^HULP(%J,"C",BSKey)=Rec ; ToeslagMateriaal If $P(Values,D,5) Do . Set Rec=D_1_D_"S"_D_"0.25" . Set $P(Rec,D,11)=$$$LabelNew . Set $P(Rec,D,13)=$$$OmsLuchtZakNew . Set $P(Rec,D,1)=$P(Values,D,5) . Set BSKey=$$DEFBSKEY^PRBS("KOST") . Set ^HULP(%J,"C",BSKey)=Rec ;zw ^HULP(%J,"C") Set sMod=1 Do SORT^PRBS ;zw ^HULP(%J,"S") Do UPDATE^PRBS Quit AllFromBatch(BatchID) Set ExcludeList="" ;$G(ExcludeList,"500D;500C;500K;500B;500M") Set %blPPSTBXOptiBox=##class(BL.PPS.TBX.OptiBox).%New() &SQL(DECLARE AllFromBatch CURSOR FOR SELECT ID,Product into :QueueID,:PRNr FROM PPS.TBX_Queue WHERE BatchID= :BatchID ORDER BY Sequence) &sql(OPEN AllFromBatch) Set Count=0 For &sql(FETCH AllFromBatch) Quit:SQLCODE Do . Quit:PRNr'?4.7N . ;d WLIP^vhDBG(96,"prod:"_PRNr_", "_QueueID) . ;Write !,PRNr . Set DK=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DK")) . Set LD=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LD")) . Set RH=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"RH")) . Set Verpak=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"VERPAK")) . Quit:Verpak'="S" . Set Excluded=$F(";"_ExcludeList_";",LD_RH) . Set oQ=##class(DS.PPS.TBX.Queue).%OpenId(QueueID) . Quit:'$isObject(oQ) . Set BaseRef="TEST."_oQ.TOENr . Set pxStatus=%blPPSTBXOptiBox.SnijV1(oQ.ProductGetObjectId(), 1, "LOS", BaseRef, , -5, 1, "HALUX") . w PRNr," ",QueueID,! &sql(CLOSE AllFromBatch) Quit TAPI Set CLIP="0031416353780 " Kill Sort Do . Set (ObjType,ObjRef,PersRef)="" . For Set ObjType=$O(^TAPI("T",CLIP,ObjType)) Quit:ObjType="" Do . . Set Value1=$S(ObjType="L":1000,1:2000) . . For Set ObjRef=$O(^TAPI("T",CLIP,ObjType,ObjRef)) Quit:ObjRef="" Do . . . For Set PersRef=$O(^TAPI("T",CLIP,ObjType,ObjRef,PersRef)) Quit:PersRef="" Do . . . . Set Sort(Value1+$S(PersRef="*":200,PersRef?1.N:100,1:300)+$I(Sort))=$LB(ObjType,ObjRef,PersRef,^TAPI("T",CLIP,ObjType,ObjRef,PersRef)) . . ; Kleinste waarde wint . Set lb=Sort($O(Sort(""))) . Set ObjType=$LG(lb,1) . Set ObjRef=$LG(lb,2) . Set PersRef=$LG(lb,3) . Set Dubbel=0 . Set List=$LG(lb,4) zw Sort w ObjType," ",ObjRef," ",PersRef," ",$$ListToPieces^vhLib(List)," ",! Quit Assenti Set FAKNr=830720 Set KLNr=$P(^KFA("F",FAKNr,0,0),D) Set BONNr="U" Set Dev=$$OPEN^vhDEV(,"ASSENTI.txt","W") Use Dev w "PRNr KortT Qty TotPrijs Type Prijs Type HFPRNr HFProd HFQty Tijd KostPl",! For Set BONNr=$O(^KFA("F",FAKNr,BONNr)) Quit:BONNr="" Do . Set LNr=100 . For Set LNr=$O(^KFA("F",FAKNr,BONNr,LNr)) Quit:LNr="" Do . . Set PRNr=$P(^KFA("F",FAKNr,BONNr,LNr),D,2) . . Quit:PRNr'?4.7N . . Set KortT=$P(^KPR(PRNr,0),D,1) . . Quit:$E(KortT,1,2)'="TB" . . Set Sifon="" . . Set:$E(KortT,4,5)="SI" Sifon="S" . . Set:$E(KortT,20,21)="SI" Sifon="S" . . Set Qty=$P(^KFA("F",FAKNr,BONNr,LNr),D,3) . . Set TotPrijs=$$CifPPL^KPRIJS(PRNr) . . Set BSKey="" . . For Set BSKey=$O(^PRBS("BS",PRNr,BSKey)) Quit:BSKey="" Do . . . Set BSRec=^PRBS("BS",PRNr,BSKey) . . . Set HFQty=$P(BSRec,D,2) . . . Set (Prijs,HFPRNr,HFKortT,Tijd,KostPl,HFLen,NetLen)="" . . . If $P(BSRec,D,3)="H" Do . . . . Set HFPRNr=$P(BSRec,D,1) . . . . Set HFKortT=$P(^KPR(HFPRNr,0),D,1) . . . . Set NetLen=$P($G(^KPR(HFPRNr,15)),D,7) . . . . If NetLen Do . . . . . Set HFLen=$P(^PRBS("BS",PRNr,BSKey,"D"),D,3) . . . . Else Do . . . . . Set (HFLen,NetLen)=1 . . . . Set Prijs=$$CifPPL^KPRIJS(HFPRNr)*HFLen/NetLen . . . Else If $P(BSRec,D,3)="S" Do . . . . Set Prijs=$P(BSRec,D,4) . . . Else If $P(BSRec,D,3)="T" Do . . . . Set Tijd=$P(BSRec,D,7) . . . . Set KostPl=$P(BSRec,D,9) . . . . Set oKostPlaats=##class(Prod.GAMeta.BT.KostPlaats).%OpenId(KostPl) . . . . Set KV=oKostPlaats.GetToeslagKleinVerlet("N") . . . . Set GV=oKostPlaats.GetToeslagGrootVerlet("N") . . . . Set Tijd=$P(BSRec,D,8) ; Tijdkost . . . . Set Prijs=Tijd*oKostPlaats.GetBasisKost("N")/3600*KV*GV ; Tijd * kost . . . Write PRNr,*9,KortT,*9,Qty,*9,$TR(TotPrijs,".",","),*9,Sifon,*9 . . . Write $P(BSRec,D,3),*9,$TR(Prijs,".",","),*9,HFPRNr,*9,HFKortT,*9,$Tr(HFQty,".",","),*9,$TR(Tijd,".",","),*9,KostPl,*9,HFLen,*9,NetLen,! . . . Set TotPrijs="" Close Dev Quit Test(String) Set Point=1 Set Result="" Set LastPoint=1 For Do Quit:$E(String,Point)="" . If $E(String,Point)="""" For Quit:$E(String,$I(Point))="""" Quit:$E(String,Point)="" ; String . Else If $E(String,Point)="$" Set:$E(String,Point+1)="$" Point=Point+1 For Quit:$E(String,$I(Point))'?1(1A,1N) Quit:$E(String,Point)="" ; Function . Else If $E(String,Point)?1A Do ; variable . . Set Start=Point . . For Quit:$E(String,$I(Point))'?1(1A,1N) Quit:$E(String,Point)="" ; String . . Set End=Point-$S($E(String,Point)="":0,1:1) . . Set Label=$E(String,Start,End) . . ;w !,LastPoint," ",Start," ",End," ",Label," ",Result . . Set:LastPoint'>(Start-1) Result=Result_$E(String,LastPoint,Start-1) . . Set ULabel=$ZCVT(Label,"U") . . Set Result=Result_"Params("""_ULabel_""")" . . Do:($IsObject(aParams)) aParams.Add(ULabel,Label) . . Set LastPoint=Point . Else Set Point=Point+1 Set:LastPoint'>(Point-1) Result=Result_$E(String,LastPoint,Point-1) Quit Result ChangeVulstuk &SQL(DECLARE Vulstuk CURSOR FOR select ID, Hoogte,Diepte into :ID,:Hoogte,:Diepte from prod.OptiBox_boxData where meta=466) &sql(OPEN Vulstuk) For &sql(FETCH Vulstuk) Quit:SQLCODE Do . Quit:((Hoogte*3)+(Diepte*2))>335 . W ID," ",Hoogte," ",Diepte,! . Set OptiData=##class(DS.Prod.OptiBox.BoxData).%OpenId(ID) . Do OptiData.MetaSetObjectId(486) . Set sc=OptiData.%Save() . w $$ParseStatus^vhLib($G(sc)) &sql(CLOSE Vulstuk) Q ChangeMeta Read "BoxDataID",ID Quit:ID="" Set ID="PR||"_ID_"||1" Do . Set OptiData=##class(DS.Prod.OptiBox.BoxData).%OpenId(ID) . Do OptiData.MetaSetObjectId(484) . Do OptiData.Params.Clear() . Set sc=OptiData.%Save() . w $$ParseStatus^vhLib($G(sc)) Q ReParse &SQL(DECLARE BoxSelect CURSOR FOR select %ID,objref,breedte,diepte,hoogte into :OptiId,:PRNr,:Breedte,:Diepte,:Hoogte from Prod.OptiBox_BoxData ) &sql(OPEN BoxSelect) For &sql(FETCH BoxSelect) Quit:SQLCODE Do . Write !,OptiId . Set oData=##class(DS.Prod.OptiBox.BoxData).%OpenId(OptiId) . Quit:oData.Hoogte'?1N1"."1.N . Set oData.HoogteExec=##class(BL.Prod.OptiBox.Optimize).%New().Parser(oData.Hoogte) ;indien veld leeg default nemen voor Exec in te vullen . w PRNr," ",oData.Hoogte," -> ",oData.HoogteExec . Set sc=oData.%Save() . w $$ParseStatus^vhLib(sc) &sql(CLOSE BoxSelect) Q ONEBOX Set SnijID=30900 Do ##class(BL.Prod.OptiBox.Snijden).Instantiate(1) ; sets %blOptimize do %blProdOptiBoxSnijden.SnijOneHighLow("VH", SnijID, $LB(9,7,5), , 0) q META Set Meta=##class(DS.Prod.OptiBox.BoxMeta).%OpenId(471) Set Meta.BoxSelect="" D DumpObject^%apiOBJ(Meta) s sc=Meta.%Save() w sc Set Meta=##class(DS.Prod.OptiBox.BoxMeta).%OpenId(472) Set Meta.BoxSelect="" D DumpObject^%apiOBJ(Meta) s sc=Meta.%Save() w sc quit KLANTTEL(KLNr,TelId) Quit:'KLNr "" Set KLID=^KK1(KLNr) Set Tel1=$P(^KKL(KLID,0),"\",13) Set Tel2=$P(^KKL(KLID,0),"\",14) Set GSM=$P(^KKL(KLID,2),"\",20) Quit:$G(TelId)=2 Tel2 Quit:$G(TelId)="G" GSM Quit Tel1 StockGrp Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Set KortT=$P(^KPR(PRNr,0),D) . Set PGOld=$$$PRGet($$$ProductGroepWMS) . Set PGNew=PGOld . Set:PGOld=4 PGNew=3 . Set:PGOld=5 PGNew=3 . Set:PGOld=6 PGNew=1 . Set:PGOld=7 PGNew=1 . Set:$D(^KPR(PRNr,"J6317"))||$D(^KPR(PRNr,"J7012"))||$D(^KPR(PRNr,"J6587")) PGNew=91 . Set:$E(KortT,1,3)="VPO" PGNew=91 . Set:$D(^KPR(PRNr,"J6332")) PGNew=10 . ;Write:PGOld'=PGNew PRNr," ",KortT," ",PGOld,"->",PGNew,! . Do:PGOld'=PGNew $$$PRSet($$$ProductGroepWMS,PGNew) Quit Gewicht Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Set KortT=$P(^KPR(PRNr,0),D) . Quit:$E(KortT,1,2)'="OL" . Quit:'$D(^PRBS("BS",PRNr)) . Set BSGewicht=$$Gewicht^PRBS(PRNr) . Set PRGewicht=$$$PRGet($$$Gewicht) . Write PRNr," ",$P(^KPR(PRNr,0),D)," : ",PRGewicht," <- ",BSGewicht,! . Do $$$PRSet($$$Gewicht,BSGewicht) Quit GewichtMat Set PRNr=0 For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Set KortT=$P(^KPR(PRNr,0),D) . Quit:$E(KortT,1,3)'="MAT" . Set (X,Y)=0 . If $P($$GENTYP^HAD(PRNr),D,1,2)="DIV\ASM" Do . . Set Kleur=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("ASM",PRNr,"AntiSlipMat")) . . Set BreedteIntern=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("ASM",PRNr,"CB")) . . Set WD=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("ASM",PRNr,"WD")) . . Set MTIB=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("ASM",PRNr,"MTIB")) . . Set BreedteIntern=BreedteIntern-(2*WD)-MTIB . . Set LadeDiepte=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("ASM",PRNr,"LD")) . . Set X=LadeDiepte-26 . . Set Y=BreedteIntern-967+883 . . Set Eenheid=$S(Kleur="G":24170,1:33919)/474/50000 . . S T="ASM" . Else If $LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",PRNr,"BasisType"))="MAT" Do . . Set Kleur=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",PRNr,"Kleur")) . . Set BreedteIntern=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",PRNr,"BreedteIntern")) . . Set LadeDiepte=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",PRNr,"LadeDiepte")) . . Set X=LadeDiepte-26 . . Set Y=BreedteIntern-967+883 . . Set Eenheid=$S(Kleur="G":24170,1:33919)/474/50000 . . Set T="MAT" . Else If KortT?1"MAT.I"3N1E2N1"ANTI-SLIP".E Do ;$E(KorT,22,25)="ANTR" . . Set Eenheid=$S($E(KortT,22,25)="ANTR":24170,1:33919)/474/50000 . . Set B=$E(KortT,10,11) . . Set:B<20 B=B*10 . . Set B=B*10 . . Set WD=10+$E(KortT,8) . . Set LD=$E(KortT,6,7)*10 . . Set BreedteIntern=B-(2*WD)-$S(WD:1,1:0) . . Set X=LadeDiepte-26 . . Set Y=BreedteIntern-967+883 . . Set Eenheid=$S(Kleur="G":24170,1:33919)/474/50000 . . Set T="WILD" . Write !,T," ",PRNr," ",KortT," ",X," ",Y," " . Quit:Y<1 . Quit:Y<1 . Set Gewicht=$J(Eenheid*X*Y,0,1) . W $J(Eenheid,0,5),"->",Gewicht . Do $$$PRSet($$$Gewicht,Gewicht) Q Quit Kill Tmp Set Dev=$$OPEN^vhDEV(,"ServoDrive1239.TXT","W") Use Dev ;Set Dev=0 Set PRNr=356376 Write "PRNr KortText Type Pos Lengte Synchro Onderbreken",! s PosQty="" For Set PRNr=$O(^KPR(PRNr)) Quit:PRNr="" Do . Quit:'$D(^KPR(PRNr,"J6332")) . Quit:$E(^KPR(PRNr,0),1,3)'="SD1" . ;Write PRNr," ",$P(^KPR(PRNr,0),"\")," ",$$$PRGet($$$VorkPerc),! . ;Set Vork=47.50 . ;Do $$$PRSet($$$VorkPerc,Vork) . ;q . ;Set PosQty=$LL(##class(Prod.Kenmerk.DataDefinitie).Get("SDM",PRNr,"Pos")) . ;Quit:PosQty<1 . ;Set OldPRNr=355803 . ;Set Copy=^PRBS("BS",OldPRNr,"KOST.001") . ;Set ^PRBS("BS",PRNr,"KOST.001")=Copy . ;w PRNr," ",$P(^KPR(PRNr,0),"\") . ;Do CALCONE^PRBSC(PRNr,"A","N",0,.Result) W " PRBS:",Result,! . ;Q . . . ;Set DosCode=$E(^KPR(PRNr,0),10,11) . ;Set:$E(DosCode)=" " $E(DosCode)="" . ;w $P(^KPR(PRNr,0),"\",1)," ",DosCode,! . ;Do DELIND^PRODUKT2(PRNr) . ;Set ^KPR(PRNr,"G")=DosCode . ;Do BLDIND^PRODUKT2(PRNr) . ;q . . ;Set LT=##class(Prod.ProductTekst).GetOmschrijvingViaPRNr(PRNr,"N","§") . Set Pakket=$$DISP^PAKKET(1239,PRNr) . Quit:'$L(Pakket) . ;Set BR=##class(Prod.ProductTekst).GetOmschrijvingViaPRNr(PRNr,"BR","§") . For I=1:1:$L(Pakket,";") Do . . Write PRNr,*9,$P(^KPR(PRNr,0),D) . . Write *9,$P(Pakket,";",I) . . Write *9,$$ListToPieces^vhLib(##class(Prod.Kenmerk.DataDefinitie).Get("SDM",PRNr,"Lengte"),";") . . Write *9,$$ListToPieces^vhLib(##class(Prod.Kenmerk.DataDefinitie).Get("SDM",PRNr,"Pos"),";") . . Write *9,$LL(##class(Prod.Kenmerk.DataDefinitie).Get("SDM",PRNr,"Syncro")) . . Write *9,$$ListToPieces^vhLib(##class(Prod.Kenmerk.DataDefinitie).Get("SDM",PRNr,"Onderbreken"),";") . . Write *9,$TR($P($$KlantPrijs^KPRIJS(1239,PRNr),"\"),".",",") . . ;Write *9,$TR($$KlantPrijs^KPRIJS(1239,PRNr),".",",") . . ;Write *9,LT . . ;Write *9,BR . . Write ! close:Dev'=0 Dev q SetPakketIdent(IdentNr,KLNr,KlantRef) S Q="K",D="\",U=";" Quit:IdentNr="" "#bad ID" Quit:KlantRef="" "#bad klantref" Quit:KLNr'?4.6N "#bad klantref" Set IdentNr=$TR(IdentNr,". ","") Quit:IdentNr'?8N "#bad ID" Set PRNr=$P($G(^KPR2(IdentNr_" ")),"\") Quit:PRNr'?4.7N "#ID not exist" Do SetPakket(PRNr,KLNr,KlantRef) Quit "" SetPakket(PRNr,KLNr,KlantRef) If KlantRef'="" Do . Kill Pakket,Prod . Set Pakket(KlantRef)="",Prod(PRNr)=1 . Do LIMPORT^PAKKET(KLNr,.Pakket,.Prod) q SetSD Set PRNr=357176 Do ##class(Prod.Kenmerk.DataDefinitie).DeleteViaPRNr(PRNr,$LB("SDM")) Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "Type", "HA", ";", 17) ; profiel en uitwerper w $$ParseStatus^vhLib(sc) Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "VPK", "BULK", ";", 17) ; profiel en uitwerper w $$ParseStatus^vhLib(sc) Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "UitwerpType",$LB("H1","L1"), , 17) ; uitwerptype w $$ParseStatus^vhLib(sc) ;Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "Syncro", $LB("1;E;160"), , 17) ; w $$ParseStatus^vhLib(sc) Set DosCode=$E(^KPR(PRNr,0),10,11) Set:$E(DosCode)=" " $E(DosCode)="" w $P(^KPR(PRNr,0),"\",1)," ",DosCode,! Do DELIND^PRODUKT2(PRNr) Set ^KPR(PRNr,"G")=DosCode Do BLDIND^PRODUKT2(PRNr) q Set PRNr=357173 Do ##class(Prod.Kenmerk.DataDefinitie).DeleteViaPRNr(PRNr,$LB("SDM")) Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "Type", "HA", ";", 17) ; profiel en uitwerper w $$ParseStatus^vhLib(sc) Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "VPK", "BULK", ";", 17) ; profiel en uitwerper w $$ParseStatus^vhLib(sc) Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "UitwerpType",$LB("L1"), , 17) ; uitwerptype Set DosCode=$E(^KPR(PRNr,0),10,11) Set:$E(DosCode)=" " $E(DosCode)="" w $P(^KPR(PRNr,0),"\",1)," ",DosCode,! Do DELIND^PRODUKT2(PRNr) Set ^KPR(PRNr,"G")=DosCode Do BLDIND^PRODUKT2(PRNr) Set PRNr=357174 Do ##class(Prod.Kenmerk.DataDefinitie).DeleteViaPRNr(PRNr,$LB("SDM")) Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "Type", "HA", ";", 17) ; profiel en uitwerper w $$ParseStatus^vhLib(sc) Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "VPK", "BULK", ";", 17) ; profiel en uitwerper w $$ParseStatus^vhLib(sc) Set sc=##class(Prod.Kenmerk.DataDefinitie).Set("SDM", PRNr, "UitwerpType",$LB("H1"), , 17) ; uitwerptype Set DosCode=$E(^KPR(PRNr,0),10,11) Set:$E(DosCode)=" " $E(DosCode)="" w $P(^KPR(PRNr,0),"\",1)," ",DosCode,! Do DELIND^PRODUKT2(PRNr) Set ^KPR(PRNr,"G")=DosCode Do BLDIND^PRODUKT2(PRNr) Set PRNr=356950 Set DosCode=$E(^KPR(PRNr,0),10,11) Set:$E(DosCode)=" " $E(DosCode)="" w $P(^KPR(PRNr,0),"\",1)," ",DosCode,! Do DELIND^PRODUKT2(PRNr) Set ^KPR(PRNr,"G")=DosCode Do BLDIND^PRODUKT2(PRNr) Set PRNr=356951 Set DosCode=$E(^KPR(PRNr,0),10,11) Set:$E(DosCode)=" " $E(DosCode)="" w $P(^KPR(PRNr,0),"\",1)," ",DosCode,! Do DELIND^PRODUKT2(PRNr) Set ^KPR(PRNr,"G")=DosCode Do BLDIND^PRODUKT2(PRNr) q OPTIHIST s ID=0 For s ID=$O(^Prod.OptiBox.SnijHistoriekD(ID)) Q:ID="" Do .Set oHist=##class(DS.Prod.OptiBox.SnijHistoriek).%OpenId(ID) .Set oHist.Lengte=+oHist.Lengte .Set oHist.Breedte=+oHist.Breedte .Set oHist.CardboardBreedte=+oHist.CardboardBreedte .Set oHist.MatKost =+oHist.MatKost .Set oHist.TijdKost =+oHist.TijdKost .Set oHist.AfvalPerc =+oHist.AfvalPerc .Set oHist.Aantal =+oHist.Aantal .S oCardboard="" .Set:$L(oHist.CardboardID) oCardboard=##class(DS.Prod.OptiBox.sub.btCardboard).%OpenId(oHist.CardboardID) .If $isObject($G(oCardboard)) Do .. Set oHist.LogoPrint=oCardboard.LogoPrint .. Set oHist.Dikte=oCardboard.Dikte .Set sc=oHist.%Save() w sc ;Do WE^vhDBG(sc,"BldHistoriek") Quit q