IBaseCardService.FindCardsByUniqueAttributes — метод (Guid, SearchParametersInfo)
Возвращает список идентификаторов карточек, имеющих указанные уникальные атрибуты.
-
Пространство имён:
DocsVision.BackOffice.ObjectModel.Services
-
Сборка:
DocsVision.BackOffice.ObjectModel.dll
Синтаксис
IEnumerable<Guid> FindCardsByUniqueAttributes(Guid cardKindId, SearchParametersInfo searchParametersInfo)
- Параметры
-
- cardKindId
-
Тип:
System.Guid
Идентификатор вида карточки
- searchParametersInfo
-
Тип:
SearchParametersInfo
Параметры поиска, представленные в виде массива полей карточки
- Возвращаемое значение
-
Тип:
System.Collections.Generic.IEnumerable<Guid>
Коллекция идентификаторов карточек, удовлетворяющих условиям поиска
Заметки
Для выполнения данного запроса у карточки заданного вида должны быть настроены уникальные атрибуты в Справочнике видов карточек. Для поиска необходимо передать значение всех полей, обозначенных как уникальные атрибуты.
Примеры
Для примера можно рассмотреть поиск по уникальным атрибутам карточек вида "Заявка" (идентификатор 7DB9044E-91B7-447D-8CAA-5E5A4967B8D4
). Для данного вида карточки в Справочнике видов карточек добавлены уникальные атрибуты: "Дата регистрации" и "Регистратор".
(1)
SearchParametersInfo searchParametersInfo = new SearchParametersInfo(); (2)
SearchParameterInfo registrator = new SearchParameterInfo() { (3)
Name = "MainInfoRegistrar", (4)
Type = (int)DocsVision.Platform.Data.Metadata.CardModel.FieldType.RefId, (5)
Value = new Guid("00000000-0000-0000-0000-000000000000").ToString("B") }; (6)
SearchParameterInfo regDate = new DocsVision.BackOffice.Xml.Schemas.SearchParameterInfo() { (7)
Name = "MainInfoRegDate",
Type = (int)DocsVision.Platform.Data.Metadata.CardModel.FieldType.Date,
Value = "2015.01.01" };
searchParametersInfo.SearchParameterInfo = new SearchParameterInfo[] { registrator, regDate };
IBaseCardService baseCardService = objectContext.GetService<IBaseCardService>(); (8)
IEnumerable<Guid> cards = baseCardService.FindCardsByUniqueAttributes(new Guid("7DB9044E-91B7-447D-8CAA-5E5A4967B8D4"), searchParametersInfo); (9)
1 | Инициализация контекста объектов. |
2 | Инициализация массива параметров поиска. |
3 | Добавление значения параметра поиска по регистратору документа. |
4 | Название поля состоит из названия секции (MainInfo ) и названия поля (Registrar ). |
5 | Тип параметра указывается в соответствии с типом поля. |
6 | Регистратор — сотрудник с идентификатор, к примеру, 00000000-0000-0000-0000-000000000000. |
7 | Добавление значения параметра поиска по дате регистрации документа. |
8 | Получение сервиса для работы с базовыми объектами. |
9 | Осуществления поиска документов с указанными уникальными атрибутами. |
С помощью аналогичного запроса можно выявить сотрудников нарушивших уникальность документов, для которых предусмотрено ограничение на число экземпляров.