2016-08-26 10 views
0

Я нашел этот код, который работал хорошо в Shareable EDIT:DOORS атрибут не работает, как ожидалось

// Attribute DXL for locked objects 
if (isLockedByUser(obj)) 
{ 
obj.attrDXLName = "LOCKED" 
} 

и добавил:

else 
{ 
obj.attrDXLName = "unlocked" 
} 

но условие else не работает (if часть функции одинаковы). Что мне не хватает? Первое время кодирования в DXL, но у меня есть опыт C. EDIT: Я понял, что условие else, вероятно, не может быть обновлено в незаблокированном элементе, поэтому оно никогда не появится.

Остается вопрос, почему он не работает для эксклюзивного редактирования? Должен ли я проверить модуль на isLockedByUser, вместо этого, потому что он заблокирован на этом уровне?

// Attribute DXL for locked objects 
if (isLockedByUser(obj) or isLockedByUser(current)) 
{ 
obj.attrDXLName = "LOCKED" 
} 

... который не работает, либо. Опять же, он работает для Shareable Edit, но не для Exclusive Edit.

Предложения о том, как заставить это поле работать для эксклюзивного редактирования?

ответ

0

В справочном руководстве DXL (Глава 36: Общие функции> Блокировка) для isLockedByUser, вот как это описано:

BOOL isLockedByUser (Object о)

Возвращает истину, если указанный объект заблокирован текущим пользователем, когда он находится в режиме редактирования. В противном случае возвращает false.

Эта функция не эквивалентна проверке того, может ли текущий пользователь изменять данный объект.

Мое предположение (я не имел дела с фиксатором через DXL себя) в том, что isLockedByUser только имеет смысл, когда модуль находится в режиме совместного редактирования, так что вы, возможно, придется найти другой способ, чтобы сделать то, что вы пытаетесь делать.

 Смежные вопросы

  • Нет связанных вопросов^_^