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 have below script that I can be able to add at my screen. But Same script I am not able to add in Existing screen as customization.I want to add this script on page load of Custom screen. I have try with Acumatica customization editor but when I have added this script inside asp control ...while generate script it has gone….please help<script type="text/javascript"> window.onload = function () { setTimeout(function () { const el = document.querySelector( "#ctl00_phG_tab_t18_EWQCCstPXTab35_t3_QCAttributesDetailsGrid_at_tlb_ul li:first-child" ); if (el) { el.addEventListener("click", function (e) { e.preventDefault(); // optional console.log("First li clicked"); var ds = px_alls['ds']; ds.executeCallback('EWQCRefreshAnnotations'); }); } }, 500); }; </script>
Hi CommunityCould someone please help me with the correct code for displaying a custom field in the Modern UI?I am trying to convert the custom field UsrItemRevision to Modern UI and display it on the BOM (AM208000) and Stock Item (IN202500) screens.I have already tried adding the field using TypeScript and HTML, but it does not work on these screens. Similar code works correctly on other screens, so I believe I may be missing something specific to AM208000 and IN202500.BOM Screen (AM208000)import { PXFieldState } from "client-controls";import { AM208000, AMBomItem } from "src/screens/AM/AM208000/AM208000";export interface AM208000_InventoryRevision25R2_generated extends AM208000 {}export class AM208000_InventoryRevision25R2_generated {}export interface AMBomItem_InventoryRevision25R2_generated extends AMBomItem {}export class AMBomItem_InventoryRevision25R2_generated { UsrItemRevision: PXFieldState;}HTML<template> <field name="Documents.UsrItemRevision"></field>
Hi All,We are encountering an error in the newly upgraded hosted site (version 25 R1).Could you please advise if there is a way to resolve this issue, or let us know what might be causing it?Error : “The type name 'HttpClient' could not be found in the namespace 'System.Net.Http'. This type has been forwarded to assembly 'System.Net.Http, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' Consider adding a reference to that assembly.”Im using nuget package in a customization.earlier version was leser to this.Your support would be greatly appreciated.Regards,Lalith
Hello Everyone,In Classic UI I have a form with a field where the user inputs a barcode and the backend adds a new line in a grid with the proper record.The focus returns to the input field after adding the line for the user to capture the next line.However I haven’t found a way to get this done with the modern UI.It used to be a very simple JS code in the aspx:<script>function FormView_Load(): void { px_callback.addHandler(setFocusOnCB);}let setFocus: boolean = false;function setFocusOnCB(context?: any, error?: any): void { if (setFocus === true) { setFocus = false; const cb = px_alls["edCBField"]; cb.focus(); }}</script> Has anyone figure this out ?
Table of ContentCache Mappings Explicit Cache Mapping Initialization Implicit Cache Mapping Initialization Cache Mappings Rules for DAC Hierarchies Graph Hierarchies Cache Mappings Rules for DAC and Graph Hierarchies Best Practice for Management of Cache MappingsIn the Acumatica business logic one of the most frequent actions is to obtain a graph cache from the graph's Caches collection for a particular DAC type. However, sometimes things can be not as simple as they look. In cases of DAC hierarchies, a graph may use the same graph cache for both base and derived DAC types. You can also explicitly specify what type of graph cache should be returned for a particular DAC type. The goal of this post is to describe this mechanism. Cache MappingsFor every DAC that is read from the database and modified by the application logic, Acumatica's PXGraph stores graph cache. This cache has the PXCache<SomeDAC> type, where SomeDAC is a cache item type. It is a type of DAC items stored in cach
Hi there!I have a customization which I need help in refining. So in the service order screen I added logic where I select the service order type and it populates the details line with the inventory ID specified in my UDF in the service order type screen, but mine does not save correctly, it keeps popping up and disappearing.For example I have added in the default service item in the service order type screen.//FSSrvOrdTypeExt.usrDefaultServiceItemIDusing PX.Objects.IN;[PXDBString(50)] [PXSelector(typeof(Search<InventoryItem.inventoryID>), DescriptionField = typeof(InventoryItem.descr))][PXUIField(DisplayName="Default Service Item ID")]This populates but does not save correctly and the description doesn’t populate too, what is required is the line to auto populate as soon as the service order type is selected.namespace PX.Objects.FS{ public class ServiceOrderEntry_Extension : PXGraphExtension<PX.Objects.FS.ServiceOrderEntry> { protected void FSSODet_Ro
Hi, I would like to add an additional tab to service order screen (FS300100) called Equipment. This would be a copy of all the fields in the Details tab where we can add records only of equipment assigned to this customer. How can I achieve this, do I need to create a separate DAC or can I use the Details tab and add filtering?Thank you!
I am facing an issue while adding a new custom tab in the Modern UI on the Customers screen, and I would appreciate your guidance.Screen Customers (AR303000) Issue DescriptionI have created a customization to add a new EDI Integration tab on the Customers screen using Modern UI (TypeScript + HTML).The customization builds successfully, and there are no runtime errors; however, the custom tab is not displayed on the Customers screen. TypeScript Codeimport { PXFieldState, createSingle, viewInfo} from "client-controls";import { AR303000, Customer} from "../AR303000"; export interface AR303000_EDIIntegration extends AR303000 { }export class AR303000_EDIIntegration extends AR303000 { @viewInfo({ containerName: "EDI Integration" }) Customer = createSingle(Customer_EDI);}export class Customer_EDI extends Customer { UsrEDI810: PXFieldState; UsrEDI850: PXFieldState; UsrEDI855: PXFieldState; UsrEDI856: PXFieldState; UsrEDIBuyerCode: PXFieldState;} HTML Code<
I have a very strange problem with Modern UI. Here are the steps I take to get it: I create a sales order, set a kit, explode it, then without saving it, I create a new line with any item. When I try to set a QTY, it throws an object referencing error and role back qty to 0 on the tab and resets the QTY back to zero. This problem is related to Modern UI because Classic UI doesn't have this problem.protected virtual void SOLine_OrderQty_FieldUpdated(PXCache sender, PXFieldUpdatedEventArgs e, PXFieldUpdated baseMethod){ baseMethod?.Invoke(sender, e); SOOrderEntry soGraph = (SOOrderEntry)sender.Graph; SOLine row = (SOLine)e.Row; if (row == null) return; BZSOLineExt rowExt = PXCache<SOLine>.GetExtension<BZSOLineExt>(row); if (rowExt == null) return; switch (rowExt.UsrBZExplodeState) { case null: return; case BZExplodeState.Never: return; } if (soGraph.IsContractBasedAPI || row.InventoryID == null ||
Hi,I’m trying to add a custom tab to the Customers screen, but it’s not displaying on the screen. I’ve attempted the implementation using the following code, but the tab is not appearing. Could anyone help me to troubleshoot this issue.AR303000_extensionGeneral.html<template> <qp-tabbar modify id="tabs"> <qp-tab add id="tab13" caption="Additional Info"> <qp-grid id="CustBankPerCustomerView_PXGrid0288" view.bind="CustBankPerCustomerView"></qp-grid> </qp-tab></qp-tabbar></template>AR303000_extensionGeneral.tsimport { PXView, PXFieldState, PXFieldOptions, linkCommand, gridConfig, graphInfo, columnConfig, GridColumnShowHideMode, GridColumnType, PXActionState, TextAlign, GridPreset, GridFilterBarVisibility, GridFastFilterVisibility } from "client-controls";import { Customer } from "../AR303000";export interface AR303000_extensionGeneral extends Customer { }@gridConfig({ syncPosition: true, showFastFilt
This is a duplicate of another topic, but the solution on that topic is not working for me.I have a custom action to open a popup to change the Location ID on the Customer screen, location tab.I have a working popup on the main toolbar. I want to have this action on the Locations Grid menu. I cannot get it to show.In the classic screen, the action shows up nicely.This code works for showing the action on the main toolbar:import { PXFieldState, PXView, viewInfo, createSingle, gridConfig, PXActionState,} from "client-controls";import { AR303000 } from "src/screens/AR/AR303000/AR303000";export interface AR303000_AgroShip_converted extends AR303000 { }//action that is showing on the main toolbar.export class AR303000_AgroShip_converted { @viewInfo({ containerName: "Change Location ID" }) ICSChangeLocationIDValueView = createSingle(ICSChangeLocationIDValue);}export interface AR303000_Location_AgroShip_converted extends Location { }@gridConfig({ topBarItems: {
Hi everyone,I’m facing a discrepancy between the Acumatica Browser UI and the Mobile App regarding a DateTime field.The Setup: I have a field defined in my DAC as follows:#region StartDatepublic abstract class startDate : PX.Data.BQL.BqlDateTime.Field<startDate> { }[PXDBDateAndTime(DisplayNameDate = "Date", DisplayNameTime = "Time", UseTimeZone = false)][PXUIField(DisplayName = "Start Date", Enabled = false)]public virtual DateTime? StartDate { get; set; }#endregionIn the Browser: The field displays the exact value stored in the database, which is the desired behavior because UseTimeZone = false.In the Mobile App: The field appears to be converted to Universal Time (UTC) or adjusted based on the device's time zone, even though it should display the "raw" database value.How can I force the Mobile App to display the "Wall Clock Time" (the exact value from the DB) without any time zone transformations, keeping it consistent with the browser's behavior? Is there a specific MSDL (Mobi
How to remove bottom border for my custom field?
I want to change the Invoice main document view and add a condition with a join so that I select only those invoices that belong to the branch set as the current logged-in user’s DefBranchID in UserPreferences.
I have a form with two grids, one with detail/child lines relating to the header entity, the other is analysis/grandchild lines that are specific to the selected detail line.The Classic UI version behaves correctly. When selecting a detail line, the second grid is refreshed and shows the correct records.The Modern UI version does not refresh the grandchild grid. The classic UI uses <Behavior CommitChanges="True" RepaintControlsIDs="gridDocs"> to trigger the refresh of the grandchildren: (trimmed for brevity) <px:PXSplitContainer > <Template1> <px:PXGrid Caption="Subcontractors" KeepPosition="True" SyncPosition="True" ID="gridSubLines" .. > ... <AutoCallBack Target="" SuppressOnReload="False" ActiveBehavior="True" Command="Refresh" Enabled="True"> <Behavior CommitChanges="True" RepaintControlsIDs="gridDocs"></Behavior> </AutoCallBack> <C
I am trying to create a Transfer but keep getting error”:GL Error: The financial period cannot be specified because the branch has not been specified in the Branch box.'However I am setting the branch. Below is a screenshot of my code. INTransferEntry transferEntry = PXGraph.CreateInstance<INTransferEntry>(); INSite fromWarehouse = SelectFrom<INSite>.Where<INSite.siteCD.IsEqual<@P.AsString>>.View.Select(transferEntry, "MAIN"); INSite toWarehouse = SelectFrom<INSite>.Where<INSite.siteCD.IsEqual<@P.AsString>>.View.Select(transferEntry, "PROJECT"); DateTime? docDate = DateTime.Now.ToUniversalTime(); int? orgID = PXAccess.GetParentOrganizationID(1); FinPeriod fPeriod = finPeriodRepository.GetFinPeriodByDate(docDate, orgID); INRegister transferRegister = (INRegister)transferEntry.transfer.Cache.Insert(); INRegister transferRegist
I’m trying to add a fieldset on the Bills and Adjustments screen after the ‘columnFirstSummary’ fieldset. However, the only way I can get this to work is to physically remove the fields/fieldset and then re-add them in a separate div. This isn’t bad, but if the fields change in the future I’ll obviously have to update the customization any time it does. Is there a more futureproof way to add this fieldset in the same column? Or am I kind of stuck with this solution?<template> <field remove="#columnFirstSummary FIELD[name='Status']"></field> <field remove="#columnFirstSummary FIELD[name='DocDate']"></field> <field remove="#columnFirstSummary FIELD[name='FinPeriodID']"></field> <field remove="#columnFirstSummary FIELD[name='InvoiceNbr']"></field> <field remove="#columnFirstSummary FIELD[name='IsJointPayees']"></field> <field remove="#columnFirstSummary FIELD[name='RefNbr']"></field> <fie
I have tried different methods for this case. I could change the lookup using an attribute, but for manual entry and for the Prev/Next/Last buttons, it doesn’t work. When I write e.NewValue = null or e.Cancel, or throw some exception in FieldUpdating/FieldVerifying, in some cases it returns an error, but the record still gets displayed. I tried using a Current Document delegate to change and add restrictions and also wrote a restriction attribute, but these options didn’t work either.
Hello community,Is there any way to change the message color (for example, to red) when displaying a message using PopupNoteManager? Thanks,VardanV.
Since the introduction of the generically defined event hander (defined as ‘_’), has there ever been a method introduced to allow dynamically removing/adding the handler, or if we want to do this do we need to still define them in the classical sense (DAC_Field_EventType(PXCache cache, PXEventTypeEventArgs e)?
The version I’m using is 2025 R2 Build 25.200.0248 and the issue is that the Modern UI Files and the rest of that functionality is missing from the Customization Project Editor even tho the build version I’m using is the latest and inside the other instance I’m having for the Acumatica tutorials is working absolutely fine. Here’s a screenshot of a fresh customization inside the problematic instance I’m using even after the creation of a screen with marked creation of “Modern UI Files”, the link in the navigation menu doesn’t appear also forgot to mention that the Modern UI is currently active
Hello all,I have been trying to add a new field - Ship Via, which is similar to the one present under the Shipments (SO302000) screen.As far as what i did is, have added as below:The Code under Custom Attributes section:[PXDBString(20)][PXUIField(DisplayName="Ship Via")][PXSelector(typeof(Carrier.carrierID), DescriptionField = typeof(Carrier.description))]Is this correct?
I’m trying to update the Item Class segmented key (Edit Mask) in Acumatica, but I’m getting the following error:“CS Error: Edit Mask cannot be changed. There are Item Class identifier AUTO to which the new edit mask cannot be applied.”Item Classes already exist and use the AUTO identifier.I understand that Acumatica restricts changes once the segmented key is in use, but I wanted to confirm with the community: Is there any supported way to modify the existing Item Class segmented key? Or is creating a new segmented key the only recommended approach? Looking for best practices or real-world experiences before proceeding.Thank you in advance for your guidance
Hello Team,In the Print/Email Orders screen, I want to add a custom filter checkbox. I have already have a custom checkbox field in the SOOrder table. If the filter checkbox is checked, then only Sales Orders with this custom flag records should load; if unchecked, all records should load.How can I achieve this?
I am a newbie, so forgive me if the answer to this question is trivial.I created customisation projects before with no issue.Now, I am trying to create a customization project, but the + button is disabled.I am doing this as an admin on a development environment on my notebook.Admin access right on SM204505 is edit.What am I missing?
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.