c623ea9482cd7016cc2c88506f316f91.ppt
- Количество слайдов: 64
Microsoft® Business Solutions–Navision® 4. 0 Development II – C/SIDE Solution Development Day 1 1 of
Introductions Instructor Name Company/Position Qualifications/Experience Hobbies
Things you need to know • Class Information – – Monday 8: 30 am, Tuesday – Friday 8: 00 am 5: 00 pm Breaks Lunch • Facilities – Restrooms – Telephones
Introduction • About the Course – Target Audience – Training Objectives – Course Structure – Course Content – Training Prerequisites – Certification – Further Information 4
Introduction • Target Audience – Microsoft Certified Business Solutions Partner employees who develop custom Microsoft Navision applications 5
Introduction • Training Objectives – Develop the basic skills needed to develop solutions in Microsoft Navision – Begin preparation for Development II Certification Exam 6
Introduction • Course Structure – Foundation Tools • Programming Language • Development Environment – Business Case Diagnosis • Analysis • Design • Development & Testing – Deployment 7
Introduction • Course Content – Internal Documentation – Debugging Tools – Performance Issues – Complex Data variables and their member functions – Multilanguage functionality – Analysis of objects – Posting routines – Interfaces to Microsoft Navision – Some Microsoft SQL issues 8
Introduction • Training Prerequisites – Microsoft Navision Development I 9
Introduction • Certification – You must pass both the Microsoft Navision Development I exam and the Microsoft Navision Development II exam for certification – For Microsoft Navision Master Development Designation you need the previous two exams plus the following exams: • Microsoft Navision Installation and Configuration • MS 70 -229 • 1 of Microsoft Navision Financial, Whse Mgmt, Manufacturing, or Trade 10
Introduction • Further Information – C/SIDE online Help (C/SIDE Reference Guide) – Application Designer’s Guide 11
Development Concepts • Rules – C/SIDE Reference Guide – Application Designer’s Guide • Methodology – Phases • Diagnostic Phase • Analysis Phase • Design Phase • Development & Testing Phase • Deployment Phase • On-Going Support Phase 12
Business Case Diagnosis & Analysis • Introduction • Diagnosis • Analysis – Functional Requirements – Seminars – Instructors – Participants – Registration – Invoicing – Reporting & Statistics – Interfaces • Other Requirements • Data Model • Project Plan 13
Business Case Diagnosis & Analysis • Introduction – Business Case or Diagnosis and Analysis Phase of project – Diagnosis provides the “Executive Summary” of the Business Case • Client Profile • High-Level Needs Description – Analysis describes specific requirements in more detail. • Data Models • Project Plan 14
Diagnosis – Executive Summary • Cronus International Training Academy – Software Training Center – Customized Seminar Management module 15
Diagnosis – Executive Summary • Customized Seminar Management module – Store and integrate data • • Seminar Instructor Customer Financial Information – Processes • • Track master data Register participants Create invoices Overview of statistics 16
Analysis – Functional Requirements • Functional Requirements – Seminars – Instructors – Participants – Registration – Invoicing – Reporting & Statistics – Interfaces – Dimensions 17
Analysis – Functional Requirements • Seminars – Fixed duration – Minimum & maximum participants – Fixed price – Related to Job in Microsoft Navision – Posted – Seminar room – In-house or outsourced – Assign in-house room – Customer statistics 18
Analysis – Functional Requirements • Instructors – Employee – Setup as Resource in Microsoft Navision 19
Analysis – Functional Requirements • Participants – Related to Customers – Must have customer association – Every Customer can have several participants 20
Analysis – Functional Requirements • Registration – Form – Job No. – Additional expenses – Invoicing information – Comments 21
Analysis – Functional Requirements • Invoicing – Invoice customers at completion of seminar 22
Analysis – Functional Requirements • Reporting & Statistics – List of Registered Seminar Participants – Seminar Certificate – View statistical information 23
Analysis – Functional Requirements • Interfaces – Send email notification – Export XML participant list 24
Analysis – Functional Requirements • Dimensions – Standard dimensions functionality for master files, registrations, posting, and invoicing 25
Analysis – Functional Requirements • Other Requirements – Easy to learn • Consistent with Microsoft Navision standards – Efficient • Both mouse and keyboard – Clarity • Intuitive interfaces – Easy error correction • Error messages with suggestions – Guidelines • Application Designer’s Guide 26
Data Model Master Files Customer Instructor Contact (Participant) Seminar Charge Blue objects must be created. Job Seminar Registration Seminar Room 27
Data Model Posting Seminar Registration Seminar Posting Seminar Invoicing Job Posting Seminar Ledger Entry Blue objects must be created. Job Ledger Entry Sales Invoice 28
Business Case Diagnosis & Analysis • Project Plan – Business case broken down into tasks – End result will be a deliverable – Tasks (By Chapter) 2. 3. 4. 5. 6. 7. 8. 9. Managing Master Files Managing Registrations Managing Posting Managing Integration Managing Reporting Managing Statistics Managing Dimensions Managing Interfaces 29
C/AL Triggers 30 of
C/AL Trigger • Documentation trigger – Used for documentation purposes within object. • Event trigger – Name always begins with ‘On’. – Code is executed when named event occurs. • Function trigger – Function within an object. – Code is executed when function is called. 31
Table Triggers 32 of
Table Triggers Table Description Properties Fields Properties Triggers Keys Properties Sum. Index. Fields Triggers Global Var. Properties 33
Table Triggers On. Insert() • Record. INSERT(True) On. Modify() • Record. MODIFY(True), Record. MODIFYALL(True) On. Delete() • Record. DELETE(True), Record. DELETEALL(TRUE) On. Rename() • Record. RENAME(True) Table triggers are processed after Form triggers. 34
Table Triggers Field Triggers On. Validate() • Fires after field input (Return). • Fires before form control trigger. • Can be run from C/AL with Record. VALIDATE(Field [New. Value]). On. Lookup() • Fired by F 6 or Look. Up button • If C/AL code is inserted in this trigger, the standard lookup function is deactivated • Fires only if no C/AL code is available in the corresponding form control trigger 35
Form Triggers 36 of
Form Triggers Form Description Properties Controls Properties Triggers Global Var. Properties 37
Form Triggers First Record Form Trigger – Open Form On. Init Record not available, no access to controls On. Open. Form Access to controls On. Find. Record pointer is set On. After. Get. Record available, but not displayed in controls On. After. Get. Curr. Rec Fired by the current record Next Record On. Format On. Next. Record On. After. Get. Record On. Format Fired by each visible control Record pointer is moved to the next record Record available but not displayed in controls Fired by each visible control 38
Form Triggers Form Trigger – Close Form Record not modified Record modified On. Before. Put. Record is not saved yet On. Modify. Record Form trigger On. Modify Table trigger On. Query. Close. Form Exit with parameter ‘true’ On. Close. Form Exit with parameter ‘true’ 39
Form Triggers Form Trigger and Table Trigger Form Trigger Table Trigger On. Insert. Record On. Insert On. Modify. Record On. Modify On. Delete. Record On. Delete Forms triggers are executed first! 40
Form Triggers Control Trigger – Text Box Input On. Before. Input On. Activate On. Format Input yes Input next character yes On. Input. Change no On. After. Input no On. Validate(Table) On. Validate On. After. Validate On. Deactivate On. Format 41
Form Triggers Control / Field Trigger On. Validate() Each trigger is processed! System Validation Table Field Trigger Form Control Trigger On. Lookup() Only one trigger is processed! Form Control Lookup Table Field Lookup System Lookup 42
Codeunit Triggers 43 of
Codeunit Triggers Codeunit Object Description Properties Triggers Parameters Return Value Local Variables Global Var. Properties 44
Codeunit Triggers On. Run() • Codeunit. RUN 45
Record Commands 46 of
Record Commands • Record. GET • Record. SETCURRENTKEY • Record. SETRANGE • Record. SETFILTER • Record. FIND • Record. NEXT 47
Record Commands Record. GET([Value], …) RECORD. GET(‘ 70002’) • • • Always primary key No filter Very fast No. 70000 70001 70002 70003 70010 70011 Name Side Panel Base Top Panel Rear Panel Wooden Door Glass Door 48
Record Commands Record. FIND([Which]) / Record. NEXT([Steps]) Record. FIND('-') Record. NEXT No. 70000 70001 70002 70003 70010 70011 Name Side Panel Base Top Panel Rear Panel Wooden Door Glass Door Record pointer 49
Record Commands Record. SETCURRENTKEY(Field 1[, Field 2], …) Record. SETCURRENTKEY(Name) No. 70000 70001 70002 70003 70010 70011 Name Side Panel Base Top Panel Rear Panel Wooden Door Glass Door No. 70001 70011 70003 70000 70002 70010 Name Base Glass Door Rear Panel Side Panel Top Panel Wooden Door 50
Record Commands Record. SETRANGE(Field[, From. Value][, To. Value]) Record. SETRANGE(“No. ”, ’ 70002’, ’ 70010’) No. 70000 70001 70002 70003 70010 70011 Name Side Panel Base Top Panel Rear Panel Wooden Door Glass Door 51
Record Commands Record. SETFILTER(Field, String [, Value], …) Record. SETFILTER(Name, ’@*PANEL*’) No. 70000 70001 70002 70003 70010 70011 Name Side Panel Base Top Panel Rear Panel Wooden Door Glass Door No. 70001 70011 70003 70000 70002 70010 Name Base Glass Door Rear Panel Side Panel Top Panel Wooden Door 52
Record Commands Using SETRANGE, FIND and Next Record. SETRANGE(“No. ”, ’ 70002’, ’ 70010’) Record. FIND('-') Record. NEXT = 0 No. 70000 70001 70002 70003 70010 70011 Name Side Panel Base Top Panel Rear Panel Wooden Door Glass Door Record pointer 53
Record Commands • Additional Commands – – – INSERT MODIFYALL DELETEALL RENAME INIT CALCFIELDS COPY COUNT VALIDATE 54
Multilanguage – Tables/Forms 55 of
Multilanguage – Tables/Forms • Application Texts • System Texts • Online Help • Company Notes Use Tools, Language from the menu bar to change the application language 56
Multilanguage – Tables/Forms Think Caption – Not Name! Name • Internal name of elements, like Objects, Fields, Controls, Functions and Variables • Must be in English (United States) Caption • Displays the caption of an element in the selected language • Current value is copied from Caption. ML • Contains the caption of an element for each language code • Mandatory for all elements that might be visible to the user 57
Data Caption Fields 58 of
Data Caption Fields Data Caption Properties Tables • Data. Caption. Fields – Primary key and description field (For example: ‘No. ’ and ‘Name’) Forms • Data. Caption. Fields – Most used filter field (For example: ‘Customer No. ’) • Data. Caption. Expr – Expression to show different captions in a form (For example: FORMAT("Contract Type") + ' ' + "Contract No. “) – Overwrites Data. Caption. Fields property 59
Data Caption Fields Data Caption Display Tabular Form Card Form • Data. Caption. Expr from the form or the value of Data. Caption. Fields • Value of Data. Caption. Fields from the parent form’s source table • Data. Caption. Expr from the form or the value of Data. Caption. Fields from the source table • Primary key fields are used if no data caption is defined 60
Managing Participants – Code Walkthrough • Contact Card – Form 5050 • Contact List – Form 5052 • Contact Table – Table 5050 61
Managing Master Files Lab
Conclusion • We have now created our master files and user interfaces • Now that we can store our master data, we can develop the forms and code necessary to carry out transactions 63
Review • C/AL Triggers • Complex Datatypes • Multi. Language • Master Files 64
c623ea9482cd7016cc2c88506f316f91.ppt