logo
logo
"Что такое синхронизация". [Dervish 29/08/2003 03:08]
Проблема раскрывается уже во втором пункте:
 
2. На работе отмечаете повторяющуюся операцию.
 
Теперь ещё раз что писал я:
а на работе узнав что мне денег понадобиться допустим меньше корректирую эту операцию.
 
Т.е. я не ввожу повторяющуюся операцию, а корректирую операцию
 
ID   Name                  Summa
 
База "дом" до синхронизации:
100 Покупка дискеты      15 рублей
База "работа" после корректировки, до синхронизации:
100 Покупка дискеты      13 рублей
 
Как поступить в этом случае при простом объединении
 
Dervish: Обратите внимание, что операции не просто объединяются, программа должна поддерживать таблицу соответствия. И в этой таблице отмечается не только какая операция какой соответствует, но и какой-то признак модификации операции, например, дату и время последней синхронизации. Сейчас, во вторую версию, я уже ввёл (пока) скрытое поле в базе данных - дату последнего изменения записи.
 
Кроме того, даже простая "отметина", которая изменяет состояние операции (выполнено - не выполнено), даже это фактически приводит к изменению записи. А дальше всё просто - смотрим по таблице соответствия, проверяем время последнего изменения, и если видно, что запись была изменена, проводим синхронизацию.
 
То есть, неважно, просто ли вы отметили операцию как выполненную или ещё, кроме того, изменили время этой операции, всё равно в этом случае синхронизация будет работать корректно.