Prilagođavanje FINEx-a za nove obrasce za završni obračun

Prilagođavanje FINEx-a za nove obrasce za završni obračun

U FINEx-u je potrebno podesiti kod za popunjavanje zaglavlja kartice “UnosPod” excelovog obrasca. Tu se radi o osnovnim podacima o preduzeću/udruženju: nazivu firme, ID broju, bankama, adresi itd.

Za sada je to fiksirano u programskom kodu modula “zavrsni_obracun” aplikacije FINEx čiji dio izgleda ovako:

procedure TFormZavrsniObracun.BitBtn1Click(Sender: TObject);
...
Lista := TObjectList.Create; // za sheet "UnosPod"
Lista2 := TObjectList.Create; // za sheet "BOSAP"
ListaPG := TObjectList.Create; // za sheet "PretGod"
try
// ... pripremi prvi sheet (UnosPod) ...
(* ---------------------------------------
osnovni podaci
--------------------------------------- *)
pomSP := TSintetickiPodatak.Create('F3',DataModule1.getParam('racunovodja_ime')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F4',DataModule1.getParam('racunovodja_adresa')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F8',DataModule1.getParam('imeFirme')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F10',DataModule1.getParam('ulica')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F9',DataModule1.getParam('ostatakAdrese')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F15',DataModule1.getParam('vrstaDjelatnosti')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F12',DataModule1.getParam('firma_vecinskiVlasnik')); Lista.Add(pomSP);

try
pomRealni := StrToFloat(AnsiReplaceStr(DataModule1.getParam('firma_procenatVV'),',','.'));
except
pomRealni := 100;
end;
if Firma.godina>=2014 then pomRealni := pomRealni/100;
pomSP := TSintetickiPodatak.Create('F13',pomRealni); Lista.Add(pomSP);

// pomSP := TSintetickiPodatak.Create('F14',DataModule1.getParam('firma_direktor')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F16',DataModule1.getParam('firma_kantUredPU')); Lista.Add(pomSP);
// pomSP := TSintetickiPodatak.Create('F17',DataModule1.getParam('firma_ispostavaPU')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F18',DataModule1.getParam('firma_brPoslJed')); Lista.Add(pomSP);

if Firma.godina>=2017 then begin
pomSP := TSintetickiPodatak.Create('AB3',DataModule1.getParam('racunovodja_brDozvole')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('AM3',DataModule1.getParam('racunovodja_brTelefona')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB4',13,DataModule1.getParam('racunovodja_JMB'));
pomSP := TSintetickiPodatak.Create('AF5',DataModule1.getParam('racunovodja_email')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB8',13,DataModule1.getParam('JIB_JMB'));
znakPoZnakNizCelija(Lista,'AB10',5,bezSeparatora(DataModule1.getParam('vrstaDjelatnosti_staraSifra')));
znakPoZnakNizCelija(Lista,'AB11',4,bezSeparatora(DataModule1.getParam('vrstaDjelatnosti_novaSifra')));
znakPoZnakNizCelija(Lista,'AB12',3,DataModule1.getParam('opcina'));
pomSP := TSintetickiPodatak.Create('AB13',DataModule1.getParam('nazivBanka1')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB14',16,DataModule1.getParam('racunBanka1'));
pomSP := TSintetickiPodatak.Create('AB15',DataModule1.getParam('nazivBanka2')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB16',16,DataModule1.getParam('racunBanka2'));
pomSP := TSintetickiPodatak.Create('AB17',DataModule1.getParam('nazivBanka3')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB18',16,DataModule1.getParam('racunBanka3'));
pomSP := TSintetickiPodatak.Create('F11',DataModule1.getParam('firma_kanton')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F19',DataModule1.getParam('emailFirme')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F20',DataModule1.getParam('telefonFirme')); Lista.Add(pomSP);

end else if Firma.godina>=2016 then begin
if (Firma.orgTip='PRED') then begin
pomSP := TSintetickiPodatak.Create('AE3',DataModule1.getParam('racunovodja_brDozvole')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('AP3',DataModule1.getParam('racunovodja_brTelefona')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AE4',13,DataModule1.getParam('racunovodja_JMB'));
pomSP := TSintetickiPodatak.Create('AI5',DataModule1.getParam('racunovodja_email')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AE8',13,DataModule1.getParam('JIB_JMB'));
znakPoZnakNizCelija(Lista,'AE10',5,bezSeparatora(DataModule1.getParam('vrstaDjelatnosti_staraSifra')));
znakPoZnakNizCelija(Lista,'AE11',4,bezSeparatora(DataModule1.getParam('vrstaDjelatnosti_novaSifra')));
znakPoZnakNizCelija(Lista,'AE12',3,DataModule1.getParam('opcina'));
pomSP := TSintetickiPodatak.Create('AE13',DataModule1.getParam('nazivBanka1')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AE14',16,DataModule1.getParam('racunBanka1'));
pomSP := TSintetickiPodatak.Create('AE15',DataModule1.getParam('nazivBanka2')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AE16',16,DataModule1.getParam('racunBanka2'));
pomSP := TSintetickiPodatak.Create('AE17',DataModule1.getParam('nazivBanka3')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AE18',16,DataModule1.getParam('racunBanka3'));
end else begin // udruženja:
pomSP := TSintetickiPodatak.Create('AB3',DataModule1.getParam('racunovodja_brDozvole')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('AM3',DataModule1.getParam('racunovodja_brTelefona')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB4',13,DataModule1.getParam('racunovodja_JMB'));
pomSP := TSintetickiPodatak.Create('AF5',DataModule1.getParam('racunovodja_email')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB8',13,DataModule1.getParam('JIB_JMB'));
znakPoZnakNizCelija(Lista,'AB10',5,bezSeparatora(DataModule1.getParam('vrstaDjelatnosti_staraSifra')));
znakPoZnakNizCelija(Lista,'AB11',4,bezSeparatora(DataModule1.getParam('vrstaDjelatnosti_novaSifra')));
znakPoZnakNizCelija(Lista,'AB12',3,DataModule1.getParam('opcina'));
pomSP := TSintetickiPodatak.Create('AB13',DataModule1.getParam('nazivBanka1')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB14',16,DataModule1.getParam('racunBanka1'));
pomSP := TSintetickiPodatak.Create('AB15',DataModule1.getParam('nazivBanka2')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB16',16,DataModule1.getParam('racunBanka2'));
pomSP := TSintetickiPodatak.Create('AB17',DataModule1.getParam('nazivBanka3')); Lista.Add(pomSP);
znakPoZnakNizCelija(Lista,'AB18',16,DataModule1.getParam('racunBanka3'));
end;
pomSP := TSintetickiPodatak.Create('F11',DataModule1.getParam('firma_kanton')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F19',DataModule1.getParam('emailFirme')); Lista.Add(pomSP);
pomSP := TSintetickiPodatak.Create('F20',DataModule1.getParam('telefonFirme')); Lista.Add(pomSP);

end else begin
...