Custom Form

By using the MYOB Advanced Customization Platform, you can develop a custom form from scratch and add it to a customization project. To create a new form, you have to create the following types of code:

  • ASPX page that contains a description of the UI elements of the form
  • CS code that provides the business logic for the form

For each form that works with data from the database, the instance of MYOB Advanced must contain at least the following objects (see the diagram below):

  • An ASPX page: The page must contain at least the data source control and a container with controls for data fields.
  • A business logic controller (BLC, also referred to as graph): The graph must be specified in the TypeName property of the data source control of the page. The graph must contain at least one data view, which is specified in the PrimaryView property of the data source control and in the DataMember property of the container. The graph instance is created on each round trip and initializes the creation of the data view instance based on a BQL statement. The data view provides data manipulation and data flows between the data source control of the ASPX page, the cache object of the graph, and the corresponding table of the database. The BQL statement contains a reference to at least one data access class that is required to map the database table to data records in the cache object.
  • A data access class (DAC): On each round trip, the DAC instance is created in the cache object when the data view processes any operation with the corresponding data.
  • A table in the database: The table is mapped to the data access class that defines the data record type in the cache object of the graph instance.
Figure 1. Objects required for a form that works with data from a database table


For a custom form to be enabled in an instance of MYOB Advanced, the site map of the instance must contain information about the form.

You use the Customization Project Editor to perform operations with custom forms, as described in the following topics: