2

我們正在開發使用Business Connector與我們的Dynamics AX 2009安裝的Intranet應用程序。如何確定用戶是否具有使用業務連接器更新表的權限

我們希望允許用戶更新某些表中的數據,如果用戶已經有權在AX中這樣做。也就是說,如果用戶的有效權限允許他們使用AX Windows客戶端更新數據,則他們應該能夠使用Intranet應用程序更新數據。

我們正在使用LogonAs方法並傳入當前用戶的登錄名。這一切都有效。但是,對於允許保存數據的用戶,我想要顯示更新按鈕。對於那些不允許的,我不想要任何按鈕來顯示。

有沒有辦法在不嘗試執行更新的情況下查詢給定更新的用戶權限?

回答

4

看一看靜態方法Global::hasTableAccess(tableId, AccessType)

所以像

hasTableAccess(tablenum(SalesLine), AccessType::Edit) 

的調用將檢查用戶是否具有足夠的權限編輯表 - 在這種情況下SalesLine

通過CallStaticClassMethod你可以直接調用它來傳遞這兩個參數,或者在X ++中用一個新的類來編寫一個簡單的包裝器,該類只接受表名並在你的行爲中調用具有適當值的方法lf - 後者具有不暴露未來版本中可能改變的原始數字表ID和枚舉值的益處。

相關問題