Skip to main content
Solved

Adding New Tab to SO screen

  • 29 November 2023
  • 3 replies
  • 130 views

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
}
}

 

3 replies

Userlevel 5
Badge +2

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 5
Badge +2

Thank you @darylbowman!!

Reply