簡體   English   中英

D365 CustomJS - 使用自動編號字段 OnSave 更新字段

[英]D365 CustomJS - Update Field with AutoNumber Field OnSave

我有一個名為“ID”的自動編號字段,它為記錄生成一個 ID。 我想將名為“ID_Name”的主要名稱字段設置為此。 我目前正在使用以下JS:

function setName(executionContext) {

formContext = executionContext.getFormContext();

var name = formContext.getAttribute("id").getValue();
formContext.getAttribute("id_name").setValue(name);

}

很簡單。 我得到“ID”的值,將其分配給一個名為 name 的 var,然后將“ID_Name”的值設置為該 var。 這會觸發 OnSave。

這在編輯記錄時工作正常。 問題是,這在創建新記錄時不起作用。 我假設因為在 OnSave 觸發時,自動編號字段“ID”尚未生成可以使用的值,因此 ID_Name 設置為空白。 當然在編輯的時候,ID是有值的,因為記錄已經提交了,所以沒有問題。 有沒有辦法解決這個問題?

您可以使用 OnLoad 事件做一些解決方法,並在兩個字段之間不匹配時觸發更新(這意味着該值尚未保存),但我強烈建議不要使用這種方法。

理想情況下,這可以使用 post 操作中的同步插件來解決,此時在管道中應該填充 id 字段(您沒有提到是否使用 OOB 自動編號或其他東西來生成該字段的內容)您可以在插件中觸發更新。

只需在實體的主要名稱字段上設置 OOB 自動編號選項。 不需要代碼,它可以避免重復數據,應盡可能避免。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM