Имя: Пароль:
1C
1С v8
1С 8.2 Только интерактивное изменение реквизита справочника
,
0 radiks
 
07.08.13
11:28
Как реализовать возможность изменения реквизита справочника только интерактивно пользователем?
1 miron25
 
07.08.13
11:35
(0)Что значит Интерактивно? Без редактирования? Или без программирования?
2 chelentano
 
07.08.13
11:40
(0) стандартный вопрос: зачем?
3 radiks
 
07.08.13
11:41
(0) Т.е. реквизит может изменить только пользователь ручками.
Запретить изменение реквизита программно.
4 miron25
 
07.08.13
11:43
У вас пользователи в конфигураторах сидят?
5 radiks
 
07.08.13
11:44
(1) Нужно, чтобы определенный реквизит справочника мог изменить только определенный пользователь и только ручками.
6 Галахад
 
гуру
07.08.13
11:45
(3) При изменении из форы ставить какой-нибудь маркер.
Проверять его перед записью.
7 Defender aka LINN
 
07.08.13
11:46
(5) Это не ответ. Это описание кривой хотелки.
8 miron25
 
07.08.13
11:47
(5)Если вася=админ тогда
элементыформы.полеввода.доступность=истина
иначе полеввода=ложь
конецесли?
9 radiks
 
07.08.13
11:50
(8) В принципе пользователь может быть любой, но он не должен иметь право изменить реквизит обработкой например.
10 Kyon8
 
07.08.13
11:54
(9) В (6) ответили как сделать, используй ДополнительныеПараметры Объекта. Но задача какая-то дурацкая, лучше запретить пользователям внешние обработки запускать.
11 miron25
 
07.08.13
11:55
(9)(6)Вам правильно говорит.При изменений в полеввода ставь маркер и проверяй ,если он поменялся значит редактировали с формы,иначе запрещай записывать.
12 Defender aka LINN
 
07.08.13
11:56
(9) Сбуяли это не должен?
13 radiks
 
07.08.13
11:59
(12) Так надо :)
14 Naumov
 
07.08.13
11:59
(6) если писатель обработки будет достаточны умным и поставит маркер?
15 radiks
 
07.08.13
12:00
(10) Обработки надо запускать.
16 Галахад
 
гуру
07.08.13
12:05
(13) Какая нафиг разница из формы или программно?
17 miron25
 
07.08.13
12:07
Процедура Реквизит1ПриИзменении(Элемент)
    
    этотобъект.ДополнительныеСвойства.Вставить("петянезнаетключ", "РедактированиеВформе");

КонецПроцедуры

Процедура ПередЗаписью(Отказ)
    отказ=не этотобъект.ДополнительныеСвойства.Свойство("петянезнаетключ");
КонецПроцедуры
18 Defender aka LINN
 
07.08.13
12:10
(13) Так - не надо, я гарантирую это
19 radiks
 
07.08.13
12:18
(17) Так не прокатит, если пользователь будет изменять реквизит внешней обработкой. Событие ПриИзменении просто не возникнет
20 miron25
 
07.08.13
12:23
(19)Дык тогда свойство вернет ложь и без петинезнаетключ объект не запишется.
21 radiks
 
07.08.13
12:30
(20) А, ну да...
Спасибо, сейчас попробуем
22 radiks
 
07.08.13
12:43
(20,21) Нет! Так не работает! При выполнении обработки реквизит записывается.
23 Галахад
 
гуру
07.08.13
12:46
(22) Код наверное не туда вставил.
24 radiks
 
07.08.13
12:48
(23) Мда, перепутал, надо в модуль справочника
25 radiks
 
07.08.13
12:48
Все работает. Спасибо!
26 Fragster
 
модератор
07.08.13
12:50
а если петя ключ знает?
27 miron25
 
07.08.13
12:50
Слушай...А при записи очищать свойство надо?

Тогда может точнее так
пробуем= этотобъект.ДополнительныеСвойства.Свойство("петянезнаетключ");
        отказ=не пробуем;
          этотобъект.ДополнительныеСвойства.Очистить();
28 Fragster
 
модератор
07.08.13
12:50
правильнее запретить использование внешних обработок
29 miron25
 
07.08.13
12:51
пробуем= этотобъект.ДополнительныеСвойства.Свойство("петянезнаетключ");
        отказ=не пробуем;
          этотобъект.ДополнительныеСвойства.Очистить();
отказ=не пробуем;
или еще точнее
30 miron25
 
07.08.13
12:52
(26)Ну тогда Новый МенеджерКриптографии.
31 Поросенок Петр
 
07.08.13
12:52
Поздравляем с рождением г-кода ! Ура!
32 Fragster
 
модератор
07.08.13
12:54
(15) обработки можно запускать из справочника внешних обработок, который для юзера - только рид онли.
33 Serg_1960
 
07.08.13
13:16
Имхо, чем отличается ввод "ручками" от программного? Если автор ответит на этот вопрос (для себя) - то сможет привести в соответствие их друг другу.

Гадом буду - тс не говорит, но речь про дополнительные действия и проверки формы тут скорее всего идет. Это не серьёзно.
2 + 2 = 3.9999999999999999999999999999999...