Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
How do we reverse an invoice or bill that has data in custom fields in the transition details. We can reverse an invoice or bill that does not have data in the custom fields, but an transaction that has data in our custom fields we cannot use the reverse button under corrections. This is the error message that displays. Was something missed during initial set up of the custom fields?
Hi all,I am trying to publish a customisation with a custom table, but keep encountering the error in the screenshot attached. There is a column in the custom table named ‘InvCNModule’, but I have no idea why ‘RemovedInvCNModule’ is being defined as the column name. Is this something Acumatica does to keep track of column changes?Cheers,Ben.
I created a view using the AMProdItem and AMMTran DACs with the following code and added it to the summary area of a form. In this scenario, fields from the AMMTran DAC are editable, but fields from the AMProdItem DAC are not editable. public PXSelectJoin<AMMTran, LeftJoinSingleTable<AMProdItem, On<AMProdItem.orderType, Equal<AMMTran.orderType>, And<AMProdItem.prodOrdID, Equal<AMMTran.prodOrdID>>>>> Document1;Later, I created another view using the SOOrder and Customer DACs with the following code. When I added this view to a form, all fields from both DACs were editable. public PXSelectJoin<SOOrder, LeftJoinSingleTable<Customer, On<Customer.bAccountID, Equal<SOOrder.customerID>>>, Where<SOOrder.orderType, Equal<Optional<SOOrder.orderType>>, And<Where<Customer.bAccountID, IsNull, Or<Match<Customer, Current<AccessInfo.userNa
I created a DAC field in a custom DAC as follows.#region ParameterNbr[PXDBString(15, IsKey = true, IsUnicode = true, InputMask = "")][PXUIField(DisplayName = "Parameter Nbr")][PXSelector(typeof(customDAC.parameterNbr), SubstituteKey = typeof(customDAC.description))]public virtual string ParameterNbr { get; set; }public abstract class parameterNbr : PX.Data.BQL.BqlString.Field<parameterNbr> { }#endregionWhen the length of the customDAC.description, which is the substitute key, exceeds 15, the description value is saved in the database instead of the customDAC.parameterNbr. If the length is equal to or less than 15, the customDAC.parameterNbr is saved as usual. I changed the length to 10, but the same behavior persisted. I want to show the customDAC.description value in the user interface and save the customDAC.parameterNbr value in the DAC.How can I solve this?Any detailed instructions, tips, or code snippets would be greatly appreciated. Thank you!
I have a use case where we do not want to update the ShipDate and RequestDate fields on the SOLines when the Requested On date in the header is changed.When an order is shipped and lines are placed on Backorder, the SO is changed to status of Backorder and the Requested On date in the header gets changed, and it automatically updates the fields in the Lines.Here is what I have tried. When the Requested On date in the SO header is updated, I store the original values of the ship and request dates in a dictionary.Then when the SOLine is updated, I am trying to set the dates back to the original dates from the dictionary.However, the SOLine_RowUpdated (and SOLine_RowUpdating) events do not fire. I think this is because the SOLines are not being updated in the graph, but through some other code, maybe a graph extension?I tried to do an override on public virtual void SOOrder_ShipDate_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e) to try to stop it from happening. But my override
At some point, you may find it necessary (like I did) to change the Acumatica Business Date for a process.In my case, I was modifying an ISV application which used Business Date in the processing of many documents within two different actions. Because the code was written in a relatively closed fashion, with key methods being private, it was much easier to change the Business Date within the context of the actions than to try to change how the date parameter was being assigned.I decided to take a page out of Acumatica’s playbook and implement my own scope. (You can read more about Acumatica context scopes here.)The PXScreenIDScope was very nearly exactly what I needed, except for changing ScreenID instead of BusinessDate.After my modifications, here is the result:using System;using System.Web;using PX.Common;using PX.Data;namespace MyCustomScope{ public class DXBusinessDateScope : IDisposable { private readonly DateTime? _businessDate; private readonly DateTime? _ol
Has anyone added more than three columns to Acumatica Modern UI form. It seems we only have som pre-defined templates that we can select from that supports a maximum of three columns as per the Modern UI Development guide.
In Clock Entry, we want the employees to be able to choose which employee they want to see, specifically for the managers. Is there a way we can do this in a Customization Project.Trying to turn Employee ID into a drop down box.
I have a custom web control which want to add to a project of mine. I want to render this control for every request to the acumatica. But It renders only once and not redering for the subsequent requests. (Ex: Button clicks) public class ProgressBarControl : PXWebControl { public int Progress { get; set; } // Progress percentage (0-100) protected override void Render(HtmlTextWriter writer) { writer.AddAttribute("style", $"width: {Progress}%; background-color: green; height: 20px;"); writer.RenderBeginTag(HtmlTextWriterTag.Div); writer.Write($"{Progress}%"); writer.RenderEndTag(); } }
Good afternoon fellow developers,I’d like to get assistance from community with the customization of the SO Shipment.I need to add SOShipLineSplit with partial allocation - identical to what I am doing via LINE DETAILS dialog (see on screenshot) Doing it via below code (with Qty set to 1,500.00) actually creates SOShipLineSplit, but it is always fully allocated, and Qty that I provided gets ignored. I’ll appreciate any recommendations Best regards,Andrey
I have a custom processing screen with two filter fields.The filter for the screen id works. The filter for the file extension does not.Ignore the first filter field. I was trying to use a selector to get UploadAllowableFileExtensions, but the value returned includes a “.” in front of the extension. So I created a DDL with just the last three characters of the extension. I could not figure a way to trim off the “.” in the value of the selector. When just the screen id is provided, it shows three files for that screen: As soon as I choose PDF from the File Extension2 DDL, the view is refreshed and attempts to apply the file extension filter. Here is the code for the applyfilters method:protected virtual void ApplyFilters(PXSelectBase<UploadFile> shCmd, RecordsToProcessFilter filter){ if (filter.ScreenID != null) shCmd.WhereAnd<Where<UploadFile.primaryScreenID.IsEqual<RecordsToProcessFilter.screenID.FromCurrent>>>(); if (filter.FileExtension2 !=
Good Morning Ladies and GentlemenI have a bit of a problem regarding dead stockI am trying to add the Location field to the dead stock screenThis is what I currently have: Non filtered by locationFiltered by location Now the problem I am facing is with the dead stock calculationsAcumatica stores inventory history in INItemSiteHistByCostCenterD, but there is no table that has it based on location, or includes the locationid field (like INItemSiteStatusByCostCenter vs INLocationStatusByCostCenter) Would there be a nice work around, or would I have to build a custom view/DACTo be honest, I just want more advice ;)
Hi Team, I have created AP Bill using AP Bills and Adjustment screen and on a custom button action I have created a Debit Adjustment out of it. Now, I wanted to apply the newly created debit adjustment against that bill. However, I am getting an issue of “Document out of Balance” error while saving the same.Below is the code I have written which seems to be failing on (paymentGraph.Actions.PressSave()). APPaymentEntry paymentGraph = PXGraph.CreateInstance<APPaymentEntry>();APInvoice fetchedDebitAdj = PXSelect<APInvoice, Where<APInvoice.docType, Equal<Required<APInvoice.docType>>, And<APInvoice.refNbr, Equal<Required<APInvoice.refNbr>>>>> .Select(Base, APDocType.DebitAdj, debitAdj.RefNbr);APPayment newPayment = paymentGraph.Document.Insert(new APPayment{ VendorID = apinvoice.VendorID, DocType = APDocType.DebitAdj, CuryOrigDocAmt = fetchedDebitAdj.CuryOrigDocAmt, Hold = false // Set hold status});// Link the Debit Ad
Hello again,I have a custom field INPIDetailExt.usrAbsVarQty that gets populated correctly by both the PI Review and Scan and Count screens. However, a change to the field by Scan and Count does not reflect accurately on PI Review, even though Scan and Count changes the physical quantity on both forms.When I put in the data for serial number ---78109 into Scan and Count, this is the result:But later, on PI Review, the absolute variance quantity is still at 40: I figure this has something to do with how PXCache works, but even after looking at a lot of documentation and searching the business logic code for how the other fields are updated/saved, I haven’t gotten any of my ideas to work. I am also suspecting incorrect inheritance/extension on my part. Here is my code for the various screens and sources I’ve tried:Hostusing System;using System.Collections.Generic;using PX.Common;using PX.Data;using PX.Data.BQL;using PX.Data.BQL.Fluent;using PX.BarcodeProcessing;//using WMSBase = Warehou
Hi,I have duplicated the Kit screen, and now I want to customize the new screen. We want to include the barcode number field, which is in the ItemXref table, but this table is not part of the existing screen. My question is: How can we add this table to the existing screen and populate the barcode field in the UI? Based on the barcode, we will then display the items but not with inventory ids. and after that we will remove some of the fields.Then data should be save in the same kit table. What technique should I use to accomplish this task? Please help, it's urgent
Hi,Im trying to save some extra data to database on RowPersisted event. If Im using Base.Save.Press(); as I did in actions then my code runs into infinite recursion. So is there any way I can do without running into infinite recursion. Im saving extra data on RowPersisted event because some data have to be saved when new record is created. If there is other ways to do it outside the RowPersisted event then it would be great!Tried to use RowInserted event but ShipmentNbr is not populated there so it is useless
I want to add more fields (in the red box) into the customization field, but I can’t figure out how to do it? What’s a way to do this?Where I want to add more fields
Hello,I got question on how to set checkbox value for a custom field in gridview on Sales Order screen? Here is my DACpublic class SOLineExt : PXCacheExtension<PX.Objects.SO.SOLine> { [PXBool] [PXUIField(DisplayName= "Is Restricted")] public virtual bool? UsrIsRestrictedField { get; set; } public abstract class usrIsRestrictedField : PX.Data.BQL.BqlString.Field<usrIsRestrictedField> { }}and here is my graph extension public class SOOrderEntry_Extension : PXGraphExtension<PX.Objects.SO.SOOrderEntry> { #region Event Handlers protected void SOLine_RowSelected(PXCache cache, PXRowSelectedEventArgs e) { var row = (SOLine)e.Row; if(row != null) { ClaLimitInv.SOLineExt itemExt = PXCache<SOLine>.GetExtension<ClaLimitInv.SOLineExt>(row); itemExt.UsrIsRestrictedField = true; cache.SetStatus(row, PXEntryStatus.Updated); } }}in Custo
Can you help me? It's duplicating the batch number in my record.
Hi can i ask i think there is no error on my report but it only display reports from 2014
Hello,Not a C# developer, and very new to acumatica.Using the below code I was able to figure out how to add the CustomerOrderNbr and ShipmentNbr to the package ex custom reference nbr 1 & 2. The label is generated using the UPS Rest carrier.My issue is the the very lengthy prefix as seen in my attached image. How do I remove the custom reference prefixes “Reference No.1” and “Reference No.2”Also below is my code. Please let me know if I need to add anything like cache updating. Currently the code works but other examples included some cache update code I did not understand. protected void SOPackageDetailEx_RowPersisting(PXCache cache, PXRowPersistingEventArgs e, PXRowPersisting InvokeBaseHandler) { if(InvokeBaseHandler != null) InvokeBaseHandler(cache, e); var row = (SOPackageDetailEx)e.Row; SOOrderShipment shipment = PXSelect<SOOrderShipment, Where<SOOrderShipment.shipmentNbr, Equal<Required<SOPackageDetailEx.shipmentNbr>>>>.Se
I’ve read through a bunch of posts here and on Stack Overflow but haven’t found an answer that works. I want to extend Customer with a form on a custom tab using a set of fields from a custom table, rather than the user field approach which will add fields to the BAccount table and thus the other entities that share that definition. I created a custom table then a customization project with the DAC schema definition, extended screen AR.30.30.00 with a new tab, added a form to the tab, and then bound my view for the custom DAC to the form. Now for starters, I want to make the tab conditionally visible on customer class ID using the RowSelected event. Based on the T210 training, I assume I need to get a reference to the extension then set the tab to visible if it’s set to not visible generally. I can’t seem to get the syntax correct for the extension variable. I either get the CS0120 (Object reference required...) error or the CS0311 (Type...can’t be used as type ‘TNode’...) error
Hi I have a UDF (APRegisterExt.usrMAINMAINAPKynectionRefNo) which I need to this field’s value under the Supplier Details UDF (APDocumentResultExt.usrMAAPSDKynectionRefNo) I have added the logic below but receive the following error:\App_Code\Caches\APDocumentEnq.cs(31): error CS0246: The type or namespace name 'APDocumentResult' could not be found (are you missing a using directive or an assembly reference?) public class APDocumentEnq_Extension : PXGraphExtension<PX.Objects.AP.APDocumentEnq> { #region Event Handlers protected void APDocumentResult_RowSelected(PXCache cache, PXRowSelectedEventArgs e) { var row = (APDocumentResult)e.Row; if (row == null) return; var docResultExt = cache.GetExtension<APDocumentResultExt>(row); var apDoc = PXSelect<APRegister, Where<APRegister.refNbr, Equal<Required<APRegister.refNbr>>, And<APRegister.docType, Equal<Required<
I need to get some SOOrder extension values that I don’t have in my POReceipt. Is there a way to code this in C# in my POReceiptEntry graph extension?
There’s not a whole lot of information on adding the Add Items dialog/action to other screens. I see that the interface has been generalized to make it easy to implement the functionality across different screens. Just wondering if someone’s implemented it on another screen and has some advice or code they’re willing to share.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.