#include BL.EC.Common #define defaultSession 726855 Q #Define rbKlant "K" #Define rbFaktuur "F" #Define rbProduct "P" VerkoopPrepare(Criteria) ;Regios oproepen via .Local Set SessionKey=%ECSession.%Id() Kill ^ECHULP(SessionKey,"FP"),^ECHULP(SessionKey,"FD"),^ECHULP(SessionKey,"TMP") ; Opkuis oude Fetch data Set DatVan=Criteria.DatumVan Set:$C(0)[DatVan DatVan=$$CALCDATE^vhDTyp($H,"W",-1,"FD") Set DatTot=Criteria.DatumTot Set:$C(0)[DatTot DatTot=$$CALCDATE^vhDTyp($H,"W",-1,"LD") Set:DatVan>DatTot DatTot=$$CALCDATE^vhDTyp(DatVan,"W","LD") Set Detail=Criteria.Detail Set Regios=%ECSession.Regios ; Ophalen van de details uit factuur en proforma Set (KLId)=0 For Set KLId=$O(^KKL(KLId)) Quit:KLId="" Do . Set Regio=$P(^KKL(KLId,0),D,20) . Quit:'$LF(Regios,Regio) . Set KLNr=$P(^KKL(KLId,0),D,1) . Do Cumul("^KFA",KLNr,DatVan,DatTot,Detail,SessionKey) . Do Cumul("^KFAP",KLNr,DatVan,DatTot,Detail,SessionKey) ; Omzetting van de data naar factuur Set SortKey1="" Set Count=0 Set ^ECHULP(SessionKey,"FD",$I(Count))=^ECHULP(SessionKey,"TMP") ; eerst totaal For Set SortKey1=$O(^ECHULP(SessionKey,"TMP",SortKey1)) Quit:SortKey1="" Do . Set ^ECHULP(SessionKey,"FD",$I(Count))=^ECHULP(SessionKey,"TMP",SortKey1) . Set SortKey2="" . For Set SortKey2=$O(^ECHULP(SessionKey,"TMP",SortKey1,SortKey2)) Quit:SortKey2="" Do . . Set ^ECHULP(SessionKey,"FD",$I(Count))=^ECHULP(SessionKey,"TMP",SortKey1,SortKey2) ; Clean Kill ^ECHULP(SessionKey,"TMP") Quit Cumul(Global,KLNr,DatVan,DatTot,Detail,SessionKey) Set Dat=$S(DatTot:-DatTot-1,1:"") Set:DatVan="" DatVan=1 Set Global1=Global_"1" Set FAKNr="" For Set Dat=$O(@Global1@("F",KLNr,Dat)) Quit:Dat="" Quit:Dat>-DatVan Do . For Set FAKNr=$O(@Global1@("F",KLNr,Dat,FAKNr)) Quit:FAKNr="" Do . . Set BONNr="U" . . Set (SomAnd,SomBL)=0 . . Set (CntAnd,CntBL)=0 . . For Set BONNr=$O(@Global@("F",FAKNr,BONNr)) Quit:BONNr="" Do . . . Set LNr=100 . . . For Set LNr=$O(@Global@("F",FAKNr,BONNr,LNr)) Quit:LNr="" Do . . . . Set Rec=^(LNr) . . . . Set PRNr=$P(Rec,D,2) . . . . Quit:PRNr'?4.7N . . . . Set ProductGrp=%blProduct.ProductGroep(PRNr) . . . . Set:ProductGrp="" ProductGrp=$$$pgBeslagAndere . . . . Set ProductGrpPos=$LF($$$pgAllProductGroepenList,%blProduct.ProductGroep(PRNr)) . . . . Set Omzet=$P(Rec,D,34) . . . . Set SortKey1=KLId . . . . Set SortKey2=$S(Detail="P":$$SORTKEY^PRODUKT(PRNr),Detail="F":$S(Global["P":"PROFORMA",1:FAKNr),1:"*") . . . . ; Detail . . . . If SortKey2'="*" Do ; met detail ivm factuur of product . . . . . Set List=$G(^ECHULP(SessionKey,"TMP",SortKey1,SortKey2),$LB("D",KLNr,PRNr)) . . . . . Set $LI(List,10)=$LG(List,10)+1 ; Aantal lijnen . . . . . Set:Global'["P" $LI(List,10+ProductGrpPos)=$LG(List,10+ProductGrpPos)+Omzet . . . . . Set ^ECHULP(SessionKey,"TMP",SortKey1,SortKey2)=List . . . . ; Klant . . . . Set List=$G(^ECHULP(SessionKey,"TMP",SortKey1),$LB("K",KLNr)) . . . . Set $LI(List,10)=$LG(List,10)+1 ; Aantal lijnen . . . . Set:Global'["P" $LI(List,10+ProductGrpPos)=$LG(List,10+ProductGrpPos)+Omzet . . . . Set ^ECHULP(SessionKey,"TMP",SortKey1)=List . . . . ; Totaal . . . . Set List=$G(^ECHULP(SessionKey,"TMP"),$LB("T")) . . . . Set $LI(List,10)=$LG(List,10)+1 ; Aantal lijnen . . . . Set:Global'["P" $LI(List,10+ProductGrpPos)=$LG(List,10+ProductGrpPos)+Omzet . . . . Set ^ECHULP(SessionKey,"TMP")=List Quit /*-------------------*/ #Define rbKlant "K" #Define rbRegio "R" ; d OmzetPrepare^BL.EC.Common OmzetPrepare(Criteria) Set SessionKey=%ECSession.%Id() Kill ^ECHULP(SessionKey,"FP"),^ECHULP(SessionKey,"FD") ; Opkuis oude Fetch data Set (Regios,Klant)="" Set LastMnd=$$CALCDATE^vhDTyp($H,"BJ","LD") If $$CALCDATE^vhDTyp($H,"BJ","FD")=$$CALCDATE^vhDTyp($H,"M","FD") Set LastMnd=$$CALCDATE^vhDTyp($H,"BJ",-1,"LD") ; Juli wordt nog bekeken als vorige BJ Set StartMnd=$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp(LastMnd,"M",-36,"FD"),"DM4")_" " Set ProductGroepen=Criteria.ProductGroepen Set KlantRegio=Criteria.Detail ; of welk veld dan ook af te spreken met prosteps If $G(KlantRegio)=$$$rbKlant Do . Set Klant=%ECSession.KlantNr Else Do . Set Regios=%ECSession.Regios ;Set SessionKey="444" ; test ;Set Regios=$LB(10) ; test ;Set Klant=1239 ; test ;Set ProductGroepen=$$$pgBeslagBlum ;test $$$blProduct Set AllProdGrp=%blProduct.AllProductGroepen(.ProductGroepen) ; Omvullen met dummy (full array ipv sparse array) For IM=-36:1:0 Do . Set Omzet($$EXTDATE^vhDTyp($$CALCDATE^vhDTyp(LastMnd,"M",IM,"FD"),"DM4")_" ")="" ; Regio en alle producten If Klant="", AllProdGrp Do . Set Mnd=StartMnd . For Set Mnd=$O(^KKAAM(Mnd)) Quit:Mnd="" Do . . For IR=1:1:$LL(Regios) Do . . . Set Regio=+$LI(Regios,IR) . . . Set $LI(Omzet(Mnd))=$LG(Omzet(Mnd))+$P($G(^KKAAM(Mnd,Regio)),"\",1) ; Klant of niet alle producten Else Do . Set KLNr=$S(Klant:Klant-1,1:0) . For Set KLNr=$O(^KSTKL(KLNr)) Quit:KLNr="" Quit:Klant&&(Klant'=KLNr) Do Quit:Klant . . Set Regio=$P(^KKL(^KK1(KLNr),0),D,20) . . Quit:(Klant="")&&('$LF(Regios,Regio)) ; Beperkt tot Regio . . Set Mnd=StartMnd . . If AllProdGrp Do ; Alle producten . . . For Set Mnd=$O(^KSTKL(KLNr,0,Mnd)) Quit:Mnd="" Do . . . . Set $LI(Omzet(Mnd),1)=$LG(Omzet(Mnd),1)+$P($G(^KSTKL(KLNr,0,Mnd)),"\",3) . . Else Do ; Beperkt tot product groep . . . Set PRNr=0 . . . For Set PRNr=$O(^KSTKL(KLNr,PRNr)) Quit:PRNr="" Do . . . . ;W:$D(^KPR(PRNr,"J5005")) "BLUM" . . . . Quit:'%blProduct.IsInProductGroep(PRNr,ProductGroepen) ; niet in gewenste product groep . . . . Set Mnd=StartMnd . . . . For Set Mnd=$O(^KSTKL(KLNr,0,Mnd)) Quit:Mnd="" Do . . . . . Set $LI(Omzet(Mnd),1)=$LG(Omzet(Mnd),1)+$P($G(^KSTKL(KLNr,PRNr,Mnd)),"\",3) ; Cumul berekening Set Mnd="" For Set Mnd=$O(Omzet(Mnd)) Quit:Mnd="" Do . Set Omzet=$LG(Omzet(Mnd),1) . Set CumulMnd=Mnd . For IM=1:1:12 Do Quit:CumulMnd="" ; cumuleren over 12 maanden . . Set $LI(Omzet(CumulMnd),2)=$LG(Omzet(CumulMnd),2)+Omzet . . Set CumulMnd=$O(Omzet(CumulMnd)) ; deze truuk werkt te samen met for IM=1:1:12 omdat alle maanden op voorhand werden gecreëerd ; Omzetten van de Omzet naar een resultset Set Cnt=0 For IM=-12:1:0 Do . Set HuidigMnd=$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp(LastMnd,"M",IM,"FD"),"DM4")_" " . Set VorigMnd=$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp(LastMnd,"M",IM-12,"FD"),"DM4")_" " . Set VorigOmz=$LG(Omzet(VorigMnd),1) . Set VorigCumul=$LG(Omzet(VorigMnd),2) . Set VorigPct=$S(+VorigOmz=0:"",1:+$J(HuidigOmz-VorigOmz/VorigOmz*100,0,1)) . Set HuidigOmz=$LG(Omzet(HuidigMnd),1) . Set HuidigCumul=$LG(Omzet(HuidigMnd),2) . Set HuidigPct=$S(+VorigCumul=0:"",1:+$J(HuidigCumul-VorigCumul/VorigCumul*100,0,1)) . Set Result=$LB($E(HuidigMnd,1,7),VorigOmz,HuidigOmz,VorigPct,VorigCumul,HuidigCumul,HuidigPct) . ;w $$ListToPieces^vhLib(Result,"; "),! . Set ^ECHULP(SessionKey,"FD",$I(Cnt))=Result Quit SetPict(IDNr,FNs1,FNs2,FNs3,FNs4) Set FNs=FNs1_"~"_FNs2_"~"_FNs3_"~"_FNs4 Quit:$D(^ProdImg("IMPORT",IDNr)) "" For I=1:1:$L(FNs,"~") Do . Set FN=$P(FNs,"~",I) . Quit:FN="" . Set ^ProdImg("IMPORT",IDNr,$O(^ProdImg("IMPORT",IDNr,""),-1)+1)=FN Quit "" Import2Jpg Set IDNr="" For Set IDNr=$O(^ProdImg("IMPORT",IDNr)) Quit:IDNr="" Do . Set VolgNr="" . For Set VolgNr=$O(^ProdImg("IMPORT",IDNr,VolgNr)) Quit:VolgNr="" Do . . Set FN=^ProdImg("IMPORT",IDNr,VolgNr) . . ;Quit:FN'["V_ZML8030I_P_1_PB_BAU_#SA" . . Set FoundV2=0 . . If FN["#V1" Do ; Controle of V2 bestaat . . . Set FNV2=$P(FN,"#V1",1)_"#V2"_$P(FN,"#V1",2) . . . ;w "FNV2:"_FNV2,! . . . Set VolgNr2="" . . . For Set VolgNr2=$O(^ProdImg("IMPORT",IDNr,VolgNr2)) Quit:VolgNr2="" Do . . . . ;Write " ZOEK:",^ProdImg("IMPORT",IDNr,VolgNr2),! . . . . Set:$zcvt(FNV2,"U")=$zcvt(^ProdImg("IMPORT",IDNr,VolgNr2),"U") FoundV2=1 . . if FoundV2 w "NODO", FN," wait for enter"! r k . . Quit:FoundV2 ; V2 gevonden . . Set GebruiksDoel=$P(FN,"_",5) If GebruiksDoel?1.2N Set GebruiksDoel=$P(FN,"_",6) . . W IDNr," ",FN," ",GebruiksDoel,! . . Set Groep=$E(FN,1) . . Set Taal=$P($P(FN,"#",2),"_") . . Set Taal=$S(Taal="SEN":"E","SDE":"D",1:"") . . Set BlumFormat=$P($P(FN,"#",3),"_") . . Set BlumVersion=$P($P(FN,"#",4),".") . . Set PRNr=+$G(^KPR2($TR(IDNr,".","")_" ")) Quit:PRNr=0 . . Set FNzndrExt=$S($P(FN,".",$L(FN,"."))'="":$P(FN,".",1,$L(FN,".")-1),1:FN) . . Set oImg=##class(Res.ImageLink).Create("PR", PRNr, Groep,GebruiksDoel,Taal) . . Set oImg.BlumFormat=BlumFormat . . Set oImg.BlumVersion=BlumVersion . . Set oImg.Omschrijving=IDNr . . Do oImg.AddLink("T","BLUM\T",FNzndrExt,0,"JPG") ; Thumbnail . . Do oImg.AddLink("W","BLUM\W",FNzndrExt,0,"JPG") ; Web . . Do oImg.AddLink("P","BLUM\P",FNzndrExt,0,$P(FN,".",$L(FN,"."))) ; Printed . . Set Status=oImg.%Save() . . W $$ParseStatus^vhLib(Status),! r:$$ParseStatus^vhLib(Status)'="" k Q s LeegWW ="1B2M2Y8AsgTpgAmY7PhCfg==" UPDATEWW Set (Datum,DatumRef)=$H-365 $$$blToegang Set UserID="" For Set UserID=$O(^ATK("W",UserID)) Quit:UserID="" Do . Set Rec=^ATK("W",UserID) . Quit:'$P(Rec,"\",7) ; Nog niet geconverteerd . ;W !,UserID, " ",$D(Mem(UserID))," ",$P(Rec,"\",6) . Set oToegang=##class(Derde.EC.Toegang).%OpenId($P(^ATK("W",UserID),"\",7)) . Quit:'$isObject(oToegang) . If oToegang.WachtWoordIntern="" Do . . Write UserID," ",oToegang.WachtWoord," ",oToegang.WachtWoordIntern,! . . Do %blToegang.SetWachtWoord(oToegang,$P(UserID,"\",2,99)) . . Write "---> ",oToegang.WachtWoord," ",oToegang.WachtWoordIntern,! . . W " ",oToegang.%Save() Quit CONVERTALL Set (Datum,DatumRef)=$H-365 For Set Datum=$O(^ATK("L",Datum)) Quit:Datum="" Do . Set KLNr="" . For Set KLNr=$O(^ATK("L",Datum,KLNr)) Quit:KLNr="" Do . . Set UserID="" . . For Set UserID=$O(^ATK("L",Datum,KLNr,UserID)) Quit:UserID="" Do . . . Set Mem(UserID)="" Set UserID="" For Set UserID=$O(^ATK("W",UserID)) Quit:UserID="" Do . Set Rec=^ATK("W",UserID) . Quit:$P(Rec,"\",7) ; Reeds geconverteerd . W !,UserID, " ",$D(Mem(UserID))," ",$P(Rec,"\",6) . ;Quit:(+$P(Rec,"\",6)> New Loop,SubLoop,lbRec Set (Loop,SubLoop)="" For Set Loop=$O(^Flow.Offerte.HoofdingD(Loop)) Quit:(Loop="") Do . For Set SubLoop=$O(^Flow.Offerte.HoofdingD(Loop,"Lijnen",SubLoop)) Quit:(SubLoop="") Do .. Set lbRec=^Flow.Offerte.HoofdingD(Loop,"Lijnen",SubLoop) .. Set GroepKey=$LG(lbRec,2) .. Quit:(GroepKey'?2N1"."3N1"."2N1"."2N) .. w GroepKey,! .. Set $LI(lbRec,5)=$LI(lbRec,4) .. Set $LI(lbRec,4)=$LI(lbRec,3) .. Set $LI(lbRec,3)=GroepKey .. Set $LI(lbRec,2)="" .. Set ^Flow.Offerte.HoofdingD(Loop,"Lijnen",SubLoop)=lbRec quit addtestroots() n l1,l2,l3,l4 s (l1,l2,l3,l4)="" f s l1=$o(^Res.PI.Items("RDIRD",l1)) q:(l1="") d . f s l2=$o(^Res.PI.Items("RDIRD",l1,l2)) q:(l2="") d .. f s l3=$o(^Res.PI.Items("RDIRD",l1,l2,l3)) q:(l3="") d ... q:(l3'="CACHE02") ... f s l4=$o(^Res.PI.Items("RDIRD",l1,l2,l3,l4)) q:(l4="") d .... q:(l4'="DEV-ADMIN1") .... s ^Res.PI.Items("RDIRD",l1,l2,l3,"TST-ADMIN1")=^Res.PI.Items("RDIRD",l1,l2,l3,l4) //^Res.PI.Items("RDIRD","WebVH","WWW","CACHE01","ADMIN1") quit