Имя: Пароль:
1C
1С v8
Как защить тибличное поле от Del, Ctrl+V, Shift+Ins?
0 Healer
 
26.10.11
13:30
Приветствую всех!
Ситуация такова: загружаем данные (по зарплате) в табличное поле на форме, затем пользователь правит данные (размеры премий, некоторые надбавки и т.п.), после чего на основе изменённых данных формируем всякие документы. По событию ПриИзмененииСодержимогоОбласти я ограничиваю доступ у ячейкам (чтобы правили лишь те, которые можно) и делаю всяческие пересчёты по строке и итогов. Но при правке ячейки описанными в теме способами отловить их не получается.

Список всех событий табличного поля:
Выбор
ОбработкаРасшифровки
ПриАктивацииОбласти
НачалоПеретаскивания
ПроверкаПеретаскивания
ОкончаниеПеретаскивания
Перетаскивание
ПриИзмененииСодержимогоОбласти

Собственно, вопрос: как защить тибличное поле от Del, Ctrl+V, Shift+Ins или хотябы как их можно отловить?
1 НуВотКак
 
26.10.11
13:34
Доступность = 0
2 Повелитель
 
26.10.11
13:36
Процедура ТабЧастьПередУдалением(Элемент, Отказ)
   
   ТекСтрока = ЭлементыФормы.Товары.ТекущаяСтрока;
   Если ТекСтрока = Неопределено Тогда
       Возврат;
   КонецЕсли;
   
   Если ТекСтрока.КоличествоУчет <> 0 Тогда
       Предупреждение("Нельзя удалить строку у которого установлено ""Учетное количество""!");
       Отказ = Истина;
       Возврат;
   КонецЕсли;
3 Повелитель
 
26.10.11
13:37
(2) Не то я написал
4 Alexandr Puzakov
 
26.10.11
13:39
Это что ли поле табличого документа?

В табличном поле это все разруливается вставлением в обработчики событий ПередДобавлением и ПередУдалением строчки:

Отказ = Истина;
5 Healer
 
26.10.11
13:39
Да со свойствами понятно, по какому событию отловить эти злонажатия?
6 Рэйв
 
26.10.11
13:39
(0)Я не понял.  Ты с ТабличнымДокументом весь этот цирк проделыаешь или с табличной частью ?
7 Healer
 
26.10.11
13:40
(4) Во, спасибо, попробую...
8 Healer
 
26.10.11
13:40
(6) С табличным полем на форме обработки.
9 Healer
 
26.10.11
13:42
(4) Блин, ну нет там таких обработчиков, в том -то и конфуз. А все, что есть, я перечислил...
10 Alexandr Puzakov
 
26.10.11
13:43
(8) судя по обработчикам событий у тебя не табличное поле, а поле табличного документа...
11 Healer
 
26.10.11
13:45
(10) Точно, Имя: "ТабличныйДокумент".
12 Alexandr Puzakov
 
26.10.11
13:45
(9) вся проблема в том, что ты не тот элемент управления выбрал...
13 Рэйв
 
26.10.11
13:46
(11)А зачем такой изврат?  Чем тебе табличная часть не угодила?
14 Alexandr Puzakov
 
26.10.11
13:47
(11) так удали поле табличного документа, добавь табличное поле, и будет тебе щастье.
15 Healer
 
26.10.11
13:57
(12), (13) Ну да, похоже на то... переделаю на табличное поле. Всем спасибо :-)
16 Healer
 
26.10.11
13:58
//Табличный документ заточен под печать, поэтому в нём так мало интерактива.
17 Healer
 
26.10.11
14:13
//В общем, надо было использовать элемент "Табличное поле", вместо "Поле табличного документа".
18 Healer
 
26.10.11
14:20
(14) Как говорят англичане, "засрайт"! :-)

//(that's right)!
19 hhhh
 
26.10.11
14:25
(18) если англичанин говорит "ол райт" - это значит, он вашего отца обругал. (С)
Закон Брукера: Даже маленькая практика стоит большой теории.