Introducing Acumatica Cloud ERP: 2026R2
Technical discussions focused on Customizations for developers. See Low Code | No Code Forum for non-technical discussions
Recently active
As the title states, I am new to Acumatica.Where is the DACs documentation? I can’t find anything about BAccount, BAccount2, etc. In the same DAC extension, can I reference a different field in the selector query? For example, the user selects a customer and then I want to populate another field with that customer’s projects. Is it best practice to put each customization in its own “project”, i.e. I have a customization the SO screen and another for the PO screen. Should all customizations for the same screen be in the same “project”?
Hello everyone,I added the Shipments screen to the mobile app. There are only a few fields that we need in the mobile app. All of the fields show up in the app except Tracking URL. Here is the code: add screen SO302000 { add container "ShipmentSummary" { add field "ShipmentNbr" add field "Status" add field "Customer" add field "Location" add field "ShipmentDate" add field "Description" add field "Packages#BoxID" { special = AllowEdit } add field "Packages#TrackingNumber" add field "Packages#Carrier" add field "Packages#TrackingUrl" add recordAction "Save" { behavior = Save } add recordAction "Cancel" { behavior = Cancel } add recordAction "ConfirmShipmentAction" attachments { } }}Again, all fields show up except Tracking URL. I also tried changing the name to TrackURL and that didn’t work either. Any ideas?
Hi community, I’m trying to find a way to create a user on Acumatica using a Client REST API but I don’t find an endpoint for Users. I had an idea to created a generic inquiry pulling the SM.User table that contains all the user fields and information such as login, password, employee associated to the login credentials, etc. and created an Endpoint in the Web Service to get the information and it works to get the users. But what I’m intending to do is not just get the info, I want to create new users and modify the users information. Is any other way I can do this? Please see one example of the User Generic Inquiry: This is an example of the Web service endpoint that is connected to the Generic Inquiry. Latest, See how the if I use Postman to get the information, it works to pull data, but I want to find the way to push data to create or update. Thanks in advance for all your responses.
My apologies, I thought I solved this issue, but turns out only partially solved. I’ve created a new post with the full details. I would delete this original post, but don’t see how to.
Hello all!I’m looking into limiting the scope of transaction being evaluated by the Prepare Replenishment screen, Screen ID : IN508000. We’re doing this because we often have orders that are entered into the system well in advance, like 6 months or more in advance. This results in us storing product in a warehouse for months until the order comes to be Shipped, not reasonable. We would like the system to only look ahead one week from the current date of the preparation.I’m also learning how to create my own customization projects and think I’ve found the place and figured out the necessary changes, yet to be confirmed… Diving in head first ( note that I’m open to other options here ) I believe I need to extend the Business Logic ( a Graph Extension? ) for PC.Objects.IN.INReplenishmentItemCreate I’ve found two bql statements that I believe need to be modified…the first one from…PXFilteredProcessingJoin<INReplenishmentItem, INReplenishmentFilter, LeftJoin<INItemClass, On<INR
I have create duplicate screen using Purchase Order screen, everything work well but i am not able to change the error messages. How to change ‘Purchase Order instead of my screen name. Thanks,Arun.
Hi Team,In my screen there is a PXSelector control, Once I fill the relevant information and press the Save button or after save Press the Add new record button, that PXSelector values are not refresh. It only changes after manually refresh the web page by browser refresh button.Can someone help me out?UIDAC Field [PXUIField(DisplayName = "Vendor", Required = true)][PXDBInt] [PXSelector(typeof(Search2<BAccount.bAccountID, LeftJoin<HMRCVendorRegisterDetail, On<BAccount.bAccountID, Equal<HMRCVendorRegisterDetail.bAccountID>>>, Where<BAccount.type, Equal<BAccountType.vendorType>,And <HMRCVendorRegisterDetail.bAccountID, IsNull>>>),typeof(BAccount.acctCD),typeof(BAccount.acctName),SubstituteKey = typeof(BAccount.acctCD),DescriptionField = typeof(BAccount.acctName))][PXCheckUnique(typeof(HMRCVendorRegisterDetail.bAccountID))][PXDBDefault(PersistingCheck =PXPersistingCheck.NullOrBlank)]public virtual int? BAccountID { get; set; }public abstrac
I am new to Acumatica customization and have a Graph extension of the Sales order screen. I want to be able to read the latest currency rate when i click a custom action button.public class SOOrderEntry_Extension : PXGraphExtension<PX.Objects.SO.SOOrderEntry> { public PXAction<SOOrder> addItems; [PXButton(CommitChanges = true)] [PXUIField(DisplayName = "Add License Items", Enabled = true)] protected virtual IEnumerable AddItems(PXAdapter adapter) { var rowCount = Base.Transactions.Select().Count; var curInfoID = Base.Document.Current.CuryInfoID; var curRate = ????I want to create a variable of currency rate everytime the document currency is change
I’m trying to use the PutFile method (https://help-2020r2.acumatica.com/(W(8))/Help?ScreenId=ShowWiki&pageid=591def3d-5fe5-42c1-bb35-cfe5b4c77f6f)I am using version 23.109.0023 and here is my code: public async Task HandleAsync(WebhookContext context, CancellationToken cancellation) { using (var scope = GetAdminScope()) { try { if (context.Request.Method == HttpMethod.Post.Method) { using (var result = new JsonTextReader(context.Request.CreateTextReader())) { if (result.Read()) { JsonSerializer serializer = new JsonSerializer(); ObjectJSON test = serializer.Deserialize<ObjectJSON>(result); var bytes = Convert.FromBase64String(test.Value); StreamContent
Hi i cannot work out what i am missing. I want a warning not a stop message when an AP Bill is created/updated if the Total value is 0. It works but i cannot save the Bill with a zero as the error keeps presenting on save. I have tried Row Inserted but that triggers to early. public class APInvoiceEntry_Extension : PXGraphExtension<PX.Objects.AP.APInvoiceEntry> { #region Event Handlers protected void APInvoice_RowPersisted(PXCache cache, PXRowPersistedEventArgs e, PXRowPersisted InvokeBaseHandler) { if(InvokeBaseHandler != null) InvokeBaseHandler(cache, e); var row = (APInvoice)e.Row; if (row !=null && row.CuryLineTotal == 0) { throw new PXSetPropertyException("The document total is zero", PXErrorLevel.Warning); } }
I have 2 custom fields, Customer and Project, that are required. The second field is a selector that is dependent on the value that is in the first field.Customer Field: [PXDBInt] [PXDefault(PersistingCheck = PXPersistingCheck.Nothing)] [PXUIField(DisplayName = "Customer", Required = true)] [PXSelector(typeof(SearchFor<Customer.bAccountID> .In<SelectFrom<Customer> .InnerJoin<BAccount2> .On<Customer.bAccountID.IsEqual<BAccount2.bAccountID>>>), new Type[] { typeof(Customer.bAccountID), typeof(BAccount2.acctName) }, DescriptionField = typeof(BAccount2.acctName))] public int? UsrMOSCustomerID { get; set; } public abstract class usrMOSCustomerID : BqlInt.Field<usrMOSCustomerID> { }Project Field: [PXDBString] [PXD
Good day, I have a custom field to indicate if a voided payment is type non-sufficient fund, if it is, when I press release in the voided payment, I have to create a debit memo and redirect from the payment and applications screen to the invoice and memos screen. The problem is that if I try to redirect the screen, the voided payment does not release and does not save either, because the RedirectException interrups the process. Do you have any idea how can I make the transition from one screen to another having the voided payment released? invMemo.Actions.PressSave();throw new PXRedirectRequiredException(invMemo, true, "Invoice"); } return Base.release.Press(adapter); public virtual IEnumerable Release(PXAdapter adapter) { ARPayment row = Base.Document.Current; ARRegisterExt rowExt = PXCache<ARRegister>.GetExtension<ARRegisterExt>(row); var invMemo = PXGraph.CreateInstance<ARInvoiceEntry>();
Hi, I have a refresh problem with a container Link.When I open the container (PIPELINE & CRM) the first time, the values are good, if I go to another customer, the container (PIPELINE & CRM) takes over the data from the previous customer. When I add a record to the container the screen updates good. The screen works perffectly in the ERPThanks Xavier… Sorry for my english langage so poor ;) update screen AR303000 { update container "CustomerSummary" { add recordAction "save" update layout "CustomerHeader" { remove field "CustomerSummaryBalance#PrepaymentBalance" remove field "CustomerSummaryBalance#Balance" remove field "CustomerStatus" add field "CustomerSummary#PanierCumulé" add field "CustomerSummary#Sleeping" add field "CustomerSummary#Provenance" {forceIsDisabled = False} } update layout "OtherTab" { displayName = "CRM" add containerLink "PIPELINE" add containerLink "CRM" add container
I would like update the screen AR30300.When I open a customer, The field is disable, in the ERP, we can update the fieldThanks Xavier
@Naveen Boga solved this problem for me before on the SO Lines gridHowever, that was to enable native fields. I’m using the same logic to try to enable two custom fields on the GL entry details, but I am unable to make them editable.I’ve added what I think is the necessary code and changes to the workflow. namespace PX.Objects.GL{ public class JournalEntry_Extension : PXGraphExtension<PX.Objects.GL.JournalEntry> { #region Event Handlers protected void GLTran_RowSelected(PXCache cache, PXRowSelectedEventArgs e, PXRowSelected InvokeBaseHandler) { if(InvokeBaseHandler != null) InvokeBaseHandler(cache, e); var row = (GLTran)e.Row; if (row != null) { //Allowing caches to update with below code Base.BatchModule.Cache.AllowUpdate = true; Base.GLTranModuleBatNbr.Cache.AllowUpdate = true; GLTranExt glExt = PXCache<GLTran>.GetExtension<GLTranExt>(row); PXUIFieldAttribute.SetEnabled<GLTranExt.usrLoan&
Hello everyone!My apologies but I need your help again...I tried to debug the native code but couldn't run it on Acumatica 23R1. I'm wondering... Could you tell me if I'll need a new setup please?
I have a customization that creates a CSV file and stores that as an uploaded file in Acumatica.Is there a way to automate so that when that file is created that it will automatically be downloaded to a shared folder?Alternatively, is there a way I can connect to Acumatica via web api and have my external web api connection automatically download a file? (the file name varies based on the creation date)I tried setting Synchronization of File Maintenance, but that does not work the way I want it to.BTW, a second question is : In WHAT table are all uploaded files stored in Acumatica? Below is a screen shot I took of where I located the “name” of the files I want to automatically download from the [dbo].[UploadFile] table in Acumatica. However, I do not know where those actual files are stored and how to pull them down in an automated way. It is highlighted in the screen shot, and there are multiple files of this again, based on the date in the file name.(yes, I actually want to DL all
I am new to Acumatica and am struggling to get a selector working in the purchase order screen. I want to add a customer field to the screen in the header area. I have created a custom field and want to use a selector to allow the user to choose the customer for the PO. Here is the custom field: [PXDBString] [PXUIField(DisplayName = "Customer")] [PXSelector(typeof(SearchFor<Customer.bAccountID> .In<SelectFrom<MOSCustomerProject> .InnerJoin<BAccount> .On<Customer.bAccountID.IsEqual<BAccount.bAccountID>>>), new Type[] { typeof(Customer.bAccountID), typeof(BAccount.acctName) }, DescriptionField = typeof(BAccount.acctName), SubstituteKey = typeof(BAccount.bAccountID))]The issue that I am having is that the selector does not get pop
Hello, I’m trying to use UnBoundFormula to aggregate some values in a detail DAC and save the result to a custom field in a header DAC. Below is my extension to the qty field on the SOLineSplit DAC. I want get the sum of allocated lines, and write this to usrQtyAllocated on SOLineExt.public class SO_SOLineSplit_ExistingColumn : PXCacheExtension<PX.Objects.SO.SOLineSplit>{ [PXMergeAttributes(Method = MergeMethod.Append)] [PXUnboundFormula( typeof(Switch<Case<Where<SOLineSplit.isAllocated, Equal<True>>, SOLineSplit.qty>, decimal0>), typeof(SumCalc<SOLineExt.usrQtyAllocated>))] public Decimal? Qty { get; set; }}Below is the definition of the custom field on SOLine where I want to write the total.public class SOLineExt : PXCacheExtension<PX.Objects.SO.SOLine>{ [PXDBQuantity()] [PXUIField(DisplayName = "Qty Allocated", IsReadOnly = true)] [PXDefault(TypeCode.Decimal, "0.0")] public virtual Decimal? UsrQtyAllocated { get; set; } public abstrac
What I am looking to do is simple, I want to have a workspace item which, when clicked, opens an external URL I specify in the same tab.Note : I do not want the external website to be embedded in my Acumatica screen(The external website doesn’t support that).I’ve tried several different things, but none have quite worked.One approach I took is creating a new Screen and then adding in the below code to the aspx.cs code behind file’s Page_Load callback. This got me very close but there is a pesky popup message when I try opening the page before the redirect happens. protected void Page_Load(object sender, EventArgs e) { System.Web.HttpContext context = System.Web.HttpContext.Current; String url = "https://www.acumatica.com"; context.Response.Clear(); context.Response.Write("<script language=javascript>"); context.Response.Write(String.Format("window.open(\"{0}\",\"{1}\");", url, "_top")); context.Response.Write("</script>");
Hi All,I need to clear the grid and refresh the screen once all the grid data saved to the DB. Can someone help me out?Thanks
Hi Team,Can we create a Sales Quote without entering Opportunity ID ? Note: Acumatica Version 2020R1 Best Regards,NNT
I’m trying to figure how to take a base64 string and create an attachment on an appointment. I’ve been able to do this in postman but I’m not sure what the C# code would be to accomplish this. In this post: It talks about using WebClientHelper but I’m not sure what package that is from.
Hello,I am creating a customization that will help us automatically populate rows for a new service order. The row information will be based on the attributes that are in the service order type. I cannot find the primary key or foreign key that links the service order type to an attribute.Where would I look for this linked value? Thank you,Marco 😎
Hi, For RC Orders in Sales order Screen, Basically when we bring the values from “Invoice Filter” Action it brings inventory items with invoice Nbrs in SOLine. And it Sometimes displays errror message on Qty feild “The return quantity exceeds the quantity available for return for the related invoice line AR010261, FOODCHIP36. Decrease the quantity in the current line, or in the corresponding line of another return document or documents AR010308, AR010316 that exist for the invoice line”, i Have also created another Action button in the grid,that works excatly like invoice filter action, i can bring the inventory items with invoice id to the SOLine grid, But i cannot display the error message that is being displayed with “Add Invoice Action” , Upon doing some R&D, i came to know that the error message is being displayed from “MemoCheck()” Methrod of “SOOrderItemAvailabilityExtension” graph, Hear is the sample code public virtual bool MemoCheck(SOLine line, bool persis
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.