Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
Hello everyone,I have created a custom field called "Grundton" in the data class InventoryItem and would like it to be displayed in the Smart Panel (Inventory Lookup) on the quote screen so that I can filter by it.I would really appreciate it if someone could explain the steps to set this up.
I have successfully set up a field on the Customers Default Address to flag if the address is verified. On the Customers screen adding a FieldUpdated event for AddressLine1 allowed me to reset this flag if the field was edited.This is the code:protected void Address_AddressLine1_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e, PXFieldUpdated InvokeBaseHandler){ if(InvokeBaseHandler != null) InvokeBaseHandler(cache, e); var row = (Address)e.Row; if (row == null) return; var addrExt = PXCache<Address>.GetExtension<AddressExt>(row); if (addrExt?.UsrAIAddressVerified == true) { cache.SetValueExt<AddressExt.usrAIAddressVerified>(row, false); }}This works great on the Customers screen. If I edit Address Line 1 and tab away it resets the flag. I want to reproduce the same thing on the Shipping Address on the Sales Order Screen.I added the following:protected void SOShippingAddress_AddressLine1_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e, P
Hi all,I created some custom DAC views from sql for GI. When I publish the project for the first time, the tables still appear normally. But when I publish the next times for other projects, the tables in GI will disappear. I checked on the database and the views are still there but not appearing on GI.This is my sql code in the database script This is the code I let the system automatically createDo I need to adjust the initialization code for the above scripts? Or do I need to do something else ?
Hi,I am working with a 25 R1 site that was originally created using 24 R2 and later upgraded to 25 R1. The site includes several customizations, including enhancements to base screens and the development of new custom screens.After configuring the necessary Modern UI settings in the web.config and site map, the standard base screens are correctly displaying in the Modern UI. However, the customized base screens and newly developed screens are not rendering in the Modern UI as expected.I have used the built-in converter and followed all the recommended steps for the transition. Below are sample .html and .ts files from a very simple screen that I have converted.WS101001.html<template> <qp-grid id="FreightForwarder_grid" view.bind="FreightForwarder"></qp-grid> </template> WS101001.tsimport { Messages as SysMessages } from "client-controls/services/messages";import { createCollection, createSingle, PXScreen, graphInfo, PXActionState, viewInfo, handleEvent, Custo
Hi, I am adding a few custom fields to ARInvoice and ARPayment. How can I prevent these fields from being picked up in the copy/paste functionality? I tried redefining the data view in a graph extension with a new PXCopyPasteHiddenFields attribute, but it did not work.
I have a mobile App that has a custom action which will redirect to an external Web Page.It was working a week ago. The customer was playing with creating their own customization, and mucked things up and asked our admin to restore a snapshot. When they did this, the customization that calls the external web site stopped working.I cannot figure out why.The call to the Redirect is: // Everything is gathered up. Time to send it var redirectException = new PXRedirectToUrlException(fullURL, PXBaseRedirectException.WindowMode.NewWindow, "This is a Message, which gets ignored in this case", false); throw redirectException; // call URLThis works when run from the browser. However, not from the mobile device.In the Customization, this action is defined like this:update screen FS300200 { update container "AppointmentRecords" { add recordAction "ASGExtForms" { behavior = v
I have a custom field UsrLotNumber in the POLine table. I want to update that field to the PO Number. Please don’t ask why the customer wants to do this…The issue is that the PO Number is “<NEW>” until after you save the PO.I put code in the RowPersisting handler of the POLine table.However, the OrderNbr field is “<NEW>” at this point. I tried putting the code in the POOrder rowpersisting, but it still doesn’t save to the DB.This is my POOrderRowPersisting code. It shows the value in the grid after saving, but no update to the DB.protected void POOrder_RowPersisting(PXCache cache, PXRowPersistingEventArgs e){ var row = (POOrder)e.Row; foreach (POLine line in Base.Transactions.Select()) { BSPOLineExt ext = line.GetExtension<BSPOLineExt>(); if (ext == null) return; InventoryItem inventory = SelectFrom<InventoryItem>.Where<InventoryItem.inventoryID.IsEqual<@P.AsInt>>.View.Select(Base, line.InventoryID); if (inventory == null) return; INLotSerCl
RS201000.ts codes:import { PXScreen, graphInfo, createCollection, PXView,PXFieldState, gridConfig,PXFieldOptions,GridPreset } from "client-controls"; @gridConfig({ preset:GridPreset.Primary})export class RSSVRepairService extends PXView{ ServiceCD : PXFieldState; Description : PXFieldState; Active : PXFieldState; WalkInService : PXFieldState<PXFieldOptions.CommitChanges>; Prepayment : PXFieldState; PreliminaryCheck : PXFieldState<PXFieldOptions.CommitChanges>;} @graphInfo({ graphType:"PhoneRepairShop.RSSVRepairServiceMaint", primaryView:"RepairService", hideFilesIndicator:true, hideNotesIndicator:true})export class RS201000 extends PXScreen{ RepairService=createCollection(RSSVRepairService)}RS201000.html Codes:<template> <qp-grid id="grid-RepairService" view-bind="RepairService"></qp-grid></template>
I have a customer who wants to mass print Pick Tickets for sales orders with any status.I created a custom processing screen to do this. The screen works perfectly with the exception that I am only getting the first order in the list and the last order in the list. I selected 8 records to print and verified that all 8 were in the list being processed in debug mode. I found an article on stackoverflow where someone had a similar issue. His issue was fixed by adding the MergeLast as false on the last record being added to the report. I used a counter to find if the item being added was the last one, and put false in for the MergeLast parameter. Did not help.Here is my graph: public class ICSPrintPickTicketsProcess : PXGraph<ICSPrintPickTicketsProcess> { public PXFilter<Filter> FilterView; public PXCancel<Filter> Cancel; public PXFilteredProcessing<SOOrder, Filter, Where<SOOrder.orderType, Equal<SOOrderTypeConstants.salesOrder>>, OrderBy<De
I guess this may require a customisation. Is it possible to restrict Shipping Rule in a sales order (making it read-only) if the Term of that order is X only for people who have user role Y?
Hello,I am working on a customization for the Stock Items Inventory. I am trying to add an action to the page that would create a new Purchase order and fill in the vendor fields and insert a line into the Details section for the Inventory Item. I have been able to open the form, and add the vendor, but cannot figure out how to insert the detail line.So I want to take the part that is circled in red in the first image and create a line where the red is in the second image.
Hi Community,I’m working on a customization related to the Create Purchase Orders screen and need some guidance with vendor defaulting and updating custom fields on the POFixedDemand DAC.Customization Details:I’ve added the following custom fields to POFixedDemand: Shipping Destination Type Ship To Shipping Location Scenario: In the Sales Order, we have a Configurable item (parent) and IsSupplement (child) items. When creating a PO from this sales order: The Vendor and VendorName on the parent (Configurable) item in the POFixedDemand should default from the child item (where IsSupplement = true). and also on Parent Item (Configurable = true) What I’ve Tried: POFixedDemand_VendorID_FieldUpdated: I added logic here to assign values to the custom UDF fields. The values seem to be set in the code but do not reflect on the screen/UI. Overridden EnumerateAndPrepareFixedDemandRow delegate: I tried to default the vendor here based on the child (supplement) or stock item’
Can I use files of Different Customization Project into my current customized project?
PS D:\TCourseInstances\SmartFix_T290\FrontendSources\screen> npm run build-dev modules=RS> screen@0.1.0 build-dev> cross-env node --max_old_space_size=6144 --optimize_for_size --stack_size=6144 --trace-warnings ./node_modules/webpack/bin/webpack --progress modules=RS[webpack-cli] 'modules=RS' is an invalid value for the --progress option. Only 'profile' is allowed.
I have created a customization that adds a tab to the Stock Item screen. The tab contains a grid with a field with autonumber attribute. Manually everything work find I can add multiple lines to the grid, but imports only add one line and then stop. The grid has a custom dac and view. Below is part of the dac:public class PAFactoryQuote : IBqlTable{ #region RefNbr [PXDBString(15, IsKey = true, IsUnicode = true, InputMask = "")] [PXUIField(DisplayName = "Ref Nbr")] [AutoNumber(typeof(PAQtSetup.numberingID), typeof(AccessInfo.businessDate))] [PXDefault(PersistingCheck = PXPersistingCheck.Nothing)] public virtual string RefNbr { get; set; } public abstract class refNbr : PX.Data.BQL.BqlString.Field<refNbr> { } #endregion #region InventoryID [PXDBInt(IsKey = true)] [PXDBDefault(typeof(InventoryItem.inventoryID))] [PXParent(typeof(SelectFrom<InventoryItem>. Where<InventoryItem.inventoryID.IsEqual<PAFactoryQuote.inventoryID.FromCurrent>>))]
In Expense and Receipt screen (ScreenId=EP301020) “Project/Contract” field present.User can select Projects.In this selector popup we need to add customer name and service order nbr field.I can add customer name but not service order nbr. (No error - No column)Code for customization:[PXDBInt] [PXUIField(DisplayName = "Project/Contract")] [PXDimensionSelector(ContractAttribute.DimensionName, typeof(Search2<Contract.contractID, LeftJoin<EPEmployeeContract, On<EPEmployeeContract.contractID, Equal<Contract.contractID>, And<EPEmployeeContract.employeeID, Equal<Current2<PX.Objects.EP.EPExpenseClaimDetails.employeeID>>>>, LeftJoin<PMProject, On<PMProject.contractID, Equal<Contract.contractID>>, LeftJoin<PX.Objects.FS.FSServiceOrder, On<PX.Objects.FS.FSServiceOrder.projectID, Equal<Contract.contractID>>>>>, Where<Contract.isActive, Equal<True>
I have a need checkbox(UsrFieldName) to the Request Screen RQ301000. I need to add FieldUpdated Event to itRQRequestEntry is the main DAC public class RQRequestEntry_Extension : PXGraphExtension<PX.Objects.RQ.RQRequestEntry> { #region Event Handlers protected void _(Events.FieldUpdated<RQRequest> e) -----→ How can I update this Line { } #endregion }
I’m adding a Vendor ID selector to the Stock Items screen. I’m trying to use an existing VendorActive attribute so I don’t have to create the PXSelector from scratch.In project editor, the custom field shows a TextEdit, not Selector. I tried editing the ASPX to make the field a PXSelector, but I get this error when I try to use the field:This is my DAC field. I used the same “technique” as in the Acumatica training course, but does not work.public sealed class CBInventoryItemExt : PXCacheExtension<PX.Objects.IN.InventoryItem>{ public static bool IsActive() => true; #region UsrItemVendor [VendorActive(DisplayName = "Item Vendor", DescriptionField = typeof(Vendor.acctName))] public int? UsrItemVendor { get; set; } public abstract class usrItemVendor : PX.Data.BQL.BqlInt.Field<usrItemVendor> { } #endregion}Nothing is ever easy for me.
Per the documents I am trying to compile one screen, however I get the following error.PS C:\Program Files\Acumatica ERP\ACU-1\FrontendSources\screen> npm run build-dev -- --env screenIds=AR301000> screen@0.1.0 build-dev> cross-env node --max_old_space_size=6144 --optimize_for_size --stack_size=6144 --trace-warnings ./node_modules/webpack/bin/webpack --progress screenIds=AR301000[webpack-cli] 'screenIds=AR301000' is an invalid value for the --progress option. Only 'profile' is allowed. I have tried both folders “FrontendSources\screen\” & “FrontendSources\” Attached is all text from my console with many different attempts, some successful when “npm run build-dev” is run, others not.
I’m trying to add a currently existing tables to a screen as a new DAC. I’ve got it added in the code tab, but it is still not appearing as a option to add its fields.
I created a simple new screen. Its pretty much the same as the T210 screen from the open university with some different field names. I reviewed it with my team in my local test environment and they want to add another field to it. i added it to the sql table and then tried adding it to the DAC and it errors out saying that the table already contains a definition for that field. error message CS0102. is it possible to add a field to this DAC after publishing, or will i have to start over? i can add the field using “add a field” in the customization project and it contains USR at the front, but when i do it that way, it wouldnt let me use that field in the field updated event where i was adding information for the other fields. i tried adding it to the DAC in visual studio and in the customization project. Can someone tell me what i am doing wrong?
For a particular screen in the user interface, is it possible to see the currently active graph extensions? I am trying to see how a particular field behaves but there is nothing in the graph code that seems to implement this behaviour, so I guess it must be an extension somewhere, and finding extensions is difficult.You can see currently active DAC extensions in the DAC Schema Browser, so I hoped there would be something similar for graphs.Thanks,Ben.
import { PXFieldState, PXFieldOptions, linkCommand, controlConfig,} from "client-controls";import { POOrder } from "src/screens/PO/PO301000/PO301000";export interface POOrder_UsrSalesRepID extends POOrder { }export class POOrder_UsrSalesRepID{ UsrSalesRepID: PXFieldState<PXFieldOptions.CommitChanges>;} <template> <field after="#fsColumnB-Order [name='OwnerID']" name="UsrSalesRepID"></field></template>This is my code. It doesnot show on the UIBut this other code similar shows the field on the UI import { PXFieldState, PXFieldOptions, linkCommand, controlConfig,} from "client-controls";import { POOrder } from "src/screens/PO/PO301000/PO301000";export interface POOrder_Requisition extends POOrder { }export class POOrder_Requisition{ @controlConfig({allowEdit: true, }) UsrRelatedRequisitionCD : PXFieldState<PXFieldOptions.CommitChanges | PXFieldOptions.Disabled>;} <template> <field after="#fsOrderInfo-Othe
Hi!In Classic UI, fields are added dynamically using RowSelected event.However, when switching to Modern UI, these dynamically added fields are not showing.How can we dynamically add fields in Modern UI to ensure they are displayed as in classic?Please refer the below code and screenshots. protected void InventoryItem_RowSelected(PXCache sender, PXRowSelectedEventArgs e){ foreach (KeyValuePair<string, PXFieldSelecting> pair in fieldSelectingHandlers) { Base.FieldSelecting.RemoveHandler(typeof(KNCFSiteAssociation), pair.Key, pair.Value); KNSCCommerceConfigsSites.Cache.Fields.Remove(pair.Key); } fieldSelectingHandlers.Clear(); { string fieldName = "UsrKNWHProductType"; string displayName = "Product Type"; PXFieldSelecting handler = new PXFieldSelecting(delegate (PXCache dsender, PXFieldSelectingEventArgs de) { KNCFSiteAssociation currentrow = de.Row as KNCFSiteAssociation; object value = null;
Is it possible to override a method in a framework graph abstract class? I am attempting to override a method in the 24R2 Sales Order entry screen for the Add button on the dialog that opens when the Add Items button on the Details tab is selected -- Inventory Lookup. The method is PX.Objects.Extensions.AddItemLookup.AddItemLookupBaseExt<TGraph,TDocument,TItemInfo,TItemFilter>.AddSelectedItems(). I have tried extending it like this including the full class hierarchy:public class KRSOOrderEntry_Extension : PXGraphExtension<AddItemLookupBaseExt<SOOrderEntry, SOOrder, SOOrderSiteStatusSelected, SOSiteStatusFilter>, SiteStatusLookupExt<SOOrderEntry,SOOrder, SOLine, SOOrderSiteStatusSelected, SOSiteStatusFilter>, AlternateIDLookupExt<SOOrderEntry, SOOrder, SOLine, SOOrderSiteStatusSelected, SOSiteStatusFilter, SOOrderSiteStatusSelected.salesUnit>, SOOrderSiteStatusLookupExt, SOOrderEntry>and I receive a runtime error:“Graph extension KRSOAddItemLocation.KRSOOr
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.