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

Dynamics NAV 2018如何仅循环页面中选中的记录?

解决Dynamics NAV 2018中仅修改选中记录的问题

你可以通过两种方式实现仅遍历并修改页面中选中的记录:

方法一:使用SETSELECTIONFILTER结合FINDSET

修正后的代码如下:

// 先判断是否有选中记录,避免无效操作
IF CurrPage.SELECTEDCOUNT = 0 THEN
    EXIT;

// 将选中记录设置为当前记录的筛选条件
CurrPage.SETSELECTIONFILTER(Rec);
// 加载选中的记录集合
IF Rec.FINDSET THEN
    REPEAT
        Rec.App := TRUE;
        Rec.MODIFY;
    UNTIL Rec.NEXT = 0;

原代码的问题在于执行SETSELECTIONFILTER后,没有调用FINDSET来定位到选中的记录集合,直接使用REPEAT...UNTIL会遍历所有符合页面当前筛选的记录,而非仅选中的部分。

方法二:直接遍历选中记录(更直观)

使用SELECTEDRECORD和NEXTSELECTEDRECORD专门处理选中项:

WHILE CurrPage.SELECTEDRECORD(Rec) DO BEGIN
    Rec.App := TRUE;
    Rec.MODIFY;
    // 切换到下一条选中记录
    CurrPage.NEXTSELECTEDRECORD(Rec);
END;

这种方法无需依赖筛选设置,直接逐个获取页面上选中的记录,逻辑更清晰,也能确保只修改选中项。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 03:31:50