selectLevel(dim: PP.Mb.DimSource, args: Object, callback: Function | PP.Delegate, errorCallback: Function | PP.Delegate);
dim. Справочник;
args. Аргументы операции. Объект должен содержать следующие поля: selId - моникёр отметки; groupId - идентификатор группы; selCommand - тип операции, элемент перечисления PP.Mb.SelCommands; fireEvent - признак вызова события DimSrv.SelectionChanged, если для параметра установлено значение true, то событие будет вызвано;
callback. Функция обратного вызова;
errorCallback. Функция обратного вызова при ошибке.
Метод selectLevel устанавливает отметку элементам заданного уровня.
Для выполнения примера предполагается наличие на html-странице компонента DimTree с наименованием «dimTree», источником которого является справочник «dim» (см. «Пример создания компонента DimTree»). Определим временной промежуток, охватываемый элементами справочника, с учётом отмеченного уровня:
// Создаём сервис для работы со справочниками
var dimService = new PP.Mb.DimSrv({
Metabase: mb
});
// Создаём источник данных
var dimSource = new PP.Mb.DimSource({
Metabase: mb
});
function selectLevel(level) {
var args = {
selId: dim.getOdId().id,
levelId: level,
selCommand: PP.Mb.SelCommands.Select,
fireEvent: true
};
function callback(sender, args) {
// Прочитаем ответ сервера
var res = JSON.parse(args.ResponseText);
var res = JSON.parse(args.ResponseText);
var firstSelected = PP.getProperty(res, "ChangeDimSelectionResult.selectionInfo.firstSelected");
var lastSelected = PP.getProperty(res, "ChangeDimSelectionResult.selectionInfo.lastSelected");
if(firstSelected && lastSelected) {
console.log("%s - %s", firstSelected.n, lastSelected.n);
}
};
function errCallback(sender, args) {
if(args) {
console.log(args.ResponseText);
}
};
dimSource.addSelection(dim.getOdId());
// Отмечаем отметку элементам для выбранного уровня
dimService.selectLevel(dimSource, args, callback, errCallback);
};
// Устанавливаем отметку элементам уровня «Год»
selectLevel(1);
// Устанавливаем отметку элементам уровня «Квартал»
selectLevel(3);
// Устанавливаем отметку элементам уровня «Месяц»
selectLevel(4);
В результате выполнения примера в консоли браузера был выведен временной промежуток, охватывающий все элементы справочника и учитывающий отмеченные уровни - месяц, квартал, год:
1990 - 2005
1990 - IV квартал 2005
1990 - дек 2005
См. также: