Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
Hi Good night. I need to do the following.When selecting one or clicking on a row of the grid, obtain the value of the selected Id (current). The grid has a “SelectedRow” event? in test mode. I created a Button (AddSelected). When i select a row and then i push de button, I need to get the value (Id) of the current row. (now i am obtain only the value of the first row (Id = 86)the current Id is 88 but i obtaing 86 ever.i put the code of the Add Selected button. public PXAction<CEEstimate> AddSelected; [PXButton(CommitChanges=true)] [PXUIField(DisplayName = "Add Selected")] protected virtual void addSelected() { CEEstimate row = viewCEEstimate.Current; CEEstimateEstimate rowd = viewCEEstimateEstimates.Current; //row.Description = CEEstimateEstimate.Current.Id.ToString(); row.Description = rowd.Id.ToString(); }CEEstimate (viewCEEstimate) is the header and CEEstimateEstimate and viewCEEstimateEstimates is the detail cna you helpme please
I want to dynamically change the warehouse selector results in Acumatica on the following screens:Opportunities Sales Orders Purchase orders Sales Quotes Requisitions, by either company(All warehouse under selected company) or branch. The condition will be met with custom fields I have added to the Inventory preferences screen.I came to the conclusion of having to use a custom selector attribute, but how to achieve this I am not sure.Any guidance and help would be greatly appreciated.See code attached for my Custom DAC fields and the code for the Sales Order Graph:public class INSetupExt : PXCacheExtension<PX.Objects.IN.INSetup> { #region UsrAllowBlockin [PXDBBool] [PXDefault(false)] [PXUIField(DisplayName="Block Normal Journal Posting by Creator")] public virtual bool? UsrAllowBlockin { get; set; } public abstract class usrAllowBlockin : PX.Data.BQL.BqlBool.Field<usrAllowBlockin> { } #endregion #region UsrByCompany [PXDBBool] [PXDefault(true)] [PXUIField(Display
I have been attempting to update 2 Boolean field values on Time Activity based on the same usr fields in the PM-Task Table. So when a time card has the project Task with “OnSite” Checked or “Travel” Checked it will carry over to the Time Card. Once created I plan to use this to create fields to match Billable and Total Billable on the Time cards. I understand that is best done with Event Handlers and maybe this would have been as well. This is my first time working with Attributes and I have tried to write this a number of ways but somehow I am missing something. My code is below if anyone has any ideas. PMTask{ public class PMTaskExt : PXCacheExtension<PX.Objects.PM.PMTask> { #region UsrIsOnsite [PXDBBool] [PXUIField(DisplayName="IsOnsite")] public virtual bool? UsrIsOnsite { get; set; } public abstract class usrIsOnsite : PX.Data.BQL.BqlBool.Field<usrIsOnsite> { } #endregion #region UsrIsTravel [PXDBBool] [PXUIField(DisplayName="IsTravel"
I am using PXFormula to multiply a qty and cost to create a new extension field in the details of Physical Inventory Review (although I would think the specific screen wouldn’t matter.) That part is working fine. However, I then want to sum that new column’s values into a new extension field in the header. I can't get that part to work.Here is the relevant detail code:using PX.Data;using System;namespace PX.Objects.IN{ public class INPIDetailExt : PXCacheExtension<PX.Objects.IN.INPIDetail> { #region UsrExtBookCost [PXDecimal] [PXUIField(DisplayName="Ext. Book Cost")] [PXFormula(typeof(Mult<INPIDetail.bookQty, INPIDetail.unitCost>), typeof(SumCalc<INPIHeaderExt.usrTotalBookCost>))] public virtual Decimal? UsrExtBookCost { get; set; } public abstract class usrExtBookCost : PX.Data.BQL.BqlDecimal.Field<usrExtBookCost> { } #endregion }} Here’s the header code:using PX.Data;using System;namespace PX.Objects.I
I’ve modified the sales quote to allow the unit cost to be visible and editable but when I create a sales order from the sales quote the sales order is using the unit cost setup on the stock item and not what I set on the sales quote. I’m not sure what needs to change in order to get the unit cost on the sales order lines to match what is on the quote line. Is that something that can be changed? If so how would I go about it?
Hello, The generic inquiry for our push notifications includes several custom fields that are only used by downstream systems. They are not really part of the account data per se. So we want our push notifications to contain these fields, but don't necessarily want changes in these fields to trigger push notifications. Is this possible? Can a generic inquiry or push notification be configured such that a notification is only sent when certain fields are changed, but not others?Thank you for your help. Best regards, Dave
Hello Guys, It's possible to disactivate the approval workflow in the persist action and activate it after integrating the supplier invoice (Click on the button INTEGRATE) (AP301000) ??Version: Acumatica 2020R2Thanks for your feedback
I am currently developing a customization on the SO503050 screen including mobile. The problem that I am facing is that I already configured everything to be able to redirect the user after the process action is completed but its not redirecting. I attached some images about what I already configured: On the Update MENUOn my custom screenAnd I have already added the respective add Screen “SO644000” of type report for each of the reports. I am missing something?
Hi All, Ineed to create a create a kit item - on-the-fly on the sales order from NetSuite. can anyone help me with solution, and thanks inadvance
I wanted to redirect to a generic inquiry with a "Drilldown" tab similar to dashboard widget clicks.After some research, I found the following method. string inqID = "cb567d54-187b-4466-a2e5-8776831ca6e9";var url = new StringBuilder(PXGenericInqGrph.INQUIRY_URL).Append("?id=").Append(inqID).ToString();List<PXFilterRow> filterRows = new List<PXFilterRow>();filterRows.Add(new PXFilterRow("SOShipment_customerID", PXCondition.EQ, "AACUSTOMER"));filterRows.Add(new PXFilterRow("SOShipment_siteID", PXCondition.EQ, "Retail"));PXRedirectToUrlException ex = new PXRedirectToUrlException(url, PXBaseRedirectException.WindowMode.New, false, null);ex.Filters.Add(new PXBaseRedirectException.Filter("Results", filterRows.ToArray(), "Drilldown"));throw ex;You have to add filter rows to the redirect exception. You can learn more about GI redirects below.https://asiablog.acumatica.com/2019/03/working-with-generic-inquiries-from-code.htmlhttps://stackoverflow.com/questions/42537829/open-gi-on-bu
Hello,I want to know if i can get the action name of the pressedaction in the screen from graph by code.Best regards.
Hello I have an action button that needs to be conditionally available after the quote approved checkbox is selected from the opportunity then this box “conver to project” needs to be conditionally available. I was provided a sample code, but I am unsure of how I use it? Would I create a project, and create a new code with it? protected virtual void SOOrder_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler){InvokeBaseHandler?.Invoke(cache, e);SOOrder row = e.Row as SOOrder;if (row != null){if(Condtion){ActonName.SetEnabled(true);}else{ActonName.SetEnabled(false);}}}
I’m looking to add a "Date of Service" column to the Services > Invoice > Details grid.I'm trying to add a column on the Details tab of the Invoices screen to show the Appointment Date for charges listed on the Details tab. It pulls this information just fine on one of my reports (relationships shown on the bottom row, Left join FSARTran to FSAppointment, in the attached image), but when I duplicate this join (the FSAppointments table to FSARTran) in the Generic Inquiry for the Invoices page, the fields are all there, and it saves with no errors, but it begins generating errors for our users. Anyone know how to add a column for Appointment Date to the Details tab of the Invoices screen?I found the info (see image) for tying the Invoice to the Appointment Dates in the report file SO643000.RPX. All the fields seemed to be there and the tables appeared to add and relate without error. However, once I clicked Save, the system began generating errors when attempting to populate the In
In my code I’m looking to see if an invoice already exists before proceeding. I was using this query: ARRegister invoice = PXSelect<ARRegister, Where<ARRegister.docType, Equal<Required<ARRegister.docType>>, And<ARRegister.refNbr, Equal<Required<ARRegister.refNbr>>>>>. Select(this, receiptRow.ApplyToDocType, receiptRow.InvNbr);But it would not find the record. I confirmed that it is in the ARRegister table (local install, local database).So I decided to try this:ARInvoice invoice = SelectFrom<ARInvoice>. Where<ARInvoice.docType.IsEqual<@P.AsString>. And<ARInvoice.refNbr.IsEqual<@P.AsString>>>. View. Select(this, receiptRow.ApplyToDocType, receiptRow.InvNbr);and that worked. It is a different table but the primary keys on both tables are the same.So, my question is, what’s the difference between the PXSelect and the SelectFrom calls? In case it matters ‘this’ is within an Action bu
I am wondering if anyone has ideas on where to start with a customization to accurately capture field staff utilization in Acumatica. Our work is all project based and we have hundreds of projects running at a given time. Teams are tracking Travel time in the projects under the tasks IBT and OBT (inbound and outbound travel) The rest of tasks are onsite time. I am hoping to shape the data in a way I can use the stock Dashboards to report Onsite vs Travel time and %of 40 hours a week but in a GI I can’t seem to create all the calculations I need so am thinking I need to have a custom field or two to store the data. My GI is based on PX.Objects.CR.PMTimeActivity and left joins in the Projects and Tasks to use the common name between projects for the tasks.Here is the way I am calculating the hours “Onsite” in the GI =((CDec([PMTimeActivity.TimeBillable]) - iif( [PMProject.ContractCD] = '1',CDec([PMTimeActivity.TimeBillable]),0) - iif( left(CStr([PMTask.TaskCD]),3) = 'IBT',CDec([PMTi
I’m not sure why but a custom field I’ve created is not showing in the grid on the screen.The new field is the Mark Up % and it shows in the Column Configuration but not in the grid. Here are the layout properties: Here is the aspx: Here is the extension code:using PX.Data.ReferentialIntegrity.Attributes;using PX.Data;using PX.Objects.AP;using PX.Objects.AR;using PX.Objects.CM.Extensions;using PX.Objects.Common.Discount.Attributes;using PX.Objects.Common.Discount;using PX.Objects.Common;using PX.Objects.CR;using PX.Objects.CS;using PX.Objects.GL;using PX.Objects.IN.Matrix.Interfaces;using PX.Objects.IN;using PX.Objects.PM;using PX.Objects.SO;using PX.Objects.TX;using PX.Objects;using System.Collections.Generic;using System;namespace PX.Objects.CR{ public class CROpportunityProductsExt : PXCacheExtension<PX.Objects.CR.CROpportunityProducts> { #region UsrMarkUp [PXDBDecimal] [PXDefault(TypeCode.Decimal, "0.000", PersistingCheck = PXPersistingCheck.Nothing)] [PXUIField
I have added a field to the existing SOOrder DAC in order to carry a ReasonCode.. But I only want to select records from the ReasonCode where the Usage field is equal to ‘A’Here is my selector code to display the ReasonCodeID and Descr fields..[PXSelector(typeof(Search<ReasonCode.reasonCodeID, Where<ReasonCode.usage, Equal<'A'>>>), typeof(ReasonCode.reasonCodeID), typeof(ReasonCode.descr))] But this is the error:\App_RuntimeCode\PX_Objects_SO_SOOrder_extensions.cs(36): error CS1031: Type expected
Hello,I have a source code for the approbation for purchase which works well at acumatica 2020R1.When I did the migration to 2020R2 then it does not work the approval function.I want to know what the problem is exactly. protected void createRecipt(POOrder order, List<POLine> PoOrderLine, SOShipment shipment, SOShipment newshipment, POOrderEntry graph1) { PXAdapter adapter3 = new PXAdapter(new DummyView(graph1, graph1.Document.View.BqlSelect, new List<object> { graph1.Document.Current })); adapter3.Menu = "Approve"; PXAutomation.CompleteAction(graph1); adapter3.Arguments = new Dictionary<string, object>(); adapter3.Arguments.Add("actionID", 1); graph1.action.PressButton(adapter3);}Exception : PX.Data.PXLockViolationExceptionBest regards
Hopefully I explain this correctly. On the Project Revenue Budget tab I’ve added two new fields: Unit Cost and Mark Up. When the values in these fields change we want to update the Unit Rate. I’m using the FieldUpdated event to do this and everything works great. The problem is that we also want to allow the user to enter the Unit Rate manually and when that happens it needs to update the Mark Up. This also works fine but the issue is that when the Mark Up is updated from the change in Unit Rate the FieldUpdating event on the Mark Up is called and then updates the Unit Rate again. Currently my Mark Up rounds to two decimal places. Because of the rounding on the Mark Up the Unit Rate is then recalculated incorrectly. Questions:1 - Can I change my precision on the Mark Up to more than two decimal places to give me more precision and prevent rounding? If so, the how?2 - Can I prevent the code from running in the FieldUpdated event for Mark Up when the Unit Rate is changed?3- Shoul
I am working on the Task screen (CR306020). I am able to set the Start Date to null so that the user must select a Start Date. I want to also default the Due Date to null.Here is my code: public class CRTaskMaint_Extension : PXGraphExtension<CRTaskMaint> { #region Event Handlers protected void CRActivity_RowInserting(PXCache cache, PXRowInsertingEventArgs e) { var row = (CRActivity)e.Row; //var dateAndTime = DateTime.Now; //var date = dateAndTime.Date.AddDays(1); row.StartDate = null; row.Priority = null; row.UIStatus = null; } protected void _(Events.FieldUpdated<CRActivity, CRActivity.startDate> e) { var row = (CRActivity)e.Row; row.EndDate = null; } #endregion }The RowInserting works great. The Start Date is empty after this code fires.The FieldUpdated event fires. I verified that the EndDate is being set to null. B
Good day,I have added a custom field on the purchase orders screen to display the vendor class under the vendor info tab. This field will be disabled.I am trying to populate the field after the vendor has been selected on the header.Please see my code below:My DAC: #region UsrVendorClass [PXDBString(10, IsUnicode = true)] [PXDefault()] [PXSelector(typeof(Search<VendorR.vendorClassID>))] [PXUIField(DisplayName = "Vendor Class")] public virtual string UsrVendorClass { get; set; } public abstract class usrVendorClass : PX.Data.BQL.BqlString.Field<usrVendorClass> { } #endregion My Graph: protected void _(Events.FieldUpdated<POOrder, POOrder.vendorID> e) { var row = (POOrder)e.Row; VendorR vendorClass = new VendorR(); vendorClass = PXSelect<VendorR, Where<VendorR.acctCD, Equal<Current<VendorR.acctCD>>>>.Select(Base, row.VendorID); POOrderExt extPOOrder = row.GetExtension<POOrderExt
Hi All, We were wondering if we are allowed to use field dependencies in Acumatica. An example of field dependency would be that if a value of field A changes, then change the value of field B. Here’s an example for better understanding: If the Tax Zone of a Business Account changes which is extended to Customer and has locations in it, then we will want to change the tax zone field for all associated customer locations as well. Please let us know if you need any further clarifications about this. Thanks in advance! Best Regards,Amruta
I have customized the Sales Order Report (so641010.rpx) in my dev instance and report generation occurs as expected.When I export the customization project to the sandbox instance, add the necessary information in the Sales Order Screen and run the report I get the report with no data. If anyone could suggest why this happens it would be great.
Hi, Does anyone know how to add newly created screen?What do i need to Install to create newly screen in our Acumatica. Thank youJorge
This is probably a total noob question, but what screen is this? Is it the FS300200 screen or something else? I need to customize this screen on mobile and add a new tab between ALL and TODAY…
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.