Adding field to tracker


(system) #1

 That was very helpful, thanks!



---In vantage@yahoogroups.com, <vantage@yahoogroups.com> wrote:

Here's an example from AP Invoice Entry of adding two columns to the Invoices grid. Should get you started. This will hinder performance slightly depending on the number of PO's.

' **************************************************
' Custom code for APInvoiceForm
' Created: 8/27/2012 4:27:48 PM
' **************************************************
Imports System
Imports System.ComponentModel
Imports System.Data
Imports System.Diagnostics
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Epicor.Mfg.BO
Imports Epicor.Mfg.UI
Imports Epicor.Mfg.UI.Adapters
Imports Epicor.Mfg.UI.Customization
Imports Epicor.Mfg.UI.ExtendedProps
Imports Epicor.Mfg.UI.FormFunctions
Imports Epicor.Mfg.UI.FrameWork
Imports Epicor.Mfg.UI.Searches
Imports Epicor.Mfg.Lib
Imports Epicor.Mfg.Core

Public Class Script

    ' ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
    ' Begin Wizard Added Module Level Variables **

    ' End Wizard Added Module Level Variables **

    ' Add Custom Module Level Variables Here **
    Private invcsGrd As Epicor.Mfg.UI.App.APInvoiceEntry.BaseAPInvHedListGrid
    Private _boReader As BOReader

    Public Sub InitializeCustomCode()
        ' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Initialization' lines **
        ' Begin Wizard Added Variable Initialization

        ' End Wizard Added Variable Initialization

        ' Begin Wizard Added Custom Method Calls

        ' End Wizard Added Custom Method Calls
        invcsGrd = DirectCast(csm.GetNativeControlReference("372a8589-09b8-4629-a519-fe1f48254ff9"), Epicor.Mfg.UI.App.APInvoiceEntry.BaseAPInvHedListGrid)
        invcsGrd.DisplayLayout.Bands(0).Columns.Add("PaymentMethod", "Payment Method")
        invcsGrd.DisplayLayout.Bands(0).Columns.Add("Terms", "Terms")
        invcsGrd.DisplayLayout.Bands(0).Columns("PaymentMethod").CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly
        invcsGrd.DisplayLayout.Bands(0).Columns("Terms").CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly
        AddHandler invcsGrd.InitializeRow, New Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(AddressOf grdMatLst_InitializeRow)
        _boReader = New BOReader(DirectCast(oTrans.Session, Session).ConnectionPool)
       
    End Sub

    Private Sub grdMatLst_InitializeRow(sender As Object, e As Infragistics.Win.UltraWinGrid.InitializeRowEventArgs)
        If Not [String].IsNullOrEmpty(e.Row.Cells("InvoiceNum").Value.ToString()) Then
            Dim ds As DataSet = _boReader.GetRows("APInvoice", "InvoiceNum='" & e.Row.Cells("InvoiceNum").Value.ToString() & "'", "PMUID,TermsCode")
            Dim PMUID As String = ""
            Dim terms As String = ""
            If ds.Tables(0).Rows.Count > 0 Then
                PMUID = ds.Tables(0).Rows(0)("PMUID")
                terms = ds.Tables(0).Rows(0)("TermsCode")
                ds = _boReader.GetRows("PayMethod", "PMUID='" & PMUID & "'", "Name")
                If ds.Tables(0).Rows.Count > 0 Then
                    e.Row.Cells("PaymentMethod").Value = ds.Tables(0).Rows(0)("Name")
                End If
                ds = _boReader.GetRows("PurTerms", "TermsCode='" & terms & "'", "Description")
                If ds.Tables(0).Rows.Count > 0 Then
                    e.Row.Cells("Terms").Value = ds.Tables(0).Rows(0)("Description")
                End If
            End If
        End If
    End Sub

    Public Sub DestroyCustomCode()
        ' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
        ' Begin Wizard Added Object Disposal

        ' End Wizard Added Object Disposal

        ' Begin Custom Code Disposal

        ' End Custom Code Disposal
        RemoveHandler invcsGrd.InitializeRow, New Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(AddressOf grdMatLst_InitializeRow)
    End Sub

End Class




From: "ralmon@..." <ralmon@...>
To: vantage@yahoogroups.com
Sent: Friday, November 1, 2013 9:47 AM
Subject: [Vantage] Adding field to tracker



I'm looking at the Project Tracker under Production Management -> Project Management -> General Operations -> Project Tracker.


I'm looking at the PO tab that shows this projects purchase order. It doesn't show the name of the job in this tracker, but it would be incredibly helpful to show that.

I opened Customization and looked in the Columns property (Collection) but the field I need to bring in isn't there. I found the ProjectPO dataset in Extended Properties but it looks like I can't define new fields there.

I realize I could make a new tracker or dashboard, but I want to know how to modify or customize the existing one.

Thanks.





(system) #2
I'm looking at the Project Tracker under Production Management -> Project Management -> General Operations -> Project Tracker.

I'm looking at the PO tab that shows this projects purchase order. It doesn't show the name of the job in this tracker, but it would be incredibly helpful to show that.

I opened Customization and looked in the Columns property (Collection) but the field I need to bring in isn't there. I found the ProjectPO dataset in Extended Properties but it looks like I can't define new fields there.

I realize I could make a new tracker or dashboard, but I want to know how to modify or customize the existing one.

Thanks.

(system) #3
Here's an example from AP Invoice Entry of adding two columns to the Invoices grid. Should get you started. This will hinder performance slightly depending on the number of PO's.

' **************************************************
' Custom code for APInvoiceForm
' Created: 8/27/2012 4:27:48 PM
' **************************************************
Imports System
Imports System.ComponentModel
Imports System.Data
Imports System.Diagnostics
Imports System.Windows.Forms
Imports Microsoft.VisualBasic
Imports Epicor.Mfg.BO
Imports Epicor.Mfg.UI
Imports Epicor.Mfg.UI.Adapters
Imports Epicor.Mfg.UI.Customization
Imports Epicor.Mfg.UI.ExtendedProps
Imports Epicor.Mfg.UI.FormFunctions
Imports Epicor.Mfg.UI.FrameWork
Imports Epicor.Mfg.UI.Searches
Imports Epicor.Mfg.Lib
Imports Epicor.Mfg.Core

Public Class Script

    ' ** Wizard Insert Location - Do Not Remove 'Begin/End Wizard Added Module Level Variables' Comments! **
    ' Begin Wizard Added Module Level Variables **

    ' End Wizard Added Module Level Variables **

    ' Add Custom Module Level Variables Here **
    Private invcsGrd As Epicor.Mfg.UI.App.APInvoiceEntry.BaseAPInvHedListGrid
    Private _boReader As BOReader

    Public Sub InitializeCustomCode()
        ' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Initialization' lines **
        ' Begin Wizard Added Variable Initialization

        ' End Wizard Added Variable Initialization

        ' Begin Wizard Added Custom Method Calls

        ' End Wizard Added Custom Method Calls
        invcsGrd = DirectCast(csm.GetNativeControlReference("372a8589-09b8-4629-a519-fe1f48254ff9"), Epicor.Mfg.UI.App.APInvoiceEntry.BaseAPInvHedListGrid)
        invcsGrd.DisplayLayout.Bands(0).Columns.Add("PaymentMethod", "Payment Method")
        invcsGrd.DisplayLayout.Bands(0).Columns.Add("Terms", "Terms")
        invcsGrd.DisplayLayout.Bands(0).Columns("PaymentMethod").CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly
        invcsGrd.DisplayLayout.Bands(0).Columns("Terms").CellActivation = Infragistics.Win.UltraWinGrid.Activation.ActivateOnly
        AddHandler invcsGrd.InitializeRow, New Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(AddressOf grdMatLst_InitializeRow)
        _boReader = New BOReader(DirectCast(oTrans.Session, Session).ConnectionPool)
       
    End Sub

    Private Sub grdMatLst_InitializeRow(sender As Object, e As Infragistics.Win.UltraWinGrid.InitializeRowEventArgs)
        If Not [String].IsNullOrEmpty(e.Row.Cells("InvoiceNum").Value.ToString()) Then
            Dim ds As DataSet = _boReader.GetRows("APInvoice", "InvoiceNum='" & e.Row.Cells("InvoiceNum").Value.ToString() & "'", "PMUID,TermsCode")
            Dim PMUID As String = ""
            Dim terms As String = ""
            If ds.Tables(0).Rows.Count > 0 Then
                PMUID = ds.Tables(0).Rows(0)("PMUID")
                terms = ds.Tables(0).Rows(0)("TermsCode")
                ds = _boReader.GetRows("PayMethod", "PMUID='" & PMUID & "'", "Name")
                If ds.Tables(0).Rows.Count > 0 Then
                    e.Row.Cells("PaymentMethod").Value = ds.Tables(0).Rows(0)("Name")
                End If
                ds = _boReader.GetRows("PurTerms", "TermsCode='" & terms & "'", "Description")
                If ds.Tables(0).Rows.Count > 0 Then
                    e.Row.Cells("Terms").Value = ds.Tables(0).Rows(0)("Description")
                End If
            End If
        End If
    End Sub

    Public Sub DestroyCustomCode()
        ' ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
        ' Begin Wizard Added Object Disposal

        ' End Wizard Added Object Disposal

        ' Begin Custom Code Disposal

        ' End Custom Code Disposal
        RemoveHandler invcsGrd.InitializeRow, New Infragistics.Win.UltraWinGrid.InitializeRowEventHandler(AddressOf grdMatLst_InitializeRow)
    End Sub

End Class




From: "ralmon@..." <ralmon@...>
To: vantage@yahoogroups.com
Sent: Friday, November 1, 2013 9:47 AM
Subject: [Vantage] Adding field to tracker



I'm looking at the Project Tracker under Production Management -> Project Management -> General Operations -> Project Tracker.


I'm looking at the PO tab that shows this projects purchase order. It doesn't show the name of the job in this tracker, but it would be incredibly helpful to show that.

I opened Customization and looked in the Columns property (Collection) but the field I need to bring in isn't there. I found the ProjectPO dataset in Extended Properties but it looks like I can't define new fields there.

I realize I could make a new tracker or dashboard, but I want to know how to modify or customize the existing one.

Thanks.