Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
I 'm working on a customization where I need to allow users to select a DAC (for example Vendor, Contact, Location, etc.) and then dynamically display the list of available fields for that DAC so the selected field can be saved for later processing (similar to a generic Inquiry screen). The DAC is resolved dynamically at runtime, and the requirement is to list all usable fields (including standard DAC fields and extension Usr* fields) without hardcoding them. I tried to find a way by investigating Generic Inquiry screen, but I was unable to find working solution #region FullDACName [PXDBString(255, IsFixed = true, InputMask = "")] [PXUIField(DisplayName = "Full DACName")] [PXStringList( new[] { "PX.Objects.AP.VendorR", "PX.Objects.CR.Location", "PX.Objects.CR.Contact", "PX.Objects.AP.BAccount" }, new[] { "Vendor", "Location", "Contact", "BAccount" } )] public virtual string FullDACName { get; se
I have a processing screen with PXFilteredProcessingJoin where the main DAC is Customer with LeftJoin<CustomTable> and LeftJoin<Location>.In the grid I display Location__CPriceClassID field from the joined Location DAC.Problem: When I click the Selected checkbox on a row, the value in Location__CPriceClassID column disappears. It comes back when I click the checkbox again.Here is my view[PXFilterable]public PXFilteredProcessingJoin<Customer, CustomFilter, LeftJoin<Location, On<Location.locationID, Equal<Customer.defLocationID>>, LeftJoin<CustomTable, On<CustomTable.customerID, Equal<Customer.bAccountID>>>>, Where<CustomTable.example, Equal<Current<CustomFilter.example>>, And<Where<Customer.lastModifiedDateTime, GreaterEqual<CustomTable.LastUpdatedDate>, Or<CustomTable.LastUpdatedDate, IsNull>>>>> Customers;and delegatepublic virtual IEnumerable customers(){ List<PXResu
Hi everyone, I have an issue with creating a popup panel in Modern UI.Below I have attached everything related to this popup. public PXSelect<BZSPFilter> BZSalespersonsDialog; #endregion #region Buttons #region BZViewSalespersons public PXAction<Table> BZViewSalespersons; [PXButton(CommitChanges = true, DisplayOnMainToolbar = false)] [PXUIField(DisplayName = "Salespersons", Enabled = true)] public void bZViewSalespersons() { if (Base.Views[CurrentViewName()].Cache.Current != null) { Base.Views[CurrentViewName()].RequestRefresh(); BZSalespersonsDialog.View.AskExt(true); } } #endregion #region UsrBZSalesperson1 public abstract class usrBZSalesperson1 : BqlInt.Field<usrBZSalesperson1> { } [SalesPerson] [PXUIField(DisplayName = BZFieldNames.SP1)] [PXFormula(typeof(Default<ARInvoice.customerID>)
Hi, I am working on customization request to add a GI on Service Order Screen where GI parameter is the inventory ID from Service Order Detail tab. I am having problem in mapping the Inventory ID to side panel customization project . The client wants to see the GI ( parameter is Inventory ID) as side pane when they select the row on the Detail tab of the Service Order. So the selection of the row will feed the Inventory Id info to the GI parameter to display the list of info available on the GI related to that Inventory ID.See attached for detail. It will be great help if you can share any info to make it possible via “Customization Project Editor” or via code?
<ClientEvents TabChanging="refreshGrid" /><px:PXJavaScript runat="server" ID="CstJavaScript23" Script="function refreshGrid(){ var custGridTotal = document.getElementById("ctl00_phG_tab_t6_CstFormView8&quot;); if(custGridTotal != null &amp;&amp; custGridTotal != undefined){ custGridTotal.object.refresh(); console.log(&quot;custGridTotal&quot;); } }" IsStartupScript="True" />I want to convert my JavaScript code to Modern UI TypeScript code. How can I do it? I cannot find any documentation about it. I found @handleEvent in TypeScript, but it does not have TabChanging or many other events that exist in the JavaScript client-side.
In Customer Profile under Balance would like to add a new field for Open Invoices. This field would display the sum of the Current Balance for all Invoices with an Open Status associated with the particular customer. Need help creating the customization.The issue we are having is that Prepayments are included in the Balance the Customer owes. If a Customer has open Invoices totaling $1000 but they have a Prepayment of $200 for future work their balance displays $800 and this balance is what our employees see and what shows on the Customer Statement. Customers end up paying less than what they owe.
Hello Acumatica team,How can the missing text in the Shipping tab be added in the Modern UI using a screen extension?
Could someone please help in providing a solution of moving the UDF from PO into AP Invoice?I am new to developing in acumatica. I have created the user defined fields in POLine and APTran.While reviewing the source of APInvoiceEntry, I looked at overriding the method CopyCustomizationFieldsToAPTran.Code I added is below.public void CopyCustomizationFieldsToAPTran(APTran apTranToFill, IAPTranSource poSourceLine, Boolean areCurrenciesSame, CopyCustomizationFieldsToAPTranDelegate baseMethod) { baseMethod(apTranToFill,poSourceLine,areCurrenciesSame); var portID = poSourceLine.GetExtension<POLineExt>()?.UsrPortID; var tranline = apTranToFill?.GetExtension<APTranExt>()?.UsrPortID; if (tranline != null && portID != null ) tranline.UsrPortID = portID; }I am getting validation errors when I try to publish.error CS1929: 'IAPTranSource' does not contain a definition for 'GetExtension' and the best extension method overload 'PXCacheEx
I have some user-defined fields in the SOOrder form, when I convert that SO to the Shipment I want that fields to move to the Shipment form. How can I achieve this via customization.
I investigated, and this message is written in IN/Descriptor. It’s called AccumulatorAttribute only in this attribute. I don’t understand where this attribute is applied that uses this exception code. I suppose it is in ARTranUpdate DAC and also in several other DACs. If that’s the case, can I override this attribute? Is there a way in Acumatica to change a DAC attribute?[PXHidden][Accumulator(BqlTable = typeof(AR.ARTran))]public class ARTranUpdate : PXBqlTable, IBqlTable{}I tried using an Interceptor, but it doesn’t override the existing DAC; it only adds a new DAC.Base.Caches[typeof(ARTranUpdate)].Interceptor = new BZAccumulatorAttribute();
When adding a new custom feature switch i get an error when changing another feature due to the null value in the new feature switch field. How can i prevent this?[PXDefault(false, PersistingCheck = PXPersistingCheck.Nothing)] doesn’t help here!
Key Changes Acuminator Console Runner Code Map Enhancements Changes in Code Analysis New PX1099 Diagnostic For Banned API Detection New Diagnostics For DACs and DAC Extensions New Diagnostics For Graphs and Graph Extensions New Diagnostics For PXOverride Methods Changes in Diagnostics For Asynchronous Code Other New Diagnostics Other Notable Changes AcknowledgementsHello everyone, We are pleased to announce that the new version of Acuminator 4.0.0 has been released.This is a major update that introduces a new command-line tool, a large number of new diagnostics, significant enhancements to the Code Map, and important performance improvements. You can find the detailed summary of all changes in the release notes:https://github.com/Acumatica/Acuminator/releases/tag/v4.0.0You can download the new version of Acuminator from Visual Studio Marketplace:https://marketplace.visualstudio.com/items?itemName=Acumatica.AcuminatorAlternatively, you can install Acuminator from binaries attached
Hello Acumatica teamI am displaying a note/label message at the top of a screen in the Classic UI, where the message appears with a specific text color. However, in the Modern UI, I am unable to apply the same color formatting to the label message.Could you please advise where this can be handled in the Modern UI, or share the recommended approach/logic to implement colored text for the label message?Any guidance would be helpful.Thank you.
I’m trying to convert a popup dialog box that worked in Classic UI to Modern UI.I’m so close, but I’m missing something. When the dialog pops up the ok button is constantly disabling. I think it has something to do with the way I’m making the view, but I can’t quite figure it out. Additional details in the view section below.I feel like I must be close, but can’t seem to make it happen. Calling on the experts!The Class for the dialog: [Serializable] [PXHidden] public class TCAPCreateSalesOrderFilter : PXBqlTable, IBqlTable { public static bool IsActive() { return true; } #region OrderType public abstract class orderType : PX.Data.BQL.BqlString.Field<orderType> { } [PXDBString(2, IsFixed = true, InputMask = ">aa")] [PXDefault(typeof(Search2<SOOrderType.orderType, InnerJoin<SOSetup, On<SOOrderType.orderType, Equal<SOSetup.defaultOrderType>>>, Where<SOOrderType.a
I am creating a Transfer Order in the Sales Order screen from an Action button on the Appointment screen.After the Transfer Order is created, I need to override the Shipping Address (SOShippingAddress) with the address values from the Service Order Address.However, the Shipping Address is not getting overridden, and the values are not updated in the Sales Order. Only overrdie check box is checked other fields not updating.Below is the code I am currently using:oGraph.Shipping_Address.Current = soGraph.Shipping_Address.Select();soGraph.Shipping_Address.Current.IsDefaultAddress = true;soGraph.Shipping_Address.Current.OverrideAddress = true;soGraph.Shipping_Address.Current.AddressLine1 = Base.ServiceOrder_Address.Current.AddressLine1;soGraph.Shipping_Address.Current.AddressLine2 = Base.ServiceOrder_Address.Current.AddressLine2;soGraph.Shipping_Address.Current.City = Base.ServiceOrder_Address.Current.City;soGraph.Shipping_Address.Current.State = Base.ServiceOrder_Address.Current.State;soGr
Hello, i don’t know if this is a complicated problem or if i’m just thinking in the wrong direction. I have a Dialog which pops out per button click. Inside this SmartPanel i have 2 Selectors which aren’t working. I tried using Standard ones which are working in other Screens, but i get the same error. I have a Filter DAC CommSupplier, inside this DAC is a Checkbox and the 2 Selectors. This is how i open the Dialog: public PXFilter<CommSupplierFilter> CommSupplierFilter; public PXAction<FSServiceOrder> commSupplier; [PXButton(CommitChanges = true)] [PXUIField(DisplayName = "Lieferanten beauftragen", MapEnableRights = PXCacheRights.Select)] protected IEnumerable CommSupplier(PXAdapter adapter) { if (Base.CurrentServiceOrder.Current == null) return adapter.Get(); if(Base.ServiceOrderRecords.Current == null) return adapter.Get(); if (CommSupplierFilter.Current == null) { CommSupplierFi
I am working on a processing screen. The grid of this screen works off of a projection DAC that joins a bunch of inventory tables (INLocationStatusByCostCenter, InventoryItem, INSite, INLocation, INItemSite, and INLotSerialStatusByCostCenter). I am trying to surface the QtyAvail field. I have the respective fields in the DAC:#region LocationQtyAvail[PXDBQuantity(BqlField = typeof(INLocationStatusByCostCenter.qtyAvail))][PXUIField(Enabled = false)]public decimal? LocationQtyAvail { get; set; }public abstract class locationQtyAvail : BqlDecimal.Field<locationQtyAvail> { }#endregion#region LotSerialQtyAvail[PXDBQuantity(BqlField = typeof(INLotSerialStatusByCostCenter.qtyAvail))][PXUIField(Enabled = false)]public decimal? LotSerialQtyAvail { get; set; }public abstract class lotSerialQtyAvail : BqlDecimal.Field<lotSerialQtyAvail> { }#endregionMy goal is to have one general QtyAvail field that has logic that determines which actual QtyAvail to use. If the lot serial QtyAvail is n
<px:PXGridColumn DataField="UsrBZPONumber" Width="140" CommitChanges="True" Type="HyperLink" LinkCommand="BZViewPOOrders" />how convert it to modern ui?
In the Classic UI, the grid is present, as shown in the screenshot below (highlighted for reference). However, after converting the screen to Modern UI and adding the grid in both the HTML and TS files, the grid still does not appear in the Modern UI. Please refer to the screenshots and HTML and TS code below, and please suggest the solution.HTML File :<template> <qp-fieldset slot="A" id="frmGroupCustomZipCodesSync" view.bind="CurrentStore" caption="Custom Zip Codes Sync uk1" class="no-label" wg-container after="#frmGroupB2BCustomer"> <field name="UsrKNWWSPEnableCustomZipSync"></field> </qp-fieldset> <qp-fieldset slot="A" id="frmGroupCustomPriceSync" view.bind="CurrentStore" caption="Custom Price Sync" wg-container after="#groupInventorySettings"> <field name="UsrKNWWSPEnableCustomPriceSync"></field> <field name="UsrKNWWSPPriceType"></field> <field name="UsrKNWWSPPriceClassCode" config-enabled.bind="CurrentSt
I’m trying to figure out why I can’t search for an Item Class. I’m saving the ItemClassID to SQL even though the ItemClassCD is shown which is what I want. However, my search is always throwing a “failed to convert parameter vale from a String to an Int32” popup box.Question: is there something that I’m missing to get my search to work?Here’s my DAC code: [PXDBInt] [PXUIField(DisplayName = "Item Class")] [PXSelector(typeof(SearchFor<INItemClass.itemClassID>.Where<INItemClass.itemClassCD.IsNotEqual<Empty>>), SubstituteKey = typeof(INItemClass.itemClassCD), DescriptionField = typeof(INItemClass.itemClassID))] public virtual int? ItemClassID { get; set; } [SuppressMessage("Style", "IDE1006:Naming Styles", Justification = "DAC field BQL class uses same name with different case")] public abstract class itemClassID : BqlInt.Field<itemClassID> { }Here’s my Grid: <px:PXGrid ID="grid" runat="server" DataSourceID="ds" Width="
Could not load file or assembly 'Microsoft.Extensions.Options.ConfigurationExtensions' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.Exception Details: System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Extensions.Options.ConfigurationExtensions' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)How can I resolve this issue? Thanks in advance for your help!
I want to raise the question here. Can we run npm build in local development in folder FrontendSources and add build file to production? Like this How can we include the build file to my customization ui file. Because when I browse from file or moder ui file I cannot see it. But in file I can see development file in screen folders. Please guide me.
In the Classic screen, I use an action to highlight (change the row color of) records in the grid based on the value of the UsrFRCanShip field. When I click the action, the row colors update as expected (see the screenshot below). After migrating the screen using the conversion tools: The screen loads correctly in Modern UI, but the action no longer applies the row coloring in the grid. Could you please advise how to implement this grid row coloring behavior in Modern UI?
Hi everyone,I am implementing custom row highlighting in Acumatica 25R2 Modern UI for the Process Orders (SO501000) screen. I am using CustomEventType.GetRowCss to apply different background colors based on a custom field UsrFRCanShip (Red for No, Green for Yes, Yellow for Partial).The issue: While the colors apply correctly to most rows, the currently selected or focused row (the one with the > indicator) loses the custom color and shows the default light-blue selection style of the Modern UI.I have tried using !important in my CSS, but the platform's internal selection styles seem to have higher specificity or are applied to a layer that overrides the td background-color during the "Active" or "Selected" state.TypeScript (SO501000.ts):@handleEvent(CustomEventType.GetRowCss, { view: "Orders" })getOrdersRowCss(args: any) { const row = args?.selector?.row; this._injectStyles(); if (!row) return ''; const val = row.UsrFRCanShip?.value; if (val === 'N' || val === 'No') r
I can see the “+” symbol but it’s disabled which doesn’t make sense since I added the Mode (AllowAddNew). I can add rows in SQL and they show up fine but I can’t edit the values or add new rows in the new customized screen.Question: do I need to create an Action bar to create rows or edit existing rows?I defined my HTML like this…<%@ Page Language="C#" MasterPageFile="~/MasterPages/ListView.master" AutoEventWireup="true" ValidateRequest="false" CodeFile="IN400628.aspx.cs" Inherits="Page_IN400628" Title="Untitled Page" %><%@ MasterType VirtualPath="~/MasterPages/ListView.master" %><asp:Content ID="cont1" ContentPlaceHolderID="phDS" Runat="Server"> <px:PXDataSource SkinID="Primary" ID="ds" runat="server" Visible="True" Width="100%" TypeName="updateInventory.INItemClassRulesSetupMaint" PrimaryView="Records" > <CallbackCommands> <px:PXDSCallbackCommand Name="Save" CommitChanges="True" ></px:PXDSCallbackCommand>
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.