免费一级A片不卡视频_欧美日本综合视频一区_五月天黄色网_在线日韩乱人伦_国产精品动漫久久www_人妻三级日本香港三级极99_自拍偷拍亚洲熟女精品视频_西西大胆高清人体在线

# 7.模型生命周期

# 邏輯事件

事件 描述
beforeCreate 單據創建時,卡片數據組裝之前
afterCreated 單據創建時,卡片數據組裝之后
beforeCalculate 單據字段觸發計算時,數據計算之前
afterCalculated 單據字段觸發計算時,數據計算之后
beforeUpdate 單據執行保存操作時,卡片數據組裝之前
afterUpdate 單據執行保存操作時,卡片數據組裝之后
afterUpdated 單據數據全部保存完成,索引更新完成之后
stateChanged 單據狀態發生改變的時候,從一個狀態到另一個狀態之時
afterUpdateCommit 單據數據保存提交之后

# 處理程序

# NkDocAssertCycleInterceptor 通用的數據校驗程序

{
	"提示信息1": "${表達式,返回boolean}",
	"提示信息2": "${表達式,返回boolean}",
	"提示信息3": "${表達式,返回boolean}"
}
1
2
3
4
5

# NkDocByCondiUpdateDocInterceptor 更新當前單據

提示

_condition:處理程序執行條件,可使用表達式 formCard:描述哪個卡片觸發的計算,(如果事件是帶計算的,并且calculate為TRUE,一定要指定formCard,不然后造成循環調用) _calculate:值為TRUE 或者false,表示是否觸發計算 updates:更新的卡片數據,value值是表達式

在參數列中填入json參數

{
  "_condition": "${返回真或假,表示是否執行更新邏輯}",
  "formCard":"NkDynamicForm",
  "_calculate":"true",
  "updates": {
    "docState": "'VOFF'",
    "data.custom.name":"'張三'",
    "data.custom.age":"18",
    "data.custom.address":"${data.idcard.address}"
  }
}
1
2
3
4
5
6
7
8
9
10
11

# NkDocDingTalkMessageInterceptor 釘釘機器人消息發送

提示

_condition:處理程序執行條件,可使用表達式,默認為true url:發送消息的url地址 data:發送數據集合

在參數列中填入json參數

{
	"_condition": "${docState=='S004'}",
	"url": "https://oapi.dingtalk.com/robot/send?access_token=24c9f168a382104bd0f36e0808cc9e9fa698934202e5ac2e4590299c831cee25",
	"data": {
		"msgtype": "markdown",
		"markdown": {
			"title": "#{data?.quest?.person?.docName}有BUG待處理",
			"text": "@#{data?.quest?.personMobile}你有新的BUG待處理\n\n任務:**#{data?.message?.desc}**\n\n測試人員:#{data?.test?.tester?.docName}\n\n[點擊查看詳情](http://pm.nkpro.cn/#/apps/docs/detail/#{docId})"
		},
		"at": {
			"atMobiles": ["${data?.quest?.personMobile}"],
			"isAtAll": false
		}
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# NkDocShortMessageNotificationInterceptor 短信通知

提示

_condition:處理程序執行條件,可使用表達式,默認為true phone:接收方號碼,可傳多個接收方手機號 templateCode:簽名通道號,簽名通道號&模板Id(華為云) templateParams:模板參數,表達式模式

在參數列中填入json參數

{
        "_condition": "${docState == 'NEW'}",
         "phone": [],
        "templateCode": "簽名通道號&模板Id",       //簽名通道號和模板Id用&分割(華為云)
        "templateParams": {
            "1": "${@doc.detail(data.partner?.customer?.docId).data.base.comName}", //承租人名稱
            "2": "${@doc.detail(preDocId)?.docNumber}"
        }
}
1
2
3
4
5
6
7
8
9

# NkDocStateChangedCreateDocInterceptor 創建單據

單據存在則修改,不存在就創建

提示

_condition:處理程序執行條件,默認true _update:觸發修改條件,默認true _businessKey:目標單據業務主鍵 _validateSpEL:驗證表達式 _validateMessage:驗證提示 _refSpEL:映射到單據引用字段的路徑,要將本單據映射到目標單據的某個字段上 _optSource:操作描述 _calculate:創建或修改數據時候是否需要計算 _postConditionSpEL:后置條件表達式,若為空則為true docType:需要創建的單據類型 docState:需要創建的單據狀態 docName:目標單據名稱 preDocId:目標單據的前序單據ID 可配 data:目標的單據的默認卡片數據

在參數列中填入json參數

{
	"_condition": "${docState == 'ACTI'}",
	"_update": true,
	"_businessKey": "${docId}",
	"_validateSpEL": true,
	"_validateMessage": "",
	"_refSpEL": "data.overdue.urgeQuest",
	"_calculate": true,
	"_optSource": "",
	"preDocId": "${docId}",
	"docType": "RBM1",
	"docState": "NEW",
	"data": {
		"overdue": "${data?.overdue}"
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# NkDocStateChangedUpdateDocInterceptor 修改其他單據

單據存在則修改,不存在則不處理

提示

_condition:處理程序執行條件,默認true _update:觸發修改條件,默認true _businessKey:目標單據業務主鍵 _validateSpEL:驗證表達式 _validateMessage:驗證提示 _refSpEL:映射到單據引用字段的路徑,要將本單據映射到目標單據的某個字段上 _optSource:操作描述 _calculate:創建或修改數據時候是否需要計算 _postConditionSpEL:后置條件表達式,若為空則為true docType:需要創建的單據類型 docState:需要創建的單據狀態 docName:目標單據名稱 preDocId:目標單據的前序單據ID 可配 data:目標的單據的默認卡片數據

在參數列中填入json參數

{
	"_condition": "${docState == 'ACTI'}",
	"_update": true,
	"_businessKey": "${docId}",
	"_validateSpEL": true,
	"_validateMessage": "",
	"_refSpEL": "data.overdue.urgeQuest",
	"_calculate": true,
	"_optSource": "",
	"preDocId": "${docId}",
	"docType": "RBM1",
	"docState": "NEW",
	"data": {
		"overdue": "${data?.overdue}"
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16

# NkDocStateChangedLoopCreateDocInterceptor 創建單據[批量]

提示

該處理程序可以將某個表格數據批量生成單據

_loop:需要循環處理的數據

其他跟NkDocStateChangedCreateDocInterceptor 創建單據一致

在參數列中填入json參數

{
    "_loop":"${data?.certificate}",
	"_condition": "${docState == 'ACTI'}",
	"_update": true,
	"_businessKey": "${docId}",
	"_validateSpEL": true,
	"_validateMessage": "",
	"_refSpEL": "data.overdue.urgeQuest",
	"_calculate": true,
	"_optSource": "",
	"preDocId": "${docId}",
	"docType": "RBM1",
	"docState": "NEW",
	"data": {
		"overdue": "${data?.overdue}"
	}
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

# NkDocBalanceProcessInterceptor 創建或更新結余明細記錄

提示

在金額變動單據配置該生命周期程序,注意targetDocId必須要存在
在結余明細展示單據配置NkCardFinBalance | 結余 卡片

{
  "condition":"${}", //激活條件
  "targetDocId": "${}",//結余目標單據ID 使用示例:${@doc.getTargetDocId('單據類型')}
  "targetCardKey": "${}",//結余目標單據的結余卡片KEY
  "amount": "${}", //明細金額
  "remark":"${}",//描述說明,非必填
  "state": 2 //狀態,可選默認為2
}
1
2
3
4
5
6
7
8

提示

事件配合處理程序使用,可滿足個性化設計需求

目前系統中有通用的處理程序,也可根據需要自定義處理程序

參數一項可以向處理程序傳參

TODO 這一塊要刪除吧

# 創建

# 運算

# 更新

# 狀態變化

# 加載

# 單據交互

# 避免循環調用