Skip to main content
Solved

Adding New Tab to SO screen


Forum|alt.badge.img+7
  • Captain II
  • 295 replies

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

 

Best answer by darylbowman

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;

 

View original
Did this topic help you find an answer to your question?

3 replies

Forum|alt.badge.img+7
  • Author
  • Captain II
  • 295 replies
  • November 29, 2023

Forgot to mention, the DAC code runs fine.


darylbowman
Captain II
Forum|alt.badge.img+13
  • 1606 replies
  • Answer
  • November 29, 2023

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;

 


Forum|alt.badge.img+7
  • Author
  • Captain II
  • 295 replies
  • November 30, 2023

Thank you @darylbowman!!


Reply


Cookie policy

We use cookies to enhance and personalize your experience. If you accept you agree to our full cookie policy. Learn more about our cookies.

 
Cookie settings