Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
There’s not a whole lot of information on adding the Add Items dialog/action to other screens. I see that the interface has been generalized to make it easy to implement the functionality across different screens. Just wondering if someone’s implemented it on another screen and has some advice or code they’re willing to share.
I have a POOrder object which contains both the ShipContactID and ShipAddressID. How do I obtain POShipContact and POShipAddress using either BQL or PXSelect?
Hello :)I’m trying to override the ReleaseClaimDetails method under the EPReleaseProcess graph using the code below. public delegate List<APRegister> ReleaseClaimDetailsDelegate<TAPDocument, TInvoiceMapping, TGraph, TAPDocumentGraphExtension>(ExpenseClaimEntry expenseClaimGraph, EPExpenseClaim claim, IEnumerable<EPExpenseClaimDetails> receipts,string receiptGroupPaidWithType, string transactionType)where TGraph : PXGraph, new()where TAPDocument : InvoiceBase, new()where TInvoiceMapping : IBqlMappingwhere TAPDocumentGraphExtension : InvoiceBaseGraphExtension<TGraph, TAPDocument, TInvoiceMapping>;[PXOverride]public List<APRegister> ReleaseClaimDetails<TAPDocument, TInvoiceMapping, TGraph, TAPDocumentGraphExtension> (ExpenseClaimEntry expenseClaimGraph, EPExpenseClaim claim, IEnumerable<EPExpenseClaimDetails> receipts, string receiptGroupPaidWithType, string transactionType, ReleaseClaimDetailsDelegate<TAPDocument, TInvoiceMapping, TGr
I have the SiteID, SiteCD (Warehouse ID), BAccountID. How do I grab the address information, using C#, from the Address table on the Warehouse (IN204000) page?
I need to handle a new status on ARIncoice for legacy reasons and added therefore a custom field called cegEStatus in a DAC extension of ARInvoice. [PXCopyPasteHiddenFields(typeof(cegEStatus))] public class ARInvoiceEIExtBase : PXCacheExtension<ARInvoice> { #region CegEStatus [PXDBString(50, IsUnicode = true)] [PXDefault(PersistingCheck = PXPersistingCheck.Nothing)] [PXUIField(DisplayName = "Electronic Status", IsReadOnly = true)] [EiStatuses.List] public virtual string CegEStatus { get; set; } public abstract class cegEStatus : BqlString.Field<cegEStatus> { } #endregion } This field was also added to AR301000.A new DAC has then been created to store the values assigned to the status of a given ARInvoice over time. public class EiInvoiceRegisteredStatus : IBqlTable { public static bool IsActive() => PXAccess.FeatureInstalled<FeaturesSetExt.cegEInvoicingOutgoing>() || PXAccess.FeatureInstalled<FeaturesSetExt.cegEInvoi
I’m trying to get the Warehouse name from Details in the SOShipment. I was able to get the integer ID using this:SOShipLine firstLine = Base.Transactions.SelectSingle(); The firstLine.SiteID has the ID but how do I get the SiteCD (name)?
I have been asked to set the default sort for the Inventory Transaction History screen to sort by Descending Date order. I found the following which does the job. The only problem is it breaks the hyperlinks for Reference Nbr. Clicking on Reference Nbr used to open the relevant Adjustment or Receipt but after adding this code they don’t work. They still look like hyperlinks and accept the click but no page pops up. Does anybody have any ideas why this happens and if there is a work around? Or if this is the wrong way to do this and there is a better way please let me know. namespace PX.Objects.IN{ public class InventoryTranHistEnq_Extension : PXGraphExtension<InventoryTranHistEnq> { #region Event Handlers public override void Initialize() { Base.ResultRecords.OrderByNew<OrderBy<Desc<InventoryTranHistEnqResult.tranDate>>>(); } #endregion }} Thanks for any help or advice, Phil
I tried this but I just get “Object reference not set to an instance of an object”:public PXSelectReadonly<SOOrder, Where<SOOrder.orderNbr, Equal<Required<SOOrder.orderNbr>>>> findOrder; [PXOverride] public void PostPersist(Action baseMethod) { baseMethod();SOOrder order = this.findOrder.SelectSingle((object)this.Base.OrderList.Current.OrderNbr);}
Hello @everyone,I would like to create a customization where I link sales orders of different types together and have this relationship accessible by displaying the related/linked order.I have created a custom order type PL which will be linked to the order type SO such that 1 SO order can be linked to more than 1 PL order.I have created 2 custom fields: a checkbox will appear to indicate that a SO order is available for linking and a selector field for PL orders to select the SO order to link to.I have also created a custom tab which will appear only if the order type is SO to display all PL orders linked to that specific SO order.This issue I have is a behaviour I have noticed where after I have linked the orders and selected the SO order that has a link, some parts of the screen show the most recently linked PL order while other parts show information on the SO order. When I refresh the screen, that PL order will be in focus. I have attached screenshot of this behaviour. I have al
Hi,I need to create a sales order invoice report below like that.Payment Reference and Advanced Payment Reference need to get from same field in ARPayment table.When Sales Order Invoice has Payment type I need to get ExtRefNbr field into payment Refernce column and When Sales Order Invoice has Prepayment type I need to get ExtRefNbr field into Advance payment Reference column How Can I get data from Report Builder.
Hello!I hope someone could help me with this issue:I’m working on a solution that creates a kit specification. I haven’t done any extensions for the kit specification DAC or Graph, I’m working with an stock 24R1 instance. However, when I save the record, I get this error:Cannot insert the value NULL into column 'NoteID', table '24R1.dbo.INKitSpecHdr'; column does not allow nulls. INSERT fails. The statement has been terminated.I haven’t came across this issue before… Usually, when I save a record I don’t have to care about genereting the noteID. Specially if its not a customized DAC and graph.Is there something I’m Missing? private static void ACUCreateKit(INKitSpecMaint kitGraph, USRMXCBOMSProduct productToSync) { kitGraph.Clear(); INKitSpecHdr kitSpec = new INKitSpecHdr(); kitSpec.KitInventoryID = productToSync.InventoryID; kitSpec.RevisionID = "WEB"; kitSpec.Descr = productToSync.MPlaceName + " - " + productToSync.MPlaceT
Hello everyone, I have a custom screen which uses the same view for multiple grids.I have converted the screen to the modern UI but only one tab actually has a grid:The others look like this:This is my html:<qp-tabbar id="CstPXTab13"> <qp-tab id="tabAssembly" caption="Assembly"> <qp-grid id="gridAssembly" view.bind="Details"> <field name="PressNo"></field> <field name="PressID"></field> <field name="Core"></field> <field name="BatchNbr"></field> <field name="StartTemp"></field> <field name="FirstTime"></field> <field name="LastTime"></field> <field name="FirstTime"></field> <field name="OpenTimeMin"></field> </qp-grid> </qp-tab> <qp-tab id="tabPressSettings" caption="Press Settings"> <qp-grid id="gridPressSettings" view.bind="Details"> <field name="Pressurepsi"></field> <field name="StartTimePres
I have code that opens a new tab to an external URL like this (builder.Uri is just referencing a url):throw new PXException($"Redirect0:{builder.Uri}$target=_blank")This fails on mobile. I assume maybe because the mobile browser doesn't recognize it? If so, does anyone know how to launch an external web app from the Acumatica mobile app?
I have a new processing screen set up with a column for OrderNbr. The view is created from: public SelectFrom<SOOrder> .LeftJoin<Note>.On<SOOrder.noteID.IsEqual<Note.noteID>> .Where< SOOrder.orderType.IsEqual<wOOrderType> .And<SOOrder.shipVia.IsNotLike<intlShipVia>> .And<SOOrder.shipVia.IsNotLike<dropShipStart>> .And<SOOrder.status.IsEqual<SOOrderStatus.open>> .And<SOOrder.ownerID.IsNull> .And<Note.noteID.IsNull .Or<Note.noteText.IsNull> .Or<Note.noteText.IsEqual<Empty>> .Or<Note.noteText.IsLike<signatureWaived>>> .And<SOOrder.curyOrderTotal.IsLessEqual<orderTotalMaxSpend>> .And< SOOrder.paymentMethodID.IsIn< paymentMethodAFFIRM, paymentMethodPAYPAL, paymentMethodAFTERPAY, paymentMethodCCARD>
Hi everyone,I’m new to Acumatica, i made a custom processing form, the grid of this from contains soLines fetched using this code: public PXFilteredProcessingJoin<SOLine, SOFilter, InnerJoin<InventoryItem, On<SOLine.inventoryID, Equal<InventoryItem.inventoryID>>, Where<Current<SOFilter.orderType>, IsNull, Or<SOLine.orderType, Equal<Current<SOFilter.orderType>>>>, And<Where<Current<SOFilter.inventoryItem>, IsNull, Or<SOLine.inventoryID, Equal<Current<SOFilter.inventoryItem>>> SOLineFiltered;I set the DataMember for the grid to SOLineFiltered, and the records were fetched successfully.the problem is that the filter fields are not working, when i choose IN for example as ordertype and 11111 as inventoryID the grid is not updated.can anyone help me on this?
Hello all,I have been working on a DB where I am looking to add the parameter’s default value = @me. But it triggers an error - not accepting @me value. is this a bug? As of now I needed to add the parameter in individual widgets.Also I am trying to add a parameter where if the parameter is empty it should take the value as @me.version - 24R1 Thanks in advance.
Hi there! Right now we are printing Shipping label on Pick, pack and Ship screen using devicehub. We added the Shipment Confirmation so that it will print as well along with the shipping label, but it will only print when we use 2 separate printer for each of the forms. Can we print both of the Shipping Confirmation and Shipping label using devicehub on the same printer at the same time?
Hello!I’m trying to do a generic inquiry that shows me the sales order and the qty on hand, but some lines repeats.Can you help me?Thanks a lot!
Hi Experts,We are currently exploring the development of an add-on for customer-specific pricing in Acumatica. While Acumatica offers robust pricing capabilities, it does not provide native functionality for pricing based on specific customers. After reviewing other ERP software, such as Sage 300, we noticed that they have dedicated screens for managing contract pricing specific to individual customers.Considering this, we believe it would be a valuable idea to develop an add-on that extends Acumatica's pricing capabilities to include customer-specific pricing.Your insights and suggestions are highly appreciated. Regards,Sweta
I have the following code set up which prints to a specific hard coded printer name on the devicehub. I’m stumped as to how to create the selector to get a list of printers from the devicehub. This is what I have so far which doesn’t work correctly as clicking on the selector gives an error: Object reference not set to an instance of an object. The code is below:using System;using PX.Data;using PX.Objects.SO;using PX.Data.BQL.Fluent;using PX.TM;using PX.Common;using System.Collections.Generic;using PX.Objects.CR;using PX.SM;using PX.Reports;using System.Threading.Tasks;using System.Threading;namespace PPCustomOrderProcess{ public class AIProcessOrdersCust : PXGraph<AIProcessOrdersCust> { [PXString] [PXUIField(DisplayName = "Printer")] [PXSelector( typeof(Search<SMPrinter.printerID>), typeof(SMPrinter.printerName), typeof(SMPrinter.description), SubstituteKey = typeof(SMPrinter.printerName), DescriptionField = typeof(SMPrinter.d
Related to this postI am working on setting the attributes on a service order when creating a service order from an opportunity by pulling what is set on the opportunity. I have gotten it to set the value and work as long as you click “Create and Review”, and then save. The problem is when you click create, the cache is lost and the value does not save. I then tried adding the Persist action to my code, but was getting the error that the attribute value cannot be empty. There was very clearly a value being set because I didn’t modify any other code.I came to find out that if the attribute is required, it can’t save, but if the attribute is not required, it can save and the code works fine. It seems like, it is pulling the default value set for the attribute under the service order type, then saving, then getting my value and saving on top of that because if I set it required with a default value specified, it also works. When it is required and no default value set, it tries to save a
We would like to have our attribute that is listed on the opportunity to transfer over to the service order when it is converted. It is the exact same attribute defined for both the service order and the opportunity and it should transfer over. I have done some digging on here and have found this to override the CreateSrvOrdDocument action and then found this solution by @Vignesh Ponnusamy to update attributes if they are User-Defined fields. I can get that to work great, it’s just that our attribute is listed under the attributes tab instead. I then modified the code to see if I could access those attribute values. I have used the below codeusing PX.Data;using PX.Objects.CS;using PX.Objects.FS;using System.Collections.Generic;namespace PX.Objects.CR{ public class DialogBoxSOApptCreation_Ext : PXGraphExtension<SM_OpportunityMaint_DBox, SM_OpportunityMaint, OpportunityMaint> { public static bool IsActive() => PXAccess.FeatureInstalled<FeaturesSet.serviceManageme
I am trying to get a custom field (Absolute Variance Quantity in INPIDetail/INPIDetailExt) to get summed up and have that amount sent to a custom header (Total Absolute Variance Quantity in INPIHeader/INPIHeaderExt). The population of Absolute Variance Quantity works just fine, I’m just stumped by the process of having it update Total Absolute Variance Quantity.Here is my code so far:And as text:public class INPIReviewExtension2 : INPIHeader { //PXGraphExtension<PX.Objects.IN.INPIReview>, [PXFilterable] [PXImport(typeof(INPIHeader))] public SelectFrom<INPIDetail>. LeftJoin<InventoryItem>.On<INPIDetail.FK.InventoryItem>. LeftJoin<INSubItem>.On<INPIDetail.FK.SubItem>. Where< INPIDetail.pIID.IsEqual<INPIHeader.pIID.AsOptional>. And< INPIDetail.inventoryID.IsNull. Or<InventoryItem.inventoryID.IsNotNull>>>. OrderBy<INPIDetail.lineNbr.Asc>. View PIDetai
Hello. I execute a simple BQL query.SOOrderType orderType = SelectFrom<SOOrderType> .Where<SOOrderType.orderType.IsEqual<@P.AsString>>.View.Select(Base, tran.SOOrderType);I verified the BQL parameter returns “SO”However the results of the BQL is null. I verified that only 1 version of SO order type exists. I’m unsure why this happens.
We are using Device Hub to print our Pick Tickets. Pick Tickets have one parameter, ShipmentNbr and so when printed manually there is one Pick Ticket per shipment number and the PageOf variable works correctly when printed from the print action or when printing from the report pick ticket screen. However when printed from Device Hub it seems that the reports are being sent in batches and the page number isn’t resetting by the group so for example device hub prints 10 pickets with 15 pages and the pages all come out numbered page x of 15.I have tried resetting the page number in the footer of the group and setting the process order to Always and that did not work. Anyone have any ideas where to look next? I did read something about Common Settings in the report designer so I’m going to start there tomorrow. Any help is appreciated.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.