Имя: Пароль:
1C
 
как при изменении поля табличной части документа узнать его прежнее значени
0 колодина
 
11.05.07
13:19
при изменении поля табличной части документа мне надо знать старое и новое его значение. чтобы хранить историю изменений. новое - нам известно, можем получить в обработке события "приизменении". а вот старое откуда узнать? спасибо.
1 GenV
 
11.05.07
13:21
(0) Я перед началом изменения сохраняю старое значение в переменную формы, а ПриИзменении проверяю. Хотя может есть способ и лучше ...
2 колодина
 
11.05.07
13:23
(1) а в какой обработке сохраняешь? при каком событии? у меня тоже такая мысль была.... но это как-то противно...
3 RomaH
 
naïve
11.05.07
13:26
старое это какое?

есть Ссылка - там хранится значение которое записано в базу данных

есть старое значение элемента - то которое до изменения элемента управления
4 RomaH
 
naïve
11.05.07
13:27
при открытии

потом при изменении
если старое <> новое тогда

....

старое = Новое
5 GenV
 
11.05.07
13:27
(2) Если ссылочное поле то в НачалоВыбора
6 Advan
 
11.05.07
13:28
блин - как то я делал - ничего сложного нет - но вот как не помню - сейчас поищу
7 колодина
 
11.05.07
13:31
Рома, спасибо... точно... в ссылка - хранится старое... а вот если я уже меняла и не записала... оно где-нибудь хранится интересно? как его отловить?
8 колодина
 
11.05.07
13:32
(5) у меня просто числовое.... извините, надо было уточнить конечно.
9 Advan
 
11.05.07
13:33
не непомню где и как делал - давно было
10 RomaH
 
naïve
11.05.07
13:35
еще раз
что бы не плодить стандартных обработчиков
в приОткрытии
записываешь в переменные модуля все что тебе надо

в приизменении - меняешь если надо
11 колодина
 
11.05.07
13:39
(10) у меня проблема - могут потом несколько раз изменить, и по-хорошему надо все это сохранять... с чего на чего изменили...
12 колодина
 
11.05.07
13:40
+(11) а много переменных держать - не хочется мне... может как-то по-другому можно сделать, народ?
13 RomaH
 
naïve
11.05.07
13:41
пиши много переменных в структуру, или даже соответсвие
ключами сделай элементыформы
14 GenV
 
11.05.07
13:43
(13) Ну только если значений мало. Иногда все таки лучше через обработчик ...
15 RomaH
 
naïve
11.05.07
13:45
через какой ?

ааа..
в начале выбора - пишешь в ОДНУ переменную значение начала выбора (имя переменной не зависит от элемента)
а в при изменении - читаешь эту переменную
?

тоже вариан
16 колодина
 
11.05.07
13:45
ну в принципе я вроде придумала как хранить историю изменений... буду в табличном поле хранить, в самом документе... с именами полей и датами изменений. ну и значения и причины изменений. чтобы сразу глянул и все понял...
17 колодина
 
11.05.07
13:46
(15) да нету у меня никакого начала выбора... поле - ЧИСЛОВОЕ....
18 GenV
 
11.05.07
13:47
(15)+1
19 GenV
 
11.05.07
13:47
(17) можно в ПриАктивизацииЯчейки (или Строки - не помню)
20 RomaH
 
naïve
11.05.07
13:49
так история изменения документа
зачем хранить промежуточные изменения?
ониже не записаны были?

имхо, достаточно сравнить с сылкой
21 колодина
 
11.05.07
13:56
(20) задача такая - надо хранить....
22 RomaH
 
naïve
11.05.07
14:00
а какой смысл

я открываю прием на работу
десять раз меняю должность у сотрудника
закрываю без сохранения, или с сохранением, но должность я вернул старую - нафига мне история
23 RomaH
 
naïve
11.05.07
14:01
очень интересно - зачем такое может потребоваться, может у себя сделая
24 колодина
 
11.05.07
14:07
ну при приеме на работу такое не требуется... а это мне надо при проведении регламентного документа. скажем его подготовили, потом что-то исправили на каком-то основании.... потом провели.... интересно будет проанализировать зачем и когда что-либо изменяли в нем.
25 Wladimir_spb
 
19.05.07
14:34
Сам сегодня столкнулся с такой проблемой.

Для табличной части решилось очень просто. Почти как в (1), но с помощью события ТЧ "ПередНачаломИзменения", которое возникает всегда при попытке редактировать что либо в таблице.

Приблизительно так:

Перем ИсходноеЗначение;

Процедура ТаблицаПериодовПередНачаломИзменения(Элемент, Отказ)
   ИсходноеЗначение = ЭлементыФормы.ТаблицаПериодов.ТекущаяСтрока[ЭлементыФормы.ТаблицаПериодов.ТекущаяКолонка.Имя];
КонецПроцедуры
26 Neco
 
19.05.07
17:39
Процедура ТабличноеПоле1Колонка1ОбработкаВыбора(Элемент, ВыбранноеЗначение, СтандартнаяОбработка)
   СтароеЗначение = Элемент.Значение;
КонецПроцедуры
27 Сферический конь
 
20.05.07
00:07
Лена, только РС. Перед записью сравниваешь содержимое объекта и ссылки.
28 Гений 1С
 
гуру
20.05.07
10:11
(27) ага, ищите в КЗ по слову "парциальное изменение".
29 колодина
 
22.05.07
05:33
(27) Лошарик, мне надо регистрировать ВСЕ изменения... вот в чем загвоздка...
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.