RegenerateMnemo(FactorKeys: Array);
FactorKeys - массив ключей показателей, мнемоники которых необходимо регенерировать.
Метод RegenerateMnemo осуществляет регенерацию мнемоник показателей.
Для выполнения примера предполагается наличие в репозитории базы данных временных рядов с идентификатором «FC_MN».
Sub Main;
Var
DicEdit: IMetaDictionary;
Nams: IMetaAttributeNamings;
Nam: IMetaAttributeNaming;
Ni, Nc: Integer;
Atrs: IMetaAttributes;
Atr: IMetaAttribute;
Dims: ICubeModelDimensionsEx;
Dim: ICubeModelDimensionEx;
Di, Dc: Integer;
Rubricator: IRubricator;
Mb: IMetabase;
RubI: IRubricatorInstance;
Rev: IRubricatorRevision;
FactorKeys: Array Of Integer;
FactsLookup: IRubricatorFactsLookup;
Begin
Mb := MetabaseClass.Active;
Rubricator := Mb.ItemById("FC_MN").Edit As IRubricator;
DicEdit := Rubricator.EditFacts;
Nams := DicEdit.AttributeMnemoNamings;
Atrs := DicEdit.Attributes;
Dims := Rubricator.Dimensions;
// Очистка коллекции наименований
Nc := Nams.Count - 1;
For Ni := Nc To 0 Step - 1 Do
Nam := Nams.Item(Ni);
Nams.Remove(Nam);
End For;
// Установка суффикса и префикса мнемоники
Dc := Dims.Count - 1;
For Di := 0 To Dc Do
Dim := Dims.Item(Di);
Atr := Atrs.FindByValuesObject(Dim.DimensionO.Key);
If Atr <> Null Then
Nam := Nams.Add(Atr);
nam.MnemoPrefix := "(";
nam.MnemoSuffix := ")";
nam.NamingFormat := "NAME";
End If;
End For;
// Сохранение изменений
(DicEdit As IMetabaseObject).Save;
// Генерация мнемоник базы
RubI := (Rubricator As IMetabaseObject).Open(Null) As IRubricatorInstance;
Rev := RubI.OpenRevision("Ревизия");
FactsLookup := RubI.CreateFactsLookup;
FactorKeys := FactsLookup.LookupFactors;
RubI.RegenerateMnemo(FactorKeys);
End Sub Main;
После выполнения примера для базы данных временных рядов будут заданы суффикс (знак «)») и префикс (знак «(») мнемоники. Затем мнемоники будут сгенерированы по новым правилам.
См. также: