System PlusWorkflow komunikuje się również z systemem Optima bezpośrednio przez bazę danych. Komunikacja ta odbywa się w celu pozyskania dwóch rodzajów danych:
- danych słownikowych przechowywanych w bazie Optimy takich jak: lista kontrahentów, lista mków, kont oraz rejestrów VAT
- informacji o wprowadzonych i zaksięgowanych dokumentach
Pobieranie danych słownikowych
Poniżej przedstawiono zapytania do wykorzystania w DataChooser. Proponuje się by połączenie było realizowane przez źródła danych
id | Zapytanie |
---|---|
nip | select TOP 200 [Knt_Nip] as nip , [Knt_Nazwa1] + ' ' + [Knt_Nazwa2] as dostawca, [Knt_Miasto] as miasto, [Knt_Ulica] + ' ' + [Knt_NrDomu] as adres, [Knt_Kod] as nr_dostawcy, replace(Knt_RachunekNr,'PL','') as numer_rachunku_bankoweg FROM [CDN].[Kontrahenci] where [Knt_Nip] LIKE '%' + replace({nip},'-','') + '%' |
mpk | SELECT Kat_KodSzczegol as mpk, Kat_Opis as opis FROM [CDN].[Kategorie] where Kat_KodSzczegol like '5%' and (Kat_KodSzczegol LIKE '%' + {mpk} + '%' OR Kat_Opis LIKE '%' + {mpk} + '%') |
konto | SELECT Kat_KodSzczegol as konto, Kat_Opis as opis FROM [CDN].[Kategorie] where Kat_KodSzczegol not like '5%' and (Kat_KodSzczegol LIKE '%' + {konto} + '%' OR Kat_Opis LIKE '%' + {konto} + '%') |
dostawca | select TOP 200 [Knt_Nip] as nip , [Knt_Nazwa1] + ' ' + [Knt_Nazwa2] as dostawca, [Knt_Miasto] as miasto, [Knt_Ulica] + ' ' + [Knt_NrDomu] as adres, [Knt_Kod] as nr_dostawcy, replace(Knt_RachunekNr,'PL','') as numer_rachunku_bankoweg FROM [CDN].[Kontrahenci] where lower([Knt_Nazwa1] + ' ' + [Knt_Nazwa2]) LIKE lower('%' + {dostawca} + '%') |
rejestr_vat | SELECT Gru_Nazwa as rejestr FROM [CDN].[Grupy] where Gru_Typ = 1 and (Gru_Nazwa LIKE '%' + {rejestr } + '%' ) |
Pobieranie informacji o wprowadzonych dokumentach
Po przesłaniu dokumentu do Rejestru VAT, system Optima nadaje temu dokumentowi tzw. Id księgowania. W celu pobrania tego numeru należy wykonać takie zapytanie:
select VaN_IdentKsieg as id_ksiegowania from CDN.VatNag where VaN_Dokument = {numer_faktury} and REPLACE(VaN_KntNipE,'-','') = {nip} and CONVERT(CHAR(10),VaN_DataObowiazkuPodatkowego,120) = {data_wystawienia_dokumentu}
Tak wprowadzony dokument do Rejestru VAT systemu Optima oczekuje na zaksięgowanie. By sprawdzić czy dokument został zaksięgowany w systemie Optima i przy okazji pobrać numer dziennika oraz datę ksiegowania z poziomu zadania zaplanowanego należy wykonać nastęujące zapytanie.
select CAST(Den_NrDziennika as varchar) as numer_dziennika , DeN_TS_Zal as data_ksiegowania from [CDN].[DekretyNag] where DeN_IdentKsieg = {id_ksiegowania}
Przykład konfiguracji zadania zaplanowanego, które dla każdego dokumentu oczekującego na zaksiegowanie sprawdza czy jest on już zaksięgowany wygląda nastęująco:
UWAGA
Aby skonfigurować powyższe zadanie zaplanowane niezbędna jest wtyczka Plus Scheduledtask. Szczegółowy opis konfiguracji powyższego zadania znajduje się tu: Plus Scheduledtask
Add Comment