Generátor faktur – Nette šablony + mPDF

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Karel Chramosil
Člen | 105
+
0
-

Dobrý den,
mám problém, faktura se mne naplní daty a zobrazí v HTML bez problému. Při generování faktury do pdf se některé položky nezobrazí, neohlásí se žádná chyba. V bodě 98. píšete, že jste povolovaly více paměti. Nevíte náhodou která je to proměnná asi mám na lokálu podobný problém.

Děkuji za radu.

gd7700
Člen | 1
+
0
-

Narazil jsem na jeden poměrně zásadní problém při výpočtu ceny bez DPH z částky s daní. Momentálně je v ItemImpl v countUntaxedUnitValue výpočet jako
$this->getUnitValue() / $this->getTax()->inUpperDecimal();
resp. cena / 1.21
což ale nesouhlasí s výpočtem podle zákona (http://www.zakonyprolidi.cz/cs/2004-235#…), kde se počítá podle koeficientu zaokrouhleného na čtyři desitinná místa, takže by vzorec měl být zhruba takto:
$this->getUnitValue() - ($this->getUnitValue() * round($this->getTax()->inPercent() / (100 + $this->getTax()->inPercent()),4));
resp. cena – cena*(21/(100+21))
Rozdíl jsou sice finančně zanedbatelné haléře až koruny, ale finanční úřady z toho dokážou dělat vědu.

Ondřej Brejla
Člen | 746
+
0
-

Pošli pull request.

rfilip
Člen | 20
+
0
-

Jde tento plugin použít i v nette 2.1.0?
Composer hlásí dle závislostí že chce nette 2.0.*

Ondřej Brejla
Člen | 746
+
0
-

Změním závislosti.

rfilip
Člen | 20
+
0
-

Díky,
do composer.json jsem přidal „OndrejBrejla/Eciovni“: „dev-master“ a vykonal jsem „composer update“.
Ale při zkoušemí kodu z příkladu v addon portálu Tracy hlásí: Fatal Error Class ‚OndrejBrejla\Eciovni\ParticipantBuilder‘ not found, tak zkusil jsem smazat cache Nette, žádná změna.
Tak jsem zkusil změnit adresářovou strkturu z:

vendor/
 \--OndrejBrejla/
	\--Eciovni/
		\--OndrejBrejla/
			\--.git/
			\--Eciovni/
				\--Data.php
				\--....
			\--composer.json
			\--license.txt

Aby více odpovídala namespace struktuře:

vendor/
 \--OndrejBrejla/
	\--.git/
	\--Eciovni/
		\--Data.php
		\--....
	\--composer.json
	\--license.txt

Opět jsem smazal cache, ale pořád bez výsledku
Co mám kde upravit aby Nette ty třídy našlo?

Ondřej Brejla
Člen | 746
+
0
-

Probírá ti robot loader vendor adresář? V composeru není specifikovaný loading class.

rfilip
Člen | 20
+
0
-

Ne, mám sandbox, vytvořený 3.1.2014 příkazem „composer create-project nette/sandbox“ a v jeho bootstrapu je:

$configurator->createRobotLoader()
	->addDirectory(__DIR__)
	->addDirectory(__DIR__ . '/../vendor/others')
	->register();

O načítaní by se tedy měl starat composer. Ale jak říkáš u toho u tebe není sekce autoload.
Zkusil jsem změnit bootstrap na:

$configurator->createRobotLoader()
	->addDirectory(__DIR__)
	->addDirectory(__DIR__ . '/../vendor')
	->register();

A výsledkem je prázdná stránka, při jakékoliv url,Tracy i logy mlčí.
Není composer a RobotLoader v konfliktu?
EDIT:
Nakonec jsem bootstrap upravil následovně, a už to funguje:

$configurator->createRobotLoader()
	->addDirectory(__DIR__)
	->addDirectory(__DIR__ . '/../vendor/others')
	->addDirectory(__DIR__ . '/../vendor/OndrejBrejla')
	->register();

Editoval rfilip (7. 1. 2014 15:55)

MartinitCZ
Člen | 580
+
0
-

Chybí mi možnost nastavení jednotky (ks, h, kg). Mohl bys to prosím přidat?

Ondřej Brejla
Člen | 746
+
0
-

Zadej issue na GitHub.

saimons
Člen | 293
+
0
-

Chtel bych jen podekovat za komponentu a jeji udrzovani. Funguje skvele a za par minut hotovo. Diky.

Ondřej Brejla
Člen | 746
+
0
-

To jsem rád :) Dík.