Имя: Пароль:
1C
1С v8
УФ. Очистить реквизит формы типа СправочникОбъект.
0 Drac0
 
25.02.13
18:57
День добрый.
Собственно сабж. Если у пользователя нет прав на создание нового элемента, то задача становится нетривиальной. Кто-нибудь находил способ или не искали в принципе?
1 rotting
 
25.02.13
19:01
привелигированный модуль?
2 Drac0
 
25.02.13
19:07
(1) Думал об этом, как-то не изящно получается. Да и последствия могут быть. Особенно если есть права на изменение.
3 Жан Пердежон
 
25.02.13
19:11
зачем?
4 Drac0
 
25.02.13
19:13
(3) Редактирование реквизитов подчиненного справочника на форме владельца. Если выбирается какой-то фильтр и ему не соответсвует ни один подчиненный, то должно быть ничего. И без прав не должен создаваться/записываться этот новый элемент.
5 Жан Пердежон
 
25.02.13
19:17
ну и как это с сабжем связано?
6 ВалераОшкин
 
25.02.13
19:20
(0) что за бред?
В ПриОткрытии отказ пропиши.
7 ВалераОшкин
 
25.02.13
19:21
+(6) В ПередОткрытием
8 ВалераОшкин
 
25.02.13
19:23
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
9 ВалераОшкин
 
25.02.13
19:24
Пользователь пытается создать новый элемент и обламывается

Процедура ПриОткрытии(Отказ)
   
   Если Параметры.Ключ.Пустая() Тогда        
           Отказ = Истина;
       КонецЕсли;
КонецПроцедуры
10 ВалераОшкин
 
25.02.13
19:26
а, мля... торможу
11 ВалераОшкин
 
25.02.13
19:28
(0) набуя тебе именно форма?
12 Drac0
 
25.02.13
19:34
(11) Удобно. пользователь не видит, что работает с другим справочником, а реализация занимает пару строк кода.
13 ВалераОшкин
 
25.02.13
19:40
(12) в чем проблема сделать вызов процедуры привилегированным?
14 ВалераОшкин
 
25.02.13
19:42
(12) нафига пользователю работать с формой другого справочника и не знать об этом, если есть Объект БД?
15 Drac0
 
25.02.13
22:26
(13) Допустим, у пользователя права даны только на изменение. Мы делаем привилегированный вызов, объект создается, а значит потом может быть записан. Это можно отслеживать, но в один прекрасный момент получим дырку.

(14) Зачастую это бывает крайне удобно. Особенно в самописках.

Нюанс ведь в чем. При открытии формы в том реквизите уже лежит пустой объект. Вот к этому состоянию и хотелось бы возвращать по желанию.
16 ВалераОшкин
 
25.02.13
22:29
(15) Ни фига не понял, зачем тебе создавать форму нового элемента справочника, но не давать пользователю его записать? Что за хня? :)
17 Defender aka LINN
 
25.02.13
22:30
(15) Ну открой для себя ЗначениеВРеквизитФормы. Пустой объект сам найдешь, или со склада выдать?
18 Drac0
 
25.02.13
22:32
(17) Выдайте, когда завхоз запрещает брать :-)
19 Drac0
 
25.02.13
22:49
(16) Тэкс, рисую конкретно. Есть Справочник А и подчиненный ему справочник Б. Каждый элемент соответсует какому-нибудь фильтру (страна, валюта, ценовой уровень или что-то еще) ограниченному по количеству. При переключении этого фильтра на форму владельца выводятся реквизиты подчиненного, если он есть для этого значения фильтра. Их можно изменять, сохранять одной строчкой РеквизитФормыВЗначение и прочие удобства.
А теперь у нас есть Вася, который может редактировать, но не может создавать новые элементы справочника Б. Поэтому, когда он выбирает значение фильтра, которому не соответсвуют элементы справочника Б, в реквизит СправочникОбъект должно передаваться пустое значение, но не должен создаваться новый объект.
Этот вопрос можно решить жесятками способов, но интересует просто задача "обнуления" этого реквизиьа. Вохможно ли это?