|
Как отловить изменения в регистре бухгалтерии |
☑ |
0
sfilenok
06.02.13
✎
12:33
|
Стоит такая задача: нужно перед записью регистра бухгалтерии проанализировать чего поменялось.
В теории вроде просто: сравнить текущий вариант таблицы и той, что в базе, но на практике не тут то было... хитро идет запись хозрасчтеного регистра.
При перепроведении, допустим, документа, в РБ идет два раза запись: первая - записывает пустое значение, вторая - записывает новое. То есть, нужно в первый раз куда-нибудь запомнить что было, а во втором разе сравнить с тем что стало... ладно, извратится можно, так сделать... А теперь другая ситуация, при удалении документа - запись идет всего один раз. а механизм то должен быть универсальным на все ситуации.. Было б хорошо узнать при запись РБ, какой процесс идет - проведение или удаление, или еще чего, только вот как?? Либо есть какой-нить альтернативный путь решения, никто не сталкивался с подобной задачкой?
|
|
1
mikecool
06.02.13
✎
12:35
|
перед записью или еще где сохраняй набор записей в доп свойствах, потом где угодно сравнивай
|
|
2
mikecool
06.02.13
✎
12:35
|
+1 где угодно - скорее всего в модуле набора записей
|
|
3
sfilenok
06.02.13
✎
12:54
|
"где угодно" вот и надо перед записью, либо при записи, чтоб была возможность отмены записи, если поменяли чего-то не того.
Проблема в том, когда начинать сравнивать предыдущее и текущее значение, если неизвестно запись идет в одну итерацию, или в две...может быть ничего и не поменяли при проведении, но так как, он сначала очищает набор записей, а потом заново записывает, если делать проверку при каждой записи, он не увидит что наборы идентичны
|
|
4
mikecool
06.02.13
✎
12:55
|
(3) не осилил
|
|
5
samozvanec
06.02.13
✎
12:57
|
(3) см (1) до озарения
|
|
6
Eugene_life
06.02.13
✎
12:59
|
(0) Интересно посмотреть критерии оценки "то или не то". Учитывая, что это должно работать для каждой записи
|
|
7
Domanoff26
06.02.13
✎
13:05
|
перед записью
если ЭтотОБъект.КОличество() =0 ТОгда
СохранитьСтаруюТаблицу()
КОнецЕсли;
При Записи
если ЭтотОБъект.КОличество() <>0 ТОгда
СохранитьYjde.Таблицу()
КОнецЕсли;
|
|
8
Naumov
06.02.13
✎
13:14
|
(0) конечно два цикла записи - одна отмена , другая - новая запись
|
|
9
DrShad
06.02.13
✎
13:16
|
ПередЗаписью объекта сохранять в доп свойства РежимЗаписи
|
|
10
Domanoff26
06.02.13
✎
14:25
|
(9) а не тяжко для всех доков?
|
|
11
DrShad
06.02.13
✎
14:27
|
(10) нет
|
|
12
Maxus43
06.02.13
✎
14:30
|
(10) подписка
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший