Informatyzacja Przedsiębiorstw Moduł Zarządzanie szkoleniami Specyfikacja wymagań Strona 1
Spis treści 1 Informacje ogólne... 3 2 Struktura danych... 4 3 2.1 Uczestnicy... 4 2.2 Sala szkoleniowa... 4 2.3 Instruktor... 5 2.4 Szkolenie... 6 2.5 Rejestracja szkolenia... 7 Pages... 9 3.1 Sala szkoleniowa/seminar Room... 9 3.2 Instruktor/Instructor... 10 3.3 Szkolenie/Seminar... 11 3.4 Rejestracja szkolenia/seminar Registration... 12 4 Menu... 15 5 Oprogramowanie tabel... 16 5.1 Sala szkoleniowa/seminar Room... 16 5.2 Instruktor/Instructor... 16 5.3 Szkolenie/Seminar... 16 5.4 Nagłówek rejestracji szkoleń/seminar Registration Header... 16 5.5 Wiersz rejestracji szkoleń/seminar Registration Line... 17 6 Jednostki kodu (unit)... 23 7 Raporty... 27 7.1 Lista uczestników szkolenia... 27 7.2 Zestawienie szkoleń... 28 8 XMLPort... 30 9 Menu... 31 Strona 2
1 Informacje ogólne Firma CRONUS International Training Academy zajmuje się szkoleniami. Z uwagi na coraz większą liczbę kursantów wymagane jest przygotowanie systemu do ewidencji szkoleń, sal, pracowników, wystawiania faktur. Zostanie przygotowany moduł Zarządzanie szkoleniami, który powinien pozwalać na: rejestrowanie uczestników szkoleń wystawianie faktur nabywcom uzyskiwanie statystyk finansowych Szkolenie Firma prowadzi różne rodzaje szkoleń, np.: Excel, Word, Windows Server 2003, SQL Server 2008, itd. Każde szkolenie: charakteryzuje czas trwania charakteryzuje minimalna i maksymalna liczba uczestników może zostać odwołane ma ustaloną cenę, ale z możliwością zmiany podczas rejestrowania uczestników może obywać się: o w siedzibie firmy CRONUS o poza siedzibą firmy Instruktor Instruktorzy mogą być pracownikami firmy CRONUS lub pracować jako podwykonawca (dostawca). Uczestnicy Uczestnik otrzymuje fakturę za szkolenie. Na jednego Nabywcę może być wystawiona faktura za kilku uczestników szkolenia. Do definiowania uczestników można wykorzystać kartoteki nabywców i kontaktów. Sale szkoleniowe Sala posiada numer, pojemność. Może znajdować się w siedzibie firmy CRONUS lub poza nią. Statystyki i zestawienia Lista uczestników szkolenia Zestawienie szkoleń z możliwością pokazywania i ukrywania szczegółów Strona 3
2 Struktura danych 2.1 Uczestnicy Wykorzystywane obiekty standardowe: Tabele: 18 Customer, 5050 Contact Pages: 21 Customer Card, 22 Customer List, 5050 Contact Card, 5052 Contact List 2.2 Sala szkoleniowa Seminar Room Sala szkoleniowa Nr pola Nazwa pola 1 2 Name 3 Address 4 Address 2 5 City 6 Post 7 8 9 10 Country/Region Phone No. Fax No. Name 2 Maximum 11 Participants 12 Internal/External PL Caption Kod Nazwa Adres Adres 2 Miasto Typ Kod pocztowy Kod kraju/regionu Nr telefonu Nr faksu Nazwa 2 Maks. liczba uczestników Integer Wewnętrzna/Zewnętrzna Option Długość Komentarz 20 50 50 50 30 Relacja do tabeli 20 225 "Post " Relacja do tabeli 9 10 "Country/Region" 30 30 50 Dostępne opcje: - Internal - External Strona 4
2.3 Instruktor Instruktor może być pracownikiem firmy CRONUS, wtedy można wykorzystać standardową tabelę Resource, lub podwykonawcą tabela Vendor. Resource [1:n] Instructor Vendor Instructor Instruktor Nr pola Nazwa pola 1 2 Name [1:n] PL Caption Kod Nazwa Typ 3 Worker/Subcontractor Pracownik/Podwykonawca Option 4 Resource No. Nr zasobu 5 Vendor No. Nr dostawcy Długość Komentarz 20 50 Opcje: - Worker - Subontractor Relacja do tabeli 156 "Resource" 20 Type=Person Relacja do tabeli 20 23 "Vendor" Strona 5
2.4 Szkolenie Seminar Szkolenie Nr pola 1 2 3 4 5 6 7 8 9 Nazwa pola Name Seminar Duration Minimum Participants Maximum Participants Search Name Blocked Last Date Modified Seminar Price PL Caption Kod Nazwa Czas trwania Min. liczba uczestników Maks. liczba uczestników Nazwa szukana Zablokowane Data ostatniej modyfikacji Cena szkolenia Typ Decimal Integer Integer Boolean Date Decimal Długość Komentarz 20 50 Decimal places 0:1 50 Pole nieedytowalne Strona 6
2.5 Rejestracja szkolenia Do standardowej tabeli 311 Sales & Receivables Setup należy dodać pole G/L Account No. : Nr pola Nazwa pola PL Caption Typ Nr konta K/G PL Caption Nr Data początkowa Kod szkolenia Nazwa szkolenia Kod instruktora Typ Date 6 Instructor Name Nazwa instruktora 7 Status Stan Czas trwania szkolenia Min. liczba uczestników Maks. liczba uczestników Kod sali szkoleniowej Nazwa sali szkoleniowej Adres sali szkoleniowej Adres 2 sali szkoleniowej Kod pocztowy sali szkoleniowej Miasto sali szkoleniowej Telefon sali szkoleniowej Data księgowania Cena szkolenia Option 50 000 G/L Account No. Seminar Registration Header Nagłówek rejestracji szkoleń Nr pola Nazwa pola 1 No. 2 Starting Date 3 Seminar 4 Seminar Name 5 Instructor 8 Seminar Duration 9 Minimum Participants 10 Maximum Participants 11 Seminar Room 12 Seminar Room Name 13 Seminar Room Address 14 Seminar Room Address 2 15 Seminar Room Post 16 Seminar Room City 17 Seminar Room Phone No. 18 Posting Date 19 Seminar Price 20 Amount Kwota Długość Komentarz Relacja do tabeli 15 20 G/L Account Długość Komentarz 20 20 Relacja do tabeli Seminar 50 20 Relacja do tabeli Instructor FlowField typu Lookup do tabeli Instructor, 50 pole nieedytowalne Opcje: Planning, Registration, Finished, Cancelled Decimal Decimal Places 0:1 Integer Integer Relacja do tabeli "Seminar 20 Room" 50 50 50 Relacja do tabeli "Post 20 " 30 Date Decimal 30 Decimal FlowField suma kwot z tabeli "Seminar Registration Line" Strona 7
Seminar Registration Line Wiersz rejestracji szkoleń Nr pola Nazwa pola PL Caption Typ 1 Seminar Registration No. 2 Line No. Nr rejejestracji szkolenia Nr wiersza Integer 3 Bill-to Customer No. 4 Participant Contact No. Nr odbiorcy faktury Nr kontaktu uczestnika 5 6 7 8 9 10 Participant Name Register Date To Invoice Participated Confirmation Date Seminar Price Nazwa uczestnika Data rejestracji Do fakturowania Uczestniczył Data potwierdzenia Cena szkolenia Date Boolean Boolean Date Decimal 11 12 13 14 Line Discount % Line Discount Amount Amount Registered Rabat wiersza (%) Kwota rabatu wiersza Kwota Zarejestrowane Decimal Decimal Decimal Boolean 15 Invoice No. Nr faktury Długość Komentarz Relacja do tabeli Seminar 20 Registration Header Relacja do tabeli 20 Customer 20 Relacja do tabeli Contact FlowField, Lookup do 50 tabeli Contact Nieedytowalna Domyślna wartość No AutoFormatType = 2 Decimal places 0:5, min 0, max 100 AutoFormatType = 1 AutoFormatType = 1 Relacja do tabeli Sales Header dla typu dokumentu Invoice. 20 Pole nieedytowalne. Wiersz rejestracji szkoleń/seminar Registration Line Klucz główny to Seminar Registration No. i Line No., z SumIndexField Amount. Strona 8
3 Pages Moduł Zarządzania szkoleniami jest częścią systemu NAV używanego w firmie CRONUS, a nie osobną, niezależną aplikacją. Wyglądy page ów, menu, przycisków, itp., jak również użyte skróty klawiszowe, opcje edytowalności pól (np. typu FlowField), page ów (np. typu lista) itd. muszą być zgodne ze standardem. 3.1 Sala szkoleniowa/seminar Room a) Kartoteka: Strona 9
b) Lista 3.2 Instruktor/Instructor Page typu edytowalna lista: Strona 10
3.3 Szkolenie/Seminar a) Kartoteka b) Lista Strona 11
3.4 Rejestracja szkolenia/seminar Registration a) Page 459 Sales & Receivables Setup (Działy Sprzedaż i Marketing Ustawienia Ustawienia sprzedaży i należn.) dodać nową zakładkę Moduł szkoleń z polem Nr konta K/G : Strona 12
b) Kartoteka z subpage m Strona 13
c) Lista Strona 14
4 Menu Należy utworzyć nowe menu Zarządzanie szkoleniami i podłączyć pages. Odnośniki do raportów, XMLPortu będą dodane później, po utworzeniu odpowiednich obiektów. Strona 15
5 Oprogramowanie tabel 5.1 Sala szkoleniowa/seminar Room 1. Należy oprogramować następujące pola: Post po wybraniu kodu pocztowego system ma uzupełnić pole City 2. Należy umożliwić przejście z listy na kartotekę (poprzez dwuklik na pozycji na liście lub przycisk Edycja ) 3. Ustawić własność tabeli LookupPageID i DataCaptionFields. 5.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 Vendor No. po wybraniu numeru dostawcy, system ma uzupełnić pole Name tylko w przypadku, gdy wartość pola Worker/Subcontractor to Subcontractor. 2. Ustawić własność tabeli LookupPageID 5.3 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ą 2. Należy umożliwić przejście z listy na kartotekę (poprzez dwuklik na pozycji na liście lub przycisk Edycja ) 3. Ustawić własność tabeli LookupPageID i DataCaptionFields 5.4 Nagłówek rejestracji szkoleń/seminar Registration Header 1. Należy oprogramować następujące pola: Seminar 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. Seminar Room - kiedy użytkownik wybierze kod sali szkoleniowej, powinny zostać uzupełnione pola: Seminar Room Name, Seminar Room Address, Seminar Room Address 2, Seminar Room Post, Seminar Room City, Seminar Room Phone No. 2. Podczas wstawiania rekordu należy ustawić domyślne wartości pól: Posting Date data robocza 3. Można usuwać tylko rekordy ze statusem Planowane. 4. Nie można zmienić nazwy rekordu. 5. Można zmienić wartość pola Starting Date tylko, gdy status ma wartość Planowane. Strona 16
6. Pole Seminar można zmienić (czyli wybrać inną wartość) tylko, gdy wiersze rejestracji szkolenia nie zostały jeszcze zarejestrowane. 7. Kiedy użytkownik wprowadzi lub zmieni pole Intructor automatycznie zostanie odświeżone pole Instructor Name. 8. Jeśli użytkownik zmieni pole Seminar Price (status różny od Cancelled ) system zapyta czy zaktualizować pole Seminar Price i zaktualizuje wszystkie niezarejestrowane wiersze. 9. Należy umożliwić przejście z listy na kartotekę (poprzez dwuklik na pozycji na liście lub przycisk Edycja ) 5.5 Wiersz rejestracji szkoleń/seminar Registration Line 1. Rekord podczas wstawiania powinien zostać zainicjalizowany domyślnymi wartościami z nagłówka rejestracji: Seminar Price obliczenie Amount 2. Należy oprogramować następujące pola: Line Discount % obliczenie wartości pól Line Discount Amount i Amount Line Discount Amount obliczenie pól: Line Discount % oraz Amount Amount obliczenie pól: Line Discount Amount oraz Line Discount % 3. Można usuwać tylko rekordy niezarejestrowane 4. Można zmieniać wartość pola Bill-to Customer No. tylko dla niezarejestrowanego wiersza 5. Można zarejestrować wiersz zaznaczając Registered, najpierw należy uzupełnić pole Register Date, jeśli będzie puste system wstawi datę roboczą 6. Participant Contact No. kiedy użytkownik wyświetli listę kontaktów to powinny być widoczne tylko te skojarzone z płatnikiem faktury Bill-to Customer No. Należy wykorzystać tabelę Customer (18) oraz tabelę Contact (5050) połączone ze sobą relacją wiele-do-wiele z wykorzystaniem tabeli Contact Business Relation (5054). Strona 17
DO TESTÓW punktu 5.5.6 należy dodać kilka kontaktów do wybranych nabywców (płatników faktury): Menu Działy Sprzedaż i Marketing Administration Ustawienia marketingu Na zakładce Numeracja ustawiamy pole Seria numeracji na KB. Na zakładce Synchronizacja w sekcji Kod rodzaju współpracy dla Nabywcy rozwijamy listę, klikamy Nowe i definiujemy nowy rodzaj współpracy: Strona 18
Ustawiamy nowoutworzony rodzaj współpracy dla Nabywcy: Przechodzimy na listę nabywców. W zakładce Nawiguj wybieramy przycisk Kontakt. Strona 19
System zada pytanie czy utworzyć nowy kontakt. Klikamy Tak i zostaje utworzony pierwszy kontakt (typu firma każdy nabywca ma jeden kontakt typu Firma): Następnie dodajemy kilka nowych kontaktów (typu osoba) podpinając je pod wybraną firmę. Przykład: Strona 20
Dla nowego kontaktu koniecznie podajemy jego nazwę. Przykład: Przykładowa lista kontaktów dla nabywcy ElectronicBay: Strona 21
Przy tak zdefiniowanej liście kontaktów dla nabywcy ElectronicBay, jeśli zostanie on wybrany w Wierszu rejestracji szkolenia jako Nr odbiorcy faktury to lista w polu Nr kontaktu uczestnika powinna być zawężona tylko do kontaktów nabywcy ElectronicBay: Strona 22
6 Jednostki kodu (unit) Należy utworzyć jednostkę kodu, która pozwoli na utworzenie faktur sprzedaży na podstawie rejestracji zakończonego szkolenia. Jednostka kodu (a właściwie jej funkcja) będzie wywoływana z rejestracji szkolenia : zakładka Narzędzie główne (lub Akcje) Utwórz fakturę sprzedaży. Dla wierszy z zaznaczonym polem Do fakturowania system utworzy faktury sprzedaży. Zostanie utworzona jedna faktura sprzedaży dla każdego nabywcy (odbiorcy faktury) z wiersza szkolenia (faktura ma dotyczyć wszystkich uczestników szkolenia od danego odbiorcy faktury). Strona 23
Numer utworzonej faktury zostanie wpisany do wiersza rejestracji szkolenia: Faktura będzie księgowana na konto, ustawione wcześniej na Formatce 459 Sales & Receivables Setup (Działy Sprzedaż i Marketing Ustawienia Ustawienia sprzedaży i należn.) na nowej zakładce Moduł szkoleń. Strona 24
Przykładowa faktura sprzedaży powinna wyglądać następująco: Przy tworzeniu faktury sprzedaży należy wykorzystać standardowe tabele: 36 Sales Header oraz 37 Sales Line. Strona 25
Uwagi dodatkowe: Zaksięgowanie faktury na konto może wymagać ustawienia Księgowania bezpośredniego oraz Głównej towarowej grupy księgowej i Towarowej grupy księgowej. Strona 26
7 Raporty 7.1 Lista uczestników szkolenia Należy przygotować raport prezentujący listę uczestników szkolenia. Raport powinien być drukowany z menu oraz z kartoteki Rejestracji szkolenia. System powinien podpowiadać filtr numeru rejestracji szkolenia, tak by drukowana mogła być lista uczestników aktualnie oglądanego szkolenia. Jeśli użytkownik ustawi filtr na pustą wartość, powinna być wydrukowana lista uczestników ze wszystkich szkoleń. Strona 27
7.2 Zestawienie szkoleń Należy przygotować raport prezentujący listę szkoleń z możliwością pokazywania i ukrywania szczegółów. Dodatkowo raport powinien umożliwiać filtrowanie po polach z nagłówka rejestracji szkolenia: Data początkowa Kod szkolenia Stan Strona 28
Raport bez szczegółów: Raport ze szczegółami: Strona 29
8 XMLPort Należy wykonać XMLport eksportujący listę uczestników szkolenia. Plik XML powinien zawierać następujące dane: Uwaga: Element <Customer_Name> jest nazwą firmy, na którą wystawiana jest faktura. Pole pochodzi z tabeli Customer. Strona 30
9 Menu Należy dokończyć menu Zarządzanie szkoleniami, podłączając brakujące obiekty. Strona 31