Skip to main content
Answer

Customization Project - Start Date - AddDays

  • July 29, 2022
  • 11 replies
  • 269 views

I’d like to take this and subtract 3 days from it. I keep getting syntax errors.

I’d like to take this:

[PXDefault(typeof(AccessInfo.businessDate))]

And make it do something like this:

[PXDefault(typeof(AccessInfo.businessDate)).AddDays(-3)]

to have the start date subtracted 3 days from the current day.

Best answer by Vinay Koppula

The result of the correct code in my previous comment will be as in the screen shot. 

 

11 replies

Naveen Boga
Captain II
Forum|alt.badge.img+19
  • Captain II
  • July 29, 2022

Hi @richard77  Yes, we cannot subtract the days at the DAC level. Instead, you can write the FieldDefaulting event like below.

 

 protected virtual void DACName_FieldName_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
{
DACName row = e.Row as DACName;
if (row != null)
{
e.NewValue = Accessinfo.BusinessDate.Value.AddDays(-3);
}
}

 

 


  • Author
  • Freshman I
  • July 29, 2022

@Naveen Boga Thanks for the response. When I validate I get this response: 

\App_RuntimeCode\PX_Objects_SO_SOProcessFilter_extensions.cs(45): error CS1520: Method must have a return type

Naveen Boga
Captain II
Forum|alt.badge.img+19
  • Captain II
  • July 29, 2022

@richard77  Can you please share the source code?


  • Author
  • Freshman I
  • July 29, 2022
<%@ Page Language="C#" MasterPageFile="~/MasterPages/FormDetail.master" AutoEventWireup="true" ValidateRequest="false" CodeFile="SO502000.aspx.cs"
Inherits="Page_SO502000" Title="Untitled Page" %>

<%@ MasterType VirtualPath="~/MasterPages/FormDetail.master" %>
<asp:Content ID="cont1" ContentPlaceHolderID="phDS" runat="Server">
<px:PXDataSource ID="ds" runat="server" Visible="True" TypeName="PX.Objects.SO.SOOrderProcess" PrimaryView="Filter" BorderStyle="NotSet" Width="100%" PageLoadBehavior="PopulateSavedValues">
<DataTrees>
<px:PXTreeDataMember TreeView="_EPCompanyTree_Tree_" TreeKeys="WorkgroupID" ></px:PXTreeDataMember>
</DataTrees>
</px:PXDataSource>
</asp:Content>
<asp:Content ID="cont2" ContentPlaceHolderID="phF" runat="Server">
<px:PXFormView ID="form" runat="server" DataSourceID="ds" Style="z-index: 100" Width="100%" DataMember="Filter" Caption="Selection"
EmailingGraph="">
<Template>
<px:PXLayoutRule runat="server" StartColumn="True" LabelsWidth="S" ControlSize="XM" ></px:PXLayoutRule>
<px:PXDropDown CommitChanges="True" ID="edAction" runat="server" AllowNull="False" DataField="Action" ></px:PXDropDown>
<px:PXLayoutRule runat="server" Merge="True" ></px:PXLayoutRule>
<px:PXSelector CommitChanges="True" ID="edOwnerID" runat="server" DataField="OwnerID" ></px:PXSelector>
<px:PXCheckBox CommitChanges="True" SuppressLabel="True" ID="chkMyOwner" runat="server" Checked="True" DataField="MyOwner" ></px:PXCheckBox>
<px:PXLayoutRule runat="server" Merge="False" ></px:PXLayoutRule>
<px:PXLayoutRule runat="server" Merge="True" ></px:PXLayoutRule>
<px:PXSelector CommitChanges="True" ID="edWorkGroupID" runat="server" DataField="WorkGroupID" ></px:PXSelector>
<px:PXCheckBox CommitChanges="True" SuppressLabel="True" ID="chkMyWorkGroup" runat="server" DataField="MyWorkGroup" ></px:PXCheckBox>
<px:PXLayoutRule runat="server" Merge="False" ></px:PXLayoutRule>
<px:PXSegmentMask CommitChanges="True" ID="edSalesPersonID" runat="server" DataField="SalesPersonID" ></px:PXSegmentMask>
<px:PXSegmentMask CommitChanges="True" ID="edCustomerID" runat="server" DataField="CustomerID" ></px:PXSegmentMask>
<px:PXLayoutRule runat="server" StartColumn="True" LabelsWidth="S" ControlSize="XM" ></px:PXLayoutRule>
<px:PXSelector CommitChanges="True" ID="edOrderType" runat="server" DataField="OrderType" ></px:PXSelector>
<px:PXDropDown CommitChanges="True" ID="edStatus" runat="server" DataField="Status" ></px:PXDropDown>
<px:PXDateTimeEdit CommitChanges="True" ID="edStartDate" runat="server" DataField="StartDate" ></px:PXDateTimeEdit>
<px:PXDateTimeEdit CommitChanges="True" ID="edEndDate" runat="server" DataField="EndDate" ></px:PXDateTimeEdit>
<px:PXLayoutRule runat="server" StartColumn="True" LabelsWidth="S" ControlSize="SM" ></px:PXLayoutRule>
<px:PXCheckBox CommitChanges="True" ID="chkPrintWithDeviceHub" runat="server" DataField="PrintWithDeviceHub" AlignLeft="true" ></px:PXCheckBox>
<px:PXCheckBox CommitChanges="True" ID="chkDefinePrinterManually" runat="server" DataField="DefinePrinterManually" AlignLeft="true" ></px:PXCheckBox>
<px:PXSelector CommitChanges="True" ID="edPrinterID" runat="server" DataField="PrinterID" ></px:PXSelector>
<px:PXTextEdit CommitChanges="true" ID="edNumberOfCopies" runat="server" DataField="NumberOfCopies" ></px:PXTextEdit>
</Template>
</px:PXFormView>
</asp:Content>
<asp:Content ID="cont3" ContentPlaceHolderID="phG" runat="Server">
<px:PXGrid ID="grid" runat="server" DataSourceID="ds" Height="150px" Style="z-index: 100" Width="100%" ActionsPosition="Top"
Caption="Documents" SkinID="PrimaryInquire" AllowPaging="true" AdjustPageSize="Auto" SyncPosition="true" FastFilterFields="OrderNbr,OrderDesc,CustomerOrderNbr,CustomerID,CustomerID_BAccountR_acctName">
<Levels>
<px:PXGridLevel DataMember="Records">
<RowTemplate>
<px:PXLayoutRule runat="server" StartColumn="True" LabelsWidth="M" ControlSize="XM" ></px:PXLayoutRule>
<px:PXCheckBox ID="chkSelected" runat="server" DataField="Selected" ></px:PXCheckBox>
<px:PXSelector ID="edOrderType" runat="server" AllowNull="False" DataField="OrderType" Enabled="False" Text="SO" ></px:PXSelector>
<px:PXSelector ID="edOrderNbr" runat="server" DataField="OrderNbr" Enabled="False" AllowEdit="True" ></px:PXSelector>
<px:PXSegmentMask ID="edCustomerID" runat="server" DataField="CustomerID" Enabled="False" ></px:PXSegmentMask>
<px:PXSegmentMask ID="edCustomerLocationID" runat="server" DataField="CustomerLocationID" Enabled="False" ></px:PXSegmentMask>
<px:PXDateTimeEdit ID="edOrderDate" runat="server" DataField="OrderDate" Enabled="False" ></px:PXDateTimeEdit>
<px:PXSelector ID="edCuryID" runat="server" DataField="CuryID" Enabled="False" ></px:PXSelector>
<px:PXNumberEdit ID="edCuryOrderTotal" runat="server" DataField="CuryOrderTotal" Enabled="False" ></px:PXNumberEdit>
</RowTemplate>
<Columns>
<px:PXGridColumn AllowNull="False" DataField="Selected" TextAlign="Center" Type="CheckBox" AllowCheckAll="True" AllowSort="False"
AllowMove="False" ></px:PXGridColumn>
<px:PXGridColumn AllowNull="False" AllowUpdate="False" DataField="OrderType" DisplayFormat="&gt;LL" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="OrderNbr" LinkCommand="ViewDocument" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="OrderDesc" Label="Description" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="CustomerOrderNbr" Label="Customer Order" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="Status" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="RequestDate" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="ShipDate" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="CustomerID" DisplayFormat="AAAAAAAAAA" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="CustomerID_BAccountR_acctName" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="CustomerLocationID" DisplayFormat="&gt;AAAAAAA" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="CustomerLocationID_Location_descr" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="DefaultSiteID" DisplayFormat="&gt;AAAAAAA" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="DefaultSiteID_INSite_descr" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="ShipVia" DisplayFormat="AAAAAAAAAA" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="ShipVia_Carrier_description" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="ShipZoneID" DisplayFormat="AAAAAAAAAA" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="WorkgroupID" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="OwnerID" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="OrderWeight" TextAlign="Right" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="OrderVolume" TextAlign="Right" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="OrderQty" TextAlign="Right" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="CuryID" DisplayFormat="&gt;LLLLL" ></px:PXGridColumn>
<px:PXGridColumn AllowUpdate="False" DataField="CuryOrderTotal" TextAlign="Right" ></px:PXGridColumn>
<px:PXGridColumn AllowNull="False" DataField="Emailed" Type="CheckBox" AllowUpdate="False" TextAlign="Center" ></px:PXGridColumn>
</Columns>
</px:PXGridLevel>
</Levels>
<AutoSize Container="Window" Enabled="True" MinHeight="150" ></AutoSize>
</px:PXGrid>
</asp:Content>

 


Naveen Boga
Captain II
Forum|alt.badge.img+19
  • Captain II
  • July 29, 2022

HI @richard77  Not the design code. Please share the graph code, where you written this logic?

OR

If possible, share the customization package with the version and build details. 


  • Author
  • Freshman I
  • July 29, 2022
<Customization level="" description="" product-version="21.205">
<Page path="~/pages/so/so502000.aspx" ControlId="1" pageSource="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">
<PXGridColumn DataField="CustomerOrderNbr" ParentId="phG_grid_Levels#0_Columns#4" TypeFullName="PX.Web.UI.PXGridColumn" />
<PXFormView ID="form" ParentId="phF_form" TypeFullName="PX.Web.UI.PXFormView">
<Children Key="Template" />
</PXFormView>
<PXDropDown DataField="Action" ParentId="phF_form_edAction" TypeFullName="PX.Web.UI.PXDropDown" />
</Page>
<Automation screen="SO502000">
<Actions ScreenID="SO502000">
<Category IsActive="True" DisplayName="Actions" CategoryName="Action" LineNbr="0" />
<Category IsActive="True" DisplayName="Inquiries" CategoryName="Inquiry" LineNbr="1" />
<Category IsActive="True" DisplayName="Reports" CategoryName="Report" LineNbr="2" />
</Actions>
<Fields ScreenID="SO502000">
<Field IsActive="True" DisplayName="Action" FieldName="Action" ObjectName="PX.Objects.SO.SOProcessFilter" ComboBoxValues="Set|&lt;SELECT&gt;|&lt;SELECT&gt;;Set|SO301000$printSalesOrder|Print Sales Order;Remove|SO301000$printQuote|Print Quote;Remove|SO301000$emailSalesOrder|Email Sales Order;Remove|SO301000$emailQuote|Email Quote" />
</Fields>
</Automation>
<Graph ClassName="SOOrderProcess" Source="#CDATA" IsNew="True" FileType="ExistingGraph">
<CDATA name="Source"><![CDATA[using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PX.Common;
using PX.Data;
using PX.Objects.AR;
using PX.Objects.CR;
using PX.TM;
using PX.Objects.RQ;
using PX.Objects.CS;
using PX.Objects.AR.MigrationMode;
using PX.Objects;
using PX.Objects.SO;

namespace PX.Objects.SO
{
public class SOOrderProcess_Extension : PXGraphExtension<SOOrderProcess>
{
#region Event Handlers



[PXDBString(2, IsFixed = true, InputMask = ">aa")]
[PXDefault("SO")]
[PXSelector(typeof(Search<SOOrderType.orderType, Where<SOOrderType.active, Equal<True>>>))]
[PXUIField(DisplayName = "Order Type", Visibility = PXUIVisibility.SelectorVisible)]
protected virtual void SOProcessFilter_OrderType_CacheAttached(PXCache cache)
{

}



#endregion
}
}]]></CDATA>
</Graph>
<DAC type="PX.Objects.SO.SOProcessFilter">
<Field FieldName="Action" TypeName="string" TextAttributes="[PXDefault(&quot;printSalesOrder&quot;)]" OverrideClassName="PX.Objects.SO.SOProcessFilter" StorageName="ExistingColumn" />
<Field FieldName="OrderType" TypeName="string" TextAttributes="#CDATA" OverrideGeneratedAttributes="True" OverrideClassName="PX.Objects.SO.SOProcessFilter" StorageName="ExistingColumn">
<CDATA name="TextAttributes"><![CDATA[[PXDBString(2, IsFixed = true, InputMask = ">aa")]
[PXDefault("SO")]
[PXSelector(typeof(Search<SOOrderType.orderType, Where<SOOrderType.active, Equal<True>>>))]
[PXUIField(DisplayName = "Order Type", Visibility = PXUIVisibility.SelectorVisible)]]]></CDATA>
</Field>
<Field FieldName="Status" TypeName="string" TextAttributes="#CDATA" OverrideGeneratedAttributes="True" OverrideClassName="PX.Objects.SO.SOProcessFilter" StorageName="ExistingColumn">
<CDATA name="TextAttributes"><![CDATA[[PXDBString(1, IsFixed = true)]
[PXDefault("H")]
[SOOrderStatus.List]
[PXUIField(DisplayName = "Status", Visibility = PXUIVisibility.SelectorVisible)]]]></CDATA>
</Field>
<Field FieldName="StartDate" TypeName="date" TextAttributes="#CDATA" OverrideGeneratedAttributes="True" OverrideClassName="PX.Objects.SO.SOProcessFilter" StorageName="ExistingColumn">
<CDATA name="TextAttributes"><![CDATA[DACName_FieldName_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
{
DACName row = e.Row as DACName;
if (row != null)
{
e.NewValue = Accessinfo.BusinessDate.Value.AddDays(-3);
}
}]]></CDATA>
</Field>
</DAC>
</Customization>

 


Naveen Boga
Captain II
Forum|alt.badge.img+19
  • Captain II
  • July 29, 2022

@richard77  You are doing completely wrong. you are mixing design code with Graph code. I won’t work at all.

Please extend the graph separately and add the fielddefaulting code.

 

I think you are new to Acumatica development, I would highly recommend you to go through the Application Developer certification (T Series).


Vinay Koppula
Semi-Pro II
Forum|alt.badge.img+1

Hi @richard77 

You have to add the logic in the graph extension but not in the DAC. I have corrected your code, try the below code and let me know if that works. 

<Customization level="" description="" product-version="22.100">
    <Page path="~/pages/so/so502000.aspx" ControlId="1" pageSource="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">
        <PXGridColumn DataField="CustomerOrderNbr" ParentId="phG_grid_Levels#0_Columns#4" TypeFullName="PX.Web.UI.PXGridColumn" />
        <PXFormView ID="form" ParentId="phF_form" TypeFullName="PX.Web.UI.PXFormView">
            <Children Key="Template" />
        </PXFormView>
        <PXDropDown DataField="Action" ParentId="phF_form_edAction" TypeFullName="PX.Web.UI.PXDropDown" />
    </Page>
    <Automation screen="SO502000">
        <Actions ScreenID="SO502000">
            <Category IsActive="True" DisplayName="Actions" CategoryName="Action" LineNbr="0" />
            <Category IsActive="True" DisplayName="Inquiries" CategoryName="Inquiry" LineNbr="1" />
            <Category IsActive="True" DisplayName="Reports" CategoryName="Report" LineNbr="2" />
        </Actions>
        <Fields ScreenID="SO502000">
            <Field IsActive="True" DisplayName="Action" FieldName="Action" ObjectName="PX.Objects.SO.SOProcessFilter" ComboBoxValues="Set|&lt;SELECT&gt;|&lt;SELECT&gt;;Set|SO301000$printSalesOrder|Print Sales Order;Remove|SO301000$printQuote|Print Quote;Remove|SO301000$emailSalesOrder|Email Sales Order;Remove|SO301000$emailQuote|Email Quote" />
        </Fields>
    </Automation>
    <Graph ClassName="SOOrderProcess" Source="#CDATA" IsNew="True" FileType="ExistingGraph">
        <CDATA name="Source"><![CDATA[using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using PX.Common;
using PX.Data;
using PX.Objects.AR;
using PX.Objects.CR;
using PX.TM;
using PX.Objects.RQ;
using PX.Objects.CS;
using PX.Objects.AR.MigrationMode;
using PX.Objects;
using PX.Objects.SO;

namespace PX.Objects.SO
{
  public class SOOrderProcess_Extension : PXGraphExtension<SOOrderProcess>
  {
    #region Event Handlers

    [PXDBString(2, IsFixed = true, InputMask = ">aa")]
    [PXDefault("SO")]
    [PXSelector(typeof(Search<SOOrderType.orderType, Where<SOOrderType.active, Equal<True>>>))]
    [PXUIField(DisplayName = "Order Type", Visibility = PXUIVisibility.SelectorVisible)]
    protected virtual void SOProcessFilter_OrderType_CacheAttached(PXCache cache)
    {

    }
  
 protected virtual void SOProcessFilter_StartDate_FieldDefaulting(PXCache cache, PXFieldDefaultingEventArgs e)
        {
            SOProcessFilter row = e.Row as SOProcessFilter;
            if (row != null)
            {
                e.NewValue = Base.Accessinfo.BusinessDate.Value.AddDays(-3);
            }
        }


    #endregion
  }
}]]></CDATA>
    </Graph>
    <DAC type="PX.Objects.SO.SOProcessFilter">
        <Field FieldName="Action" TypeName="string" TextAttributes="[PXDefault(&quot;printSalesOrder&quot;)]" OverrideClassName="PX.Objects.SO.SOProcessFilter" StorageName="ExistingColumn" />
        <Field FieldName="OrderType" TypeName="string" TextAttributes="#CDATA" OverrideGeneratedAttributes="True" OverrideClassName="PX.Objects.SO.SOProcessFilter" StorageName="ExistingColumn">
            <CDATA name="TextAttributes"><![CDATA[[PXDBString(2, IsFixed = true, InputMask = ">aa")]
[PXDefault("SO")]
[PXSelector(typeof(Search<SOOrderType.orderType, Where<SOOrderType.active, Equal<True>>>))]
[PXUIField(DisplayName = "Order Type", Visibility = PXUIVisibility.SelectorVisible)]]]></CDATA>
        </Field>
        <Field FieldName="Status" TypeName="string" TextAttributes="#CDATA" OverrideGeneratedAttributes="True" OverrideClassName="PX.Objects.SO.SOProcessFilter" StorageName="ExistingColumn">
            <CDATA name="TextAttributes"><![CDATA[[PXDBString(1, IsFixed = true)]
[PXDefault("H")]
[SOOrderStatus.List]
[PXUIField(DisplayName = "Status", Visibility = PXUIVisibility.SelectorVisible)]]]></CDATA>
        </Field>
        <Field FieldName="StartDate" TypeName="date" TextAttributes="#CDATA" OverrideGeneratedAttributes="True" OverrideClassName="PX.Objects.SO.SOProcessFilter" StorageName="ExistingColumn">
            <CDATA name="TextAttributes"><![CDATA[[PXDBDate]
[PXUIField(DisplayName = "Start Date", Visibility = PXUIVisibility.Visible)]]]></CDATA>
        </Field>
    </DAC>
</Customization>


Vinay Koppula
Semi-Pro II
Forum|alt.badge.img+1
  • Semi-Pro II
  • Answer
  • August 2, 2022

The result of the correct code in my previous comment will be as in the screen shot. 

 


  • Author
  • Freshman I
  • August 2, 2022

@Vinay Koppula Thank you yes, this works. @Naveen Boga Agreed, I will take a look at this course.


Vinay Koppula
Semi-Pro II
Forum|alt.badge.img+1

@Vinay Koppula Thank you yes, this works. @Naveen Boga Agreed, I will take a look at this course.

You are welcome. Happy coding!