AP Payment Tracker

Dear Experts, How to view attachment of posted payments in Payment Tracker.

I’m not quite sure what you mean.
Can you expand?

I have attached some documents in Payment Entry & posted the entry. Now how to see those attached documents in Payment Tracker?

I haven’t done this on the Payment tracker but…
If you just want a simple list - I’m thnking you could build a BAQ and then customize the tracker. e.g. add a grid & use Dynamic Query to populate it with attach details.
-and set the column for the File Name / Path as “clickable”.
If you have access to Epicare - they have a knowledgebook on showing attachments in a dashboard that might help.
And below is an example from a test system - where I was adding an attachment grid to the MES Start Production Activity form
Might get you in the ballpark?

public class Script
{
// ** Wizard Insert Location - Do Not Remove ‘Begin/End Wizard Added Module Level Variables’ Comments! **
// Begin Wizard Added Module Level Variables **

private EpiDataView edvStart;
private DataView Start_DataView;
// End Wizard Added Module Level Variables **

// Add Custom Module Level Variables Here **
// Start Grid Column URL
EpiUltraGrid grid1;
// End Grid Column URL
public void InitializeCustomCode()
{
	// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Variable Initialization' lines **
	// Begin Wizard Added Variable Initialization

	this.edvStart = ((EpiDataView)(this.oTrans.EpiDataViews["Start"]));
	this.edvStart.EpiViewNotification += new EpiViewNotification(this.edvStart_EpiViewNotification);
	this.LaborDtl_Column.ColumnChanged += new DataColumnChangeEventHandler(this.LaborDtl_AfterFieldChange);
	this.Start_DataView = this.Start_Row.dataView;
	this.Start_DataView.ListChanged += new ListChangedEventHandler(this.Start_DataView_ListChanged);
	// End Wizard Added Variable Initialization

	// Begin Wizard Added Custom Method Calls

	this.btnAsmDocuments.Click += new System.EventHandler(this.btnAsmDocuments_Click);
	this.btnTest.Click += new System.EventHandler(this.btnTest_Click);
	this.btnGetAttachments.Click += new System.EventHandler(this.btnGetAttachments_Click);
	// End Wizard Added Custom Method Calls
	// Start Grid Column URL
	this.grid1 = (EpiUltraGrid)csm.GetNativeControlReference("c3b69139-fa5c-4506-b0be-655787a11420");
	// End Grid Column URL
}

public void DestroyCustomCode()
{
	// ** Wizard Insert Location - Do not delete 'Begin/End Wizard Added Object Disposal' lines **
	// Begin Wizard Added Object Disposal

	this.btnAsmDocuments.Click -= new System.EventHandler(this.btnAsmDocuments_Click);
	this.edvStart.EpiViewNotification -= new EpiViewNotification(this.edvStart_EpiViewNotification);
	this.edvStart = null;
	this.btnTest.Click -= new System.EventHandler(this.btnTest_Click);
	this.LaborDtl_Column.ColumnChanged -= new DataColumnChangeEventHandler(this.LaborDtl_AfterFieldChange);
	this.btnGetAttachments.Click -= new System.EventHandler(this.btnGetAttachments_Click);
	this.Start_DataView.ListChanged -= new ListChangedEventHandler(this.Start_DataView_ListChanged);
	this.Start_DataView = null;
	// End Wizard Added Object Disposal

	// Begin Custom Code Disposal

	// End Custom Code Disposal
	// Start Grid Column URL
	this.grid1 = null;
	// End Grid Column URL
}

private void btnAsmDocuments_Click(object sender, System.EventArgs args)
{
      
	LaunchFormOptions lfo = new LaunchFormOptions();
	lfo.IsModal = false;
	lfo.SuppressFormSearch = true;
	MessageBox.Show("oTrans Calling UDDRAWGS");
	ProcessCaller.LaunchForm(oTrans, "UDDRAWGS", lfo);
	MessageBox.Show("StartProdForm Calling BO Epicor.Mfg.UI.DrawingsEntry");
	ProcessCaller.LaunchForm(StartProdForm, "Epicor.Mfg.UI.DrawingsEntry", lfo);
	MessageBox.Show("StartProdForm Calling Process Menu UDPASMDC");
	ProcessCaller.LaunchForm(StartProdForm, "UDPASMDC", lfo);

}


private void btnTest_Click(object sender, System.EventArgs args)
{
	// ** Place Event Handling Code Here **
	MessageBox.Show("Test MsgBox");
	SearchOnDrawingsAdapterShowDialog();
}

private void SearchOnDrawingsAdapterShowDialog()
{
	// Wizard Generated Search Method
	// You will need to call this method from another method in custom code
	// For example, [Form]_Load or [Button]_Click

	bool recSelected;
	string whereClause = string.Empty;
	System.Data.DataSet dsDrawingsAdapter = Ice.UI.FormFunctions.SearchFunctions.listLookup(this.oTrans, "DrawingsAdapter", out recSelected, true, whereClause);
	if (recSelected)
	{
		System.Data.DataRow adapterRow = dsDrawingsAdapter.Tables[0].Rows[0];

		// Map Search Fields to Application Fields
		EpiDataView edvStart = ((EpiDataView)(this.oTrans.EpiDataViews["Start"]));
		System.Data.DataRow edvStartRow = edvStart.CurrentDataRow;
		if ((edvStartRow != null))
		{
			edvStartRow.BeginEdit();
			edvStartRow["JobNum"] = adapterRow["Key1"];
			edvStartRow.EndEdit();
		}
	}
}

//**********************
// Start Grid DyanmicQuery
private void getData()
{
DynamicQueryAdapter dynAdptr = new DynamicQueryAdapter(StartProdForm);
dynAdptr.BOConnect();
DataTable results;
string baqName = “BAQ-AsmAttachments”;
////////
Ice.BO.QueryExecutionDataSet dsBAQ = dynAdptr.GetQueryExecutionParametersByID(baqName);
string sJobNum = (string)edvStart.dataView[edvStart.Row][“JobNum”];
string sAsmSeq = edvStart.dataView[edvStart.Row][“AssemblySeq”].ToString();
MessageBox.Show("Before DynQuery - JobNum: " + sJobNum + "AssemblySeq: " + sAsmSeq);

	dynAdptr.ExecuteByID(baqName, dsBAQ);
	if (dynAdptr.QueryResults != null && dynAdptr.QueryResults.Tables.Count > 0)
	{
		results = dynAdptr.QueryResults.Tables["Results"];
	}
	else
	{
		results = new DataTable();
	}
	EpiDataView edv = (EpiDataView)oTrans.EpiDataViews[baqName];
	if (!(edv != null))
	{
		edv = new EpiDataView();
		oTrans.Add(baqName, edv);
	}
	edv.dataView = results.DefaultView;
	grdAttachments.DataSource = results;
	try
	{
	SetColumn();
	}
	catch(Exception ex)
	{
	   MessageBox.Show("ColumnSet error: " + ex);
	}
}		
// End Grid DyanmicQuery
//*********************
private void btnGetAttachments_Click(object sender, System.EventArgs args)
{
	// ** Place Event Handling Code Here **
/// DynamicQuery
			getData();
}
private void SetColumn()
{
// Start Grid Column clickable URL
grid1.DisplayLayout.Bands[0].Columns["XFileRef_XFileName"].Style = Infragistics.Win.UltraWinGrid.ColumnStyle.URL; 
// End Grid Column clickable  URL
}

}