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

Chronus采购发票FactBox选中行后如何获取对应记录?

解决Chronus采购发票场景下FactBox消失及选中记录获取问题

问题原因分析

你遇到的FactBox消失问题,大概率是原“Incoming Doc. Attach. FactBox”的数据源关联逻辑被干扰,或是自定义扩展未正确维持与主页面的上下文绑定。原FactBox依赖采购发票主页面的“Incoming Document No.”字段关联附件记录,切换选中文件时若上下文传递中断,就会导致FactBox失去数据源而消失。

正确获取选中记录的实现方式

要捕获选中的Incoming Document Attachment记录,OnAfterGetCurrRecord触发器是合适的选择,你需要在触发器中获取当前选中记录并传递给目标FactBox。以下是完整实现步骤:

1. 扩展原附件FactBox,捕获选中记录

修改你的pageextension代码,在触发器中同步选中记录到自定义FactBox:

pageextension 51101 "IncomingDoc.Attach.FactBoxExt" extends "Incoming Doc. Attach. FactBox"
{
    trigger OnAfterGetCurrRecord()
    var
        SelectedFileFactBox: Page "Selected File Details FactBox";
    begin
        // 将当前选中的附件记录传递给自定义FactBox
        if SelectedFileFactBox.IsOpen() then
            SelectedFileFactBox.SetRecord(Rec);
    end;
}

2. 创建自定义FactBox展示选中文件信息

新建一个CardPart类型页面,用于展示选中文件的详情:

page 51102 "Selected File Details FactBox"
{
    PageType = CardPart;
    SourceTable = "Incoming Document Attachment";
    CardPageID = "Incoming Document Attachment Card";

    layout
    {
        area(content)
        {
            group(FileDetails)
            {
                field("File Name"; Rec."File Name")
                {
                    ApplicationArea = All;
                }
                field("File Size"; Rec."File Size")
                {
                    ApplicationArea = All;
                }
                field("Created Date-Time"; Rec."Created Date-Time")
                {
                    ApplicationArea = All;
                }
                field("Document Type"; Rec."Document Type")
                {
                    ApplicationArea = All;
                }
            }
        }
    }
}

3. 将自定义FactBox添加到采购发票页面

扩展采购发票页面,把自定义FactBox加入FactBox区域:

pageextension 51103 "Purchase Invoice FactBox Ext" extends "Purchase Invoice"
{
    layout
    {
        addlast(Factboxes)
        {
            part("Selected File Details"; "Selected File Details FactBox")
            {
                ApplicationArea = All;
                // 初始绑定主页面的入库文档编号,确保FactBox初始加载有上下文
                SubPageLink = "Incoming Document No." = field("Incoming Document No.");
            }
        }
    }
}

解决FactBox消失的关键要点

  • 不破坏原FactBox的数据源关联:原FactBox的SubPageLink绑定了主页面的“Incoming Document No.”,扩展时不要修改这个配置,否则会导致原FactBox失去数据源。
  • 手动同步选中记录:同一入库文档下切换附件时,主页面字段未变化,SubPageLink不会自动刷新,需在原附件FactBox的触发器中手动调用SetRecord传递选中记录。
  • 检查扩展ID冲突:确保自定义扩展ID(51101、51102、51103)未与现有自定义对象重复,避免页面逻辑异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 16:07:42