Skip to main content
T240

ProcessingForms

View:
2025R15 lessons 3 parts

T240: ProcessingForms

Version: 2025R1
Category: Technical

How to Use This Course

The T240 Processing Forms training course teaches you how you can create processing forms by using Acumatica Framework and the customization tools of Acumatica ERP. A processing form is a form on which users can invoke an operation on multiple selected records at once. This course is intended for application developers who are starting to learn how to customize Acumatica ERP. The course is based on a set of examples that demonstrate the general approach to customizing Acumatica ERP. It is designed to give you ideas about how to develop your own embedded applications through the customization tools. As you go through the course, you will continue the development of the customization for the cell phone repair shop, which was performed in the previous training courses of the T series (which we recommend that you take before completing the current course). Aer you complete all the lessons of the course, you will be familiar with the programming techniques used to define Acumatica ERP processing forms.

         We recommend that you complete the examples in the order in which they are provided in the course,
         because some examples use the results of previous ones.

What the Course Prerequisites Are

To complete this course, you should be familiar with the basic concepts of Acumatica Framework and Acumatica Customization Platform. Before you begin this course, we recommend that you complete the following training courses:

  • T200 Maintenance Forms
  • T210 Customized Forms and Master-Detail Relationship
  • T220 Data Entry and Setup Forms
  • T230 Actions To complete the course successfully, you should have the following required knowledge:
  • Proficiency with C#, including but not limited to the following features of the language:
  • Class structure
  • OOP (inheritance, interfaces, and polymorphism)
  • Usage and creation of attributes
  • Generics
  • Delegates, anonymous methods, and lambda expressions
  • Knowledge of the following main concepts of ASP.NET and web development:
  • Application states
  • The debugging of ASP.NET applications by using Visual Studio
  • The process of attaching to IIS by using Visual Studio debugging tools
  • Client- and server-side development
  • The structure of web forms
  • Experience with SQL Server, including doing the following:
  • Writing and debugging complex SQL queries (WHERE clauses, aggregates, and subqueries)
  • Understanding the database structure (primary keys, data types, and denormalization)
  • The following experience with IIS:
  • The configuration and deployment of ASP.NET websites How to Use This Course | 5
  • The configuration and securing of IIS

What Is in a Part

The first part of the course explains how to create two types of processing forms: a form without filtering
parameters, and a form with filtering parameters.
The second part of the course shows how to implement the update of the frequently edited fields (by using a
custom PXAccumulator attribute) and use these fields on a processing form.
The third part of the course shows the implementation of redirection to a report at the end of processing.
Each part of the course consists of lessons you should complete.

What Is in a Lesson

Each lesson is dedicated to a particular development scenario that you can implement by using Acumatica ERP
customization tools and Acumatica Framework. Each lesson consists of a brief description of the scenario and an
example of the implementation of this scenario.

Where the Source Code Is

You can find the source code of the customization described in this course and code snippets for the course in the
Customization\T240 folder of the Help-and-Training-Examples repository in Acumatica GitHub.

What the Documentation Resources Are

The complete Acumatica ERP and Acumatica Framework documentation is available at https://help.acumatica.com/
and is included in the Acumatica ERP instance. While viewing any form used in the course, you can click the Open
Help button in the top pane of the Acumatica ERP screen to bring up a form-specific Help menu; you can use the
links on this menu to quickly access form-related information and activities and to open a reference topic with
detailed descriptions of the form elements.

Which License You Should Use

For the educational purposes of this course, you use Acumatica ERP under the trial license, which does not require
activation and provides all available features. For the production use of the Acumatica ERP functionality, an
administrator has to activate the license the organization has purchased. Each particular feature may be subject to
additional licensing; please consult the Acumatica ERP licensing policy for details.

Company Story and Customization Description | 6

Company Story and Customization Description

In this course, you will continue the development to support the cell phone repair shop of the Smart Fix company; you began this development while completing the previous training courses of the T series.

          You have loaded and published the customization project with the results of these courses as
          described in Initial Configuration.

In the previous training courses of the T series, you have created the following forms:

  • The Repair Services (RS201000) custom maintenance form, which the Smart Fix company uses to manage the lists of repair services that the company provides
  • The Serviced Devices (RS202000) custom maintenance form, which the Smart Fix company uses to manage the lists of devices that can be serviced
  • The Services and Prices (RS203000) custom maintenance form, which provides users with the ability to define and maintain the price for each provided repair service
  • The Repair Work Orders (RS301000) custom data entry form, which is used to create and manage work orders for repairs
  • The Repair Work Order Preferences (RS101000) custom setup form, which an administrative user uses to specify the company's preferences for the repair work orders In the previous training courses of the T series, you have also customized the Stock Items (IN202500) form to mark particular stock items as repair items—that is, items that are used for the repair services. In this course, you will create the Assign Work Orders (RS501000) custom processing form, which users will use to assign multiple repair work orders at the same time. You will implement the functionality of the form in stages. First, you will implement this form as a simple processing form without any filtering parameters for user selection. Then you will add a filter to the form so that only the records that satisfy the filtering parameters are displayed in the table. Also, you will implement the selection of the default assignee, which depends on the number of already assigned work orders for the employees. You will use a custom PXAccumulator attribute to update the number of assigned orders in the database for each employee. Finally, you will implement redirection to a report at the end of the processing.

Assign Work Orders Form

The following screenshot shows how the Assign Work Orders (RS501000) form will look at the end of the course. Company Story and Customization Description | 7

Figure: Assign Work Orders form

The form will contain the following elements:

  • Two processing buttons on the toolbar: Assign and Assign All, which a user will use to assign only the selected work orders (that is, those for which the user has selected the unlabeled check boxes) or all of the listed work orders, respectively, in the table.
  • The filtering UI elements in the Summary area, which a user can use to filter the list of repair work orders by the priority, the number of days the work order is not assigned, or the service that should be provided.
  • The table that displays the list of work orders that have the Ready for Assignment status and meet the other filtering criteria specified. Each row of the table lists a work order along with additional information about it, such as the number of days the order has been unassigned, the assignee to which the order will be assigned, and the number of orders that this assignee is currently is working on. A user can change the assignee for any work order in the table.

Database Tables and DACs Used for the Form

This form will use the following custom tables, which will be added to the application database in To Deploy an Instance for the Training Course:

  • RSSVWorkOrder: The data of this table will be displayed in the table on the form.
  • RSSVEmployeeWorkOrderQty: The data of this table will be used to display the number of assigned work orders of an employee in the table on the form. The filtering elements in the Summary area will use the RSSVWorkOrderToAssignFilter DAC, which contains only unbound fields. Therefore, no table corresponds to this DAC in the database. In Lesson 2.2: Modifying the Processing Form to Use the Field Updated by PXAccumulator, you will add the DefaultAssignee, AssignTo, and NbrOfAssignedOrders fields to the RSSVWorkOrder DAC (see the diagram below). The values of DefaultAssignee and NbrOfAssignedOrders are calculated based on the values in the RSSVEmployeeWorkOrderQty table, which holds the numbers of repair work orders assigned to employees. The RSSVEmployeeWorkOrderQty table is linked to the EPEmployee table by UserID. (You will add the RSSVEmployeeWorkOrderQty table to the application database in To Deploy an Instance for the Training Course and the corresponding DAC to the customization code in Lesson 2.1: Implementing a Custom PXAccumulator Attribute.) Company Story and Customization Description | 8 Initial Configuration | 9

Initial Configuration

You need to perform the prerequisite actions before you start to complete the course.

To Deploy an Instance for the Training Course

The following activity will walk you through the process of preparing and deploying an Acumatica ERP instance that you can use to perform the steps in the lessons of this training course.

Story

To perform customization tasks and complete the activities described in the lessons of this training course, you need to deploy an instance of Acumatica ERP with the PhoneRepairShop customization project published and then create custom database tables.

Process Overview

In this activity, you will prepare the environment and install tools that will help you to perform customization tasks. You will then deploy an instance of Acumatica ERP with the PhoneRepairShop customization project published and the dataset from the T270 Workflow API course. Finally, you will create custom database tables.

Step 1: Preparing the Environment

          If you have completed any of the training courses of the T series and are using the same environment
          for the current course, you can skip this step.

Before you begin deploying the needed Acumatica ERP instance, do the following:

  1. Make sure that the environment that you are going to use conforms to the System Requirements for the Acumatica ERP Installation.
  2. Make sure that the Web Server (IIS) features that are listed in Configuration of IIS Web Server Features are turned on.
  3. Install the Acuminator extension for Visual Studio.
  4. Install Acumatica ERP. On the Main Soware Configuration page of the Acumatica ERP Setup wizard, select the Install Acumatica ERP and Install Debugger Tools check boxes.
                   If you have already installed Acumatica ERP without debugger tools, you should remove
                   Acumatica ERP and install it again with the Install Debugger Tools check box selected. The
                   reinstallation of Acumatica ERP does not affect existing Acumatica ERP instances. You can
                   also install the Acumatica ERP Tools separately. For details, see Acumatica ERP Installation On-
                   Premises: To Install the Acumatica ERP Tools (Optional).
    

Step 2: Deploying the Instance To perform customization tasks, you need to deploy an instance of Acumatica ERP for the T240 Processing Forms training course on the instance. You deploy an Acumatica ERP instance and configure it as follows: Initial Configuration | 10

  1. Open the Acumatica ERP Configuration wizard, and do the following: a. Click Deploy a New Acumatica ERP Instance for T-Series Developer Courses. b. On the Instance Configuration page, do the following: a. In the Training Course box, select T240 Processing Forms. b. In the Local Path to the Instance box, select a folder that is outside of the C:\Program Files (x86), C:\Program Files, and C:\Users folders. (We recommend that you store the website folder outside of these folders to avoid an issue with permission to work in these folders when you customize the website.) c. On the Database Configuration page, make sure the name of the database is SmartFix_T240. The system creates a new Acumatica ERP instance, adds a new tenant, loads the data to it, and publishes the customization project that is needed for activities of this training course.
  2. Make sure that a Visual Studio solution is available in the App_Data\Projects\PhoneRepairShop folder of the Acumatica ERP instance folder.
    This is the solution of the extension library that you will modify in the activities of this training course.
  3. Sign in to the new tenant by using the following credentials:
  • Username: admin
  • Password: setup Change the password when the system prompts you to do so.
  1. In the top right corner of the Acumatica ERP screen, click the username, and then click My Profile. The User Profile (SM203010) form opens. On the General Info tab, select YOGIFON in the Default Branch box; then click Save on the form toolbar. In subsequent sign-ins to this account, you will be signed in to this branch.
  2. Optional: Add the Customization Projects (SM204505) and Generic Inquiry (SM208000) forms to your favorites. For details about how to add a form to your favorites, see Favorites: General Information.
    If for some reason you cannot complete instructions in this step, you can create an Acumatica ERP instance and manually publish the needed customization project, as described in Appendix A: Initial Configuration. Part 1: Processing Form (Assign Work Orders) | 11

Course Structure

Part 1: Processing Form (Assign Work Orders)

Part 2: Update of Data with a Custom Accumulator

Part 3: Redirection to a Report at the End of Processing