/
Dobavitelji (tiskanje 2D kode)

Dobavitelji (tiskanje 2D kode)

1) Uporaba postopka

Če želimo za določenega kupca izpisovati AR kodo, ga je potrebno v tipu subjekta uvrstiti v AbsoluteRead skupino, tako kot je to prikazano na spodnji sliki (ni nujno da je AbsoluteRead primarna skupina, tako da ta nastavitev ne vpliva na obstoječe stanje).

Nato lahko odpremo dobavnico/račun, kjer se samo na izbranih subjektih spremeni razporeditev gumbov za tiskanje dokumentov, tako kot je prikazano na spodnji sliki. V primeru tiskanja AR kode izberemo iz padajočega menija tip izpisa in kliknemo na gumb AR.

  • Primer za tip dokumenta: "Blago -> Izdaja -> Dokument"


(Sprememba postavitve gumbov se zgodi samo na dokumentih, kjer imamo za prejemnika označeno tiskanje AR kode)

  • Primer za tip dokumenta: "Blago -> Izdaja -> Interno"


(Sprememba postavitve gumbov se zgodi samo na dokumentih, kjer imamo za prejemnika označeno tiskanje AR kode)

Izvoz v PDF

Pogosto se zgodi, da želite izvoziti pantheon dokumente v pdf obliko, vendar pa je potrebno v primeru AR kode v šifrantu nastaviti bolj kakovosten izvoz, kot je le ta privzeto. To naredimo na sledeč način:

  • odpremo željeni izpis in kliknemo na spodnji gumb


  • odpre se nam šifrant izpisov, kjer obkljukamo možnost "Optimiziran izvoz v PDF" in spremembo shranimo s klikom na kljukico (oz. zapremo formo).

2) Namestitev postopka

Postopek lahko prenesete na tej povezavi. Namestite ga lahko po navodilih prikazanih na spodnjem video prikazu:

 

3) Konfiguracija postopka

Postopek se nastavi avtomatično, spremenimo lahko sledeče:

  • Prikaz gumba za tiskanje AR kode. Če želimo da se na formi izdanih računov prikaže gumb za tiskanje AR izpisov je potrebno pri kupcu v tipu subjekta izbrati AbsoluteRead (koda AbsoluteRead se doda avtomatično v šifrant ko prvič odpremo formo izdanih računov). Ni nujno da je AbsoluteRead primarni tip (lahko imamo več različnih tip-ov). Primer je prikazan na zgornji sliki v menijski postavki "1) Uporaba postopka".

    Funkcija ki se izvede pri preverjanju ali je za subjekt potreben izpis AR kode.

    SQL Koda (_fPL_ARIs)
    ALTER function [dbo].[_fPL_ARIs](@acSubject    char(30))
    returns char(1)
    as
    begin
        declare @cReturn char(1)
        if exists(select * from tHE_SubjType where acSubject = @acSubject and acSubjType = 'AbsoluteRead')
            set @cReturn = 'T'
        else
            set @cReturn = 'F'
        
        return(@cReturn)
    end

    Če želite, da se AR koda prikazuje pri vseh subjektih lahko privzeto funkcijo nadomenstite z spodnjo.

    SQL Koda (_fPL_ARIs)
    ALTER function [dbo].[_fPL_ARIs](@acSubject    char(30))
    returns char(1)
    as
    begin
        return('T')
    end
  • Lokacija za odlaganje začasnih datotek
    Ob zagonu se preveri 11 različnih poti (C:\Datalab, d:\Datalab, e:\Datalab, C:\Program Files\Datalab, C:\Program Files (x86)\DataLab, C:\, D:\, E:\, lokacija iz katere je bil zagnan pantheon, uporabniški začasni direktorij (samo v primeru da pot ne vsebuje posebnih znakov kot so ščž~...) ) in če v nobeni od preddefiniranih poti nima dostopa za pisanje javi napako. V tem primeru lahko v jezičku Kriteriji ročno določimo pot kamor naj se odložijo začasne datoteke.Pot vpišemo v polje obkroženo polje in na koncu potrdimo spremembe s klikom na kljukico.

  • EAN koda artikla, ki se zapiše v 2D sliko produkta. Funkcija, ki poskrbi za to je _fPL_GetEANCode, ki se lahko spremenimo glede na potrebe posamezne stranke (ob ponovni namestitvi modula se funkcija ne prepiše).

    SQL Koda (_fPL_GetEANCode)
    ALTER function [dbo].[_fPL_GetEANCode](@acIdent char(16))
    returns varchar(25)
    as
    begin
        declare @acEAN varchar(25)
        select @acEAN = ltrim(rtrim(acCode))
            from tHE_SetItem
                where acIdent = @acIdent
        
        if len(isnull(@acEAN,'')) < 8
            select top 1 @acEAN = ltrim(rtrim(acCode))
                from tHE_SetItemExtItemSubj
                    where acIdent = @acIdent
                    and len(ltrim(rtrim(acCode))) < 14 
                    and len(ltrim(rtrim(acCode))) > 7 
                        order by len(acCode) desc
        
        if isnull(@acEAN,'') = ''
           set @acEAN = @acIdent
    
    	return(isnull(@acEAN,''))
    end

4) Konfiguracija izpisov

Ob inštalaciji se namestijo 4-je izpisi, dve dobavnici in dva računa. PD1 in PR1 vpisujeta AR kodo v glavo dokumenta, vendar samo v primeru da je v sliki samo en kvadrat. V primeru da je v sliku več kot en kvadrat, se slika avtomatično prikaže v nogi dokumenta. V dokumentih PD2 in PR2 se slika vedno prikazuje v nogi, ne glede na velikost slike oz. števila kvadratov v sliki.


Če želimo AR kodo dodati na obstoječ izpis je potrebno narediti sledeče: Hitra navodila se nahajajo tudi v jezičku Opomba znotraj postopka.

Malo bolj obsežna navodila:

1) V šifrantu izpisov znotraj jezička Opis vpišemo tekst AbsoluteRead, tako kot prikazuje slika (zaradi tega se izpis prikaže kot postavka v padajočem meniju na sliki 2)

2) Kliknete na oblikuj izpis

3) v glavo dokumenta dodajte sliko z imenom _AR_Picture_header
V object explorerju za sliko nastavite sledeče vrednosti: Name = _AR_Picture_header Height = 4,00(višina mora biti obvezno 4) Width = 9,00 oz. 4,00 (samo ti dve vrednosti sta dovoljeni). Če je vrednost 9 potem bosta v glavi prikazana maksimalno 2 kvadrata, če je vrednost 4 bo v glavi prikazan maksimalno 1 kvadrat. Left = 5,90 (Priporočena vrednost)

4) V nogi izpisa dodaj child band z imenom _AR_footer

In v band dodamo sliko z imenom _AR_Picture_footer (dimenzije niso pomembne, ker se nastavijo avtomatično, glede na velikost slike).


5) Na izpisu se premaknite na jeziček Code

6) Znotraj jezička Code se čisto na dnu nahajata besedici begin in end, tako kot prikazuje spodnja slika (tudi če je znotraj begin in end že kaj vpisano to ne vpliva na prikaz AR kode)


5) Znotraj begin in end vpišite »AR_CODE_SET;« tako kot prikazuje spodnja slika

6) Takoj nad begin skopirajte spodnjo funkcijo, ki se nahaja tudi v vseh privzetih izpish  (PD1, PD2, PR1 in PR2).

 procedure AR_CODE_SET;
  var vVariable: Variant;
       cOK, cFileLink, cShowOnlyInFotter: String;
       nRows, nColumns, nHeaderBoxes: Integer;
  begin    
       vVariable := [GetGlobalVariable('ar.ok')];
       SetGlobalVariable('ar.ok','F');           
       cOK := VarToStr(vVariable[0]);
       vVariable := [GetGlobalVariable('ar.rows')];      
       nRows := StrToInt(VarToStr(vVariable[0]));
       vVariable := [GetGlobalVariable('ar.columns')];  
       nColumns := StrToInt(VarToStr(vVariable[0]));
       // ČE JE T SE KVADRAT NE BO PRIKAZAL V GLAVI DOKUMENTA
       cShowOnlyInFotter := 'F';
       // ŠTEVILO KVADRATOV V GLAVI DOKUMENTA                                                                                        
       if Round(_AR_Picture_header.width/fr1cm) = 9 then nHeaderBoxes := 2
       else nHeaderBoxes := 1;                           
       // showmessage(nBoxes);
       if cOK = 'T' then begin
               // showmessage('OK');
               vVariable := [GetGlobalVariable('ar.bmp.path')];                   
               cFileLink := VarToStr(vVariable[0]);
               if (nRows = 1) and (nColumns <= nHeaderBoxes) and (cShowOnlyInFotter = 'F') then begin
                      _AR_footer.visible := False;
                      _AR_Picture_header.Visible := True;                                                   
                      // _AR_Picture_header.Left := fGlava.Left + fGlava.Width + 1;                                                  
                      _AR_Picture_header.LoadFromFile(cFileLink);
                          
               end else begin
                       // KOLIKO JE ODMAKNJENO OD LEVEGA ROBA                                                                                                                                     
                       if Page1.LeftMargin > 10
                       then _AR_Picture_footer.left := 0
                       else _AR_Picture_footer.left := 1 * fr1cm;
                   
                       // ODMIK OD ZGORNJEGA ROBA                                                                                    
                       _AR_Picture_footer.Top := 1 * fr1cm;
                       // ODMIK OD DESNEGA ROBA OZ. ŠIRINA
                       if Page1.RightMargin > 10
                       then _AR_Picture_footer.width := _AR_footer.Width - _AR_Picture_footer.left                    
                       else _AR_Picture_footer.width := _AR_footer.Width - _AR_Picture_footer.left - (1 * fr1cm);    
                                    
                       // ENA VRSTICA                                                                                                                       
                       if nRows = 1 then begin
                               _AR_footer.Height := 6 * fr1cm;                           
                               _AR_Picture_footer.Height := 4 * fr1cm;
                       // DVE VRSTICI                                                                                                                                           
                       end else if nRows = 2 then begin
                               _AR_footer.Height := 11 * fr1cm;
                               _AR_Picture_footer.Height := 9 * fr1cm;                                   
                       end else if nRows = 3 then begin
                               _AR_footer.Height := 16 * fr1cm;
                               _AR_Picture_footer.Height := 14 * fr1cm;
                       end else begin              
                               _AR_footer.Height := 21 * fr1cm;
                               _AR_Picture_footer.Height := 19 * fr1cm;                                   
                       end;
                       _AR_Picture_footer.LoadFromFile(cFileLink);                           
               end;
               // showmessage(Page1.Width);                                             
       end else begin
               showmessage('Pri generiranju AR kode je prišlo do napake !');                                                          
       end;                   
  end;


Primer v glavi dokmenta:

Primer v nogi dokmenta:


 

Related content