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

Acumatica设置选择器默认值:将仓库DTC设为默认仓库求助

问题解决:设置默认仓库"DTC"

代码中的核心问题

  • 逻辑判断反向:原代码if(row != null)return;会导致数据行存在时直接退出方法,完全跳过设置仓库的逻辑,应改为判断行不存在时退出。
  • 类型不匹配:SiteID在Acumatica中是整数类型(对应仓库主键ID),不能直接赋值字符串"DTC",需先查询该仓库对应的ID值再赋值。

修正后的代码

protected void AMProdItem_InventoryID_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
{
    AMProdItem row = (AMProdItem)e.Row;
    if (row == null) return; // 行不存在时终止执行

    // 查询仓库"DTC"对应的SiteID
    Site site = PXSelect<Site, Where<Site.siteCD, Equal<Required<Site.siteCD>>>>.Select(Base, "DTC");
    if (site != null)
    {
        row.SiteID = site.SiteID;
    }
}

额外说明

  1. 需确保系统中已存在代码为"DTC"的仓库,否则查询会返回null,无法设置SiteID。
  2. 若需要在InventoryID为空时也设置默认仓库,可将逻辑迁移至RowSelected事件,或调整触发时机。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 20:31:07