Это напоминание о том, что вам нужно подумать, должен ли пользователь иметь доступ к данным, которые вы возвращаете из функции. Для полей таблицы ядро обычно делает это для вас на основе групп безопасности, в которых находится пользователь, и ключей безопасности, установленных в полях.
Чтобы проверить, имеет ли пользователь доступ к полю, используйте функцию hasFieldAccess
. Чтобы увидеть, как это используется, посмотрите на методы таблицы BankAccountStatement.openingBalance()
или CustTable.openInvoiceBalanceMST()
. Существуют и другие вспомогательные функции для проверки ключей безопасности, такие как hasMenuItemAccess
, hasSecuritykeyAccess
и hasTableAccess
.
.
В вашем случае добавьте этот код:
if(!hasFieldAccess(tablenum(ABC_Styles),fieldnum(ABC_Styles,StyleName)))
{
throw error("@SYS57330");
}
Даже после добавления этого кода вы все равно получите ошибку Best Practice. Чтобы сообщить компилятору, что вы обратились к проблеме, вам необходимо добавить следующий комментарий непосредственно перед объявлением функции:
//BP Deviation Documented