IBaseCardService.FindCardsByUniqueAttributes — метод (Guid, SearchParametersInfo)

Возвращает список идентификаторов карточек, имеющих указанные уникальные атрибуты.

Синтаксис

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 Осуществления поиска документов с указанными уникальными атрибутами.

С помощью аналогичного запроса можно выявить сотрудников нарушивших уникальность документов, для которых предусмотрено ограничение на число экземпляров.