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

如何在Acumatica报价显示页面(SO301000)添加带链接的自定义字段

在Acumatica SO301000页面实现文本框链接跳转的方案

方式一:直接通过DAC字段属性配置(最省事)

如果你的链接文本框是自定义字段,直接在DAC里给字段加个属性就能自动转成可点击链接,不用写额外JS:

[PXDBString(255, IsUnicode = true)]
[PXUIField(DisplayName = "网站链接")]
[PXStringAttribute(InputMask = "<a href=\"{0}\" target=\"_blank\">{0}</a>")]
public virtual string UsrWebsiteLink { get; set; }
public abstract class usrWebsiteLink : PX.Data.BQL.BqlString.Field<usrWebsiteLink> { }

页面渲染时,文本框里的内容会直接变成带跳转的链接,点击就会打开新窗口访问目标网站。

方式二:通过Graph扩展注入JS脚本

要是用的是系统原有字段,或者需要更灵活的交互逻辑,就写个Graph扩展类,在页面加载时注入你的JS:

public class SOOrderEntryExtension : PXGraphExtension<SOOrderEntry>
{
    public override void Initialize()
    {
        base.Initialize();
        // 替换成实际的字段ID,可通过浏览器F12工具查看
        PXTrace.WriteInformation(@"
<script type='text/javascript'>
window.addEventListener('load', function() {
    const linkField = document.getElementById('edSOOrder_UsrWebsiteLink');
    if (linkField && linkField.value) {
        linkField.addEventListener('click', () => {
            window.open(linkField.value, '_blank');
        });
        // 给文本添加链接样式,提示可点击
        linkField.style.color = '#007bff';
        linkField.style.textDecoration = 'underline';
        linkField.style.cursor = 'pointer';
    }
});
</script>");
    }
}

方式三:在自定义项目里添加屏幕脚本

  1. 打开Acumatica的自定义项目编辑器,找到Screens下的SO.30.10.00,点击Script标签。
  2. 粘贴你的JS代码,用px.allocateTimeSlot确保脚本在页面加载完成后执行:
px.allocateTimeSlot(function() {
    // 用属性选择器匹配字段,避免硬编码ID
    const linkField = document.querySelector('[id*="UsrWebsiteLink"]');
    if (!linkField) return;

    linkField.addEventListener('click', function() {
        if (this.value.trim()) {
            window.open(this.value, '_blank');
        }
    });

    // 优化视觉样式
    linkField.style.color = '#007bff';
    linkField.style.textDecoration = 'underline';
    linkField.style.cursor = 'pointer';
});
  1. 发布自定义项目,刷新页面即可生效。

注意事项

  • 字段ID要准确,可通过浏览器F12开发者工具查看元素ID确认。
  • 如果跳转外部网站,需确认Acumatica的系统管理->网站偏好设置中未限制目标域名。
  • 测试前清除浏览器缓存,确保自定义配置已加载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 01:53:26