Faktury
Faktury
Funkční popis faktur je zde.
Konfigurační soubor se standardně nachází v adresáři config/module-edeeshop/features/order/invoice.xml.
Zkopírovat odkaz na sekciPříklad konfigurace
1 <invoice>2 <autoSendInvoiceNotification>true</autoSendInvoiceNotification>3 <limits>4 <limit>5 <maxOccurrence>1</maxOccurrence>6 <type>STANDARD</type>7 </limit>8 </limits>9 <rules>10 <rule>11 <code>rule1</code>12 <dueDateDays>3</dueDateDays>13 <events>14 <event>15 <constraint>eq(event.state.code,dispatched-order)</constraint>16 <eventName>afterNewOrderStateCreatedEvent</eventName>17 <expression>event.state.code == 'dispatched-order'</expression>18 <order/>19 </event>20 </events>21 <invoiceType>STANDARD</invoiceType>22 <numberExpression>'F' + dateFormat('yyyy') + '-' + numberSeq(dateFormat('yyyy'),4)</numberExpression>23 <pathToLogo>/project/img/logo.png</pathToLogo>24 <priority>0</priority>25 <template>classpath:invoiceTemplate.jasper</template>26 </rule>27 </rules>28 <catalogSpecific>29 <catalogCode/>30 <autoSendInvoiceNotification>true</autoSendInvoiceNotification>31 <limits>32 <limit>33 <maxOccurrence>1</maxOccurrence>34 <type>STANDARD</type>35 </limit>36 </limits>37 <rules>38 <rule>39 <code>rule1</code>40 <dueDateDays>3</dueDateDays>41 <events>42 <event>43 <constraint>eq(event.state.code,dispatched-order)</constraint>44 <eventName>afterNewOrderStateCreatedEvent</eventName>45 <expression>event.state.code == 'dispatched-order'</expression>46 <order/>47 </event>48 </events>49 <invoiceType>STANDARD</invoiceType>50 <numberExpression>'F' + dateFormat('yyyy') + '-' + numberSeq(dateFormat('yyyy'),4)</numberExpression>51 <pathToLogo>/project/img/logo.png</pathToLogo>52 <priority>0</priority>53 <template>classpath:invoiceTemplate.jasper</template>54 </rule>55 </rules>56 </catalogSpecific>57</invoice>
Zkopírovat odkaz na sekciPopis
Zkopírovat odkaz na sekciinvoice
Konfigurace evidence faktur objednávek.
Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| autoSendInvoiceNotification | Příznak toho, zda se má notifikace o nové faktuře automaticky odeslat po uploudu z v administraci nebo po automatickém vygenerování faktury. Default je true, tedy notifikace se odesílá. | boolean | - | true |
| limits/limit | Seznam limitů maximálního počtu faktur daného typu, které mohou být u objednávky evidovány. Pokud je seznam prázdný, tak výchozí limit je nastaven pouze pro v počtu 1. Ostatní typy faktur jsou bez limitu. | List: limits/limit | - | - |
| rules/rule | Seznam pravidel, podle kterých se mají automaticky generovat faktury objednávky. Pokud je seznam prázdný, faktury se automaticky negenerují. | List: rules/rule | - | - |
| catalogSpecific | Vlastnosti této konfigurace lze specifikovat pro konkrétní katalog. Více zde. | - | - |
Zkopírovat odkaz na sekcilimits/limit
Seznam limitů maximálního počtu faktur daného typu, které mohou být u objednávky evidovány.
Pokud je seznam prázdný, tak výchozí limit je nastaven pouze pro v počtu 1. Ostatní typy faktur jsou bez limitu.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| maxOccurrence | Maximální počet faktur daného typu, které mohou být u jedné objednávky evidovány. Povinná hodnota. | Integer | - | - |
| type | Typ faktury, pro který se limit vztahuje. Povinná hodnota. |
| - | - |
Zkopírovat odkaz na sekcirules/rule
Seznam pravidel, podle kterých se mají automaticky generovat faktury objednávky.
Pokud je seznam prázdný, faktury se automaticky negenerují.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| code | Jedinečný kód pravidla. | String | - | - |
| dueDateDays | Na základě této hodnoty se generuje datum splatnosti do zálohové faktury. Hodnota určuje kolik dní od vytvoření faktury je datum splatnosti. Tedy pokud je hodnota např. 3 a datum vystavení faktury 1.1.2019, tak datum splatnosti je 4.1.2019. Výchozí hodnota je 3. | Integer | - | 3 |
| events/event | Seznam událostí, na které reaguje toto pravidlo. V případě, že alespoň jedna událost splňuje podmínky pro vypálenou aplikační událost (např. změna stavu objednávky), tak se toto pravidlo aplikuje. Pravidlo vyžaduje alespoň jednu událost. | List: events/event | - | - |
| invoiceType | Typ faktury, které se má vygenerovat. Výchozí hodnota je STANDARD. |
| - | STANDARD |
| numberExpression | Výraz (SPeL), který definuje, jakým způsobem bude generováno číslo faktury. Dostupné parametry ve SPeLu jsou:
Například výraz "'F' + dateFormat('yyyy') + '-' + numberSeq(dateFormat('yyyy'),4)" vygeneruje kód (pro rok 2022) "F2022-0001", "E2022-0002" atd. Tento výraz je povinný v případě využití default implementace . V případě, že je na projektu vlastní implementace, tak tento výraz nemusí být povinný. | String | - | - |
| pathToLogo | Cesta k logu, které bude uvedeno na faktuře. Pokud není uvedeno, faktura bude bez loga. Cesta musí být uvedena jako absolutní cesta na file-systému. Např. '/project/img/logo.png'. | String | - | - |
| priority | Priorita pravidla. V případě, že by objednávka splňovala více pravidel, aplikuje se ta s nejvyšší prioritou. Výchozí hodnota je 0. | Integer | - | 0 |
| template | Cesta k šabloně faktury ve formátu jasper nebo jrxml (https://community.jaspersoft.com/documentation/tibco-jaspersoft-studio-user-guide/v630/jrxml-sources-and-jasper-files). Pokud je cesta k jrxml souboru, tak se šablona vždy kompiluje (vhodné pro ladění). V produkčním prostředí je vhodnější použít zkompilovanou variantu s příponou jasper. Pokud není definováno, použije se výchozí šablona. | - | classpath:META-INF/lib_eshop_invoice_template/jasper/defaultInvoice.jasper |
Zkopírovat odkaz na sekcievents/event
Seznam událostí, na které reaguje toto pravidlo.
V případě, že alespoň jedna událost splňuje podmínky pro vypálenou aplikační událost (např. změna stavu objednávky), tak se toto pravidlo aplikuje.
Pravidlo vyžaduje alespoň jednu událost.
| Vlastnost | Popis | Hodnota | Povinná | Výchozí hodnota |
|---|---|---|---|---|
| constraint | Pravidlo schválí událost pokud vlastnosti této události splňují požadavky definované podmínky. Podmínka může obsahovat libovolný standardní operátor: and, or, not, eq, isTrue, isFalse atd. V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu pro událost, která poskytuje vlastnosti state a order, může vypadat následovně: 1 and(2 eq(event.state.code,dispatched-order),3 isTrue(event.order.paid)4) Více na TOBEDONE #1948 odkaz na dokumentaci constraint. | String | - | - |
| eventName | Název aplikační události. Pokud název události odpovídá této hodnotě, aby mohla být podmínka splněna. Pokud není vyplněno, název události se nekontroluje. | String | - | - |
| expression | Výraz (SpEL - Spring Expression Language), který se pro danou událost vyhodnocuje. Podmínka je splněna pokud daný výraz vrací true. V rámci výrazu je možné se odkazovat na událost pomocí klíčového slova event. Příklad výrazu pro událost, která poskytuje vlastnosti state a order, může vypadat následovně: (event.state.code == 'dispatched-order') && (event.order.isPaid()). Nepovinný hodnota. | String | - | - |
| order | Výraz (SPeL), který po vyhodnocení vrací z objednávku pro danou událost. Objednávka je následně použita pro generování faktury. Povinná hodnota. | String | - | - |