Пользователи отображаются серым цветом в разделе Администрирование приложения Terrasoft
Установка цвета для записи раздела происходит в функции grdDataOnGetRowDrawInfo сервиса scr_UsersGridArea.
Пользователь отображается серым цветом, только в том случае, если значение поле [IsInDatabase] источника данных ds_UserScript содержит enmNo.
Установка значения вычисляемого поля [IsInDatabase] происходит в событии OnDatasetCalcFields источника данных ds_UserScript:
if (IsEmptyValue(SQLObjectName)) {
return;
}
var IsInDatabase = Connector.DBEngine.GetIsUserExists(SQLObjectName);
if (IsInDatabase) {
Dataset.Values('IsInDatabase') = enmYes;
} else {
Dataset.Values('IsInDatabase') = enmNo;
}
Функция ядра Connector.DBEngine.GetIsUserExists(SQLObjectName) возвращает true, только при условии, что sql запрос вернет значение равное 1:
SQL:
Oracle:
где LoginName - логин пользователя на сервере
Примечание
Если sql запрос в orcale вернул значение больше 1, необходимо проверить параметры сессии (скорей всего не учитывается регистр в условии):
NLS_COMP
NLS_SORT
Регистр не учитывается:
NLS_COMP=ANSI;
NLS_SORT=BINARY_CI;
Регистр учитывается:
NLS_COMP=BINARY;
NLS_SORT=RUSSIAN;
Установить параметры сессии можно таким запросом:
ALTER SESSION SET NLS_SORT=RUSSIAN;