AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 20.07.2012, 18:53   #1  
Pustik is offline
Pustik
Участник
 
807 / 372 (14) ++++++
Регистрация: 04.06.2004
Полноценное восстановление записей, используя лог
Коллеги, добрый вечер.
Заинтересовал вопрос полноценного восстановления записей, используя лог.
Пример : Был создан обычный складской журнал. В следствии создания строк журнала образовались проводки (ждущие разноски, так скажем). За строками журнала ведется лог. Вдруг, пользователь случайно удаляет строки журнала. В лог это удаление прописывается. Заходим в лог, смотрим - да так оно и есть. Пытаемся вернуть все обратно, используя возможности восстановления лога. Но - в исходное состояние возвращается только строчка журнала - проводка к ней естественно не создается. Кто нибудь решал такую задачу? Я понимаю, что универсальность практически не реализуема. Но хотя бы что-нибудь.Частые ошибки пользователей и текучка кадров дают о себе знать. Были бы интересны мысли по этому поводу. Спасибо.
__________________
-Ты в гномиков веришь?
-Нет.
-А они в тебя верят, смотри, не подведи их.
Старый 20.07.2012, 19:18   #2  
mazzy is offline
mazzy
Участник
Аватар для mazzy
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
Лучший по профессии 2009
 
29,472 / 4494 (208) ++++++++++
Регистрация: 29.11.2001
Адрес: Москва
Записей в блоге: 10
Цитата:
Сообщение от Pustik Посмотреть сообщение
Но - в исходное состояние возвращается только строчка журнала - проводка к ней естественно не создается. Кто нибудь решал такую задачу?
да. но это очень плохо.

суть: восстанавливать надо все записи, удаленные в одной транзакции.

недостатки:
1. так восстанавливается не одна строчка, а весь удаленный журнал
2. возможны нарушения логической целостности базы (могут появиться отрицательные остатки например, или повторно занятая ячейка)
3. лог содержит только те поля, которые были на момент удаления. Если между удалением и восстановлением была изменена структура, то в логе отсуствуют новые поля и возможны нарушения constrains уже на уровне базы.

лучше не используйте. побочные эффекты хуже лекарства.
__________________
полезное на axForum, github, vk, coub.
За это сообщение автора поблагодарили: Pustik (5).
Старый 20.07.2012, 20:31   #3  
NetBus is offline
NetBus
Участник
 
200 / 85 (3) ++++
Регистрация: 08.07.2005
Адрес: Москва
"Администрирование"-->"Запросы"-->"Журнал базы данных"
Настроить ведение журнала на нужные таблицы.
Простейший джоб возвращает данные на место по нужным параметрам.
Периодически используем данную возможность.
Есть конечно свои минусы.
За это сообщение автора поблагодарили: Pustik (2).
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Модификация огромного количества (сотни тысяч) записей в Axapta 3.0 SP4 Hyper DAX: Программирование 41 06.04.2011 15:06
Выборка произвольных записей одним запросом db DAX: Программирование 1 23.09.2010 14:15
Массовое удаление записей через CCADOConnection Shirmin Oleg DAX: Программирование 68 04.05.2010 15:49
Влияние настройки доступа на уровне записей longson DAX: Функционал 2 15.01.2008 21:29
вывод количества записей в таблице на web форме и указание текущей страницы таблицы bambuk1960 DAX: Программирование 1 06.07.2006 13:27

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 20:21.