Solved

Customization Project - Start Date - AddDays


Userlevel 1

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.

icon

Best answer by Vinay Koppula 2 August 2022, 13:11

View original

11 replies

Userlevel 7
Badge +17

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

 

 

Userlevel 1

@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
Userlevel 7
Badge +17

@richard77  Can you please share the source code?

Userlevel 1
<%@ 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>

 

Userlevel 7
Badge +17

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. 

Userlevel 1
<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>

 

Userlevel 7
Badge +17

@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).

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

Userlevel 5
Badge +1

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

 

Userlevel 1

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

Userlevel 5
Badge +1

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

You are welcome. Happy coding! 

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