Имя: Пароль:
1C
1С v8
проверить новый ли элемент справочника
0 dvrk
 
27.04.22
07:03
привет, подскажите, я хочу условие сделать если контрагент ещё не записан в базе, тогда реквизит доступен для редактирования, если уже записан, то доступен только тем, у кого есть роль конфа УТ 10

Если ЭтоНовый() или РольДоступна("Роль") Тогда
Реквизит.ТолькоПросмотр = Ложь
Иначе
Реквизит.ТолькоПросмотр = Истина
КонецЕсли
подскажите, нормальное условие или лучше как то можно сделать?
1 SiAl-chel
 
27.04.22
07:10
(0) ЭтоНовый() или Ссылка.Пустая()
Реквизит.Доступность = Не(ЭтоНовый() или РольДоступна("Роль"));
2 dvrk
 
27.04.22
07:26
(1) а зачем?
3 Serg_1960
 
27.04.22
08:57
(2) "...тогда реквизит доступен..." --> Доступность. Ваш кэп.
5 dvrk
 
27.04.22
09:11
(3) доступен для редактирования
6 Serg_1960
 
27.04.22
09:46
Для обычных форм - Видимость/Доступность нормальные условия.
7 Serg_1960
 
27.04.22
09:46
А для управляемых форм что-то типа так:


Процедура УстановитьВидимостьДоступность()
...

&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
...
   ОбщегоНазначенияКлиентСервер.УстановитьСвойствоЭлементаФормы(
      Элементы,
      "НачисленияИтогРазмер",
      "ТолькоПросмотр",
      Не (Параметры.Ключ.Пустая() Или РольДоступна("Роль")));
8 Serg_1960
 
27.04.22
09:49
(0) Ещё нужна проверка на то, что Форма открыта только для просмотра. Установки видимости реквизита - при открытии формы и после записи объекта.