Пособие для партнёров DocsVision




НазваниеПособие для партнёров DocsVision
страница14/35
Дата конвертации12.12.2012
Размер3.06 Mb.
ТипРеферат
1   ...   10   11   12   13   14   15   16   17   ...   35

4.4Использование ссылок


Ссылка - это специальный тип поля, которое ссылается на другую карточку (тип RefCardID) или на строку другой секции (RefID).

Ссылка на карточку может быть одного из четырех типов: простая, слабая, сильная и автоматическая. Тип ссылки задаётся в описании карточки и, следовательно, устанавливается один раз для всех экземпляров карточки такого типа. Управлять поведением ссылки во время исполнения нельзя.

Тип ссылки влияет на поведение сервера в следующих случаях:

при изменении значения ссылочного поля;

при удалении карточки, на которую существуют ссылки.

Рассмотрим поведение различных типов ссылок подробнее.

4.4.1Простая ссылка


Простая ссылка позволяет просто сохранить в поле идентификатор связанной карточки и определить ссылочные поля. Сервер не выполняет никаких дополнительных действий при записи или удалении значения в этом поле, а также при удалении связанной карточки. В этом смысле, простая ссылка аналогична полю типа «uniqueid». Контроль ссылочной целостности в этом случае полностью остается за разработчиком.

4.4.2Слабая ссылка


Слабая ссылка имеет отличие от простой – при удалении связанной карточки соответствующее поле ссылки будет автоматически обнулено (установлено в значение NULL). Это позволит разработчику не заботиться о проблеме «зависших» ссылок на несуществующие карточки.

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

DocsVision.Platform.ObjectManager.CardDataCollection GetLinksToCard(System.Guid cardId, DocsVision.Platform.ObjectManager.LinkType linkType, int recurseDepth) — возвращает список карточек, которые ссылаются на данную. Параметры метода:

cardId - идентификатор карточки;

linkType - маска типов ссылки:

LinkType.None – не указан

LinkType.Weak - слабая

LinkType.Hard - сильная

LinkType.Auto - авто

LinkType.All - все типы

recurseDepth — глубина рекурсии, т.е. на сколько шагов ссылающиеся карточки могут отстоять от данной

DocsVision.Platform.ObjectManager.CardDataCollection GetLinksFromCard(System.Guid cardId, DocsVision.Platform.ObjectManager.LinkType linkType, int recurseDepth) — возвращает список карточек, на которые ссылаются данная. Параметры метода аналогичны предыдущему

4.4.3Сильная ссылка


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

Характеристики сильных ссылок:

сильных ссылок на карточку может быть несколько — то есть несколько карточек могут «владеть» одной карточкой;

при создании сильной ссылки на карточку на неё распространяются (наследуются) права из карточки - владельца;

если на карточку владельца назначаются права, то при распространении прав вниз по иерархии они распространяются и на подчинённую карточку. Таким образом, подчинённая карточка имеет набор прав (и, соответственно, видимость) в зависимости от того, на какую из карточек владельцев были последними назначены права. Такой принцип используется потому, что в Windows нет множественного наследования, и система сама поступает так при реализации аналога сильных ссылок на файлы;

если на подчинённую карточку есть сильные ссылки, то её напрямую удалить нельзя. При удалении карточки-владельца сервер отмечает удаление сильной ссылки. Если это последняя сильная ссылка на карточку, то она сама тоже удаляется. Таким образом, подчинённая карточка гарантированно живет столько, сколько самый последний из её владельцев.

Если возникает необходимость очистить значение сильной ссылки, но при этом сохранить карточку, то надо воспользоваться методом ClearLink:

ClearLink(System.Guid sectionId, System.Guid rowId, string fieldAlias), где:

sectionId - идентификатор типа секции со ссылкой;

rowId - идентификатор строки со ссылкой;

fieldAlias — назавание (пседвоним) поля со ссылкой.

Итак, сильные ссылки нужны для реализации владения, контроля области видимости и срока жизни карточек. Применение их для других целей приветствуется, но потребует осторожности и внимания к возможным сторонним эффектам.

4.4.4Автоматическая ссылка


Автоматическая ссылка по своему поведению подобна слабой, но обладает следующим дополнительным свойством – при удалении связанной карточки из исходной карточки будет удалена вся строка, содержащая ссылку.

Например, в стандартных карточках документов «Делопроизводства» есть секция Файлы и ссылки, содержащая ссылки на другие карточки. Все ссылки там имеют тип Авто. Таким образом, при удалении карточки из системы все существующие ссылки на неё из карточек документов автоматически удаляются.

4.4.5Ссылки на строки


Ссылка на строку (RefID), в отличие от ссылки на карточки, не имеет типа и поэтому не обладает возможностями контроля целостности. Единственным способом управлять поведением связанного объекта для такого рода полей является признак «Удалять связанную строку при изменении значения». Если этот признак установлен, то любое изменение значения заполненного ссылочного поля (установка нового значения или сброс в Null) приведёт к тому, что связанная строка (другой карточки) будет удалена.

icon_prim

Примечание

Это поведение имеет смысл, если связанная строка расположена в коллекционной или иерархической секции.

Типичным сценарием применения этого поведения является, например, работа с номерами в карточках «Делопроизводства». Если карточка занимает какой-то номер (ей соответствует строка в секции занятых номеров карточки нумератора), то при удалении карточки занятый ею номер автоматически освобождается (строка в карточке нумератора удаляется).
1   ...   10   11   12   13   14   15   16   17   ...   35

Похожие:

Пособие для партнёров DocsVision iconУстановка патчей *. msp DocsVision Установить патч можно только на клиентах DocsVision (но не на сервере) Установка патчей библиотек DocsVision
Скопируйте пакет в папку «Директория с установленным DocsVision\Platform 3\Server\Site\Setup». В данной директории можно создать...
Пособие для партнёров DocsVision iconDocsVision 6 sr1: Руководство по установке и настройке
Особенности конфигурации серверного программного обеспечения для установки DocsVision 5
Пособие для партнёров DocsVision iconВы  держите  в  руках  брошюру  для  партнеров  1с,  которая поможет вам повысить продажи. Речь идет не о  продажах вообще, а о возможности более эффективно  предлагать  клиентам  серверные  продукты  Microsoft, 
Приложение Полезные ресурсы для партнеров  26 вы  держите  в  руках  брошюру  для  партнеров  1с, 
Пособие для партнёров DocsVision iconРекомендации по созданию условий для эффективного функционирования стратегических партнерств с участием учреждений профобразования Роль вуза в подготовке кадров для стратегических партнеров и участников кластера
В части подготовки кадров для стратегических партнеров и участников кластера можно выделить две глобальные цели
Пособие для партнёров DocsVision iconНастоящий документ описывает конфигурирование системы DocsVision 5 и дальнейшее ее администрирование, а именно

Пособие для партнёров DocsVision iconУчебное пособие по курсу «Организация эвм, комплексов и сетей» часть I
Пособие предназначено для самостоятельной работы студента над курсом “Организация эвм, комплексов и сетей” по первой части курса...
Пособие для партнёров DocsVision iconПеречень предприятий Южного Федерального округа, которые выпускают продукцию, возможно интересную для иностранных партнеров
Южного Федерального округа, которые выпускают продукцию, возможно интересную для иностранных партнеров
Пособие для партнёров DocsVision iconИнструкция по внедрению  «1С: Университет»  версия 0 12  (для партнеров фирмы «1С»)
Общие сведения    4 
Пособие для партнёров DocsVision iconПособие для воспитателей Кишинев, 2010 czu 373. 2
...
Пособие для партнёров DocsVision iconСпециалист по технологическому развитию партнеров 
Интеллектуальные объединенные коммуникации для бизнеса (Microsoft Exchange и Lync) 
Разместите кнопку на своём сайте:
kak.znate.ru


База данных защищена авторским правом ©kak.znate.ru 2012
обратиться к администрации
KakZnate
Главная страница