我想在General Ledger中添加几列>期刊录入>批量选择屏幕。在我的具体情况下,我想添加Batch.CreatedByID和Batch.Description。
我该怎么做?
答案 0 :(得分:2)
选项1
打开选择器屏幕,按Ctrl + Alt +单击选择器屏幕进行检查,然后选择自定义数据字段。
然后,单击工具栏中的“选择器列”。在那里,您可以通过从列表中选择列来添加列。单击工具栏中的保存,发布自定义,刷新网站,您的选择器应全部设置!
选项2
要在选择器屏幕中添加列,您需要在屏幕图中声明CacheAttached方法。方法签名遵循以下语法:
protected virtual void DAC_FIELD_CacheAttached(PXCache cache)
{
}
原始DAC中应用的所有属性都不再被考虑,因此请确保将所有必要的属性放在该方法之上。 (版本5.10还有另一种方法,请参阅本文末尾的编辑)
[PXDBString(15, IsUnicode = true, IsKey = true, InputMask = ">CCCCCCCCCCCCCCC")]
[PXDefault()]
[PXUIField(DisplayName = "Batch Number", Visibility = PXUIVisibility.SelectorVisible)]
[BatchModule.Numbering()]
[PXFieldDescription]
//PXSelector() still to add
protected virtual void Batch_BatchNbr_CacheAttached(PXCache cache)
{
}
要在选择器屏幕中指定所需内容,请将PXSelector属性添加到CacheAttached方法。第一个参数是BQL语句,用于查询要在选择器屏幕中显示的数据。第二个参数是对我们有用的参数。这是一个params
参数,您可以在其中指定所需的所有字段作为屏幕中的列。
// Not showing previsouly added attributes for simplicity...
[PXSelector(
typeof(Search<Batch.batchNbr,
Where<Batch.module,
Equal<Current<Batch.module>>,
And<Batch.draft,
Equal<False>>>,
OrderBy<Desc<Batch.batchNbr>>>),
typeof(Batch.module), //This field will be your first column
typeof(Batch.batchNbr),
typeof(Batch.ledgerID),
typeof(Batch.finPeriodID),
typeof(Batch.status),
typeof(Batch.debitTotal),
typeof(Batch.creditTotal),
typeof(Batch.curyID),
typeof(Batch.createdByID),
typeof(Batch.description), //This field is the last column to be shown
Filterable = true
)]
protected virtual void Batch_BatchNbr_CacheAttached(PXCache cache)
{
}
以下是使用JournalEntry
using PX.Data;
using PX.Data.EP;
namespace PX.Objects.GL
{
public class JournalEntry_Extension : PXGraphExtension<JournalEntry>
{
[PXDBString(15, IsUnicode = true, IsKey = true, InputMask = ">CCCCCCCCCCCCCCC")]
[PXDefault()]
[PXUIField(DisplayName = "Batch Number", Visibility = PXUIVisibility.SelectorVisible)]
[BatchModule.Numbering()]
[PXFieldDescription]
[PXSelector(
typeof(Search<Batch.batchNbr,
Where<Batch.module,
Equal<Current<Batch.module>>,
And<Batch.draft,
Equal<False>>>,
OrderBy<Desc<Batch.batchNbr>>>),
typeof(Batch.module),
typeof(Batch.batchNbr),
typeof(Batch.ledgerID),
typeof(Batch.finPeriodID),
typeof(Batch.status),
typeof(Batch.debitTotal),
typeof(Batch.creditTotal),
typeof(Batch.curyID),
typeof(Batch.createdByID),
typeof(Batch.description),
Filterable = true
)]
protected virtual void Batch_BatchNbr_CacheAttached(PXCache cache)
{
}
}
}
编辑:从版本5.10开始,您可以将原始属性与CacheAttached方法上的属性合并。 你可以这样做:
[PXMergeAttributes(Method = MergeMethod.Merge)]
//PXSelector() still to add
protected virtual void Batch_BatchNbr_CacheAttached(PXCache cache)
{
}