Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
Could you advise me ? what’s happen
Hi guys, I have been having an issue with an entry screen for a custom screen i developed. I have added the screen and on its own it works exactly as intended, however I have made a GI to replace it as an entry screen, I can access the screen through the GI itself. However, as soon as i tick the ‘Replace entry screen with this inquiry in the menu’ tickbox, I get the error ‘Object reference not set to an instance of an object.I have attached the code for the graph and the DACs which are used in the screen.Has this happened to anyone before/does anyone know why this could be happening? Thanks,Aleks
For an integration, we are triggering a API by the InventoryItem_RowPersisted event handler when creating a NonStock item in Acumatica. By the response JSON some essential statuses are saved and maintained in custom fields as shown in the below diagram.After creating a NonStock item and when clicking the save button these two custom fields get updated. But right after the screen refreshes or closes the screen the values get lost without saving the updated values of this custom fields. I have already inserted a explicit save, but it seems to be not functioning as expected. Here with I'm attaching essential segments of the NonStockItemMaint graph. If you guys can provide any guidance in this regard, I would greatly appreciate it. Thank you. For explicit saving i tried this “ // Mark the extension fields as updated PXCache caches = Base.Caches[typeof(InventoryItem)]; caches.Update(row); caches.Pers
Hi Team,We have a scenario where we need to update a column of a table across all the tenants during publishing of the package from any of the Tenant.Is it possible to Achieve this? if yes can you please share us the code sample.Thanks in Advance.
Hi,A client is having an issue where purchase receipts have been created for a purchase order, and it is fully receipted, but the purchase order is not able to be closed as it is still thinking it needs to be receipted, as shown in the image below.I was thinking a way to close this purchase order would be to publish a custom sql script, and then remove this customisation after the script has run successfully. However, I am not sure how to update the status field via SQL. The dropdown values for the Status field show that the Closed option has a value of ‘C’, so would I set the status to ‘C’ or ‘Closed’ in the SQL query?Let me know if I can clarify anything.Kind regards,Andrew Enter PO Receipt button still showing despite order being fully receipted and billed After the Enter PO Receipt button was clicked
I’m looking to add internal notes on inventory items which should than be visible on specific screens, for example on a Purchase order screen if the inventory item is being added to the PO line the notes added on that item should be visible on the PO line containing that inventory item, I would like the notes symbol on the line item to get highlighted to alert the user to check the notes.I would prefer not to use the pop up notes which is only visible at the time we add that item to the PO line.I’m also wondering if I’m limited to have only one “notes” screen per inventory item or I can create another one to be used for these specific type of notes which should up on other screens.Is that possible?
Hello,I have a problem when i need to edit the BLL of "Transactions (Screen CA304000)".When i clik to the "Release" buton, a "Post Transactions (Screen GL502000)" will be created ,and that is perfect. My need is replace the default “ledger” by new ledger when i clik “release”.In the BLL of Transactions, i can’t find and override the method that affect the ledger (not in release). Best regards.
I’m attempting to extend the out of the box functionality for Prepayment validation to RM behaviour order types. It currently only works for SO behaviour order types. So far I have overridden the CreatePaymentExt.GetRequiredPrepaymentEnabled function and I’ve overridden the PXFormula attribute for the SOOrder.PrepaymentReqPct field.That part is working fine, but I’m now hung up on the the following two functions that are implemented as extension methods on the SOOrder DAC class. public static void SatisfyPrepaymentRequirements(this SOOrder order, PXGraph graph) { if (order == null || !(order.Behavior == "SO") || !(order.ARDocType != "UND") || order.Completed != false || order.PrepaymentReqSatisfied != false) { return; } graph.LiteUpdate(order, delegate (ValueSetter<SOOrder> _) { _.Set((SOOrder o) => o.PrepaymentReqSatisfied, true); }); PXEntityEventBase<SOOrder>.Container<SOOrder.Events>
I have a custom field that I created in my IN.InventoryItem table that looks like this:Previously I have this as 3 fields when I created it, published, and everything worked as expected. I went back today to add a 4th field (EF in the first string, EFOY Trailer in the second string) Published the customization, but only get the original 3 options. I tired to publish with clean up, but still did not get the expected results. Any ideas on what I did wrong, or what step I am missing?
Problem Statement Attribute Adjuster Old Approach vs Attribute AdjusterHi Community,This post is dedicated to Attribute Adjuster which is a useful Acumatica helper that allows you to more elegantly adjust attribute's state in runtime. Problem Statement A lot of business logic in Acumatica is implemented in attributes. Sometimes, the state of attribute should be adjusted in runtime, for example, in the graph row selected event like this:protected virtual void _(Events.RowSelected<MyDac> e){ PXUIFieldAttribute.SetVisible<MyDac.balance>(e.Cache, e.Row, e.Row.Balance > 0);}The old approach used by Acumatica attributes to allow developers to adjust their state at runtime was to declare a static method in the attribute. Such methods frequently have very similar implementation. Here is an example:public class PXSomeAttribute : PXEventSubscriberAttribute{ public bool Flag{ get; set; } public static void SetFlag<TField>(PXCache cache, object row, bool newFlagValue)
Hello,I am encountering an issue with the display of a foreign key in my Data Access Class (DAC) within Acumatica. Despite following the documentation and ensuring that the relationships and configurations are correctly set, the foreign key does not appear in the DAC UI.Brewery DAC :using System;using PX.Data;using PX.Data.ReferentialIntegrity.Attributes;using PX.Data.BQL.Fluent;namespace Assainissement{ [PXCacheName("Brewery")] public class Brewery : IBqlTable { [PXDBIdentity(IsKey = true)] public virtual int? BreweryID { get; set; } public abstract class breweryID : PX.Data.BQL.BqlInt.Field<breweryID> { } [PXDBString(50, IsUnicode = true)] [PXUIField(DisplayName = "Name")] public virtual string Name { get; set; } public abstract class name : PX.Data.BQL.BqlString.Field<name> { } [PXDBBool] [PXDefault(true)] [PXUIField(DisplayName = "State")] public virtual bool? State { get; set; }
Good morning all,Why is the kit line detail form always disabled,Can you help with setting this so that I can use the KIT LINE DETAIL FORMThanks
A client has a requirement to keep track of vendor quotes by attaching them to bidding responses, which currently isn’t enabled in Acumatica. I’ve found this existing idea on the subject Attach files to bidding responses screen but since it has limited support at this time, I don’t expect it to be on the radar to get added to the product in the short term.If I create a customization to add the necessary standard fields to the RQBidding database table and DAC for notes & attachments, will this create a potential danger/conflict if the feature eventually gets added to the main product?
Another developer asked this question, but there was no answer to the question in terms of actually overriding the AddNew action on a grid.When I click AddNew on the grid, I want to default a value in one of the grid fields based on a value in a filter. When you click AddNew, it adds a blank row. I don’t see any event that is being fired when you click that button. As such, I think the only thing I can do is to override the AddNew action and populate the value in the override.As suggested in the above mentioned post, the suggestion is to use RowInserting. That event does not fire when you click the AddNew button. It fires when you leave the row.This is a custom form, not an extension. This is my code. In debug, the breakpoint on TEST is not hit. [PXOverride] public PXAction<ICSFSSScheduleLine> AddNew; [PXUIField(DisplayName = "Add New", Enabled = true)] [PXButton(DisplayOnMainToolbar = false)] public void addNew() { var
EDIT: partially fixed the issue - see my next post for the “new” issue.I have a 3 digit fixed length field on my grid. I want to ensure that the value entered is 3 characters exactly.I used a PXUIVerify to ensure the length of the value in the field is 3 characters.#region Lower[PXDBString(3, IsFixed = true, IsKey = true, InputMask = "###")][PXUIField(DisplayName = "Lower")][PXUIVerify(typeof(Where<Length<ICSFSSScheduleLine.lower>, Less<Length3>>), PXErrorLevel.Error, ICSMessages.ZipIsNotANumber, typeof(string))]public virtual string Lower { get; set; }public abstract class lower : PX.Data.BQL.BqlString.Field<lower> { }#endregionHere is the definition for “Length3”: public static class ICSConstants { public const int Length3 = 3; } public class Length3 : PX.Data.BQL.BqlInt.Constant<Length3> { public Length3() : base(ICSConstants.Length3) { } }If you enter 010 (which is valid), you still get an error:I could try
I have a custom form and I want to do filtering on the View. I’ve had a similar issue in the past which I resolved on this previous post: I’m following the same principles in my code here, but I am getting an error.In my override, my BqlCommand is EXACTLY the same as the original view select statement. I was just ensuring that the code would work before making any changes to the BqlCommand.public SelectFrom<ICSFSSScheduleLine> .Where<ICSFSSScheduleLine.scheduleID.IsEqual<ICSFSSSchedule.scheduleID.FromCurrent>> .OrderBy<Asc<ICSFSSScheduleLine.lower>, Asc<ICSFSSScheduleLine.upper>, Asc<ICSFSSScheduleLine.cutoffDate>> .View DetailsView;protected virtual IEnumerable detailsView(){ ICSFSSSchedule currentRecord = ScheduleView.Current; BqlCommand query; //plan to do stuff here to change the query based on other factors query = new SelectFrom<ICSFSSScheduleLine> .Where<ICSFSSScheduleLine.scheduleID.IsEqual<ICSFSSSchedule.scheduleID.FromC
This is almost a duplicate of this post https://community.acumatica.com/develop-customizations-288/make-certain-fields-editable-based-on-po-status-15192I’ve tried the suggestions on that post but it is not resolving my issue.I am trying to make two fields editable when the SO is CLOSED. I’ve modified the Workflow as follows:I added code as well:namespace PX.Objects.SO{ public class SOOrderEntry_Extension : PXGraphExtension<PX.Objects.SO.SOOrderEntry> { #region Event Handlers protected void SOLine_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected baseHandler) { baseHandler?.Invoke(cache, e); var row = (SOLine)e.Row; PXUIFieldAttribute.SetEnabled<FSxSOLine.sDSelected>(cache, row, true); PXUIFieldAttribute.SetEnabled<SOLine.requestDate>(cache, row, true); } #endregion }}The fields are still not editable.I am thinking that the update cache option for the SO Lines is disabled for a closed order. If that is th
I need to create a processing screen. Are there any blogs or articles regarding that?
Created a simple customization to add Principal employee and PO number to a project in 23R2, customization work without any issue until upgrade.After upgrade in Sandbox, there is an error message. \App_RuntimeCode\PX_Objects_CT_Contract_extensions.cs(35): error CS0246: The type or namespace name 'EPEmployee' could not be found (are you missing a using directive or an assembly reference?)I have come at this several different ways, and just create new error messages. I feel that I am missing something very obvious.
I created string type attribute and used on Purchase Orders screen.AttributesUDF Fields on Purchase Orders ScreenRequirement: I want to display this on Bills and Adjustment screen.A.) Able to do: We can easily add on ADD PO popup.B.) Query: But not able to find any way to display on ADD PO LINE popup or on Details GridADD PO | ADD PO LINE | DETAILS gridFyi, On Details screen PO Number field is present.PO Number is Present on Bills and Adjustment details grid.Requirement is very simple. UDF fields on POOrder should be displayed on various other place.
We need to populate warehouse location on purchase receipt screen.[LocationAvail(typeof(POReceiptLine.inventoryID), typeof(POReceiptLine.subItemID), typeof(POReceiptLine.costCenterID), typeof(POReceiptLine.siteID), typeof(POReceiptLine.tranType), typeof(POReceiptLine.invtMult), DisplayName = "To Location ID", BqlTable = typeof(PX.Objects.PO.POReceipt))]public virtual int? UsrTransferDestLocID { get; set; } public abstract class usrTransferDestLocID : PX.Data.BQL.BqlInt.Field<usrTransferDestLocID> { }I added source code.On purchase receipts screen when we click “+” button it gives an error.Error Message: UsrTransferDestLocID is our custom field.
Hello Everyone,I want to override the submit action on the Project Quote screen to add custom logic for data validation. However, the Project Quote graph and its extensions do not contain this action code for overriding.The submit action is defined in the EPApprovalActionExtensionPersistentRequired generic class, which is an approval view in the Project Quote graph.How can I override this action to add my custom logic? Thanks
this is what I show action to mobile. Do I need anywhere else ?
I added an unbound string field to the PM Budget screen. The goal is to present the “PONUMBER” attribute which is tied to a Project Task.The problem is that my field is showing the same value in the grid for all rows. I think my PXDBScalar search is not correct, but I don’t know why.This is the DAC extensionusing PX.Data;using PX.Objects.CS;using SmartRide;namespace PX.Objects.PM{ // Acuminator disable once PX1016 ExtensionDoesNotDeclareIsActiveMethod extension should be constantly active public sealed class SmartPMBudgetExt : PXCacheExtension<PX.Objects.PM.PMBudget> { #region UsrPONumberAttribute [PXString(255, IsUnicode = true)] [PXUIField(DisplayName = "PO Number", Enabled = false)] [PXDBScalar(typeof(Search2<CSAnswers.value, InnerJoin<PMTask, On<PMTask.noteID, Equal<CSAnswers.refNoteID>>, InnerJoin<PMBudget, On<PMBudget.projectTaskID, Equal<PMTask.taskID>, And<PMTask.projectID, Equal<PMBudget.projectID>>>>>, Wh
Trying to override InvoiceOrder and InvoiceCreated on SOInvoiceEntry to copy a value from source SO to invoice. The client could create invoices from order entry or shipment so I want to make sure it gets copied no matter what so therefore trying to do this without overriding PrepareInvoice action.This is what I have so far on SOInvoiceEntry graph extension: public delegate void InvoiceOrderDelegate(InvoiceOrderArgs args); [PXOverride] public virtual void InvoiceOrder(InvoiceOrderArgs args) { //Code before Base.InvoiceOrder(args); //Code after InvoiceCreated(Base.Document.Current, args); } [PXOverride] public virtual void InvoiceCreated(ARInvoice invoice, InvoiceOrderArgs args) { // Base.InvoiceCreated(invoice, args); ARRegisterExt registerExt = PXCache<ARRegister>.GetExtension<ARRegisterExt>(invoice); SOOrderExt orderExt = PXCache<SOOrder
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.