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 All,I want to track the time spent on support cases made by our clients in support portal. (According to service level agreement-SLA)PS-Currently we record the time manually. But we want to track time automatically through a running clock according to the status change.It should work as below,Once the case is taken (take case) by one of our team members and the case is open, an internal clock, should run until we close the case. If we put the case to pending customer status, clock have to be stop from our end and once the client is responding to case once again, and status change to updated clock have to run again till we close the case.Furthermore, when we change the status of case to pending customer and if they(client) do not reply in two days (48 hours), an automatic email has to be sent to the client reminding them to reply to the case. This may be done using a business event, but I have no idea, how to map the time to Business Event.If anyone know the solution to this or use s
Hi, how can I schedule a report to be automatically generated and emailed to my customers whenever a new report is available based on specific dates? Additionally, the system currently only allows exporting the report in PDF or Excel format, but I need it in a text file. Is there a way to automate this entire process in acumatica Like using buisness events or any other thing? Or If I try using Python for this, will it cause any issues with Acumatica? Please guide me.
In T220 When Created Screen RS301000 when we publish it and then preview changes its showing Parameter Cannot be Null for VirtualPath but that Virtualpath is there.
I have customized purchase orders screen, add an extension to POLine DAC and add two fields. public class POLineExt : PXCacheExtension<PX.Objects.PO.POLine>{ #region UsrInventoryItemClassID [PXInt] [PXUIField(DisplayName="ItemClass")] [PXDBScalar(typeof( Search<InventoryItem.itemClassID, Where<InventoryItem.inventoryID, Equal<POLine.inventoryID>>>))] public virtual int? UsrInventoryItemClassID { get; set; } public abstract class usrInventoryItemClassID : PX.Data.BQL.BqlInt.Field<usrInventoryItemClassID> { } #endregion #region UsrInventoryItemClassCD [PXString(32)] [PXUIField(DisplayName="Item Class Description")] [PXDBScalar(typeof( Search2<INItemClass.itemClassCD, InnerJoin<InventoryItem, On<InventoryItem.itemClassID, Equal<INItemClass.itemClassID>>>, Where<InventoryItem.inventoryID, Equal<POLine.inventoryID>>>))] public virtual string UsrInventoryItemClassCD { g
Hi,I have a question. I have multiple tabs in my screen, also all the tabs have different table. ( multi-DAC Scenario) and when I have use PXOrderedSelect on the multiple tabs so that I can perform drag and drop on tabs., but still it works for single tab only.As you mentioned in above solution that PXOrderedSelect can be use for multi-DAC scenario, but in my case it is not working.Any suggestion or solution for PXOrderedSelect to be worked for multiple tabs. Thanks,Dhruv
Hey all trying to modify the ScanMove Screen in two ways;Combine the Production Order ID and the Operation ID in a single scan. Currently you are prompted first for the production order id then for the operation id. So the change would be to maybe add a new scan item that parses to the two fields and then skips the two fields after populated, or anything that would combine the two. Don’t care just need it to work Add the Scap quantity into the grid on scan move. Its not there. Its there on the move screen but we forgot that one for some reason. Both of these tasks sound very simple but access to everything in the Automated Warehouse Operation Engine it is not. Everything seems to be in a sealed class or so far abstracted down the line that I can’t get to it. Examples are skimpy to say the least and none Add a new barcode scan item (there is one that you add a cancel button scan but thats not what I am looking for). Injection is used to modify code and I can change the order of
Hi all,I’m trying to set up an email template for our users so when they receive a Task notification, there is a direct link to the Task for tasks listed on ScreenId=EP4040PLI have this dynamic link in the body of the email:((GeneralInfo.NotificationSiteUrl))/Main?ScreenId=CR306020&NoteID=((PMTimeActivity.NoteID)) However, PMTimeActivity.NoteID doesn’t pull the specific note.When I drill down into a specific Task, here’s what the NoteID looks like in the URL:How do I dynamically load a specific task using something like ((GeneralInfo.NotificationSiteUrl))/Main?ScreenId=CR306020&NoteID= Thanks!
Hi Guys,I am working with 23R2.I have encountered an error where my custom action, in an extension of the MoveEntry graph, gives me the error:Cannot insert duplicate key row in object 'dbo.PressGlueLogHeader' with unique index 'PressGlueLogHeader_NoteID'. The duplicate key value is (b74bff6a-8e54-ef11-af2d-b81ea4b981b6, 2).The statement has been terminated.Below is my MoveEntry Extension:public class MoveEntryQCExt : PXGraphExtension<MoveEntry>{ public static bool IsActive() => true; #region Actions public PXAction<AMBatch> StartQCChecks; [PXButton] [PXUIField(DisplayName = "Start QC Checks", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)] protected virtual IEnumerable startQCChecks(PXAdapter adapter) { var moveEntry = PXGraph.CreateInstance<MoveEntry>(); if(moveEntry == null) { return adapter.Get(); } var qcEntry = PXGraph.CreateInstance<GCQualityControlEntry>()
Hi there, I have a requirement to read the Production Order Nbr. from Excel file and update the Select checkbox accordingly. I tried adding a ‘Load Records from File’ function to Release Production Orders screen by setting the ‘Allow Upload’ in Customization Project Editor to true and extended the graph by adding the PXImport as shown below:public class ReleaseOrd_Extension : PXGraphExtension<ReleaseOrd> { public PXCancel<AMBatch> Cancel; [PXImport] [PXFilterable] public PXProcessing<AMProdItem, Where<AMProdItem.statusID, Equal<ProductionOrderStatus.planned>, And<AMProdItem.hold, Equal<False>, And<Where<AMProdItem.function, Equal<OrderTypeFunction.regular>, Or<AMProdItem.function, Equal<OrderTypeFunction.disassemble>>>>>>> PlannedOrds; public PXSetup<AMPSetup> ampsetup; } However when I tried to upload the Excel,
Hi,I have recently set a client’s AR Aging report to display by Document Date, as shown in the second image below. However, in the AR Aging report, they have noticed that credits are still showing in the current column when they should be showing in a different column. For example, the image below shows how both the credit and invoice have the same document date. However, the credit is sitting in the current column and the invoice is in the last column. Is there a reason why credits would be sitting in the Current column? I was thinking it could be because they were not yet applied to an invoice, but wasn’t sure if this was the case. If these credits are in fact displaying in the wrong column, what would you recommend I change in the AR Aging report to amend this? Kind regards,Andrew
I have been asked to create an Activities tab on the Service Orders screen. The customer doesn’t need everything that is on the Projects Activities tab, but I thought it would be a good place to start.There are several Acumatica screens that have an Activities tab. I’ve looked at the graphs for them and they each point to their own respective tables. It doesn’t look like there is a default table(s) that is used to house Activities. The ASPX looks very similar in them, but the code to drive them is definitely different.I can only imagine that the Activities tabs on the various Acumatica screens utilize common code for events. It seems like if I add the ASPX from one of the existing screens and tweak it to remove the things I don’t need, I would still have to create my own SQL tables and DACs for this. I am at the “can this be done reasonably easily” phase. I need to know if this is a feasible thing to do so I can go back to the customer and give them a quote for the project. I d
Hi All,Are there any guidelines/recommendations around custom DB Triggers in Acumatica tables that would help me assess whether it is a good or bad idea to add them?I have another team at my company that develops custom web application that integrates with Acumatica.They need fast sync of data from and to Acumatica, and they have already built a process that relies on LastModifiedDateTime of a record (such as SOOrder, SOShipment, InventoryItem, etc).What they don't like is that LastModifiedDateTime seems to be calculated by the code, not assigned by SQL, and this makes rear cases when record updated later can get LastModifiedDateTime which is not the most recent one.To "overcome" this issue they want to add new custom DateTime fields in Acumatica tables and add triggers that will populate them as soon as update/insert has happened.I’m looking to hear from community about pros and cons of this type of changesBest regards,Andrey
Need to add a new column to the Details tab of the purchase orders screen and display the item class (ItemClassID) in it. item class belongs to InventoryItem DAC. in the Details tab use a View called Transactions, but that View didn’t contain the InventoryItem DAC,public PXOrderedSelect<POOrder, POLine, Where<POLine.orderType, Equal<Current<POOrder.orderType>>, And<POLine.orderNbr, Equal<Optional<POOrder.orderNbr>>>>, OrderBy<Asc<POLine.orderType, Asc<POLine.orderNbr, Asc<POLine.sortOrder, Asc<POLine.lineNbr>>>>>> Transactions;so, I need to override this, View. I just need to add this column to the Details tab, other functionalities should keep same. I create a Graph extention and create a View with same name, Transactions as bellow. public PXSelectJoin<POOrder, InnerJoin<POLine, On<POLine.orderType, Equal<Current<POOrder.orderType>>, And<POLine.orderNbr, Eq
Hello,I have created some custom validation fields that are specific to an order. When I conducted my testing, it brings these fields over. I figured out how to disable the native ‘Copy/Paste’ functionality, lots of good information here from the community on that, however, sales orders have one other option- ‘Copy Order’ action. I have tried field defaulting, field updating, and row inserted event handlers. None of them trigger to nullify my target fields. I have looked through the source code and tried to attach to the IsCopyOrder attribute, which I think would work- but I don’t think any of the events are firing.. any help would be great. One of the ways I have tried doing it below- it prevents the Copy/Paste perfectly, but no luck with the IsCopyOrder side of it. protected void SOOrder_UsrBlyReviewedBy_FieldUpdating(PXCache cache, PXFieldUpdatingEventArgs e) { if (e.Row is null) return; var row = (SOOrder)e.Row; if (Base.IsCopyPasteCo
Hello all,I have a need to override “OnPersisted” method (actually I don’t to be called at all) in a drived class from EPApprovalList (a few level of inheritences) but no matter what I do it still gets called. First I tried to override the method itself. The override method in my custom class gets hit when I trace. In my override I just have one command which is “return” but still the code in the base class somehow gets executed (I am guessing because it is in fact an event handler so the base code is already executed when gets to the override). So I decided the remove the handler when class is initialized. I took two approaches to remove the handler. the codes seems to be executed successfuly as when I trace I do not receive any error and it seems to dp what I want but again I am not sure why still “OnPersisted” methods gets executed. Long story short how I can prevent this method from being executed. Here is the related portion of the drived class I have.using System;using System.Col
Hello Community, I am working on a project to create a sales order based off of a receipt (RMA) of a shipment. I am relatively new to Acumatica Development side and just had a few questions. I believe I have my action added and code that will create the SO document and I am ready to populate those objects, however, I am unsure on how to reference the data in the shipment record. I essentially need to copy the line items to a sales order with the transfer type. How would I reference the shipment record in the code below? Thanks in advance. I understand the code below may not be accurate, but I am mostly just noodling through this as I learn much better through doing and then fixing my mistakes as I go. public class SOShipmentEntry_Extension : PXGraphExtension<PX.Objects.SO.SOShipmentEntry> { #region Event Handlers public PXAction<PX.Objects.SO.SOShipment> CreateTransferSO; [PXButton(CommitChanges = true)] [PXUIField(DisplayName = "Create Tr
Hi All, I have created a new grid screen which uses the same SOLine DAC and used views are as follows.public PXSave<SOLine> Save;public PXCancel<SOLine> Cancel;[PXFilterable]public PXSelectJoinOrderBy<SOLine, InnerJoin<SOOrder, On<SOLine.orderType, Equal<SOOrder.orderType>, And<SOLine.orderNbr, Equal<SOOrder.orderNbr>>>, LeftJoin<InventoryItem, On<SOLine.inventoryID, Equal<InventoryItem.inventoryID>>, LeftJoin<AMProdItem, On<PX.Objects.AM.CacheExtensions.SOLineExt.aMProdOrdID, Equal<AMProdItem.prodOrdID>>, LeftJoin<AMBomItem, On<AMProdItem.bOMID, Equal<AMBomItem.bOMID>, And<AMProdItem.bOMRevisionID, Equal<AMBomItem.revisionID>>>, LeftJoin<AMBomOper, On<AMBomItem.bOMID, Equal<AMBomOper.bOMID>, And<AMBomItem.revisionID, Equal<AMBomOper.revisionID>>>>>>>>, OrderBy<A
I’m trying to understand the relation between SOLine and SOLineSplit. Especialy what is the logic behind setting IsAllocated true or false. If I see a record in SOLineSplit with IsAllocated true what it really says.Thank you
Hi,I created a graph extension for the Inventory Adjustment window, but when I try to extend the AddInvSelBySite action, I don’t find it in the class. This class inherit from the INRegisterEntryBase class. How I can extend this action? I need to get the selected records and the quantities from the Inventory Lookup before the system clear the cache. Thank,EV
I have a custom screen I am using to attempt to update serial numbers in Acumatica. When the items are received, the customer doesn’t know the actual serial number at that time. We are autogenerating a TEMP number.I have to TRY to update about 6 tables to change the S/N. Some of those tables have the S/N as a key field or a foreign key field, so I don’t know if I will even be able to do this.However, when they click Save, I want to completely override the Save action by overriding the Persisting method. I do not want to even call the base method. This is my screen:This is my code:public class SerialNumberUpdate : PXGraph<SerialNumberUpdate>{ [PXOverride] public virtual void Persist(Action baseMethod) { using (PXTransactionScope ts = new PXTransactionScope()) { baseMethod(); //MY STUFF ts.Complete(this); } //UpdWorkOrder.Cache.Persisted(false); } public PXSave<Filter> Save; public PXCancel<Filter> Cancel; public PXFilter<Filter> FilterView; public
Hello everyone.Today I want to share with you a step-by-step guide on how can you set up an Approval flow for your custom DACs or a custom Approval screen for standard DACs (which already support Approval flow).If you are using standard DACs - you can skip the first 2 chapters and go to Add approval views to your graph chapter right away. Create Assignment MapTo make your setup DAC able to configure the approval process, you add the IAssignedMap interface and implement the required fields: using PX.Data;using PX.Data.BQL;using PX.Objects.EP;using PX.SM;namespace Sprinterra.ApprovalHowTo{ [PXCacheName("Setup")] public class Setup : IBqlTable, IAssignedMap { // Approval configuration #region IsActive [PXDBBool()] [PXDefault(false)] public virtual bool? IsActive { get; set; } public abstract class isActive : BqlBool.Field<isActive> { } #endregion IsActive #region AssignmentMapID [PXDBInt] [PXSelector(t
Hi All, I've gone through the I300, I310, I320, and I330 PDFs and have a decent grasp of the API. I am the only person in my Org who will be working on implementing functionality using the REST API. Are there any features or modules that my admin should enable for development purposes? I have access to customizations so I can see the Element Properties when I hold down ctrl + alt. I have access to the DAC Schema Browser. I can see all of the Endpoints available. I have referenced the swagger endpoint docs. Is there anything else I should have access to or should review? One example of a problem i’ve run into is understanding what arguments are required when hitting an endpoint. For example the endpoint action bills/releasebills I was able to eventually figure out that I needed to pass the api call in this format:{“entity”: { “Type”: {“Value”:”Bill”}, “ReferenceNbr”: {“Value”: “123”}}} Where can I reference what each endpoint is expecting? Thank you
I’m working on a modification on Payment Screen (AR302000) “DOCUMENT TO APPLY” grid. I need to to populate data into a another call when user selects Reference Nbr. What should be the best event to handle here?Please refer the image below:Thank you
By default, Json responses of a web Service end points looks bellow.{ "id": "9c089d8c-086c-ee11-8358-06c5a29671a4", "rowNumber": 1, "note": { "value": "" }, "BaseCurrencyID": { "value": "USD" }, "Branch": { "value": "GRITIRES" }, "ControlTotal": { "value": 14800.0000 }, "CurrencyEffectiveDate": { "value": "2023-03-15T00:00:00+00:00" }, "CurrencyID": { "value": "USD" },I need to format it as below { "id": "9c089d8c-086c-ee11-8358-06c5a29671a4", "rowNumber": 1, "note": "", "BaseCurrencyID": "USD", "Branch":"GRITIRES", "ControlTotal": 14800.0000, "CurrencyEffectiveDate": "2023-03-15T00:00:00+00:00"}and i need to customize the request body format also as above. is it possible in Acumatica ERP?
Hi Everyone,In the Shipments screen, I have introduced a new custom field i.e ShipmentNbr (Text Field) to scan the Shipment Barcode. In the Desktop, when we enter a value in the ShipmentNbr custom field, then in the field updated event, I’m updating the value in the actual Shipment Nbr field and details are loading properly. (Please find the screenshot for your reference). Where as in Mobile, when we try to scan the Shipment Nbr using Custom Field (Barcode scanner field), it is scanning successfully but not updating the value in the Shipment Nbr (Default Acumatica field). Can you please help me with this? add screen SO302000 { add container"ShipmentSummary"{ add field"ShipmentNbr"{ special = BarCodeScan } add field"ShipmentNbr_" add field"Type" add field"Status" add field"Operation" add field"ShipmentDate" add field"Customer" add field"Location"{ special = BarCodeScan } add field"Workgroup" add field"WarehouseID" add field"Owner"
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.