Skip to end of metadata
Go to start of metadata

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

idZapytanie
nipselect 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},'-','') + '%'
mpkSELECT 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} + '%')
kontoSELECT 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} + '%')
dostawcaselect 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_vatSELECT 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

  • No labels
Write a comment…