单档——PK单号新增、修改时不允许编辑,PK单号自动生成
由系统自动生成单号(日期+流水),用户新增、修改时不允许编辑单号;
范例(cxmt631):
1)在#单头栏位开启设定#中,即 cxmt631_set_entry(p_cmd)下:
#add-point:Function前置處理 name="set_entry.pre_function"
{
#end add-point IF p_cmd = "a" THEN
CALL cl_set_comp_entry("xmabucdocno",TRUE)
#根據azzi850使用者身分開關特定欄位
IF NOT cl_null(g_no_entry) THEN
CALL cl_set_comp_entry(g_no_entry,TRUE)
END IF
#add-point:set_entry段欄位控制 name="set_entry.field_control"
} IF p_cmd = "a" THEN
CALL cl_set_comp_entry("xmabucdocno",FALSE)
#根據azzi850使用者身分開關特定欄位
IF NOT cl_null(g_no_entry) THEN
CALL cl_set_comp_entry(g_no_entry,TRUE)
END IF
#end add-point
END IF
a表示新增, CALL cl_set_comp_entry("xmabucdocno",FALSE) 表示设定控件是否可输入;原先是true允许输入,被注释掉改为false;
2)在#单头栏位关闭设定#,即 cxmt631_set_no_entry(p_cmd)下(以下代码原本就有,非客制):
IF p_cmd = 'u' AND g_chkey = 'N' THEN
CALL cl_set_comp_entry("xmabucdocno",FALSE)
#根據azzi850使用者身分開關特定欄位
IF NOT cl_null(g_no_entry) THEN
CALL cl_set_comp_entry(g_no_entry,FALSE)
END IF
#add-point:set_no_entry段欄位控制 name="set_no_entry.field_control" #end add-point
END IF
u表示修改;
r表示复制;
以上两个函数均为在cxmt631_input 中被调用;
3)在cxmt631_input 中,置入当新增时,调用自定义函数生成单号的指令:
#add-point:input開始前 name="input.before.input"
IF p_cmd = 'a' THEN
call cxmt631_test_xmabucdocno()
END IF
#end add-point
4)自定义函数 cxmt631_test_xmabucdocno()
PRIVATE FUNCTION cxmt631_test_xmabucdocno()
DEFINE
l_slip LIKE type_t.chr30,
l_yy LIKE type_t.chr30,
l_date LIKE type_t.chr30,
l_chr LIKE type_t.chr30,
l_verno LIKE type_t.chr30,
l_sql string #LET l_slip = "cxm-"
LET l_yy = g_today USING 'YYYY'
let l_yy = g_today using 'mm'
LET l_yy = g_today USING 'dd'
LET l_date = g_today using 'yyyymmdd'
LET l_chr = l_date CLIPPED LET l_sql = "SELECT MAX(SUBSTR(xmabucdocno,LENGTH(xmabucdocno)-2,3)) ",
" FROM xmabuc_t ",
" WHERE SUBSTR(xmabucdocno,1,LENGTH(xmabucdocno)-3) = '",l_chr,"'"
PREPARE t101_pr2 FROM l_sql
EXECUTE t101_pr2 INTO l_verno IF cl_null(l_verno) THEN
LET g_xmabuc_m.xmabucdocno = l_chr,"001"
ELSE
LET l_verno = l_verno + 1
LET g_xmabuc_m.xmabucdocno = l_chr,l_verno USING '&&&'
END IF
END FUNCTION
单档——PK单号新增、修改时不允许编辑,PK单号自动生成的更多相关文章
- Devexpress 中如何写ASPxGridView新增修改时的数据验证
//验证 protected void grid_Deptlist_RowValidating(object sender, DevExpress.Web.Data.ASPxDataValidatio ...
- OpenERP7.0中非admin帐号新增其它用户问题
在OpenERP7.0中,通过admin新增了一个管理员帐号,然后登录管理员帐号,再新增其它用户时提示错误,系统提示对users没有create权限. 经测试了解,是因为安装了多公司模块后,在记录规则 ...
- 基于PHP和mysql的自动生成表单
开发背景:公司要求管理系统能够由管理员在前台页面管理系统表单,能够对表单进行增删改查基本操作,表单的各个字段都可以被修改.删除,可以添加新的字段,并且不影响系统正常运行,前台表单展示要由系统自动处理, ...
- 疯狂的表单-html5新增表单元素和属性
疯狂的表单 2015/11/27 16:44:07 从三方面来介绍html5表单的新特性 表单结构更灵活 要提交数据的控件可以布局在form标签之外,看下面的代码,表单元素可以写到form元素之外,只 ...
- Laravel小项目之第4节 Laravel-通过表单实现新增及操作状态提示功能
第4节 Laravel-通过表单实现新增及操作状态提示功能 4.1 显示新增表单视图 4.2 通过模型实现新增 4.3 操作状态提示 4.1 显示新增表单视图 修改边栏的链接 \resources\v ...
- 单节点下多个Tomcat服务器并存的端口号配置
一个服务器节点同时安装多个tomcat服务器时,如果仅仅修改访问端口号则会提示端口冲突启动失败,还需要修改另外端口号解决,一共需要修改3处地方,修改如下: 编辑配置文件:server.xml 1.首先 ...
- centos 7 下进入单用户模式修改root密码
centos7进入单用户模式修改root用户密码 在工作中可能会遇到root密码忘记,那么这里就要进入单用户模式下了. 在重启电脑之后 时间:2015-05-13 10:42来源:blog.51cto ...
- salesforce 零基础学习(六十九)当新增/修改一条记录以后发生了什么(适合初学者)
salesforce开发中,我们会对object进行很多的操作,比如对object设置字段的必填性唯一性等,设置validation rule实现一下相关的字段的逻辑校验,设置workflow实现某个 ...
- SpringMVC中使用bean来接收form表单提交的参数时的注意点
这是前辈们对于SpringMVC接收表单数据记录下来的总结经验: SpringMVC接收页面表单参数 springmvc请求参数获取的几种方法 下面是我自己在使用时发现的,前辈们没有记录的细节和注意点 ...
随机推荐
- HTML5调用本地摄像头画面,拍照,上传服务器
实现功能和适用业务 采集本地摄像头获取摄像头画面,拍照保存,上传服务器: 前端上传图片处理,展示,缩小,裁剪,上传服务器 实现步骤 调取本地摄像头(getUserMedia)/上传图片,将图片/视频显 ...
- HearthBuddy炉石兄弟 如何调试ai
Sepefeets's update to botmaker's Silverfish AI This AI is a Custom Class for Hearthranger and Hearth ...
- 自动化测试 | 好用的自动化测试工具Top 10
欲善其事必先利其器,本文从软件测试人员痛点出发,介绍如何先从工具选择上取得优势,在有限的时间内完成工作.经常有人在公众号留言或是后台咨询,做自动化测试用哪个工具好,或是学哪门编程语言好呢? 这个时候总 ...
- 短信的内容提供者Uri和短信表结构
* sms表 * address :手机号码 * date :收发短信的时间 * read :短信的阅读状态 1,已读 0,未读 * type :收发短信的类型 1,收到短信 2,发出短信 * bod ...
- Sqlite的操作示例代码
import android.content.Context; import android.database.sqlite.SQLiteDatabase; import android.databa ...
- SMARTY核心
http://www.smarty.net/http://smarty.php.net/manual/en/ 1.配置 define("ROOTPATH",dirname(__FI ...
- PHP格式化数字和SMARTY格式化数字的方法
PHP格式化: $num="3";$format="%06d"; //6是位数,这里有6位数,0是不足6位的补0$a=sprintf($format,$num ...
- Python AES加密
使用pycrypto模块https://pypi.python.org/pypi/pycrypto/ >>> from Crypto.Cipher import AES>> ...
- [Distributed ML] Yi WANG's talk
王益,分布式机器学习的践行者,他的足迹值得后来者学习. 膜拜策略: LinkedIn高级分析师王益:大数据时代的理想主义和现实主义(图灵访谈)[心路历程] 分布式机器学习的故事-王益[历史由来] 分布 ...
- Python-sympy科学计算与数据处理(方程,微分,微分方程,积分)
方程 a,b,c,x = symbols("a b c x") my_eq = Eq(a*x**2+b*x+c,0) solve(my_eq,x) Out[12]: [(-b + ...