PP.Rds.Attribute(settings: Object);
settings. Настройки атрибута.
Конструктор Attribute создаёт экземпляр объекта атрибута справочника НСИ.
Для выполнения примера необходимо наличие на странице компонента DictionaryBox с наименованием «dictionaryBox» (см. «Пример создания компонента DictionaryBox» ). Создадим атрибут, добавим его в справочник НСИ и установим для всех дочерних элементов значение атрибута по умолчанию:
// Получим справочник НСИ
var source = dictionaryBox.getSource()[0];
// Создадим атрибут
var attribute = new PP.Rds.Attribute({
Id: "LastEditingDate",
Key: 1805, // Ключ атрибута
ArgKey: 7, // Ключ аргумента управляющего значением атрибута
HasMultipleValues: true, // Разрешим принимать несколько значений
IsTranslation: false, // Перевод отсутствует
IsMultilingual: false, // Не является мультиязычным
Nullable: false, // Не может принимать пустые значения
Kind: PP.Rds.AttributeKind.Calculated, // Вид атрибута
Type: PP.Mb.DbDataType.DateTime, // Тип
Owner: source, // Справочник, к которому принадлежит атрибут
VisibleForEdit: 2, // Доступен для редактирования, если не скрытый
Visible: true, // Видимый атрибут
Predefined: PP.Rds.PredefinedAttribute.InDate, // Атрибут предопределён
Name: "Дата последнего изменения", // Наименование атрибута
Tag: "Атрибут для хранения даты последнего изменения", // Пользовательская информация
ReadAccess: "1", // Разрешим только чтение пользователю «ADMIN»
WriteAccess: "2", // Разрешим запись пользователю «Администраторы»
TimeDependent: true // Будем также отображать время
});
// Установим созданный атрибут для справочника НСИ
var atrMd = attribute.getSettings();
atrMd.n = attribute.getName();
source.setAttribute(atrMd);
// Добавим созданный атрибут в метаданные
var metadata = source.getMetadata();
var attrsArr = PP.getProperty(metadata, "attrs.its.it");
attrsArr.push(atrMd);
// Получим дочерние элементы справочника
var childEls = source.getChildEls();
// Для атрибута всех элементов укажем значение по умолчанию
for (var i = 0; i < childEls.length; i++) {
childEls[i]._initAttrValues();
childEls[i].setValue("LastEditingDate", attribute.getDefaultValue());
};
// Обновим дерево элементов справочника
dictionaryBox.getDataArea().getActiveDictTree().refreshAll();
В результате выполнения примера был создан и отображён в справочнике атрибут с ключом 1805 и с наименованием «Дата последнего изменения». Для всех дочерних элементов было установлено значение атрибута по умолчанию:

См. также: