前台显示单据分录内码
@[TOC](目录)
### 背景
有客户有这种业务需求,就是想在前台显示单据分录的内码,但是我们通版的FID和FENTRYID内码字段有控制不允许显示,也不允许增加与他字段名相同的字段。因此需要借助保存插件处理新增的数据、数据库SQL脚本处理历史数据
### 思路
1.在单据上新增一个整数字段(如果是显示表头的内码则加在单据头,如果是要显示表体的内码则加在单据体)
2.在保存插件中将FID或者FENTRYID赋值给新增的整数字段
3.通过SQL同步设置历史数据
### 步骤
#### 1、Python脚本写的操作插件(以采购入库单为例)
**单据头单据内码**
```python
import clr
clr.AddReference('System')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
from System import *
from Kingdee.BOS.Core import *
def OnPreparePropertys(e):
e.FieldKeys.Add("F_SXIM_Integer")
def BeginOperationTransaction(e):
if e.DataEntitys == None:
return
for entity in e.DataEntitys:
entity["F_SXIM_Integer"] = entity["Id"]
```
**单据体分录内码**
```python
import clr
clr.AddReference('System')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
from System import *
from Kingdee.BOS.Core import *
def OnPreparePropertys(e):
e.FieldKeys.Add("F_SXIM_Integer")
def BeginOperationTransaction(e):
if e.DataEntitys == None:
return
for entity in e.DataEntitys:
entrylis = entity["InStockEntry"]
for entry in entrylis:
entry["F_SXIM_Integer"] = entry["Id"]
```
插件注册位置:
![1.webp](/download/01004a8e55f533cd41929248703829864b0d.webp)
#### 2、SQL同步历史数据(以采购入库单为例)
单据头
```SQL
UPDATE T_STK_INSTOCK SET F_SXIM_INTEGER = FID WHERE F_SXIM_INTEGER = 0
```
单据体
```SQL
UPDATE T_STK_INSTOCKENTRY SET F_SXIM_INTEGER = FENTRYID WHERE F_SXIM_INTEGER = 0
```
==注:F_SXIM_INTEGER 是自己新增的整数字段的字段名,请注意替换。不要一股脑直接执行!!!==
**其他更多文章入口:**[https://wenku.my7c.com/link/s/lbRPP](https://wenku.my7c.com/link/s/lbRPP)
单据加载的时候,设置自定义字段的值为单据内码,不行么?
“注:F_SXIM_INTEGER 是自己新增的整数字段的字段名,请注意替换。不要一股脑直接执行!!!”
这是经受了多少打扰,才能备注这一句。
为啥我的会报这个错?没做过任何二开,就在标准的单据上去取明细体都不得行
单据加载的时候,设置自定义字段的值为单据内码,不行么?
古德OvO
前台显示单据分录内码
@[TOC](目录)### 背景有客户有这种业务需求,就是想在前台显示单据分录的内码,但是我们通版的FID和FENTRYID内码字段有控制不允许显示,也...
点击下载文档
本文2024-09-16 19:01:51发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-25958.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章