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 have renamed a screen via the site map, and that works fine for the main site. However, on mobile it does not update the page or the menu button, how would I make this change? Thanks
Hi I am trying to add the selector field and customized selector field for InventoryID selector in SOLine for mobile application.selector field customized selector field I tried to add the fields but I do not find these fields in under Details ComplexType in WSDL for SalesOrder.How can I add these fields to the mobile application.
I implemented in 22R1 this easy solution posted by Sharif Ahammad https://www.acumatica.com/blog/extending-attribute-searches-in-acumatica/.It works. However, when I try to filter by attributes I get the following error: I guess it has something to do with the null attribute values. Has anybody fixed this issue?
Helo, I want to ask about PXLongOperation.So I have 2 DataView, MasterView (tis view i use to input filter and parameeter)DetailsView (main view to show the data)Then I have genearte button to insert the data that I already processed to the DetailsView based on MasterView (parameter view). But the data not saved yet, just inserted to DetailsView.After that I have code to override persist like this below.But when this persist completed. The data on the MasterView is gone/blank. What I want is the data stil on MasterView still there, becouse the user will be generate again with the same parametersSo my idea is to set MasterView.Current = dataParam;but previously the dataParam is already is set from MasterView.Currentpublic override void Persist() { try { PXLongOperation.StartOperation(this, delegate () { base.Persist(); System.Threading.Thread.Sleep(TimeSpan.FromSeconds(5));
Hi all,I want to customize following view to filter SOOrders with Open Status. How can I do that?public PXSelectJoin<SOOrder,LeftJoin<Users, On<Users.pKID, Equal<SOOrder.createdByID>>, LeftJoin<SOOrderType, On<SOOrderType.orderType, Equal<SOOrder.orderType>>, LeftJoin<PX.Objects.GL.Branch, On<PX.Objects.GL.Branch.branchID, Equal<SOOrder.branchID>>, LeftJoin<Organization, On<Organization.organizationID, Equal<PX.Objects.GL.Branch.organizationID>, Or<Organization.organizationID, IsNull>>, LeftJoin<PortalSetup, On2<Where<PortalSetup.restrictByOrganizationID, IsNull, Or<Organization.organizationID, Equal<PortalSetup.restrictByOrganizationID>>>, And<Where<PortalSetup.restrictByBranchID, IsNull, Or<PX.Objects.GL.Branch.branchID, Equal<PortalSetup.restrictByBranchID>>>>>>>>>>, Where2<MatchWithBAccount<SOOr
I’m trying to override a data view used in Stock Items and Non-Stock Items screens, and in the abstract InventoryItemMaintBase graph class -- the view named itemxrefrecord that is used in the Cross-Reference tab grid. The view, like most in this base class, uses FbqlSelect and SelectFromBase instead of just SelectFrom (see definition below). This graph class seems to be the only one in the framework that uses this syntax for some reason (at least that’s what I’ve seen from a quick code search).public FbqlSelect<SelectFromBase<INItemXRef, TypeArrayOf<IFbqlJoin>.Empty>.Where<PX.Data.ReferentialIntegrity.Attributes.KeysRelation<PX.Data.ReferentialIntegrity.Attributes.Field<INItemXRef.inventoryID>.IsRelatedTo<InventoryItem.inventoryID>.AsSimpleKey.WithTablesOf<InventoryItem, INItemXRef>, InventoryItem, INItemXRef>.SameAsCurrent>, INItemXRef>.View itemxrefrecords;This syntax uses a lot of keywords that would take a long time to decipher enou
Hello,I am trying to add the customer class to the GL301000 Journal transaction form. As you can see from the code, I have created a DAC extension for GLTran, I have also added a database column to the GLTran table called “UsrMissionCustomerClassID” as an int. So, Currently I am just trying to get the refenceID to show up.So far I have been unable to get anything to show up, and when I run the debugger in Visual Studiovalue is always set to null. I have read through the T series dev guides but I am unsure what to apply to this DAC extension.Any guidance would be greatly appreciated!Thank you in advance.namespace PX.Objects.GL{ public class GLTranExt : PXCacheExtension<PX.Objects.GL.GLTran> { public abstract class usrMissionCustomerClassID : PX.Data.BQL.BqlInt.Field<usrMissionCustomerClassID> { } public Int32? _UsrMissionCustomerClassID; [PXDBInt()] [PXUIField(DisplayName = "Customer Account Class", Enabled = false)] [PXSelector(typeof(
When a user does not enter a serial number on the Support Entry screen of the portal, I want to popup a dialog box. I can set an error on the field, but the user won’t see the message unless they mouse over the red x. I want them to get a popup with instructions to make it clearer to the user.The popup works. But it keeps getting called in a loop if I put e.Cancel = true in the event.If I use Sender.RaiseExeptionHandling, the screen functions properly and if you mouse over the error on the field, it shows my information properly.If I remove the e.Cancel = true;, the popup occurs once, but the record is still saved...that’s not good.(DAC shown below...I think that is the issue) protected virtual void CRCase_RowPersisting(PXCache sender, PXRowPersistingEventArgs e) { if (e.Row == null) { return; } CRCase caseRow = (CRCase)e.Row; CRCaseSSGPortalExt cRCaseExt = PXCache<CRCase>.GetExtension<CRCas
I am using the following code in the Kit Assembly screen which works without errors. This is based on an answer to a question someone asked that Naveen Boga answered some time ago: try { IN.INKitRegisterExt iNKitRegisterExt = PXCache<IN.INKitRegister>.GetExtension<INKitRegisterExt>(row); decimal? unitCostTotal = Base.Components.Select().FirstTableItems.ToList().Select(x => x.UnitCost).Sum(); int? itemCount = Base.Components.Select().FirstTableItems.ToList().Count; cache.SetValueExt<INKitRegisterExt.usrAIUnitCostTotal>(row, unitCostTotal); cache.SetValueExt<INKitRegisterExt.usrAIItemCount>(row, itemCount); } catch (Exception error) { PXTrace.WriteInformation(error); }the two custom fields I created are populated correctly. If I try to apply the same logic to the Kit Specifications screen:try { INKitSpecHdrExt iNKitSpecHdrExt = PXCache<INKitSpecHdr>.GetExtension<INKitSpecHdrExt
hello everyone. How can I conditionally set the Pay button to not be visible when I select a specific payment method.
Anybody have any ideas on how this field (CTaxZoneID) can be populated based on certain conditions on the customer or customer location screen?I’ve tried managing this through the workflow engine, but the necessary fields from the DefAddress or DefLocationAddress tables are not available when trying to customize AR303000 or AR303020.Can field updates be based off a GI like in Business Events?
Hi All, I want to change the default filter of this screen (quick filters) to “Pending Approval”. Currently the default is “On Hold”. How can I do this?
Hi, I want to reorder the mobile app menu( put some existing items to the top of the main menu etc.) How do I do that?
I have a generic graph extension that I would like to get the extensions dynamically. For example I want dynamically get “TGraph” & “_” & “Extension”. The TGraph is dynamic based on the base graph but the extension is fixed.
Does anyone know if the customer portal has (or best way to accomplish if not) a searchable knowledge-base? Our customer would like to enable the portal for their customers and have the customers be able to search and retrieve solutions to common questions. Maybe a wiki accomplishes this?
Hi!I’m trying to get the Attributes per ItemClassId to place them on a grid in the look up dialog box (Sales Order screen)Like this: I’m using the CSAttributeGroupList method:public PXFilter<SOSiteStatusFilter> ItemSearchClass;{[PXViewName("Attributes")]CSAttributeGroupList<INItemClass, SOSiteStatusFilter> Attributes;public PXFilter<SOSiteStatusFilter> ItemSearchClass;[PXViewName("Attributes")]CSAttributeGroupList<INItemClass, SOSiteStatusFilter> Attributes;}However, It doesn’t bring any results.
I have recently noticed that two records dealing with two differents PaymentMethodID in our PaymentMethod table have the save NoteID value.I'm new in the Acumatica's world but it seems to me that a given NoteID value should be unique in its tenant.I have decided to change the NoteID value of one of my conflicting records but to do so, I have to check before for potential uses of this value in other tables. Am I exhaustive if I search for the value to be changed in all tables having a NoteID column or can NoteID values be also used in columns having an other name ?
Hello team,I am implementing function that bring field Account Name from Bill-To-Info section in Customer (AR303000) to Customer Details screen (AR402000)Details of field Account Name from Bill-To-Info section:When I first time select customer, the result is correct:Then I select another Customer, this field is still remaining the previous resultIf I refresh the page, this field will display correct name.Here is my code: I create a field UsrAccountName in ARDocumentResult and implement FieldSelecting as following #region UsrAccountName [PXString(255, IsUnicode = true)] [PXUIField(DisplayName = "Account Name", Visibility = PXUIVisibility.SelectorVisible)] public virtual string UsrAccountName { get; set; } public abstract class usrAccountName : PX.Data.BQL.BqlString.Field<usrAccountName> { } #endregion protected void ARDocumentResult_UsrAccountName_FieldSelecting(PXCache cache, PXFieldSelectingEventArgs e) { var row
Nice day.I have a customization screen on mobile to get GPS Location of current user when they press a button. The screen works like a charm on Android device but couldn’t work on iPhone even though I have enabled Location Permission for Acumatica in Settings → Acumatica → Location.My customization screen is as below.add screen GP30IC10 { openAs = Form add container "Params" { add field "Latitude" { forceIsDisabled = true } add field "Longitude" { forceIsDisabled = true } add field "GPSLocation" { forceIsVisible = false special = GpsCoords } add layout "Action" { layout = "Inline" add recordActionLink "ClockIn" add recordActionLink "ClockOut" } add recordAction "ClockIn" { behavior = Record } add recordAction "ClockOut" { behavior = Record } }}Does anybody know how to solve the problem? Do I miss any configuration on iPhone?Thank in advance
Can’t find the business logic of POS. Kindly assistIf I try to view business logic. Its blank.
How can i access the user preferences of the logged in user in my business logic, I need the UserPreferences values in my RowUpdated event and want to do some customizations based on that.
I want to default the value in Warehouse when a new row is Inserted. I have written FieldUpdated event on InventoryID, so when a item is selected i am able to default the warehouse. But Issue is when I try to add the items using the ADD ITEMS popup. There the value is set to the default stock-item’s Warehouse field and not to my desired Warehouse. Can anyone help he here.
I wanted to show the sums by InventoryItem on screen CR304000, using the following view.public SelectFrom<CROpportunityProducts>.LeftJoin<InventoryItem>.On<InventoryItem.inventoryID.IsEqual<CROpportunityProducts.inventoryID>>.LeftJoin<INItemClass>.On<InventoryItem.itemClassID.IsEqual<INItemClass.itemClassID>>.Where<CROpportunityProducts.quoteID.IsEqual<CROpportunity.quoteNoteID.FromCurrent>>.AggregateTo<GroupBy<INItemClass.descr>, GroupBy<INItemClass.noteID>, Sum<CROpportunityProducts.curyExtPrice>>.OrderBy<INItemClass.descr.Desc>.View InventoryClassSummed;This worked fine in a previous version, but now I get an error message:Cannot use an aggregate or a subquery in an expression used for the group by list of a GROUP BY clause.Does anyone know, why this does not work anymore?
Hi,I have a simple piece of code calling field verifying that does not quite produce the required behaviour. The custom field in question sits in a DAC extension to SOShipment (SOShipmentExt) and is called usrSealNo. Essentially all I am looking to do is raise an error if the value in this field has been used on any other Shipments (and prevent the record from being saved until a unique usrSealNo is provided). The code in place is:Now, when a value is entered into the field that already exists on another Shipment, the Field Verifying event seems to raise the exception OK:However, the user is still able to save the record despite the error being raised.I have other FieldVerifying events in my customisation that do prevent a user saving when the Error exception is raised. The difference seems to be that they are on fields that are in a custom DAC, not a DAC extension.Is there some trick to Verifying custom fields in DAC extensions?Thanks in advance for any help on this,John.
Hi EveryoneI really hope you can helpI’m a new MYOB Advanced Customisation Developer and I learnt everything I know from the training course and the Acumatica Open University.With MYOB Advanced being an online solution we don’t have access to the database and can’t pull any code into visual studio as we are trained to do in the learning materials.Does anyone have any alternative learning material that could assist be in becoming effective in my customisations while only using the Customisation Project Editor? One Blazing example of issues I have, in the training material we “Customize a Data Class” by “Convert to extension” then edit the code and it becomes part of the DLL. If I “Convert to extension” I get this error:Building directory '\WebSiteValidationDomain\App_Code\'.\App_Code\Caches\PX_Objects_IN_InventoryItem_extensions.cs(25): error CS0101: The namespace 'PX.Objects.IN' already contains a definition for 'InventoryItemExt'\App_Code\Caches\PX_Objects_IN_InventoryItem_extensions.
Already have an account? Login
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.