Получение экземпляра карточки из базы данных
Платформа Docsvision предоставляет несколько способов получения карточки: её можно запросить по уникальному идентификатору в формате Guid
, либо получить из результата работы поискового запроса. Здесь рассмотрен первый способ, для которого необходимо знать идентификатор получаемой карточки.
-
Значение можно посмотреть в свойствах карточки в Windows-клиенте, где идентификатор приведён в строке Ссылка.
-
Найти карточку при помощи программы "Docsvision Explorer". Идентификатор указан в строке
Selected card ID
.
Базовый API
CardData card = userSession.CardManager.GetCardData(cardId) (1) (2) (3)
1 | userSession — пользовательская сессия. |
2 | CardManager — менеджер карточек, в котором собрана основная функциональность базового API для работы с карточками. |
3 | cardId — идентификатор запрашиваемой карточки. Обычно (как и GetCardData ) методы принимают идентификаторы, приведенные к типу System.Guid :
|
-
Получить данные из её секций.
-
Установить или снять блокировку.
-
Отправить карточку в архив или извлечь из архива.
-
Экспортировать данные карточки в формате XML в файл.
-
При необходимости изменить режим чтения данных.
Полный список доступных методов и свойств см. в описании типа |
Объектная модель
Для получения данных карточки, а точнее её объектной модели, контекст объектов предоставляет метод GetObject
, который может быть вызван следующим образом:
BaseCard card = objectContext.GetObject<BaseCard>(cardId); (1) (2) (3)
1 | objectContext — проинициализированный контекст объектов (см. Подключение к серверу Docsvision). |
2 | BaseCard — класс объектной модели карточки. Здесь использован базовый класс карточек библиотеки Базовые объекты. В любом случае указываемый тип должен быть наследником типа ObjectBase — базовый класс для всех сущностей данного уровня API.
Список классов объектных моделей карточек библиотеки Базовые объекты приведён в разделе Библиотека карточек "Базовые объекты". |
3 | cardId — идентификатор запрашиваемой карточки. |
Метод |
-
Получить данные из её секций, если класс объектной модели карточки был унаследован от класса
BaseCard
или его потомков.Если класс карточки наследуется напрямую от
ObjectBase
, функциональность получения данных секций потребуется реализовать самостоятельно. -
Получить объектную модель секций, если это предусмотрено объектной моделью карточки.
Объектная модель секции карточки, а точнее её строк, позволяется работать с секцией как с объектом, обладающим набором определённых свойств, представляющих поля карточки. Это отличает данный способ от ранее приведенного, идеология которого ближе к принципам работы с секциями в базовом API. В базовом API необходимо знать идентификаторы секций и точные названий полей.