Имя: Пароль:
1C
1С v8
Как отловить изменения в регистре бухгалтерии
,
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) подписка