|
Определить, что поменял пользователь в ТЧ |
☑ |
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
соответственно товары - это тек. данные, а ТоварыСсылка - данные ТЧ по ссылке
всем спасибо!
|
|