Имя: Пароль:
1C
1С v8
v8: Как запретить редактирование пользователю одной конкретной строчки ТЧ документа
0 Aerosol
 
22.04.13
11:28
Снова лезу с глупостью. Как запретить редактирование пользователю ОДНОЙ КОНКРЕТНОЙ СТРОЧКИ ТЧ документа ?

Есть 3 строчки, как запретить редактирование одной ? Доступность рубит все сразу.
1 Maxus43
 
22.04.13
11:29
а каков критерий определения строчки?
2 MSII
 
22.04.13
11:29
УФ? Условным оформлением.
3 Maxus43
 
22.04.13
11:29
Можно в ПриВыводеСтроки оформлением строки играть, на только Просмотр. Но не забыть ПередУдалением и другими проставить заглушки
4 Aerosol
 
22.04.13
11:30
Неважно, какие условия :) Вопрос стоит в том: как запретить редактирование ИМЕННО ОДНОЙ СТРОЧКИ.
5 Maxus43
 
22.04.13
11:31
(4) важно, что бы ты смог эти условия объяснить 1с программно, а не телепатически на взгляд
6 Aerosol
 
22.04.13
11:33
(5)
Я условия уже объяснил. Мне нужно при выполнении этих условий ЗАПРЕТИТЬ РЕДАКТИРОВАНИЕ СТРОКИ.
7 MSII
 
22.04.13
11:35
(6) Ну так что мешает воспользоваться (2) или (3)?
8 Maxus43
 
22.04.13
11:35
(6) как сделать объяснили, вперёд и с песней
9 Aerosol
 
22.04.13
11:39
То ли я не понял, то ли одно из двух.

Процедура СхемаОплатыКлиентомПриАктивизацииСтроки(Элемент)
ТекПольз = ПользователиИнформационнойБазы.ТекущийПользователь();    
Если Элемент.ТекущаяСтрока.Статус = Перечисления.СтатусыКодЗаказа.ВРаботе Тогда
   Если СОКРЛП(ТекПольз) <> СОКРЛП(ПроджектМенеджер) Тогда
   ///ЧТО ЗДЕСЬ НАПИСАТЬ, ЧТОБЫ ЗАПРЕТИТЬ РЕДАКТИРОВАНИЕ ЭТОЙ СТРОКИ?????//////    

   КонецЕсли;
КонецЕсли;    
КонецПроцедуры
10 Maxus43
 
22.04.13
11:42
(9) в толстом клиенте ПриВыводеСтроки событие,  ане активизация
11 Aerosol
 
22.04.13
11:45
Вы понимаете, что я хочу вообще ?:)

Так как запретить ? Каким синтаксисом ?! Доступность рубит всю ТЧ. Как конкретную строку залочить от редактирования ?
12 Maxus43
 
22.04.13
11:46
(11) ты прочитай внимательно (2)(3). Там есть слово ОФОРМЛЕНИЕ
13 Maxus43
 
22.04.13
11:48
Процедура ТоварыПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)

   Если Условие Тогда
       ОформлениеСтроки.Ячейки.ИмяКолонки.ТолькоПросмотр = Истина;

...
14 Aerosol
 
22.04.13
11:48
(12) Сделал по-другому. Элемент.Колонки.Статус.Доступность = ЛОЖЬ;
15 Maxus43
 
22.04.13
11:48
(14) это у всех строк будет
16 Aerosol
 
22.04.13
11:48
(13) Спасибо за участие :) Этот вариант тоже учту на будущее.
17 Aerosol
 
22.04.13
11:49
(15) А, действительно, все рубит. Ща попробую.
18 Maxus43
 
22.04.13
11:49
у тебя УФ. Во первых надо сразу говорить, во вторых тогда (2)
19 Aerosol
 
22.04.13
11:50
(18) У меня обычный толстый клиент
20 ssh2006
 
22.04.13
11:50
(9) > ///ЧТО ЗДЕСЬ НАПИСАТЬ, ЧТОБЫ ЗАПРЕТИТЬ РЕДАКТИРОВАНИЕ ЭТОЙ СТРОКИ?????//////    

ЗавершитьРаботуСистемы(Ложь)
21 DS
 
22.04.13
11:51
(17) Условие поставь за знак "равно". Либо используй "Иначе".
22 Maxus43
 
22.04.13
11:51
(19) тогда не ври, там ЭлементыФормы.ТабПоле.Колонки.КолонкаИмя.... и т.д.
23 Feunoir
 
22.04.13
11:52
А проверять в ПередНачаломИзменения и устанавливать Отказ=Истина не вариант?
24 DS
 
22.04.13
11:53
(22) Элемент - из параметра функции.
25 Maxus43
 
22.04.13
11:54
(24) да, тогда я вру :) (19) всё норм, делай (13)
26 Fedot200
 
22.04.13
11:57
Если ЭлементыФормы.ТвояТабЧасть.ТекущаяСтрока.ТвойРеквизит = ТвоеУсловие Тогда
    Предупреждение("Эту строку редактировать низзя!");
    СтандартнаяОбработка=ложь;
    Возврат;
КонецЕсли;    

Не?
27 Aerosol
 
22.04.13
12:02
(26) не, там условие не такое.
28 Aerosol
 
22.04.13
12:03
(25) Ну, более-менее сработало
29 Aerosol
 
22.04.13
12:03
Всем спасибо :)
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший