Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
We have few business logics in a customization package which includes confidential details in it. Is there any way to encrypt or hide those business logics in the customization package?
I have been trying to set this up and getting close but failing to find how to do this correctly. What I want is for the same process that happens when I press the email shipment action button manually to happen when the shipment is confirmed but I can’t work out how to achieve this. Is this something I need to do in the workflow or does it need some customization code or am I looking in the wrong place completely? I managed to set up a business event which sends the email when the status reaches status confirmed but it doesn’t allow me to attach the shipment confirmation report to it so I don’t think that is the right way to go about it. Thanks, Phil
I have been doing some work with Webhooks and Acumatica, and have been running into the problem where an update done via Webhook will cause concurrency issues with editing the same Sales Order via the Acumtica front end.The most common error is: “Error: Another process has updated the 'SOOrder' record. Your changes will be lost.”In researching this issue and its underlying cause, I came across this blog post:https://asiablog.acumatica.com/2018/03/another-process-has-added-updated-deleted.htmlIt seems that Acumatica is using record timestamps a a way of managing concurrency. However, this seems like a bad idea. Especially in a web based world where many users can potentially update a record, it seems we would want to use the actual content being saved to determine if we have a concurrency issue or not. If there is no conflict, then we shouldn’t care whether one user is saving on top of another (or at least, we should let the user decide whether it’s a problem or not).The most obvious ex
Hi,I have extension classes for the ARInvoiceEntry, APInvoiceEntry and JournalEntry, each has a action button called “ChangeSomeField”, which needs to be on the Action Menu.For ARInvoiceEntry, the base class has an ActionsMenuItem.AddMenuAction() which I can use to add the action to the action menu. From what I can see in the code this is because they ARDataEntryGraph which implements the IActionsMenuGraph.For both APInvoiceEntry and JournalEntry, from what I can see they’re base classes do not implement this interface which means I can’t access the ActionsMenuItem.AddMenuAction() to add the actions to the action menu.In APInvoiceEntry and JournalEntry extension classes, how do I add custom actions to the action menu? Do I need to implement that IActionsMenuGraph myself on my extension classes or is there another way. Could I please have an example if either of the above two are correct?
I have two UDF’s in the CRCase table. Those UDF’s are derived from fields in a custom maintenance table. The UDFs are ServiceTypeCD and RecordTypeCD and they come from the custom maintenance table.When a user tries to delete a record from the maintenance table, I want to make sure that the record isn’t in use in the CRCase table (no references in CRCase to the record in the custom table).This is the event I am using to trap this.This is a BQL select statement that I would use if I was just pulling data from the CRCase table if I was not looking for a UDF in that table. Just to make sure it compiles, I put CRCase.caseCD in the Where clause (twice). These *should* be the UDF fields. I don’t know how to reference the UDF’s in a BQL select for a standard Acumatica table. Any advice would be greatly appreciated. protected void _(Events.RowDeleting<SSGCRServiceTypes> e) { SSGCRServiceTypes row = (SSGCRServiceTypes)e.Row; if (row == null) return; CRCase finditem = SelectFr
I need to create a link on each line item(Inventory Item on a sales order) of the graph on page PO505000 that will pop up a screen showing all of the vendors for that item and the cost from each vendor. Any ideas how to approach this?
I have a form with two selector fields. I want to store the two values in a custom table. The selector fields work and I can select values and save the record. But when I click + to create a new record, the first field still contains the previously saved value. I THINK that the cache is not being cleared when I click +.This is the form after selecting values:Click Save and the record saves.After clicking +If I lookup a value (any value) for the service type field and click save, I get If I click Refresh on the browser, I get a clean screen that will let me add a new record.Note that if I navigate to existing records and make changes, they do get saved properly.Is there some hack I can do to clear the cache when I click the + ? The graph only contains one thing, the view: public class SSGCRRecordServiceTypeLinks : PXGraph<SSGCRRecordServiceTypeLinks, SSGCRServTypeRecTypeXR> { public SelectFrom<SSGCRServTypeRecTypeXR>.View ServTypeRecTypeLinks;This is the DAC for the tab
I have noticed that when I add custom columns to SQL Server (I know not officially supported, but it’s for testing purposes), that when an Acumatica upgrade is done, these custom columns are dropped. It’s not a huge deal (that’s why we do RDS SQL Server backups before upgrade), but it seems a little counterintuitive that a drop operation is run on a column that the system doesn’t know about. This is probably the result of a complete table drop and refresh as part of the upgrade process.Does anyone have any strategies for seamlessly moving over custom columns when an upgrade is run? I like the ability to manage the table structure at the SQL Server level, so if there is some way to do that which also plays nice with the Acumatica framework, that would be the best of both worlds...
Hi,On event handlers, like for example RowSelected, apart from doing a simple check like if RefNbr equals the defaulting value “<NEW>” or something like that. is there a standard / correct way to check if the row is new or if it’s an existing row being selected for different classes like ARInvoice, ARTran, APInvoice, APTran, Batch, GLTran, etc.?
Hi guys I am not able to login in new instance of Acumatica 2022R1
I have added this tab in shipment screen and I am to able to get the values stored in DB. These are read-only fields.public class SOShipmentExt : PXCacheExtension<PX.Objects.SO.SOShipment> { #region usrMyField [PXDBString()] [PXUIField(DisplayName = "My Field", Required = false, Enabled = false)] public string UsrMyField { get; set; } public abstract class usrMyField : PX.Data.BQL.BqlString.Field<usrMyField > { } #endregion }
I have added a custom field it is perfectly able to save the data in my table but when I open that record to edit field is always empty. What am I missing here ? namespace PX.Objects.CR{ public class CROpportunityExt : PXCacheExtension<PX.Objects.CR.CROpportunity> { #region UsrProbability [PXDBInt] [PXIntList( new int[] {10,20,30,40,50,60,70,80,90,100}, new string[] {"10%","20%","30%","40%","50%","60%","70%","80%","90%", "100%"})] [PXUIField(DisplayName = "Probability")] public virtual int? UsrProbability { get; set; } public abstract class usrProbability : PX.Data.BQL.BqlInt.Field<usrProbability> { } #endregion }}
I want to update UsrSendPONotifications checkbox(which is in PO screen) to true when I update a row in corresponding PO Receipt.This is the code that I tried & it is not working. So , UsrSendPONotifications checkbox remains false.Any idea about this? protected void POReceipt_RowUpdated(PXCache cache, PXRowUpdatedEventArgs e) { var row = (POReceipt)e.Row; if (row == null) return; else { POReceiptLine receiptLine = new PXSelect<POReceiptLine, Where<POReceiptLine.receiptNbr, Equal<Required<POReceiptLine.receiptNbr>>>>(Base).Select(row.ReceiptNbr); if(receiptLine == null) return; else { POOrder poOrder = new PXSelect<POOrder, Where<POOrder.orderType, Equal<Required<POOrder.orderType>>, And<POOrder.orderNbr, Equal<Required<POOrder.orderNbr>>>>>(Base).Select(receiptLine.POType, receiptLine
Hi all,I’d like to use the default endpoint to retrieve the relationship between the Project & Vendor. Could someone shed some light on how to $expand that please? (Tool used : Postman)Can it be achieved by creating a customized endpoint which I have added the Vendors (screenname) but how do I expand that to link Projects?See below image for the new endpoint.
If I want to add new DB fields on this screen, which table they will be added I know its ScanHeader DACExtension but I am not able to find the respective table. I need to add details like on which day this shipment was scanned it was scanned by whom and data like that.
HelloIs it possible to enable record counting at Processing pages or Inquiry pages on Layout as it is at Generic Inquiries?
I want to add value in DB for one of my DACExtension.protected void ScanHeader_Barcode_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e){ ScanHeader row = (ScanHeader)e.Row; HeaderExt headerExt = row.GetExtension<HeaderExt>(); PickPackShip.Host graph = PXGraph.CreateInstance<PickPackShip.Host>(); SOShipment shipment = (from p in graph.Select<SOShipment>() where p.ShipmentNbr == row.Barcode select p).FirstOrDefault(); if (shipment != null) { SOShipmentExt shipmentExt = shipment.GetExtension<SOShipmentExt>(); cache.SetValueExt<SOShipmentExt.myField>(shipment, headerExt.MyField); }}I am trying like this but this is not working. My graph is not directly linked with SOShipment. My graph is PickPackShip.Host
i have problem if i add paramater in generic inquiry in acumatica mobile, help
Trying to convert the code below for the 2022 R1 release. The PX.Objects.CT.CTBillEngine.ARContractInvoiceEntry graph has been removed, but I cannot find what it should be replaced with.The code is updating some custom fields on the Invoice generated from the Run Contract Billing action. public delegate void BillDelegate(Nullable<Int32> contractID, Nullable<DateTime> date); [PXOverride] public void Bill(Nullable<Int32> contractID, Nullable<DateTime> date, BillDelegate baseMethod) { PXGraph.InstanceCreated.AddHandler<PX.Objects.CT.CTBillEngine.ARContractInvoiceEntry>((graph) => { graph.RowInserted.AddHandler<ARInvoice>((sender, e) => { ARInvoice inv = (ARInvoice)e.Row; // pull value from custom UsrCustPO field Contract ContractRow = Contract.PK.Find(Base, contractID); // extension name: ContractExt
I have a complex report (lots of tables/joins) based on a sales order. Here is the schema tables/relations defined in the report: I need to redirect to this at the end of a process. My process loop is working, just need to add this redirection. So far, I have a PXReportResultset defined and I have a SelectFrom that matches the schema of the report (had to create derived DAC classes to join to same tables more than once): PXReportResultset salesOrders = new PXReportResultset(typeof(SOOrder), typeof(Branch), typeof(BAccount), typeof(CustomerAcc), typeof(BillingAddress), typeof(CompanyAddress), typeof(SOLine), typeof(ShippingAddress), typeof(SOOrderType), typeof(Note), typeof(LineNote), typeof(Terms), typeof(CompanyContact), typeof(Carrier), typeof(FOBPoint),
Hello! I would like to add a selector field on the Invoice line where a user can select any customer they need to. For example from Receivable, Invoice and Memo Screen, I would like to select my customer from my header then have the flexibility of selecting various customers at from the lines. Link each line to a to a unique customer. This is just a statistical field BTW.
Hi guys I need to add a workspace of INVENTORY (GI000008) in mobile app but it’s not available & I tried to enable in Enable/disable features didn’t workout.Do you guys suggest me to find INVENTORY (GI000008) and I’m using 2022R1 version. Thanks
With most of our customers we want the email address and phone no to be the same in primary contact and additional info. To save someone having to do this twice is there a way to have the email address and phone no automatically entered into the additional account info when it has been entered into primary contact or vice versa? This would only be if those fields were blank when entering into the other field so should not end up overwriting anything someone typed. Thanks for any help, even if it’s to say this is not possible. Phil
Hello Everyone,We are trying to update the Web.Config file settings through the customization plug-in but getting below error.I have followed same code written by @smarenich from the below link but not working in the 22 R1 version.Link: https://asiablog.acumatica.com/2016/11/site-configuration-using-customization.htmlAlso, attached customization package for your reference.Can anyone help me on this?
How can we see scan log tab in pick pack and ship screen ? I am not able to see scan log right now.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.