В карточке редактирования wnd_...Edit предлагается выделять Caption визуальных контролов для полей Dataset-а с признаком "Только для чтения" цветом, отличающимся от цвета остальных полей, например, зеленым, или выставлять IsEnabled = false.
Нравится
Если заголовки (Caption) визуальных контролов для полей с признаком "Только для чтения" и для других полей имеют один и тот же цвет, то пользователь постоянно путается при вводе данных.
Вот пример решения:
[javascript]
//Модуль scr_BaseDBEditUtils
function ProcessBaseDBEditOnPrepare(Window, BaseDBEdit) {
...
/* Добавляем строчку в функцию... */
SetCaptionColorForIsReadOnlyFields(Window); //Устанавливает цвет для полей с признаком "Только чтение"
}
//Устанавливает цвет для полей с признаком "Только чтение"
function SetCaptionColorForIsReadOnlyFields(Window) {
for (var i = 0; i < Window.ComponentCount; i++) {
if (!IsUndefined(Window.Components(i).DataField)) {
if (Window.Components(i).DataField.IsReadOnly) {
//Можно включить выделение цветом --> Window.Components(i).CaptionColor = clReadOnlyCaptionColor;
Window.Components(i).IsEnabled = false;
}
}
}
}
[/javascript]
Добрый день, Петр.
В карточках редактирования элементы, поля которых имеют признак ReadOnly, отображаются серым цветом.
Если Вашим пользователям недостаточно базового отображения ReadOnly полей, то можно пойти и тем путем, который Вы описали. Действительно хороший вариант!