金蝶云星空表单插件单据体批量删除,序号自增

news2024/11/15 21:30:29

文章目录

  • 金蝶云星空表单插件单据体批量删除,序号自增
    • 字段标识说明
    • 表单插件
    • 获取单据体数据包
    • 移除物料为空的行
    • 其他移除物料为空的行的方式,但是测试不通过,不建议使用
    • 序号重新生成
    • 测试

金蝶云星空表单插件单据体批量删除,序号自增

字段标识说明

单据体标识:FEntity
序号标识:Seq
物料标识:F_XXXX_MaterialId
【一键删除】操作标识:CleanEmptyEntity

表单插件

在这里插入图片描述

获取单据体数据包

//获取单据体,为空提示操作失败
var entityD = this.View.Model.DataObject["FEntity"] as DynamicObjectCollection;
if (entityD==null || entityD.Count<=0)
{
    e.Cancel = true;
    base.View.ShowErrMessage("明细信息为空,无需操作。");
    break;
}
//不为空时,将物料为空的行全部删除,如果没有为空的行,那就提示操作失败
var canEntity = entityD.Where(s=>(s["F_XXXX_MaterialId_Id"]+"").Equals("0")).ToList();
if (canEntity == null || canEntity.Count <= 0)
{
    e.Cancel = true;
    base.View.ShowErrMessage("明细信息全部有效,无需操作。");
    break;
}

移除物料为空的行

 //循环删除分录1 测试通过
for (int i = entityD.Count - 1; i >= 0; i--)
{
    string seq = Convert.ToString(entityD[i]["Seq"]);
    var getIsDelete = canEntity.Where(s => (s["Seq"] + "").Equals(seq)).ToList().FirstOrDefault();
    if (getIsDelete != null)
    {
        entityD.RemoveAt(i);
    }
}

其他移除物料为空的行的方式,但是测试不通过,不建议使用

//循环删除分录4 测试不通过 删除第一条后,下一次循环获取报错:集合已修改;可能无法执行枚举操作。
foreach (var item in entityD)
{
    //直接判断 物料编码为空,则直接删除
    if ((item["F_XXXX_MaterialId_Id"] + "").Equals("0"))
    {
        entityD.Remove(item);
    }
}

在这里插入图片描述

//循环删除分录2 测试不通过 每删除一行,集合就少一行,然而循环的索引是递增的,所以就会有需要删除的行往前挪了,错过了判断删除的时机
//for (int i = 0; i <= entityD.Count - 1; i++)
//{
//    string seq = Convert.ToString(entityD[i]["Seq"]);
//    var getIsDelete = canEntity.Where(s => (s["Seq"] + "").Equals(seq)).ToList().FirstOrDefault();
//    if (getIsDelete != null)
//    {
//        entityD.RemoveAt(i);
//    }
//}

//循环删除分录3 测试不通过 不影响原来的实体
//for (int i = canEntity.Count - 1; i >= 0; i--)
//{
//    canEntity.RemoveAt(i);
//}


//循环删除分录5 测试不通过,无反应
//entityD.ToList().RemoveAll(s => (s["F_XXXX_MaterialId_Id"] + "").Equals("0"));
//entityD.ToList().RemoveAll(canEntity);
//entityD.ToList().RemoveAll(s => canEntity.Select(d => (d["F_XXXX_MaterialId_Id"] + "")).ToList().Contains((s["F_XXXX_MaterialId_Id"] + "")));
//entityD.ToList().RemoveAll(s => "0".Contains(s["F_XXXX_MaterialId_Id"] + ""));

序号重新生成

 //获取已经生成的行的最大序号,新的行按照这个继续递增
int maxSeq = entityD.Where(s => Convert.ToInt64(s["Id"]) > 0).Max(d => Convert.ToInt32(d["Seq"]));
//需要 序号重新编号
var sortSeqE = entityD.Where(s => Convert.ToInt64(s["Id"]) == 0).ToList();
for (int i=0;i< sortSeqE.Count();i++) 
{
    sortSeqE[i]["Seq"] = ++maxSeq;
}

this.View.UpdateView("FEntity");//刷新单据体

测试

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1284853.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Hadoop进阶学习---HDFS分布式文件存储系统

1.hdfs分布式文件存储的特点 分布式存储:一次写入,多次读取 HDFS文件系统可存储超大文件,时效性较差. HDFS基友硬件故障检测和自动快速恢复功能. HDFS为数据存储提供很强的扩展能力. HDFS存储一般为一次写入,多次读取,只支持追加写入,不支持随机修改. HDFS可以在普通廉价的机器…

【新手解答8】深入探索 C 语言:递归与循环的应用

C语言的相关问题解答 写在最前面问题&#xff1a;探索递归与循环在C语言中的应用解析现有代码分析整合循环示例代码修改注意事项结论 延伸&#xff1a;递归和循环的退出条件设置解析使用递归使用循环选择适合的方法 写在最前面 一位粉丝私信交流&#xff0c;回想起了当初的我C…

葡萄酒的储存条件会影响葡萄酒的陈酿吗?

自20世纪末以来&#xff0c;葡萄酒储存有关的行业一直在增长&#xff0c;一些葡萄酒鉴赏家可能会选择将葡萄酒存放在家里的专用房间或壁橱里。 自云仓酒庄品牌雷盛红酒分享总所周知&#xff0c;瓶装葡萄酒的储存条件是会影响葡萄酒的陈酿&#xff0c;振动和热波动会加速葡萄酒的…

室内外融合便携式定位终端5G+UWB+RTK

一、介绍 便携式定位终端主要用于提供高精度的位置数据&#xff0c;支持室内UWB定位和室外北斗系统定位功能&#xff0c;支持5G公网和5G专网通信功能&#xff0c;便携式定位终端中超宽带(UWB)和实时动态(RTK)技术的集成代表了精确位置跟踪方面的重大进步。这款UWBRTK便携式定位…

fastadmin权限树。树形下拉框

fastadmin 笔记 权限树 在构造方法中编写相应的代码 值得一提的是&#xff0c;你的表必须有 id 字段以及 pid 字段。 // 必须将结果集转换为数组$ruleList \think\Db::name("state_list")->field(createtime,updatetime, true)->order(id ASC)->select();…

Vue中使用 v-for 循环遍历对象

Vue中使用 v-for 循环遍历对象 start 经常使用 v-for 去遍历我们的数组&#xff0c;然后渲染页面。其实也可以遍历对象&#xff0c;下面介绍一下遍历对象的写法。 代码示例 <template><div id"app"><div v-for"(value, key) in obj" :k…

【23-24 秋学期】NNDL 作业10 BPTT

习题6-1P 推导RNN反向传播算法BPTT. 习题6-2 推导公式(6.40)和公式(6.41)中的梯度&#xff0e; 习题6-3 当使用公式(6.50)作为循环神经网络的状态更新公式时&#xff0c; 分析其可能存在梯度爆炸的原因并给出解决方法&#xff0e; 习题6-2P 设计简单RNN模型&#xff0c;分别…

VSCode 配置JavaScript环境

首先下载node.js&#xff0c;我的电脑是Windows10版本 之后安装node 在这里插入图片描述 安装成功 如果发现运行的时候还是报错&#xff0c;则添加环境变量试试 在Windows10版本的搜索框&#xff0c;搜索环境变量&#xff0c;点击 D:\Program Files\nodejs\ %NODE_HOME…

ArcGIS平滑处理栅格数据

一、实验背景 基于栅格数据的空间分析&#xff0c;常常需要根据特定的分析场景对栅格数据进行处理&#xff0c;如栅格数据的噪声处理。噪声是属性值具有突跃特征的像元位置&#xff0c;直接对带有噪声的栅格数据进行分析会对结果造成较大的影响。而降噪的主要方法之一是平滑&a…

Vue 生成包含数字大小写字母的随机字符串

generateRandomID() {const characters 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ;const idLength 30; // 字符串长度 这里生成30位的let randomID ;for (let i 0; i < idLength; i) {const randomIndex Math.floor(Math.random() * characters…

GitHub Copilot试用指南

GitHub Copilot试用指南 首先读这个文档&#xff0c;按照步骤开启30天的试用&#xff1a;管理个人帐户的 GitHub Copilot 订阅 然后读这个文档&#xff1a;使用 IDE 中的 GitHub Copilot 聊天 &#xff0c;在你习惯使用的IDE中配置copilot&#xff0c;暂时好像只支持jetbrai…

EM32DX-E4【C#】

1外观&#xff1a; ecat总线&#xff0c;分布式io 2电源&#xff1a; 靠近SW拨码&#xff1a;24V 中间&#xff1a;0V 靠近面板&#xff1a;PE接地 3DI&#xff1a; 6000H DI输入寄存器 16-bit &#xff08;16位输入&#xff09; 00H U8 子索引总数 01H Unsigned16 IN1…

YoloV5改进策略:Swift Parameter-free Attention,无参注意力机制,超分模型的完美迁移

摘要 https://arxiv.org/pdf/2311.12770.pdf https://github.com/hongyuanyu/SPAN SPAN是一种超分网络模型。SPAN模型通过使用参数自由的注意力机制来提高SISR的性能。这种注意力机制能够增强重要信息并减少冗余,从而在图像超分辨率过程中提高图像质量。 具体来说,SPAN模…

【Filament】Filament环境搭建

1 前言 Filament 是一个实时物理渲染引擎&#xff0c;用于 Android、iOS、Linux、macOS、Windows 和 WebGL 平台。该引擎旨在提供高效、实时的图形渲染&#xff0c;并被设计为在 Android 平台上尽可能小而尽可能高效。Filament 支持基于物理的渲染&#xff08;PBR&#xff09;&…

CefSharp 获取POST(AJAX)、GET消息返回值(request)

CefSharp作为专门为爬虫工具开发的库比Selenium这种开发目的是页面测试工具然后用来做爬虫的工具要贴心得多。我们操作网页的时候发送或者做了某个动作提交表单之后需要知道我们的动作或者提交是否成功&#xff0c;因为有的页面会因为网络延迟问题提交失败&#xff0c;需要准确…

2022 China Collegiate Programming Contest (CCPC) Guilin Site

A.Lily Problem - A - Codeforces 题意 思路 数所有周围没L的格子 #include <bits/stdc.h>using i64 long long;constexpr int N 2e5 10; constexpr int mod 1e9 7; constexpr int Inf 0x3f3f3f3f; constexpr double eps 1e-10;std::string s;int n;void solv…

Android Edittext进阶版(Textfieids)

一、Text fieids 允许用户在 UI 中输入文本&#xff0c;TextInputLayout TextInputEditText。 在 Text fieids 没出来(我不知道)前&#xff0c;想实现这个功能就需要自己自定义控件来实现这个功能。 几年前做个上面这种样式(filled 填充型)。需要多个控件组合 动画才能实现&a…

数据的力量:Web3 游戏运营指南

在充满活力的 Web3 游戏行业中&#xff0c;市场的起伏不定为开发者带来了挑战和机遇。利用数据的能力对于游戏开发者来说至关重要&#xff0c;能够实时监控游戏内的经济状况并分析玩家行为。这些功能可以帮助项目方获得宝贵的智慧洞察&#xff0c;优化游戏设计&#xff0c;提高…

2022年全国大学生数据分析大赛医药电商销售数据分析求解全过程论文及程序

2022年全国大学生数据分析大赛 医药电商销售数据分析 原题再现&#xff1a; 问题背景   20 世纪 90 年代是电子数据交换时代&#xff0c;中国电子商务开始起步并初见雏形&#xff0c;随后 Web 技术爆炸式成长使电子商务处于蓬勃发展阶段&#xff0c;目前互联网信息碎片化以…

python爬虫非对称加密RSA案例:某观鸟网站

声明&#xff1a; 该文章为学习使用&#xff0c;严禁用于商业用途和非法用途&#xff0c;违者后果自负&#xff0c;由此产生的一切后果均与作者无关 一、找出需要加密的参数 js运行 atob(‘aHR0cDovL2JpcmRyZXBvcnQuY24vaG9tZS9hY3Rpdml0eS9wYWdlLmh0bWw’) 拿到网址&#xf…