Auto Kategorie Dokumentów +Pola Własne
Program Auto Kategorie, służy do hurtowej zmiany kategorii dokumentów w zależności od podanych warunków.
Zmiana kategorii może pomóc w rozdzieleniu różnych dokumentów - np. filtrację na liście faktur wg kategorii
jak również na odmienny sposób importu takich dokumentów w programie księgowym (Rewizor GT).
Program potrafi również wykonywać zmianę wartości pól własnych rozszerzonych na dokumentach.
Aktualnie obsługiwane są dokumenty obrotowe i magazynowe.
Program operuje na zbiorze danych, pobranych za pomocą podstawionego zapytania SQLowego.
Zapytanie może zawierać w sobie również parametry - aktualną listę parametrów można zobaczyć klikając na przycisk Podgląd Parametrów. Parametry to zakres dat i wybrane magazyny)
Program, dla każdego rekordu ze zbioru danych wykonuje test - sprawdza warunek i jeśłi ten jest spełniony - wykonywana jest odpowiednia dla tego warunku akcja.
Warunki i akcje zapisujemy w centralnym polu tekstowym w formacie:
waunek1
akcja1
warunek2
akcja2
.
.
warunekN
akcjaN
Autor programu pomaga w przygotowaniu odpowiednich zapytań, warunków i akcji (bezpłatnie lub odpłatnie - co zależy od stopnia komplikacji).
Program może być również rozbudowywane na życzenie klientów.
Przykłady zastosowań
ZMIANA KATEGORII
Patrz Ekran nr 2 (ekran główny - zmiana kategorii)
Zadanie: Zmiana kategorii faktur sprzedaży na kategorię DETAL w przypadku gdy kontrahent ma niewypełnione pole NIP.
Użyte zapytanie SQL:
select * from dok__Dokument
where dok_Typ in (2)
and dok_DataWyst >= GETDATE() - 10
and dok_magId in (@mg_idy_p@)
Zapytanie pobiera wszystkie faktury sprzedaży (dok_typ=2) z ostatnich 10 dni z wybranego magazynu (magazyn wskazany na głównym ekranie aplikacji).
Dla każdego dokumentu sprawdzany jest sprawdzenie czy nip jest pusty:
Alltrim(adrh_nip) = ""
W przypadku spełnienia warunku wykonywana jest akcja:
dokument_kategoria(dok_id, dok_KatId, "detal")
Funkcja dokument_kategoria jest podstawową funkcją niniejszego programu do zmiany kategorii dokumentu.
Parametry funkcji:
- dok_id - id dokumentu,
- dok_KatId - aktualna kategoria dokumentu (konkretnie identyfikator tej kategorii)
- "detal" - nazwa nowej kategorii w postaci tekstowej
Parametry 1 i 2 przekazujemy dokładnie w takiej formie (dok_id i dok_KatId są w zbiorze danych pobranych przekazanym zapytaniem SQL).
Funkcja nadaje nową kategorię tylko wtedy, gdy ta różni się od aktualnej (ze względu na wydajność i optymalizację pracy).
ZMIANA WARTOŚCI POLA WŁASNEGO ROZSZERZONEGO
Patrz Ekran nr 3 (ekran główny - zmiana pola własnego)
Zadanie: Zmiana wartości pól własnych o nazwie marża i zysk - tak, aby wartości te odzwierciedlały marżę i zysk na fakturach sprzedaży. Zmiana ma dotyczyć dokumentów (faktur sprzedaży) z ostatnich 10 dni.
Użyte zapytanie SQL:
select * from dok__Dokument
where dok_Typ in (2)
and dok_DataWyst >= GETDATE() - 10
and dok_magId in (@mg_idy_p@)
Zapytanie pobiera wszystkie faktury sprzedaży (dok_typ=2) z ostatnich 10 dni z wybranego magazynu (magazyn wskazany na głównym ekranie aplikacji).
Dla każdego dokumentu wykonywane są dwa sprawdzania i akcje:
1=1
dokument_pole_wlasne(dok_id, dok_NrPelny, "zysk", dok_WartNetto - dok_WartMag, ll)
1=1
dokument_pole_wlasne(dok_id, dok_NrPelny, "marża", nf_mar(dok_WartMag, dok_WartNetto, 1), ll)
Test w postaci 1=1 jest ZAWSZE spełniony, więc dla każdego dokumentu ZAWSZE wykonywana jest akcja.
Pierwsza z akcji to:
dokument_pole_wlasne(dok_id, dok_NrPelny, "zysk", dok_WartNetto - dok_WartMag, ll)
Funkcja dokument_pole_wlasne służy do przypisywania wartości pola własnego.
Parametry funkcji:
- dok_id - identyfikator dokumentu
- dok_NrPelny - numer pełny dokumentu (to dla potrzeb logowania danych o dokonanych zmianach)
- "zysk" - nazwa pola własnego rozszerzonego
- dok_WartNetto - dok_WartMag - ten parametr to nowa wartość pola - w tym przypadku jest to różnica wartości netto i wartości magazynowej (kosztu) dokumentu, czyli Zysk
- ll - podwójna litera L - referencja do kontrolki podglądu zdarzeń - co pozwoli funkcji na bieżąco wypisywać informacje o dokonywanych zmianach (ten parametr na leży po prostu tak przekazać i tyle)
Druga akcja to:
dokument_pole_wlasne(dok_id, dok_NrPelny, "marża", nf_mar(dok_WartMag, dok_WartNetto, 1), ll)
Tym razem w polu własnym o nazwie "marża" zapisywana jest marża procentowa - tutaj użyta jest wbudowana funkcja nf_mar, która przyjmuje 3 parametry (wartość sprzedaży, koszt, typ działania 1- marża lub 2 - narzut).
Nadawanie wartości polom własnych rozszerzonym wymaga posiadania jednego z Plusów dla Insert GT oraz Sfery dla Subiekta GT.
Dodatkowe informacje.
Typy dokumentów:
1-FZ,2-FS,3-RZ,4-RS,5-KFZ,6-KFS,9-MM,10-PZ,11-WZ,12-PW,13-RW,14-ZW,15-ZD,16-ZK,21-PA,29-IW,35-ZPZ,36-ZWZ,51-TS,62-FM
Proszę pamiętać, że program wymaga podstawowej wiedzy na temat zapytań SQL i minimalnych umiejętności programistycznych, dlatego też wraz z zakupem programu otrzymacie Państwo pomoc w jego ustawieniu tak,
aby spełniał postawione przed nim zadania.
Praca w trybie automatycznym
Program pracuje w trybie interaktywnym lub w trybie automatycznym.
Tryb automatyczny polega na uruchomieniu programu z parametrem auto:
auto_kategorie.exe auto
Tak wywołany program, uruchomi się z ostatnio ustawionymi parametrami (na danym stanowisku dla danego użytkownika), wykona eksport i zakończy pracę.
Możliwe jest również uruchomienie w trybie automatycznym ze wskazaniem, z jakiego pliku XML mają być pobrane ustawienia (podczas interaktywnej pracy programu, stan wszystkich kontrolek na formularzu np. nazwa pliku z zapytaniem sql, wybór magazynów oraz warunków i akcji - może być zapisany / wczytany ze wskazanego pliku XML).
Wywołanie:
auto_kategorie.exe "auto=ustawienia1.xml"
Operacje wykonywane w trybie automatycznym (oraz interaktywnym) widoczne są w okienku Podgląd Zdarzeń oraz zapisywane do pliku tekstowego w podkatalogu LOG.
Cena programu: 490 zł netto
Demo: kliknij
Aktualna wersja: 1.2
Pomoc w uruchamianiu naszych programów: www.netsetup.pl/pomoc