Редактирование только определенных полей

  • Автор темы ghostbuster
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

ghostbuster

#1
Подскажите пожалуйста!
Как сделать так, чтобы в уже сохраненной форме, при последующем открытии, для редактирования были доступны, только определенные поля, а не весь документ? Документ редактируется одним и темже человеком. Причем недоступные для редактирования поля, должны отображаться на форме.
 

morpheus

скриптописец
07.08.2006
3 915
1
#2
испольщуйте подформы(subforms) с вычисляемыми полями, или зделать изменения полей через кнопки (запрос вида "введите значение")
 
F

Fossil Code

#3
Как сделать так, чтобы в уже сохраненной форме, при последующем открытии, для редактирования были доступны, только определенные поля, а не весь документ? Документ редактируется одним и темже человеком. Причем недоступные для редактирования поля, должны отображаться на форме.
Вариант1: использовать свойство поля computed when composed

Вариант2: поля "закрываются" формулой (@IsNewDoc), которая скрывает их, если форма не только что создана (уже сохранялась). Для отображения значения скрытого поля используется поле computed for display.
 
G

ghostbuster

#4
Спасибо большое, но это не то, что нужно...мне так кажется
у поля есть свойство Input Enabled из доки следует:
"The input enabled formula enables or disable the field for input. If Input Enabled evaluates to O, data cannot be added to the field. If it evaluates to anything else, data can be added to the field"
пробовал по всякому
@If(!@IsNewDoc;"0";"1")
@If(!@IsNewDoc;0;1)
и даже
@If(!@IsNewDoc;O;1) :)
но почему это не работает ? :)
 
G

ghostbuster

#5
Хм.. вариант № 2 действительно помог, спасибо большое...
но все равно не ясно, зачем Input Enabled ?
 
O

oshmianski

#6
Для: ghostbuster
просто напиши в Input Enabled @IsNewDoc. При создании дока будет доступно, после сохранения И ЗАКРЫТИЯ нет.
 
M

Mihal

#7
Есть ещё секции с управляемым доступом. Удобнее тем, что скрытие и дублирование инфы в компутед-текстах делать не надо.
 

Medevic

Что это ? :)
Lotus team
10.12.2004
3 346
1
#8
<!--QuoteBegin-ghostbuster+30:11:2006, 10:09 -->
<span class="vbquote">(ghostbuster @ 30:11:2006, 10:09 )</span><!--QuoteEBegin-->но почему это не работает ?
[snapback]49303" rel="nofollow" target="_blank[/snapback]​
[/quote]
В хелпе же написано.
Input Enabled only works when the field style is set to Native OS.
 
30.05.2006
1 345
11
#9
А еще у item-ов есть свойство PROTECTED. Позволяет по-взрослому, не интерфейсными бантиками, защитить поля
 
E

Elena Nefedova

#10
Для: Constantin A Chervonenko
PROTECTED только от авторов защищает.
А что делать, когда едитор дров наломает?
Раздел с управляемым доступом как-то надежнее. Я люблю тип computed for display.
 
30.05.2006
1 345
11
#11
Для: Constantin A Chervonenko
PROTECTED только от авторов защищает.
А что делать, когда едитор дров наломает?
Раздел с управляемым доступом как-то надежнее. Я люблю тип computed for display.
Ага.. И поля AUTHORS тоже только от авторов защищают. А от Манагера с ФуллАдмином и READERS не защищают. Что делать если манагер дров наломает?
Не... Если данные надо ДЕЙСТВИТЕЛЬНО защитить (а не слегка затруднить порчу), то: грамотно настраиваем ACL (Грубо говоря -Default- = Author), документы разруливаем READERS+AUTHORS, поля - PROTECTED и шифрами
 
E

Elena Nefedova

#12
Для: Constantin A Chervonenko
Эх, Константин! Если б все так просто было...
В принципе, идеологически Вы правы. Так вначале и задумывалось.
А потом началось: надо дать права на это поле всем пользователям, имеющим роль [Крутая роль], а на то поле - [Всмятку] и [Вмешочек]
Ну никак по-вашему не получается...
 
30.05.2006
1 345
11
#13
надо дать права на это поле всем пользователям, имеющим роль [Крутая роль], а на то поле - [Всмятку] и [Вмешочек]
Ну никак по-вашему не получается...
Ааа.. Тут 2 соображения:
1.Похоже данные сгруппированы неудачно. Но если редизайн - непозволителен, то
2.Любимый прием: все поля закрыты на редактирование системными средствами. А изменения вносятся фоновым агентом по запросам юзеров
 
F

Fossil Code

#14
Ааа.. Тут 2 соображения:
1.Похоже данные сгруппированы неудачно. Но если редизайн - непозволителен, то
2.Любимый прием: все поля закрыты на редактирование системными средствами. А изменения вносятся фоновым агентом по запросам юзеров
Можно не агентом, а DialogBox'ом, а вызывается он кнопкой, где анализируется роль пользователя и чего еще там будет угодно.
 

morpheus

скриптописец
07.08.2006
3 915
1
#15
<!--QuoteBegin-Fossil Code+1:12:2006, 09:50 -->
<span class="vbquote">(Fossil Code @ 1:12:2006, 09:50 )</span><!--QuoteEBegin-->Можно не агентом, а DialogBox'ом, а вызывается он кнопкой, где анализируется роль пользователя и чего еще там будет угодно.
[snapback]49458" rel="nofollow" target="_blank[/snapback]​
[/quote]как я и указал в начале :)

Согласен... заодно такое момент даст пользователю понят что он НЕМОЖЕТ вносить инфу :)
.. а то они любят думать шо им всё можно, просто програма глючит и не показывает кнопку/ поле :D
 
30.05.2006
1 345
11
#16
Можно не агентом, а DialogBox'ом, а вызывается он кнопкой, где анализируется роль пользователя и чего еще там будет угодно.
Это не защита. У Вас юзер должен иметь права на редактирование. Просто редактируете через др.форму. Бантик. Сломаю за 5 минут
Агент-же - фоновый, работает на сервере, подписан манагером базы
 

LuMee

Well-known member
02.05.2006
477
0
#17
Любимый прием: все поля закрыты на редактирование системными средствами. А изменения вносятся фоновым агентом по запросам юзеров
Радикальный прием :D Единственное, что если требуется таким образом защитить всего одно-два поля из десятка, получается как-то громоздко...
А как можно закрыть отдельные поля? Добавить поле Authors в документ? Но ведь тогда его вроде нельзя перевести в режим редактирования при открытии какой-либо формой... Или нет? Конечно, можно и тут извернутся: создать документ-копию, доступную для редактирования, сохранить, отдать агенту, который некоторые поля перетащит в "оригинал"... только как-то сложновато :p
 
30.05.2006
1 345
11
#18
Радикальный прием :) Единственное, что если требуется таким образом защитить всего одно-два поля из десятка, получается как-то громоздко...
А как можно закрыть отдельные поля? Добавить поле Authors в документ? Но ведь тогда его вроде нельзя перевести в режим редактирования при открытии какой-либо формой... Или нет? Конечно, можно и тут извернутся: создать документ-копию, доступную для редактирования, сохранить, отдать агенту, который некоторые поля перетащит в "оригинал"... только как-то сложновато :)
Задачкой определяется... Сохранность этих полей действительно так важна для целостности документа? Тогда и защита должна быть серьезной. Возможно стоит развести данные с разной доступностью по разным документам и только отображать их на одной форме. Возможно достаточно прикрыть их интерфейсным бантиком (как предлагает Елена), но проконтроллировать целостность эл.подписью
 
Статус
Закрыто для дальнейших ответов.