Nasze funkcje

Czyli pomysły na ulepszanie dobrego.

Re: Nasze funkcje

Postautor: miomi » 18 maja 2020 11:47

arybski pisze:Pewnie większość już sobie poradziła.
Dla podanego okresu w wypłacie i zadania funkcja pobiera kwotę wynagrodzenia i zus. (dla dokumentu IFA_UNI_DECYZJA).
Pewnie tak.. ale miło że się dzielisz :) :piwko:
miomi
Specjalista
Specjalista

Re: Nasze funkcje

Postautor: Grzechu » 01 cze 2020 12:22

Ja pojechałem trochę po bandzie, i dość mocno to "skomplikowałem", ale za to mam niemal uniwersalny jeden szablon i jedną funkcję.
Niemal, bo jednak dla mikropożyczek musiałem dorobić osobny szablon - ze względu na "drugą stronę opisową" według wymagań księgowości i pań "od wniosków".

Dla "wychwycenia" kwot rozbitych na wynagrodzenia i na ZUS dla wniosków CovWynP i CovWynO wykorzystałem dane z... dokumentów księgowych :)
Skutek jest oczywiście taki, że przed wydrukiem dokumentu trzeba wykonać najpierw "Prześlij do FK".

Tak wyglądają te dokumenty:
Lista rodzajów i wariantów.png

Tak wygląda opis funkcji i użyte parametry - te z podkreśleniem na początku nazwy trzeba wcześniej dodać w zakładce "Lista parametrów", oznaczając je jako dla RODZAJU, oraz odpowiednio ustawić typ, a potem dodać jako parametry wyjściowe funkcji:
parametry do dodania.png

Funkcja - trzeba pozmieniać kody programu na swoje własne, a jeśli są jakieś dodatkowe, to również je dodać w sposób analogiczny.
Trzeba też sprawdzić i ewentualnie dostosować wartości parametrów i mnożniki w częściach "//podział procentowy" i "//Kwoty".
Do zmiany mogą być też parametry z opisem poszczególnych programów.
No i najważniejsze - z już gotowych dokumentów księgowych trzeba "wyłuskać" identyfikatory kont:
FK->Obroty->Dokumenty księgowe->wskazać odpowiedni dokument->Dekrety->klik prawym na liście->zaznaczyć "oczko" na id_konta_ma
Wyświetlone wartości należy wpisać z przecinkami do parametrów $_id_kont_wyn$ i $_id_kont_zus$ w zależności od programu i rodzaju wniosku.
Kod: Zaznacz cały
$_opis_programu$ = '' ;
$_wydatek_kwalif_wynagrodzenie$ = 0.00 ;
$_wydatek_kwalif_zus$ = 0.00 ;
$_artykul$ = '' ;
$_tytul_wyplaty$ = '' ;
$_opis_wyplaty$ = '' ;
$_id_kont_wyn$ = '' ; //tutaj nie wpisywać identyfikatorów kont!
$_id_kont_zus$ = '' ; //tutaj nie wpisywać identyfikatorów kont!
$_tekst_podzial_wydatku$ = '' ;

//==============================================================================================//
//OKREŚLENIE TYPU REFUNDACJI, DANYCH OPISOWYCH DO TEGO TYPU ORAZ DANYCH DO PÓŹNIEJSZYCH SELEKCJI//
//==============================================================================================//
sql1 = ""
+ "SELECT wk_wn_ref.kod_ref "
+ "FROM wk_wn_ref "
+ "WHERE wk_wn_ref.nr_wniosku = '" + $nrwniosku$ + "' " ;

tab = run.SQL(sql1) ;
typ_refundacji = tab.get(0,0) ;



//15zzb
if(typ_refundacji == 'CovWynP')
{
     $_artykul$ = "15zzb" ;
     $_tytul_wyplaty$ = "DOFINANSOWANIE CZĘŚCI KOSZTÓW WYNAGRODZEŃ PRACOWNIKÓW ORAZ NALEŻNYCH OD TYCH WYNAGRODZEŃ SKŁADEK NA UBEZPIECZENIA SPOŁECZNE W PRZYPADKU SPADKU OBROTÓW GOSPODARCZYCH W NASTĘPSTWIE WYSTĄPIENIA COVID-19 " ;
     $_opis_wyplaty$ = "dofinansowanie części kosztów wynagrodzeń pracowników oraz należnych od tych wynagrodzeń składek na ubezpieczenia społeczne w przypadku spadku obrotów gospodarczych w następstwie wystąpienia COVID-19." ;
     //POWER
     if($kodprogramu$ == '077')
     {
          //$_id_kont_wyn$ = "31333,31334" ; //KAS //nieaktualne
          //$_id_kont_zus$ = "31712,31713" ; //KAS //nieaktualne
          $_id_kont_wyn$ = "31330,31332" ; //MEM
          $_id_kont_zus$ = "31710,31711" ; //MEM
     }
     //RPO
     if($kodprogramu$ == '078')
     {
          //$_id_kont_wyn$ = "31296,31297" ; //KAS //nieaktualne
          //$_id_kont_zus$ = "31298,31299" ; //KAS //nieaktualne
          $_id_kont_wyn$ = "31291,31293" ; //MEM
          $_id_kont_zus$ = "31294,31295" ; //MEM
     }
}

//15zzc
if(typ_refundacji == 'CovDzG')
{
     $_artykul$ = "15zzc" ;
     $_tytul_wyplaty$ = "DOFINANSOWANIE CZĘŚCI KOSZTÓW PROWADZENIA DZIAŁALNOŚCI GOSPODARCZEJ DLA PRZEDSIĘBIORCY BĘDĄCEGO OSOBĄ FIZYCZNĄ NIEZATRUDNIAJĄCĄ PRACOWNIKÓW, W PRZYPADKU SPADKU OBROTÓW GOSPODARCZYCH W NASTĘPSTWIE WYSTĄPIENIA COVID-19 " ;
     $_opis_wyplaty$ = "dofinansowanie części kosztów prowadzenia działalności gospodarczej dla przedsiębiorcy będącego osobą fizyczną niezatrudniającą pracowników, w przypadku spadku obrotów gospodarczych w następstwie wystąpienia COVID-19." ;
     //POWER
     if($kodprogramu$ == '077')
     {
          //$_id_kont_wyn$ = "31163,31164" ; //KAS //nieaktualne
          //$_id_kont_zus$ = "999999999" ; //KAS //nieaktualne
          $_id_kont_wyn$ = "999999999" ; //MEM //nie dotyczy
          $_id_kont_zus$ = "999999999" ; //MEM //nie dotyczy
     }
     //RPO
     if($kodprogramu$ == '078')
     {
          //$_id_kont_wyn$ = "31156,31157" ; //KAS //nieaktualne
          //$_id_kont_zus$ = "999999999" ; //KAS //nieaktualne
          $_id_kont_wyn$ = "999999999" ; //MEM //nie dotyczy
          $_id_kont_zus$ = "999999999" ; //MEM //nie dotyczy
     }
}

//15zzd
if(typ_refundacji == 'CovPoz')
{
     $_artykul$ = "15zzd" ;
     $_tytul_wyplaty$ = "POŻYCZKA NA POKRYCIE BIEŻĄCYCH KOSZTÓW PROWADZENIA DZIAŁALNOŚCI GOSPODARCZEJ MIKROPRZEDSIĘBIORCY " ;
     $_opis_wyplaty$ = "udzielenie pożyczki na pokrycie bieżących kosztów prowadzenia działalności gospodarczej mikroprzedsiębiorcy." ;
     //POWER
     if($kodprogramu$ == '077')
     {
          $_id_kont_wyn$ = '' ; //nie dotyczy
          $_id_kont_zus$ = '' ; //nie dotyczy
     }
     //RPO
     if($kodprogramu$ == '078')
     {
          $_id_kont_wyn$ = '' ; //nie dotyczy
          $_id_kont_zus$ = '' ; //nie dotyczy
     }
}

//15zze
if(typ_refundacji == 'CovWynO')
{
     $_artykul$ = "15zze" ;
     $_tytul_wyplaty$ = "DOFINANSOWANIE ORGANIZACJI POZARZĄDOWEJ CZĘŚCI KOSZTÓW WYNAGRODZEŃ PRACOWNIKÓW ORAZ NALEŻNYCH OD TYCH WYNAGRODZEŃ SKŁADEK NA UBEZPIECZENIA SPOŁECZNE W PRZYPADKU SPADKU PRZYCHODÓW Z DZIAŁALNOŚCI STATUTOWEJ W NASTĘPSTWIE WYSTĄPIENIA COVID-19 " ;
     $_opis_wyplaty$ = "dofinansowanie organizacji pozarządowej części kosztów wynagrodzeń pracowników oraz należnych od tych wynagrodzeń składek na ubezpieczenia społeczne w przypadku spadku przychodów z działalności statutowej w następstwie wystąpienia COVID-19." ;
     //POWER
     if($kodprogramu$ == '077')
     {
          $_id_kont_wyn$ = "32794,32796" ; //MEM
          $_id_kont_zus$ = "32797,32798" ; //MEM
     }
     //RPO
     if($kodprogramu$ == '078')
     {
          $_id_kont_wyn$ = "32803,32805" ; //MEM
          $_id_kont_zus$ = "32806,32807" ; //MEM
     }
}

//KONIEC OKREŚLENIA

//==============================================================================//
//WYLICZANIE PARAMETRÓW NA WYDRUKU W ZALEŻNOŚCI OD RODZAJU REFUNDACJI I PROGRAMU//
//==============================================================================//

//POWER
if($kodprogramu$ == '077')
{
$_opis_programu$ = "" ;
$_opis_programu_umowa$ = "UDA-POWR.01.01.01-22-0013/18-00" ;
$_opis_programu_zdnia$ = "z dnia 27.12.2018 z późn. zm." ;
$_opis_programu_podstawa$ = $_artykul$ + " ustawy z dnia 2 marca 2020 r. o szczególnych\nrozwiązaniach związanych z zapobieganiem, przeciwdziałaniem i zwalczaniem COVID-19, innych chorób\nzakaźnych oraz wywołanych nimi sytuacji kryzysowych (Dz.U. z 2020 r., poz. 568)" ;
$_opis_programu_dzialanie$ = "POWER nr 1.1 Wsparcie osób młodych pozostających bez pracy na regionalnym rynku pracy - \nprojekty pozakonkursowe "
+ '„' + "Aktywizacja osób młodych pozostających bez pracy w powiecie kwidzyńskim (IV)" + '”' ;
$_opis_programu_projektnr$ = "POWR.01.01.01-22-0013/18" ;

//podział procentowy
$_procent_efs$ = '84,28' ;
$_procent_kraj$ = '15,72' ;
//wspołfinansowanie
$_tekst_finansowanie$ = "Zatwierdzono do wypłaty w ramach projektu współfinansowanego ze środków Europejskiego Funduszu Społecznego." ;

//Kwoty
$_wyd_kwal_efs_85$ = ($kwotawyp$ * 0.8428).toFixed(2) ;
$_wyd_kwal_kraj_15$ = ($kwotawyp$ - $_wyd_kwal_efs_85$).toFixed(2) ;

//wynagrodzenie
sql1 = ""
+ "SELECT COALESCE(SUM(fk_dekret.kwota_wn),0.00) "
+ "FROM fk_dokument, fk_dowod, fk_dekret "
//+ "WHERE fk_dokument.nr_dokum_zrod = '" + $nrwyplaty$ + "-KAS' " //nieaktualne
+ "WHERE fk_dokument.nr_dokum_zrod = '" + $nrwyplaty$ + "-MEM' "
+ "AND fk_dokument.id_dokumentu = fk_dowod.id_dokumentu "
+ "AND fk_dowod.id_dowodu = fk_dekret.id_dowodu "
+ "AND fk_dekret.id_konta_wn IN(" + $_id_kont_wyn$ + ")" ;
//+ "AND (fk_dekret.id_konta_ma = 31333 OR fk_dekret.id_konta_ma = 31334)" ; //nieaktualne

tab = run.SQL(sql1) ;
$_wydatek_kwalif_wynagrodzenie$ = tab.get(0,0) ;

//ZUS
sql2 = ""
+ "SELECT COALESCE(SUM(fk_dekret.kwota_wn),0.00) "
+ "FROM fk_dokument, fk_dowod, fk_dekret "
//+ "WHERE fk_dokument.nr_dokum_zrod = '" + $nrwyplaty$ + "-KAS' " //nieaktualne
+ "WHERE fk_dokument.nr_dokum_zrod = '" + $nrwyplaty$ + "-MEM' "
+ "AND fk_dokument.id_dokumentu = fk_dowod.id_dokumentu "
+ "AND fk_dowod.id_dowodu = fk_dekret.id_dowodu "
+ "AND fk_dekret.id_konta_wn IN(" + $_id_kont_zus$ + ")" ;
//+ "AND (fk_dekret.id_konta_ma = 31712 OR fk_dekret.id_konta_ma = 31713)" ; //nieaktualne

tab = run.SQL(sql2) ;
$_wydatek_kwalif_zus$ = tab.get(0,0) ;
}

//RPO
if($kodprogramu$ == '078')
{
$_opis_programu$ = "WYDATEK BIEŻĄCY" ;
$_opis_programu_umowa$ = "UDA-RPPM.05.01.02-22-0003/19-00" ;
$_opis_programu_zdnia$ = "19.07.2019 z późn. zm." ;
$_opis_programu_podstawa$ = $_artykul$ + "  ustawy z dnia 2 marca 2020 r. o szczególnych\nrozwiązaniach związanych z zapobieganiem, przeciwdziałaniem i zwalczaniem COVID-19, innych chorób\nzakaźnych oraz wywołanych nimi sytuacji kryzysowych (Dz.U. z 2020 r., poz. 568)" ;
$_opis_programu_dzialanie$ = "RPOWP nr 5.1 Aktywizacja zawodowa osób bezrobotnych - projekty Powiatowych Urzędów\nPracy "
+  '„' + "Aktywizacja zawodowa osób bezrobotnych w powiecie kwidzyńskim (IV)" + '”' ;
$_opis_programu_projektnr$ = "RPPM.05.01.02-22-0003/19" ;

//podział procentowy
$_procent_efs$ = '85' ;
$_procent_kraj$ = '15' ;
//wspołfinansowanie
$_tekst_finansowanie$ = "Zatwierdzono do wypłaty w ramach projektu współfinansowanego ze środków Europejskiego Funduszu Społecznego oraz środków Funduszu Pracy." ;

//Kwoty
$_wyd_kwal_efs_85$ = ($kwotawyp$ * 0.85).toFixed(2) ;
$_wyd_kwal_kraj_15$ = ($kwotawyp$ - $_wyd_kwal_efs_85$).toFixed(2) ;

//wynagrodzenie
sql1 = ""
+ "SELECT COALESCE(SUM(fk_dekret.kwota_wn),0.00) "
+ "FROM fk_dokument, fk_dowod, fk_dekret "
//+ "WHERE fk_dokument.nr_dokum_zrod = '" + $nrwyplaty$ + "-KAS' " //nieaktualne
+ "WHERE fk_dokument.nr_dokum_zrod = '" + $nrwyplaty$ + "-MEM' "
+ "AND fk_dokument.id_dokumentu = fk_dowod.id_dokumentu "
+ "AND fk_dowod.id_dowodu = fk_dekret.id_dowodu "
+ "AND fk_dekret.id_konta_wn IN(" + $_id_kont_wyn$ + ")" ;
//+ "AND (fk_dekret.id_konta_ma = 31296 OR fk_dekret.id_konta_ma = 31297)" ; //nieaktualne

tab = run.SQL(sql1) ;
$_wydatek_kwalif_wynagrodzenie$ = tab.get(0,0) ;

//ZUS
sql2 = ""
+ "SELECT COALESCE(SUM(fk_dekret.kwota_wn),0.00) "
+ "FROM fk_dokument, fk_dowod, fk_dekret "
//+ "WHERE fk_dokument.nr_dokum_zrod = '" + $nrwyplaty$ + "-KAS' " //nieaktualne
+ "WHERE fk_dokument.nr_dokum_zrod = '" + $nrwyplaty$ + "-MEM' "
+ "AND fk_dokument.id_dokumentu = fk_dowod.id_dokumentu "
+ "AND fk_dowod.id_dowodu = fk_dekret.id_dowodu "
+ "AND fk_dekret.id_konta_wn IN(" + $_id_kont_zus$ + ")" ;
//+ "AND (fk_dekret.id_konta_ma = 31298 OR fk_dekret.id_konta_ma = 31299)" ; //nieaktualne

tab = run.SQL(sql2) ;
$_wydatek_kwalif_zus$ = tab.get(0,0) ;
}

if(typ_refundacji == 'CovWynP' || typ_refundacji == 'CovWynO')
{
$_tekst_podzial_wydatku$ = ""
+ ", w tym:" + "\n\n"
+ "wynagrodzenie: " + $_wydatek_kwalif_wynagrodzenie$.toFixed(2).replace(".",",") + " zł" + "\n\n"
+ "składki ZUS: " + $_wydatek_kwalif_zus$.toFixed(2).replace(".",",") + " zł" + "\n\n" ;
}


Szablon - należy dostosować do swoich potrzeb, bo ja jak zwykle wszelkie informacje odnoszące się do urzędu wstawiłem literalnie.
Poza tym może komuś nie odpowiadać układ, formatowanie albo inne treści...
Kod: Zaznacz cały
<html>
  <head>
    <style type="text/css">
      <!--
        body { font-family: Arial }
      -->
    </style>
   
  </head>
  <body>
    <p>
      &#160;
    </p>
    <table width="100%" border="1">
      <tr>
        <td valign="top" style="border-top-width: 0px; width: 60%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p>
           
          </p>
        </td>
        <td valign="top" style="border-top-width: 0px; width: 40%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p align="right">
            Powiatowy Urz&#261;d Pracy w Kwidzynie
          </p>
        </td>
      </tr>
      <tr>
        <td valign="top" style="border-top-width: 0px; width: 60%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p align="right">
           
          </p>
        </td>
        <td valign="top" style="border-top-width: 0px; width: 40%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p align="right">
            82-500 Kwidzyn, ul. Grudzi&#261;dzka 30
          </p>
        </td>
      </tr>
      <tr>
        <td style="border-top-width: 0px; width: 60%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p>
           
          </p>
        </td>
        <td style="border-top-width: 0px; width: 40%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p align="right">
            NIP: 581-148-57-26
          </p>
        </td>
      </tr>
      <tr>
        <td valign="top" style="border-top-width: 0px; width: 60%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p>
           
          </p>
        </td>
        <td valign="top" style="border-top-width: 0px; width: 40%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p>
            &#160;
          </p>
        </td>
      </tr>
      <tr>
        <td valign="top" style="border-top-width: 0px; width: 60%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p align="justify">
            <parametr class="nazwaWierzyciela">
           
          </p>
        </td>
        <td valign="top" style="border-top-width: 0px; width: 40%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p align="right">
            Kwidzyn, dnia <parametr class="dataWyplaty">
          </p>
        </td>
      </tr>
      <tr>
        <td style="border-top-width: 0px; width: 60%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p align="justify">
            <parametr class="adresWierzyciela">
           
          </p>
        </td>
        <td style="border-top-width: 0px; width: 40%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p>
           
          </p>
        </td>
      </tr>
      <tr>
        <td style="border-top-width: 0px; width: 60%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p align="justify">
            NIP: <parametr class="NIP">, REGON: <parametr class="Regon">
          </p>
        </td>
        <td style="border-top-width: 0px; width: 40%; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px">
          <p>
           
          </p>
        </td>
      </tr>
    </table>
    <p>
      &#160;
    </p>
    <p>
      Kod realizowanego programu: <parametr class="kodProgramu">
    </p>
    <p>
      &#160;
    </p>
    <p>
      &#160;
    </p>
    <p align="center">
      <parametr class="_tytul_wyplaty">
      ZGODNIE Z WNIOSKIEM NR <parametr class="nrWniosku">
    </p>
    <p align="center">
      WYP&#321;ATA NR <parametr class="nrWyplaty">
    </p>
    <p align="justify">
      &#160;
    </p>
    <p align="justify">
      &#160;
    </p>
    <p align="justify">
      &#160;
    </p>
    <p align="justify">
      Powiatowy Urz&#261;d Pracy w Kwidzynie na podstawie art. <parametr class="_artykul"> ustawy z dnia 2 marca 2020 r. o szczeg&#243;lnych rozwi&#261;zaniach zwi&#261;zanych z zapobieganiem, przeciwdzia&#322;aniem i zwalczaniem COVID-19, innych chor&#243;b zaka&#378;nych oraz wywo&#322;anych nimi sytuacji kryzysowych (Dz.U. z 2020 r., poz. 568) zgodnie z umow&#261; nr <b><parametr class="nrUmowy"></b>&#160;z dnia <b><parametr class="dataPodpUmowy">&#160;r. </b>przekazuje &#347;rodki pochodz&#261;ce z Funduszu Pracy w kwocie:
    </p>
    <p align="justify">
      &#160;
    </p>
    <p align="justify">
      <b><parametr class="kwotaBrutto">
      &#160;z&#322;</b>
    </p>
    <p align="justify">
      (s&#322;ownie: <parametr class="kwotaBruttoSlownie">)
    </p>
    <p align="justify">
      &#160;
    </p>
    <p align="justify">
      na <parametr class="_opis_wyplaty">&#160;
    </p>
    <p align="justify">
      &#160;
    </p>
    <p align="justify">
      Powy&#380;sz&#261; kwot&#281; nale&#380;y przekaza&#263; przelewem na konto:
    </p>
    <p align="justify">
      <b><parametr class="nrRach">
      </b>
    </p>
    <p align="justify">
      &#160;
    </p>
    <p align="justify">
      kt&#243;rego w&#322;a&#347;cicielem jest:
    </p>
    <p align="justify">
      <parametr class="nazwaWierzyciela">
     
    </p>
    <p align="justify">
      <parametr class="adresWierzyciela">
     
    </p>
    <p>
      &#160;
    </p>
    <p align="justify">
      &#160;
    </p>
    <p>
      Otrzymuj&#261;:
    </p>
    <p>
      <b>1. <u>Ksi&#281;gowo&#347;&#263; w/m</u></b>
    </p>
    <p>
      2. a/a
    </p>
    <p>
      &#160;
    </p>
    <p>
      <nowastrona>
     
    </p>
    <p>
     
    </p>
    <p>
      Umowa nr <b><parametr class="_opis_programu_umowa"></b>
    </p>
    <p>
      &#160;
    </p>
    <p>
      z dnia <b><parametr class="_opis_programu_zdnia"></b>
    </p>
    <p>
      &#160;
    </p>
    <p>
      Podstawa prawna wydatku: <b><parametr class="_opis_programu_podstawa"></b>
    </p>
    <p>
      &#160;
    </p>
    <p>
      Nazwa zadania:
    </p>
    <p>
      &#160;
    </p>
    <p>
      Dzia&#322;anie: <b><parametr class="_opis_programu_dzialanie"></b>
    </p>
    <p>
      &#160;
    </p>
    <p>
      Projekt nr: <b><parametr class="_opis_programu_projektnr"></b>
    </p>
    <p>
      &#160;
    </p>
    <p>
      &#346;rodki EFS: <parametr class="_procent_EFS">%, kwota: <parametr class="_wyd_kwal_EFS_85">&#160;z&#322;
    </p>
    <p>
      &#160;
    </p>
    <p>
      &#346;rodki krajowe: <parametr class="_procent_kraj">%, kwota: <parametr class="_wyd_kwal_kraj_15">&#160;z&#322;
    </p>
    <p>
      &#160;
    </p>
    <p>
      <parametr class="_tekst_finansowanie">
     
    </p>
    <p>
      &#160;
    </p>
    <p>
      <b>Wydatek kwalifikowalny: <parametr class="kwotaWyp"> z&#322; </b><parametr class="_tekst_podzial_wydatku">
    </p>
    <p>
      &#160;
    </p>
    <p>
      &#160;
    </p>
    <p>
      <parametr class="_opis_programu">
     
    </p>
    <p>
      &#160;
    </p>
    <table width="100%" border="1">
      <tr>
        <td valign="top" style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            <font size="2">&#160; </font>
          </p>
          <p>
            <font size="2">Sporz&#261;dzono</font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">dnia .................... </font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">podpis .................... </font>
          </p>
        </td>
      </tr>
      <tr>
        <td colspan="2" style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            <font size="2">&#160; </font>
          </p>
          <p>
            <font size="2">Sprawdzono pod wzgl&#281;dem merytorycznym (legalno&#347;ci, celowo&#347;ci i gospodarno&#347;ci) </font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="center">
           
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            &#160;
          </p>
          <p>
           
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">dnia .................... </font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">podpis .................... </font>
          </p>
        </td>
      </tr>
      <tr>
        <td colspan="2" style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            <font size="2">&#160; </font>
          </p>
          <p>
            <font size="2">Zam&#243;wienia dokonano zgodnie z ustaw&#261; &#8211; prawo zam&#243;wie&#324; publicznych w trybie &#8230;.......................... </font>
          </p>
          <p>
            <font size="2">&#160;</font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="center">
           
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            &#160;
          </p>
          <p>
           
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">dnia .................... </font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">podpis .................... </font>
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            <font size="2">&#160; </font>
          </p>
          <p>
            <font size="2">Sprawdzono pod wzgl&#281;dem formalno &#8211; rachunkowym </font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="center">
           
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="center">
           
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            <font size="2">&#160; </font>
          </p>
          <p>
            <font size="2">G&#322;&#243;wny Ksi&#281;gowy </font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">dnia .................... </font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">podpis .................... </font>
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            <font size="2">&#160;</font>
          </p>
        </td>
        <td style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
           
          </p>
        </td>
        <td style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
           
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            <font size="2">&#160; </font>
          </p>
          <p>
           
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">&#160; </font>
          </p>
          <p align="right">
            <font size="2">dnia .................... </font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">podpis .................... </font>
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            <font size="2">&#160; </font>
          </p>
          <p>
            <font size="2">Uznaj&#281; wydatek za celowy&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Dyrektor Jednostki</font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
           
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="center">
           
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
           
          </p>
        </td>
        <td style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">dnia .................... </font>
          </p>
        </td>
        <td style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">podpis .................... </font>
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
            <font size="2">&#160; </font>
          </p>
          <p>
            <font size="2">Zatwierdzam do wyp&#322;aty&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;&#160;Dyrektor Jednostki</font>
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
           
          </p>
        </td>
        <td valign="bottom" style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="center">
           
          </p>
        </td>
      </tr>
      <tr>
        <td style="width: 60%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p>
           
          </p>
        </td>
        <td style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">dnia .................... </font>
          </p>
        </td>
        <td style="width: 20%; border-right-width: 0px; border-left-width: 0px; border-top-width: 0px; border-bottom-width: 0px">
          <p align="right">
            <font size="2">podpis ....................</font>
          </p>
        </td>
      </tr>
    </table>
    <p>
      &#160;
    </p>
    <table width="100%" border="1">
      <tr>
        <td valign="top" style="width: 30%">
          <p align="center">
            DEKRET
          </p>
        </td>
      </tr>
    </table>
    <table width="100%" border="1">
      <tr>
        <td valign="top" style="width: 30%">
          <p align="center">
            WN&#160;KONTO
          </p>
        </td>
        <td valign="top" style="border-left-width: 0px; width: 30%">
          <p align="center">
            KWOTA
          </p>
        </td>
        <td valign="top" style="border-left-width: 0px; width: 30%">
          <p align="center">
            MA&#160;KONTO
          </p>
        </td>
        <td valign="top" style="border-left-width: 0px; width: 30%">
          <p align="center">
            PODPIS
          </p>
        </td>
      </tr>
      <tr>
        <td valign="top" style="border-top-width: 0px; width: 30%">
          <p>
            &#160;
          </p>
          <p>
            &#160;
          </p>
          <p>
            &#160;
          </p>
        </td>
        <td valign="top" style="border-top-width: 0px; border-left-width: 0px; width: 30%">
          <p>
           
          </p>
        </td>
        <td valign="top" style="border-top-width: 0px; border-left-width: 0px; width: 30%">
          <p>
           
          </p>
        </td>
        <td valign="top" style="border-top-width: 0px; border-left-width: 0px; width: 30%">
          <p>
           
          </p>
        </td>
      </tr>
    </table>
  </body>
</html>


Całość pewnie dałoby się jeszcze zoptymalizować i uprościć, ale... skoro działa, to mi się nie chce ;)

A tak to wygląda "w akcji":
podział1.png


Dodano: Zmodyfikowałem drugi obrazek, dodając poglądowo dodawanie parametrów do funkcji.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego postu.
Grzechu
JOKER
JOKER

Re: Nasze funkcje

Postautor: akoc » 22 lip 2020 12:09

Jak się dobrać do danych z umowy i wniosku na pożyczki 15zzd w szablonie z grupy NAL_UMORZ?
Nie widzę tam parametru, o który można zaczepić własną funkcję...
Dodano: PS.
Chyba żeby przyjąć jakąś konwencję co do pola (parametru) NrDokumUmorz (np.).
akoc
Omnibus
Omnibus

Re: Nasze funkcje

Postautor: arybski » 22 lip 2020 13:07

można tak:
Kod: Zaznacz cały
select *
from sy_dec_nal join wk_um_ref on  sy_dec_nal.podstawa_nal = wk_um_ref.nr_umowy
join wk_wn_ref using(id_wniosku) join sy_organizacja_klient on id_organiz = id_pracodawcy
where sy_dec_nal.nr_decyzji = 'parametr_nr_decyzji'


albo tak:
Kod: Zaznacz cały
select *
from wk_um_ref join wk_wn_ref using(id_wniosku) join sy_organizacja_klient on id_organiz = id_pracodawcy
where nip = replace('param_nip_kontrahenta', '-', '')
and status_wniosku = 'P'
and kod_ref = 'CovPoz'   


Zrobiłem drugim sposobem ale twoje pytanie zmusiło mnie do zastanowienia się czy można inaczej.
arybski
Omnibus
Omnibus

Re: Nasze funkcje

Postautor: Grzechu » 22 lip 2020 13:46

Parametr PodstawaNal to numer umowy związanej z należnością.

Więc można coś w tym stylu:
sql1 = ""
+ "SELECT "
+ "WK_UM_REF.liczba_osob, WK_WN_REF.liczba_osob_przyzn "
+ "FROM "
+ "WK_UM_REF, WK_WN_REF "
+ "WHERE "
+ "WK_UM_REF.nr_umowy = '" + $podstawanal$ + "'"
+ "AND "
+ "WK_WN_REF.id_wniosku = WK_UM_REF.id_wniosku ";


Pola z WK_UM_REF i WK_WN_REF dobrane są przykładowo - należy zmienić na swoje pożądane.

Jeszcze drobna sugestia: lepiej chyba będzie podpiąć szablon z tym covidowym umorzeniem zamiast pod NAL_UMORZ to pod NAL - ten szablon drukuje się bezpośrednio z okna "Należność" (a parametr PodstawaNal też jest dla tego rodzaju dokumentu dostępny!).
A przynajmniej u nas tak to rozwiązaliśmy.
Bo zakładając, że umorzenia robi automat, to oszczędzamy użytkownikowi dwóch kliknięć - przy kilku, kilkunastu tysiącach umorzeń zaczyna mieć to znaczenie...

Aż szkoda, że nie ma tam dostępnego wydruku seryjnego :(
Grzechu
JOKER
JOKER

Re: Nasze funkcje

Postautor: akoc » 22 lip 2020 14:00

Aaa, PodstawaNal (podstawa_nal) - chyba w pobieżnym przeglądzie parametrów skojarzył mi się z kwotą...
Sprawę NAL_UMORZ vs. NAL (dzięki za sugestię) przedyskutuję z merytorycznymi.
Chcą jeszcze wariantów w zależności od sposobu podpisu...
Ostatnio zmieniony 23 lip 2020 7:23 przez akoc, łącznie zmieniany 1 raz
akoc
Omnibus
Omnibus

Re: Nasze funkcje

Postautor: user_psz » 22 lip 2020 14:11

A czy ktoś z Was próbował z korespondencją seryjną w Wordzie?
Np. wyciągnąć z bazy dane do Excela i utworzyć szablon dla wszystkich, którym umarzamy dokument.
user_psz
Doctor
Doctor

Re: Nasze funkcje

Postautor: Piter » 22 lip 2020 14:43

Grzechu pisze:Parametr PodstawaNal to numer umowy związanej z należnością.

W życiu nie przypuszczałbym że chodzi o numer umowy, dzięki Grzechu.
Piter
AS
AS

Re: Nasze funkcje

Postautor: Grzechu » 22 lip 2020 14:47

akoc pisze:Chcą jeszcze warianty w zależności od sposobu podpisu...

Znaczy: czy elektronicznie czy ręcznie?
Jeśli tak, to jest to do zrobienia na jednym szablonie.
Dodajesz sobie parametr tekstowy np. "rodzaj_podpisu" i umieszczasz go gdzieś na szablonie, najlepiej w tabeli, aby nie bawić się z pozycjonowaniem spacjami ;)
W funkcji trzeba zbadać czy wniosek ma guid - jak tak, to znaczy że trafił do nas z praca.gov.pl i będzie odsyłany tą platformą z podpisem elektronicznym.
Wtedy wartość "rodzaj_podpisu" ustawiasz na np. "Podpisano elektronicznie".
Jeśli nie ma guid, to znaczy że będzie podpisywany ręcznie, a wtedy wartość "rodzaj_podpisu" ustawiasz na np. "Imię nazwisko\nDyrektor PUP\nw miejscowość".

user_psz pisze:A czy ktoś z Was próbował z korespondencją seryjną w Wordzie?

Myślałem nad korespondencją seryjną, bo jest to do zrobienia.
Ale wyszło mi, że byłoby sporo manipulacji najpierw przy wyciąganiu i obróbce danych, a potem przy drukowaniu, bo część trzeba byłoby "drukować" do pdf, i to do osobnych plików.

Piter pisze:W życiu nie przypuszczałbym że chodzi o numer umowy

Przyznaję się, że też byłem mocno zdziwiony :)
Grzechu
JOKER
JOKER

Re: Nasze funkcje

Postautor: Piter » 22 lip 2020 14:54

Eh, jednak u mnie numer umowy to za mało. Jakby jeszcze do szablonu należności "przemycił" numer dokumentu z wniosku o refundację :idea:
Piter
AS
AS

Re: Nasze funkcje

Postautor: arybski » 22 lip 2020 15:17

W zapytaniu Grzecha w sekcji SELECT wystarczy dodać WK_WN_REF.nr_dokumentu albo WK_UM_REF.nr_dokumentu gdy jednak chodzi o nr dokumentu na umowie.
arybski
Omnibus
Omnibus

Re: Nasze funkcje

Postautor: Cichy » 23 lip 2020 9:58

na co wam te komplikacje ?
Cichy
Omnibus
Omnibus

Re: Nasze funkcje

Postautor: Grzechu » 23 lip 2020 10:08

Dyrekcja kazała :???:
A ja nie mogłem spokojnie patrzeć, jak panie płodzą te pisemka ręcznie...
Grzechu
JOKER
JOKER

Re: Nasze funkcje

Postautor: akoc » 23 lip 2020 10:53

Grzechu pisze:
akoc pisze:Chcą jeszcze warianty w zależności od sposobu podpisu...

Znaczy: czy elektronicznie czy ręcznie?

Mało tego, dyrektor czy zastępca...
Tutaj albo dwa warianty albo... wklepanie nazwiska aktualnie podpisującego gdziekolwiek do Syriusza i zaciąganie ich stamtąd w ramach minimalizacji liczby kliknięć...
(Te dane są względnie stałe: podpisuje na ogół dyrektor, rzadko zastępca).
Dodano: PS.
A jeszcze ma być data realizacji przelewu...
akoc
Omnibus
Omnibus

Re: Nasze funkcje

Postautor: Grzechu » 23 lip 2020 13:05

akoc pisze:Mało tego, dyrektor czy zastępca...
Tutaj albo dwa warianty albo... wklepanie nazwiska aktualnie podpisującego gdziekolwiek do Syriusza i zaciąganie ich stamtąd w ramach minimalizacji liczby kliknięć...
(Te dane są względnie stałe: podpisuje na ogół dyrektor, rzadko zastępca).

Też jest do zrobienia automatem - ja tak mam w zaświadczeniach o pomocy publicznej:
Parametry...:
wybor1.png
...i ich miejsce w wejściowych/wyjściowych:
wybor2.png
W działaniu przed generacją wydruku:
wybor3.png

Kod w funkcji:
Kod: Zaznacz cały
//wyznaczamy imię i nazwisko oraz tytuł osoby podpisującej (Dyrektor PUP/Z-ca Dyrektora PUP)
if($dyr_zas$ == 'Dyrektor' || $dyr_zas$ == '')
     {$im_naz_dyr$ = 'IMIĘ NAZWISKO' ;
     $tytul_dyr$ = 'DYREKTOR POWIATOWEGO URZĘDU PRACY\n W KWIDZYNIE';}
if($dyr_zas$ == 'Zastępca')
     {$im_naz_dyr$ = 'IMIĘ NAZWISKO' ;
     $tytul_dyr$ = 'ZASTĘPCA DYREKTORA POWIATOWEGO URZĘDU PRACY W KWIDZYNIE';}

W szablonie wstawiamy parametry "im_naz_dyr" i "tytul_dyr".
Może słabo to jest widoczne kodzie funkcji, ale domyślnie, bez ustawiania parametrów przed wydrukiem, drukowany jest dyrektor. Drukowany jest oczywiście również wtedy, gdy w parametrze przed wydrukiem ustawimy "Dyrektor".
Dopiero przestawienie parametru na "Zastępca" spowoduje, że będą drukowały się jego dane.

akoc pisze:PS.A jeszcze ma być data realizacji przelewu...

Teoretycznie da się wyciągnąć, ale data przelewu z Syriusza niekoniecznie będzie datą faktycznego wykonania przelewu.
Nie masz wymaganych uprawnień, aby zobaczyć pliki załączone do tego postu.
Grzechu
JOKER
JOKER

PoprzedniaNastępna

Wróć do Eureka

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 0 gości

cron