Имя: Пароль:
1C
1С v8
v8: 8.1 Запрет редактирования поля с неполными правами
0 Singenor
 
25.05.12
10:26
Помогите с кодом, нужно сделать так, чтобы редактируемое поле было недоступно для пользователя, с неполными правами
1 Maxus43
 
25.05.12
10:27
Если РольДоступна("ПолныеПрава") Тогда
2 Ненавижу 1С
 
гуру
25.05.12
10:27
ЭлементыФормы.Поле.Доступность = РольДоступна("ПолныеПрава");
3 Alex S D
 
25.05.12
10:27
поле.доступность = не рольдоступна("ПолныеПрава");
4 Alex S D
 
25.05.12
10:27
хаха
5 Alex S D
 
25.05.12
10:27
ошибка, сори
6 Wobland
 
25.05.12
10:27
вот почему все так ветки не называют? извращаются, выпендриваются как-то
7 Alex S D
 
25.05.12
10:28
(6)+100
8 Wobland
 
25.05.12
10:28
(6) гыгы v8: УТ 11
9 Maxus43
 
25.05.12
10:28
коротко и ясно
10 Maxus43
 
25.05.12
10:29
ждём тем "1С", "Конфигуратор"
11 Singenor
 
25.05.12
10:30
а для редактирования как?
Если РольДоступна("ПолныеПрава") Тогда
Разрешить редактирование как вписать?)))
КонецЕсли;
12 Живой Ископаемый
 
25.05.12
10:31
(11)гы-гы... зачод...
13 Trier
 
25.05.12
10:31
(11)
ЭлементыФормы.Поле.Доступность
во втором ответе написали
14 Trier
 
25.05.12
10:32
(10) порадовала бы темв V8: V8
15 Trier
 
25.05.12
10:32
*тема
16 х86
 
25.05.12
10:33
(0)+ еще .ТолькоПросмотр = Истина
17 Alex S D
 
25.05.12
10:34
(16) + еще .Видимость = ложь.. до кучи
18 х86
 
25.05.12
10:35
(17)угумс видимостью рулить тоже бывает нуно
19 Alex S D
 
25.05.12
10:37
кто название ветки испортил??
20 le_
 
25.05.12
10:39
Если НЕ РольДоступна("ПолныеПрава") Тогда
   ЭлементыФормы.ТекстовоеПоле.ТолькоПросмотр = Истина;
КонецЕсли;
21 Singenor
 
25.05.12
11:06
(20) если у еня полные права, он дает редактировать, если же нет, он пишет, что текстовое поле не обнаружено(
22 Alex S D
 
25.05.12
11:08
давай весь свой код
23 le_
 
25.05.12
11:09
(21) Вызывай поисковую бригаду. Необходимо его найти. Вдруг, с ним что-то случилось.
24 Singenor
 
25.05.12
11:10
Процедура РаспределениеПоСотрудникамКНачислениюПриИзменении(Отказ, Элемент)
    Если НЕ РольДоступна("ПолныеПрава") Тогда
        ЭлементыФормы.ТекстовоеПоле.ТолькоПросмотр = Истина;
    Иначе
        СообщитьОбОшибке("Недостаточно прав для редактирования", Отказ);
       
   КонецЕсли;

   КонецПроцедуры
25 le_
 
25.05.12
11:12
(24) + (21) Обязательно с собаками!
26 Wobland
 
25.05.12
11:12
(24) красавец! если доступна, то нельзя
27 Singenor
 
25.05.12
11:15
да пока не важно истина там или ложь, он само поле не видит, почему?
28 Alex S D
 
25.05.12
11:17
значит поле не так называется
29 Singenor
 
25.05.12
11:19
(28) у меня есть реквизит, я добавляю его на ТЧ, потом элемент управления ему поле ввода ставлю, разве мне нужно еще где-то задавать название поля?
30 Singenor
 
25.05.12
11:26
ап
31 Singenor
 
25.05.12
11:26
огонь пацаны, ничегоне помогает
32 le_
 
25.05.12
11:37
Эх.
ЭлементыФормы.ИмяПоля.ТолькоПросмотр = Истина;
33 Анатолий Никитин
 
25.05.12
11:46
Процедура РаспределениеПоСотрудникамКНачислениюПриИзменении(Отказ, Элемент)
    Если НЕ РольДоступна("ПолныеПрава") Тогда
        Отказ = Истина;
    Иначе
        СообщитьОбОшибке("Недостаточно прав для редактирования", Отказ);
       
   КонецЕсли;

   КонецПроцедуры
34 Анатолий Никитин
 
25.05.12
11:47
Спешил

Процедура РаспределениеПоСотрудникамКНачислениюПриИзменении(Отказ, Элемент)
    Если НЕ РольДоступна("ПолныеПрава") Тогда
       СообщитьОбОшибке("Недостаточно прав для редактирования", Отказ);
   
   КонецЕсли;

   КонецПроцедуры
35 Singenor
 
25.05.12
11:51
(34) но ведь он просто будет выводить ошибку, а данные все равно можно будет вписать в поле оО
36 Анатолий Никитин
 
25.05.12
11:52
Поле как называется?
37 Анатолий Никитин
 
25.05.12
11:53
Хотя, телепатирую

Процедура РаспределениеПоСотрудникамКНачислениюПриИзменении(Отказ, Элемент)
    Если НЕ РольДоступна("ПолныеПрава") Тогда
       СообщитьОбОшибке("Недостаточно прав для редактирования", Отказ);
РаспределениеПоСотрудникамКНачислению = "";
   
   КонецЕсли;

   КонецПроцедуры
38 Singenor
 
25.05.12
11:54
(36) КНачислению
39 0_Serg_0
 
25.05.12
11:54
факиры.... хДДД
40 Анатолий Никитин
 
25.05.12
11:55
на самом деле не понятно.
Если ты не хочешь, чтобы вообще туда писали - ставь код из первых постов в ПриОткрытии()
41 Singenor
 
25.05.12
11:56
(40) не, я хочу чтобы туда пытались что-нибудь вписать, но в случае отсутствия прав, у них это не получалось
42 Анатолий Никитин
 
25.05.12
12:05
Не охота конфигуратор открывать. Там еще есть действия, перед началом изменения, ставишь код.


Если НЕ РольДоступна("ПолныеПрава") Тогда
       СообщитьОбОшибке("Недостаточно прав для редактирования", Отказ);
       Отказ = Истина;
КонецЕсли;
43 Singenor
 
25.05.12
12:18
разобрался, при открытии проще было сделать:) спасибо.
44 Singenor
 
25.05.12
12:23
Теперь мне нужно сделать проверку автозаполнения, вот, что пока есть:

Процедура РаспределениеПоСотрудникамКНачислениюСотрудникуЧасовПриИзменении(Отказ, Элемент)
   
 Если Не ЗначениеЗаполнено(ЭлементыФормы.РаспределениеПоСотрудникам.Колонки.КНачислениюСотрудникуЧасов) Тогда
  Сообщить("Поле К начислению сотруднику, часов не заполнено", Отказ);
  КонецЕсли;
КонецПроцедуры


но тут он мне пишет ошибку:
Проверка мутабельных значений на заполненность не поддерживается
45 Alex S D
 
25.05.12
12:26
Хочешь всю колонку на заполненность проверить .. удачи))
46 Alex S D
 
25.05.12
12:28
РаспределениеПоСотрудникамКНачислениюСотрудникуЧасов - это Колонка таблполя?
47 Singenor
 
25.05.12
12:28
(46) да
48 Singenor
 
25.05.12
12:28
(46) и именно эту колонку на заполнение мне надо проверить
49 Alex S D
 
25.05.12
12:29
(48) для начала надо получить текущую строку
50 Alex S D
 
25.05.12
12:30
текСтрока = ЭлементыФормы.РаспределениеПоСотрудникам.ТекущиеДанные;
Если Не ЗначениеЗаполнено(текСтрока.КНачислениюСотрудникуЧасов) ... и т.д.
51 Singenor
 
25.05.12
12:35
Процедура РаспределениеПоСотрудникамКНачислениюСотрудникуЧасовПриИзменении(Отказ, Элемент)
   ТекСтрока = ЭлементыФормы.РаспределениеПоСотрудникам.ТекущаяСтрока;
 Если Не ЗначениеЗаполнено(Текстрока) Тогда
  Сообщить("Поле К начислению сотруднику, часов не заполнено", Отказ);
  КонецЕсли;
КонецПроцедуры
52 Singenor
 
25.05.12
12:38
Процедура РаспределениеПоСотрудникамКНачислениюСотрудникуЧасовПриИзменении(Отказ, Элемент)
   ТекСтрока = ЭлементыФормы.РаспределениеПоСотрудникам.ТекущаяСтрока;
 Если Не ЗначениеЗаполнено(ТекСтрока.КНачислениюСотрудникуЧасов) Тогда
  Сообщить("Поле К начислению сотруднику, часов не заполнено", Отказ);
  КонецЕсли;
КонецПроцедуры

не прокатывает
53 Alex S D
 
25.05.12
12:41
(52) даже скопировать не можешь   ТекСтрока = ЭлементыФормы.РаспределениеПоСотрудникам.ТЕКУЩИЕДАННЫЕ;
54 Singenor
 
25.05.12
12:45
(53) так как при изменении все это происходит, то он и будет мне выдавать ошибку, если я поменяю данные в этом поле, а если я туда ничего не ввожу, и мне надо, чтобы была ошибка, это перед записью делать получается?
55 Alex S D
 
25.05.12
12:47
передокончаниемредактирования
56 Alex S D
 
25.05.12
12:48
не.. вру
57 Singenor
 
25.05.12
12:49
При изменении
НачалоВыбора
НачалоВыбораИзСписка
Очистка
Регулирование
Открытие
ОбработкаВыбора
АвтоподборТекста
ОкончаниеВводаТекста
58 Singenor
 
25.05.12
12:49
что из этого?)
59 Alex S D
 
25.05.12
12:49
да, перед записью документа проверяй
60 Singenor
 
25.05.12
12:51
туплю, перед записью документа ведь надо)
61 Singenor
 
25.05.12
12:52
во, получилось, спс
62 Singenor
 
25.05.12
12:54
А если мне в РС нужно проверить заполнение данных у ресурса, мне ведь тоже надо тек строку получить, так?
63 Singenor
 
25.05.12
13:08
Есть РС, в нем есть только ресурс и форма списка
в форме списка 2 поля:
1. дата
2. сам ресурс

Мне нужно, чтобы если ресурс не заполнен была ошибка, делаю так:



Процедура ПередЗаписью(Отказ)
 Если Не ЗначениеЗаполнено(ЭтотОбъект.Ставкачаса) Тогда
  Сообщить("Ставка часа не заполнено", Отказ);
  КонецЕсли;    
КонецПроцедуры
64 Singenor
 
25.05.12
13:09
не получается, делал так:

Процедура ПередЗаписью(Отказ, ЭтотОбъект)

   
ТекСтрока = РегистрыСведений.СтавкаЧасаНаПроектах.ТекущиеДанные;
 Если Не ЗначениеЗаполнено(ЭтотОбъект.Ставкачаса) Тогда
  Сообщить("Ставка часа не заполнено", Отказ);
  КонецЕсли;
   
   
   
КонецПроцедуры
65 Singenor
 
25.05.12
13:09
тоже не получается(
66 Анатолий Никитин
 
25.05.12
14:03
:) у РС галочка есть, ставишь и все
Напиши, сколько с заказчика за это получишь
67 Singenor
 
25.05.12
14:52
в 8.1 у РС нет такой штуки
68 Singenor
 
25.05.12
16:38
ап
69 Singenor
 
25.05.12
16:53
проблема в том, что есть только 1 ресурс, и как обратиться к нему я не особо понимаю. ЭтотОбъект не выдает, если писать полный путь типа: РегистрСведений.Блаблабла.МойРегистр так тоже нет(
70 Singenor
 
25.05.12
18:42
проблема актуальна)