Corax

  1. Strona główna
  2. Docs
  3. Corax
  4. Środowisko rozszerzeń (corax)

Środowisko rozszerzeń (corax)

Wydrukuj dokument

Opis narzędzia

Środowisko rozszerzeń powstało jako odpowiedź na potrzeby naszych klientów, ponieważ nie sposób wyobrazić sobie nowoczesny system wspomagający proces zarządzania przedsiębiorstwem, który nie dawałby możliwości elastycznego dostosowania go do potrzeb firmy. Obecnie większość przedsiębiorstw poszukuje rozwiązań dających im możliwość wsparcia informatycznego szczególnie w tych obszarach ich działalności, w których nie sprawdza się standardowa funkcjonalność gotowych programów. Systemy o elastycznej strukturze prezentują możliwość indywidualnego podejścia do realizacji tych potrzeb poprzez oprogramowanie dodatkowej funkcjonalności. Cechę tę posiada program, który dzięki licznym narzędziom i mechanizmom służącym do jego profilowania daje przedsiębiorstwu szerokie możliwości dostosowywania go nawet do bardzo specyficznych wymagań. Umożliwia rozszerzenie istniejącej już w systemie funkcjonalności o dodatkowe rozwiązania informatyczne spełniające wymagania indywidualnych klientów, jak również tworzenie nowych modułów, których zawartość funkcjonalna zależy od potrzeb odbiorcy i jest wyrazem specyfiki jego działalności. Program pozwala także opracowywać dodatkowe filtry sortujące dane wg żądanych kryteriów, oraz własne wzorce wydruków i raporty. Umożliwia również modyfikację widoków tabel wyświetlanych na ekranie, które mogą być zaprojektowane indywidualnie dla każdego operatora systemu.

Narzędzia i mechanizmy służąca do profilowania programu dostępne są w module Środowisko rozszerzeń.

Zawartość modułu Środowisko rozszerzeń:

  • Generator raportów – edytor wydruków pozwalający tworzyć własne wydruki oraz zaawansowane raporty i zestawienia, a także funkcjonalność umożliwiająca importowanie i eksportowanie dodatkowych wzorców wydruku pomiędzy systemami Humansoft
  • Definicje widoków (tabel) – możliwość pobierania dodatkowych danych z bazy i wyświetlania ich w tabelach
  • Funkcje użytkownika – możliwość dopisania własnych programów rozszerzających funkcjonalność programu, uruchamianych z poziomu dokumentów oraz funkcjonalność pozwalająca włączyć ją do systemu
  • Broker – służy do integracji Coraxa z zewnętrznymi aplikacjami. Możliwe jest m.in. dodawanie i edycja niektórych dokumentów; uzyskiwanie danych odbywa się za pomocą poleceń w języku XML, które Corax otrzymuje od aplikacji zewnętrznej, z którą się komunikuje.

Tagi:

Tags

Widoki

Znaczenie pojęcia „widok” dla zwykłego użytkownika programu nie jest tak istotne jak dla osoby sprawującej pieczę nad sprawnym działaniem systemu i nad dostosowaniem go do nietypowych, indywidualnych potrzeb użytkowników. Osoba nie będąca administratorem może opuścić niniejszy rozdział.

Widok należy uważać za wirtualną tabelę. To, co w programie nazywamy tabelami a użytkownik widzi np. tabelę artykułów lub tabelę z dokumentami sprzedaży jest  de facto widokiem powstałym w wyniku zapytania instrukcją SELECT SQL. Widoki są obrazem danych z tabeli (lub wielu tabel) znajdujących się fizycznie w bazie na serwerze SQL. Zawartość widoku – pola jakie zawiera – uzyskuje się, odpowiednio formułując polecenie SELECT SQL.

Administrator ani tym bardziej użytkownik programu nie muszą pisać  tego polecenia gdyż istnieje w systemie narzędzie do jego konstrukcji polecenia w sposób wizualny. Narzędziem tym jest tzw. „Projektant widoków”.

Zarządzanie zapytaniami SQL

„Zarządzanie zapytaniami SQL” jest opcją która pozwala nam stworzyć bardzo wiele zapytań SQL, na podstawie których można tworzyć nowe widoki. W celu wywołania tej opcji należy na wybranej tabeli kliknąć F11 a następnie „Zarządzanie zapytaniami SQL”.

Okno „Zapytania SQL” zawiera listę zapytań fabrycznych oraz utworzonych przez użytkownika. Znaczniki „bieżące” i „fabryczny”, pokazują które z zapytań jest fabrycznym oraz które są ustawione jako bieżące.
Opcja Dodaj otwiera „Projektanta widoku” i umożliwia dodanie nowego zapytania.
Opcja Popraw pozwala edytować zapytania utworzone przez użytkownika. Nie ma jednak możliwości modyfikacji zapytań fabrycznych.
Zapytania utworzone przez użytkownika możemy również usunąć.
Zmień na bieżące pozwala nam zmienić wskazany widok na bieżący.

Zapytania SQL posiadają odrębne uprawnienia. Możemy odebrać dostęp do wskazanych zapytań poszczególnym operatorom lub profilom użytkowników.

„Projektanta widoków” używamy wtedy, gdy zaistnieje potrzeba wyświetlenia w dowolnej tabeli programu,  kolumny która fabrycznie się tam nie znalazła. Jakkolwiek projektant widoków jest narzędziem bardzo ułatwiającym  konstrukcję widoku, to do jego prawidłowego i pełnego wykorzystania przydaje się wiedza na temat składni polecenia SELECT SQL.

Aby wywołać projektanta widoku należy na wybranej tabeli wcisnąć F11 a następnie wybrać z listy „Zarządzanie zapytaniami SQL.”

Screen przedstawia projektanta widoków wywołanego z tabeli artykułów. Górną część okna zajmują trzy tabele z bazy SQL wchodzące w skład widoku. W części środkowej są zakładki będące odzwierciedleniem poszczególnych sekcji polecenia SELECT SQL. Najczęstszą potrzebą użytkownika jest dodanie do  widoku pola. Robi się to na pierwszej zakładce „Pola” gdzie po lewej jej stronie widoczna jest lista dostępnych dla widoku pól tabel a po prawej aktualnie dodane pola. Używając przycisków ze strzałkami trzeba zmodyfikować listę „Pola widoku” wedle własnych potrzeb.
Przyciski  przesuwają wszystkie pola z listy do listy. Należy pamiętać o oszczędnym dodawaniu pól do widoku gdyż zbyt duża ich ilość przyczyni się do  spowolnienia wyświetlania tabeli. W widoku powinny być tylko te pola, które są naprawdę potrzebne.

Jeśli zaistnieje potrzeba użycia nie tylko samego pola ale jakiegoś wyrażenia lub  funkcji języka TRANSACT SQL, to takie wyrażenie można wpisać do pola „Funkcje i wyrażenia” a następnie używając przyciskudodać je do pól widoku. Po dodaniu trzeba pamiętać, aby w pole „Nazwa” wpisać nazwę stworzonego wyrażenia. Przycisk uaktywnia formularz służący łatwiejszej edycji wyrażenia.
Na zakładce „Pola” znajduje się znacznik . Jego zaznaczenie powoduje, że widok nie będzie zawierał powtórzeń pozycji, przy czym kryterium wykrywania powtórzeń jest pierwsze pole znajdujące się na liście „Pola widoku”. Przesuwając myszą pozycje listy możemy ustalić, które pole ma się znaleźć na jej początku.

Zawartość listy „Dostępne pola” zależna jest od tabel, jakie są użyte w widoku. Aby dodać tabelę należy prawym klawiszem myszy kliknąć w górnym obszarze okna projektanta i z menu podręcznego wybrać opcję „Dodaj tabelę”. Następnie na wyświetlonej liście tabel z bazy programu trzeba wskazać żądaną tabelę i nacisnąć przycisk OK.

Nowo dodana tabela musi mieć relacyjne powiązanie z pozostałymi tabelami w widoku. Powiązanie to należy zdefiniować na zakładkach „WHERE” lub „JOIN”.
Na zakładce „WHERE” dodaje się warunki łączące tabele wchodzące w skład widoku. Po naciśnięciu przycisku  pojawi się okienko służące do definiowania warunku łączącego. Należy po lewej i po prawej stronie okienka wybrać łączone tabele, pola względem których połączenie ma nastąpić oraz operator łączenia (najczęściej znak „=”). Można również samemu wpisać warunek łączący.

Zakładka WHERE służy również do wpisywania warunków innych niż łączące – warunków filtrujących widok, np., gdy chcemy mieć widoczne w tabeli artykuły o określonej symbolice:

artykuly.symbol_art LIKE ‘A-001%’

Wynikiem złączenia zdefiniowanego w sekcji WHERE są wyłącznie te rekordy z tabel nadrzędnej i podrzędnej w których istnieje całkowita zgodność wartości pól użytych w warunku.
Czasami jednak chcemy uzyskać wszystkie rekordy z tabeli, nazwijmy ją „głównej” mimo że niektóre wartości w polu łączącym mogą  puste i nie zajdzie na nie relacja do drugiej tabeli. W takim przypadku warunek łączący definiujemy na zakładce „JOIN” tak jak na przykładzie:

Zapis: LEFT [OUTER] JOIN oznacza tzw. “złączenie zewnętrzne”, w wyniku którego widok będzie zawierał wszystkie rekordy z tabeli znajdującej się po lewej stronie klauzuli JOIN i tylko te rekordy z tabeli po prawej stronie, które odpowiadają złączeniu co do wartości klucza łączącego. Przykładem jest tutaj  złączenie artykułów (ARTYKULY) z tabelą stanów magazynowych (ART_MAG). W tabeli ART_MAG nie muszą pojawiać się wszystkie symbole artykułów – stąd konieczność złączenia typu LEFT OUTER JON, aby wyświetlić wszystkie artykuły. Przytoczony tu został typowy przypadek, jaki może zajść w programie. Innego typu złączenia JOIN nie występują w fabrycznych definicjach widoków.

Ostatnia zakładka „Polecenie SQL” pozwala użytkownikom na wpisanie całego polecenia wprost – bez konieczności budowania go później z elementów zdefiniowanych przez użytkownika. Dzięki temu możliwe jest zastosowanie m.in. funkcji napisanych w języku TSQL, zdefiniowanych w bazie danych i zwracających kursor.

 

Używanie tej zakładki powoduje zwiększenie odpowiedzialności, gdyż zapytanie może być dowolne. Autorzy nie wymuszają zastosowania głównej tabeli, widoku ani tego by widok zawierał pola klucza głównego tabeli (są to elementy niezbędne dla prawidłowego funkcjonowania mechanizmów zastosowanych w programie, np. edycja pozycji może być niemożliwa i powodować wystąpienie błędów).

Więcej szczegółów na temat składni polecenia SELECT prosimy szukać w literaturze dot. administrowania bazami SQL lub pomocy Visual FoxPro.

Aby zakończyć pracę z projektantem widoków należy zamknąć go używając przycisku OK. Program zapisze definicje i pojawi się ona na liście zapytań SQL. Poprawiona definicja widoku może posłużyć  następnie do zmodyfikowania wyglądu i zawartości tabeli (patrz rozdział „Manipulowanie zawartością tabel”).

Zarządzanie widokami

Widoki tworzymy na podstawie wcześniej utworzonych zapytań SQL. Każda zmian w widoku tabeli: dodanie lub usunięcie kolumny, rozszerzenie lub jej zwężenie, zmiana kolorów w tabeli, wszystko to możemy zapisać jako nowy widok. Po zmianie w tabeli, którą chcemy zapisać należy kliknąć na przycisk . Dokonaną zmianę możemy zapisać dla bieżącego widoku lub zapisać jako nowy widok.

Na pasku narzędzi dostępny jest jeszcze jeden przycisk związany z widokami.

Pozwala on na  szybkie przełączanie się pomiędzy widokami.

Opcja dotycząca zarządzania widokami dostępna jest pod przyciskiem „F11” a następnie „Zarządzanie widokami.”

Z tego poziomu możemy zmienić wskazany widok na bieżący, poprawić nazwę widoku oraz go usunąć.
Opcja ta umożliwia również nadanie uprawnień do poszczególnych widoków.
Uprawnienia do widoków działają na takiej samej zasadzie jak uprawnienia do zapytań SQL. Możemy nadać uprawnienia do wskazanego widoku, poszczególnym operatorom lub profilom użytkowników.

Manipulowanie zawartością tabel

Zawartość tabeli można niemal dowolnie zmieniać dostosowując ją do indywidualnych potrzeb użytkownika. Służą do tego celu opcje „Dodaj/Popraw/Usuń kolumnę” oraz „Właściwości tabeli” dostępne w menu „Narzędzia” F11. Ponadto można zamieniać kolumny miejscami oraz zmieniać ich szerokość.

Dodanie kolumny
Dodając lub edytując kolumnę ustalamy:

  • wyrażenie określające zawartość kolumny. Jest to pole widoku zdefiniowanego fabrycznie lub przez użytkownika
    ⇒ Patrz rozdział: Projektant widoku
  • tytułu kolumny i jej czcionki
  • wyglądu komórki
    • właściwości czcionki
    • kolory czcionki i tła komórki
    • warunki zastosowania poszczególnych właściwości komórki.

Powyższy przykład zawiera definicje kolumny „Nazwa” w tabeli „Artykuły”. Warunek sformułowany jest tak, że towary o zapasie poniżej minimum będą wyświetlane na czerwono.
Nowo dodaną kolumnę należy potem przesunąć w żądane miejsce

⇒ patrz poniżej Zmiana kolejności kolumn.

Usunięcie kolumny

Opcja ta umożliwia usunięcie kolumny z tabeli.

Generowanie raportów

Drukowanie w programie realizowane jest za pomocą szablonów nazywanych dalej wzorcami wydruku. Autorzy programu stworzyli pewną ilość wzorców wydruku, wystarczającą do normalnej pracy – są to tzw. wzorce fabryczne. Jeżeli jednak postać wydruku nie zadowala Użytkownika, można stworzyć własne wzorce, dostosowane do indywidualnych potrzeb i wymagań.
Fabrycznych wzorców wydruku nie można zmieniać – można jedynie tworzyć nowe na podstawie fabrycznych.
Wbudowany w system generator raportów (Report Builder) umożliwia edycję wzorców wydruków zwanych dalej, zgodnie z nazewnictwem FoxPro, raportami. Generator raportów jest narzędziem zaawansowanym, aczkolwiek pewne operacje jak zmiana czcionki, wielkości i położenia obiektu, usunięcie obiektu, uzyskuje się dość prosto.

Raport zawiera kompletną definicję wydruku, pozwalając dowolnie zmieniać postać każdego wydruku.

Wzorce wydruku

Jak już wspomniano, wzorce to zaprojektowane szablony, które mówią o tym w jakim miejscu i jakie informacje (teksty, ramki, dane itp.) mają pojawić się na wydruku.
Niezależnie od rodzaju wydruku przed rozpoczęciem drukowania wyświetlane jest okienko dialogowe Wydruk pozwalające na ustalenie parametrów wydruku.

Poza fabrycznymi wzorcami można korzystając z opcji Dodaj w oknie Wydruk stworzyć własne szablony i korzystać na stałe z nich przy drukowaniu dokumentów czy zestawień.

Każdy nowy wzorzec powstaje na bazie innego wskazanego wzorca. Po wybraniu opcji Dodaj pojawia się okno dialogowe, w którym podajemy dane identyfikujące nowy szablon wydruku. Najpierw wpisujemy symbol wzorca i ewentualny parametr a następnie naciskamy przycisk Dodaj. Uzupełniamy nazwę nowego wzorca, tytuł wydruku, ustawiamy orientację strony po czym naciskamy przycisk Detale w celu przywołania Generatora raportów, który pozwoli na zaprojektowanie wyglądu wydruku.

Symbol
Należy tu podać symbol wzorca (max. 7 znaków). Musi on zaczynać się od litery i może składać się z liter (za wyjątkiem polskich), cyfr i znaków podkreślenia. Po zapisaniu nie można go już zmienić.

Nazwa
Nazwa wzorca wydruku, która będzie opisywać tworzony szablon.

Parametr
Dodatkowy parametr do identyfikacji wzorca. Dzięki niemu jest możliwe używanie jednego wzorca wydruku dla wielu różnych dokumentów. Przykładem może być wzorzec o symbolu “WZ______”. Użyto go zarówno do wydruku dokumentu WZ jak i oferty (OF) oraz zamówienia (ZO).

Wzorzec domyślny
Zaznaczenie tego selektora spowoduje, że tworzony wzorzec będzie proponowany jako pierwszy na liście wzorców. Dla wydruku dokumentów nadrzędne jest tu ustawienie domyślnego wzorca w opcji Konfiguracja -> Definicje dokumentów.

Prolog
Przycisk przywołuje okno edytora umożliwiające napisanie prologu. Prolog jest programem w języku XBase uruchamianym przed przystąpieniem do wydruku. Napisanie poprawnego prologu wymaga znajomości podstaw języka XBase.

Detale
Przycisk uruchamiający Generator raportów opisany w następnym rozdziale. Pozwala on na zdefiniowanie szczegółów wydruku – schematu, który w czasie wydruku wypełniany będzie konkretnymi danymi.
Przycisk nie jest dostępny dla fabrycznych wzorców wydruku. Aby wprowadzić zmiany do fabrycznego wydruku należy go wybrać z listy wzorców wydruku w okienku Wydruk, dodać nowy na podstawie fabrycznego i w nowym dokonać modyfikacji.

Epilog
Przycisk przywołuje okno edytora umożliwiające napisanie epilogu. Epilog jest programem w języku XBase uruchamianym po wydruku. Napisanie poprawnego epilogu wymaga znajomości podstaw języka XBase.

Tytuł wydruku
Wpisany tutaj tekst służy na niektórych wzorcach do zatytułowania wydruku. Pojawia się w pierwszym wierszu wydruku.

Informacje dla wydruku
Można tu wskazać drukarkę (sterownik drukarki tekstowej), na którą wysyłany będzie ten wzorzec wydruku oraz orientację strony (wymiary użytego papieru).

Orientacja strony
Wybór układu pionowego lub poziomego strony.

2.2. Obsługa generatora raportów

Przykładowy widok generatora ze wzorcem dla tabeli artykułów.

Obszary raportu

Raport podzielony jest na obszary:
Tytułu (Title band) – zawiera informacje, które pojawiają się przed treścią główną raportu

Nagłówek strony (PageHeader) – wyświetlany u góry każdej strony

Nagłówek grupy (GroupHeader) – wyświetlany u góry każdej grupy

Treść raportu (Report Body) – stanowi główną część raportu i zawiera zwykle informacje z pól wybranych baz

Stopka grupy (GroupFooter) – wyświetlany na dole każdej grupy

Stopka strony (PageFooter) – wyświetlany na dole każdej strony głównego raportu

Podsumowanie (Summary) – jedna lub więcej stron pojawiających się na końcu głównego raportu

Obiekty raportu

Raport definiujemy umieszczając w odpowiednich obszarach obiekty raportu. Obiekty dostępne są z paska narzędziowego Report Controls, którego wygląd i dostępne obiekty przedstawia rysunek:

Objaśnienia elementów paska narzędziowego Report Controls:

Select Objects – Włącza możliwość zaznaczania obiektów raportu.

Label – Pozwala definiować stałe napisy.

Field – Pozwala definiować pola (pola z bazy danych, wyrażenia itd.). Uaktywnienie przycisku i kliknięcie w wybranym miejscu raportu powoduje przywołanie okna Report Expression, które służy do definiowania zawartości pola  w raporcie.

Line – Pozwala rysować poziome i pionowe linie.

Rectangle – Pozwala rysować prostokąty.

Roundedrectangle – Pozwala rysować okręgi i prostokąty z różnym stopniem zaokrąglania rogów.

Picture/ActiveX
Bound Control – 
Narzędzie do umieszczania rysunków zdefiniowanych w zewnętrznych plikach graficznych.

Aby dodać obiekt do raportu trzeba wybrać żądane narzędzie z paska Report Controls i kliknąć w wybranym miejscu raportu.

Wybór obiektu
Kliknąć myszką w obszarze obiektu, Należy dodać, iż dla wybranych obiektów dostępny jest mechanizm schowka. Po wybraniu obiektu lub grupy obiektów można je umieścić w schowku (Edycja -> Kopiuj) a następnie skopiować w inne miejsce raportu lub przenieść do innego raportu (Edycja -> Wstaw).

Wybór wielu obiektów
Używać kombinacji klawisza Shift i kliknięcia myszki. Inna metoda to wybrać punkt poza obiektami raportu nacisnąć przycisk myszki i trzymając go przesuwać myszkę tak, aby objąć wymagane obiekty. Proces kończy się po zwolnieniu klawisza myszki.

Usunięcie selekcji
Kliknąć z w puste miejsce raportu.

Przesuwanie obiektu
Kliknąć i przeciągać obiekt za pomocą myszki.

Zmiana wymiarów obiektu
Kliknąć na wybranym obiekcie – wokół niego pojawią się małe kwadraciki, kliknięcie myszą na kwadraciku i przesuwanie myszy powoduje zmianę kształtu/rozmiaru obiektu.

Modyfikacja obiektów
Aby zmodyfikować wygląd obiektu lub grupy obiektów zaznacz je (klikając myszą z ewentualnym przyciśnięciem klawisza Shift) a następnie używaj opcji zawartych w menu Format.
Aby zmodyfikować właściwości obiektu kliknij na nim dwukrotnie – pojawi się okienko definicyjne odpowiednie dla danego obiektu:

  • Tekst (Label) – “Text”. Edycja treści napisu następuje po wybraniu przycisku “Label” z paska narzędziowego a następnie umieszczeniu kursora myszy w obszarze z tekstem.
  • Pole danych (Field) – “Report Expression”
  • Linia (Line) I Prostokąt (Rectangle) – “Rectangle/Line”
  • Zaokrąglony Prostokąt (Rounded Rectangle) – “Round Rectangle”
  • Rysunek (Picture/ActiveX Bound Control) – “Report Picture”

Kliknięcie prawym klawiszem myszy na obiekcie powoduje rozwinięcie menu kontekstowego, w którym dostępne są opcje: kopiowania (Copy), usuwania (Cut), wklejania (Paste), edycji właściwości (Properties) obiektów.

Kliknięcie prawym klawiszem myszy w pustym obszarze wzorca powoduje rozwinięcie menu kontekstowego, w którym dostępne są opcje: wklejania (Paste), podglądu wydruku (Preview), drukowania (Print) oraz tworzenie obszarów grupowania (Data Grouping) i tworzenia środowiska danych dla raportu (Data Environment).

Menu Strona

Ustawienia stronywyświetla dialog układu strony “Page Setup”.

Podgląd wydruku – wyświetla okno podglądu strony. Podgląd wydruku można uzyskać również z menu kontekstowego po kliknięciu prawym klawiszem myszy w pustym obszarze raportu (opcja Preview)
Uwaga: podgląd wydruku wzorca tekstowego uruchomiony z poziomu generatora raportów może odbiegać od wydruku rzeczywistego dlatego radzimy używać przycisku Podgląd w okienku Wydruk.

Menu Format

Menu Format zawiera opcje z paska narzędziowego “Layout”.

Align – opcje wyrównywania obiektów na stronie

Bring to Front/Send to Back – Na wierzch / Pod spód – zmienia porządek nakładania się obiektów (pierwszy na ostatni). Zmienia również kolejność, w której obiekty są dostępne na ekranie.

Group – Grupuj – pozwala zgrupować zaznaczone obiekty a następnie traktować ich jako jeden obiekt

Ungroup – Rozgrupuj – pozwala rozgrupować zaznaczony obiekty

Snap to Grid – włącza/wyłącza przyciąganie obiektów do siatki w czasie ich przemieszczania co ułatwia ich wyrównywanie

Set GridScale – ustawienia odstępów siatki

Font – przywołuje okno Czcionka, z którego wybiera się czcionkę dla aktualnie zaznaczonego obiektu lub grupy obiektów

TextAlignment – ustawienie rodzaju usytuowania tekstu w obiekcie: do lewej, do prawej, wyśrodkowany

Fill – ustawienie rodzaju wypełnienia wnętrza zaznaczonego obiektu

Pen……………….. wybór stylu rysowania dla obiektu (szerokość i rodzaj pędzla)

Mode – włączenie lub wyłączenie przezroczystości obiektu. Opaque – nieprzezroczysty, Transparent – przezroczysty.

Menu Report

Title/Summary – Tytuł / Podsumowanie – włączanie lub wyłączenie sekcji tytułu i podsumowania na raporcie.

Data grouping – Grupowanie danych – zakładanie, edycja grup raportu

Variables – Zmienne – definicja zmiennych dla raportu

Default Font – określenie domyślnej czcionki dla nowo dodawanych napisów (Label) oraz pól danych (Field).

Private Data Session – włączenie prywatnej sesji danych raportu (raczej nie należy korzystać z tej opcji)

Run Report – wydrukowanie raportu (wzorca wydruku).

Na dwóch przykładach pokazane zostanie jak modyfikować wzorce wydruku.

Przykład 1 – usunięcie rabatu z wzorca wydruku faktury.
Wybieramy opcję Sprzedaż -> Dokumenty sprzedaży. W opcji Operacje wskazujemy Wydruk jednego dokumentu, pojawia się okno Wydruk. Wybieramy z selektora wzorzec wydruku, np. F_______ – Faktura VAT. Naciskamy przycisk Dodaj ponieważ nie można poprawiać wzorca fabrycznego. Pojawia się okno Wzorzec wydruku

Wpisujemy unikalny symbol np. F_NOWA oraz nazwę wzorca.

Naciskamy przycisk Detale. Znaleźliśmy się w oknie generatora raportów.

Klikamy lewym klawiszem myszy  na polu pod napisem Rabat i naciskamy klawisz Delete. Pole zniknęło.W analogiczny sposób usuwamy napis Rabat oraz niepotrzebne elementy ramki. Należy teraz wypełnić powstałą lukę, czyli dosunąć resztę ramki i pól. Jak to zrobić?

Zaznaczamy wszystkie obiekty jakie znajdowały się po prawej stronie kolumny Rabat. Wykonujemy to za pomocą klawisza Shift i kliknięcia myszki lub wybierając punkt poza obiektami raportu i poczynając od niego zaznaczamy myszą wybrany obszar. W drugim przypadku zostanie również zaznaczona niepotrzebnie ramka nagłówka i linia pod detalami. Aby je wygasić należy kliknąć na nie przytrzymując klawisz Shift.

Zaznaczone obiekty przesuwamy w lewo za pomocą myszy.
Ramka nagłówka i linia pod detalami są teraz za długie. Klikamy na obiekty i zmieniamy ich rozmiar za pomocą pojawiających się kwadracików.
Aby zapamiętać zmiany we wzorcu wydruku klikamy myszką na krzyżyku znajdującym się w prawym górnym rogu okna. Wyskakuje następujące okienko z komunikatem

Na  pytanie „Do you want to save changes to Report Designer – *.frx” (Czy chcesz zachować zmiany w pliku *.frx) odpowiadamy „Yes”.
W oknie Wzorzec wydruku naciskamy przycisk OK i nowy wzorzec pojawia się w selektorze okna Wydruk.
Zakończyliśmy pracę, a efekty możemy obejrzeć na wydruku lub ekranie komputera, po naciśnięciu przycisku Pokaż.

Przykład 2 – Dołożenia na wydruku zestawienia dokumentów sprzedaży  miejscowości kontrahenta i uzyskanej marży.
Wybieramy opcję Sprzedaż -> Dokumenty sprzedaży -> Drukuj. Na ekranie Wydruk wskazujemy wzorzec „Zestawienie dokumentów”. Dodajemy nowy wydruk naciskając przycisk Dodaj. Pojawia się okno Wzorzec wydruku. Podajemy symbol, naciskamy przycisk Dodaj, wpisujemy nazwę wzorca. Naciskamy przycisk Detale. Pojawia się okno generatora raportów.

Z wzorca pozbędziemy się kolumn W cenie zakupu, W cenie brutto i Kwota VAT, a w ich miejsce wstawimy Miejscowość i Marża. Możemy usunąć kolumny podobnie jak w poprzednim przykładzie, ale możemy również zmienić ich zawartość.
Kolumnę W cenie zakupu zmieniamy na Miejscowość.
Aby zmienić naz wę kolumny wybieramy z paska narzędziowego obiekt Label i klikamy na napisie W cenie zakupu. Pojawi się możliwość edytowania napisu. Kasujemy stary, wpisujemy Miejscowość i klikamy poza obszarem pola kończąc jego edycję.
Aby zmienić zawartość pola klikamy podwójnie na polu wart_zak, pojawia się okno Raport Expresion.

Wybieramy przycisk edycji pola , otwiera nam się nowe okno.

Kasujemy zawartość wyrażenia dla raportu (.wart_zak) a następnie na liście pól wskazujemy MIEJSC (Miejscowość) i potwierdzamy przyciskiem Wybierz pole. W wyrażeniu dla raportu pojawia się „miejsc”. Zamykamy okno przyciskiem OK.

 

Uwaga: pole MIEJSC może nie być dostępne gdyż nie zostało ono włączone do fabrycznego widoku tabeli „Dokumenty sprzedaży”. Aby dodać pole do widoku należy postępować wg wskazówek zawartych w:

⇒ patrz rozdział „Widoki”

Proponujemy usunąć teraz kolumnę W cenie brutto i w jej miejsce przesunąć kolumnę W cenie netto. Da to więcej miejsca dla pola Miejscowość, które może zawierać aż 20 znaków. Zwiększamy więc wielkość pola miejsc. Przy wykonywaniu tych czynności można skorzystać ze wskazówek w poprzednim przykładzie.

Następnie analogicznie do poprzednich operacji zmieniamy kolumnę Kwota VAT na Marża. Kasując zawartość pola suma_vat wskazujemy odpowiednie wyrażenie:

suma_net – wart_zak

(od wartości sprzedaży netto odejmujemy wartość w cenie zakupu)

Należy pamiętać również o polach w obszarze Summary (Podsumowanie) – niepotrzebne wykasować i zmienić zawartość suma_vat tak jak powyżej. Pola w obszarze podsumowania mają zaznaczone sumowanie wszystkich wartości na końcu kolumny. Wykonuje się to w oknie  Report Expression dla danego pola pod przyciskiem Calculations.

Aby zapamiętać zmiany we wzorcu wydruku klikamy myszką na krzyżyku znajdującym się w prawym górnym rogu okna.
Na  pytanie „Save changes to Report Designer – …..frx” (Zachować zmiany w pliku… ) odpowiadamy „Yes”.
W oknie Wzorzec wydruku naciskamy przycisk OK i nowy wzorzec pojawia się w selektorze okna Wydruk.
Zakończyliśmy pracę, a efekty możemy obejrzeć na wydruku lub ekranie komputera, po naciśnięciu przycisku Pokaż.

Prolog i epilog wzorca wydruku

Ekran Wzorzec wydruku zawiera między innymi dwa przyciski: Prolog oraz Epilog. Wybór któregoś z przycisków przywołuje okno edytora tekstu.

Prolog jest programem w języku XBase. W prologu można umieszczać wszelkie polecenia i funkcje języka XBase
Można umieszczać również linie komentarza, które poprzedza się znakiem *. Napisanie poprawnego prologu wymaga znajomości podstaw języka XBase. W szczególności w prologu można otwierać zbiory, zakładać relacje, ustalać porządek używać polecenia SQL SELECT. Pozwala to na budowanie własnych raportów i zestawień. Prolog jest kompilowany i uruchamiany przed rozpoczęciem wydruku.
Poszczególne polecenia i funkcje powinny być pisane w oddzielnych wierszach kończonych klawiszem Enter. Jeśli jakiś wiersz polecenia jest dłuższy od szerokości okna edytora, to proponujemy podzielić ten wiersz na kilka linii przy użyciu klawisza ENTER pamiętając o dodaniu średnika po każdej z linii (oprócz ostatniej).

Prolog został użyty między innymi w fabrycznym wzorcu wydruku stanów magazynowych. Na wydruku będą zawarte nazwy artykułów jeżeli kolumna „nazwa_art” znajdzie się w drukowanym kursorze. W tym celu umieszczono w prologu wiersz, który do otrzymanego z wykonanej analizy kursora (stanymag) doda pole nazwa_art z tabeli artykuły:

SELECT stanymag.* ,artykuly.nazwa_art FROM stanymag, artykuly ;
WHERE stanymag.symbol_art = artykuly.symbol_art ;
INTO CURSOR 'myCursStanMag'

Dla wydruków fabrycznych prolog jest niepoprawialny. Okno edytora przechodzi w stan Tylko odczyt. W oknie edytora działają funkcje zaznaczania bloków i umieszczania w schowku Clipboard.

Epilog, podobnie jak prolog wydruku jest programem w języku XBase. Epilog uruchamiany jest tuż po wydruku. Epilog pozwala przywrócić pewne ustawienia wynikające z prologu wydruku. Dodać należy, że program automatycznie przywraca stan środowiska sprzed wydruku. Sam zdejmuje założone relacje, porządki tabel, bieżący obszar roboczy, wartości zmiennych. Nie potrafi natomiast przywrócić stanu filtrów ustawionych poleceniem SET FILTER TO.

Użyteczne funkcje i polecenia

Użycie zapytań SQL

SELECT SQL jest jednym z najbardziej zaawansowanych i najczęściej wykorzystywanym w programie poleceniem. Jego użycie wymaga sporej wiedzy. Jednak niesie ogromne możliwości w budowaniu własnych zaawansowanych raportów. Każda operacja w programie wiąże się z użyciem zapytania SELECT. Czasem jest to SELECT (nazwijmy go „wewnętrzny”) operujący na tabelach i kursorach już otwartych w programie a czasem jest to SELECT (nazwijmy go „zewnętrzny”) operujący na danych zawartych na serwerze SQL. Składnia przytoczonych wyżej typów polecenia SELECT jest taka sama. Jest jednak różnica w sposobie jego wywołania.
Przykład użycia SELECTA wewnętrznego ilustruje prolog do wzorca ST_MAG (przytoczony w poprzednim rozdziale).

Przykład użycia SELECTA zewnętrznego:

lcComm1="SELECT artykuly.symbol_art, artykuly.nazwa_art, artykuly.symbol_jm, " + ;
"rozch.ilosc, przych.cena " + ;
"FROM artykuly, poz_dok, rozch,przych " + ;
"WHERE poz_dok.klucz_dok LIKE '"+ALLTRIM(nagl_dok.klucz_dok)+"%' " + ;
" AND artykuly.symbol_art = poz_dok.symbol_art " + ;
" AND poz_dok.klucz_dok = rozch.klucz_roz " + ;
" AND poz_dok.symbol_art = rozch.symbol_art" + ;
" AND poz_dok.pozycja = rozch.pozycja_r " + ;
" AND rozch.klucz_prz = przych.klucz_prz " + ;
" AND rozch.symbol_art = przych.symbol_art " + ;
" AND rozch.pozycja_p = przych.pozycja"

mySQLEXEC(lcComm1, .F., "myCurs")

Ze względu na to, że SELECT zewnętrzny musi wykonać się po stronie serwera SQL, koniecznym jest użycie tzw. komendy przesyłowej. Implementacją komendy przesyłowej w programie jest funkcja MYSQLEXEC, której parametrami są:
1 – pełny tekst polecenia SELECT
2 – nazwa tabeli po stronie serwera, której zawartość chcemy otrzymać
3 – nazwa kursora wynikowego
Parametr 2 zazwyczaj się opuszcza gdyż podanie pełnego tekstu polecenia SELECT w parametrze 1 jest rozwiązaniem preferowanym.

W powyższym przykładzie polecenie SELECT operujące na trzech tabelach z bazy na serwerze SQL, zapisane jest jako ciąg znaków do zmiennej lcComm1. Zmienna ta wstawiona jest następnie jako parametr do funkcji MYSQLEXEC. Drugim parametrem jest wartość logiczna „False” (jako, że użyliśmy pełnego zapytania w parametrze 1). Trzecim parametrem jest nazwa kursora („myCurs”) jaką chcemy otrzymać w wyniku zadziałania komendy przesyłowej z w/w poleceniem SELECT.
Polecenie:

mySQLEXEC(„”, "artykuly", "MojKursor")

powoduje utworzenie kursora o nazwie “MojKursor” na podstawie tabeli „artykuly” ze wszystkimi jej kolumnami i rekordami. Jest to równoważne z wydaniem polecenia:

mySQLEXEC(„SELECT * FROM artykuly”, .F., "MojKursor")

Polecenie SELECT jak i wszystkie inne polecenia języka TRANSACT SQL (wykonywane po stronie serwera) muszą być z poziomu programu wydawane z użyciem komendy przesyłowej MYSQLEXEC.
Pełny opis polecenia SELECT SQL i innych poleceń SQL znajduje się w pomocy do narzędzia SQL Query Analyzer oraz Visual FoxPro.

Ustalanie porządku

Aby ustalić porządek jakiejś tabeli użyj polecenia SET ORDER TO TAG

Przykład:
Aby uporządkować tabelę kontrahentów w porządku symbolu (numeru) kontrahenta napisz:
INDEX ON symbol_ktr TAG symbol_ktr
SET ORDER TO TAG symbol_ktr
Użycie polecenia INDEX jest konieczne gdyż w programie indeksy znajdują się wyłącznie po stronie serwera i nie mają swojego odzwierciedlenia w kursorach po stronie klienta (programu).

Zakładanie relacji

Do zakładania relacji używaj funkcji programu setrel(). Funkcja ta oprócz założenia samej relacji wyklucza jednocześnie pewne konflikty np. relacje cykliczną.
Przykład:
Aby założyć relację z bieżącej tabeli na tabelę KONTRAH napisz:
setrel(‘symbol_ktr’,’kontrah’)
Uwaga: tabela (a właściwie kursor) „kontrah” musi być poindeksowany względem kolumny symbol_ktr.

Zmiana aktualnego obszaru

Aby zmienić aktualny obszar użyj polecenia SELECT

Przykład:
Aby zmienić aktualny obszar roboczy na KONTRAH napisz:
SELECT kontrah

Import i eksport wzorców wydruku

Wzorce wydruku można przenosić między firmami w ramach programu CORAX między wszystkimi jego wersjami dla Windows. Funkcje eksportu i importu wzorców wywoływane przyciskami Eksport i Import na ekranie Wydruk, umożliwiają przenoszenie wzorców z firmy do firmy, kopiowanie wzorców na dyskietki lub inne nośniki w celu zarchiwizowania ich lub wysłania jako załącznik do listu elektronicznego.

⇒ patrz rozdział Wydruki

Import wzorców polega na przegraniu, do aktualnej firmy, wzorców wydruku dostarczonych na zamówienie przez producenta programu lub wyeksportowanych z innej firmy.

Selektorem Import z programu  ustalamy, z której wersji systemu CORAX pochodzi importowany wzorzec. Pozostałe kontrolki okna importu :

Odczytaj z
Wybór źródła, z którego ma być odczytany plik FRX._LBX.DBF z definicją importowanych wzorców. Do wyboru jest katalog jednej z firm zarejestrowanych w programie, Stacja A, lub inne Dowolne położenie.
Jeśli zostało wskazane Dowolne położenie wyboru pliku FRX_LBX.DBF dokonuje się poprzez dialog wywoływany pod przyciskiem.

Tabela
Tabela zawiera spis przygotowanych we wskazanym pliku do importu wzorców wydruku. Naciśnięcie klawisza SPACJA, lub kliknięcie na znakupowoduje zaznaczenie/odznaczenie wzorca do importu.

Zaznacz wszystkie
Zaznacza wszystkie pozycje listy wzorców.

Usuń znaczniki
Po uaktywnienia przycisku żadna z pozycji listy wzorców nie będzie zaznaczona.

Import
Wykonanie importu zaznaczonych wzorców do wskazanej na liście firmy.

Eksport wzorca następuje po jego wybraniu z listy na ekranie Wydruk i naciśnięciu przycisku Eksport. Pojawi się okno Eksport wzorców wydruku, na którym przy pomocy selektora Zapisz do i Plik wskazujemy miejsce docelowe.

Po naciśnięciu przycisku Eksport wzorzec zostanie skopiowany do wybranego miejsca.

Wtyczki

Jest to bardzo elastyczne rozwiązanie umożliwiające wprowadzanie własnych funkcji  i/lub własnych formularzy. W każdym miejscu w systemie gdzie jest opcja Narzędzia  można dodawać własne funkcje. Mogą to być funkcje wewnętrzne  lub zewnętrzne. Głownie moduł powstał z myślą o podpinaniu własnych formularzy do list lub pozycji dokumentów.

Każda zdefiniowana przez użytkownika funkcja może zostać przypisana do klawisza Operacje  lub wyświetlona w postaci ikony obok klawisza operacje.

W ramach rozbudowy stworzono system uprawnień obejmujący grupy użytkowników lub konkretnych operatorów.

Jeżeli chcemy dodać nową funkcje użytkownika wchodziły w opcję Narzędzia-> Funkcje użytkownika. Następnie korzystając z przycisku +, dodajemy nową funkcje.

W polu Opis wpisujemy nazwę funkcji. Jeżeli funkcja jest już utworzona i chcemy ją tylko podpiąć korzystamy z opcji Funkcja zewnętrzna, gdzie wskazujemy miejsce z którego chcemy podpiąć plik.

Jeżeli chcemy utworzyć nowa funkcję, korzystamy z opcji Funkcja wewnętrzna, a następnie wchodzimy w opcję Edytor funkcji prywatnej, gdzie możemy napisać kod funkcji.

Przy tworzeniu funkcji użytkownika, funkcji prywatnych, prologów i epilogów dokumentów możliwe jest wywoływanie uprzednio skompilowanych programów i aplikacji. Na formularzach funkcji użytkownika znajduje się pole gdzie można wpisać przy pomocy składni Visual FoxPro wywołanie pliku zewnętrznego przekazując mu parametry.

Możemy również określić, gdzie funkcja ma być widoczna:

Jeżeli zaznaczymy opcje w menu kontekstowym, pojawi się na liścia, jaka się pojawia po użyciu przycisku Narzędzia.

Jeżeli wskażemy opcję na pasku narzędziowym wówczas funkcja będzie dostępna na pasku narzędziowym tabeli lub formularza.

Wybranie opcji w menu i na pasku oznacza, że funkcja będzie dostępna po wciśnięciu F12, tak jak poniżej. Do funkcji możemy wybrać ikonę.

Dla poszczególnych wtyczek możemy nadać uprawnienia. Uprawnienia mogą dotyczyć profili uprawnień lub poszczególnych operatorów.

Kolejnośc funkcji użytkownika

Istnieje możliwość ustalenia kolejności funkcji użytkownika. Zmiana kolejności jest możliwa przez drag and drop pozycji z listy (kolejność ustalana poprzez miejsce na liście) lub przyciskiem “Sortuj alfabetycznie [A-Z]”, znajdującego się na dole formularza.

Zapis kolejności dokonywany jest podczas zamykania formularza lub wyjście przez przycisk “Wróć”. Podczas opuszczania formularza z listą funkcji użytkownika przy liczbie opcji większej niż 1, użytkownik dostanie komunikat “Zapamiętać kolejność pozycji?”. Wybierając przycisk “TAK”, zostanie zapamiętana kolejność z listy funkcji użytkownika, przycisk “NIE” pomija zapis.

Prologi i epilogi do dokumentów i kartotek

Kolejne opcje nie wymagają tworzenia dodatkowych przycisków do ich uruchamiania. Są one powiązane ze zdarzeniami, które zachodzą przy tworzeniu dokumentu. Zwalnia to użytkownika z potrzeby pamiętania, że należy jeszcze uruchomić dodatkową funkcję, lecz zawsze wykonują się przy zatwierdzaniu nagłówka, pozycji lub całego dokumentu.

Opcje te to:

  1. Prolog do dokumentu
  2. Epilog do dokumentu (przed lub po kodzie programu)
  3. Epilog do pozycji dokumentu

Możliwość wypełnianie kodem  każdej z powyższych opcji jest dostępna w definicji dokumentu (Konfiguracja à Definicje dokumentów) i związana z konkretnym rejestrem dokumentu. Na przykład: można inny kod umieścić w rejestrze F /1 faktur sprzedaży, a inny w rejestrze F /2.

Poniżej rysunek obrazujący to dla dokumentu faktury sprzedaży

Prolog do dokumentu

Prolog do dokumentu wykonuje się w momencie zatwierdzania nagłówka dokumentu  (np. przy przechodzeniu do wypełniania pozycji). Należy jednak zwrócić uwagę, że w czasie wykonania prologu nagłówek dokumentu nie jest jeszcze zapisany w bazie. Stwarza to pewne możliwości, ale również ograniczenia.

Po pierwsze można sprawdzać, czy dane nagłówkowe spełniają określone kryteria i nie dopuszczać do zapisania nagłówka (dopuszczać warunkowo). Prolog powinien wówczas zwracać wartość .F. (false). Program sprawdza, czy została zwrócona wartość .F. i sterowanie pozostaje w nagłówku dokumentu.

(Uwaga: Aby uzyskać taki efekt należy w kodzie sprawdzającym umieścić instrukcję RETURN .F.)

Po drugie można sterować wartościami wypełnionymi w polach formularza. Wszystkie te dane są w dokumencie dostępne  w zmiennych pamięciowych (np. w zmiennych: m.symbol_ktr, m.termin_pl, m.odbior, itp.) i można zmienić ich wartość przed zapisaniem nagłówka do bazy. Oczywiście zmiana taka musi być dobrze przemyślana przez programistę, ponieważ może rodzić nieprzyjemne konsekwencje, np. blokowanie pracy w dokumencie lub błędne zapisy w bazie.

Po trzecie, to że w czasie wykonywania prologu nagłówek dokumentu nie jest jeszcze zapisany, uniemożliwia zapisanie w nagłówku informacji w dodatkowym polu, które nie jest dostępne fabrycznie – pole użytkownika (dla przypomnienia pola użytkownika dodawane do tabel muszą mieć nazwę rozpoczynającą się od litery Q). Pole takie można wypełnić, np. przy zatwierdzaniu całego dokumentu czyli w opisanym niżej Epilogu do dokumentu.

Epilog do dokumentu

Epilog do dokumentu wykonuje się, kiedy operator wychodzi z formularza dokumentu (np. po naciśnięciu klawisza OK.) i jest związany z kodem programu zatwierdzającym dokument.

W tym przypadku stworzono dwie możliwości:

  • można umieścić kod epilogu przed kodem programu,
  • można również epilog umieścić po kodzie Programu.

Jest to istotne rozróżnienie szczególnie w przypadku, kiedy chcemy zmieniać wartość fabrycznych pól nagłówka dokumentu.

Przy zatwierdzaniu dokumentu program aktualizuje wartości zapisane w bazie wartościami, które aktualnie są zapisane w zmiennych pamięciowych. Możemy więc modyfikować wartości tych zmiennych i pozostawić systemowi zapisanie ich w bazie. Oczywiście wówczas taki kod musi zostać umieszczony w Epilogu do dokumentu przed kodem programu.

Możemy także modyfikować wartości pól nagłówkowych używając instrukcji przesyłowych (SQLEXEC lub mySQLEXEC), ale wtedy taki kod powinien być umieszczony w Epilogu do dokumentu po kodzie Programu.

W Epilogu do dokumentu, podobnie jak w prologu, można nie dopuścić do wyjścia z dokumentu. Wystarczy w kodzie umieścić instrukcję RETURN .F.

program sprawdza, jaką wartość zwraca epilog i jeśli jest to False, nie wychodzi z formularza.

Epilog do pozycji dokumentu

Epilog do pozycji dokumentu wykonuje się po opuszczaniu formularza pozycji dokumentu.

Można w tym epilogu umieścić kod własnej funkcji i/lub własnego formularza, który może wykorzystywać dostępność zmiennych opisujących aktualną pozycję dokumentu. Nie można natomiast sterować opuszczeniem formularza pozycji dokumentu. Formularz pozycji zamknie się bez względu na to, czy epilog zwróci wartość False czy True.

Epilog do pozycji w obecnej wersji programu jest dostępny dla poniższych rodzajów dokumentów:

  • Faktura sprzedaży (F)
  • Faktura do paragonu
  • faktury do wielu paragonów,
  • korekty faktury do paragonu
  • korekty faktury do wielu paragonów
  • Zamówienie na sprzedaż (ZS)
  • Zamówienia na zakup (ZZ)
  • Wydanie na zewnątrz (WZ)
  • Przyjęcie z zewnątrz (PZ)
  • Przychód (P)
  • Rozchód (R)
  • Oferty dla klientów (OF)

Epilog do karty kontrahenta

W kartotece kontrahentów, w opcji dostępnej pod F12 – ustawienia dla kontrahenta, mamy możliwość zdefiniowania epilogu, który ma za zadanie zabezpieczać, kontrolować i sprawdzać dodawanie nowych kontrahentów według zapotrzebowania użytkownika.

Epilog do karty artykułu

Po wejściu w Konfigurację – Ustawienia Globalne – Ustawienia dla artykułów, dodano możliwość zdefiniowania epilogu do karty artykułu. Wprowadzenie tej funkcji umożliwia zabezpieczanie, sprawdzanie i kontrolowanie dodawania artykułów zgodnie z potrzebami użytkownika.

Prologi i epilogi w dokumentach kasowych i bankowych

Rachunki bankowe

W menu Konfiguracja -> Rachunki bankowe, po wyborze rachunku udostępniony został na formularzu przycisk Prologi/Epilogi, po wybraniu którego dostępna jest lista funkcjonalności:

  • Prolog – Wyciąg bankowy
  • Epilog – Wyciąg bankowy
  • Prolog BP/BW
  • Epilog BP/BW (epilogi wykonują się po kodzie fabrycznym)
  • Epilog do pozycji BP/BW.

Pod przyciskiem „Cechy” znajdziemy: Cechy do nagłówka BP/BW.

Kasy

Podobnie jest po wybraniu menu Konfiguracja -> Kasy. Po wyborze konkretnej kasy, dostępne są:

  • prolog KP/KW
  • epilog KP/KW (po kodzie fabrycznym)
  • epilog do pozycji KP/KW

Pod przyciskiem „Cechy” znajdziemy: Cechy do nagłówka KP/KW.

Prologi i epilogi w konfiguracji e-faktur i korekt e-faktur

W związku z pojawiającymi się głosami o możliwość sterowania, dopisywania funkcjonalności reagujących na wysyłkę e-faktury do mechanizmu e-faktur oraz korekt e-faktur od wersji 3.62 została dodana obsługa prologu i epilogu.

Na formularzach definicji e-faktury i korekty e-faktury dodano dwa przyciski: PROLOG oraz EPILOG. Jest to miejsce w którym użytkownik może wprowadzić swój własny kod w języku VFP analogicznie jak w przypadku prologów i epilogów do dokumentów.

Kod wpisany pod przyciskiem PROLOG wykona się tuż przed generowaniem i wysyłką e-faktury natomiast kod pod przyciskiem EPILOG wykona się zaraz po zakończeniu tworzenia (lub i wysyłki) dokumentu.

Dzięki tej funkcjonalności możliwe jest pisanie kodu z wykorzystaniem zmiennej sterującej wzorcem lub każdy inny którym możemy warunkować wysłanie e-faktury lub też dokonujący operacji po wysłaniu takiej e-faktury.

 

Funkcje prywatne

Środowiko rozszerzeń pozwala również na wzbogacenie programu o nowe funkcje i możliwości dostosowane do indywidualnych potrzeb klienta.
Funkcje prywatne umożliwiają napisanie i wykonanie własnego programu w języku Visual FoxPro oraz funkcji zaimplementowanych w programie. Możliwe jest również wykonanie zewnętrznego programu lub procedury napisanej na życzenie klienta.

Tworzenie funkcji prywatnych przeznaczone jest dla osób dobrze zorientowanych w tematyce komputerowej, głównie programistów i  wdrożeniowców.
Funkcje prywatne posiadają system uprawnień obejmujący zarówno grupy użytkowników jak i konkretnych operatorów.
Funkcja prywatna może być zewnętrznym programem napisanym przy pomocy Visual FoxPro zarówno w postaci plików APP , EXE oraz skompilowanych poszczególnych funkcji FXP lub SPX. Program taki może w pełni korzystać z niektórych zmiennych jak również ze wszystkich funkcji wewnętrznych programu. Wykaz funkcji udostępniony jest w SDK.
Funkcja prywatna może być również – analogicznie do prologu wydruku – ciągiem instrukcji języka Visual FoxPro wpisanym w polu  edycji zatytułowanym Treść funkcji wewnętrznej. Pole to jest aktywne po wyborze opcji Funkcja wewnętrzna.

Osoby zainteresowane tworzeniem funkcji prywatnych prosimy o kontakt z dostawcą oprogramowania lub działem serwisu firmy Humansoft.

⇒ patrz rozdział: Wydruki -> Prolog i epilog wzorca wydruku

Funkcje prywatne mogą być przydatne do wykonania własnej analizy lub korekty danych.

Przegląd rozwiązań indywidualnych

Opcja Przegląd rozwiązań indywidualnych dostępna z menu Administracja, pokazuje zbiorczo wszystkie indywidualne rozwiązania będące aktualnie w systemie, czyli:
• Funkcje prywatne,
• Prywatne wzorce wydruków,

Przegląd rozwiązań indywidualnych umożliwia podgląd oraz edycję rozwiązań zaimplementowanych w systemie. Możemy również przeglądać oraz edytować opisy do każdego z rozwiązań. W związku z tą możliwością pojawiły się pola z opisem w Funkcjach prywatnych, oraz we Wzorcach wydruków.

Broker

Broker jest faktycznie systemem pracującym w trybie „zdalnego sterowania”. To, co może zrobić operator jest ograniczone tylko do jednego formularza obsługującego m.in. wprowadzanie parametrów potrzebnych do komunikacji z systemem wewnętrznym, zatrzymywanie i wznawianie nasłuchu, oglądanie logów. „Obsługa” systemu, m.in. dodawanie i edycja niektórych dokumentów, uzyskiwanie danych, odbywa się za pomocą poleceń w języku XML, które system otrzymuje od aplikacji zewnętrznej, z którą się komunikuje. Aplikację tę będziemy dalej nazywać klientem. Opis tych poleceń dostępny jest z poziomu systemu (Administracja -> Przegląd poleceń Brokera). Efekt wykonania polecenia i ewentualne informacje o błędach odsyłane są również w formacie XML.
Ponieważ Broker jest faktycznie systemem obsługującym otrzymywane polecenia, sekwencja otrzymywania niektórych poleceń nie może być dowolna. Oczywiście można pobrać dane artykułów, kontrahentów lub inne w dowolnej kolejności, ale np. dodanie dokumentu wymaga wysłania kolejno poleceń dodania nagłówka dokumentu, potem pozycji a na końcu polecenia zamykającego dokument (tak jak w Coraxie niemożliwa jest jednoczesna edycja dwóch dokumentów). Oczywiście pomiędzy tymi poleceniami mogą się pojawić inne, nie zaburzające sekwencji dodawania dokumentu (np. pobranie danych artykułu), ale już np. odebranie polecenia dodania kolejnego dokumentu przed zamknięciem właśnie dodawanego skończy się informacją o błędzie wysłaną do klienta.
Tak jak Corax nie pracuje bez zalogowanego operatora do określonej firmy, tak samo Broker potrzebuje informacji o operatorze i firmie. Można je podać jako parametry podczas uruchamiania programu, klient może też mieć własny mechanizm logowania, wykorzystujący odpowiednie polecenia Brokera.
Do komunikacji z klientami wykorzystywany jest mechanizm gniazd (socket). Umożliwia on otwarcie kanału komunikacyjnego pomiędzy Brokerem a klientem. Każde gniazdo posiada adres IP oraz numer portu. Broker „nasłuchuje”, czy na porcie pojawia się kolejne polecenie od klienta. Jeżeli tak, interpretuje je i wykonuje, a wyniki odsyła, korzystając z informacji o adresie IP i numerze portu, na którym nasłuchuje klient.
Lista poleceń, jakie możemy wysyłać do Brokera jest z dnia na dzień rozszerzana, co z każdą chwilą coraz bardziej zwiększa możliwości integracji z innymi systemami.
Aby lepiej wyobrazić sobie funkcje jaką pełni broker, możemy go przyrównać do wirtualnego pracownika który np.: przyjmuje zamówienia z portalu B2B i wprowadza je do programu Corax.

Poniżej znajduje się schemat blokowy użycia brokera, który może pomóc zrozumieć czym jest broker.

Należy pamiętać ze wykorzystanie modułu brokera, czyli mechanizmu umożliwiającego dostęp do informacji programu Corax w zakresie pobierania i zapisywania informacji w systemie zgodnie z jego logiką przy wykorzystaniu wbudowanych funkcji m.in tworzenia dokumentów, pobierania informacji o asortymencie, kontrahentach itp. jest obecnie najbardziej wskazaną i najbezpieczniejszą z punktu widzenia spójności danych metodą integracji.

Broker jako pośrednik umożliwiający komunikację, pomiędzy coraxem a innymi aplikacjami umieszczonymi w strukturze rozproszonej wykorzystywany jest do działania takich aplikacji  Humansoft jak Portal pracowniczy, B2B, aplikacje mobilne. W celu uruchomienia brokera, poza samym modułem wymagana jest  jedna stacja kliencka.
Moduł jest stale rozwijany o kolejne funkcje, w zależności od potrzeb jakie się pojawią zarówno od klientów i od partnerów.

5.1. Wywołanie brokera

Wywołanie brokera:
“<<sciezka do pliku exe>>corax.exe” “<<symbol firmy>>” “<<symbol operatora>>” “<<hasło>>” “<<stacja>>” <<czy broker>> “<<IP klienta brokera>>” <<port klienta brokera>>” “<<powiadomienia>>” “<<IP brokera>>” “<<port brokera>>” “<<podtrzymanie połączenia>>” “<<szyfrowanie SSL>>” “<<echo>>” “<<log>>”

Przykład:

  • Wywołanie brokera należy napisać w notatniku a następnie zapisać z rozszerzeniem *.BAT, np. „Wywołanie_brokera.bat”.
  • Tylko w przypadku systemowego operatora SZEF należy poprzedzić symbol podkreśleniem „_” → ”_SZEF”. W każdym innym operatorze stworzonym przez użytkownika, podkreślenia nie stosujemy np. ”ABC”.
  • Jeśli chcemy, żeby broker łączył się nie tylko z jednym klientem, zamiast IP klienta i Port klienta, należy wstawić symbol # za każde z nich.
  • Adres IP brokera ma sens tylko w przypadku komputerów z wieloma kartami sieciowymi, pozwala wymusić komunikację przez jedną z nich.
  • W przypadku braku hasła do konta operatora należy zamiast hasła wstawić symbol #. Jednak zalecamy stosowanie hasła.
  • *Cztery ostatnie cyfry to informacja czy dany checkbox ma być zaznaczony; 0 = nie zaznaczony, 1 = zaznaczony. Cyfry oznaczają kolejno (od lewej): Podtrzymywanie połączenia, SSL, Echo, Rejestracja logu

5.2. Polecenia brokera

Polecenia brokera można przejrzeć z poziomu systemu w menu Admin -> Przegląd dostępnych Poleceń brokera.