Showing posts with label form. Show all posts
Showing posts with label form. Show all posts

Friday, 20 November 2015

Form Development from scratch Dynamics Ax 2012 R3 part 1

Consider a scenario where we are going to build small Hospital Admission System in Dynamics Ax 2012.  This Add-on is based on small database design based on


db


We divide this task into two posts
For this post, we are cover following points to develop this small add-on
  • Ax Project
  • Patient, Diagnostic and admission table.
  • Simple list page for diagnostic table.
  • Entry form for Patient table (Detail form).
  • Parent Master detail form based on Patient ,Diagnostic table and patient.
  • List page for Patient table.
  • Integrate Patient List page with Patient Detail form.



AX Project:

AX Project for collecting Ax artifacts in single location.
When we create any Ax object they have to create under certain node. For example tables, forms, Classes, menu all stored in their respected node.
In Dynamics Ax we can create a Project which is not more the logical grouping of all Ax artifacts.
In these project, we create object groups and then placed our required object either drag and drop from AOT or create them here.
Advantages of Projects are
  • Logical grouping, it’s easier to locate required artifacts one location.
  • When we export project as Xpo, All objects are exported as single XPO.
  • We can export whole project into model, all object in project moved from one model to other model in single steps.


Lets make a new project

From top menu Click on View=> tools=> Project
Ax Project
Following Screen will open
Shared and Private Project
Right click on Shared folder and create a Project and renamed it to HospitalManagementSystem.

Hospital Management System Menu

New Project Managment

Click on Project and open it. Right click on it new => Group to create new groups

Details
For example we create Form group and set it Name and Project Group type to forms
Project name

Now Project is look like
Project Details

Similarly create other groups.
menu


Table structure design.


db
So our table structure look like
Diagnostic table
ColumnExtended data TypePrimitive Data Type
DiagNoDiagnosticNumberStr10
DescDescription
CostAmountCurReal


Patient table
ColumnExtended Data Type
PatNoPatientNumberStr 20
FnameName
LNameName
BirthDateBirthDate
AddressT_AddressStr 20
CityT_CityStr20
StateT_StateStr20
ZipT_ZipStr20
GenderT_Gender


AdmissionsTable

ColumnExtended Data TypePrimitive Data TypeForeign Key
AdmitNoAdmissionNumberStr20
PatNOPatient NumberPatient table
Diag_codeDiagnosticnumber

Diagnostic table

AdminationdateFromDatedate
DischargeDateToDatedate
CoPayNotesNotes

First we create a extended data type required in three tables.
First one is DiagonisticNumber extended Data Type
Extended Data Type
Rename it and set its name as “DiagnosticNumber” and its string set its size to 10
ExtendedDataTypeSize
Similarly create all extended data type
List of Extended Data Type
Rest of we use out of the box extended Data Type
When you save any Extended Data Type, Ax ask for Synchronize database cancel it when all extended data Types created let it complete
DataBase Schyrni





In current example only gender is enum type, we create new base enum T_Gender instead of using out of box Gender enum.

Base enum menu
Create a new Enum and name it “T_Gender” t stands for training.

Right click on it and create a new element
Base Enum new Element


Set its name and label

SubType
Base Create one more element and it will look like
Base enum look like


Now create a click on tables group and right click and create a new table


Rename it to “DiagnosticTable”.
TableProperties

Now create a new field with Name “DiagNo” of string type and set its extended data type to “DiagnosticNumber”

FieldName
eeee

Similarly create all other fields in table
Diagnonstic

Now expand field Groups node in Table and Create a new Field group with Name “OverView”.
Overview
Drag all fields in it.
DiagnonsticDetial

Now want to make the Diagonistic and unique and make it primary key. For this right click and create unique index on it
DiagnonsticIndex
Rename it to DiagNoIx and set its AllowDuplicate Property to No and Alternate key to Yes
IndexDetails
Now drag DiagNo from fields node to DiagosticIdx.
Diagonisticss


Now right click on DiagnosticTable and set following Properties with newly created Index

DiagnonsticProperties

Perform same steps to create PaitentTable, create Index on “PatNo” similar way.
PatientTab

Create a new field group with overview and arrange field in a way that you want to see them in form
FieldsDetails

Create unique index on PatientNumber
PatientDetails
Similarly create AdmissionTable,
AdmissionTable


Now right click on Relation node in AdmissionTable and create a new relation and rename it to “PatientRelation” and sets its table property to “PatientTable”
PatientRelationDetails
Now Right click on relation click on new =>ForeignKey=>Single field AlternateKey based
AlterNativeField


A new field added against  relation, rename it to PatientNumber
PatientKey

Similarly create another key based DiagnosticTable
AdmissionTableWithRelation


Save and compile all table and synchronize each table.

Form development will be on next post

Labels

#veryusefulcode (1) AIF (8) AOT Maps (1) Args (1) Ax 2009 Reports (2) AX 2012 navigation (1) Ax 2012 Interview Questions (1) AX 7 (2) AX Architecture (1) Ax Backup (1) AX Workflow (2) AX2012 (1) AX2012 R2 (1) Ax2012R3 (1) AX2012R3 Dynamics Connector Step by Step Installation and Configuration (1) AX2012R3 EP Step by Step Installation and Configuration EP R3 (1) AX2012R3 HelpServer Step by Step Installation and Configuration (1) AX2012R3 Rapid Start Connector Step by Step Installation and Configuration (1) AX2012R3 Report Server and Analysis Server Step by Step Installation and Configuration (1) AX7 (1) Best practices (1) Blocking user to enter (1) Collection Classes (1) Container (1) D365FO (3) Data Migration Frame Work ax 2012R3 (1) Deleting duplicate Record from Table – Ax2012 (1) Delivery due date notification workflow in Ax 2012 (1) Development Steps EP (1) Dimensions (1) DIXF (1) DMF in Ax 2012 R3 (1) Dynamics Ax 2012 Interview Questions (1) DYNAMICS AX 2012 INTERVIEW QUESTIONS PART 2 (1) DYNAMICS AX 7 (1) EDT relation Migration Tool (1) EP AX 2012 (1) Ep Lookup (1) Error (1) Event Handler (1) F5 (1) File Handling (4) Filter on AX2012 Listpage (1) filtering (2) financial dimensions in AX 2012 (3) form (1) images (1) Installation and Configration (4) Installation and Configuration (11) Installation of Management Reporter 2012 for AX 2012 (1) Interaction class in ax 2012 (1) Interview Question (1) Interview Questions For Ax 2012 (1) Invent DIm (1) Jobs (2) license (1) List page and form menuitem enable code (1) Methods (1) microsoft Dynamics AX 365FO (1) Number Sequence Generation – AX 2012 (5) Number Sequence2012 (1) OLTP-OLAP (1) Passing Args (1) Passing form caller and menu item caller in ax 2012 (1) Passing Multiple Records Args (1) Posting in Ax 2012 (1) POSTING PURCHASE ORDER (1) Query (1) Query Filter Form (2) Query Ranges in X++ (1) Question and Answer (1) Report (1) Reports Controller class (1) RLS in ax 2009 (1) SALES ORDER IMPORT/EXPORT FRAMEWORK BY DMF (1) Security (1) security roles (1) Security Sysqueryrangeutil (1) Sharepoint 2016 (1) SQL SERVER (1) SSRS (2) SSRS Reports Controller class (2) Table collections & Virtual company (1) Time (1) TIPS AND TRICKS (1) Web service AIF (3) Web Services on IIS (AIF) Step by Step Installation and Configuration (1) workflow ax2012 (1) Workflow installation (1) Workflow Method (3) X++ (1)