金蝶云星空下游单据的操作控制上游单据的状态转换开发方案

文章目录

  • 金蝶云星空下游单据的操作控制上游单据的状态转换开发方案
    • 说明
    • 方案设计
    • 开发实现
      • 售后单增加变更状态
      • 反写规则反写状态:在保存配置了反写状态
      • 保存后删除,反写规则不生效,需要在删除操作配置插件根据关联关系进行反写
      • 生效操作:更新为 已变更

金蝶云星空下游单据的操作控制上游单据的状态转换开发方案

说明

一般来说,下游反写数量到上游的场景比较,比如用来控制超额,状态模式使用累加,就省事很多,保存累加,删除会自动扣减。但是状态反写,复选框和文本类的,就不能这样设计了。
本文就以状态反写来说明一下开发的实现,复选框和文本也是一样的。

方案设计

售后单增加变更标记:N未变更,A变更中,B已变更
售后单变更单保存的时候 反写变更单状态为变更中,
生效时反写为已变更,
删除反写为未变更

开发实现

售后单增加变更状态

拖动一个单据状态
在这里插入图片描述
修改标识
F_开发商_ChangeStatus
在这里插入图片描述
状态列表
在这里插入图片描述
默认状态值
在这里插入图片描述

锁定性

在这里插入图片描述
新建后:
在这里插入图片描述

反写规则反写状态:在保存配置了反写状态

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

保存后删除,反写规则不生效,需要在删除操作配置插件根据关联关系进行反写

新建删除类AfterOrderBGDelete

using Kingdee.BOS.App.Data;
using Kingdee.BOS.Core.DynamicForm.PlugIn;
using Kingdee.BOS.Core.DynamicForm.PlugIn.Args;
using Kingdee.BOS.Util;
using System;
using System.ComponentModel;
using System.Linq;
using 开发商.K3.Core.Const;

namespace 开发商.K3.SCM.App.Service.PlugIn.AS
{
    /// <summary>
    /// 功能描述    :售后单变更单-删除  
    /// 创 建 者    :Administrator
    /// 创建日期    :2023/11/9 9:48:21 
    /// 最后修改者  :Krystal
    /// 最后修改日期:2023/11/9 9:48:21 
    /// </summary>
    [Description("售后单变更单-删除"), HotUpdate]

    public class AfterOrderBGDelete : AbstractOperationServicePlugIn
    {
        #region <常量>
        #endregion <常量>

        #region <变量>
        #endregion <变量>

        #region <方法>
        #endregion <方法>

        #region <事件>
        public override void OnPreparePropertys(PreparePropertysEventArgs e)
        {
            base.OnPreparePropertys(e);
            e.FieldKeys.Add("FPKIDX_H");//售后单主键
        }
        public override void EndOperationTransaction(EndOperationTransactionArgs e)
        {
            base.EndOperationTransaction(e);
            if (e.DataEntitys == null || e.DataEntitys.Count() <= 0) return;
            foreach (var dyn in e.DataEntitys)
            {
                long afterId = Convert.ToInt64(dyn["FPKIDX_H"]);
                string billNo = dyn["BillNo"] + "";
                long fid = Convert.ToInt64(dyn["Id"]);//单据FID
                if (afterId>0)
                {
                    string sqlStr = string.Format(@"{0}UPDATE 开发商_T_AS_AfterOrder SET  F_开发商_ChangeStatus='N' WHERE FID={1};",OtherConst.DIALECT,afterId);
                    DBUtils.Execute(this.Context,sqlStr);
                }
            }
        }
        #endregion <事件>
    }
}

生效操作:更新为 已变更

同删除一样。区别在于sql语句。
sql语句为:

UPDATE XHWT_T_AS_AfterOrder SET  F_XHWT_ChangeStatus='B' WHERE FID=111

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第二证券:机构策略:大盘有望继续走出震荡攀升走势

3053点上方途径压力较为明显&#xff0c;短期内打破3053点上方途径需求量能的不断释放&#xff0c;周三两市成交量再度打破万亿&#xff0c;这为后市向上打破奠定了基础&#xff0c;短线大盘打破前期3053点上方途径难以一蹴即至&#xff0c;但先行目标科创100、国证2000现已光复…

欧莱雅SAP系统成功合并

欧莱雅集团是全球化妆品行业的大型企业。该集团分为四个部门&#xff1a;消费品&#xff08;欧莱雅巴黎、卡尼尔、美宝莲Jade&#xff09;、专业产品&#xff08;欧莱雅专业人士、卡诗、 Redken、 Matrix&#xff09;、欧莱雅奢侈品&#xff08;兰蔻、碧欧泉、赫莲娜、阿玛尼香…

URI 和 URL 的区别

URI包括URL和URN两个类别&#xff0c;URL是URI的子集&#xff0c;所以URL一定是URI&#xff0c;而URI不一定是URL URI Universal Resource Identifier 统一资源标志符&#xff0c;用来标识抽象或物理资源的一个紧凑字符串。 通过使用位置&#xff0c;名称或两者来标识Interne…

安卓TextView调整下划线颜色、与文本底部的距离

需要自定义view来实现&#xff0c;因为安卓的TextView没有提供设置颜色与间距的方法 实现效果 下划线颜色与文字不一样下划线距离文字底部的边界可调整但只能标记同一行的文字&#xff0c;也就是说下划线的start与end在同一行。还没多行的需求&#xff0c;有时间再说 packa…

css style、css color 转 UIColor

你能看过来&#xff0c;就说明这个问题很好玩&#xff01;IT开发是一个兴趣&#xff0c;更是一个挑战&#xff01;兴趣使你工作有热情。挑战使让你工作充满刺激拉满的状态&#xff01;我们日复一日年复一年的去撸代码&#xff0c;那些普普通通的功能代码&#xff0c;已经厌倦了…

2023_11_6 每日半小时 SQL 刷题

文章目录 1. 查询所有列题目描述SQL 语句编写 2. 查询多列题目描述SQL 语句编写 3. 查询结果去重题目描述SQL 语句编写 4. 查询结果限制返回行数题目描述SQL 语句编写 5. 将查询后的列重新命名题目描述SQL 语句编写 语法小总结 1. 查询所有列 题目链接&#xff1a;SQL1 查询所…

SpringCloud——服务注册——Eureka

1.Eureka概述 2.Eureka架构&#xff1a; Eureka中80服务要实现对8001和8002服务访问的负载均衡&#xff0c;需要在80服务的RestTemplate上面加LoadBalanced注解&#xff0c;默认采用的是轮询的策略。 3.Eureka自我保护 当一个EurekaClient注册进EurekaServer&#xff0c;Eurek…

每日一题 2258. 逃离火灾(手撕困难!!!)

火会扩散&#xff0c;但是我们可以看作火不会扩散到已经着火的格子&#xff0c;这样我们就可以记录每一个为草地的格子的着火时间在代码中&#xff0c;因为数字 2 已经表示墙了&#xff0c;所以我们把当时间为 0 时着火的格子在 gird 中的值设为 3&#xff0c;时间为 1 时着火的…

2023年开发语言和数据库排行

2023年开发语言和数据库排行 一、开发语言相关1. Python1.1 Python优点1.2 Python缺点1.3 Python应用领域 2. C 语言2.1 C 语言优点2.2 C 语言缺点2.3 C语言应用领域 3. Java3.1 Java 优点3.2 Java缺点3.3 Java应用场景 4. C4.1 C 优点4.2 C 缺点4.3 C 应用场景 5. C#5.1 C# 优…

(附源码)基于Springboot智慧园区管理系统-计算机毕设 88160

Springboot智慧园区管理系统的开发 摘要 随着互联网趋势的到来&#xff0c;互联网概念越来越盛行&#xff0c;园区管理最好方式就是建立自己的互联网系统。在现实运用中&#xff0c;应用软件的工作规则和开发步骤&#xff0c;采用Springboot框架建设智慧园区管理系统。 本设计主…

C语言 做一个学生信息管理系统

#include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct person {char name[30];char sex[10];int num;struct person *next; }stu; stu *head NULL; void printf_link(stu *head) {stu *pd head;while(pd ! NULL){printf("姓名&a…

深度学习读取txt训练数据绘制参数曲线图的方法

有一些深度学习模型是并不像yolo系列那样最终输出相应的参数图&#xff0c;有很多训练形成了一个训练log文件&#xff0c;于是需要读取log文件中的内容并绘制成曲线图。 如下实例&#xff0c;有一个log文件的部分截图&#xff0c;需要将其读取出来并绘制曲线图 废话不多说&…

物联网AI MicroPython学习之语法 ucollections集合和容器类型

学物联网&#xff0c;来万物简单IoT物联网&#xff01;&#xff01; ucollections 介绍 ucollections 模块用于创建一个新的容器类型&#xff0c;用于保存各种对象。 接口说明 namedtuple - 创建一个新namedtuple容器类型 函数原型&#xff1a; 创建一个具有特定名称和一组…

QT QStackedWidget

QStackedWidget是一个特殊的布局容器&#xff0c;它可以管理多个页面&#xff0c;并且只能显示其中一个页面。这些页面是QWidget或其派生类的实例&#xff0c;并通过调用addWidget()函数添加到堆栈中。 例如&#xff1a; #include <QWidgets> #include <QStackedWid…

一文掌握 Apache SkyWalking

Apache SkyWalking SkyWalking是一个开源可观测平台&#xff0c;用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。SkyWalking 提供了一种简单的方法来保持分布式系统的清晰视图&#xff0c;甚至跨云。它是一种现代APM&#xff0c;专为云原生、基于容器的分布式系…

绿联DX4600 AList部署及挂载阿里云盘

写在前面 ​ 因为云盘总是封禁已经转存的文件&#xff08;珍惜影片&#xff09;&#xff0c;实在受不了了&#xff0c;就像购买个NAS构建私人云存储&#xff0c;正好趁着双11购入了绿联的DX4600&#xff0c;本来想购入群晖或者威联通等专业NAS&#xff0c;因为不想折腾&#x…

SQL Server SSIS ETL job执行相关操作

创建SSIS项目 Excel导入SQL Server 构建Excel源 配置Excel源信息 配置SQL Server目标 双击“ADO NET目标” job执行 新建job 右键“SQL Server代理”的“作业”&#xff0c;点击“新建作业”&#xff0c;弹出“新建作业”的选项页 首先是“常规”选项页&#xff0c;…

RRC configured BWP

TS 38.822有UE BWP 相关能力 IE的详细介绍,如下图。 举例说明,对于UE上报bwp-SameNumerology=upto2时,根据上图中的描述,UE支持能力情况如下:每个carrier最多支持2 个UE specific RRC configured DL/UL BWPs;可以通过DCI和BWP-InactivityTimer主动切换BWP;每个carrier的…

聚焦谋发展,筑梦新征程——云起无垠乔迁新址

2021年7月&#xff0c;网络安全新锐企业北京云起无垠科技有限公司&#xff08;以下简称&#xff1a;云起无垠&#xff09;注册成立。云起无垠致力于研究漏洞挖掘尖端技术和打造卓越漏挖工具&#xff0c;并在业界迅速崭露头角&#xff0c;受到了广泛瞩目。 发展至今&#xff0c…

CSS中calc(80vw - 100px)为什么不加空格会不生效?

问题起因 今天再使用calc时发现无法生效&#xff0c;我的写法是&#xff1a; width: calc(100%-100px);页面无效果&#xff0c;加空格后就发现有效果了&#xff1a; width: calc(100% - 100px);有亿点疑惑&#xff0c;这是为什么&#xff1f; calc是什么&#xff1f; css3的…