Biuletyn techniczny CDN OPT!MA 11.0.1. Copyright 2006 COMARCH SA



Podobne dokumenty
Biuletyn techniczny. Funkcje dodatkowe dla Clarion Report Writer CDN OPT!MA Copyright 2006 COMARCH S.A.

Biuletyn techniczny. Przykłady schematów księgowych w CDN OPT!MA CDN OPT!MA Copyright 2006 COMARCH SA


Biuletyn techniczny. Średnia do urlopu liczona wg daty wypłaty w module CDN OPT!MA Płace i Kadry Plus CDN OPT!MA Copyright 2008 COMARCH SA

Nowości w module: Księgowość, w wersji 9.0

Biuletyn techniczny. Tworzenie analiz uŝytkownika. Analizy uŝytkownika Str. 1

Bazy danych Access KWERENDY

Instrukcja zmian w wersji Vincent Office

Biuletyn techniczny. Dodatkowe moŝliwości filtrowania list w programie. Copyright 2008 COMARCH SA

PROJEKT CZĘŚCIOWO FINANSOWANY PRZEZ UNIĘ EUROPEJSKĄ. Opis działania raportów w ClearQuest

FK - Deklaracje CIT-8

Biuletyn techniczny. Dodatkowe moŝliwości filtrowania list w programie. Copyright 2008 Comarch SA

Relacyjne bazy danych. Podstawy SQL

Laboratorium nr 4. Temat: SQL część II. Polecenia DML

Rozliczanie kosztów księgowania wg filtrów kont

System imed24 Instrukcja Moduł Analizy i raporty

Krok 1: Wzorzec księgowania faktury sprzedaży

Laboratorium nr 5. Temat: Funkcje agregujące, klauzule GROUP BY, HAVING

Bazy danych Access KWERENDY

JPK Jednolity Plik Kontrolny

Zmienne powłoki. Wywołanie wartości następuje poprzez umieszczenie przed nazwą zmiennej znaku dolara ($ZMIENNA), np. ZMIENNA=wartosc.

JPK Jednolity Plik Kontrolny

Ćwiczenie 3 funkcje agregujące

Instrukcja zamknięcia starego roku w KS-FKW. Ad.1 Okresy obrachunkowe

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.

Biuletyn techniczny. Przykłady schematów księgowych w Comarch ERP Optima

Program Dokumenty zbiorcze dla Subiekta GT.

Upgrade 2010 do programu THB Księgowość Wspólnot ( Sfinks )

MS Excel cz.1 funkcje zaawansowane

Bazy danych. wprowadzenie teoretyczne. Piotr Prekurat 1

Tytuł szkolenia: Podstawy obsługi modułów handlowo-magazynowych Comarch OPT!MA z elementami księgowości oraz modułu kadrowo-płacowego.

INSTRUKCJA UŻYTKOWNIKA Generowanie Jednolitego Pliku Kontrolnego (JPK) ISO 9001:2008 Dokument: Wydanie: 1 Waga: 90

Nowe funkcje w module Forte Handel w wersji

4. Rozliczenia [ Rozliczenia ] 1

Jednolity Plik Kontrolny dla ewidencji zakupu i sprzedaży VAT wg wersji 17 deklaracji VAT-7

Biuletyn techniczny Instalacja i uruchamianie CDN OPT!MA dodatkowe moŝliwości. Data powstania: Copyright 2007 COMARCH SA

Zmiany funkcjonalne i lista obsłużonych zgłoszeń Comarch DMS , Comarch DMS i Comarch DMS

Program Opakowania zwrotne dla InsERT GT.

Biuletyn techniczny. Drukarki fiskalne w usługach terminalowych. Comarch OPT!MA Copyright 2007 COMARCH SA

Nowe funkcje w programie Symfonia Handel w wersji

Bazy danych 2. Wykład 4 Structured Query Language (SQL)

O2Symfonia by CTI. Instrukcja i opis programu

System KIKUM dla Biura Księgowości i Kontrasygnaty

Podstawy JavaScript ćwiczenia

Biuletyn techniczny CDN OPT!MA Rozliczanie wypłat pracowników oddelegowanych (moduł Płace i Kadry Plus)

WyŜsza Szkoła Zarządzania Ochroną Pracy MS EXCEL CZ.2

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Podstawowe możliwości programu Spectro Market Faktura

Opis zmian wersji 5.5 programu KOLFK

Tips & Tricks. Czy wiesz że. wersja Aktualizacja dokumentu: Copyright COMARCH S.A.

UONET+ - moduł Sekretariat. Jak wykorzystać wydruki list w formacie XLS do analizy danych uczniów?

DM Plaza ZMIANA PREFIX ÓW DOKUMENTÓW

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

SYSTEM PODZIELONEJ PŁATNOŚCI - SPLIT PAYMENT

KOMPUTEROWE SYSTEMY FINANSÓW I KSIĘGOWOŚCI

Symfonia Handel 1 / 7

Nowe funkcje w module Forte Finanse i Księgowość

Technologia informacyjna

Projekt ZSWS. Instrukcja uŝytkowania narzędzia SAP Business Explorer Analyzer. 1 Uruchamianie programu i raportu. Tytuł: Strona: 1 z 31

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

5. Bazy danych Base Okno bazy danych

Zamienniki towarów 1/5. Program Handel Premium

Opis obsługi programu KALKULACJA

Ogranicz listę klasyfikacji budżetowych do powiązanych z danym kontem księgowym

Kostki OLAP i język MDX

Nowe funkcje w programie Symfonia Handel w wersji

w wersji Comarch ERP XL Zmiany techniczne w wersji

Instrukcja automatycznego tworzenia pozycji towarowych SAD na podstawie danych wczytywanych z plików zewnętrznych (XLS).

Instrukcja do definiowania wiązań zewnętrznych

Technologie informacyjne lab. 2: Bazy danych

INWENTARYZACJA W PROGRAMIE INTEGRA

Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym

Współpraca Integry z programami zewnętrznymi

Paczki przelewów w ING BankOnLine

Finanse VULCAN. Jak wprowadzić fakturę sprzedaży?

XII. Warunek wielokrotnego wyboru switch... case

emszmal 3: Eksport wyciągów do Comarch ERP XL (plugin dostępny wraz z dodatkiem Biznes)

PREZENTACJE MULTIMEDIALNE cz.2

Przypominacz Instrukcja uŝytkownika

Podstawy obsługi aplikacji Generator Wniosków Płatniczych

SQL (ang. Structured Query Language)

Biuletyn techniczny. Zaawansowane schematy księgowe

Uwierzytelniona Wymiana Danych

Laboratorium nr 8. Temat: Podstawy języka zapytań SQL (część 2)

Symfonia Produkcja. Kreator raportów. Wersja 2013

Jak prowadzić księgowość w programie COMARCH ERP Optima?

O2Symfonia by CTI. Instrukcja i opis programu

UMOWY INSTRUKCJA STANOWISKOWA

Ulotka v System Comarch OPT!MA v Comarch SA Kraków, Al. Jana Pawła II 41g tel. (12) , fax (12)

OPCJE PROGRAMU Widoczne u góry na szarym pasku.

Ulotka v System Comarch OPT!MA v Comarch SA Kraków, Al. Jana Pawła II 41g tel. (12) , fax (12)

Arkusz kalkulacyjny. Technologia Informacyjna Lekcja 38-39

Biuletyn techniczny. Internetowa Wymiana Danych. Comarch OPT!MA Copyright 2009 COMARCH SA

emszmal 3: Eksport wyciągów do Reset2 R2fk SQL (4.xx) (plugin dostępny wraz z dodatkiem Biznes)

Program do wagi samochodowej

INFORMATOR TECHNICZNY WONDERWARE. Odczytywanie danych z arkusza Excel za pomocą zapytań SQL do aplikacji InTouch

Instrukcja administratora Agenta Administracji i Aktualizacji Aplikacji oraz baz danych Polskiego FADN oraz pobierania danych słownikowych

SPIS TREŚCI...1 CEL...2

Ulotka v System Comarch OPT!MA v Comarch SA Kraków, Al. Jana Pawła II 41g tel. (12) , fax (12)

Rys. 1. DuŜa liczba nazw zakresów. Rys. 2. Procedura usuwająca wszystkie nazwy w skoroszycie

Transkrypt:

Biuletyn techniczny CDN OPT!MA 11.0.1 Przykłady uŝycia zapytań SQL w schematach księgowych, filtrach, zestawieniach księgowych, księgowaniach okresowych, definicji formatów przelewów i atrybutach dla Biura Rachunkowego Copyright 2006 COMARCH SA

Spis treści SPIS TREŚCI... 2 1 SCHEMATY KSIĘGOWE... 3 2 FILTRY... 4 3 ZESTAWIENIA KSIĘGOWE... 5 4 KSIĘGOWANIA OKRESOWE... 7 5 FORMATY PRZELEWÓW... 8 6 ATRYBUTY W MODULE BIURO RACHUNKOWE... 9 Przykłady schematów księgowych w CDN OPT!MA Str. 2

1 Schematy księgowe Jak działa schemat? Dane zawarte w elemencie schematu (stałe, makra) tłumaczone są na zapytanie SQL Przykładowa pozycja schematu księgowego: Rysunek 1 Pozycja schematu księgowego Fragment zapytania związany z ww. pozycją: SELECT... '419' AS KontoWN, '' AS KontoMA, VaN_Dokument AS Opis, SUM(VaT_Netto) AS Kwota FROM CDN.VATNAG JOIN CDN.VatTab ON VaN_VaNId = VaT_VaNId LEFT OUTER JOIN CDN.Kategorie As KatElem ON VaT_KatId = KatElem.Kat_KatId WHERE VaN_VaNId =1 AND (IsNull(KatElem.Kat_KodSzczegol,'') ='ENERGIA') GROUP BY... Tłumaczenie schematu. Makra (@Nazwa) są zamieniane na nazwy kolumn lub wyraŝenia SQL Teksty jeśli parser uzna to za konieczne są otaczane apostrofami (') - JeŜeli wyraŝenie nie zawiera Ŝadnego makra i nie zaczyna się od apostrofu jest automatycznie otaczane apostrofami WyraŜenie oznaczające kwotę jest sumowane (SUM()) - Wszystkie pozostałe wyraŝenia (konta, opis, słowniki) trafiają do GROUP BY Do sekcji FROM trafiają tabele powiązane z uŝytymi makrami Przykłady schematów księgowych w CDN OPT!MA Str. 3

Do WHERE trafia przetłumaczony warunek ze schematu + warunek na ID księgowanego dokumentu Na makrach moŝna wykonywać operacje zgodne ze składnią SQL W schemacie moŝna uŝywać funkcji SQL W schemacie moŝna uŝywać nazw kolumn pod warunkiem, Ŝe tabela znalazła się w zapytaniu NaleŜy pamiętać o zasadzie otaczania tekstów apostrofami przykład warunku: '' <> VaN_KorektaDo jest OK, bo zaczyna się od apostrofu VaN_KorektaDo <> '' AND @Rejestr = KOR jest OK., bo zawiera makro VaN_KorektaDo <> '' jest źle, bo parser zrobi z tego 'VaN_KorektaDo <> ''' Przykłady uŝycia niestandardowych wyraŝeń w Warunku, Opisie lub Polach Konto Winien/Ma schematu księgowego, zawiera Biuletyn JakUkładacZaawansowaneSchematyKsięgowe, który znajduje się w sekcji Najczęściej zadawanych pytań w Obszarze CDN OPT!MA na stronie walidowanej dla Partnerów: https://www.cdn.com.pl/cdnpartnerzy/v_optima/index_optima_faq.aspx 2 Filtry Program posiada na kaŝdej liście moŝliwość określenia dodatkowego filtru uŝytkownika. Np. za pomocą tak zwanego filtra zaawansowanego. Tworzenie takiego filtra wspomagane jest poprzez konstruktor filtra. Rysunek 2 Filtr na liście pozycji Sposób uruchomienia filtra oraz korzystania z kreatora filtra omówiony jest w podręczniku do Konfiguracji programu CDN OPT!MA. Natomiast rezultat pracy samego kreatora moŝna znaleźć na zakładce ZAAWANSOWANE konstruktora filtra. Przykłady schematów księgowych w CDN OPT!MA Str. 4

Rysunek 3 Konstruktor filtra Znajdują się tam dwa pola: Filtr SQL Zawiera informacje dla filtra okna (wyświetlanie dokumentów na listach) Filtr ISAM Filtr wykorzystywany przez wydruki w Raport Writer. Filtr ISAM posiada inną składnię niŝ sam filtr SQL. Ponad to same moŝliwości filtra ISAM (W SKŁADNI Clarion) są mniejsze niŝ moŝliwości filtra SQL. Kreator pozwala stworzyć tylko takie struktury filtra, które mogą być utworzone zarówno dla filtra ISAM jak i w filtra SQL, w niektórych sytuacjach moŝe to być niewystarczające do stworzenia zadanego filtra. Jeśli występuje potrzeba stworzenia bardziej zaawansowanego filtrowania z uŝyciem składni SQL, moŝna fragment filtra SQL wprowadzić bezpośrednio do pola Filtr SQL. Pozostawiając puste okno filtru ISAM. Wówczas filtrowanie będzie aktywne jedynie dla list natomiast do wydruków filtr ten nie będzie przekazywany. Filtr wprowadzany w okno Filtr SQL jest dodawany do części WHERE zapytania tworzącego listę. Tak więc pola uŝyte bezpośrednio w filtrze muszą być polami z tabel tworzących zapytanie. Jeśli zamierzamy odwołać się do pól z innych tabel moŝemy to wykonać tylko stosując odpowiednie konstrukcje SQL np. pod zapytania lub funkcje serwerowi. Przykłady niestandardowego tworzenia filtrów moŝna znaleźć w biuletynie pod tytułem JakieSaDodatkoweMozliwosciFiltrowaniaListWProgramie, który jest dostępny w Obszarze CDN OPT!MA, w sekcji najczęściej zadawanych pytań na stronie walidowanej dla Partnerów. https://www.cdn.com.pl/cdnpartnerzy/v_optima/index_optima_faq.aspx 3 Zestawienia księgowe W definicji kwoty pozycji zestawienia księgowego moŝna uŝywać zapytań SQL oraz funkcji serwerowych (np. CHOOSE, ROUND). Przykłady schematów księgowych w CDN OPT!MA Str. 5

3.1 Zapytania SQL Przykład 1 PoniŜszy przykład zapytania sumuje kwotę netto faktur sprzedaŝy w Rejestrze sprzedaŝy VAT, które mają zaznaczony parametr "SprzedaŜ detaliczna", data sprzedaŝy obejmuje okres podany w kolumnie zestawienia. SQL('Select Sum(VaN_RazemNetto) From CDN.VatNag Where VaN_Typ = 2 And VaN_Detal = 1 AND VaN_DataOpe Between '&DataOdSQL&' And '&DataDoSQL) Przykład 2 Przykład 2 zwraca sumę netto, faktur sprzedaŝy pochodzących z podrejestru o nazwie SPRZEDAś, których data sprzedaŝy zawiera się pomiędzy określonym zakresem dat: SQL('select Sum(VaN_RazemNetto) from CDN.VatNag where VaN_Typ=2 and VaN_Rejestr=''SPRZEDAś'' and VaN_DataZap BETWEEN CONVERT(datetime,''2006-09-01'',120) and CONVERT(datetime,''2006-09-30'',120)') UWAGA: Wartość w polach tekstowych np. VaN_Rejestr=''SPRZEDAś'' naleŝy otaczać podwójnym apostrofem (NIE cudzysłowiem). Przykład 3 W przykładzie podano sposób na pobranie kwoty z konkretnej gałęzi zestawienia, które zostało policzone w innej bazie danych. W przypadku, gdy chcemy pobrać dane z tabeli w innej bazie danych naleŝy w ramach zapytania uŝyć [Kwalifikowanej nazwy serwera] i [Kwalifikowanej nazwy bazy danych], a dalej jak w normalnym zapytaniu. SQL('SELECT ZKW_Wartosc FROM[NAZWA- KOMPUTERA\CDN_OPTIMA].[CDN_Prezentacja_KH].[CDN].[ZestKsiWyniki] WHERE ZKW_ZkpId=594') 3.2 Funkcje serwerowe: JeŜeli - wstawia wywołanie funkcji CHOOSE w postaci CHOOSE('warunek','jeŜeli prawda','jeŝeli fałsz'). Działanie funkcji jest takie, Ŝe jeśli warunek jest spełniony, to pobierana jest pierwsza wartość, a jeśli nie, to druga. Przykład funkcji: jeśli Obroty Wn są większe niŝ obroty Ma, to bierze róŝnicę tych obrotów, w przeciwnym wypadku przyjmuje wartość 0, czyli: CHOOSE (@ObrotyWn(101)>@ObrotyMa(101), @ObrotyWn(101)-@ObrotyMa(101), 0) Przykłady schematów księgowych w CDN OPT!MA Str. 6

Wartość bezwzględna - wstawia wywołanie funkcji ABS w postaci ABS('liczba'). Funkcja wyciąga wartość bezwzględną kwoty (czyli bez minus) np. ABS(@PerSaldo(101)). Zaokrąglenie - wstawia wywołanie funkcji ROUND w postaci ROUND('liczba','precyzja'). Funkcja ROUND(@ObrotyWn(101),1) obliczy wartość obrotów na koncie i zaokrągli wynik do pełnych złotych, zaś funkcja ROUND(@ObrotyWn(400) * @ObrotyWn(701) / @ObrotyWn(702), 0.01) obliczy wyraŝenie i zaokrągli wynik działania do groszy. Część całkowita - wstawia wywołanie funkcji INT w postaci INT('liczba'). Funkcja wyciąga część całkowitą z wartości, np. jeśli persaldo konta 201 jest równe 512000,63 to INT(@PerSaldo(201)) = 512000 Numer kolumny - nie jest to funkcja systemowa Clariona, natomiast zwraca numer aktualnie przetwarzanej kolumny. Funkcja moŝe być szczególnie przydatna przy zestawieniach międzyokresowych, gdy zmieni się plan kont np. w kolumnie pierwszej mamy zestawienie za okres poprzedni, a w drugiej za bieŝący. Koszty, które przedtem były na koncie 401 teraz są na 402. Wykorzystamy do tego funkcję CHOOSE(warunek, jeŝeli prawda, jeŝeli fałsz) Przykład: CHOOSE(@Kolumna()=1, @ObrotyWn(401), @ObrotyWn(402)) czyli jeŝeli kolumna ma numer 1 (czyli pochodzi z poprzedniego okresu obrachunkowego), to podaj obroty konta 401, jeŝeli ma inny numer to podaj obroty konta 402 lub jeŝeli mamy np. 3 kolumny, za trzy kolejne lata obrachunkowe: CHOOSE(liczba, wartość dla 1, wartość dla 2, wartość dla 3)) CHOOSE(@Kolumna(), @ObrotyWn(401), @ObrotyWn(402), @ObrotyWn(403)) czyli jeŝeli kolumna 1 (oznaczająca np. rok 2002) to obroty 401, jeŝeli kolumna 2 (oznaczająca rok 2003) to 402, jeŝeli kolumna 3 (rok 2004) to 403. Gdyby pojawiła się w zestawieniu kolumna 4, dla której nie jest określona wartość, to zostanie pobrana ostatnia wartość czyli @ObrotyWn(403). 4 Księgowania okresowe W Księgowaniach okresowych, podobnie jak w Zestawieniach księgowych, w definicji kwot moŝna uŝywać zapytań SQL i funkcji serwerowych. Konstrukcja zapytań i funkcji jest w obydwu przypadkach taka sama więc przykłady dla Zestawień księgowych moŝna zastosować równieŝ w definicji Księgowania okresowego. Przykłady schematów księgowych w CDN OPT!MA Str. 7

JeŜeli w definicji kwoty Księgowania okresowego uŝyjemy wyraŝeń '&DataOdSQL&' lub '&DataDoSQL to będą się one odwoływały do dat Za okres na formatce, która pojawia się przed uruchomieniem Księgowania okresowego. Rysunek 4 Generowanie księgowania okresowego Przykład 1 JeŜeli we wszystkich miesiącach poza listopadem ma być księgowana kwota 150 zł a w listopadzie 100 zł to zapytanie moŝe wyglądać następująco: SQL('Select CASE when MONTH('&DataOdSQL&' )=11 then 100 else 150 end ' ) W tym przypadku miesiąc jest pobierany z daty Za okres od. 5 Formaty przelewów W definicji formatów przelewów jest dostępne pole Zapytanie SQL. Dzięki niemu moŝna pobierać do pliku z przelewami róŝne informacje, których nie moŝna pobrać za pomocą predefiniowanych pól. Przykład 1 Zapytania, które pobiera 20-sty i 21-wszy znak numeru rachunku np. symbole 51, 53, 53 pobrane z numeru rachunków bankowych ZUS: SELECT SUBSTRING(BZd_RachunekNr,20,2) FROM CDN.BnkZdarzenia WHERE Bzd_BzdId={ZdarzenieID} Przykład 2 Jak wyŝej z tym, Ŝe przed wycięciem z numeru rachunku są usuwane spacje i myślniki: SELECT SUBSTRING(REPLACE(REPLACE(BZd_RachunekNr, ' ', ''), '-', ''),20,2) FROM CDN.BnkZdarzenia WHERE Bzd_BzdId={ZdarzenieID} Przykład 3 Pobranie samego miasta z adresu kontrahenta: Przykłady schematów księgowych w CDN OPT!MA Str. 8

SELECT Pod_Miasto FROM CDN.PodmiotyView JOIN CDN.BnkZdarzenia ON BZd_PodmiotID = Pod_PodId WHERE BZd_PodmiotTyp = Pod_PodmiotTyp AND Bzd_BzdId={ZdarzenieID} Przykład 3 Pobranie tylko kodu pocztowego z adresu kontrahenta - jeŝeli kod nie jest wypełniony - pole ma być puste: SELECT CASE WHEN Pod_KodPocztowy='00-000' THEN '' ELSE Pod_KodPocztowy END FROM CDN.PodmiotyView JOIN CDN.BnkZdarzenia ON BZd_PodmiotID = Pod_PodId where BZd_PodmiotTyp = Pod_PodmiotTyp AND Bzd_BzdId={ZdarzenieID} 6 Atrybuty w module Biuro Rachunkowe Atrybuty w module Biuro Rachunkowe mogą posiadać m.in. następujące typy: Lista SQL, SQL Konfiguracja, SQL Firma. PoniŜej przykłady zapytań dla wyŝej wymienionych typów atrybutów: 6.1 Lista SQL (obecnie są to wyłącznie listy pomocnicze pobierane z bazy konfiguracyjnej): 1. Najbardziej typowy przykład, to pobieranie listy operatorów (jak na standardowym atrybucie Operator): Select Ope_Kod From CDN.Operatorzy 2. Listę walut: Select WNa_Symbol From CDN.WalNazwy 3. Listę typów kursów: Select WKu_Nazwa From CDN.WalKursy 4. Listę stanowisk komputerowych: Select Sta_Nazwa From CDN.StanowiskaKomp 6.2 SQL Konfiguracja (odwoływanie się do pojedynczych danych - w sensie pojedynczy wiersz, a nie lista - zapisanych w bazie konfiguracyjnej): 1. Najprościej moŝna odwołać się do pól z tabeli Bazy - wpisując nazwę pola np. chcąc wyświetlić datę i czas ostatniego wykonania archiwizacji wystarczy na zakładce SQL wpisać: Przykłady schematów księgowych w CDN OPT!MA Str. 9

Baz_TS_Arch 2. Chcąc odwołać się do innej tabeli, trzeba zrobić Select MoŜna w nim wykorzystać zmienne @Rok, @Miesiąc, @OpeId (Id bieŝącego operatora) oraz odwołanie do pola Baz_BazId (Id bieŝącej bazy), np. chcemy wyświetlić informację, ilu operatorów ma przypisany zakaz do danej bazy: Select Count(*) From CDN.BazZakazy Where Bza_BazId = Baz_BazId 6.3 SQL Firma Są to wszystkie atrybuty "buforowane". Najbardziej typowe zastosowanie, to wyciąganie róŝnych informacji z konfiguracji firmy - wtedy moŝna skorzystać z funkcji CDN.fn_Konfiguracja, przy czym trzeba wiedzieć, gdzie w bazie zapisana jest dana informacja. Funkcja ma cztery parametry: @Tryb - 1 oznacza odwołanie do konfiguracji "niehistorycznej", 2 do historycznej, @Klucz - dla trybu 1 oznacza numer rekordu w tabeli CDN.Firma, dla trybu 2 oznacza "ścieŝkę" dla parametru, @Rok, @Miesiac - wykorzystywane tylko dla trybu 2 (historycznego). 1. Jeśli chcemy uzyskać informację, czy w bazie jest ustawiona praca rozproszona, trzeba najpierw ustalić, Ŝe ta informacja jest zapisana w tabeli Firma, na wierszu o numerze 1470, i przyjmuje wartości: 1- brak 2 - dz. SprzedaŜy 3 - księgowość 4 - oddział XL WyraŜenie będzie wyglądać tak: Case CDN.fn_Konfiguracja(1, '1470', 0, 0) When '1' Then 'BRAK' When '2' Then 'DZ. HANDLOWY' When '3' Then 'KSIĘGOWOŚĆ' When '4' Then 'ODDZIAŁ XL' End MoŜna teŝ odwoływać się do innych danych np. księgowych, z tym, Ŝe w tym przypadku naleŝy uwaŝać, bo duŝa ilość atrybutów tego typu lub ich nieprawidłowa konstrukcja moŝe mieć wpływ na wydajność. 2. Ciekawy moŝe być atrybut pokazujący, czy w dzienniku w danym miesiącu znajdują się jakieś zapisy w buforze: Case When Exists (Select * From CDN.DekretyNag Where DeN_Bufor=1 And Year(DeN_DataDok)=@Rok And Month(DeN_DataDok)=@Miesiac) Then 'JEST BUFOR' Else 'NIE MA BUFORA' End 3. Atrybut wyświetlający liczbę poleceń księgowania: Przykłady schematów księgowych w CDN OPT!MA Str. 10

Select Count(Distinct DeN_DeNId) From CDN.DekretyNag Where Year(DeN_DataDok) =@Rok And Month(DeN_DataDok) =@Miesiac 4. PoniŜsze zapytanie sprawdza czy są jakieś nie zamknięte zadania w CRM w danym miesiącu: Case When Exists (Select * From CDN.CRMKontakty Where CRK_Bufor=1 And CRK_Zadanie=1 and Year(CRK_DataDok)=@Rok And Month(CRK_DataDok)=@Miesiac) Then 'SĄ ZADANIA' Else 'NIE MA ZADAŃ' End Przykłady schematów księgowych w CDN OPT!MA Str. 11