如何使用acumatica中的操作按钮将新的一些记录插入网格

时间:2016-02-23 08:21:25

标签: frameworks erp acumatica

我有2个表, Timesheet_Head Timesheet_Detail

Timesheet_Head fields :
TimesheetID
Month
Year

Timesheet_Detail fields:
TimesheetID
ActivityDate
ActivityDesc

我想显示由字段生成的部分记录,从第一天到该月的最后一天,点击操作按钮,例如:

No.   date       Description
1.    2/1/2016     
2.    2/2/2016
3.    2/3/2016
4.    2/4/2016
...   ...
29.   2/29/2016

有没有人有任何想法?提前谢谢。

1 个答案:

答案 0 :(得分:1)

据我所知,你正在努力实现这样的目标: expected behavior

所以行动'生成'会看起来像那样:

public PXAction<Filter> generate;
[PXUIField(DisplayName = "Generate", MapEnableRights = PXCacheRights.Update, MapViewRights = PXCacheRights.Update, Visible = true)]
[PXButton()]
public virtual IEnumerable Generate(PXAdapter adapter)
{
    Filter filter= TranFilter.Current;
    if(filter==null || filter.Year==null)
        return adapter.Get();
    FinYear year = PXSelect<FinYear, Where<FinYear.year, Equal<Required<FinYear.year>>>>.Select(this, filter.Year);
    for (DateTime date = year.StartDate ?? DateTime.Now; date < year.EndDate; date = date.AddDays(1))
    {
        Detail row = new Detail();
        row.Date = date;
        Details.Insert(row);
    }
    return adapter.Get();
}

如果您想实际使用一年而非财务年度,我猜您应该使用.Net DateTime类来获取该期间的第一个和最后一个日期。