Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
Hello All,I have a very simple list grid with one DAC is assigned to it. The DAC only has one Key Field and it is correctly defined. My data loads correctly without any error. The Row Selected event is fired when initially page is loaded. The problem I am facting is that the RowSelected event is not fired when I chnge row. below is the page.<%@ Page Language="C#" MasterPageFile="~/MasterPages/ListView.master" AutoEventWireup="true" ValidateRequest="false" CodeFile="HC3080DB.aspx.cs" Inherits="Page_HC3080DB" Title="Untitled Page" %><%@ MasterType VirtualPath="~/MasterPages/ListView.master" %><asp:Content ID="cont1" ContentPlaceHolderID="phDS" Runat="Server"> <px:PXDataSource ID="ds" runat="server" Visible="True" Width="100%" TypeName="HCL.Custom.Stockmeister.HCLEPEmployeeTrainingMaint" PrimaryView="EmployeeTraining"> <CallbackCommands> <px:PXDSCallbackCommand Name="Save" CommitChanges="True" /> </CallbackCommands> </px:PXDataSour
Hello Community! I had a question on how to create a shipment with multiple SOs attached through code in a processing screen. My main processing table is SOLine and the code I am attempting is below. This is for a transfer shipment which is why I have no customer ID. The shipment gets created without issue but no line items populate. My trace shows the loop through SOShipmentPlan finding the SOs I am selecting to add but I seem to be missing something. public static string TransferShipment(SOOrderEntry orderEntry, SOShipmentEntry shipment, List<SOLine> lines, string sOShipmentType, string operation) { PXTrace.WriteInformation("1: Building shipment"); string shipNo = String.Empty; List<SOShipmentPlan> plan = new List<SOShipmentPlan>(); PXTrace.WriteInformation("0: "); SOShipment trShipment = new SOShipment() { ShipmentType = sOShipmentType }; trShipment = shipment.Document.
When using the Scan and Count on the mobile app, currently I scan the PI number, then the location I am counting, then the inventory ID and then the count. After that, it is asking for another Inventory ID. But the counting I am trying to do needs a new location becuase I have counted all of the expected inventory in that location. The only thing I see right now is to confirm the count, then start over at scanning the PI again. What I would like to do is mirror the Scan and Transfer that would just ask for the next location to count instead of having to start the PI over. I have not really seen any documentation on editing workflows.
Sample URL https://acumatica/(W(6))/Main?ScreenId=SO301000&OrderType=QT&OrderNbr=000455&Company=C20125 I want to get the Company from the url into the row inserting event
I’m Implementing a custom Material request note (MRN) screen. Now I need to add a custom button to Production orders screen which create a MRN based on that production order. currently it gives the Object reference not set to an instance of an object. error. I have added few if conditions to check the null values, but it did not hit any if condition. Following is my Action code public PXAction<AMProdItem> CreateMRN; [PXButton(DisplayOnMainToolbar = true, CommitChanges = true)] [PXUIField(DisplayName = "Create MRN", Enabled = true)] protected virtual IEnumerable createMRN(PXAdapter adapter) { // Populate a local inventoryItemList variable. List<AMProdMatl> inventoryItemList = new List<AMProdMatl>(); foreach (AMProdMatl inventoryItem in adapter.Get<AMProdMatl>()) { inventoryItemList.Add(inventoryItem); } if(inventoryItemList.Count == 0) {
I trying to create a new Action on the Appointment screen. when I add the following code it to the graph extension it gives following error messages. But i have add the dll references to the project.Reference to type 'PXBqlTable' claims it is defined in 'PX.Data', but it could not be found customization packageReference to type 'IBqlTableSystemDataStorage' claims it is defined in 'PX.Data', but it could not be found customization package public PXAction<FSAppointment> CreateMRN; [PXProcessButton] [PXUIField(DisplayName = "Assign", Enabled = false)] protected virtual IEnumerable createMRN(PXAdapter adapter) { bool isMassProcess = adapter.MassProcess; Base.Save.Press(); PXLongOperation.StartOperation(this, delegate () { }); return null; }when I am investigating the issue, changed the DAC name to FSAppoinment to ARInvoice then it works.I delete the PX.Data.dll from the bin
In my graph extension, if I loop through the items in a cache, I get a set of items I can view. When I loop through a View based on that cache, there are more items than what are in the cache. I guess I don’t understand the mechanics of the cache.In the code below, when a user updates a record in the CSAnswers cache, I loop through all the attributes in the View and check to see which item is being updated in the RowUpdating event handler. I do some validations, and I set some variables. I am checking to see if TWO of the attributes have values that I will use to do some calculations, then update TWO other attributes with the results of those calculationsAt the end, if the two attributes used to do the calculation have valid values, I loop through the View AGAIN, to update the other two attributes that store the results of the calculations. When I find the attribute that needs updated, I set the cache value to that calculated amount. When I refresh the grid, the screen shows my u
I have created a custom screen with two tabs. But its appearance is different. and Details tab did not show the rows. I tried few times by creating the whole screen again. But end up same result.Following is my aspx page <%@ Page Language="C#" MasterPageFile="~/MasterPages/FormDetail.master" AutoEventWireup="true" ValidateRequest="false" CodeFile="MR300000.aspx.cs" Inherits="Page_MR300000" Title="Untitled Page" %><%@ MasterType VirtualPath="~/MasterPages/FormDetail.master" %><asp:Content ID="cont1" ContentPlaceHolderID="phDS" Runat="Server"> <px:PXDataSource ID="ds" runat="server" Visible="True" Width="100%" TypeName="MRN_Cust_V01.MRMaterialRequestNoteEntry" PrimaryView="MaterialRequestView" > <CallbackCommands> </CallbackCommands> </px:PXDataSource></asp:Content><asp:Content ID="cont2" ContentPlaceHolderID="phF" Runat="Server"> <px:PXFormView ID="form" runat="server" DataSourceID="ds" DataMember="MaterialR
Hi there,I have a question: why is the customer inactive but still able to be looked up and selected in the request screen, while in the sales order screen, it does not appear in the lookup table?
Hi,I have a small customisation to populate a few custom fields on PO505000 that works but I have a question on whether this is the most efficient way to achieve the outcome (from a database perspective).The custom fields are highlighted below: Trans Desc is the TransDesc field from SOLineDescription and Reference are the OrderDesc and CustomerRefNbr fields from SOOrder The code in place to achieve this is shown below: My question is this:After the Unwrap statements on lines 41 and 42, the soOrder and SoLine objects are populated with sum data but no others. How is this controlled?At line 43 the 3 fields I’m wanting to source are null. So, as a work around I am explicitly querying the database to retrieve all the SOLine and SOOrder. This results in a lot of additional queries, and this is what I’m looking to avoid.The DAC extension I’m using is: Thanks in advance for any advice,John
Acumatica has released an option on how to search which can be configured in Site Preference. We are trying to look for a way to change the search method locally. For example, the setup above would change how we search everywhere in Acumatica. I was wondering if we can change the way we search only for inventory items when creating Sales Order with “Contains” which override the existing setup to search “Starts with”. Thanks a lot in advance.
When I publish customizations to multiple tenants, it gets through the validation stage, during the publish the browser crashes and I get this screen? Any idea how I can look into this issue?
For Appointment screen (Screen ID: FS300200) we added two fields in details tab.This is working fine on web.I wants to add it it in mobile app (next to Target Equipment ID).I tried various code but none of this working (no error - new field not visible)update screen FS300200 { update container "Details"{ update group "TargetEquipmentGroup"{ update layout "EquipmentLine" { add field "UsrBuilding" { displayName = "Target Equipment Building" placeAfter field "TargetEquipmentID" } add field "UsrFloor" { displayName = "Target Equipment Floor" placeAfter field "TargetEquipmentID" } } } }}andupdate screen FS300200 { update container "Details"{ update group "TargetEquipmentGroup"{ add layout "EquipmentDetails" { displayName = "EquipmentDetails" layout = "Inline" add field "UsrBuilding" { displayName = "Target Equipment Building" } add field "UsrFloor" { displayName = "Target Equipment Floor" } } } }}FSAppointmentDet DAC extend for U
I’ve been asked to provide an estimate for a new customization. I’ve done several advance things in Acumatica but this one I’m wondering if a) is this possible? and/or b) should it even be attempted?They want to use Matrix Items with 8 attributes in a template. They want to be able to add cost/labor to each attribute value and have the price calculated during entry and saved directly to AR prices when item is createdAdd custom fields to Attribute values: Use these values to calculate a price during matrix entry: This does not look like traditional graph extension with overrides. I’ve tracked down some code PX.Objects\IN\Matrix\GraphExtensions\HeaderAndAttributesExt.cs which looks like where the fieldupdating event is being hooked up to each attribute value but I can’t see a way to sub-class or extend this abstract class.I guess I’m at the point where I just need to hear if this is a fools errand and/or if there is some other possible way to accomplish this. Customer does not want/
I Create a new screen called material request note. I need to add a numbering sequence to its ref Number field.Firstly’ a numbering sequence was created as bellow.Then add a field to Inventory preferences and set its value to required numbering sequence ID // Acuminator disable once PX1016 ExtensionDoesNotDeclareIsActiveMethod extension should be constantly active public class INSetupExt : PXCacheExtension<PX.Objects.IN.INSetup> { #region UsrCustomField [PXDBString(15, IsUnicode = true, InputMask = "")] [PXUIField(DisplayName = "Material Request Note Num Sequence", Required = true)] [PXSelector(typeof(Numbering.numberingID), DescriptionField = typeof(Numbering.descr))] public virtual string UsrMaterialRequestRefNbr{ get; set; } public abstract class usrMaterialRequestRefNbr: PX.Data.BQL.BqlString.Field<usrMaterialRequestRefNbr> { } #endregion } Finally, modify the RefNbr field in the DAC as bellow. public class MRMaterialRequest : IBqlTabl
Hello Community. I am working on a project to create shipment receipts through code and running into the error message “SO Error: Order RM 3034042 does not contain any items planned for receipt on '9/20/2024 12:00:00 AM'.” This only happens when calling the code, I can click the “Create Shipment Receipt” button from the front end without the same error. Below is how I am calling “CreateShipmentReceipt”. Any ideas?orderEntry.Document.Current = orderEntry.Document.Search<SOOrder.orderNbr>(s.OrderNbr, s.OrderType);orderEntry.Transactions.Current = s;adapter = new PXAdapter(new PXView(orderEntry, false, orderEntry.Document.View.BqlSelect));PXTrace.WriteInformation("Receipt 1.1: Checking if line needs receipt created");if (s.ShippedQty != s.OrderQty){ PXTrace.WriteInformation("Receipt 1.2: Begin receipt line creation"); orderEntry.Document.Current.ShipDate = filter.TransactionDate; orderEntry.CreateShipmentReceipt(adapter, filter.TransactionDate, s.SiteID); orderEntry.Docu
Hello,Is there a way via a customization to have a pop up confirmation window display when a user clicks the “Complete” button on the task screen?Thanks,Tyler
Hi Everyone,I am working on building a process screen that will allow us to update our customer-salesperson assignments easily. This information is stored in the CustSalesPeople table/DAC and has not been customized (according to the DAC schema). For some reason, I am able to delete the records that I need to, but I am unable to insert any new rows. I have tried both the Insert() and Update() methods, but neither seems to be working.I have verified that both AllowDelete and AllowInsert are true. The variable “graph” below is an instance of CustomerMaint.My deleting logic looks like this://Delete all the entries of CustSalesPeople for that customer PXResultset<CustSalesPeople> existingRecords = PXSelect<CustSalesPeople, Where<CustSalesPeople.bAccountID, Equal<Required<CustSalesPeople.bAccountID>>>> .Select(graph, accountToUpdate.BAccountID); foreach (CustSalesPeople record in existingRecords) { graph.Caches<CustSalesPeople>().De
Hello Community, I am working on the code below to generate a Shipment transfer and actually had a few issues. Anything look odd below that I can improve to get past these 2 issues? Note that some of the variables used are generated outside this block of code. The error generates on the “shipment.save.press()” according to my traces. Although I create the same transfer shipment the same way through the front end. Receiving error “CS Error: The document cannot be saved because the Shipping Address (Shipment Address) field in the database record that corresponds to this document is corrupted. Please try to save the document again. In case the issue remains, contact your Acumatica support provider for the assistance.” When saving in a custom processing screen. Cannot seem to get multiple transfer SOs added to the transfer shipment through the code. trShipment = new SOShipment() { ShipmentType = "T", Site
I have a customized workflow set up on SOOrderEntry and after doing work on a customization on that graph and DAC in another customization, the SO Order Entry screen crashes. If I unpublish the workflow customization project, no crash.I seem to recall a time when there was a coloured band across the top of the screen I could turn on to help debug workflows but I can’t seem to locate that now.The workflow customization was done all through the screen editor and not through coding so Visual Studio isn’t being of much help.I’d rather get the customization project running than to change course from my todo list and write it up in code.How do I debug a workflow error?
I have a custom selector created in the sales order line as below, which is a selector that filters the values from a custom table based on the UOM selected on the sales order line. (UOM selected filters the corresponding matching WeightUOM field in the custom table and displays selector values)[PXDBString(500, IsUnicode = true)] [PXSelector( typeof(Search<MWTPackagingOptions.packageDescription>), typeof(MWTPackagingOptions.packageDescription), typeof(MWTPackagingOptions.weightUOM), DescriptionField = typeof(MWTPackagingOptions.packageDescription) )] [PXRestrictor( typeof(Where<MWTPackagingOptions.weightUOM, Equal<Current<SOLine.uOM>>>), "The selected packaging option is not valid for the UOM on this sales order line." )] [PXUIField(DisplayName = "Package Type")]This works but if I update the UOM how can I ensure the selector is automatically refresh
Hi everyone, i cannot find any upload mechanism to upload my icon for the workspace….and is there any standard size icon which i must use?Thank you
I added my ICCProcessingPlugin in the R2 instance that was working on the R1 instance. When I try to create a Processing center I am not seeing the plug in I created as an option (see screen shot) would anyone be able to advise?
Hi I have 2 requirements,Copy Custom Field Values from Shipment Line to Invoice Line (SOShipLine → ARTran) Copy Custom Field Values from Purchase Order Header to Purchase Receipt Header (POOrder → POReceipt) How can I implement this? Is there a way I can use PXOverride and update the fields on invoice line creation and purchase receipt creation.For example this is an implementation I did for copying field values from sales order header to shipment header screen.public delegate void CreateShipmentDelegate(CreateShipmentArgs args); [PXOverride] public void CreateShipment(CreateShipmentArgs args, CreateShipmentDelegate baseMethod) { // Call the original method to ensure default behavior baseMethod(args); // Retrieve the current shipment and order SOShipment ship = Base.Document.Current; SOOrder order = args.Order; if (ship != null && order != null) { // Use the extensio
Hi,Im overriding action of creating shipment on sales order screen. I need stop execution of all processes.Is there any way I can stop execution of all processes in overrided action?I tried to usethrow new PXException(msg);but it only shows exception and continued execution.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.