Drukowanie raportów Jasper z Oracle Apex - część 2
Z tego tutoriala dowiesz się jak zintegrować Oracle Apex z serwerem raportów Jasper. Jeśli nie wiesz jak zainstalować i skonfigurować środowisko Jasper Reports, przeczytaj nasz wcześniejszy poradnik. Dowiesz się z niego które komponenty potrzebujesz i jak przygotować i udostępnić swój pierwszy raport.
Tworzenie strony w Oracle Apex
Najczęściej potrzeba jest następująca. W Apex przechodzimy do strony gdzie mamy przycisk "drukuj" lub "pobierz" po którego wciśnięciu możemy pobrać lub wyświetlić dokument. Przycisk powowoduje połączenie się danym adresem URL do którego wysyłamy dane logowania i dodatkowe parametry jak np numer faktury czy zakres czasowy raportu.
Nasz przycisk nazywać się będzie "generate_document". Po jego utworzeniu przejdź do zakładki "Processing" i utwórz nowy proces - "create process". Nadaj mu nazwę "call_jasper". Typ procesu to "PL/SQL Code". W sekcji "Server-side conditions" wybierz "When button pressed" i przycisk "generate_document".
Ważne: pamiętaj by we właściwościach strony, w sekcji "Advanced => Reload on Submit" ustawić "Always". Inaczej po wciśnięcku przycisku otrzymasz komunikat:
Error: SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
Oracle apex zawartość raportu w zależnosci od roli użytkownika w systemie
W Oracle Apex możesz nadawać uprawnienia do formularzy (stron) lub nawet do obiektów (komponentów) na danej stronie. Czasami jednak chcesz pozostawić tę samą stronę dla różnych ról w systemie i zarządzać treścią na poziomie SQL który jest źródłem danych formularza lub raportu. W ten sposób dane mogą być wyświetlane bardziej elastycznie dla jednej lub wielu ról i nie wymaga to tworzenia wielu stron.
Oracle Apex - programowanie akcji przycisku z dialogiem potwierdzenia wykonania operacji
Krótki tutorial jak oprogramować przycisk w Apex by po jego kliknięciu użystkownik potwierdził lub odrzucił wykonanie operacji. Jeśli potwierdził, wykonaj nn. kasowanie zawartości tabeli.
Umieść przycisk w aplikacji
Umieść przycisk w aplikacji. Nazwij go np. 'delete_products'. Jako 'Behavior' wybierz "Redirect to URL" a w polu "Target" wpisz "javascript:delete_products();"
Utwórz funkcje JavaScript
Utwórz funkcje JavaScript która będzie pytać użytkownika o potwierdzenie zamiaru wykonania operacji która wykona się po wciśnięciu przycisku. W tym celu idź do właściwości strony na której znajduje się przycisk i w polu "HTML Header" wpisz:
<script type="text/javascript">
function delete_products() {
apex.confirm('Czy naprawdę chcesz skasować dane?','del_products');
}
</script>
Oracle Apex - jak pobrać wartość własnie zaktualizowanej kolumny widoku Interactive Grid za pomocą Java Script
Kiedy aktualizujęsz pole kolumny [zdarzenie „zmiana”] często musisz odczytać dane z tej komórki. Domyślnie działa to TYLKO dla komórek, które mają wartości po załadowaniu grid/strony. Nie działa w przypadku świeżych wartości które właśnie wprowadziłeś. Zmienna jest pusta. Jeśli wrócisz do tego pola, nowa wartość się pojawi. Wygląda na to, że pole nie jest tak naprawdę aktualizowane przed wywołaniem zdarzenia.