Имя: Пароль:
1C
 
Запретить редактирование строки ТЧ Документа
0 Woolf
 
03.10.10
22:06
Всем доброго времени суток! Требуется запретить редактирование введённой строки табличного поля документа. Есть ли такая возможность в 1С 8? Заранее спасибо!
1 Stim
 
03.10.10
22:08
А вводит кто? Когда наступает момент "начала запрета"?
зы. самое простое:

ПриОткрытии()
Если НЕ ЭтоНовый() Тогда
ЭлементыФОрмы.Товары.ТОлькоПросмотр = ИСТИНА;
КОнецесли
2 skunk
 
03.10.10
22:09
(1)так запретит все
3 Stim
 
03.10.10
22:11
(2) ну да. ПОэтому я спросил автора - с какого момента начать запрещать:)
4 Woolf
 
03.10.10
22:11
запрет - когда введена новая строка в ТЧ. Штоб не трогали её, строку то ...
5 skunk
 
03.10.10
22:11
что значит "новая строка"
6 Woolf
 
03.10.10
22:14
(5) - в ТЧ, например, "Товары" заносим товар -> и всё, строка записывается и не удалить её, не отредактировать... во как...
7 skunk
 
03.10.10
22:19
а для чего? ... безопасность напала ...
8 Woolf
 
03.10.10
22:23
та не совсем - от бардака скорее - там документик создается :))
9 Пеппи
 
03.10.10
22:27
(8) док создается программно и требуется его не изменять?
10 Zarinka
 
03.10.10
22:32
Процедура ВыданныеАвансыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
Элемент.ТолькоПросмотр=Истина;    
КонецПроцедуры


Процедура ВыданныеАвансыПередНачаломДобавления(Элемент, Отказ, Копирование)
   Элемент.ТолькоПросмотр=ложь;    

КонецПроцедуры
11 Woolf
 
03.10.10
22:32
при вводе новой строки ТЧ нашего документа создается документ.
строку ТЧ ввели -> записался документ (другого вида)
Строка содержит ссылку на этот документ...

и если кто от праздного любопытства начинает руки прикладывать к ТЧ нашего документа, то некрасиво получается...
12 DeoxyS
 
03.10.10
22:37
при записи в регистр сведений откладывай инфу, при удалении редактировании сверяй... первое, что в голову пришло )
13 skunk
 
03.10.10
22:37
нет тогда тебе действительно надо идти по (1) ответу ... блокировать всю табличку
14 Пеппи
 
03.10.10
22:37
реквизит ТЧ "документ"- булево. если документ другой создан тогда истина, идет проверка на истинность и при истине не редактируется.
15 Zarinka
 
03.10.10
22:41
Как я поняла, вам нужно, чтоб введенные ранее строки нельзя было редактировать, а можно было только вводить новые?
16 Woolf
 
03.10.10
22:41
(13) а если я блокирую всю табличку, то как же мне при случае ещё строчку внести?
17 Woolf
 
03.10.10
22:41
(15) - точно
18 Zarinka
 
03.10.10
22:43
Тогда чем мой код не понравился, при добавлении новой строки снимаешь ТолькоПросмотр, при окончании редактирования опять ее устанавливаешь?
19 Пеппи
 
03.10.10
22:44
(18) мне понравился )
20 Woolf
 
03.10.10
22:48
(18) - вот когда созданный и записанный документ, который уже содержит записи в ТЧ,
я открываю, то строчки "поддаются" редактированию... вот...
21 Zarinka
 
03.10.10
22:49
ОК,
Процедура ВыданныеАвансыПередНачаломИзменения(Элемент, Отказ)
Отказ=Истина;
КонецПроцедуры
22 Woolf
 
03.10.10
22:55
(21) - не, всё равно не то...
щас только одну ячейку в строчек заполняеть, а потом в отказ - и это при ВводеНовойСтроки
23 Пеппи
 
03.10.10
23:04
у тебя док когда создается, когда полностью заполнишь строчку?
24 Zarinka
 
03.10.10
23:14
Процедура ВыданныеАвансыПриНачалеРедактирования(Элемент, НоваяСтрока, Копирование)
       Если не  НоваяСТрока тогда
       
   иначе
       ТекущаяСтрока=Элемент.ТекущаяСтрока;
       КОнецЕсли;
КонецПроцедуры

Процедура ВыданныеАвансыПередНачаломИзменения(Элемент, Отказ)
   Если Элемент.ТекущаяСтрока=ТекущаяСтрока тогда
   иначе
       Отказ=Истина;
       КонецЕсли;
КонецПроцедуры




+плюс еще объявляешь переменную ТекущаяСтрока, у меня сработало
25 Woolf
 
03.10.10
23:30
(24) - не, не то...