Ниже приведен пример использования операции ChangeDimSelection для отметки элементов в заданном календарном периоде. В запросе передается моникёр открытого экземпляра календарного справочника, даты начала и окончания периода и уровни элементов, которые необходимо отметить. В ответе приходит сводная информация об отмеченных элементах.
В примере C# моникёр, даты начала и окончания периода передаются в качестве входных параметров функции.
{
"ChangeDimSelection" :
{
"tDim" :
{
"id" : "S1!M!S!S2"
},
"tArg" :
{
"elSelectOp" : "Set",
"elRelative" : "Unknown",
"setCalendarPeriod" :
{
"active" : "true",
"start" : "2000-01-01",
"end" : "2000-07-01",
"levels" :
{
"it" :
[
"Year",
"Quarter"
]
},
"append" : "true"
}
}
}
}
{
"ChangeDimSelectionResult" :
{
"id" : "S1!M!S!S2",
"selectionInfo" :
{
"firstSelected" :
{
"n" : "2000",
"a" :
{
"it" :
[
"1",
"2000-01-01",
"2000",
"YEARS:2000",
"1",
"<A T="A" V="2"><A T="D" V="36526"\/><A T="D" V="36891"\/><\/A>",
"2000",
"",
"",
"",
""
]
},
"ea" :
{
"it" :
[
{
"@v" : "1"
},
{
"@v" : "2000-01-01"
},
{
"@v" : "2000"
},
{
"@v" : "YEARS:2000"
},
{
"@v" : "1"
},
{
"@v" : "<A T="A" V="2"><A T="D" V="36526"\/><A T="D" V="36891"\/><\/A>"
},
{
"@v" : "2000"
},
"",
"",
"",
""
]
},
"k" : "YEARS:2000",
"h" : "0",
"o" : "0"
},
"lastSelected" :
{
"n" : "III квартал 2000",
"a" :
{
"it" :
[
"3",
"2000-07-01",
"III квартал 2000",
"QUARTERS:3.2000",
"6",
"<A T="A" V="2"><A T="D" V="36708"\/><A T="D" V="36799"\/><\/A>",
"2000",
"2",
"3",
"",
""
]
},
"ea" :
{
"it" :
[
{
"@v" : "3"
},
{
"@v" : "2000-07-01"
},
{
"@v" : "III квартал 2000"
},
{
"@v" : "QUARTERS:3.2000"
},
{
"@v" : "6"
},
{
"@v" : "<A T="A" V="2"><A T="D" V="36708"\/><A T="D" V="36799"\/><\/A>"
},
{
"@v" : "2000"
},
{
"@v" : "2"
},
{
"@v" : "3"
},
"",
""
]
},
"k" : "QUARTERS:3.2000",
"h" : "0",
"o" : "2"
},
"selectedCount" : "6",
"calendarPeriod" :
{
"active" : "1",
"start" : "2000-01-01",
"end" : "2000-07-01",
"levels" :
{
"it" :
[
"Year",
"HalfYear",
"Quarter"
]
}
},
"schema" :
{
"k" : "4294967295",
"vis" : "1",
"applyOnlyOnce" : "0",
"onceApplied" : "0",
"applyOnRebuild" : "0"
}
}
}
}
public static ChangeDimSelectionResult SelectCalendarPeriod(DmId moniker, DateTime StartPeriod, DateTime EndPeriod)
{
var somClient = new SomPortTypeClient(); //Прокси-объект для выполнения операций
//Параметры выполнения операции
var tSel = new ChangeDimSelection()
{
tArg = new ChangeDimSelectionArg()
{
//newInstance = true,
elSelectOp = DmElSelectOp.Set,
elRelative = DmElRelative.Unknown,
setCalendarPeriod = new DmCalendarSelectionPeriodArg()
{
active = true,
start = StartPeriod,
end = EndPeriod,
levels = new DimCalendarLvl[2] {DimCalendarLvl.Year, DimCalendarLvl.Quarter},
append = true
},
},
tDim = moniker
};
//Применение альтернативной иерархии и отметка элементов
var result = somClient.ChangeDimSelection(tSel);
return result;
}
См. также: