从网格导出到Excel-无数据

时间:2019-01-29 15:41:24

标签: acumatica

我正在获取带有列的Excel电子表格,但是单击网格上的Excel图标时没有数据。

我在CR306030页面上放置了一个网格,该网格绑定到与该页面的CRActivity记录相关的自定义DAC的视图。我已将SkinID设置为Inquire,AllowImport = true。我的Graph扩展类中的视图如下所示:

 [PXImport(typeof(CRActivity))]
 public PXSelect<MyDac, 
    Where<MyDac.activityNoteID,
    Equal<Current<CRActivity.noteID>>>> MyDacView;

我不确定我缺少什么。我正在尝试将数据导出到网格中,所以我可能离这里很远。

TIA!

2 个答案:

答案 0 :(得分:1)

发生这种情况是因为我在FieldSelecting()事件处理程序内部进行了update()调用。由于某种原因,这导致出口停止运转。这给我带来了另一个问题,我将在另一个问题中发布,但是出口问题已解决。这是导致问题的扩展图中我的代码的样子:

 protected virtual void CRActivity_UsrCustomField_FieldSelecting(PXCache cache, PXFieldSelectingEventArgs e)
 {
      CRActivity activity = (CRActivity) e.Row;
      CRActivityExt activityExt = activity.GetExtension<CRActivityExt>();

      // Some code here.

      e.ReturnValue = TotalValue;
      activityExt.UsrCustomField = TotalValue;
      Base.Events.Update(activity);
 }

为了使导出正常工作,我将其更改为此:

 protected virtual void CRActivity_UsrCustomField_FieldSelecting(PXCache cache, PXFieldSelectingEventArgs e)
 {
      CRActivity activity = (CRActivity) e.Row;
      CRActivityExt activityExt = activity.GetExtension<CRActivityExt>();

      // Some code here.

      e.ReturnValue = TotalValue;
      //activityExt.UsrCustomField = TotalValue;
      //Base.Events.Update(activity);
 }

答案 1 :(得分:0)

添加“导出”按钮仅是必需的。设置SkinID进行查询将为您做到这一点。

您似乎遇到了一个不常见的情况,因此我建议回退暂定的解决方案,例如添加导入功能,以防您的实现发生错误而导致与导出功能发生冲突。

下一个问题我怀疑是一种担保/权利问题,或者是明确禁止调用导出记录的调用。删除不必要的代码并替换您正在使用的DAC可以帮助揭示根本原因,因为某些特定实体可能已被安全性锁定,而其他实体则没有。

如果您熟悉Acumatica Web服务,则值得一试来测试Web服务是否可以检索网格中的记录。如果他们不能这样做,则说明存在安全/权利问题。