AvevaWorld Summit
+ Reply to Thread
Results 1 to 10 of 10

Thread: Необходимость Lock определенных элементов

  1. #1
    Branch Member Dmitry Kaminskiy's Avatar
    Join Date
    Dec 2008
    Location
    Russia
    Posts
    14

    Lightbulb Необходимость Lock определенных элементов

    Добрый день.
    Возникла необходимость блокировать для изменений трубопроводы в ПДМС.
    Есть ли такая возможность заблокировать весь Site(или equi или pipe)? При чём заблокировать так, чтобы снять блокировку могли только определенные пользователи.

  2. #2
    ykr
    ykr no ha iniciado sesión
    Premium Member World Level ykr's Avatar
    Join Date
    Sep 2006
    Location
    Russia
    Posts
    744
    Можно в синонимах вставить строку
    $S UNLOCK = CALLG UNLOCK
    если синонимы не используются, эта строка будет единственной в файле msyn
    и программа unlock может выглядеть вот так:
    -- Get any arguments
    -- =================
    !arg = '$1'
    handle (47,62)
    !arg = ''
    endhandle

    -- Check for MODULE
    -- ================

    var !mod banner
    -- !mod = !mod.after('PDMS ').before(' ').upcase()
    !mod = !mod.after('Professional ').before(' ').upcase()
    if (!!appcntrl.module eq 'DES' ) then

    -- Check for legal USERNAMES
    -- =========================
    !legalusers = 'IVANOV PETROV SIDOROV'

    var !currentuser EVAR username
    !currentuser = !currentuser.upcase()
    if (!legalusers.match(!currentuser) gt 0 ) then
    $sunlock=
    if (!arg.upcase().match('ALL') gt 0 ) then
    unlock all
    else
    unlock ce
    endif
    $sunlock=$M/%PDMSUI%\DES\GEN\UNLOCK
    else
    -- !!ALERT ERROR '(2,25) Read only db'
    !!ALERT ERROR 'Объект заблокирован'
    endif

    elseif (!!appcntrl.module eq 'DRA' ) then

    -- Check for legal USERNAMES
    -- =========================
    !legalusers = 'IVANOV PETROV SIDOROV'
    var !currentuser EVAR username
    !currentuser = !currentuser.upcase()

    if (!legalusers.match(!currentuser) gt 0 ) then
    $sunlock=
    if (!arg.upcase().match('ALL') gt 0 ) then
    unlock all
    else
    unlock ce
    endif
    $sunlock=$M/%PDMSUI%\DES\GEN\UNLOCK
    else
    -- !!ALERT ERROR '(2,25) Read only db'
    !!ALERT ERROR 'Объект заблокирован'
    endif

    -- if not in DESIGN or DRAFT
    else

    $sunlock=
    if (!arg.upcase().match('ALL') gt 0 ) then
    unlock all
    else
    unlock ce
    endif
    $sunlock=$M/%PDMSUI%\DES\GEN\UNLOCK

    endif

    return
    В файле init нужно вставить строку
    $m/%pdmsui%\des\gen\msyn
    Фамилии - это логины пользователей, которым разрешено разлокировать. Локировать может любой юзер.

  3. #3
    Branch Member Dmitry Kaminskiy's Avatar
    Join Date
    Dec 2008
    Location
    Russia
    Posts
    14
    Спасибо за подсказку. Сделали и все работает. Кнопки сделали скрытыми кроме тех, чьи логины указаны. Т.е ведущий специалист лочит объект,а проектировщику выдается сообщение о том, что заблокированно тем-то. Вот только остался вопрос-особо «одарённые» сотрудники имеют возможность отключить/включить работу синонимов командами $s+ и $s- . Возможно ли это обойти?

  4. #4
    Premium Member sergey_b007's Avatar
    Join Date
    May 2007
    Location
    PDMSWORLD
    Posts
    490
    у вас прямо как на войне...

  5. #5
    Branch Member Dmitry Kaminskiy's Avatar
    Join Date
    Dec 2008
    Location
    Russia
    Posts
    14
    Это не война, а суровая реальность. Необходимо отслеживать изменения в уже готовой проектной части. Поэтому главспецы и попросили о такой возможности. Сдали например какую-то часть РД, "заморозили" трубы и всё. Изменения только через служебку и руководство

  6. #6
    ykr
    ykr no ha iniciado sesión
    Premium Member World Level ykr's Avatar
    Join Date
    Sep 2006
    Location
    Russia
    Posts
    744
    А кнопки мы не делаем, чтобы не было возможномти полдсмотреть через $r6. просто набирайте в командной строке unlock all, а все остальные будут получать оттвет DB read only. Полная иллюзия правильности.

  7. #7
    Branch Member Dmitry Kaminskiy's Avatar
    Join Date
    Dec 2008
    Location
    Russia
    Posts
    14
    Захотелось человеку кнопочку, вот и сделали. %-)

  8. #8
    Zone Level IIyx's Avatar
    Join Date
    Oct 2008
    Location
    Russia
    Posts
    186
    а не лучше ли будет тогда через dac все это прописать? тогда проблем с кнопками и командами меню не возникнет

  9. #9
    Branch Member Dmitry Kaminskiy's Avatar
    Join Date
    Dec 2008
    Location
    Russia
    Posts
    14
    IIyx тут нужно было именно кнопки,сегодня заморозил, завтра разморозил. Непривлекая администратора проекта. Я сейчас пытаюсь разобраться с администрированием, вот там если я правильно понимаю и описаны DAC? Подскажите где почитать.

  10. #10
    Pipe Level Salavat's Avatar
    Join Date
    Feb 2009
    Location
    Russia
    Posts
    45
    В инструкции "Administrator user guide" глава 11.

+ Reply to Thread