Index: PRFUSIE3.mac.rou =================================================================== diff -u -r29059 -r65694 --- PRFUSIE3.mac.rou (.../PRFUSIE3.mac.rou) (revision 29059) +++ PRFUSIE3.mac.rou (.../PRFUSIE3.mac.rou) (revision 65694) @@ -3,18 +3,19 @@ Kill Set Q="K" Do ^cA604 - Set Max=500 + Set Max=5000 Set %J=$$%J^vhRtn1() Kill ^HULP(%J) - Set EndPRNr=$O(^KPR(""),-1)-50000 + Set EndPRNr=$O(^KPR(""),-1)-500000 For Do Quit:'OneDone . Set OneDone=0 . Set Cnt=0 . Kill VanPRNr . Set MemGenPR="" . Set AfglPRNr=0 - . Set OmzetMaand=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-8),"DM4")_" " + . ;Set OmzetMaand=$$EXTDATE^vhLib.DataTypes($$CALCDATE^vhLib.DataTypes($H,"M",-24),"DM4")_" " . Set OfferteMnd="" + . Set Stop="" . For Set AfglPRNr=$O(^KPR(AfglPRNr)) Quit:AfglPRNr="" Do Quit:AfglPRNr>EndPRNr .. Set GenPRNr=$P(^KPR(AfglPRNr,0),D,3) .. Quit:'GenPRNr ; Geen afgeleid product @@ -28,10 +29,14 @@ .. Set VanPRNr(AfglPRNr)="" .. Set Cnt=Cnt+1 .. If Cnt=Max Do ; Per max uitvoeren van de fusie + ... Write "Druk ""-"" om te stoppen",! ... Do FUSIE(.VanPRNr,GenPRNr) ... Kill VanPRNr ... Set Cnt=0 ... Set OneDone=1 + ... + ... Read *K:1 + ... If K=$A("-") Set Stop=1 . If Cnt Do ; De achtergebleven ook afwerken .. Do FUSIE(.VanPRNr,GenPRNr) .. Kill VanPRNr @@ -40,15 +45,45 @@ Kill ^HULP(%J) Quit -CheckDelAfgeleid(PRNr,DagenOmzet,DagenCreatieZndOmzet) +DELMAATWERK + Kill + Set Q="K" + Do ^cA604 + Set Max=5000 + Set %J=$$%J^vhRtn1() + Kill ^HULP(%J) + Set (Deleted,Count)=0 + Set EndPRNr=$O(^KPR(""),-1)-500000 + Set AfglPRNr=100 + Set Stop=0 + Set K="" + Do + . For Set AfglPRNr=$O(^KPR(AfglPRNr)) Quit:AfglPRNr="" Do Quit:AfglPRNr>EndPRNr Quit:Stop + .. Set GenPRNr=$P(^KPR(AfglPRNr,0),D,3) + .. Quit:'GenPRNr ; Geen afgeleid product + .. Set Rede=$$CheckDelAfgeleid(AfglPRNr) + .. Write:Rede'="" AfglPRNr,"->",GenPRNr," ",$P(^KPR(GenPRNr,0),D,1)," : ",Rede,! + .. Set Count=Count+1 + .. If Rede="" Do + .. . Do DELETE^PRODUKT2(AfglPRNr) + .. . Set Deleted=Deleted+1 + .. If Count#100=0 Write AfglPRNr," : ",Deleted, " / ", Count,! Read *K:1 + .. If K=$A("-") Set Stop=1 + Quit + +CheckDelAfgeleid(PRNr,MaandenOmzet,DagenCreatieZndOmzet) Set Del="" - Set:$$INTDATE^vhLib.DataTypes($P($G(^KSTPR(PRNr,0,0)),D))>($H-$G(DagenOmzet,300)) Del="O" ; Omzet recenter dan X dagen + Set GeldigDatum=$$CALCDATE^vhLib.DataTypes($H,"M",-$G(MaandenOmzet,25),"FD") + ;Set:$$INTDATE^vhLib.DataTypes($P($G(^KSTPR(PRNr,0,0)),D))>GeldigDatum Del="O" ; Omzet recenter dan X maand + Set HistKey=$O(^PRHIST(PRNr,""),-1) + Set:(Del="")&&HistKey&&(+$P(^PRHIST(PRNr,HistKey),"\",1)>GeldigDatum) Del="H" ; Historiek recenter dan X maand Set Datum=+$P($P(^KPR(PRNr,2),D,17),"#",2) - Set:Del=""&&(Datum>($H-$G(DagenCreatieZndOmzet,200))) Del="N" ; Het product is te recent gecreeerd - Set:Del="" Del=$$CHECKDEL^PRODUKT2(PRNr,"OFSTZWKPE") + Set:(Del="")&&(Datum>($H-$G(DagenCreatieZndOmzet,200))) Del="N" ; Het product is te recent gecreeerd + Set:Del="" Del=$$CHECKDEL^PRODUKT2(PRNr,"OFSTZWK") ; Indien leeg dan mag het verwijderd worden Quit Del + FUSIE(VanPRNr,NaarPRNr) ; VanPRNr via .Local New VAN,NAAR,NoAsk,NoDel @@ -70,3 +105,4 @@ Lock Quit +