建立和搭配自訂欄位
雖然有大量立即可用的欄位可用於管理廣泛的商務流程,但有時公司需要追蹤系統中的其他資訊。 雖然程式設計師可以將這些欄位作為擴充新增到開發人員工具中,但自訂欄位功能允許直接從使用者介面新增欄位,從而允許您使用網路瀏覽器自訂應用程式以符合您的業務。
只有具有特殊許可權的使用者才能訪問此功能。
此影片顯示新新增自訂欄位到頁面有多輕鬆:新增自訂欄位。
建立自訂欄位
在您找出要在應用程式中追蹤的其他資訊後,您可以在適當的表格上建立自訂欄位並在頁面上公開該新欄位。
以下步驟描述建立自訂欄位並將該欄位放置在頁面上的過程。
瀏覽到需要新欄位的頁面。
因為最終目標是在表單上公開自訂欄位,所以建立自訂欄位的輸入點存在於個人化體驗中。 透過選取選項打開個人化工具欄,然後個人化此表單。
點選插入然後欄位。
選取要在其中公開新欄位的表單區域。 選取後,插入欄位對話方塊將顯示現有欄位的清單,這些欄位可以插入到頁面的選定區域中。
確認清單中不存在您感興趣的欄位。 如果是這樣,您只需在清單中選取該欄位並點選插入。
點選清單上方的建立新欄位按鈕以啟動建立自訂欄位的過程。 這將打開建立新欄位對話方塊。
如果您沒看到建立新欄位按鈕,您則沒有使用此功能的必要權限。
在建立新欄位對話方塊中,輸入以下資訊。
選取應新增此欄位的資料庫表。 請注意,只有支援自訂欄位的表格才會出現在下拉式清單中。 有關受支援表的技術詳情,請參閱以下區塊。
選取新欄位的資料類型。 可用的資料類型有核取方塊、日期、日期時間、十進位、數字、選項清單和文字。
- 如果您選取文字資料類型,您還可以指定可以在此欄位中輸入的文字的最大長度。
- 如果您選取選項清單資料類型,您還可以為該欄位選取一組有效值。
為欄位提供名稱、標籤和說明文字。 該名稱對應於資料庫中的實體欄位名稱,而標籤和幫助文字是用於在使用者介面中表示該欄位的文字。
如果這是您需要為此頁面建立的唯一欄位,請點選儲存。 如果您需要建立其他欄位,請點選儲存並新建並返回第 7 步。
附註
目前有每個表格 20 個自訂欄位的限制。
- 將建立新欄位對話方塊留白會將您退回到插入欄位對話方塊。 任何剛新增的自訂欄位都將自動標記在要插入頁面的欄位清單中。
- 點選插入,將標記的欄位插入頁面的選定區域。
- 可選: 從個人化工具列啟用 移動 模式,將新欄位移動到所選區域中的所需位置。 請參閱個人化使用者體驗了解如何使用各種個人化功能來最佳化表單以供您個人使用的更多資訊。
警告
在新增到頁面的自訂欄位中輸入值的能力取決於與自訂欄位關聯的表是可編輯的還是僅供讀取。 當關聯表為僅供讀取時,連結到該表的所有欄位 (包括任何自訂欄位) 也將是僅供讀取。
與其他使用者分享自訂欄位
在您建立自訂欄位並將其顯示在頁面上後,您可能希望向系統中的其他使用者提供包含新欄位的更新頁面檢視表。 這可以使用產品的個人化功能以兩種不同的方式實現:
- 推薦的方法是向適當的使用者組發布帶有新增到頁面的自訂欄位的已儲存檢視表。 如果未啟用已儲存的檢視表功能,系統管理員可從個人化頁面將個人化應用到所需使用者。 如需相關資訊,請參閱個人化使用者體驗。
- 或者,您可以匯出您的更改 (稱為個人化),將它們發送給一個或多個使用者,並讓每個使用者匯入您的更改。 個人化工具列上的管理選項使您能夠匯出和匯入個人化設定。
管理自訂欄位
所有自訂欄位的管理可以透過系統管理模組中的自訂欄位頁面來完成。 此頁面允許使用者存取許多功能,包括:
- 查看系統中所有自訂欄位的清單。
- 現有自訂欄位的有限編輯。
- 刪除自訂欄位。
- 在資料實體上公開自訂欄位。
- 提供自訂欄位標籤和說明文字的翻譯。
查看所有自訂欄位
自訂欄位頁面提供對系統中已定義的所有自訂欄位的可見性。 選取您感興趣的表格,頁面就會更新以顯示與該表格有關的自訂欄位清單。 從清單中選取一個自訂欄位將允許您查看有關該欄位的所有詳情。
編輯自訂欄位
建立自訂欄位後,只能在自訂欄位頁面上修改有關自訂欄位的某些資訊。
您能夠修改這些屬性:
- 標籤
- 說明文字
- 長度,用於文字欄位
您無法編輯以下屬性:
- 欄位名稱
- 資料類型
此外,對於選項清單欄位,自訂欄位的有效值集可以重新排序,並且可以新增新值;但是,無法移除選項清單欄位的現有值。 當您編輯完對特定表格的欄位後,請點選套用更改,以儲存更改。
在資料實體上公開自訂欄位
允許自訂欄位在資料實體上顯示也可能很重要。 資料實體用於Office 整合概述功能和資料匯入/匯出案例。
按照以下步驟在資料實體上公開自訂欄位:
- 在自訂欄位頁面上選取自訂欄位。
- 展開實體區塊以查看相關實體集。
- 點選編輯按鈕。
- 修改為應公開此欄位的每個實體選取的已啟用欄位。
- 點選套用更改以儲存您的選取。
允許自訂欄位以其他語言顯示
由於使用者可能需要以多種語言存取自訂欄位,因此自訂欄位頁面提供了一種機制,允許將自訂欄位的標籤和幫助文字翻譯成其他語言。
以下步驟描述了將自訂欄位翻譯成其他語言的過程:
在自訂欄位頁面上選取自訂欄位。
在動作窗格中選取翻譯按鈕。 這將打開一個下拉式選單,其中包含該欄位的現有翻譯。
語言下拉式選單顯示已提供翻譯的語言集。
如果要編輯現有翻譯,請從選單中選取語言並修改標籤和說明文字的值。
否則,點選新增語言按鈕,從選單中選取所需的語言,然後為標籤和說明文字提供翻譯值。
當您完成時點選確定。
刪除自訂欄位
當您決定不再需要該自訂欄位時,系統管理員可以從自訂欄位頁面中選擇以刪除該欄位。 若要刪除自訂欄位,請選取要刪除的欄位,點選刪除,點選是以確認刪除,最後點選套用更改。
附註
此動作為無法復原,並且會導致與該欄位相關之資料從資料庫中永久刪除。
附錄
為什麼我不能在我的自訂欄位中輸入值?
如果您在頁面處於編輯模式時無法在自訂欄位中輸入值,這可能是因為新增該欄位的表格目前是僅供讀取。 如果支援表目前在頁面上設定為僅供讀取,則表中的所有欄位都變為僅供讀取。
誰可以建立自訂欄位?
根據預設,只有系統管理員才能建立自訂欄位。 但是,系統管理員可以使用執行階段自訂高級使用者安全角色授予組織認為必要的那些進階使用者建立自訂欄位的權限。 沒有此安全角色的使用者將無法建立自訂欄位,但仍可以查看系統中其他使用者新增的自訂欄位並與之互動。
哪些表支援自訂欄位?
出於效能和技術原因,目前只有滿足以下條件的表才允許新增自訂欄位。
該表必須標記為以下組之一:
- 群組
- WorksheetHeader
- 主要
- 雜項
- 參數
- 參考
- TransactionHeader
該表格不能擴展另一個表格。
該表格不能標記為系統資料表。
該表格不能是臨時表格。
我可以從開發人員工具中參考自訂欄位嗎?
自訂欄位只能透過使用者介面進行管理,不能依代碼被參照。
我可以把自訂欄位當成擴充欄位轉移到表格中,同時保留值嗎?
自訂欄位資料可以作為擴充欄位轉移到表格中。 若要使用自訂 X++ 腳本以從自訂欄位取得並對應對應資料,請依照下列步驟操作:
- 取得自訂欄位的欄位名稱。
- 使用
.getFieldValue(_fieldName)
方法取得來源表格上的值。
您可以使用TableExtensionManagerFactory::CreateExtensionManager()
擴充管理器在 Microsoft.Dynamics.Ax.Xpp.MetadataExtensions 庫上建立 .GetRuntimeExtension(_tableName, SysCustomFieldConstants::ExtensionName)
擴充構建物件,以取得有關擴充欄位的類型/中繼資料的詳細資訊。
附註
在自訂欄位和新擴充欄位之間轉移所有記錄的資料時,從查詢中排除具有預設值的記錄。 使用 SysDa 架構的更新陳述式以獲得更好的效能。
如何在環境之間移動自訂欄位?
目前在環境之間移動自訂欄位的建議是在目標環境中手動重新建立自訂欄位。 若要查看特定表上自訂欄位的完整清單:
- 請移至自訂欄位頁面,從下拉式選單中選取該表格。
- 在目標環境中,按照本文前面描述的程序重新建立每個欄位。
- 一旦建立好所有欄位後,點選 套用變更。
- 透過從原始環境匯出這些個人化設定並將其匯入到目標環境,可以移動包含自訂欄位的所有個人化設定。