Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
Our client has a specific requirement to set the Shipping Address to the Branch Address for Purchase Orders that are of the Type = Project Drop Ship. Currently, users are manually overriding the Ship To Address for these types of Orders and they have asked us to code it such that if the type of the Purchase Order is Project Drop Ship, then to set the Ship To Address equal to the Branch Address from the OTHER tab of the PO. The following code does what we need it do; however, upon clicking save an error is generated. The error is:Error: Inserting ‘PO Shipping Address’ record raised at least one error. Please review the errors. Error: ‘RevisionID’ cannot be empty.The following code does what it needs to do, but for the error when saving:protected void POOrder_ProjectID_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e, PXFieldUpdated InvokeBaseHandler){ if(InvokeBaseHandler != null) InvokeBaseHandler(cache, e); var row = (POOrder)e.Row; var po_branchID = row.BranchID; var
I need some help here on finding a right way to do this.I had originally asked this question about awaiting the completion of a long running operation. That question was answered, but it didn't solve the issue. I have a custom action that opens a Smart Panel to capture some data from the user, which is then passed into a long running operation to fetch physical inventory count data from Zoho and update the INPIReview document.This all works. However, when processing the import, an important step is to record any items that were counted in Zoho, that do not exist on the Physical Inventory Review document so the user can be alerted that some additional items were counted.There won’t be many items, so we simply opted to write the details of those extra items to trace, and then notify the user with a dialogue box warning them that extra items were counted and they need to review the trace log. This also works - kind of.After clicking “OK” on the dialogue box that pops up, the original Smar
Here is my use-case: a user changes a drop-down value (UsrShipStatus)I need that value to update another field (UsrDfltWarehouse), this field will then create a dialogue box where I need to select “OK”This then calls the function private void setWarehouses(POOrder row).Below is the code in use here, I’m just lost on how to even interact with a dialogue box, or if I even need to (see comments below). public class POOrderEntry_Extension:PXGraphExtension<POOrderEntry> { protected void POOrder_UsrShipStatus_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e, PXFieldUpdated InvokeBaseHandler) { if (InvokeBaseHandler != null) InvokeBaseHandler(cache, e); var row = (POOrder)e.Row; if (row == null) return; POOrderExt pOOrderExt = cache.GetExtension<POOrderExt>((object)row); if (pOOrderExt.UsrShipStatus == "POE") { const string CUSTOMER_TYPE = "C"; /* PORT LB - Port Long Beach */ const int PORT_
I have a Projection DAC (HCLEPEmployeeTraining) that only has 3 bound fields (EmployeeID, CourseID, ExpiryDate). What I would like to do is to show the EmployeeID in Rows, value of the CourseID as Columns and ExpiryDate as value in the intersection of EmployeeID and CourseID. This is a Grid and not a PivotTable but basically, I am making a PivotTable from these three columns. I am not using Acumatica’s Pivot Table because I have further developments on this screen. So far, I have added the CourseIDs as Columns dynamically to my grid.See below screenshot from the Screen columns dynamically are added in my Graph Constructor and Code-behind the Page.Init.Also, I have written a view Delegate that loops through the existing records and sets the Dynamically Created Columns values from the ExpiryDate. See the below Delegate: protected IEnumerable HCLemployeeTraining() { List<HCLEPEmployeeTraining> result = new List<HCLEPEmployeeTraining>(); PXRe
Hi, there are a few options for defining the format of a lot number but I need to try and extend the options. The screen shot below shows a date based setup. This leads to a lot number like 2408In the INLotSerClass table on the database you can see the format, which is : {0:yy}{0:dd}I want to add a new option called DayOfYear, there are a few challenges to getting this into the UI but if this worked I might end up with a format like {0:yy}{0:w} and this would provide a lot number like 24221w isn’t a valid datetime formatting string so I would need to adjust the Acumatica code. In the Acumatica source code in class Attribute.cs I can see that GetNextNumber is how the format is translated into a value to create a lot number. The code is below.public static string GetNextNumber(PXCache sender, INLotSerClass lsClass, ILotSerNumVal lotSerNum){ string numval = new string('0', GetNumberLength(lotSerNum)); return string.Format(lsClass.LotSerFormatStr, sender.Graph.Accessinfo.BusinessDate, numv
Hello Everyone, we are trying to associate Credit Memo with sales order, I have created an SO extension graph and in persist inserting the credit memo details based on the order total, with this approach if we are creating an order manually and saving, the implementation is working as expected. But when any order is synced from BigCommerce, it is not updating as expected and we observed discrepancies in Credit Memo applied to order total and balance amount.public class KNBCBRSOOrderEntryExt : PXGraphExtension<SOOrderEntry> { public static bool IsActive() { return true; } #region Views public PXSelect<Customer> CustomerUpdate; #endregion public delegate void PersistDelegate(); [PXOverride] public void Persist(PersistDelegate del) { del(); List<ARInvoice> curyDocBalList = PXSelect<ARInvoice, Where<ARInvoice.docType, Equal<ARDocType.creditMemo>,
Is there a way to set a minimum purchase order amount per vendor with Acumatica?
I have this customized selector attribute to filter Projects to the current customer on CRActivityMaint:public class DSRestrictActivityProjects_CRActivityMaint_Ext : PXGraphExtension<CRActivityMaint>{ [PXRemoveBaseAttribute(typeof(EPProjectAttribute))] [CustomerProjects] protected virtual void _(Events.CacheAttached<PMTimeActivity.projectID> e) { } public class CustomerProjects : PXCustomSelectorAttribute { public CustomerProjects() : base(typeof(PMProject.contractID), typeof(PMProject.contractCD), typeof(PMProject.description), typeof(PMProject.status)) { SubstituteKey = typeof(PMProject.contractCD); DescriptionField = typeof(PMProject.description); } public virtual IEnumerable GetRecords() { CRActivity activity = (CRActivity)_Graph.Views["CurrentActivity"].Cache.Current; if (activity is null || activity?.RefNo
Hello community. I had a question on a customization project I am working on. I have the code below where I am joining to quite a few other tables. When I am working in the code, am I able to reference the joined data or only the primary table? When I try to get Orders.Current to work it is only for SOOrder. Hoping I can somehow reference the data from the joins in my Orders view. public PXFilteredProcessingJoin<SOOrder, RecertificationFilter, InnerJoin<SOLine, On<SOLine.orderType, Equal<SOOrder.orderType>, And<SOLine.orderNbr, Equal<SOOrder.orderNbr>, And<SOLine.orderType.IsEqual<SOOperation.receipt>>>>, InnerJoin<SOShipLine, On<SOLine.orderType, Equal<SOShipLine.origOrderType>, And<SOLine.orderNbr, Equal<SOShipLine.origOrderNbr>, And<SOShipLine.inventoryID, Equal<SOLine.inventoryID>,
Hi Everyone,I have added a Barcode field in the mobile app, but after successfully scanning the barcode, the cursor remains on the same field instead of moving to the next one.In the desktop version, I’ve implemented TabIndex, and it works as expected. However, this functionality is not working in the mobile app. Could you please provide your insights or suggestions on how to resolve this? add field "InventoryIDInventoryIDForScan" { special = BarCodeScan }
Hi, I am using cstr() function on Document column in generic inquiry as filter is not working on the column, but when I use cstr() GI is showing rows with a null value in the column. Below is the screenshot for reference of cstr() followed by GI screenshot Kindly suggest to resolve. Screenshot of GI without using CStr()
Any ideas how to prevent invoice from printing unless it is released?
I have code that I want to run after a long running operation completes, if a method in the long running operation returns ‘true’, to show a simple error message popup.PXLongOperation.WaitCompletion(key);PXLongOperation.WaitCompletion(key); seems to be what I need, but I can’t figure out what to use for the key. When I use ‘this’ as shown in the screenshow, it doesn’t find the long running operation and proceeds to skip over the error message code since the variable value will be null.What am I doing wrong here?
Hello Community, I had a question while performing a customization to auto update inventory during shipments of certain types. I thought I could just set the condition for Update IN during the confirmed state to true, but it doesn’t seem to allow me. How do I go about getting the “Auto-Run Allowed” enabled for me to set that auto run condition to true?Thanks,Adam
How to add link from Sharepoint’s file to Acumatica in every transactions. Please see the snip attached for your reference. Thank you.
This seems like one of those simple requests. I actually did this for the same client on SOLine but on CROpportunityProducts I’m not having any luck.This works when new line added to CROpportunityProducts: protected virtual void CROpportunityProducts_Quantity_FieldDefaulting(PXCache sender, PXFieldDefaultingEventArgs e, PXFieldDefaulting baseEvent) { baseEvent?.Invoke(sender, e); CROpportunityProducts row = e.Row as CROpportunityProducts; if (row == null) return; if (!row.Quantity.HasValue && Base.IsImport != true) { e.NewValue = row.Quantity = 1M; } }But when inventory item is selected, quantity goes back to 0. I saw there is an attribute (PXDBOpportunityProductQuantityAttribute) so I’ve attempted every combination of removing/overriding this using CacheAttached. This doesn’t work: [PXDefault(TypeCode.Decimal, "0.0")] [PXUIField(DisplayName = "Quantity", Visib
Hello,How can I print a report a specific number of times based on a dynamic value in Preferences?I've created a Processing Screen for printing reports, and I need the report to print as many times as the count specified in the Processing Screen.Can anyone please suggest a solution or provide sample code for this?Regards.
When I try to open a Sales Order, I get the An item with the same key has already been added error. As the New Record button works, I was sure the extensions of DACs and Graph of Sales Orders screen do not contain any problematic code. Even more, the same error message can occur when there is no any package published. Investigating the Generic Inquiry of SO3010PL, I found repetitive lines in Navigation Parameters section of NAVIGATION tab I still wonder how the duplicate lines could be added because when I try to add a record manually I get the The value of this field must be unique among all records. error. I decided to remove the repetitive lines. After that deletion, the SO3010PL GI allowed me to open the Sales Order Document via Order Nbr. field.
Basically, I am trying to accomplish something similar to this feature request: Add Credit Hold Warning to Service OrderI need to access the VerifyByCreditRules method that is located in a protected class in the PX.Objects.Extensions.CustomerCreditHold namespace.The signature for it is: protected virtual CreditVerificationResult VerifyByCreditRules(PXCache sender, TDoc Row, PX.Objects.AR.Customer customer, CustomerClass customerclass)I need access it from a ServiceOrderEntry graph.I read this interesting blog post: Overriding Credit Verification by @Keith Richardson that shows accessing a protected class for sales orders, but I sort of get lost with how to translate that into the ServiceOrder graph.I have some source code that compiles, but does not run, since the creditExtensionProtected and creditExtension values are coming back null… But I am not sure I am even on the right track.Basically, I want to call VerifyByCreditRules method whenever the ServiceOrder ID is changed to
Hello,I am trying to make two checkboxes (Don’t Print and Don’t Email) on AR30100 “unchecked” by default.I created a customization project and here is what I am changing (Setting PXDefault(false)) When I go to publish, I get this error:[2024-09-04 17:25:16.279] \App_RuntimeCode\PX_Objects_AR_ARInvoice_extensions.cs(33): error CS0246: The type or namespace name 'isMigratedRecord' could not be found (are you missing a using directive or an assembly reference?)[2024-09-04 17:25:16.279] \App_RuntimeCode\PX_Objects_AR_ARInvoice_extensions.cs(42): error CS0246: The type or namespace name 'isMigratedRecord' could not be found (are you missing a using directive or an assembly reference?)[2024-09-04 17:25:16.279] \App_RuntimeCode\PX_Objects_AR_ARInvoice_extensions.cs(33): error CS0246: The type or namespace name 'isMigratedRecord' could not be found (are you missing a using directive or an assembly reference?)[2024-09-04 17:25:16.294] Compiler time, in seconds: 9.0936508[2024-09-04 17:25:16.56
Hello all,I have been looking out for ways where I have around 10 reports and I am looking that no one should be able to modify it. Not even a user who has the role assigned as Report Designer. How can I achieve this? Thanks.
Hello Everyone,We have requirement to add the Files in the FILES section using the ADD LINK button. Can you please help me how to add the Files using ADD LINK button from Code?
Hi, All I am trying to publish the Customization Projects of my dashboard but It shows some compilation error. I have Attach the error pics below. Please guide me on this.
Hi Everyone I have a customization package that have been developed on another consultant's locally hosted instance. They have used an extension library (.dll compiled project) where graphs have been extended to visual studios.I want to edit this customization package's graphs that have been extended via the .dll file. I tried importing the customization package to my local host and extending the extension library to edit the VS extended graphs but when I open the project, the graphs are not there and only an Example.cs class is loaded.What is the correct route to follow when editing graphs that has been extended to a Extension Library on someone else's local instance which you want to edit on your own local instance?
Hi Everyone,I hope this message finds you well.We are currently working on enhancing the functionality of the Appointment and Service Orders forms. As part of this improvement, we have implemented a notification feature that triggers based on specific conditions in the Service Order data whenever data is saved in either form.While the functionality is working as intended, we have encountered an issue where notifications are displayed multiple times. This repetition is unintended and impacts the user experience.Here is my codepublic delegate void PersistDelegate();[PXOverride]public void MyPersist(PersistDelegate baseMethod){ var row = (FSAppointment)Base.AppointmentRecords.Current; if (row == null) return; bool flag = AppointmentNTE(row); if (flag == false) return; baseMethod();} public bool AppointmentNTE(FSAppointment row) { if (PYNTEIgnore.GetFlag() == true) return true; bool flag = false; if (row == null) return false; //FSAppointment appoint
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.