Имя: Пароль:
1C
1С v8
Сохранить значение строки ТЧ
0 BugInBox
 
05.10.15
21:56
Сабж. Есть Табличная часть. В ней строка. Правильно Заполняю ее каким-то значением, в обработчике "ПриИзменении" я проверяю ее на правильность. Если все правильно, то сеова захожу в нее и специально пишу туда неверное значение. Обработчик "ПриИзменении" выдает ошибку и вот тут надо заменить неверное значение на предыдущее верное. Как это организовать? Где и как хранить правильно введенное значение?
1 RomanYS
 
05.10.15
21:59
в другом реквизите ТЧ?
2 ВРедная
 
05.10.15
22:07
В переменной формы, которую заполнять перед началом редактирования
3 BugInBox
 
05.10.15
22:11
Проблема в том, что когда я захожу в строку еще раз, чтоб написать ошибочное значение, он переопределяет переменную, в которой правиильное предыдущее значение хранится
4 BugInBox
 
05.10.15
22:15
(2) а как ее заполнить изначально? То есть первый раз понятно как, а когда я ее открываю второй раз для ввода ошибки, отрабатывает Проверка и нужно поставить старое значение. А реевизит будет обновлен неправильным значениеи
5 RomanYS
 
05.10.15
22:29
так обновляй после проверки
6 PuhUfa
 
05.10.15
22:38
ТабличноеПоле (TableBox)
ПередНачаломИзменения (BeforeRowChange)
Синтаксис:

ПередНачаломИзменения(<Отказ>)
Параметры:

<Отказ>

Тип: Булево.
Признак отказа от изменения. Если в теле процедуры-обработчика установить данному параметру значение Истина, интерактивное изменение строки не начнется.
Значение по умолчанию: Ложь
Описание:

Возникает перед началом интерактивного изменения существующей строки табличного поля
7 BugInBox
 
05.10.15
22:43
Так. Вижу, что нужен пример.
Ячейка строки не должна содержать буквы "Ы"
Ввожу строку "Продиджи". Строка проходит проверку (и тут надо сохранить значение ячейки). Затем снова захожу в эту ячейку и набираю "ПродЫджи", проверка не проходит и выдает Предупреждение(). И вот в этом месте в ячейке нужно заменить "ПродЫджи" на "Продиджи". Где и как хранить "Продиджи" и на нее заменить "ПродЫджи"? :)
8 PuhUfa
 
05.10.15
22:53
перем  СтароеЗначение;

Процедура ТабличнаяЧасть1ПередНачаломИзменения(Элемент, Отказ)
    СтароеЗначение = Элемент.ТекущиеДанные.Реквизит1;
КонецПроцедуры

Процедура ТабличнаяЧасть1Реквизит1ПриИзменении(Элемент)
    Если Элемент.Значение = "ы" тогда
        Элемент.Значение = СтароеЗначение;
    КонецЕсли;    
КонецПроцедуры