Различные объекты, в которых используются справочники, оперируют таким объектом как отметка справочника. Отметка справочника - это коллекция элементов справочника, которая будет использоваться при расчетах. Для работы с отметкой предназначен интерфейс IDimSelection. Для создания отметки справочника используется метод CreateSelection.
Var
MB: IMetabase;
DimInst: IDimInstance;
Selection: IDimSelection;
Begin
MB := MetabaseClass.Active;
DimInst := MB.ItemById("Dim_1").Open(Null) As IDimInstance;
Selection := DimInst.CreateSelection;
Для изменения списка элементов в отметке используются различные методы Select* и Deselect* интерфейса IDimSelection.
Var
//...
Selection: IDimSelection;
Begin
//...
Selection.DeselectAll;
Selection.SelectElement(0, False);
Selection.SelectElement(3, True);
Selection.SelectChildren(5, False);
Все методы оперируют сквозными индексами элементов. Для получения сквозных индексов элементов рекомендуется использовать различные виды поиска, описанные в разделе Поиск элементов. Поиск с настройкой условий поиска позволяет напрямую изменять отметку найденных элементов. Для получения сквозного индекса элемента в справочнике по индексу элемента в отметке используйте свойство Element.
Сформированная отметка может быть установлена для какого-либо компонента, элемента управления или передана в пользовательский метод для использования в расчетах.
Отметку можно сохранить, и в дальнейшем при необходимости восстановить. Для этого предназначены методы ToVariant, Parse, AttributeToVariant, ParseAttribute. Пример по сохранению и восстановлению отметки представлен в разделе Примеры: Сериализация отметки справочника.
Свойства интерфейса IDimSelection позволяют получить список отмеченных элементов в иной форме:
Group - группа отмеченных элементов, реализуемая интерфейсом IDimElementGroup.
Iterator - итератор, используемый для навигации по отмеченным элементам. Для работы с итератором используется цикл While.
SelectedElementArray - возвращает отмеченные элементы в виде массива, реализуемого интерфейсом IDimElementArray.
См. также: