Index: BL/Derde/Klant/Main.cls.xml =================================================================== diff -u -r734 -r1012 --- BL/Derde/Klant/Main.cls.xml (.../Main.cls.xml) (revision 734) +++ BL/Derde/Klant/Main.cls.xml (.../Main.cls.xml) (revision 1012) @@ -1,13 +1,13 @@ - + Set BL=##class(BL.Derde.Klant.Main).%New() s Q=BL.Zoek(1051) f d Q.Next(.Ok) q:('Ok) w Ok,! -m Data=Q.Data zw Data +m Data=Q.Data zw Data BL.Derde.Derde 1 %RegisteredObject -60312,57599.728465 +62193,60409.95222 59994,36389.731496 0 @@ -97,6 +97,81 @@ Write $$ParseStatus^vhLib(Status) ]]> + + + +w ##class(BL.Derde.Klant.Main).OmzetTrend(5209) +1 +KLNr + ",Omz,! + . ; Sommering 3 maanden + . If I<13 Do + . . Do ..Compare(3,1,3,Omz,.Omz) + . Else Do + . .Set Omz(3)=Omz(3)+Omz + . ; Sommering 2 maanden + . If I<14,I>1 Do + . . Do ..Compare(2,1,2,Omz,.Omz) + . Else If I>13 Do + . .Set Omz(2)=Omz(2)+Omz + . ; Sommering 1 maand + . If I<15,I>2 Do + . . Do ..Compare(1,1,1,Omz,.Omz) + . Else If I>14 Do + . .Set Omz(1)=Omz(1)+Omz + + + ;w ! + ;K %Omz m %Omz=Omz zw %Omz + ;w ! + + ; Analyze + Set Result="" + For Grp=1:1:3 Do + . Set (Som,Aantal)=0 + . For I=1:1:Grp Do:Omz(Grp,I)<$$$Max + . . Set Aantal=Aantal+1 + . . Set Som=Som+Omz(Grp,I) + . Quit:'Aantal + . Set Omz(Grp)=(Omz(Grp)/Grp)_"\"_(Som/Aantal) ; Laatste Omzet \ Minimum Omzet + . If $P(Omz(Grp),"\") < ($P(Omz(Grp),"\",2)*$$$ReduceOmzet) Set Result=$TR($J("",Grp)," ","-"),$P(Omz(Grp),"\",3)=Result ; De MinOmzet wordt verkleind, dit om kleine afwijkingen toe te laten. + . ;Write Grp," LstOmz: "_$J($P(Omz(Grp),"\"),0,0)_" < MinOmz:"_$J($P(Omz(Grp),"\",2),0,0)," * ",$$$ReduceOmzet," = result: "_$P(Omz(Grp),"\",3),! + ;W ! + ;W !,"*** ",Result," ***" + + Quit Result +]]> + + + + +Hulproutine voor OmzetTrend +1 +Grp,FromI,Max,CompOmz,Omz +1 ; geen omzet in de maand + For J=FromI:1:Max If Omz(Grp,J)>CompOmz Do Quit + . Do ..Compare(Grp,J,Max,Omz(Grp,J),.Omz) ; Recursief + . Set Omz(Grp,J)=CompOmz + Quit +]]> + - +