FinInfo Verwerk(KLNr,FIMode) New %TC,BackYear,List,Remark,FinInfo,TempFinInfo,MenuPos,ModYear,Propertys,blFinInfo Set FIMode=$G(FIMode,"W") Do:FIMode="W" . Do ADD^vhLock("FinInfo("_KLNr_")") . If '%TC Do . . Do LDISP^vhLock("FinInfo("_KLNr_")","Financiele info") . . Set FIMode="R" . Else Do SA2^RPLKL1("Wijzigen FINANCIELE INFO") Do Init Do Fetch(KLNr,.FinInfo) Merge TempFinInfo=FinInfo Do WRITE^vhLIST(.List),WRITE^vhLIST(.Remark) Merge FinInfo=TempFinInfo Kill TempFinInfo For Set Input=$$SCROLL^vhLIST(.Remark) Do If $L(Input) Set:Input="-" Input="" Quit . If "\-\K\"[(D_Input_D) Do Quit:$L(Input) . . Set Save=$$AskSave(KLNr,.FinInfo) . . If Save="" Set Input="" . . Else If Save="J" Do Save(KLNr,.FinInfo) . If Input="SPEC" Do . . Set MenuPos=List("POS")+List("SELECT")+2_";80" . . Do CALLSPEC^vhMenu(MenuPos,"FININFOSP","") . Do EXEC^vhMenu("FININFOSP",.Input) . Set Input="" Do:FIMode="W" REMOVE^vhLock("FinInfo("_KLNr_")") Quit Init Set Propertys="CurrentRatio\QuickRatio\SchuldGraad\Bedrijfskapitaal\SchuldRSZ\SchuldBelasting\Omzet\Eigenvermogen\DocLink\Opmerking" Set blFinInfo=##Class(BL.Derde.Derde.FinInfo).Instantiate() Do INIT^vhLIST("DERDE","FININFOLIST",.List) Do INIT^vhLIST("DERDE","FININFOOPM",.Remark) For BackYear=9:-1:0 Set ModYear(BackYear+1)=DJ-BackYear Quit ; Ophalen van de data Fetch(KLNr,FinInfo) New Jaar,RubriekNr,Waarde Set FinInfo(KLNr,"List",1)="Jaar" Set FinInfo(KLNr,"List",2)="Current ratio" Set FinInfo(KLNr,"List",3)="Quick ratio" Set FinInfo(KLNr,"List",4)="Schuldgraad" Set FinInfo(KLNr,"List",5)="Bedrijfs/werkkap." Set FinInfo(KLNr,"List",6)="Achterstand RSZ" Set FinInfo(KLNr,"List",7)="Achterstand belast." Set FinInfo(KLNr,"List",8)="Omzet" Set FinInfo(KLNr,"List",9)="Eigen vermogen" For Jaar=DJ:-1:DJ-9 Do . Quit:'blFinInfo.GetFinInfoID("K",KLNr,Jaar) . Set FinInfo(KLNr,"List",1,Jaar)=$LB(Jaar) . Do blFinInfo.Init("K",KLNr,Jaar) . For RubriekNr=2:1 Quit:'$D(FinInfo(KLNr,"List",RubriekNr)) Do . . Set Property=$P(Propertys,D,RubriekNr-1) . . Do blFinInfo.GetValue(Property,.Waarde) . . Set FinInfo(KLNr,"List",RubriekNr,Jaar)=$LB(Waarde) . Do blFinInfo.GetValue("DocLink",.Waarde) . Set FinInfo(KLNr,"PDF",Jaar)=$LB(Waarde) . Do blFinInfo.GetValue("Opmerking",.Waarde) . Set FinInfo(KLNr,"Opm",Jaar)=$LB(Waarde) . Set FinInfo(KLNr,"Exist",Jaar)="" Do Opmerking(KLNr,.FinInfo) Quit ; Opbouw van de opmerking Opmerking(KLNr,FinInfo) New Jaar,Rec,Waarde,Opmerking Kill FinInfo(KLNr,"Opm",0) For Jaar=DJ:-1:DJ-9 Do . Set Rec=$G(FinInfo(KLNr,"Opm",Jaar)) . Quit:Rec="" . Set Waarde=$S($L($LG(Rec,2)):$LG(Rec,2),1:$LG(Rec)) . Set:$L(Waarde) Opmerking(1)=$G(Opmerking(1))_"~~"_Jaar_": "_Waarde Set $E(Opmerking(1),1,2)="" Do GETWRAP^vhBIGEDIT("Opmerking",80,.Opmerking,"G","~","") For Opmerking=1:1:Opmerking Set FinInfo(KLNr,"Opm",0,Opmerking)=$P(Opmerking(Opmerking),"`",5) Quit ; Bevestiging voor het wegschrijven van de gewijzigde data AskSave(KLNr,FinInfo) New Save If '$D(FinInfo(KLNr,"New")),'$D(FinInfo(KLNr,"Mod")),'$D(FinInfo(KLNr,"Del")) Set Save="N" Else Set Save=$$^vhTXTPOP("FILE","SAVE") Quit Save ; Wegschrijven van de gewijzigde data Save(KLNr,FinInfo) New Save,Jaar,RubriekNr,Rec,Waarde,Property For Jaar=DJ:-1:DJ-9 Do . If $D(FinInfo(KLNr,"Del",Jaar)) Do . . Do blFinInfo.DelObj("K",KLNr,Jaar) . . Do VERW^LOG("FINF",KLNr,Jaar) . Else Do . . If '$D(FinInfo(KLNr,"New",Jaar)),'$D(FinInfo(KLNr,"Mod",Jaar)) Quit . . Do blFinInfo.Init("K",KLNr,Jaar) . . Set Save=0 . . For RubriekNr=2:1 Quit:'$D(FinInfo(KLNr,"List",RubriekNr)) Do . . . Set Rec=$G(FinInfo(KLNr,"List",RubriekNr,Jaar)) . . . Quit:Rec="" . . . Set Waarde=$S($L($LG(Rec,2)):$LG(Rec,2),1:$LG(Rec)),Save=1 . . . Set Property=$P(Propertys,D,RubriekNr-1) . . . Do blFinInfo.SetValue(Property,Waarde) . . Set Rec=$G(FinInfo(KLNr,"PDF",Jaar)) . . Do:$L(Rec) . . . Set Waarde=$S($L($LG(Rec,2)):$LG(Rec,2),1:$LG(Rec)),Save=1 . . . Do blFinInfo.SetValue("DocLink",Waarde) . . Set Rec=$G(FinInfo(KLNr,"Opm",Jaar)) . . Do:$L(Rec) . . . Set Waarde=$S($L($LG(Rec,2)):$LG(Rec,2),1:$LG(Rec)),Save=1 . . . Do blFinInfo.SetValue("Opmerking",Waarde) . . Do:Save . . . Set Save=blFinInfo.Save() . . . If $D(FinInfo(KLNr,"New",Jaar)) Do . . . . Do OPEN^LOG("FINF",KLNr,Jaar) . . . Else Do WIJZ^LOG("FINF",KLNr,Jaar) Quit ;Formateren van de output Format(KLNr,Rubriek,Jaar) New Rec,VJRec,RubriekNr,Format,Waarde,Property,VorigJaar,WaardeVorigJaar For RubriekNr=1:1 Quit:$P(FinInfo(KLNr,"List",RubriekNr),D)=Rubriek Set Property=$P(Propertys,D,RubriekNr-1) Set Rec=$G(FinInfo(KLNr,"List",RubriekNr,Jaar)),Waarde=$S($L($LG(Rec,2)):$LG(Rec,2),1:$LG(Rec)) If RubriekNr=1 Set Format=" "_Jaar Else If $D(FinInfo(KLNr,"List",1,Jaar)) Do . If "\CurrentRatio\QuickRatio\"[(D_Property_D) Do . . Set Format=$S(Waarde:$J($$EXTNUM^vhDTyp(Waarde,0,".T",2),11)_$zobjmethod(blFinInfo,"Beoordeling"_Property,Waarde),1:"") . Else If "\SchuldGraad\Bedrijfskapitaal\"[(D_Property_D) Do . . Set Format=$S(Waarde:$J($$EXTNUM^vhDTyp(Waarde*100,0,".",1)_"%",10)_" "_$zobjmethod(blFinInfo,"Beoordeling"_Property,Waarde),1:"") . Else If "\SchuldRSZ\SchuldBelasting\"[(D_Property_D) Do . . Set Format=" "_$P("N\J",D,Waarde+1)_" "_$zobjmethod(blFinInfo,"Beoordeling"_Property,Waarde) . Else If "\Omzet\Eigenvermogen\"[(D_Property_D) Do . . If Property="Eigenvermogen",Waarde="" Set Format="" Quit . . Set VorigJaar=Jaar-1,VJRec=$G(FinInfo(KLNr,"List",RubriekNr,VorigJaar)),WaardeVorigJaar=$S($L($LG(VJRec,2)):$LG(VJRec,2),1:$LG(VJRec)) . . Set Format=$J($$EXTNUM^vhDTyp(Waarde/1000,0,".",0),6)_"K "_$S(Waarde>WaardeVorigJaar:"S",+Waarde=+WaardeVorigJaar:"=",1:"D")_" "_$zobjmethod(blFinInfo,"Beoordeling"_Property,Waarde,WaardeVorigJaar) . Else Set Format="" Else Set Format="" Quit Format ; Wijzigen van jaargegevens Modify New zb,%SC,Jaar,sFL,Rec,VJRec,RubriekNr,Property,Waarde Set Jaar=$$WILD^vhPOPUP("C;C","K1-","Wijzigen",.ModYear,$G(ModYear)) Do:zb'="CANC" . Set ModYear=Jaar . ; sFL invullen . For RubriekNr=2:1 Quit:'$D(FinInfo(KLNr,"List",RubriekNr)) Do . . Set Rec=$G(FinInfo(KLNr,"List",RubriekNr,Jaar)),Waarde=$S($L($LG(Rec,2)):$LG(Rec,2),1:$LG(Rec)) . . Set $P(sFL(1),D,RubriekNr)=Waarde . Set $P(sFL(1),D)=Jaar . ; PDF- link . Set Rec=$G(FinInfo(KLNr,"PDF",Jaar)),Waarde=$S($L($LG(Rec,2)):$LG(Rec,2),1:$LG(Rec)),sFL("PDF")=Waarde . ; Opmerking . Set Rec=$G(FinInfo(KLNr,"Opm",Jaar)),Waarde=$S($L($LG(Rec,2)):$LG(Rec,2),1:$LG(Rec)),sFL("Opm")="",sFL("Opm",1)=Waarde . Do @($S($TR($P(sFL(1),D,2,99),D,"")="":"NIEUW",1:"EDIT")_"^vhScherm(""FININFO"",,,,,,3)") . Quit:'%SC . ; sFL overbrengen naar FinInfo . If $TR($P(sFL(1),D,2,99),D,"")="" Do . . For RubriekNr=1:1 Quit:'$D(FinInfo(KLNr,"List",RubriekNr)) Kill FinInfo(KLNr,"List",RubriekNr,Jaar) . . Kill FinInfo(KLNr,"PDF",Jaar),FinInfo(KLNr,"Opm",Jaar) . . Kill FinInfo(KLNr,"New",Jaar),FinInfo(KLNr,"Mod",Jaar) . . Set:$D(FinInfo(KLNr,"Exist",Jaar)) FinInfo(KLNr,"Del",Jaar)="" . Else Do . . For RubriekNr=2:1 Quit:'$D(FinInfo(KLNr,"List",RubriekNr)) Do . . . Set Waarde=$P(sFL(1),D,RubriekNr),Rec=$G(FinInfo(KLNr,"List",RubriekNr,Jaar)) . . . If Waarde="" Set Rec=$LB("") . . . Else If Rec="" Set Rec=$LB("",Waarde) . . . Else Set $LI(Rec,2)=$S(Waarde=$LI(Rec):"",1:Waarde) . . . Set FinInfo(KLNr,"List",RubriekNr,Jaar)=Rec . . ; PDF-link . . Set Waarde=sFL("PDF"),Rec=$G(FinInfo(KLNr,"PDF",Jaar)) . . If Waarde="" Set Rec=$LB("") . . Else If Rec="" Set Rec=$LB("",Waarde) . . Else Set $LI(Rec,2)=$S(Waarde=$LI(Rec):"",1:Waarde) . . Set FinInfo(KLNr,"PDF",Jaar)=Rec . . ; Opmerking . . Set Waarde=$G(sFL("Opm",1)),Rec=$G(FinInfo(KLNr,"Opm",Jaar)) . . If Waarde="" Set Rec=$LB("") . . Else If Rec="" Set Rec=$LB("",Waarde) . . Else Set $LI(Rec,2)=$S(Waarde=$LI(Rec):"",1:Waarde) . . Set FinInfo(KLNr,"Opm",Jaar)=Rec . . ; . . Set FinInfo(KLNr,"List",1,Jaar)=$LB(Jaar) . . Kill FinInfo(KLNr,"Del",Jaar) . . If $D(FinInfo(KLNr,"Exist",Jaar)) Set FinInfo(KLNr,"Mod",Jaar)="" . . Else Set FinInfo(KLNr,"New",Jaar)="" . If Jaar>(DJ-BackYear) Set BackYear=DJ-Jaar . Else If Jaar<(DJ-BackYear-5) Set BackYear=DJ-Jaar-5 . Do Opmerking(KLNr,.FinInfo) . Set Remark("MAX")=$O(FinInfo(KLNr,"Opm",0,""),-1) . Set:'Remark("MAX") Remark("MAX")=1 . Do WRITE^vhLIST(.List),WRITE^vhLIST(.Remark) Quit ; Verwijderen van jaargegevens Delete New zb,DI,MI,Jaar,RubriekNr,DelYear Set DI=0 For MI=1:1 Quit:'$D(ModYear(MI)) Do . Set Jaar=ModYear(MI) . If '$D(FinInfo(KLNr,"New",Jaar)),'$D(FinInfo(KLNr,"Exist",Jaar)) ; Enkel de ingevulde jaren . Else If $D(FinInfo(KLNr,"Del",Jaar)) . Else Set DI=DI+1,DelYear(DI)=Jaar Do:$D(DelYear) . Set Jaar=$$WILD^vhPOPUP("C;C","K1-","Verwijderen",.DelYear,$G(ModYear)) . Do:zb'="CANC" . . Set ModYear=Jaar . . For RubriekNr=1:1 Quit:'$D(FinInfo(KLNr,"List",RubriekNr)) Kill FinInfo(KLNr,"List",RubriekNr,Jaar) . . Kill FinInfo(KLNr,"PDF",Jaar),FinInfo(KLNr,"Opm",Jaar) . . Kill FinInfo(KLNr,"New",Jaar),FinInfo(KLNr,"Mod",Jaar) . . Set:$D(FinInfo(KLNr,"Exist",Jaar)) FinInfo(KLNr,"Del",Jaar)="" . . If Jaar>(DJ-BackYear) Set BackYear=DJ-Jaar . . Else If Jaar<(DJ-BackYear-5) Set BackYear=DJ-Jaar-5 . . Do Opmerking(KLNr,.FinInfo) . . Set Remark("MAX")=$O(FinInfo(KLNr,"Opm",0,""),-1) . . Set:'Remark("MAX") Remark("MAX")=1 . . Do WRITE^vhLIST(.List),WRITE^vhLIST(.Remark) Quit ; Herstellen van jaargegevens Reset New zb,HI,MI,Jaar,RubriekNr,ResetYear,Property,Waarde Set HI=0 For MI=1:1 Quit:'$D(ModYear(MI)) Do . Set Jaar=ModYear(MI) . If '$D(FinInfo(KLNr,"New",Jaar)),'$D(FinInfo(KLNr,"Mod",Jaar)),'$D(FinInfo(KLNr,"Del",Jaar)) ; Enkel de gewijzigde jaren . Else Set HI=HI+1,ResetYear(HI)=Jaar Do:$D(ResetYear) . Set Jaar=$$WILD^vhPOPUP("C;C","K1-","Herzetten",.ResetYear,$G(ModYear)) . Do:zb'="CANC" . . Set ModYear=Jaar . . For RubriekNr=1:1 Quit:'$D(FinInfo(KLNr,"List",RubriekNr)) Kill FinInfo(KLNr,"List",RubriekNr,Jaar) . . Kill FinInfo(KLNr,"PDF",Jaar),FinInfo(KLNr,"Opm",Jaar) . . Kill FinInfo(KLNr,"New",Jaar),FinInfo(KLNr,"Mod",Jaar),FinInfo(KLNr,"Del",Jaar) . . Do:$D(FinInfo(KLNr,"Exist",Jaar)) . . . Set FinInfo(KLNr,"List",1,Jaar)=$LB(Jaar) . . . Do blFinInfo.Init("K",KLNr,Jaar) . . . For RubriekNr=2:1 Quit:'$D(FinInfo(KLNr,"List",RubriekNr)) Do . . . . Set Property=$P(Propertys,D,RubriekNr-1) . . . . Do blFinInfo.GetValue(Property,.Waarde) . . . . Set FinInfo(KLNr,"List",RubriekNr,Jaar)=$LB(Waarde) . . . Do blFinInfo.GetValue("DocLink",.Waarde) . . . Set FinInfo(KLNr,"PDF",Jaar)=$LB(Waarde) . . . Do blFinInfo.GetValue("Opmerking",.Waarde) . . . Set FinInfo(KLNr,"Opm",Jaar)=$LB(Waarde) . . If Jaar>(DJ-BackYear) Set BackYear=DJ-Jaar . . Else If Jaar<(DJ-BackYear-5) Set BackYear=DJ-Jaar-5 . . Do Opmerking(KLNr,.FinInfo) . . Set Remark("MAX")=$O(FinInfo(KLNr,"Opm",0,""),-1) . . Set:'Remark("MAX") Remark("MAX")=1 . . Do WRITE^vhLIST(.List),WRITE^vhLIST(.Remark) Quit ; Tonen van de PDF DisplayDoc(KLNr,FinInfo) New zb,DI,MI,Jaar,DisplYear,FilePath,Rec,DocLink If KLNr Do . Set DI=0 . For MI=1:1 Quit:'$D(ModYear(MI)) Do . . Set Jaar=ModYear(MI),Rec=$G(FinInfo(KLNr,"PDF",Jaar)) . . If '$L($LG(Rec)),'$L($LG(Rec,2)) ; Enkel de jaren met een PDF-link . . Else Set DI=DI+1,DisplYear(DI)=Jaar . Quit:'$D(DisplYear) . Set Jaar=$$WILD^vhPOPUP("C;C","K1-","PDF",.DisplYear) . Quit:zb="CANC" . Set Rec=$G(FinInfo(KLNr,"PDF",Jaar)) . Set DocLink=$S($L($LG(Rec,2)):$LG(Rec,2),1:$LG(Rec)) . Do:DocLink="" blFinInfo.Init("K",KLNr,Jaar) . Set:$$UPCASE^vhRtn1($E(DocLink,$L(DocLink)-3,$L(DocLink)))'=".PDF" DocLink=DocLink_".PDF" . Set FilePath=blFinInfo.GetURL(DocLink) Else Set FilePath="\\notes01\shared\QA\AdminDoc\B_ICT_006_xx Klant boekhoudkundige analyse.pdf" ; Help PDF Do:$L($G(FilePath)) DisplayDoc^HADWIZ(FilePath) Quit ;Is er een PDF te tonen? CheckDoc(KLNr,FinInfo) New MI,ShowDoc,Jaar,Rec Set ShowDoc=0 For MI=1:1 Quit:'$D(ModYear(MI)) Do Quit:ShowDoc . Set Jaar=ModYear(MI),Rec=$G(FinInfo(KLNr,"PDF",Jaar)) . If '$L($LG(Rec)),'$L($LG(Rec,2)) . Else Set ShowDoc=1 Quit ShowDoc ; Menu 1 jaar vooruit ForwardYear(BackYear) New Van,Tot Set Van=ModYear(BackYear),Tot=ModYear(BackYear+3) Quit Van_" - "_Tot ; Menu 1 jaar terug ReverseYear(BackYear) New Van,Tot Set Van=ModYear(BackYear+2),Tot=ModYear(BackYear+5) Quit Van_" - "_Tot