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 am trying to add the inventory item table into the view for a new screen twice for two different fields. i want to pull the status of the 2 different inventory items that are on the below screen. I found a couple of articles that i tried, but when i add the table a second time with an alias, it is pulling all of the inventoryitems instead of just the one on the line item. I tried adding .fromCurrent in there and it didnt duplicate, but it didnt pull the information either. What am i doing wrong on this?notes- the material id field is a free form text field so i have to use inventorycd for it. the barid field uses inventoryid in the table. public SelectFrom<ProtoCutLine> .LeftJoin<InventoryItem> .On<ProtoCutLine.materialID.IsEqual<InventoryItem.inventoryCD>> .InnerJoin<InventoryItemTwo> .On<ProtoCutLine.barID.IsEqual<InventoryItemTwo.inventoryID>> .Where<ProtoCutLine.orderID.IsEqual<ProtoCut.orderID.FromCurrent
I created a new version of a report and added it as a separate Customization. However, when I run Unpublish, the new report version remains in the system.Is there a way in Acumatica to fully revert or remove report changes when a customization is unpublished?What is the correct approach to ensure that report modifications are rolled back after Unpublish?Thank you in advance for your help.
Hi,I am trying to add BAccountID from INTran to the grid in Modern UI, the same way it is added in Classic UI, but I am unable to achieve this.Could you please help me understand how to correctly add this field in Modern UI?I have attached a screenshot showing how this field is added and displayed in Classic UI for reference.Thank you in advance for your assistance.Best regards,Vahe
Hi all,I'm having the following scenario: We have a base customization that adds a FieldVerifying handler in ArcContractMaint for ArcContract.CounterpartyID. We have a second customization that must completely replace that validation logic. We need the original handler to NOT run before or after our handler.The instance version we are using is: Acumatica 2025 R2Base handler we want to replace: protected virtual void _(Events.FieldVerifying<ArcContract, ArcContract.counterpartyID> e){ ArcContract row = e.Row; bool flag = row == null || e.NewValue == null; if (!flag) { FeaturesSet current = PXSelectBase<FeaturesSet, PXSelect<FeaturesSet, Where<True, Equal<True>>, OrderBy<Desc<FeaturesSet.status>>>.Config> .SelectWindowed(this, 0, 1, Array.Empty<object>()); bool? visibilityRestriction = current.VisibilityRestriction; bool flag2 = false; bool flag3 = visibilityRestriction.GetValueOrDefault()
When we create purchase orders with vendors that require “manual” online purchase (amazon for example) we want to be able to paste a direct link to the order from the vendors website within the PO.So i want to add an editable custom field where we can paste the links but i would like it to be a hyperlink.
Hello Everyone! I have been working on a Zoho expense integration to Acumatica and thought I would share it with you all. The github repo is public and any contributions/suggestions from you all will be very much appreciated.aleksiwan01/ZohoExpenseIntegration: Integration for Zoho Expense with Acumatica Currently, the program pulls data from Zoho expense, alongside receipts, and creates the records in Acumatica.This is my first open-source project, and first project utilising API’s so if there is anywhere you think should be improved, let me know!
Hi Everyone.I am looking at the user experience in Acumatica and I am looking at adding tooltips to the workspace items. Please point me in the right direction. Thanks in advance
I have dialog, wich is have buttons in html and aspxHTML<qp-button id="buttonOK" caption="OK" state.bind="buttonOK" dialog-result="Cancel"></qp-button><qp-button id="ButtonCancel" caption="Cancel" state.bind="ButtonCancel" dialog-result="Cancel"></qp-button>and <px:PXButton ID="ButtonOk" runat="server" Text="OK" CommandSourceID="ds" DialogResult="Cancel" CommandName="buttonOK"></px:PXButton> <px:PXButton ID="ButtonCancel" runat="server" Text="Cancel" CommandSourceID="ds" DialogResult="Cancel" CommandName="ButtonCancel"></px:PXButton>also i have barcode field and added in aspx next code for Auto button press function Barcode_Initialize(ctrl) { ctrl.element.addEventListener('keydown', function (e) { if (e.keyCode === 13) { //Enter key var barcode = px_alls['edBarcode']; var buttonOk = px_alls['ButtonOk']; e.preventDefault(); e.stopPropagation(); if (barcode.value != null) {
Hi I have a working customization on the sales order screen which automatically creates a new line with item “NON-RETURN FEE” if the item class of the previous line is “CYLINDERS”. This then also populates the quantity of the line above to the NON-RETURN FEE line and also copies a UDF value from the given item to this auto generated line. This functionality works but the records gets auto-populated only on pressing the save button. How can I immediately get the “NON-RETURN FEE” line populated? For example straight after the quantity field of the previous line gets updated? I tried a fieldupdated event handler but this did not work either. Please let me know the best approach, thank you!Example below of what the generation looks like on sales order line:namespace PX.Objects.SO{ public class SOOrderEntry_Extension : PXGraphExtension<SOOrderEntry> { #region Event Handlers protected void SOLine_RowUpdated(PXCache cache, PXRowUpdatedEventArgs e, PXRowUpdated InvokeBaseHandler)
I completed
Hi everyone,We’re running into a strange issue and I’m hoping someone here has faced something similar.In our environment, we have a Test site and a Production site. The expectation, of course, is that publishing a customization package (CPE) to Test should not impact anything in Production. However, we are noticing situations where: A field added and published only in Test suddenly appears in Prod Customization packages in Prod seem to get unpublished and republished automatically With 3–4 developers working simultaneously on different customization projects, it’s becoming difficult to trace the root cause We are trying to understand: Is there any scenario where publishing to Test can affect Production indirectly? Has anyone experienced customizations appearing in Prod even when the package was never published there? What best practices do teams follow when multiple programmers are working on the same instance? Any suggestions for preventing CPEs from being overwritten or un
Hi,When attempting to redirect to my custom screen using PXRedirectRequiredException, Acumatica throws the error ‘You have insufficient rights to access the object.’I have verified that the user has Grant All permissions on both the screen and the graph, and the user can open the screen directly in the UI without any issues. What else could cause this error during programmatic redirection?
Does anyone know what might be causing this issue? I hadn’t published this project before on this instance. I downloaded it via Git, changed the site paths, built it, created a customization project, and uploaded the data from the folder.On another PC, this project publishes without any issues.Text:[2025-12-12 08:23:41.342] Failed to load types from the PX.BarcodeProcessing assembly with the message: Method 'GetBqlTableSystemData' in type 'PX.BarcodeProcessing.ScanHeader' does not have an implementation.[2025-12-12 08:23:41.369] Failed to load types from the PX.Objects.AM assembly with the message: Method 'GetBqlTableSystemData' in type 'PX.BarcodeProcessing.ScanHeader' does not have an implementation.[2025-12-12 08:23:41.370] Failed to load types from the PX.Objects assembly with the message: Method 'GetBqlTableSystemData' in type 'PX.BarcodeProcessing.ScanHeader' does not have an implementation.[2025-12-12 08:24:46.513] Validation failed.
I’m trying to create a attribute that records every time a specific Sales Order gets rejected. I thought to use a Field Update in the action field on a Customization project to create a running counter, however, I only get the error: “Specific Cast is not valid.” Is there a simple way to do this, or no?
I have a simple html file hosted in the same url as acumatica:http://{host}/{site}/Frames/Tools/pod/pod.htmlThis an html file in acumaticas website. I want to put this in a site map and the acumatica menu.I have an entry in my site map as follows: But it’s not showing up in the menu and even when I manually put the site id it redirects me to screenid=00000000 i.e the home screen. Is there a way for a site map entry to point to a url?
I’m working on creating a Sales Order and running into an issue with negative inventory on Shipments.“Sell Negative” is already set to true in the Item Class, so the Sales Order is created successfully. However, when I go to the Shipment screen, the system only generating auto the quantity that is currently available for shipping. I need to overship/ship a negative quantity, but the Shipped Qty field is restricted to the available amount. When i am adding manually the qty worked fine. I want to make it like when i click on create shipment button the system should populate the correct data not only shipmnet avialble.I’m stuck at this step.Can someone please guide me through the correct process for handling negative inventory on Shipments and how to resolve this issue?
Hi all, I need to change the Default Fin Period on the Reverse and apply action. Needs to default the the current open Period. I developed this below and it works. Does it look right? I have not made a lot of these changes.Thank you using System;using System.Collections;using PX.Data;using PX.Objects.AR;using PX.Objects.GL;using PX.Objects.GL.FinPeriods;using PX.Objects.GL.FinPeriods.TableDefinition;public class ARInvoiceEntry_Ext : PXGraphExtension<ARInvoiceEntry>{ [PXOverride] public virtual IEnumerable ReverseInvoiceAndApplyToMemo( PXAdapter adapter, Func<PXAdapter, IEnumerable> baseMethod) { var result = baseMethod(adapter); ARInvoice memo = Base.Document.Current; if (memo != null && memo.DocType == ARDocType.CreditMemo && memo.OrigDocType == ARDocType.Invoice) { string currentPeriod = PXSelect<FinPeriod, Where<
i need to add buttons on mobile app. In web version i have this. How i can do this in mobile app?
Hi is there a method in acumatica where I can set the cursor to be defaulted to a specific field on a screen in Acumatica once the page is loaded?I have investigated and found a link to this idea post but could not locate more information regarding this:Thank you!
Hello!I’m looking for some help resolving an error I am seeing with a customization project I created that adds new fields to the Stock Item screen > Packages tab.The error I am getting is: An error occurred during processing of the field Freight Included: Specified cast is not valid..Here is what the Trace specifies: Error: An error occurred during processing of the field UsrFreightIncluded: Unable to cast object of type 'System.Decimal' to type 'System.String'.. Below is part of the code giving me the issue. public class InventoryItemExt : PXCacheExtension<InventoryItem>{ #region UsrFreightIncluded [PXDBDecimal(2)] [PXDefault(TypeCode.Decimal,"0.00")] [PXUIField(DisplayName = "Freight Included")] public virtual string UsrFreightIncluded { get; set; } public abstract class usrFreightIncluded : PX.Data.BQL.BqlDecimal.Field<usrFreightIncluded> { } #endregion} Thanks in advance!
I’m working on a customization for a Process Screen in Acumatica and ran into an issue related to correct pagination when using a View Delegate.Here is the goal:I need to build a View where for each Equipment I calculate the maximum Appointment date. This part works fine using a Projection.Next, I need to calculate the difference between the Business Date and the Max(AppointmentDate) for each Equipment.Then I need to filter records where this difference is greater than 10 days.Since filtering by a computed value cannot be done within the Projection, I implemented the filtering inside a View Delegate.The problem is that when I filter the records in the Delegate, Acumatica receives fewer records than expected. As a result, the StartRow and pagination logic break, because the system still thinks the dataset contains more rows than what I actually return.What is the correct way to implement filtering based on a calculated value (difference of dates), but without breaking pagination on a Pr
Hi Everyone,I'm working on version 25 R1 and have implemented logic to generate an auto-numbering sequence for a custom field (Batch Nbr) on a custom screen.However, when I apply the AutoNumber attribute to the BatchNbr field, the value gets cleared whenever I select any other field in the header section. The numbering is not being generated as expected.Note: The same code works correctly in 24 R1, so this issue appears to be specific to 25 R1.Could you please guide me on what might be causing this issue or if there are any changes in 25 R1 related to AutoNumbering? DAC Field: [Serializable][PXCacheName("NBBLCBatchLabel")][PXPrimaryGraph(typeof(NBBatchLabelMaint1))]public class NBBLCBatchLabel : PXBqlTable, IBqlTable{#region BatchNbr [PXDBString(15, IsKey = true, IsUnicode = true)] [PXUIField(DisplayName = "Batch Nbr", Required = true)] [PXDefault] [AutoNumber(typeof(Search<NBBLINSetupExt.usrNBBLNumberingID>), typeof(AccessInfo.businessDate))] [PXSelector( ty
#region UsrContactID public abstract class usrContactID : BqlInt.Field<usrContactID> { } [PXDBInt()] [PXSelector(typeof(Search<Contact.contactID, Where<Contact.bAccountID, Equal<Current<FSEquipment.ownerID>>, And<Contact.isActive, Equal<True>, And<Contact.contactType, Equal<ContactTypesAttribute.person>, And<Match<Current<AccessInfo.userName>>>>>>>), new Type[] { typeof(Contact.displayName), typeof(Contact.salutation), typeof(Contact.eMail), typeof(Contact.phone1) }, SubstituteKey = typeof(Contact.displayName) )] [PXFormula(typeof(Default<FSEquipment.ownerType>))] [PXUIEnabled(typeof(Where<FSEquipment.ownerID, IsNotNull>))] [PXUIVisible(typeof(Where<FSEquipment.ownerType, Equal<ListField_OwnerType_Equipment.Customer>>))] [P
FSServiceOrder fsServiceOrderRow = new FSServiceOrder(); fsServiceOrderRow.SrvOrdType = group.Key.ServiceOrderType; fsServiceOrderRow = serviceOrderEntry.ServiceOrderRecords.Current = serviceOrderEntry.ServiceOrderRecords.Insert(fsServiceOrderRow); fsServiceOrderRow.BranchID = group.Key.UsrServiceBranchID; fsServiceOrderRow.BranchLocationID = group.Key.UsrBranchLocationID; fsServiceOrderRow.CustomerID = group.Key.OwnerID; fsServiceOrderRow.ProjectID = group.Key.UsrServiceProjectID ?? ProjectDefaultAttribute.NonProject(); fsServiceOrderRow.LocationID = group.Key.CustomerLocationID; fsServiceOrderRow.DocDesc = group.Key.DescrEqType; fsServiceOrderRow.ContactID = group.Key.UsrContactID; serviceOrderEntry.ServiceOrderRecords.Update(fsServiceOrderRow); foreach (FSEquipmentRowProcess it
I recently had the need to style a textbox in Modern UI based on the value of another field.Acumatica provides an example for styling grid rows here, but the GetRowCss / GetCellCss events do not seem to work for regular form fields. Not knowing TypeScript / JavaScript better, I spent some time trying different ways of doing this, but ended up with this fairly basic HTML block in a screen extension:<template> <style> [data-rating="green"] input { background-color: #155724 !important; } [data-rating="yellow"] input { background-color: #856404 !important; } [data-rating="red"] input { background-color: #721c24 !important; } </style> <field append="#fsHeader_C" name="UsrDXCommissionRating" data-rating.bind="Quote.UsrDXGrossProfitPct.value >= 45 ? 'green' : Quote.UsrDXGrossProfitPct.value >= 40 ? 'yellow' : 'red'"></field></template>(this styles the ‘UsrDXCom
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.