Uživatelské nástroje

Nástroje pro tento web


ruzne:eet

Rozdíly

Zde můžete vidět rozdíly mezi vybranou verzí a aktuální verzí dané stránky.

Odkaz na výstup diff

Obě strany předchozí revizePředchozí verze
Následující verze
Předchozí verze
ruzne:eet [2017/02/27 12:52] – [Varianta 2 - nevizuální daemon na serveru Linux] Karel Petrůruzne:eet [2020/01/21 08:11] (aktuální) – [Kontrolní SQL v nočních přepočtech] Karel Petrů
Řádek 33: Řádek 33:
   * nakonec se vytiskne tisková sestava v dokladech **Příjmový/výdajový doklad** resp. **Pokladní doklad k faktuře** v úhradách, kde budou v případě zaregistrování platby vytištěny požadované údaje EET   * nakonec se vytiskne tisková sestava v dokladech **Příjmový/výdajový doklad** resp. **Pokladní doklad k faktuře** v úhradách, kde budou v případě zaregistrování platby vytištěny požadované údaje EET
   * doklad reps. úhradu spárovanou s registrovanou tržbou nelze v OBISu smazat   * doklad reps. úhradu spárovanou s registrovanou tržbou nelze v OBISu smazat
 +
 +===== Nastavení číselníku DPH pro EET =====
 +
 +  * číselník DPH musí mít vyplněn sloupec **Kód přiznání DPH**
 +  * pro běžné sazby je to kód **vyssi** resp. **nizsi**
 +  * **zaokrouhlení** musí mít **sazbu DPH nevyplněnu** (tj. prázdno a nikoliv hodnota 0)
 +  * pro přenesenou daňovou povinnost kód **prenesenidod**
 +  * penále/pokuty s 0 DPH kód **dodaniost**
 +  * dárkové poukazy na neurčené zboží/služby DPH prázdno "", kód **cerpzuct**
  
 =====Postup pro prodejny===== =====Postup pro prodejny=====
Řádek 57: Řádek 66:
  
 [[http://www.etrzby.cz/cs/odkdy-evidovat-trzby]] [[http://www.etrzby.cz/cs/odkdy-evidovat-trzby]]
 +
 +===== Tiskárna pokladních dokladů =====
 +
 +Je požadována tiskárna podporující {{:ruzne:escpos.pdf|ESC/POS}} a virtuální nebo fyzický COM port.
 +
 +==== Postup pro Epson TM-T20II ====
 +
 +  * připojit přes USB
 +  * vytvořit {{:ruzne:tmvirtualportdriver850a.zip|virtuální com port}} (ve Win10 bylo nutné aktualizovat ovladač v seznamu zařízení)
 +  * nastavit rawprint v apps.xml
 +  * zaregistrovat EET pomocí lok. menu v hotovostním dokladu a vytisknout system report z faktur **Prodejka na pokladní tiskárnu**
 +  * pro automatickou registraci vytvořit kopii prodejky a do typu tisku vložit následující LUA kód:
 +
 +''@cf.trydofile(LUADIR().."faktury/faktury_faktury-reports.lua") faktury_faktury.reports.TiskDokladuRegistraceEET(DSI, Form, Action, ReportName, Use, Name, true)''
 +
 +==== apps.xml ====
 +
 +<code xml>
 +  <App Name="raw_print_print">
 +    <Command Platform="Windows">cmd /c "copy %s com4:"</Command>
 +  </App>
 +  <App Name="raw_print_preview">
 +    <Command Platform="Windows">notepad "%s"</Command>
 +  </App>
 +</code>
 +
  
 ===== Automatická kontrola a odeslání neodeslaných EET tržeb ===== ===== Automatická kontrola a odeslání neodeslaných EET tržeb =====
Řádek 70: Řádek 105:
   * vytvořit uživatele **Eet**, odemknout certifikát, nastavit [[firebird:setenv|setenv.sh]]   * vytvořit uživatele **Eet**, odemknout certifikát, nastavit [[firebird:setenv|setenv.sh]]
   * testovací neregistrovanou tržbu lze vytvořit pokud se dočasně nastaví proměnná: faktury_eet.URL=""   * testovací neregistrovanou tržbu lze vytvořit pokud se dočasně nastaví proměnná: faktury_eet.URL=""
-  * cron: ''45 7-18 * * *   obis  /home/common/obis5/user/scripts/eetsend.sh''+ 
 +=== cron.d/obis === 
 +<code> 
 + 45 7-18 * * *   obis  $SCRIPTSDIR/eetsend.sh || echo "EET send error" 
 + 45 6 * * 1-5   obis  $SCRIPTSDIR/eetsend.sh eetadmin@domain.cz 
 +</code>
  
 === Práva pro skupinu Eet === === Práva pro skupinu Eet ===
Řádek 95: Řádek 135:
 . `dirname $0`/setenv.sh . `dirname $0`/setenv.sh
 USER=Eet USER=Eet
-PASSWORD=""+PASSWORD=$EETPASS
 DATANAME="data" DATANAME="data"
  
Řádek 120: Řádek 160:
 assert(not faktury_eet.NeedAskPassword(),'NENI ODEMCENY CERTIFIKAT') assert(not faktury_eet.NeedAskPassword(),'NENI ODEMCENY CERTIFIKAT')
 DEBUG:Add(osex.date()) DEBUG:Add(osex.date())
-faktury_eet.SendSavedTrzba(DEBUG)"+local cert, key = faktury_eet.GetCertAndKey() 
 +local ret, DaysRemain = faktury_eet.CheckCert(cert, DEBUG) 
 +local Ok, tSendIDs=faktury_eet.SendSavedTrzba(DEBUG) 
 +faktury_eet.RecalcSrcDokl(tSendIDs, DEBUG) 
 +if not Ok then error('faktury_eet.SendSavedTrzba not Ok') end"
 <EOF/> <EOF/>
 Exit Exit
Řádek 135: Řádek 179:
 echo `date` >> $LOGDIR/$LOG echo `date` >> $LOGDIR/$LOG
 cat $LOGDIR/$LOG.daily >> $LOGDIR/$LOG cat $LOGDIR/$LOG.daily >> $LOGDIR/$LOG
 +
 +#kontrola a warningy emailem
 +if [ -n "$1" ]; then
 +  egrep "(CW:|W:|E:)" $LOGDIR/$LOG.daily  > /tmp/$$
 +  [ -s /tmp/$$ ] && cat /tmp/$$ | mail -s 'Chyby EET send' $1
 +  rm /tmp/$$
 +fi
 +
 exit $STATUS exit $STATUS
 </code> </code>
Řádek 140: Řádek 192:
 ==== Kontrolní SQL v nočních přepočtech ==== ==== Kontrolní SQL v nočních přepočtech ====
  
-=== prepocet.sh ===+  * **scripts/[[firebird:setenv|setenv.sh]]** 
 +  * cron.d/obis: ''04 06   * * * obis /home/obis/obis5/user/scripts/showeet.sh kontrola || echo "chyba showeet.sh"'' 
 +  * ruční ověření: /home/obis/obis5/user/scripts/showeet.sh 
 + 
 +=== showeet.sh ===
  
 <code bash> <code bash>
-#doplnit +#!/bin/sh 
-echo "select porad_cisdat_odesl from faktury_eet where COALESCE(faktury_eet.fik'') = '' and COALESCE(faktury_eet.overeni, 00;" | \ + 
-  $FIREBIRD/bin/isql -u sysdba -p $ISC_PASSWORD -i $SCRIPTDIR/eet_kontrola.sql $SERVER:$DATABASEPATH/$DATADB > /tmp/$$ +#ROOTDIR,FIREBIRD,SCRIPTSDIR,DATAFILES 
-[ -s /tmp/$] && cat /tmp/$| mail -s 'Neodeslane EET doklady' $MAILTO +. `dirname $0`/setenv.sh 
-rm /tmp/$$+MAILTO=jmeno@domain.cz 
 + 
 +for DATA in $DATAFILESdo 
 +  if [ "$1" != "kontrola" ]; then 
 +    echo 
 +    echo DATA $DATA 
 +    $FIREBIRD/bin/isql -u sysdba -p $ISC_PASSWORD -i $SCRIPTSDIR/eet.sql $DATABASEPATH/$DATA 
 +  fi 
 +  $FIREBIRD/bin/isql -u sysdba -p $ISC_PASSWORD -i $SCRIPTSDIR/eet_kontrola.sql $DATABASEPATH/$DATA $ROOTDIR/log/eet_kontrola_$DATA.daily.log 
 +  if [ "$1" != "kontrola" ]; then 
 +    echo KONTROLA historie 
 +    tail -n7 $ROOTDIR/log/eet_kontrola_$DATA.log 
 +    echo KONTROLA aktualne 
 +    cat $ROOTDIR/log/eet_kontrola_$DATA.daily.log 
 +  else 
 +    [ -s $ROOTDIR/log/eet_kontrola_$DATA.daily.log ] && cat $ROOTDIR/log/eet_kontrola_$DATA.daily.log | mail -s "Chyby EET $DATA" $MAILTO 
 +    echo "showeet.sh kontrola `date`" >>$ROOTDIR/log/eet_kontrola_$DATA.log 
 +    cat $ROOTDIR/log/eet_kontrola_$DATA.daily.log >> $ROOTDIR/log/eet_kontrola_$DATA.log 
 +  fi 
 +done 
 +</code> 
 + 
 +=== eet_kontrola.sql === 
 + 
 +<code SQL> 
 +select 'NEODESLANE CHYBI FIK:', porad_cis, dat_odesl from faktury_eet  
 +  where COALESCE(faktury_eet.fik, '') = '' and COALESCE(faktury_eet.overeni, 0) = 0 
 +  and dat_trzby>'1.3.2017'; 
 + 
 +select 'OVEROVACI MOD:', count(porad_cis) from faktury_eet  
 +  where COALESCE(faktury_eet.overeni, 0) = 1 
 +  and dat_trzby>'1.3.2017' 
 +group by 1; 
 + 
 +select 'CHYBI FIK:', count(porad_cis) from faktury_eet  
 +  where COALESCE(faktury_eet.fik, '') = '' 
 +  and dat_trzby>'1.3.2017' 
 +group by 1; 
 + 
 +select 'ZMENA CENY DOKLAD:', e.porad_cis, e.dat_odesl, e.celk_trzba, f.cenakuhrade 
 +  from faktury_eet e 
 +  join faktury_faktury f on f.idfaktura=e.porad_cis 
 +  where COALESCE(e.fik, '') <> '' and COALESCE(e.overeni, 0) = 0 
 +  and abs(coalesce(f.cenakuhrade,0) - coalesce(e.celk_trzba,0))>
 +  and coalesce(f.priznak,'') not like '%N%' 
 +  and e.dat_trzby>'1.3.2017' 
 +  and e.typdokl='F'; 
 + 
 +select 'ZMENA CENY UHRADA:', e.porad_cis, e.dat_odesl, e.celk_trzba, u.celkem 
 +  from faktury_eet e 
 +  join faktury_uhrhl u on u.iduhrdokl=e.porad_cis 
 +  where COALESCE(e.fik, '') <> '' and COALESCE(e.overeni, 0) = 0 
 +  and abs(coalesce(u.celkem,0) - coalesce(e.celk_trzba,0))>
 +  and coalesce(u.priznak,'') not like '%N%' 
 +  and e.dat_trzby>'1.3.2017' 
 +  and e.typdokl='U'; 
 + 
 +select 'ZMENA ZAKLADU VYDEJKA:', e.porad_cis, e.dat_odesl, e.zakl_dan1, e.zakl_dan2, e.zakl_dan3, p.cenapol 
 +  from faktury_eet e 
 +  join sklad_prijemky p on p.idprijemka=e.porad_cis 
 +  where COALESCE(e.fik, '') <> '' and COALESCE(e.overeni, 0) = 0 
 +  and e.dat_trzby>'1.3.2017' 
 +  and abs(coalesce(p.cenapol,0) - coalesce(e.zakl_dan1,0) - coalesce(e.zakl_dan2,0) - coalesce(e.zakl_dan3,0) )>1 
 +  and coalesce(p.priznak,'') not like '%N%' 
 +  and e.typdokl='P'; 
 + 
 +select 'ZMENA CENY VYDEJKA:', e.porad_cis, e.dat_odesl, e.celk_trzba, p.cenasdph 
 +  from faktury_eet e 
 +  join sklad_prijemky p on p.idprijemka=e.porad_cis 
 +  where COALESCE(e.fik, '') <> '' and COALESCE(e.overeni, 0) = 0 
 +  and e.dat_trzby>'1.3.2017' 
 +  and abs(coalesce(p.cenasdph,0) - coalesce(e.celk_trzba,0) )>1 
 +  and coalesce(p.priznak,'') not like '%N%' 
 +  and e.typdokl='P'; 
 +</code> 
 + 
 +=== eet.sql === 
 + 
 +<code sql> 
 +select count(*) as CELKEM from faktury_eet where coalesce(overeni,0) = 0 and dat_trzby>'1.3.2017'; 
 +select count(*) as OVEROVACI_MOD from faktury_eet where coalesce(overeni,0) = 1 and dat_trzby>'1.3.2017'; 
 +select count(*) as CENA_NULA from faktury_eet where celk_trzba =0 and dat_trzby>'1.3.2017'; 
 +select count(*) as KREGISTRACI from faktury_eet where COALESCE(faktury_eet.fik, '') = '' and COALESCE(faktury_eet.overeni, 0) = 0; 
 +select e.id_pokl, u.idvyridil, count(e.id_pokl) as POCET_REGISTRACI from faktury_eet e 
 +  left join common_uzivatele u on u.uid=e.id_pokl 
 +  where COALESCE(e.overeni, 0) = 0 
 +   and dat_trzby>'1.3.2017' 
 +  group by 1,2; 
 +select first 1 porad_cis, fik, dat_odesl as LASTREG from faktury_eet where coalesce(overeni,0) = 0 order by dat_odesl desc;
 </code> </code>
  
 +=== Zjisteni hesla k odemceneho certifikatu ===
  
 +  * prihlasit jako user: print(ClientSession:UserDecryptString(ClientSession:GetOption("FakturyDM.EET_EncryptedPassword")))
  
ruzne/eet.1488199924.txt.gz · Poslední úprava: 2017/02/27 12:52 autor: Karel Petrů