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
Související dokumenty