Merge remote-tracking branch 'origin/main'

This commit is contained in:
2025-09-05 13:09:25 +08:00
3 changed files with 56 additions and 5 deletions

View File

@ -14,11 +14,11 @@
![Snipaste_2024-03-16_22-08-31](../1.0-EDM/assets/IMG-20240507121118806.png)
选中左下方标题栏,使用`x`命令将其打散
选中左下方标题栏,使用 `x` 命令将其打散(定义标题栏必须将块打散后重新定义块进行定义,即便已有标题栏,也不可通过在位编辑块功能调整块中属性,必须打散后重新定义)
![Snipaste_2024-03-16_22-11-42](../1.0-EDM/assets/IMG-20240507121118847.png)
打散后,需要为标题栏各栏信息定义属性
打散后,需要为标题栏各栏信息定义属性
## 属性定义

View File

@ -1,6 +1,4 @@
# 介绍
删除已有的物料分类
# 删除已有物料分类
**企业配置****对象分类** 中,可以对物料的分类进行管理,选择要删除的物料分类即可

View File

@ -894,4 +894,57 @@ begin
chiExecuteSqlNoResultRec('update cfdoc set code = ''' + ResultText + ''' where docid = ' + IntToStr(CurBizObj.objid));
end;
end.
```
## 执行流程归档文件
将过程设置为普通过程,在提交后的事件里写入归档文件脚本,实现该过程提交后,文件归档的操作
> 思路说明:
> 1. 通过 `shiCurBizObj` 获取当前业务对象
> 2. 从业务对象中提取工作流ID `WFId`
> 3. 构建动态 `SQL` 语句,将指定工作流相关的文档状态更新为"已归档"`stat=4`
> 4. 同时记录归档时间(使用系统当前时间)
> 5. 通过 `shiExeSql` 执行数据库更新操作,将文件标记为归档,并写入归档时间
```delphi
uses
Classes, SHostIntf, ThreadContextMan, IntfKernel, EntClas, CommonFunc, DataConst, DBIntf,
Data.Win.ADODB, Data.DB, SysUtils;
var
strSql: string; // 声明SQL命令字符串变量
iWFId: integer; // 声明工作流ID整型变量
CurBizObj: TEntClas; // 声明当前业务对象变量
begin
// 获取当前线程的业务对象实例
CurBizObj := shiCurBizObj;
// 如果当前业务对象不存在则退出程序
if CurBizObj = nil then
exit;
// 从业务对象中获取WFId字段的整数值
iWFId := CurBizObj.I['WFId'];
// 构建SQL更新语句
// 1. 将cfdoc表中符合条件记录的stat字段更新为4归档状态
// 2. 同时更新archivedtime字段为当前时间
// 3. 通过关联cfwfobj表确定需要更新的记录要求wfid匹配且objtypeid=10
strSql := Format(
'update cfdoc set stat = 4, archivedtime = ''%s'' ' +
'from cfwfobj a, cfdoc b ' +
'where a.wfid = %d and a.objtypeid = 10 and a.objid = b.docid',
[GetCurTimeStr, iWFId] // 参数1当前时间字符串参数2工作流ID
);
// 执行生成的SQL语句
shiExeSql(strSql);
end.
```
如果是对物料进行操作,则用如下语句:
```delphi
update pdmitem set stat = 4,archivedtime = ''%s'' from cfwfobj a,pdmitem b where a.wfid = %d and a.objtypeid = 21 and a.objid = b.itemid
```