обязательное для заполнения
оранжевый цвет

Динамическое изменение обязательности заполнения поля

Например, есть поле у которого мы хотим динамически включать/выключать "обязательность заполнения".
Для этого можно использовать следующую функцию:

function SetFieldIsRequried(Window, Dataset, FieldName, IsRequired) {
  if (!Assigned(Window)) {
    return;
  }
  if (IsRequired != false) {
    var IsRequired = true;     
  }
  if (IsRequired) {
    Window.ComponentsByName('edt' + FieldName).CaptionColor =
      LayoutLookAndFeelRequiredItemColor;
  } else {
    Window.ComponentsByName('edt' + FieldName).CaptionColor =
      LayoutLookAndFeelDefaultItemColor;
  }
  Dataset.DataFields.ItemsByName(FieldName).IsRequired = IsRequired;
}

Нужно удостовериться что в вашем скрипте подключен скрипт "scr_Consts",
где описаны 2 константы:
var LayoutLookAndFeelRequiredItemColor = 0x076FF4;
var LayoutLookAndFeelDefaultItemColor = 0x874011;

Нравится

Поделиться

1 комментарий

Для получения цвета лучше использовать следующую функцию:

[javascript]
var Default16LayoutBlackColor = 0x000000;

function GetControlCaptionColorByThemeIsRequirment(IsRequired){
var Color;
var Theme = Connector.Attributes('THEME');
var UseTheme = !((Theme.toUpperCase() == 'FALSE')||(Theme == '0'))
if (IsRequired) {
if (UseTheme){
Color = LayoutLookAndFeelRequiredItemColor;
} else {
Color = Default16LayoutRedColor;
}
} else {
if (UseTheme){
Color = LayoutLookAndFeelDefaultItemColor;
} else {
Color = Default16LayoutBlackColor;
}
}
return Color;
}

[/javascript]

Показать все комментарии