Priprava izpisa za fiskalizacijo
Preoblikovanje uporabniških izpisov zaradi slovenske fiskalizacije
V kolikor želimo oblikovati izpise za fiskalizacijo je potrebno imeti verzijo Pantheona 556950 ali 556960.
Izpisi, ki jih je potrebno preoblikovati
Izpisi, na katerih je potrebno prikazati podatke za fiskalizacijo, so izpisi računov za izdajo blaga, lastno porabo, izpisi prejetih avansov ter izpisi POS računov, in sicer so to naslednji uporabniški izpisi:
Na dokumentih izdanih računov in lastne porabe:
-
Račun (241)
-
Račun v domači valuti (245)
-
Račun po dobavnicah (2UO)
-
Račun za lastno porabo (24B)
Na dokumentih prejetih avansov:
Na dokumentih POS računov:
-
POS račun A4 (271)
-
POS račun termalni (290)
Podatkov za fiskalizacijo NE prikazujemo na naslednjih vrstah izpisov, ki se odpirajo iz dokumentov izdanih računov:
-
Dobavnica (140)
-
Tovorni list (242)
-
Prevzemni list (298)
Vse izpise, ki jih je potrebno preoblikovati, najdemo s spodnjo poizvedbo.
select acFormName, acReport, acName, case when acActive = 'T' then 'Aktiven' else 'Neaktiven' end active from tpa_reports
where acReport >= 'A00' and
acFormName in ('PrometIzdDobIzpisRac', 'PrometIzdDobIzpisRacDV', 'PrometIzdDobIzpisDob', 'PrometAvansIzpisRac', 'PrometAvansIzpisRacDV', 'PrometPosIzpisRac', 'PrometPosIzpisTermalni')
order by acFormName, acReport
Navodila za preoblikovanje izpisov
Predlagamo vam, da si pripravite predlogo oblike izpisov, ki jih potem kopirate na uporabniške izpise. Na spodnjih slikah so z rumeno označeni podatki na izpisu, katere potrebujete, da je izpis skladen z zahtevami za fiskaliziran račun.


Dodajanje traku za fiskalizacijo
Svetujemo vam, da pas (Child bZIKJIR) kopirati iz sistemskih izpisov, ki so že prilagojeni in vsebujejo ustrezne podatke za fiskalizacijo. Ko na izpis dodamo band s podatki za fiskalizacijo bZIKJIR, se največkrat podre zaporedje izpisa Child bandov, kar pomeni zato ga je potrebno popraviti. Zapišimo si, kateri band je bil prej povezan z bandom bNacinPlacI, na POS računih pa bNacinPlacI. Največkrat je to band z imenom DetailFooter2 ali bEmpty. Bandu bNacinPlacI oz. bNacinPlacI nastavimo lastnost Child na bZIKJIR. Bandu bZIKJIR in nato za lastnost Child nastavimo DetailFooter2.

Dodajanje kode na izpis
V kodo na izpisu dodamo proceduro ali z njo zamenjamo že obstoječo
procedure bZIKJIROnBeforePrint(Sender: TfrxComponent);
var
S: String;
function ControlNumber(Str: String): String;
var
i, n: Integer;
begin
n := 0;
for i := 1 to Length(Str) do
n := n + dlStrToIntDef(Str[i],0);
Result := IntToStr(n mod 10);
end;
begin
CallQRBeforeBandPrint(Sender, TfrxBand(sender).visible);
Barcode.Visible := (fZIK.Lines[0] <> '');
if BarCode.Visible then
begin
S := StrHexaToUInt64Str(fZIK.Lines[0]);
while Length(S) < 39 do S := '0' + S;
S := S + SQLExp('select acCode from tHE_SetSubj where acSubject = ' + dlQuotedStr(<tbParameter."acOurCompany">) + '');
S := S + dlStringReplace(SQLExp('select (convert(varchar, adDateTimePrint, 112) + convert(varchar, adDateTimePrint, 108)) from tHE_Move where acKey = ' + dlQuotedStr(<qReportIzpisD."acKey">) + ''),':','','rfReplaceAll','');
S := S + VarToStr(ControlNumber(S));
Barcode.Barcode := S;
end;
end;

Termalni – POS izpisi
Enako kot za A4 izpise, se tudi za termalne (POS izpise) uporabi enak postopek kot na A4 izpisih. Na slikah so pasovi, ki jih je potrebno kopirati na svoj uporabniški izpis.

