Skip to main content
T230

Actions

View:
2025R13 lessons

T230: Actions

Version: 2025R1
Category: Technical

How to Use This Course

The T230 Actions training course shows you how to define various types of actions by using Acumatica Framework and the customization tools of Acumatica ERP.

         Actions in the application code are associated with buttons on form toolbars and table toolbars and
         with commands on the More menu in Acumatica ERP.

The 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. The course is designed to give you ideas about how to develop your own embedded applications through the customization tools. It demonstrates the implementation of actions and the customization of existing actions of Acumatica ERP, as well as the implementation of the commands and buttons on the UI that are associated with these actions. 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 T200 Maintenance Forms, T210 Customized Forms and Master-Detail Relationship, and T220 Data Entry and Setup Forms training courses (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 and customize actions in Acumatica ERP.

         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. Also, we recommend that you complete the T200 Maintenance Forms, T210 Customized Forms and Master-Detail Relationship, and T220 Data Entry and Setup Forms training courses before you begin this course. 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 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. The lesson may also include Additional Information topics, which are outside of the scope of this course but may be useful to some readers. Each lesson ends with a Lesson Summary topic, which summarizes the development techniques used during the implementation of the 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\T230 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 T200 Maintenance Forms, T210 Customized Forms and Master- Detail Relationship, and T220 Data Entry and Setup Forms training courses. In the T200 Maintenance Forms training course, you have created two simple maintenance forms for the Smart Fix company:

  • Repair Services (RS201000), which contains the list of the company's repair services
  • Serviced Devices (RS202000), which lists the devices that can be serviced In the T210 Customized Forms and Master-Detail Relationship course, you have created another maintenance form, Services and Prices (RS203000), and customized the Stock Items (IN202500) form of Acumatica ERP. The Services and Prices form provides users with the ability to define and maintain the price for each provided repair service. The Stock Items form has been customized to mark particular stock items as repair items—that is, items that are used for the repair services. In the T220 Data Entry and Setup Forms course, you have created the Repair Work Orders (RS301000) data entry form, which is used to create and manage work orders for repairs. You have also created the Repair Work Order Preferences (RS101000) setup form, which an administrative user uses to specify the company’s preferences for the repair work orders.
            The customization project that contains the results of these courses will be loaded and published in
            Initial Configuration.
    

    In the T230 Actions course, on the Repair Work Orders form, you will implement commands on the More menu and buttons on the form toolbar, as well as buttons on the table toolbars of the tabs of this form. You will also implement the underlying actions. By using these commands and buttons, users will be able to assign a work order to themselves and update the prices of repair and labor items. On a tab of the Services and Prices form, you will implement a button on the table toolbar, as well as the underlying action. This action will execute a long-running operation. By using the button, users will be able to validate the prices for the repair items for the selected repair service by using an external service.
  • Actions in the application code are associated with buttons on form toolbars and table toolbars and commands on the More menu in Acumatica ERP.
  • As you develop the button that users can click to validate repair item prices from an external service, you will learn how to execute its underlying action asynchronously, which can be a time-consuming operation. However, this course does not cover the process of connecting to an actual external service to validate the prices.

Buttons on the Repair Work Orders and Services and Prices Forms

In this course, you will add the following buttons and commands to the Repair Work Orders (RS301000) form and implement the underlying actions:

  • The Assign to Me button on the form toolbar and command on the More menu. By clicking this button or command, a user can assign a repair work order to themselves—that is, cause the system to insert their username into the Assignee box. The button and command will be available until the repair work order status is changed to Assigned, so it will be available when the repair work order has the On Hold or Ready for Assignment status.
  • The Update Prices button on the table toolbar of the Repair Items and Labor tabs. If the price of a repair item or labor item has been changed on the Services and Prices form, a user will be able to update this item's price on the Repair Work Orders form. The user can click this button on the Repair Company Story and Customization Description | 7
     Items tab for a repair item or on the Labor tab for a labor item. The Update Prices button will be available
     until an invoice has been created for the selected repair work order.
    

The following screenshots show how the Repair Work Orders form will look with these buttons.

Figure: The Assign to Me and Update Prices buttons of the Repair Work Orders form

Figure: The Update Prices button on the Labor tab Company Story and Customization Description | 8

In the course, you will add the Validate Prices button on the table toolbar of the Repair Items tab of the Services and Prices (RS203000) form. By clicking this button, a user can asynchronously validate the prices of the repair items on this tab from an external service. The following screenshot shows how the Services and Prices form will look with the added button.

Figure: The Validate Prices button of the Services and Prices form 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

This activity will walk you through the preparation and deployment of 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 configure the instance.

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 the instance of Acumatica ERP with the PhoneRepairShop customization project published and the dataset from the T220 Data Entry and Setup Forms course. Finally, in Acumatica ERP, you will configure the instance that you have deployed.

Step 1: Preparing the Environment

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

To prepare the environment, 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. Clone or download the customization project and the source code of the extension library from the Help- and-Training-Examples repository in Acumatica GitHub to a folder on your computer.
  5. 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).
    

Initial Configuration | 10

Step 2: Deploying the Instance To perform customization tasks, you need to deploy an instance of Acumatica ERP for the T230 Actions training course on the instance. You deploy an Acumatica ERP instance and configure it as follows:

  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 T230 Actions. 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 that the name of the database is SmartFix_T230. The system creates a new Acumatica ERP instance, adds a new tenant, loads the dataset to it, and publishes the customization project that is needed for the 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. Lesson 1: Defining an Action and the Associated Button for a Form | 11

Course Structure