Страница 1 из 1
EIP - выборочное редактирование по условию
Добавлено: 22 Январь 2016, 16:10
gopstop2007
В таблице есть 10 полей - Edit In Place, как по условию одному пользователю разрешить редактировать 5 полей, а другому все 10 ?
Слабоват по EIP и прошу помощи у Вас
C10, ABC
EIP - выборочное редактирование по условию
Добавлено: 22 Январь 2016, 18:08
Игорь Столяров
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. Все.

EIP - выборочное редактирование по условию
Добавлено: 22 Январь 2016, 19:21
gopstop2007
Спасибо, запутался в трех соснах

А я пытался с помощью в Eip Manager .InitControls
Код: Выделить всё
get(Self.Eq, Column Number)
if (условие)
Self.Eq.Control &= null
else
Self.Eq.Control &= EIP field class
end
put(Self.Eq)