Solved

Adding New Tab to SO screen

  • 29 November 2023
  • 3 replies
  • 125 views

Userlevel 4
Badge +1

Hi Guys,

We manufacture doors, windows, and panels.

Recently i have been adding fields to fully transition all our operations to Acumatica and the SO form has become quite wide and hard to navigate with the various different columns needed.

To overcome this I have been trying to add additional tabs which are in essence replicas of the details tab but called ‘Panel’, ‘Doors’, ‘Windows’.

To start I am just trying doors and I the details tab is essential in this as a master for all items.

Below is the code i have for the door tab, i keep getting the error CS1031: Type expected and I do not know where I am going wrong.

Any advice is Greatly appreciated!!!

Aleks

using System;
using System.Collections;
using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Text;
using PX.Common;
using PX.Data;
using PX.Objects.AP;
using PX.Objects.AR;
using PX.Objects.CA;
using PX.Objects.CM;
using PX.Objects.CR;
using PX.Objects.CS;
using PX.Objects.DR;
using PX.Objects.EP;
using PX.Objects.GL;
using PX.Objects.IN;
using PX.Objects.PM;
using PX.Objects.PO;
using PX.Objects.TX;
using POLine = PX.Objects.PO.POLine;
using POOrder = PX.Objects.PO.POOrder;
using PX.CarrierService;
using CRLocation = PX.Objects.CR.Standalone.Location;
using PX.Objects.AR.CCPaymentProcessing;
using PX.Objects.AR.CCPaymentProcessing.Common;
using PX.Objects.AR.CCPaymentProcessing.Helpers;
using PX.Objects.AR.CCPaymentProcessing.Interfaces;
using ARRegisterAlias = PX.Objects.AR.Standalone.ARRegisterAlias;
using PX.Objects.AR.MigrationMode;
using PX.Objects.Common;
using PX.Objects.Common.Discount;
using PX.Objects.Common.Extensions;
using PX.Objects.IN.Overrides.INDocumentRelease;
using PX.CS.Contracts.Interfaces;
using Message = PX.CarrierService.Message;
using PX.TaxProvider;
using PX.Data.DependencyInjection;
using PX.Data.WorkflowAPI;
using PX.LicensePolicy;
using PX.Objects.Extensions.PaymentTransaction;
using PX.Objects.SO.GraphExtensions.CarrierRates;
using PX.Objects.SO.GraphExtensions.SOOrderEntryExt;
using PX.Objects.SO.Attributes;
using PX.Objects.Common.Attributes;
using PX.Objects.Common.Bql;
using OrderActions = PX.Objects.SO.SOOrderEntryActionsAttribute;
using PX.Objects.SO.DAC.Projections;
using PX.Data.BQL.Fluent;
using PX.Data.Localization;
using PX.Data.Reports;
using PX.Objects;
using PX.Objects.SO;

namespace SODOORTAB
{
public class SOOrderEntry_Extension : PXGraphExtension<PX.Objects.SO.SOOrderEntry>
{
#region Selects

public

PXSelect<DoorDetail, Where<SOOrder.orderType, Equal<DoorDetail.orderType>, And<SOOrder.orderNbr, Equal<DoorDetail.orderNbr>, And<SOLine.usrIsDoor, Equal<true>>>>> DoorDetailView;

#endregion
}
}

 

icon

Best answer by darylbowman 29 November 2023, 16:18

View original

3 replies

Userlevel 4
Badge +1

Forgot to mention, the DAC code runs fine.

Badge +12

Your PXSelect statement is not written properly. I would expect something like this (without being able to see your DAC relationships):

(written in F-bql)

public SelectFrom<DoorDetail>.
InnerJoin<SOOrder>.
On<SOOrder.orderType.IsEqual<DoorDetail.orderType>.And<SOOrder.orderNbr.IsEqual<DoorDetail.orderNbr>>>.
LeftJoin<SOLine>.
On<SOLine.orderType.IsEqual<SOOrder.orderType>.And<SOLine.orderNbr.IsEqual<SOOrder.orderNbr>>>.
Where<DoorDetail.orderType.IsEqual<SOOrder.orderType.FromCurrent>>.
And<DoorDetail.orderNbr.IsEqual<SOOrder.orderNbr.FromCurrent>>.
And<SOLineExt.usrIsDoor.IsEqual<True>>>.View DoorDetailView;

 

Userlevel 4
Badge +1

Thank you @darylbowman!!

Reply


About Acumatica ERP system
Acumatica Cloud ERP provides the best business management solution for transforming your company to thrive in the new digital economy. Built on a future-proof platform with open architecture for rapid integrations, scalability, and ease of use, Acumatica delivers unparalleled value to small and midmarket organizations. Connected Business. Delivered.
© 2008 — 2024  Acumatica, Inc. All rights reserved