Akce – příklady použití funkcí a příkazy z menu Stav
Popis jednotlivých příkazů používaných v Akcích
→ Přidání hodnoty do pole s číselníkem
Akce nepřepíše původní hodnoty číselníku pole, ale požadovanou textovou hodnotu přidá na konec seznamu (číselníku).
=VlozitDoSeznamu(nz([nazevpole]),"pridavanytext",False)
Příklad použití: Akce přidá další textovou hodnotu "Silniční" do pole Kategorie.
=VlozitDoSeznamu(nz([Kategorie]),"Silniční",False)
→ Tisk aktuálního dokladu
Pro tisk aktuálního tiskového formuláře lze použít funkci:
Function TiskFormulare(TiskovyFormular As String, Agenda As String, Optional Podminka As String) As Boolean
Příklad použití: Akce Tisk aktuální faktury v agendě Vydané doklady.
TiskFormulare("Faktura", "Vydané doklady", "Cislo_dokladu='" & [Cislo_dokladu] & "'")
Pro zobrazení náhledu aktuálního tiskového formuláře lze použit funkci:
Function UkazkaPredTiskemTiskovehoFormulare(TiskovyFormular As String, Agenda As String, Optional Podminka As String) As Boolean
Příklad použití: Akce Náhled aktuální faktury v agendě Vydané doklady.
UkazkaPredTiskemTiskovehoFormulare("Faktura", "Vydané doklady", "Cislo_dokladu='" & [Cislo_dokladu] & "'")
→ Tisk souvisejícího dokladu (výdejky, faktury, zakázky)
A) Zjištění čísla výdejky a zakázky pro fakturu, která má skladové položky:
1. V agendě Vydané doklady vytvořte novou akci Související doklady.
2. Na záložce Záznamy přidejte první instrukci Spustit makro. V editoru maker zadejte následující výraz:
Set [Akce!CisloVydejky] = Vario.Databaze.AdHocDotaz("Data####", "PARAMETERS parCisloDokladu text;SELECT TOP 1 Cislo_skladoveho_dokladu FROM Polozky_dokladu_produkty WHERE Cislo_ucetniho_dokladu=[parCisloDokladu] ORDER BY Datum_aktualizace DESC", [Cislo_dokladu]).DejHodnotu()
3. Přidejte další instrukci Spustit makro. Do pole Podmínka před zadejte výraz:
[Akce!CisloVydejky] <> ""
V editoru maker zadejte následující výraz:
TiskFormulare("Skladový doklad", "Skladové doklady", "Cislo_dokladu='" & [Akce!CisloVydejky] & "'")
4. Přidejte další instrukci Spustit makro. V editoru maker zadejte následující výraz:
Set [Akce!CisloZakazky] = Vario.Databaze.AdHocDotaz("Data####", "PARAMETERS parCisloDokladu text;SELECT TOP 1 Cislo_obchodniho_dokladu FROM Polozky_dokladu_produkty WHERE Cislo_ucetniho_dokladu=[parCisloDokladu] ORDER BY Datum_aktualizace DESC", [Cislo_dokladu]).DejHodnotu()
5. Přidejte další instrukci Spustit makro. Do pole Podmínka před zadejte výraz:
[Akce!CisloZakazky] <> ""
V editoru maker zadejte následující výraz:
TiskFormulare("Zakázka", "Zakázky", "Cislo_dokladu='" & [Akce!CisloZakazky] & "'")
Po provedení této akce nad fakturou se vytiskne výdejka (pokud byla vystavena) a zakázka (pokud existuje zakázka k aktuální faktuře).
B) Zjištění čísla faktury pro zakázku, která má neskladové položky (poskytnutí služeb):
1. V agendě Zakázky vytvořte novou akci Související faktura.
2. Na záložce Záznamy přidejte první instrukci Spustit makro. V editoru maker zadejte následující výraz:
Set [Akce!CisloFaktury] = Vario.Databaze.AdHocDotaz("Data####", "PARAMETERS parCisloDokladu text;SELECT TOP 1 Polozky_dokladu.Cislo_dokladu FROM Doklady INNER JOIN Polozky_dokladu ON Doklady.Cislo_dokladu = Polozky_dokladu.Cislo_dokladu WHERE (((Polozky_dokladu.Zakazka)=[parCisloDokladu])) ORDER BY Doklady.Datum_aktualizace DESC;", [Cislo_dokladu]).DejHodnotu()
3. Přidejte další instrukci Spustit makro. Do pole Podmínka před zadejte výraz:
[Akce!CisloFaktury] <> ""
V editoru maker zadejte následující výraz:
TiskFormulare("Faktura", "Vydané doklady", "Cislo_dokladu='" & [Akce!CisloFaktury] & "'")
Po provedení této akce nad zakázkou, která má pouze neskladové položky, se vytiskne faktura (pokud položky zakázky byly vyfakturovány).
→ Odesílání faktury v PDF formátu e-mailem
1. V agendě Zakázky vytvořte novou akci Faktura e-mailem PDF.
2. Na záložce Záznamy přidejte první instrukci Spustit makro. V editoru maker zadejte následující výraz:
Set [Akce!FakturaSkladovaPolozka] = Vario.Databaze.AdHocDotaz("Data####", "PARAMETERS parCisloDokladu text;SELECT TOP 1 Cislo_ucetniho_dokladu FROM Polozky_dokladu_produkty WHERE Cislo_obchodniho_dokladu=[parCisloDokladu] and cislo_ucetniho_dokladu is not null ORDER BY Datum_aktualizace DESC", [Cislo_dokladu]).DejHodnotu()
3. Přidejte druhou instrukci Spustit makro. V editoru maker zadejte následující výraz:
Set [Akce!FakturaNeskladovaPolozka] = Vario.Databaze.AdHocDotaz("Data####", "PARAMETERS parCisloDokladu text;SELECT TOP 1 Polozky_dokladu.Cislo_dokladu FROM Doklady INNER JOIN Polozky_dokladu ON Doklady.Cislo_dokladu = Polozky_dokladu.Cislo_dokladu WHERE (((Polozky_dokladu.Zakazka)=[parCisloDokladu])) ORDER BY Doklady.Datum_aktualizace DESC;", [Cislo_dokladu]).DejHodnotu()
4. Přidejte třetí instrukci Spustit makro. V editoru maker zadejte následující výraz:
Set [Akce!KnihaFaktury] = Vario.Databaze.AdHocDotaz("Data####", "PARAMETERS parCisloDokladu1 text, parCisloDokladu2 text;SELECT TOP 1 Kniha FROM Doklady WHERE Cislo_dokladu=[parCisloDokladu1] OR Cislo_dokladu=[parCisloDokladu2]",[Akce!FakturaSkladovaPolozka], [Akce!FakturaNeskladovaPolozka]).DejHodnotu()
5. Přidejte další instrukci Poslat e-mail. Do pole Podmínka před zadejte výraz:
([Akce!FakturaSkladovaPolozka] <> "" OR [Akce!FakturaNeskladovaPolozka] <> "") AND [Akce!KnihaFaktury] <> ""
V nastavení e-mailu, do pole Priloha zadejte výraz:
<%UlozitTFJakoPrilohu("Faktura", [Akce!KnihaFaktury], "Cislo_dokladu='"&[Akce!FakturaSkladovaPolozka]&"' OR Cislo_dokladu='"&[Akce!FakturaNeskladovaPolozka]&"'")%>
Označte instrukci Poslat e-mail jako Interaktivní.
Poznámka
Function UlozitTFJakoPrilohu(NazevTF As String, Kniha As String, PodminkaTisku As String, Optional FormatSouboru As String = "pdf") As String
Funkce UlozitTFJakoPrilohu po úspěšném vyplnění vrátí cestu k souboru v uvedeném formátu (výchozí formát souboru je PDF). Funkce UlozitTFJakoPrilohu kromě pdf také podporuje formáty rtf, xls, txt, htm, snp.
Po provedení této akce nad zakázkou se objeví dialog odesílání e-mailu (ovšem pokud existuje faktura k aktuální zakázce). Jako příloha k e-mailu bude vložena faktura v pdf formátu.
Výpis typických příkazů z menu Stav
Příkazy menu Stav vše (kliknutím na odkaz zobrazíte příslušnou tabulku)
| Význam hodnoty "X" toAkceStavu | |
| 1 | → makro přes všechy položky |
| 2 | → makro nad aktuální položkou |
| 3 | → makro pro částečné plnění aktuální položky |
| Nastavit stav DODAT | toAkceStavu(8192, X) |
| Rezervovat (REZERVOVÁNO) | toAkceStavu(16384, X) |
| Nastavit stav vydat | toAkceStavu(1024, X) |
| Vystavit výdejku (vydává se) | toAkceStavu(3072, X) |
| Vyskladnit (VYDÁNO) | toAkceStavu(32768, X) |
| Nastavit stav fakturovat | toAkceStavu(4096, X) |
| Vystavit fakturu (FAKTUROVÁNO) | toAkceStavu(69632, X) |
| Vystavit pokladní doklad (FAKTUROVÁNO) | toAkceStavu(2166784, X) |
| Vystavit fakturu a vyskladnit (OK) | toAkceStavu(102400, X) |
| Vystavit pokladní doklad a vyskladnit (OK) | toAkceStavu(2199552, X) |
| Nastavit stav STORNOVÁNO | toAkceStavu(9, X) |
| Nastavit stav koncept | toAkceStavu(2, X) |
| Nastavit stav Objednáno | toAkceStavu(32, X) |
| Nastavit stav POTVRZENO | toAkceStavu(64, X) |
| Nastavit stav přijmout | toAkceStavu(4, X) |
| Vystavit příjemku (přijímá se) | toAkceStavu(12, X) |
| Naskladnit (PŘIJATO) | toAkceStavu(128, X) |
| Nastavit stav fakturovat | toAkceStavu(16, X) |
| Vystavit fakturu (FAKTUROVÁNO) | toAkceStavu(272, X) |
| Vystavit pokladní doklad (FAKTUROVÁNO) | toAkceStavu(2097424, X) |
| Vystavit fakturu a naskladnit (OK) | toAkceStavu(400, X) |
| Vystavit pokladní doklad a naskladnit (OK) | toAkceStavu(2097552, X) |
| Rezervovat (REZERVOVÁNO) | toAkceStavu(16384, X) |
| Nastavit stav vydat | toAkceStavu(1024, X) |
| Vystavit výdejku (vydává se) | toAkceStavu(3072, X) |
| Vyskladnit (VYDÁNO) | toAkceStavu(32768, X) |
| Nastavit stav přijmout | toAkceStavu(4, X) |
| Vystavit příjemku (přijímá se) | toAkceStavu(12, X) |
| Naskladnit (PŘIJATO) | toAkceStavu(128, X) |
| Nastavit stav koncept | toAkceStavu(2, X) |
| Zrušit stav přijmout | toAkceStavu(-4, X) |
| Zrušit naskladnění | toAkceStavu(-128, X) |
| Rezervovat (REZERVOVÁNO) | toAkceStavu(16384, X) |
| Vyskladnit (VYDÁNO) | toAkceStavu(32768, X) |
| Nastavit stav fakturovat | toAkceStavu(4096, X) |
| Vystavit fakturu (FAKTUROVÁNO) | toAkceStavu(69632, X) |
| Vystavit fakturu a vyskladnit (OK) | toAkceStavu(102400, X) |
| Naskladnit (PŘIJATO) | toAkceStavu(128, X) |
| Nastavit stav fakturovat | toAkceStavu(16, X) |
| Vystavit fakturu (FAKTUROVÁNO) | toAkceStavu(272, X) |
| Vystavit fakturu a naskladnit (OK) | toAkceStavu(400, X) |
| Zrušit naskladnění | toAkceStavu(-128, X) |
| Nastavit stav koncept | toAkceStavu(2, X) |
| Rezervovat (REZERVOVÁNO) | toAkceStavu(16384, X) |
| Převést (OK) | toAkceStavu(32768, X) |
| Zrušit REZERVOVÁNO | toAkceStavu(-16896, X) |
| Nastavit stav koncept | toAkceStavu(2, X) |
| Zrušit převod | toAkceStavu(-32768, X) |
| Rezervovat (REZERVOVÁNO) | toAkceStavu(16384, X) |
| Vyskladnit (VYDÁNO) | toAkceStavu(32768, X) |
| Nastavit stav fakturovat | toAkceStavu(4096, X) |
| Vystavit dobropis (FAKTUROVÁNO) | toAkceStavu(69632, X) |
| Vystavit dobropis a vyskladnit (OK) | toAkceStavu(102400, X) |
| Zrušit REZERVOVÁNO | toAkceStavu(-16896, X) |
| Zrušit vyskladnění | toAkceStavu(-32768, X) |
| Nastavit stav koncept | toAkceStavu(2, X) |
| Naskladnit (PŘIJATO) | toAkceStavu(128, X) |
| Nastavit stav fakturovat | toAkceStavu(16, X) |
| Vystavit dobropis (FAKTUROVÁNO) | toAkceStavu(272, X) |
| Vystavit dobropis a naskladnit (OK) | toAkceStavu(400, X) |
| Zrušit naskladnění | toAkceStavu(-128, X) |
| Nastavit stav koncept | toAkceStavu(2, X) |
| Zrušit stav fakturovat | toAkceStavu(-16, X) |
| Vyskladnit (VYDÁNO) | toAkceStavu(32768, X) |
| Zrušit REZERVOVÁNO | toAkceStavu(-16896, X) |
| Nastavit stav koncept | toAkceStavu(2, X) |
| Rezervovat (REZERVOVÁNO) | toAkceStavu(16384, X) |
| Nastavit stav vydat | toAkceStavu(1024, X) |
| Vystavit vratku (vydává se) | toAkceStavu(3072, X) |
| Zrušit stav vydat | toAkceStavu(-1024, X) |
| Zrušit vyskladnění | toAkceStavu(-32768, X) |
| Zrušit naskladnění | toAkceStavu(-128, X) |
| Nastavit stav koncept | toAkceStavu(2, X) |
| Naskladnit (PŘIJATO) | toAkceStavu(128, X) |
| Nastavit stav přijmout | toAkceStavu(4, X) |
| Vystavit vratku výdejky (přijímá se) | toAkceStavu(12, X) |
| Zrušit stav přijmout | toAkceStavu(-4, X) |
| Uhradit | toAkceStavu(17, X) |
| Vrátit úhradu | toAkceStavu(-17, X) |
Stavy pro výdajový pokladní doklad
| Nastavit stav přijmout | toAkceStavu(4, X) |
| Vystavit příjemku (přijímá se) | toAkceStavu(12, X) |
| Naskladnit (PŘIJATO) | toAkceStavu(128, X) |
| Nastavit stav koncept | toAkceStavu(2, X) |
| Zrušit stav přijmout | toAkceStavu(-4, X) |
| Zrušit naskladnění | toAkceStavu(-128, X) |
Stavy pro příjmový pokladní doklad
| Rezervovat (REZERVOVÁNO) | toAkceStavu(16384, X) |
| Nastavit stav vydat | toAkceStavu(1024, X) |
| Vystavit výdejku (vydává se) | toAkceStavu(3072, X) |
| Vyskladnit (VYDÁNO) | toAkceStavu(32768, X) |
| Zrušit REZERVOVÁNO | toAkceStavu(-16896, X) |
| Zrušit stav vydat | toAkceStavu(-1024, X) |
| Zrušit vyskladnění | toAkceStavu(-32768, X) |
Stavy pro zaúčtování a odúčtování dokladu
| Zaúčtování dokladu | toStav(156) |
| Odúčtování dokladu | toStav(157) |
| Uzavření výroby | toAkceStavu(524288, X) |
Navazující dokumenty
- Popis dialogu Možnosti akce
- Příklad nastavení Akce pro realizaci zakázky
- AKCE: Nové pole v dialogu Možnosti akce
- AKCE: Obnovit záznam a Vytvořit nový záznam agendy
Související dokumenty
