CreateSimpleCondition(
Dimension: IOrmSimpleClass;
Criteria: IDimTextCriteria): IDimOrmCondition;
CreateSimpleCondition(
Dimension: Prognoz.Platform.Interop.Orm.IOrmSimpleClass;
Criteria: Prognoz.Platform.Interop.Dimensions.DimTextCriteria): Prognoz.Platform.Interop.Dimensions.IDimOrmCondition;
Dimension. Справочник, реализуемый интерфейсом IOrmSimpleClass. В качестве значения параметра можно передавать структуру справочника, либо справочника НСИ репозитория.
Criteria. Критерий поиска элементов.
Метод CreateSimpleCondition создает объект для работы с условиями поиска элементов в справочниках и справочниках НСИ.
Для выполнения примера предполагается наличие репозитория НСИ с идентификатором «RDS». В данном репозитории создан справочник НСИ с идентификатором «Dict_1».
Sub UserProc;
Var
MB: IMetabase;
RdsDict: IRdsDictionary;
RdsDictInst: IRdsDictionaryInstance;
OrmMan: IDimOrmManager;
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;
Crit := New DimTextCriteria.Create;
Crit.CriteriaOptions := TextCriteriaOptions.SearchStringAttributes Or TextCriteriaOptions.FreeText;
Crit.Text := "Данные";
Condition := OrmMan.CreateSimpleCondition(RdsDict As IOrmSimpleClass, 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;
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();
Crit := New DimTextCriteria.Create();
Crit.CriteriaOptions := TextCriteriaOptions.tecropSearchStringAttributes
Or TextCriteriaOptions.tecropFreeText;
Crit.Text := "Данные";
Condition := OrmMan.CreateSimpleCondition(RdsDict As IOrmSimpleClass, 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».
См. также: