Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
I added custom column in Sales Price Worksheet.I need to fetch that value from sales order.I am able to join and check date I wants to filter by inventory id as well. protected virtual void _(Events.FieldUpdated<SOLine, SOLine.inventoryID> e){if (e.Row == null || e.Row.InventoryID == null) return;ARPriceWorksheet objSalesprice = PXSelectJoin<ARPriceWorksheet, InnerJoin<ARPriceWorksheetDetail, On<ARPriceWorksheet.refNbr, Equal<ARPriceWorksheetDetail.refNbr>>>, Where2<Where<ARPriceWorksheet.effectiveDate, LessEqual<Required<ARPriceWorksheet.effectiveDate>>, And<ARPriceWorksheet.expirationDate, GreaterEqual<Required<ARPriceWorksheet.expirationDate>>>>, Or2<Where<ARPriceWorksheet.effectiveDate, LessEqual<Required<ARPriceWorksheet.effectiveDate>>, And<ARPriceWorksheet.expira
Hello Everyone,Can you please help me with the sample code to override the Create Appointment Popup → Create and Review button in the Projects screen. Thanks in advance.
Hey guys, I have a Calibration Record screen which I developed.My requirement is to dynamically filter the available fields within the dropdown based on the SiteID of the Calibration Record.Does anyone know if this is possible? Aleks
This is my first time using Dependency Injection in a customization project.I’m able to use it as expected in a few different places, but in this particular class, when I try to call a method from the service, a null reference exception is thrown. I have this service injected in a different class and it’s not throwing the error.Any help would be appreciated as I’m new to this!
I’m currently getting an ARSalesPrice (PX.Objects.AR) object using this: sp = PXSelect<ARSalesPrice, Where<ARSalesPrice.inventoryID, Equal<Required<ARSalesPrice.inventoryID>>, And<ARSalesPrice.siteID, Equal<Required<ARSalesPrice.siteID>>>>>.Select(newGraph, InventoryID, “WHSE01”); However, this returns the first (old) row in the Sales Prices (AR202000) screen. How can I get the newer Effective/Expiration Date row?
I’d like to add a new menu item on the dropdown for the action field on SOCreateShipment (SO50100).The Action field is defined as follows:#region Action[PX.Data.Automation.PXWorkflowMassProcessing(DisplayName = "Action")]public virtual string Action { get; set; }public abstract class action : PX.Data.BQL.BqlString.Field<action> { }#endregionDigging into the PXWorkflowMassProcessingAttribute via VisualStudio (because I think think we don’t have the source for that attribute) I see that it expects to look back at the calling object for a class called WellKnownActions and from that class it builds the string list.Should I cacheattach that field and override with a PXStringList?Or should I just add the action through the workflow editor which seems to be fairly easy to do.
Hi,Could you please provide code to set checkbox state by inventory update. I created this one but it doesn’t workprotected void SOLine_InventoryID_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e) { var row = (SOLine)e.Row; if (row != null) { ClaLimitInv.SOLineExt itemExt = PXCache<SOLine>.GetExtension<ClaLimitInv.SOLineExt>(row); itemExt.UsrIsRestrictedField = true; } }my DAC ispublic class SOLineExt : PXCacheExtension<PX.Objects.SO.SOLine> { #region IsRestrictedField [PXBool] [PXDefault(false, PersistingCheck = PXPersistingCheck.Nothing)] public virtual bool? UsrIsRestrictedField { get; set; } public abstract class usrIsRestrictedField : PX.Data.BQL.BqlString.Field<usrIsRestrictedField> { }}
On the mobile app, on the Edit Main Screen section, users can hide the Recently Visited section. Is there way to have this hidden for all users by default?
Hello,I am trying to use Core.Comparator.Pdf.Compare that comes with Acumatica Test SDKBelow sample code that should compare PDFs created from the same report but for different shipments.MagickNET.SetGhostscriptDirectory(@"C:\Program Files (x86)\gs\gs10.03.1\bin");var file1 = new FileInfo("C:\\Users\\abaranov\\source\\repos\\gitlab-hemasource\\HSAutomatedTests\\HSAutomatedTests\\bin\\Debug\\SO642003_689445.pdf");var file2 = new FileInfo("C:\\Users\\abaranov\\source\\repos\\gitlab-hemasource\\HSAutomatedTests\\HSAutomatedTests\\bin\\Debug\\SO642003_689455.pdf");Comparator.Pdf.Compare(file1, file2);Comparator executes without error, but all I see in the log is just saying there is data mismatch (see screenshot)Is it all I should be hoping for?I expected images of both files with highlighted regions showing where exactly mismatch isBest regards,Andrey
Hello, I use environnement Acumatica version 23.213.0015.In the page Employee Time Cards (EP305000), i would like to be able to approve the Materials tab like the Detail tab in the page Approve Time Activity Summaries (EP507030). I would like to know if someone already added an approbation for Material or have a better idea than to add the EPTimeCardItem in PMActivity. Thanks,
In a relatively recent version of Acumatica, the “External Applications” screen was added, adding in an easy way to connect to OAuth 2.0 Applications.There is a relatively short list of “Types” of applications that can be used with this screen. But how would one perhaps add their own custom type to this drop-down list? In this blog post, I will show you how.IExternalApplicationProcessor, the interface that defines the class that handles the OAuth Processing, implements two important fields, TypeCode, which corresponds with the drop down value in the “Type” field, and TypeName which is the label that corresponds with the drop down value.Acumatica automatically detects all classes that implement this interface and injects them inside of the ExternalApplicationProcessorFactory, and makes them available for choosing in the Type dropdown and also makes them available for use.Now with your new external application using your custom type, you can leverage the functionality by using the method
Our team begins an Acumatica API project shortly. Questions arose around the tools. I expected Visual Studio/C#, but since we are having a discussion I thought I would poll this forum for their thoughts and experiences.Please share your wisdom and suffering. Thanks,Tom Morris
On the Run Project Billing, if you open the screen and there is an item in the grid for a branch you are not part of, you get an error that the branch cannot be found. I believe this is sort of a bug in Acumatica. That screen should allow a user to run project billing for “their records” if they have permission to that screen.I overrode the Initialize for that screen to restrict the three PXSelect’s to only include records (contracts) with branches that the user is a member of.I have added a WhereAnd to the select statement for the grid on that screen that restricts the results to only records that have a branch that the user is a member of.With no customization, the screen returns 3 records when you open it. You have to be logged in as Admin to see them. If you log in as Joe, you get the error that a branch cannot be found. Joe is in a branch for one of the Contracts in the grid. It is BranchID = 7.In my override, if I put a whereand for the current logged in Branch ID, Joe can
Hi Please assistWe have a Pro Forma page generic inquiry page that lists Pro FormaOn Click of the reference number can navigate to edit a single pro forma invoiceWe have added a customization that allows us to send pro forma invoices to finance department and then updates the pro forma extension which contains fields : UsrSubmitToFinance:bool; UsrSubmitToFinanceLastUser:string and UsrSubmitToFinanceLastUser: datetimeon click of the submit to finance bool field it updates the database extension fine sets the date and who updated.The issue i am having now is that i cannot seem to select multiple proformas from a new screen i created that lists the proforma invoices and do a mass update.I know there is a action you can set on the generic inquiry but issue with that is has update all which can be clicked by mistake and end up sending everything throughSo that is why we took the approach to have another screen which when it is successfull we will deactivate the generic inquiry When i do mul
Hi,Does anyone know how to change the Message on the Scan and Count screen? i want to change this in the mobile application as well. Thanks.
Hello,I have a custom table that I am showing on the ‘Employees’ screen as a new tab. It has one key ID designated with the [PXDBIdentity(IsKey = true)] attribute in the DAC. It worked in 23R1 but now that I have it published in 24R1 none of my event handlers are firing on the tab and when I attempt to add a value in one column the row effectively resets and I lose all my data.I should note that I also have a maintenance screen with the exact same logic pointing to the same DAC- just not filtered by the employee- and all the logic works and saves to the DB without any error.Since 24R1 added a bunch of permission defaulting, my first spot was to check there but no luck. I have the rights on the view set to DELETE so it shouldn’t be a permission issue.I also deleted all my event handlers to where the only code I had in my employee graph ext was the view itself and I am still getting the error. I ran the request profiler and have not been able to get consistent results but a few times I h
I have try to override ShowSplits mehod of LineSplittingExtension abstract class but debugger not coming on my method ShowSplits which I have overirde. public class EWQCLineSplittingExtension:LineSplittingExtension { public static bool IsActive() { return EWQCFeatureSetHelper.IsEWQCManufacturingECCFeatureActive(); } //override ShowSplits to update lot on line detail click public override IEnumerable ShowSplits(PXAdapter adapter) { lsselect.View.AskExt(true); //base.showSplits(); MoveEntry moveEntryGraph = PXGraph.CreateInstance<MoveEntry>(); EWQCAMMoveEntryExt moveEntryGraphExt = moveEntryGraph.GetExtension<EWQCAMMoveEntryExt>(); moveEntryGraphExt.InsertLotsInLineDetails(false); return adapter.Get(); }}
Hi All,Is there a way to get the list of published customizations on an ERP site via an APi call?For example, there is Site A which has 2 customizations and Site B has 5 customizations, we need to get the list of published customizations on each site without logging in to the site i.e. via an API.Is it possible?
Hello Support Team,1.After successfully publishing the 2023R2 package, I encountered the following issue when restarting the site.I went to the config file under the sitemap section and set the enable option to true.. After reloading the site, I encountered the following issue. I've double-checked my connection string, and everything is defined correctly. Is there anything else that needs to be added to the web.config file?
Hi guys, I have a problem, I have created an action that makes me attach an existing Report created by me.The problem is that the attachment does not show information, if I go and run it on the same report screen if it shows information, here I show images, plus my code that makes the attachment.Code:public PXAction<PX.Objects.PM.PMQuote> GeneraPDF;[PXButton(CommitChanges = true)][PXUIField(DisplayName = "PDF")]protected void generaPDF(){ const string reportID = "XP995100";var parameters = new Dictionary<string, string> { };parameters.Add(nameof(PMQuote) + "." + nameof(PMQuote.QuoteProjectCD), Base.Quote.Current.QuoteProjectCD);byte[] byteArray = GetPDFDocumentFromReport(parameters, reportID);PX.SM.UploadFileMaintenance upl = PXGraph.CreateInstance<PX.SM.UploadFileMaintenance>();PX.SM.FileInfo fileinfo = new PX.SM.FileInfo($"{Base.Quote.Current.QuoteNbr}.pdf", null, byteArray);if (upl.SaveFile(fileinfo, PX.SM.FileExistsAction.CreateVersion)){ PXNoteAttribute.SetFi
I have a special use case that I need to have Acumatica Engine to skip Branch Access Rights verification on a specific Selector. Out of the box, when Access Right is imposed to Companies/Branches using the User Roles, Whereever Acumatica Engine points BranchID in a DAC which is subject to Row Level Security adds a clause to where statement something likeBranchID IS NULL OR BranchID IN (IDs of the branches user has access)How I can force the system to skip these access verification in a specific selector. I have used CacheAttached Event and am “Replacing” the selector attributes but still the list is shown is filtered by the branches user has access. I tried a simple selector something like[PXSelector(typeof(Search<CashAccount.cashAccountID>))]but still I see where statement is appended to limit the branches user has access. How I can go around this?
The 23R2 release notes documentation mentions that a method (ConfirmPackage) was removed. However, the full release notes doesn’t mention how the Pick/Pack/Ship classes were refactored. Does anyone know how to replace this method? I need to override the Process() method in the PickPackShip.ScanCommand class to automatically Confirm Package.
Hello community. In the code below I am doing a few things, creating a sales order of the transfer type from shipments of the receipt type. I am saving the shipment number to the transfer order and the newly created sales order number to the shipment. It is doing exactly what I want minus saving the new SO # to the shipment record. I am doing this in an enclosed “using (var ts = new PXTransactionScope())” and was wondering if its possible I am not able to update multiple graph instances at once? Or is there another issue below that is not saving my SO # to the shipment record? I have the correct order number coming back into the code in my PXTrace. Any ideas? Thanks in advance! public PXProcessing<SOShipment, Where<SOShipment.operation, Equal<SOOperation.receipt>, And<Where<SOShipmentExt.usrToTransfer, IsNull, Or<SOShipmentExt.usrToTransfer.IsEqual<False>>>>>> shipments; public createTransfers() { shipments.SetProcessCaption("Process")
Help??Have a screen that has a PXRichTextEdit that is bound to a child grid field. So that as we edit the records in the grid, can edit line-level notes. It is in a tab. <px:PXRichTextEdit AllowInsertPrevParameter="False" AllowInsertParameter="True" AllowLoadTemplate="True" AllowSourceMode="True" AllowSearch="True" AllowPlaceholders="True" AllowMacros="True" AllowAttached="True" textmode="MultiLine" Height="100%" Width="100%" runat="server" ID="edNoteHtml" DataField="NoteHtml" Style="border-width: 0px; border-top-width: 1px; width: 100%;"> In code, checking another field and enabling/disabling PXRichTextEdit field (noteHtml): protected void _(Events.RowSelected<SSPAgreementSection> e) { var row = (SSPAgreementSection)e.Row; if (row == null) return; if(row.Locked == true) { PXUIFieldAttribute.SetEnabled<SSPAgreementSection.noteHtml>(e.Cache, row, false);
Hi, We are trying to create a process similar to the Dunning Letter process for a client as it is unavailable in their current license level, and they understandably don’t want to upgrade just for a single feature. I have created a generic inquiry that finds all the customers with overdue invoices, and then created a business event that sends out reminder emails based on the records in the Generic Inquiry. The client would like this to function like processing screens such as Print Statements where they see a list of the customers who are overdue, tick a box next to the onces they would like to email, and then trigger the Send Email action. The closest I have gotten to this is shown in the images below. The first image shows how I have set up the Entry point of the Generic Inquiry to be the Invoices and Memos screen, and ticked the 'Enable Mass Actions’ checkbox. The second image shows how I have added the Send Email function to the Mass Actions tab. The third image, which is the final
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.