EIP - выборочное редактирование по условию

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Ответить
gopstop2007
Полимат
Сообщения: 1834
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 29 раз
Поблагодарили: 10 раз

EIP - выборочное редактирование по условию

Сообщение gopstop2007 »

В таблице есть 10 полей - Edit In Place, как по условию одному пользователю разрешить редактировать 5 полей, а другому все 10 ?
Слабоват по EIP и прошу помощи у Вас :)
C10, ABC
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8105
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 30 раз
Поблагодарили: 99 раз

EIP - выборочное редактирование по условию

Сообщение Игорь Столяров »

gopstop2007 писал(а): Слабоват по EIP
Можно по разному, рассказываю самый простой с учетом запроса. ;)

1. Запрещаешь редактирование 5 полей (первый пользователь).
Находишь в BRW1.Init PROCEDURE секцию инициализации EIP.
Копируешь всю настройку EIP в Embed с условием, получится что-то вроде

Код: Выделить всё

  SELF.EIP &= BRW1::EIPManager                             ! Set the EIP manager
  ! [Priority 7300]
    If ПЕРВЫЙ ПОЛЬЗОВАТЕЛЬ    ! Вариант настройки с доступом к 5 полямс
       SELF.AddEditControl(,1) ! MCO:Number Disable
       SELF.AddEditControl(EditInPlace::MCO:Kolvo,2)
       SELF.AddEditControl(,3) ! MCO:Ed Disable
       ...
       IF WM.Request <> ViewRecord  ! If called for anything other than ViewMode, make the insert, change & delete controls available
          SELF.ChangeControl=?Change
          SELF.DeleteControl=?Delete
       END
    else
       Здесь остается штатный код инициализации EIP
    end   

2. Потом в настройках EIP открываешь все 10 полей для редактирования.
3. Все. :)
Make Clarion Great Again ! 😎
gopstop2007
Полимат
Сообщения: 1834
Зарегистрирован: 25 Март 2009, 21:55
Благодарил (а): 29 раз
Поблагодарили: 10 раз

EIP - выборочное редактирование по условию

Сообщение gopstop2007 »

Спасибо, запутался в трех соснах :idied: А я пытался с помощью в Eip Manager .InitControls

Код: Выделить всё

get(Self.Eq, Column Number)
if (условие)
	Self.Eq.Control &= null
else
    Self.Eq.Control &= EIP field class
end
put(Self.Eq) 
“Есть всего 2 типа языков: те, на которые все жалуются и те, которыми никто не пользуется.” — Бьерн Страуструп
Ответить