You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

SO302000中使用PXImport实现Excel上传遇属性无效报错咨询

解决SO302000界面Excel上传功能的PXImport属性报错问题

报错原因

PXImport属性仅能应用于DAC字段或Graph中的数据视图(PXSelect/PXSelectReadonly等声明的成员),你当前的代码将该属性直接放在类的代码块中,未绑定到任何有效成员,因此触发了“属性‘PXImport’在此声明类型上无效,仅对‘字段’声明有效”的错误。

解决方案

要在SO302000(发货处理)界面实现Excel上传发货明细行的功能,需将PXImport属性添加到对应的数据视图上,具体步骤如下:

  • 在SOShipmentEntry的Graph扩展类中,声明对应发货明细行的视图(或重写原Graph已有的视图),并为其添加PXImport和PXViewName属性;
  • 确保视图的查询条件与原Graph保持一致,保证数据关联正确。

正确代码示例

public class SOShipmentEntry_Extension : PXGraphExtension<SOShipmentEntry>
{
    // 扩展发货明细视图,添加Excel导入支持
    [PXImport(typeof(SOShipLine))]
    [PXViewName(Messages.SOShipLineSplit)]
    public PXSelect<SOShipLine, 
        Where<SOShipLine.shipmentNbr, Equal<Current<SOShipment.shipmentNbr>>>> ShipmentLines;

    // 可选:添加导入相关的事件处理逻辑
    protected void _(Events.RowInserted<SOShipLine> e)
    {
        // 此处可编写导入后的自定义处理逻辑,比如字段校验、默认值设置等
    }
}

补充说明

  • 添加上述代码后,SO302000界面的明细网格会自动出现Excel导入按钮;
  • 若需要对特定字段设置导入规则(比如必填、格式校验),可在SOShipLine的DAC扩展中,为对应字段添加PXImportAttribute的参数,或使用其他验证属性。

内容的提问来源于stack exchange,提问作者Xavier LARTEM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 08:47:31