CreateSimpleClass(Dimension: ): IDimOrmClass;
CreateSimpleClass(Dimension: Prognoz.Platform.Interop.Orm.IOrmSimpleClass): Prognoz.Platform.Interop.Dimensions.IDimOrmClass;
Dimension. Справочник, реализуемый интерфейсом IOrmSimpleClass. В качестве значения параметра можно передавать структуру справочника, либо справочника НСИ репозитория.
Метод CreateSimpleClass создает объект, используемый для работы с условиями для поиска элементов в справочниках и справочниках НСИ.
Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «RDS». В данном репозитории создан справочник НСИ с идентификатором «Dict_1».
Sub UserProc;
Var
MB: IMetabase;
RdsDict: IRdsDictionary;
RdsDictInst: IRdsDictionaryInstance;
OrmMan: IDimOrmManager;
OrmClass: IDimOrmClass;
Condition: IDimOrmCondition;
Crit: IDimTextCriteria;
Elems: IRdsDictionaryElements;
Elem: IRdsDictionaryElement;
i: Integer;
Begin
MB := MetabaseClass.Active;
RdsDict := MB.ItemByIdNamespace("Dict_1", MB.ItemById("RDS").Key).Bind As IRdsDictionary;
RdsDictInst := RdsDict.Open(Null);
OrmMan := New DimOrmManager.Create;
OrmClass := OrmMan.CreateSimpleClass(RdsDict As IOrmSimpleClass);
Condition := OrmClass.CreateCondition;
Crit := New DimTextCriteria.Create;
Crit.CriteriaOptions := TextCriteriaOptions.SearchStringAttributes Or TextCriteriaOptions.FreeText;
Crit.Text := "Данные";
Condition.SetTextCriteria(Crit);
Elems := RdsDictInst.Elements;
For i := 0 To Elems.Count - 1 Do
Elem := Elems.Item(i);
Debug.WriteLine(Elem.Name + ": Условиям поиска удовлетворяет - " +
Condition.EvaluateRec(Elem.Record).ToString);
End For;
End Sub UserProc;
При выполнения примера будет создан объект для работы с условиями поиска по указанному справочнику. Будет задан критерий поиска элементов. После этого будет осуществлена проверка всех элементов на соответствии условиям поиска. Наименования элементов и результат проверки будут выведены в консоль среды разработки.
Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «RDS». В данном репозитории создан справочник НСИ с идентификатором «Dict_1». Также предполагается наличие .NET-формы, расположенной на ней кнопки с наименованием «Button1» и компонента TextBox с наименованием «TextBox1».
Private Sub button1_Click(sender: System.Object; e: System.EventArgs);
Var
MB: IMetabase;
RdsDict: IRdsDictionary;
RdsDictInst: IRdsDictionaryInstance;
OrmMan: IDimOrmManager;
OrmClass: IDimOrmClass;
Condition: IDimOrmCondition;
Crit: DimTextCriteria;
Elems: IRdsDictionaryElements;
Elem: IRdsDictionaryElement;
i: Integer;
ElemList: List <string>;
Begin
MB := Self.Metabase;
RdsDict := MB.ItemByIdNamespace["Dict_1", MB.ItemById["RDS"].Key].Bind() As IRdsDictionary;
RdsDictInst := RdsDict.Open(Null);
OrmMan := New DimOrmManager.Create();
OrmClass := OrmMan.CreateSimpleClass(RdsDict As IOrmSimpleClass);
Condition := OrmClass.CreateCondition();
Crit := New DimTextCriteria();
Crit.CriteriaOptions := TextCriteriaOptions.tecropSearchStringAttributes
Or TextCriteriaOptions.tecropFreeText;
Crit.Text := "Данные";
Condition.SetTextCriteria(Crit);
Elems := RdsDictInst.Elements;
ElemList := New List < string >();
For i := 0 To Elems.Count - 1 Do
Elem := Elems.Item[i];
ElemList.Add(Elem.Name + ": Условиям поиска удовлетворяет - " +
Condition.EvaluateRec(Elem.Record).ToString());
End For;
TextBox1.Lines := ElemList.ToArray();
End Sub;
После выполнения примера при нажатии на кнопку будет создан объект для работы с условиями поиска по указанному справочнику. Будет задан критерий поиска элементов. После этого будет осуществлена проверка всех элементов на соответствии условиям поиска. Наименования элементов и результат проверки будут выведены в компонент «TextBox1».
См. также: