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.