Имя: Пароль:
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) Тэкс, рисую конкретно. Есть Справочник А и подчиненный ему справочник Б. Каждый элемент соответсует какому-нибудь фильтру (страна, валюта, ценовой уровень или что-то еще) ограниченному по количеству. При переключении этого фильтра на форму владельца выводятся реквизиты подчиненного, если он есть для этого значения фильтра. Их можно изменять, сохранять одной строчкой РеквизитФормыВЗначение и прочие удобства.
А теперь у нас есть Вася, который может редактировать, но не может создавать новые элементы справочника Б. Поэтому, когда он выбирает значение фильтра, которому не соответсвуют элементы справочника Б, в реквизит СправочникОбъект должно передаваться пустое значение, но не должен создаваться новый объект.
Этот вопрос можно решить жесятками способов, но интересует просто задача "обнуления" этого реквизиьа. Вохможно ли это?
Глупец, лишенный способности посмеяться над собой вместе с другими, не сможет долго выносить программирование. Фредерик Брукс-младший