#include Prod.Product #include vhLib.Macro #include BL.Derde.KlantSpecifiek Image(Ref) Set PRNr=$$GetPRNr(Ref) Quit:PRNr="" "" Set Img=##class(BL.Prod.ImageLink).Instantiate().GetProductImageURL(PRNr , ##class(APPS.common.enu.Toepassing).Label()) Quit Img Verpak(Ref) Set PRNr=$$GetPRNr(Ref) Quit:PRNr="" "" Quit $LG($$lbVerpak^PRODUKT(PRNr)) AddImageLink(PRNrImage) Set PRNr=$P(PRNrImage,"\") Set Image=$P(PRNrImage,"\",2,99) Set Ext=$P(Image,".",$L(Image,".")) If Image["."&&("JPG,GIF,EPS,SVG"[$ZCVT(Ext,"U")) Set Image=$P(Image,".",1,$L(Image,".")-1) Quit $$ListToPieces^vhLib(##class(BL.Prod.ImageLinkEdit).AddImage2Product(PRNr,,Image)) PakketKeller(Ref) Set D="\",Q="K",U=";" Kill Pakket,Products Set Prod=$P(Ref,"\") Set PRNr=$$GetPRNr(Prod) Quit:PRNr="" "#no prod" Set PakRef=$P(Ref,"\",2) Set Pakket(PakRef)="" Set Products(PRNr)=1 Do LIMPORT^PAKKET($$$KlantKeller,.Pakket,.Products,1) Quit "ok" PakketKlant(Ref) Set D="\",Q="K",U=";" Kill Pakket,Products Set KLNr=$P(Ref,"\",1) Quit:'$D(^KK1(KLNr)) Set Prod=$P(Ref,"\",2) Set PRNr=$$GetPRNr(Prod) Quit:PRNr="" "#no prod" Set PakRef=$P(Ref,"\",3) Set Pakket(PakRef)="" Set Products(PRNr)=1 Do LIMPORT^PAKKET(KLNr,.Pakket,.Products,1) Quit "ok" ExistPakket(PakNm) Quit:$$UPTRIMAN^vhRtn1(PakNm)="" "#ongeldig" Set PAKNr=$G(^PAKKET("IK",$$$KlantKeller,$$UPTRIMAN^vhRtn1(PakNm))) Quit PAKNr GetAfdekkap(PRNr) Set HFPRNr=$P($G(^PRBS("BS",PRNr,"PRAKLI.001")),"\") If 'HFPRNr Do . Set BSKey="" . For Set BSKey=$O(^PRBS("BS",PRNr,BSKey)) Quit:BSKey="" Do . . Set TempPRNr=$P($G(^PRBS("BS",PRNr,BSKey)),"\") . . Quit:'TempPRNr . . Set:$E($P(^KPR(TempPRNr,0),"\"),1,3)="ZAA" HFPRNr=TempPRNr Quit:'HFPRNr "#no afdek" If HFPRNr=259206 Quit "PROLUX" If HFPRNr=53820 Quit "KELLER" If HFPRNr=261040 Quit "KELLER CHROOM" If HFPRNr=74660 Quit "BLANK SYM." If HFPRNr?1(1"24665",1"24666") Quit "BLANK LI+RE" Quit "#onbekend" GetPakket(Prod) Set PRNr=$$GetPRNr(Prod) Quit:PRNr="" "#no prod" Set Pakket=$$DISP^PAKKET($$$KlantKeller,PRNr,",") ; Pakketref If Pakket=""&&($E(Prod,1,2)="OL") Do . Set Pakket=$E(Prod,4,11) Quit Pakket GetPRNr(Prod) New PRNr Quit:Prod?4.7N Prod Set ID=$$UPTRIMAN^vhRtn1(Prod) Set PRNr=+$G(^KPR2(ID_" ")) Quit:$G(PRNr)?4.7N PRNr If $E(Prod,1,2)="OL" Do . Set KT=$$UPTRIMAN^vhRtn1(Prod) . Set KT2=$E(KT,1,3) . Set KT=KT2_" " . For Set KT=$O(^KPR1(KT)) Quit:KT=""||($E(KT,1,3)'=KT2) Do Quit:PRNr . . Set:Prod=$P(^KPR1(KT),"\",2) PRNr=$P($G(^KPR1(KT)),"\") Quit:$G(PRNr)?4.7N PRNr If $E(Prod,1,2)="TB" Do . Set DosNr=$E(Prod,8,11) . Set PRNr=$G(^KPR3("T",DosNr)) Quit:$G(PRNr)?4.7N PRNr If Prod?4A Do Quit:PRNr PRNr . Set PRNr=$G(^KPR3("K",Prod)) If Prod?4E Do Quit:PRNr PRNr . Set PRNr=$G(^KPR3("T",Prod)) Quit "" GetPRNr2(Prod) New PRNr If Prod?4E Do Quit PRNr . Set PRNr=$G(^KPR3("T",Prod)) Quit "" ProPlus(Ref) Set Prod=$P(Ref,"\") Set PRNr=$$GetPRNr(Prod) Set Kenm=$P(Ref,"\",2) Quit:PRNr="" "#no prod" Quit:'$D(^KPR(PRNr,"G")) "#no G-node" Set $P(^KPR(PRNr,"G"),"\",3)="PR+" Quit "PR+" Kenm(Ref) Set Prod=$P(Ref,"\") Set PRNr=$$GetPRNr(Prod) Set Kenm=$P(Ref,"\",2) Quit:PRNr="" "#no prod" Set Val=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,Kenm)) ; Frontbevestiging Set:Val=0 Val="" Quit Val GetPPL(Ref) Set Prod=$P(Ref,"\") Set PRNr=$$GetPRNr(Prod) Quit:PRNr="" "#no prod" Quit $TR($$$PRGet($$$PPLMTL),".",",") GetPrijs(Ref) Set D="\",Q="K",U=";" S QU="PV",QU(1)=17,QU(2)="Paul Verhulst" Set Prod=$P(Ref,"\") Set PRNr=$$GetPRNr(Prod) Quit:PRNr="" "#no prod" Quit $TR($P($$KLANTPR^KPRIJS($$$KlantKeller,PRNr),"\"),".",",") IsStroken(Prod) Set PRNr=$$GetPRNr(Prod) Quit:PRNr="" "#no prod" Quit $LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"MATKL"))="HS" ; Stroken Bodem(Ref) Set PRNr=$$GetPRNr2($P(Ref,"\")) Quit:PRNr="" "#no prod" Set HFPRNr=$$BodemPRNr(PRNr,$P(Ref,"\",2)) Quit:'HFPRNr "#No Bodem" Quit $P(^KPR(HFPRNr,0),"\") Afdek(Prod) Set PRNr=$$GetPRNr(Prod) Quit:PRNr="" "#no prod" Set HFPRNr=$P($G(^PRBS("BS",PRNr,"PRAKLI.001")),"\") If 'HFPRNr Do . Set BSKey="" . For Set BSKey=$O(^PRBS("BS",PRNr,BSKey)) Quit:BSKey="" Do . . Set TempPRNr=$P($G(^PRBS("BS",PRNr,BSKey)),"\") . . Quit:'TempPRNr . . Set:$E($P(^KPR(TempPRNr,0),"\"),1,3)="ZAA" HFPRNr=TempPRNr Quit:'HFPRNr "#no afdek" Quit $P(^KPR(HFPRNr,0),"\") BodemPRNr(PRNr,NoSa) Set Node=$S($G(NoSa)="S":"BSS",1:"BS") Set:'$D(^PRBS(Node,PRNr)) Node="BS" Set HFPRNr=$P($G(^PRBS(Node,PRNr,"PRBDHZ.001")),"\") Set:'HFPRNr HFPRNr=$P($G(^PRBS(Node,PRNr,"PRBDHO.001")),"\") If 'HFPRNr Do . Set BSKey="" . For Set BSKey=$O(^PRBS(Node,PRNr,BSKey)) Quit:BSKey="" Do . . Set TempPRNr=$P($G(^PRBS(Node,PRNr,BSKey)),"\") . . Quit:'TempPRNr . . Set:$E($P(^KPR(TempPRNr,0),"\"),1,3)="SPP" HFPRNr=TempPRNr Quit:'HFPRNr "" Quit HFPRNr BouwStenen(Ref) Do MASTER^cQ5 Set D="\",Q="K",U=";" S QU="PV",QU(1)=17,QU(2)="Paul Verhulst" s DT=$$EXTDATE^vhLib.DataTypes($H,"DKP") Set Prod=$P(Ref,"\") Set PRNr=$$GetPRNr(Prod) Quit:PRNr="" "#no prod" Quit $$BouwSteen(PRNr,0) InsidePRBS(PRNr) Set Status=$$BouwSteen(PRNr,1) Set sMod=1 Quit BouwSteen(PRNr,InsidePRBS) New IB,RH,LD,KLAS,DC,LT,ZWH,VPK,SlowFast,IsBinnenLade, IsHoog,IsBreed,IsFast,BodemPRNr If $P(^KPR(PRNr,0),"\",3)'=435287 Do Quit "Foutief gen. product" ; GENPRNr = GEN.HALTBPA (TBX PRO kAst) . D:InsidePRBS WARN^vhTXTPOP("Geen afgeleid product van GEN.HALTBPA") Set $P(^KPR(PRNr,"G"),"\",3)="PR+" Set $P(^KPR(PRNr,0),"\",3)=435287 ; GENPRNr = GEN.HALTBPA (TBX PRO kAst) Set SlowFast="" ; slow fast mover Set IB=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"IB")) ; Interne breedte Set RH=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"RH")) ; Rughoogte Set LD=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LD")) ; Ladediepte Set KLAS=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"KLAS")) ; Klasse (Spoelbak, Lade, ...) Set DC=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"DC")) ; DesignCode Set LT=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"LT")) ; LadeType L of B Set ZWH=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"ZW")) ; Zijwandhoogte Set VPK=$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TBX",PRNr,"VERPAK")) ; Verpakking Quit:KLAS["SP" "#Spoelbak" ; Bepalen Breedte (Smal of Breed) Set IsBreed=IB>(600-(16*2)+1) ; Bepalen Hoogte (Laag of Hoog) Set IsHoog=RH'?1(1"N",1"M") ; Binnenlade Set IsBinnenLade=LT="B" ; Bepalen Vakken (1, 2 of 4 vakken) Set Vakken=$S(IsBinnenLade&&IsHoog&&IsBreed:4,IsBinnenLade&&IsHoog||IsBreed:2,1:1) ; Bepalen SLOW of FAST mover If $G(SlowFast)="" Do . Set SlowFast="S" . ;w KLAS," LT:",LT," BinLa:",IsBinnenLade," IB:",IB," LD:",LD . If KLAS="L",'IsBinnenLade,IB>(500-(19*2)-2),IB<600,LD=500 Set SlowFast="F" Set IsFast=SlowFast="F" ; Bepalen Inkorten (aantal : 0, 1 of 2) Set BodemPRNr=$$BodemPRNr(PRNr) Quit:'BodemPRNr "#Geen Bodem" ;w "*",BodemPRNr,"*" Set Inkorten=0 Set:$LG(##class(Prod.Kenmerk.DataDefinitie).Get("TB",BodemPRNr,"BasisType"))="BODEMSTRK" Inkorten=1,IsFast=0 Set:$P(^KPR(BodemPRNr,0),"\")["KOP" Inkorten=2,IsFast=0 ;W PRNr," Breed:",IsBreed," Hoog:",IsHoog," IsBin:",IsBinnenLade," IsFast:",IsFast," Vakken:",Vakken," Inkorten:",Inkorten,! r k Do ModPRBS(PRNr,IsBreed,IsHoog,IsBinnenLade,IsFast,Vakken,Inkorten,.InsidePRBS) Quit "ok" ;D ModPRBS^PVKeller(418576,1,0,0,1,1,0) ModPRBS(PRNr,IsBreed,IsHoog,IsBinnenLade,IsFast,Vakken,Inkorten,InsidePRBS) #define Label "PRO+" Set OnLine=0 If '$G(InsidePRBS) Do . Do INIT^PRBS . Set %J=$$%J^vhRtn1() . Do FETCH^PRBS(PRNr) . Do:OnLine REFRESH^PRBS ; Verwijderen bouwstenen Set BSKey="" For Set BSKey=$O(^HULP(%J,"C",BSKey)) Quit:BSKey="" Do . Set BSRec=^HULP(%J,"C",BSKey) . Quit:($P(BSRec,D,1)?4.7N) ; halffabrikaat . Quit:($P(BSRec,D,11)="BINL") ; kosten vr binnenladen . Kill ^HULP(%J,"C",BSKey) ; alleen producten behouden en kosten voor Binnenladen ; Creatie bouwstenen ; Montage #Define Montage "\LSF;51\LSS;68\LBF;62\LBS;79\HSF;61\HSS;78\HBF;77\HBS;94" Do . Set Key=$S(IsHoog:"H",1:"L")_$S(IsBreed:"B",1:"S")_$S(IsFast:"F",1:"S") . Set Value=$P($P($$$Montage,"\"_Key_";",2),"\") . Set Rec=D_1_D_"T" . Set $P(Rec,D,11)=$$$Label . Set $P(Rec,D,13)="Monteren "_Key . Set $P(Rec,D,7)=Value . Set $P(Rec,D,8)=Value . Set $P(Rec,D,9)="TBMONTPRO" . Set BSKey=$$DEFBSKEY^PRBS("TIJD") . Set ^HULP(%J,"C",BSKey)=Rec ; Inkorten #Define Inkorten "1;60\2;120" If Inkorten Do . Set Value=$P($P($$$Inkorten,Inkorten_";",2),"\") . Set Rec=D_1_D_"T" . Set $P(Rec,D,11)=$$$Label . Set $P(Rec,D,13)="Inkorten "_Inkorten . Set $P(Rec,D,7)=Value . Set $P(Rec,D,8)=Value . Set $P(Rec,D,9)="TBZAAG" . Set BSKey=$$DEFBSKEY^PRBS("TIJD") . Set ^HULP(%J,"C",BSKey)=Rec ; Transport #Define Transport "\LS;KELLER_TP_LS\LB;KELLER_TP_LB\HS;KELLER_TP_HS\HB;KELLER_TP_HB" ;#Define Transport "\LS;0.374\LB;0.615\HS;0.615\HB;0.966" Do . Set Key=$S(IsHoog&&IsBinnenlade:"H",1:"L")_$S(IsBreed:"B",1:"S") . Set Value=$P($P($$$Transport,"\"_Key_";",2),"\") . Set Rec=D_1_D_"S"_D_1 . Set $P(Rec,D,11)=$$$Label . Set $P(Rec,D,13)="Transport "_Key . Set $P(Rec,D,9)=Value . Set BSKey=$$DEFBSKEY^PRBS("KOST") . Set ^HULP(%J,"C",BSKey)=Rec Do REFRESH^PRBS If '$G(InsidePRBS) Do . Do SAVE^PRBS(PRNr) . Do CONTROLE^PRBSC(PRNr,"A") Quit ProPrivat Set KLNr=$$$KlantKeller Kill Cache For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do . Quit:$P(^KPR(PRNr,0),"\",3)'?4.7N . Quit:$P($$GENTYP^HAD(PRNr),"\",1,2)'="TBX\PR+" . Set Cache(PRNr)="" Set CompPakket="" For Set CompPakket=$O(^PAKKET("IK",KLNr,CompPakket)) Quit:CompPakket="" Do . Set PAKNr=^PAKKET("IK",KLNr,CompPakket) . Set PRNr="" . For Set PRNr=$O(^PAKKET("D",PAKNr,PRNr)) Quit:PRNr="" Do . . Quit:$P(^KPR(PRNr,0),"\",3)'?4.7N . . Quit:$P($$GENTYP^HAD(PRNr),"\",1,2)'="TBX\PR+" . . Set Cache(PRNr)="" Set Dev=$$OPEN^vhDEV(,"Keller Prolux Privat.txt","W","T") Use Dev Set PRNr="" For Set PRNr=$O(Cache(PRNr)) Quit:PRNr="" Do . Quit:$P(^KPR(PRNr,0),"\",3)'?4.7N . Quit:$P($$GENTYP^HAD(PRNr),"\",1,2)'="TBX\PR+" . Set Qty=$$KLANT^STAT(KLNr,PRNr,"2009.01 ","2009.06 ",1) . Set Pakket=$$DISP^PAKKET(KLNr,PRNr) . Set PrijsRec=$$KLANTPR^KPRIJS(KLNr,PRNr) . Set Fam="" . Set CompPakket=$$UPTRIMAN^vhRtn1(Pakket) . Set:$E(CompPakket,$L(CompPakket))="P" Fam="P" . If $E(CompPakket,$L(CompPakket))="P" Do ;ProLux . . Set $E(CompPakket,$L(CompPakket))="" . . Set:$D(^PAKKET("IK",KLNr,CompPakket)) Fam="PROLUX" . Else Do ; Privat . . Set CompPakket=CompPakket_"P" . . Set:$D(^PAKKET("IK",KLNr,CompPakket)) Fam="PRIVAT" . . Write PRNr,*9,$$$PRGet($$$KortTekst),*9,Pakket,*9,Fam,*9,Qty,*9,$$$ExcelNum($P(PrijsRec,"\")),! . Do CLOSE^vhDEV(Dev) Q