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 everyone,I want to customize a particular screen in Acumatica but only for one specific user not for all users and not by role.I’m trying to do things like hide certain fields/tabs or rearrange the layout, but only for this single user’s account. I know about standard Customization Projects, but those apply system-wide or by role, not per individual user.Is there a proper way to do it? Thanks
Hi all,I need your help if posible with two calculate fields (UsrBajioRefNbr, UsrBBVARefNbr). I created these 2 fields in a Customer DAC extension (CustomerEGSAExtension) because I need to calculate its values based on Customer.AcctCD field passed to some helper static method included in BankDigits class, which contain a simple algorithm to obtain the necesary result values. However, I still don´t have the expected values...Firstly, I tried this using PXFormula, but I couldn’t. This way didn’t work for me in this scenario.Then, I implement RowSelecting in CustomerMaint graph extension (CustomerMaint_GCBankRefExtension) to calculate or fill those DAC field values (not bound to specific database columns):#region Row Event Handlersprotected virtual void _(Events.RowSelecting<Customer> e){ using (new PXConnectionScope()) { Customer custm = e.Row; if (custm != null && !String.IsNullOrEmpty(custm.AcctCD)) { string bajioRefValue = BankDigits
Hi all,I am trying to override the ShipmentScheduleSelect data view declared in SOShipmentEntry. This data view has two optional parameters and five required parameters, so in my graph extension I define a data view delegate with 7 parameters of exactly the same types as the data view. As far as I understand, this is all that’s necessary. It shouldn’t be necessary to redefine the data view itself because I am not referring to the data view in the delegate.But I can’t get my delegate invoked. Please see below code snippets of the original data view and my delegate. What am I doing wrong?Thanks,Ben. public PXSelectJoin<SOShipmentPlan, InnerJoin<SOLineSplit, On<SOLineSplit.planID, Equal<SOShipmentPlan.planID>>, InnerJoin<SOLine, On<SOLine.orderType, Equal<SOLineSplit.orderType>, And<SOLine.orderNbr, Equal<SOLineSplit.orderNbr>, And<SOLine.lineNbr, Equal<SOLineSplit.lineNbr>>>>, InnerJoin<InventoryItem, On<Inven
Hi Team,I want to override the PMTaskTotal.CuryExpense field, which is available on the Project screen. I have tried several events such as RowSelected, RowSelecting, RowPersisting, RowPersisted, and RowInserted, but I am still not getting the expected result. The field value is not changing. Currently, I have added a hardcoded value just to test the event, but it still doesn’t update.Can someone please assist me with how I can customize or override this field properly? using PX.Data;namespace PX.Objects.PM{ public class ProjectEntry_Ext : PXGraphExtension<PX.Objects.PM.ProjectEntry> { #region Event Handlers // This will modify the value when it's selected/displayed protected void PMTaskTotal_CuryExpense_FieldSelecting(PXCache cache, PXFieldSelectingEventArgs e) { if (e.Row is PMTaskTotal row && e.ReturnValue != null) { decimal currentValue = (decimal?)e.ReturnValue ?? 0m; e.ReturnValue
I am creating a Processing Screen in Acumatica and I need to calculate a value for one of the grid columns.The calculation should work like this:I need to fetch data from other tables.Apply grouping/aggregation (for example, MAX(date) per some key).Display the result in a column in the Processing Screen grid.I am looking for the best practice approach to implement this in Acumatica.Specifically, I am not sure whether I should:Use a Projection DAC with Select + GroupBy to pre-calculate the value.Use PXFormula or some other BQL trick.What is the recommended way to compute aggregated values from other tables for a Processing Screen column in Acumatica?
public PXAction<FSEquipment> UpdateHours; [PXUIField(DisplayName = Messages.UpdateHours, MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)] [PXButton(DisplayOnMainToolbar = false)] public IEnumerable updateHours(PXAdapter adapter) { if (MaintenanceLogInfo.AskExt(UpdateHoursSetVisible, true) == WebDialogResult.OK) { DateTime date = MaintenanceLogInfo.Current.Date.GetValueOrDefault(); decimal hours = MaintenanceLogInfo.Current.Hours.GetValueOrDefault(); if (date == null) { // Acuminator disable once PX1051 NonLocalizableString [Justification] MaintenanceLogInfo.Cache.RaiseExceptionHandling<FSMaintenanceLogInfo.date>( MaintenanceLogInfo.Current, date, new PXSetPropertyException(Messages.DateCannotBeEmpty) );
I have two buttons that open the same dialog window. I need to set the visibility of the dialog fields depending on which button is clicked.
Hello, our business has a requirement to upload the Scanned printed copies of Sales Order to Acumatica that is completed and highlighted with picking & packing information by warehouse employees. Currently, we bulk upload the copies in OneDrive, but we want a solution where the scanned copies lies next to the respective Sales Order in the Acumatica screen. The scanned copies can have a different tab or can be uploaded in the activities tab. This definetly requires customisation, our acumatica team is novice and has very little experience with this software. Has anyone in the community established this type of system, if so, then please do share the feedback and the steps of implementation.Thank you
I see that a couple of years ago there was discussion about per unit discount. We are building our Acumatica instance and stuck because we need a way to discount per gallon. Fuel customers focus on the list price and offering a .20 discount is needed. Sale price worksheets do not work for what we need. Has there been any further development on this concept? Any other ideas besides custom developing a solution?
With the new Lot Serial Attributes feature in 25R1, what is the best way to retrieve the value of the attribute for the lot serial number?My expectation was to be able to pass the lot serial number and attribute ID (with “Attribute” prepended) to GetValueExt, but I’m not consistently getting the return data that I’m expecting.I’m specifically looking at numeric attributes, so I’m looking for the ValueNumeric column from INItemLotSerialAttributesHeaderKvExt where the RecordID matches the NoteID of the INItemLotSerialAttributesHeader of the record passed to GetValueExt along with matching the AttributeID value. Thanks in advance.
Our business is transitioning to Barcode scanning for picking and packing. While adding a barcode for a product, I was not able to select the Supplier. Although, I was able to select a supplier for any other selection. I reviewed a related discussion, but it didn’t provide a solution for my case. In that thread, the other user was actually able to select a supplier.Has anyone encountered this issue or knows what might be causing it?Also, correct me if we any other options for our requirement.
Hi Team,how I can display Project Id, if the payemnt is created without “PayByLine” in Check and Payments screen. I know if the payments are created using “PayByLine” it will display the Project details. I could see the ProjectID field in Payments screen is linked backed APTran table which is the source for Bills.Kindly help me on this. Regards,Ramya Krishna
Inserting 'GL Batch' record raised at least one error. Please review the errors. The 20-2512 financial period does not exist for the PRODUCTS company. JournalEntry journalEntry = PXGraph.CreateInstance<JournalEntry>(); PostGraph pg = PXGraph.CreateInstance<PostGraph>(); journalEntry.ReverseBatchProc(batch); journalEntry.BatchModule.SetValueExt<Batch.module>(journalEntry.BatchModule.Current, batch.Module); journalEntry.BatchModule.SetValueExt<Batch.dateEntered>(journalEntry.BatchModule.Current, tranDate); journalEntry.BatchModule.SetValueExt<Batch.finPeriodID>(journalEntry.BatchModule.Current, finPeriodID); PXCache gltrans = journalEntry.Caches[typeof(GLTran)]; foreach (object gltr in gltrans.Inserted) { gltrans.SetValueExt<GLTran.module>(gltr, batch.Module); gltrans.SetValueExt<GLTran.tranDate>(gltr, tranDate); g
Hi, I am working on Acumatica mobile customization and need to display the contact information (phone, email, etc.) on the Employee screen. The default mobile view only shows basic fields like Employee ID, Name, Status, and Employee Class. I would like to extend the screen to show contact info and enable actions such as calling or emailing directly from the mobile app.Does anyone have guidance or examples on how to configure this? I tried adding several different containers in the code, but the contact information is still not displaying in the Acumatica mobile app. add screen EP203000 { add container "Employee" { # Primary Employee Fields add field "EmployeeID" add field "EmployeeName" add field "Status" add field "EmployeeClass" # Contact Information Section add group "ContactInfo" { displayName = "Contact Info" collapsed = False add field "DetailsContactInfo#Title" add field "DetailsContactInfo#FirstName" add field "DetailsContactInfo
Hi,We are encountering the error “The previous operation has not been completed yet” on our custom processing screen in the Acumatica 25R1 version. This issue did not occur in the previous versions.I have attached a sample processing screen where the error is reproduced. The underlying code is functioning correctly, and the scheduler screen does not show any issues.We request assistance in understanding why the scheduler is failing with this error message and guidance or a fix to resolve the issue.DAC: public class SyncProcessFilter : IBqlTable{ #region Message public abstract class message : PX.Data.BQL.BqlString.Field<message> { } [PXString] [PXUIField(DisplayName = "Message")] public virtual string Message { get; set; } #endregion #region NoteID [PXNote()] public virtual Guid? NoteID { get; set; } public abstract class noteID : BqlGuid.Field<noteID> { } #endregion} Graph: public class SampleProcessingGraph : PXGraph<SampleProcessingGraph>
I have been testing with the mobile app recently on Android and doing some development work/customization. The rest of my site is relatively fast, with the occasional lag due to normal Acumatica caching stuff going on in the background. The mobile app, on the other hand, is a different story. There is a consistent delay when moving between screens in the mobile app that is annoying if you are a developer, and catastrophic if you are trying to run a dsitributed warehouse operation with many workers in many locations.Often when performace claims are made on this thread, I find that they get hand waived away with vague suggestions about contacting support for tuning or analysis. In researching what is publicly available about the mobile app architecture, it seems at some point the decision was made to store the entire site map inside the database itself. It seems that this may necessitate a lot of extra database requests to even navigate between screens in the app, and this could be leadi
I have a dialog window with a date field. When I manually type a date and immediately click the OK button, the value is passed as null, because at the moment I click OK, the focus is still on the Transaction Date field. However, if I select the date using the calendar picker, everything works correctly.CommitChanges = True.
I have the same question as this topic which never received an answer: I need to override the EmailPurchaseOrder action to do a simple update to a custom field. public delegate IEnumerable emailPurchaseOrder(PXAdapter adapter, [PXString] string notificationCD = null); [PXButton(CommitChanges = true), PXUIField(DisplayName = "Email PO")] [PXOverride] public virtual IEnumerable EmailPurchaseOrder( PXAdapter adapter, [PXString] string notificationCD = null, emailPurchaseOrder BaseMethod) { //Logic HereI get an error that the optional parameter must be the last item in the method.Any solutions for this?
Could Acumatica try to avoid Optional Arguments, because we could not using [PXOverride] to override the methods with Optional Arguments?
Vanilla CodeWhile i develop customization i met a problem while publishing\building screen, related to QuerySelector id “formSlotA01” isn`t unique Error occured during HTML merge for 'EP208000', original source will be used instead. Error: Error: Element ids are not unique: id=formSlotA01 tags=QP-FIELDSET,QP-FIELDSET My codeI renamed it manually. Second formSlotA01 to formSlotB01 and it is published correctly. So i confused, it`s a system bug or im miss something?
I am add new document type to invoice. I need hide "REOPEN" if Invoice was released with GL transaction.Introduce "VOID" action for Invoice.Upon VOID, perform prompt for the user to enter the Date/Post Period for the Reversing transaction. Reverse the original GL batch associated with the Invoice move status of the Invoice to VOID. The document cannot be changed/released/deleted again and would still be attached to the original GL batch number, and add the link to the reversed batch number. Any idea how to do this?
I am trying to add several custom fields that already exist on the classic UI version of the “Create Payment” popup into the Modern UI panel of the same screen. However, I am running into two issues:1. When I add the fields directly in my Modern UI extension:I get an error:“ID does not exist”Even though these fields exist in the DAC and work correctly in Classic UI. 2. When I try to modify the existing Modern UI extension file (SO301000_CreatePayment.html):The customization works, but when I include this file inside a Customization Project, I get:“Duplicate ID”or“ID already defined in another extension”. This makes the whole customization fail.I suspect the issue happens because my customized Modern UI file is being added into frontendSources, which already contains the default SO301000_CreatePayment.html.Because of that, the same element IDs exist twice, and this results in the duplicate ID error.However, I am not sure what the correct approach is in this situation: Should I replace
I have sql view for process screen. When I refresh grid. Data not updated. When I refresh page data is updated. How to solve this ?
I inherited a project. When I moved the code from the Project Editor to my VS extension, I have an error regarding multiple keys.This was apparently not a problem when the code was left in the project editor, but it is a problem in my VS extension library. Here is a snip so you can see the squiggles: I don’t know if removing the IsKey from either field will cause a problem. Would it be safe to suppress the error with a comment?
I need like this. In ASPX SO301000 i see this code: But when i edit aspx at Customization project to do the same at another screen. When I save aspx div replace on PX:Content and my page not working
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.