Имя: Пароль:
1C
1С v8
Определить, что поменял пользователь в ТЧ
0 John83
 
19.06.15
16:36
В заказе покупателя несколько позиций, одна из них с нулевой ценой.
Пользователь открывает документ и ставит цену.
Я хочу узнать, пользователь ли пользователь только эту позицию, или вносил еще какие-то изменения в ТЧ.
Как бы по-красивше сделать?
Думал через запрос, но идеи не те, а сравнивать каждый реквизит ТЧ неохота..
1 John83
 
19.06.15
16:37
"пользователь ли пользователь" = поменял ли пользователь
2 ДенисЧ
 
19.06.15
16:38
перед открытием сериализуй в хмл, потом ещё раз.
и сравнивай строки
3 John83
 
19.06.15
16:41
(2) эта проверка будет требоваться крайне редко - не думаю, что такой вариант целесообразен
4 Ёпрст
 
гуру
19.06.15
16:42
настрой версионирование объектов
5 John83
 
19.06.15
16:43
(4) настроено, но мне это нужно программно узнать
можно конечно же и из хранилища вытащить, но тогда лучше буду реквизиты ТЧ сравнивать
6 ДенисЧ
 
19.06.15
16:47
(3) Тогда выгрузи в тз, потом ещё раз...
7 Одинесю
 
19.06.15
16:52
(5) Версионирование сохраняется в регистре, какое хранилище?
8 ДенисЧ
 
19.06.15
16:55
(7) в регистре версий хранятся хранилища )
9 John83
 
19.06.15
16:57
(6) что-то не понял мысль..
11 Лефмихалыч
 
19.06.15
17:20
(0) табличная часть - это не объектные данные. Ты не сможешь понять "поменял ли пользователь именно эту строку". Ты сможешь только увидеть отличия.
Перед записью запросом соединяй ТЧ из объекта с ТЧ из базы и вот она разница. Что делать с разницей - сам думай, раз версионирование не вариант И нужно редко
12 John83
 
19.06.15
17:21
(11) да, именно так и сделал
в общем полное соединение и в конце условие

ГДЕ
    ЕСТЬNULL(Товары.Цена, 0) <> 0
    И ЕСТЬNULL(ТоварыСсылка.Цена, 1) = 0
    И ТоварыСсылка.НомерСтроки ЕСТЬ НЕ NULL
    И Товары.НомерСтроки ЕСТЬ НЕ NULL

соответственно товары - это тек. данные, а ТоварыСсылка - данные ТЧ по ссылке

всем спасибо!