Informatyzacja Przedsiębiorstw

Podobne dokumenty
Informatyzacja Przedsiębiorstw

Informatyzacja przedsiębiorstw

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Informatyzacja Przedsiębiorstw

UMOWY INSTRUKCJA STANOWISKOWA

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

Informatyzacja Przedsiębiorstw

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Informatyzacja Przedsiębiorstw

Informatyzacja Przedsiębiorstw

Informatyka II. Laboratorium Aplikacja okienkowa

BAZY DANYCH Panel sterujący

5.4. Tworzymy formularze

CitiDirect BE Portal Eksport

Projekt Hurtownia, realizacja rejestracji dostaw produktów

2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.

REJESTRACJA PROJEKTÓW

CitiDirect EB Portal Eksport

DIAGNOSTYKA DIAGNOSTYKA

Lokalizacja jest to położenie geograficzne zajmowane przez aparat. Miejsce, w którym zainstalowane jest to urządzenie.

MS Excel 2007 Kurs zaawansowany Obsługa baz danych. prowadzi: Dr inż. Tomasz Bartuś. Kraków:

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Instalacja i obsługa aplikacji MAC Diagnoza EW

Tworzenie bazy danych na przykładzie Access

Obszar Logistyka/Zamówienia Publiczne

Informatyka Ćwiczenie 10. Bazy danych. Strukturę bazy danych można określić w formie jak na rysunku 1. atrybuty

Plan. Formularz i jego typy. Tworzenie formularza. Co to jest formularz? Typy formularzy Tworzenie prostego formularza Budowa prostego formularza

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Compas 2026 Vision Instrukcja obsługi do wersji 1.07

T A B E L E i K W E R E N D Y

Obsługa pakietu biurowego OFFICE

NOWY SZABLON IMPORTU PLIKÓW

Viatoll Calc v1.3. Viatoll Calc. Instrukcja użytkownika. Strona 1

KORPORACYJNE SYSTEMY ZARZĄDZANIA INFORMACJĄ

Moduł Handlowo-Magazynowy Przeprowadzanie inwentaryzacji z użyciem kolektorów danych

Dokumentacja ARTEMIZJON 2. Opis modułu CRM aplikacji Artemizjon 2.

Rejestracja nowego kontrahenta. Instrukcja stanowiskowa

Obszar Logistyka/Zamówienia Publiczne. Rejestr zamówień publicznych. Instrukcja użytkownika

Formularze w programie Word

Karty pracy. Ustawienia. W tym rozdziale została opisana konfiguracja modułu CRM Karty pracy oraz widoki i funkcje w nim dostępne.

Rejestracja nowego kontrahenta. Instrukcja stanowiskowa

BAZY DANYCH Formularze i raporty

Konfiguracja i uruchomienie usługi Filtry adresów IP dla użytkowników Centrum Usług Internetowych dla Klientów Banku Spółdzielczego w Łęcznej.

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

NOL3. Zarządzanie zleceniami. 1. Transakcyjne funkcjonalności aplikacji NOL3. Biuro Maklerskie Zlecenia

Budowa aplikacji ASP.NET współpracującej z bazą dany do obsługi przesyłania wiadomości

Uzupełnij pola tabeli zgodnie z przykładem poniżej,

I. Interfejs użytkownika.

Przygotowanie formularza do wypożyczenia filmu:

Obszar Logistyka/Zamówienia Publiczne. Umowy i Rejestr depozytów (zabezpieczeń wykonania umów) Instrukcja użytkownika

dokumentacja Edytor Bazy Zmiennych Edytor Bazy Zmiennych Podręcznik użytkownika

Program Rejestr zużytych materiałów. Instrukcja obsługi

QUERY język zapytań do tworzenia raportów w AS/400

Informatyzacja Przedsiębiorstw

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

SimplySign logowanie i rejestracja na komputerze oraz dodanie certyfikatu do programu Płatnik

Obszar Księga Główna. Harmonogramy księgowań. Instrukcja użytkownika

SKRÓCONA INSTRUKCJA OBSŁUGI POCZTY ELEKTRONICZNEJ ZIMBRA WEBMAIL

NOWY SZABLON IMPORTU PLIKÓW

WinSkład / WinUcz 15.00

Obszar Logistyka. Definiowanie indeksu towarowego i klasyfikacje. Instrukcja użytkownika

Adobe InDesign lab.1 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Podstawy pracy z aplikacją Układ strony... 2.

I. Program II. Opis głównych funkcji programu... 19

Krok 2: Dane osobowe pracownika

Informatyzacja Przedsiębiorstw

1. Zarządzanie informacją w programie Access

Budowa aplikacji z graficznym interfejsem użytkownika - GUI (Graphic User Interface)

I. Spis treści I. Spis treści... 2 II. Kreator szablonów Tworzenie szablonu Menu... 4 a. Opis ikon Dodanie nowego elementu...

Przedszkolaki Przygotowanie organizacyjne

Soneta Sp. z o.o. Standardowe kreatory CRM

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

Miejski System Zarządzania - Katowicka Infrastruktura Informacji Przestrzennej

Konfiguracja szablonu i wystawienie pierwszej aukcji allegro

Krzysztof Kluza proste ćwiczenia z baz danych

Tabele przestawne tabelą przestawną. Sprzedawcy, Kwartały, Wartości. Dane/Raport tabeli przestawnej i wykresu przestawnego.

CitiDirect Online Banking Eksport

Adobe InDesign lab. 2 Jacek Wiślicki, Paweł Kośla. Spis treści: 1 Dokument wielostronicowy Książka Eksport do PDF... 7.

Kadry Optivum, Płace Optivum

ACCESS ćwiczenia (zestaw 1)

Instrukcja użytkownika

Rozmiar pola (długość danych)

Instrukcja instalacji certyfikatu kwalifikowanego w programie Płatnik. wersja 1.8

Pracownia internetowa w każdej szkole (edycja Jesień 2007)

MS Access 2010 instrukcja część Wstaw do tworzonego formularza wszystkie pola z tabeli wydzial:

Kod składa się z kodu głównego oraz z odpowiednich kodów dodatkowych (akcesoriów). Do kodu można przyłączyć maksymalnie 9 kodów dodatkowych.

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Laboratorium 1. Wzorce oprogramowania lab1, Zofia Kruczkiewicz

Formularz MS Word. 1. Projektowanie formularza. 2. Formularze do wypełniania w programie Word

Instrukcja obsługi certyfikatu kwalifikowanego w programie Płatnik.

PWI Instrukcja użytkownika

Jak radzić sobie ze spamem

Instalacja Webroot SecureAnywhere przy użyciu GPO w Active Directory

PTI S1 Tabele. Tabele. Tabele

Moduł rozliczeń w WinUcz (od wersji 18.40)

Transkrypt:

Informatyzacja Przedsiębiorstw Microsoft Dynamics NAV 2016 Development Environment C/AL Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 1

Plan zajęć 1 Informacje ogólne dotyczące środowiska deweloperskiego C/SIDE... 3 1.1 Zmienne... 4 1.2 Funkcje... 5 1.3 C/AL Symbol Menu... 8 1.4 Pomoc kontekstowa i Debugger... 9 1.5 Przydatne funkcje... 10 2 Przykłady kodu w tabelach... 11 2.1 Szkolenie/Seminar... 11 2.2 Instruktor/Instructor... 12 2.3 Sala szkoleniowa/seminar Room... 13 2.4 Nagłówek rejestracji szkoleń/seminar Registration Header... 15 Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 2

1 Informacje ogólne dotyczące środowiska deweloperskiego C/SIDE Kod piszemy zwykle w wyzwalaczach (triggerach) tabel. Przez Object Designera wybieramy obiekt, np. tabelę Instructor, klikamy F9 (Widok C/AL Code) i znajdujemy się w wyzwalaczach. Na początku umieszczone są wyzwalacze dotyczące ogólnie tabeli (obiektu), dalej poszczególnych pól. Przykład kodu: Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 3

1.1 Zmienne Zmienne lokalne i globalne ustawiamy w menu Widok C/AL Globals albo Widok C/AL Locals Jako zmienne globalne najczęściej definiuje się stałe tekstowe (Text Constants), w których umieszcza się wielojęzyczne treści komunikatów (np. komunikatów o błędzie). Przykład: Przydatne będą zmienne lokalne typu Rekord odwołujące się do tabel. Przykład: Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 4

1.2 Funkcje Własne funkcje (np. w ramach Codeunit ów) tworzy się jako zmienne globalne (menu Widok C/AL Globals). Jeśli funkcja ma mieć jakiś parametr wejściowy, definiuje się go poprzez przycisk Locals. Parametry mogą być przekazywane przez wartość albo referencję (jeśli zaznaczona jest opcja Var ). Przykład: Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 5

Domyślnie, utworzone funkcje są widoczne tylko w obiekcie (np. Codeunicie) i nie można się do nich odwołać z innego miejsca. Funkcje mają wówczas ustawioną własność Local na Yes, a ich definicja poprzedzona jest słowem Local : Aby z innego obiektu można było dowołać się do funkcji zdefiniowanej wewnątrz np. Codeunit u trzeba ustawić jej własność Local na No : Wówczas można uruchomić funkcję zdefiniowaną w Codeunicie np. spod Akcji na page u. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 6

Przykład: Funkcja CreateSalesInvoice w Codeunicie Seminar Management (50010) ma ustawioną własność Local na No. W akcji page a Seminar Registration Card (50040) zdefiniowana została zmienna globalna odwołująca się do Codeunit u 50010. Pozwala to na wywołanie funkcji CreateSalesInvoice w triggerze OnAction tej akcji. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 7

1.3 C/AL Symbol Menu Podczas pisania kodu wyświetlane są podpowiedzi. Ewentualnie można też korzystać z C/AL Symbol Menu (F5 lub menu Widok C/AL Symbol Menu). Przykład z listą pól zmiennej Resource: Przykład z wywołaniem funkcji TESTFIELD dla zmiennej Seminar. Na dole pokazane są parametry funkcji. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 8

1.4 Pomoc kontekstowa i Debugger W czasie pisania kodu pod klawiszem F1 jest dostępna pomoc kontekstowa m.in. z przykładami wywołania funkcji, opisami parametrów, polami tabel i zmiennych. Debugger uruchamiamy z menu NarzędziaDebuggerSesja debugowania... (SHIFT +CTRL +F11) Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 9

1.5 Przydatne funkcje Przydatne funkcje: GET //pobiera jeden rekord po kluczu głównym (nigdy po innym atrybucie) RESET //zdejmuje filtry SETRANGE //ustawia filtry; najlepiej filtrować po jakimś kluczu, więc przed SETRANGE często pojawia się też SETCURRENTKEY FINDFIRST/FINDSET //pobiera jeden lub wiele rekordów REPEAT UNTIL NEXT=0 //typowa pętla Różnica między zwykłym podstawieniem, a funkcją VALIDATE Name := Seminar.Name //pod pole Name zostanie podstawiona wartość pola Name ze zmiennej Seminar VALIDATE(Name, Seminar.Name) //po podstawieniu pod Name wartości pola Name ze zmiennej Seminar, zostanie wywołany trigger On Validate w polu Name. Różnica między Triggerami OnLookUp i OnValidate OnLookUp jest wywoływany przed modyfikacją rekordu, można w nim zamieścić np. jakieś filtrowanie. OnValidate jest wywoływany po podstawieniu, po modyfikacji rekordu. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 10

2 Przykłady kodu w tabelach 2.1 Szkolenie/Seminar 1. Należy oprogramować następujące pola: Name kiedy użytkownik wprowadzi lub zmieni pole Name to należy uzupełnić pole Search Name (wielkie litery) Last Date Modified kiedy rekord zostanie zmodyfikowany automatycznie należy uzupełnić to pole datą roboczą Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 11

2.2 Instruktor/Instructor 1. Należy oprogramować następujące pola: Resource No. po wybraniu numeru zasobu, system ma uzupełnić pole Name tylko w przypadku, gdy wartość pola Worker/Subcontractor to Worker Funkcja GET pobierze jeden rekord ze zmiennej (tutaj lokalnej) Resource po kluczu głównym. Zatem będzie to rekord, dla którego klucz główny przyjmuje taką wartość jak pole Resource No. w aktualnym rekordzie tabeli Instructor. Zapis Worker/Subcontractor = Worker/Subcontractor ::Worker to sprawdzenie czy pole Worker/Subcontractor przyjęło wartość Worker. Alternatywnie zamiast IF Worker/Subcontractor = Worker można to ustawić w warunkowym łączeniu tabel we własnościach tabeli Instructor: Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 12

2.3 Sala szkoleniowa/seminar Room 1. Należy oprogramować następujące pola: Post Code po wybraniu kodu pocztowego system ma uzupełnić pole City Wystarczy przekleić wywołanie standardowej funkcji np. z tabeli 18 Customer : Dla zmiennej rekordowej PostCode wywołujemy funkcję ValidatePostCode z parametrami City i Post Code, Country/Region Code (które są atrybutami w naszym aktualnym rekordzie, czyli w Seminar Room). Pola County nie ma w aktualnym rekordzie, więc możemy stworzyć tekstową zmienną lokalną County, którą ustawimy na pustą wartość. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 13

Aby podejrzeć definicję funkcji ValidatePostCode klikamy prawym przyciskiem myszy w miejscu jej wywołania i klikamy Go To Definition. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 14

2.4 Nagłówek rejestracji szkoleń/seminar Registration Header 1. Należy oprogramować następujące pola: Seminar Code kiedy użytkownik wybierze kod szkolenia, powinny zostać uzupełnione pola: Seminar Name, Seminar Duration, Minimum Participants, Maximum Participants, Seminar Price. Można wybrać tylko szkolenie, które nie jest zablokowane. Funkcja GET pobierze jeden rekord ze zmiennej Seminar, który ma klucz główny o wartości takiej jak Seminar Code z tabeli Seminar Registration Header. Funkcja TESTFIELD sprawdzi, czy dla rekordu Seminar pole Blocked ma wartość FALSE (w zmiennych typu Boolean są wartości yes/no, ale w kodzie piszemy true/false!). Jeśli nie ma takiej wartości, to zostanie wyświetlony domyślny systemowy komunikat. To jest komunikat systemowy, nieustawialny co do treści, ale wielojęzyczny. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 15

Jeśli szkolenia zablokowane nie mogą być wybierane, to trzeba to zrobić przez funkcję TESTFIELD, a nie przez pokazany poniżej filtr do tabeli. Byłby to filtr po atrybucie innym niż klucz główny, a zatem takie przefiltrowanie tabeli by strasznie spowalniało przetwarzanie. Poza tym, przy takim filtrowaniu tabeli użytkownik nie widziałby w ogóle na liście zablokowanych szkoleń. On je musi widzieć, ale nie może ich wybierać. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 16

2. Pole Seminar Code można zmienić (czyli wybrać inną wartość) tylko, gdy wiersze rejestracji szkolenia nie zostały jeszcze zarejestrowane. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 17

Funkcja RESET zdejmuje wszystkie filtry ze zmiennej rekordowej jakie ewentualnie mogły gdzieś wcześniej pojawić się w kodzie. Funkcja SETRANGE wyfiltruje nam tylko te rekordy ze zmiennej SeminarRegLine, które mają taki SeminarRegLine."Seminar Registration No." jak aktualny numer rejestracji szkolenia. Funkcja FINDFIRST pobiera pierwszy rekord z przefiltrowanej przez SETRANGE zmiennej. Równie dobrze w tym przykładzie można by wykorzystać funkcję FINDSET, która pobiera od razu cały zbiór (a dokładnie pierwsze 500 rekordów i jak po nich przeiteruje, to następne 500 i tak aż przejdzie po całym zbiorze). Funkcja NEXT pobiera następny rekord. Izabela Szczęch Informatyzacja Przedsiębiorstw Strona 18