Budowa interfejsu administratora

TfmCustomBLForm

Klasa ta odpowiada analogicznej klasie formularza w Delphi – jest to macierzysty formularz dla wszystkich okien systemu IC. Właściwości: 

Właściewości są analogiczne, jak w Dephi Funkcje: function PrintDokument(aidx_dokumentu : integer; ShowDialog : boolean = false; awersja integer = -1):boolean

Drukuje wskazany istniejący w bazie dokument – należy podać idx_dokumentu.

Jeśli awersja = -1, wówczas drukuje aktualny dokument;

Gdy ShowDialog = true, wówczas prezentowane jest okno dialogowe drukarki.

Funcja może niekiedy działać nieco inaczej zależnie od rodzaju dokumentu. function OpenFormStr (SourceString : string) : TfmCustomBLForm

Otwiera dowolny formularz systemu i zwraca wskaźnik do niego (tym się różni od analogicznej funkcji globalnej, która zwraca ewentualny kod błędu).

Pokazuje ona formularz na podstawie stringu.

String zawiera jedną z 3 kombinacji:

           

Nazwę_klasy,TaskCode,Modal,RozmiarOkna              (gdzie modal: 0 - niemodalne;   1 - modalne);

TaskCode zwykle 1 - edycja;  2- nowy wpis (rzadko supportowane);

Niektóre formularze dopuszczają inne kody

- np. formularz pobytów otrzymuje tu idx_raportu dla ktorego mamy otworzyć dokument

idx_zapytania,Moda,RozmiarOkna l;  (czyli dodatni idx zapytania)

-idx_raportu,Modal,RozmiarOkna;    (czyli ujemny idx oznaczający idx_raportu)

Nowe okno jest otwierane w kontekście aktualnego DataSource.

Gdzie opcjonalny RozmiarOkna oznacza string określający pozycję i rozmiar otwieranego okna.

String ten ma postać:  X(poz_x)Y(poz_y)DX(rozmiar_x)DY(rozmiar_y)

Poszczególne rozmiary mogą być pominięte.

        Przykładowe wywołania:           

        108                            - otwiera zapytanie 108

        108,1,X(100)Y(50)        - otwiera zapytanie 108 w trybie modalnym w pozycji (100,50)

        -708                            - otwiera raport nr 708  (może to być np. okno dialogowe)

        TfmNFZ07Umowy,1,1   - otwiera formularz Umów NFZ w trybie edycji, jako okno modalne  (dopuszczalne jest też:       fmNFZ07Umowy,1,1)

UWAGA: Otwarcie okna modalnego blokuje dalsze wykonywanie skryptu – do momentu zamknięcia okna.

Przykładowa procedura otwierająca okno wyszukiwania pacjenta:

procedure Button1OnClick(Sender: TfrxComponent);

var

       fm : TfmCustomBLForm;                                                      

begin

  fm := ParentForm.OpenFormStr('108,0,X(10)Y(10)DX(1000)DY(100)');

  fm.OpenFormStr('TfmPacjent,1,0,X(10)Y(130)');

end; function ChkRights(ARights : string):boolean

Sprawdza uprawnienia zalogowanej osoby zgodnie z podanym stringiem. Nie sprawdza uprawnień powiązanych z konkretnym badaniem, pobytem, lub pacjentem. procedure PrintReport(idx_Rap : integer; NewCopy : boolean = false)

Drukuje/pokazuje raport o podanym idx. NewCopy powoduje, że zostanie otwarta nowa kontrolka raportu. function CanOpenForm(cls : string; TaskCode : integer) : boolean

Sprawdza, czy wolno nad oknem otworzyć okno o klasie cls z podanym TaskCode. Nowe okno jest testowane w kontekście aktualnego DataSource            procedure Refresh

Funkcja powoduje odświeżenie zawartości aktualnego DataSource.