Wykrzyknik ! czyli szybkie raporty SQL

Mechanizm kontekstowy pozwalający na podpięcie raportu do przeglądania, jak i procedury do zmiany danych. W przyszłych wersjach CDNXL wykrzyknik może zniknąć ponieważ wszystkie jego funkcje przejął mechanizm wykresów.

Kliknięcie w wykrzyknik powoduje wywołanie domyślnego (pierwszego) wykresu. Jeśli pod dane okno podpiętych jest kilka wykresów, kliknięcie prawym klawiszem myszy wywołuje menu z listą wykresów. Ctrl+przycisk wykrzyknika otwiera okno konfiguracji szybkich raportów SQL.

Prosty przykład na pobieranie danych via !

Przy otwartej karcie kontrahenta, jeśli się kliknie w wykrzyknik to pojawia się lista kontrahentów powiązanych z aktualnie przeglądaną kartoteką. Klientów mamy powiązanych przez pole płatnika Zapytanie wygląda tak:

    select
       knt_akronim
    from
       cdn.kntkarty
    where
       knt_knpnumer in (select knt_knpnumer from cdn.kntkarty where {filtrsql})

Można to rozbudować o pokazywanie np. wykorzystania limitu kredytowego, ważności koncesji, blokady itp. itd.

Prosty przykład na modyfikację danych via !

Pierwszy wydruk faktury powoduje zmianę trn_LicznikKopii, kolejne drukowane faktury automatycznie są sformatowane tak, że drukują sie jako duplikaty, jednak czasem trzeba wydrukować jeszcze raz oryginał. W kontekście dokumentu podpinamy pod wykrzyknik procedurę:

exec  mikey.KasujLicznik '{filtrsql}'

która wygląda tak

    CREATE PROCEDURE mikey.KasujLicznik  @Filtr VARCHAR(1024)
    AS
    exec 'Update cdn.TraNag Set Trn_LicznikKopii = 0 WHERE ' + @Filtr ;
    GO

W takiej procedurze można umieścić wiele rzeczy, np. kopiowanie rabatów z kartoteki klienta na wzorzec grupy i odwrotnie ... z wzorca na klientów. Mam np. automat zamieniający zamówienia na faktury. Automat bada tabelę Kolejka, a przez wykrzyknik operatorzy wrzucają do tej kolejki zamówienia które są gotowe do przetworzenia.