Generic Graph Extensions: Classes Declared in MYOB Acumatica

The MYOB Acumatica source code includes predefined generic graph extensions, which are described in detail in the following sections. These graph extensions are declared in the PX.Objects.Extensions namespace. You can use them to include the implemented functionality in the forms of your application. For details on how to include this functionality, see To Insert Reusable Business Logic That Has Already Been Declared.

Multicurrency Extension

To support multiple currencies on a form, you can insert an implementation of the MultiCurrencyGraph<TGraph, TPrimary> abstract class into the graph that provides the form’s business logic. For more information about multicurrency support, see Currency Management.

The MultiCurrencyGraph<TGraph, TPrimary> class works with the following mapped cache extensions:

  • Document: Represents a document that supports multicurrency
  • CurySource: Contains information about the currency source

Sales Price Extension

To work with multiple price lists on a form, you can insert an implementation of the SalesPriceGraph<TGraph, TDocument, TDetailOpt, TPriceClassSourceOpt> abstract class into the graph that provides the form’s business logic. For more information on sales prices, see Sales Prices: General Information.

The SalesPriceGraph class works with the following mapped cache extensions:

  • Document: Represents a document that supports multiple price lists
  • Detail: Represents a detail line of the document
  • PriceClassSource: Provides information about the source of the price class

Discount Extension

To support discounts on a form, you can insert an implementation of the DiscountGraph<TGraph, TDocument, TDetail, TDiscount> abstract class into the graph that provides the form’s business logic. For information about discounts, see Customer Discounts: General Information.

The DiscountGraph class works with the following mapped cache extensions:

  • Document: Represents a document that supports discounts
  • Detail: Represents a detail line of the document
  • Discount: Provides information about the discount

Sales Tax Extension

To apply sales taxes to amounts on a form, you can insert an implementation of the TaxBaseGraph<TGraph, TPrimary> abstract class into the graph that provides the form’s business logic. For information about taxes in the system, see Taxes.

The TaxBaseGraph class works with the following mapped cache extensions:

  • Document: Represents a document that supports sales taxes
  • Detail: Represents a detail line of the document
  • TaxTotal: Represents the tax total amount
  • TaxDetail: Represents a tax detail line