RdsService.cloneItems

Синтаксис

cloneItems(dict: PP.Rds.Dictionary, parentKey: String, sourceKeys: Array, callback: function|PP.Delegate);

Параметры

dict. Справочник НСИ, копии элементов которого требуется сделать;

parentKey. Ключ элемента справочника,который станет родителем для скопированных элементов;

sourceKeys. Ключи копируемых элементов.

callback. Возвратная функция.

Описание

Метод cloneItems создаёт копии элементов справочника.

Пример

Для выполнения примера необходимо наличие на странице компонента DictionaryBox с наименованием «dictionaryBox» (см. «Пример создания компонента DictionaryBox» ). Сделаем копии всех дочерних элементов справочника НСИ, в качестве родителя установим первый элемент, обработаем событие ItemOperationDone:

// Получим справочник НСИ
var source = dictionaryBox.getSource()[0];
// Получим сервис для работы со справочником
var service = source.getPPService();
// Обработаем событие ItemOperationDone
service.ItemOperationDone.add(function (sender, args) {
    console.log("Родительский элемент: %s", args.ParentKey);
    console.log("Тип операции: %s", args.Operation);
    if (args.Keys) {
        console.log("Ключи элементов: %s", args.Keys.toString());
    }
})
// Получим дочерние элементы справочника
var childEls = source.getChildEls();
var keys = [];
for (var i = 0; i < childEls.length; i++) {
    keys.push(childEls[i].getKey());
};
// Сделаем копии элементов
service.cloneItems(source, keys[0], keys, function () {
    var keysToLoad = [];
    keysToLoad.push({
        key: source._rootKey
    });
    service.getToKeys(source, keysToLoad);
    // Обновим дерево элементов справочника
    dictionaryBox.getDataArea().getActiveDictTree().refreshAll();
});

В результате выполнения примера были созданы копии всех дочерних элементов справочника НСИ, родителем которых стал первый дочерний элемент:

После срабатывания события ItemOperationDone в консоли браузера был выведен ключ родительского элемента, тип произведённой операции и ключи копий элементов:

Родительский элемент: 2102

Тип операции: Insert

Ключи элементов: 2114,2115,2116

См. также:

RdsService