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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 14.05.2014, 08:52   #1  
CHESER85 is offline
CHESER85
Участник
 
93 / 11 (1) +
Регистрация: 04.08.2011
Адрес: Ufa
Записей в блоге: 1
TTSBegin/TTSAbort. Насколько безопасен для базы данных этот код?
Доброго времени суток уважаемые форумчане моего любимого форума!
Возникла задача: сделать расчет зарплаты для человека, но оклад и другие значения ставок брать по состоянию на раннюю дату. Ну для определенности пусть будет 31.03.2014. Естетственно, не хочется переписывать алгоритм расчета зарплаты, который уже заложен в счетчиках и я придумал следующий ход: удалить данные из значений ставок начиная с 01.04.2014, вызвать счетчики расчета зарплаты по табелю, получить суммы по видам зарплаты и далее ОТКАТИТЬ все назад. Грубо говоря код такой:

static void Job60(Args _args)
{
RPayRateTrans RPayRateTrans;
;
// .. здесь нет никаких транзакций
ttsbegin;
delete_from RPayRateTrans where RPayRateTrans.RateTypeAC == 'табельный номер' && RPayRateTrans.RateDate >= 01\04\2014;
// .. здесь производятся расчеты зарплаты, вызовы счетчиков, никаких вложенных транзакций тут нет
ttsabort;
// .. здесь все восстановлено.
}

Вопрос: хотелось бы узнать внутренний механизм а именно: реально ли происходит удаление данных из базы данных (т.к. внутри транзакции я проверял, значения ставок РЕАЛЬНО изменяются), а потом обратно они восстанавливаются? И насколько это безопасно для базы данных? Не получится ли так, что данные "нечаянно" удалятся? Хотелось бы знать все подводные камни данного подхода, т.к. есть скептики которые говорят, что "я бы так на рабочей базе не делал".
Старый 14.05.2014, 09:11   #2  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
"Да ты не бойся!" (c) Наша Раша

Подход приемлемый, может быть только проблема с номерными сериями, они не откатяться, а сдвинуться. Ну и, конечно, я бы протестировал это на тестовой базе. Мало ли как работает алгоритм, может там есть работа в отдельных транзакциях, как у номерных серий, тогда надо делать по другому.
Старый 14.05.2014, 09:21   #3  
CHESER85 is offline
CHESER85
Участник
 
93 / 11 (1) +
Регистрация: 04.08.2011
Адрес: Ufa
Записей в блоге: 1
"Да ты успокоооооойся, я сто раз так делал!"
никаких номерных серий в программе не будет использоваться. и на тестовой уже протестировано, работает отлично. но вдруг... что нибудь может экстра ординарное случится?
Старый 14.05.2014, 09:42   #4  
raz is offline
raz
NavAx
Аватар для raz
NavAx Club
Лучший по профессии 2014
Лучший по профессии 2009
 
1,494 / 1065 (38) ++++++++
Регистрация: 22.07.2003
Адрес: МО
Цитата:
Сообщение от CHESER85 Посмотреть сообщение
никаких номерных серий в программе не будет использоваться. и на тестовой уже протестировано, работает отлично. но вдруг... что нибудь может экстра ординарное случится?
Ну тогда нет причин не использовать.
Даже в стандарте так работает предварительный просмотр проводок по журналам ГК.
Старый 14.05.2014, 17:48   #5  
Sada is offline
Sada
Программатор
Аватар для Sada
 
1,450 / 153 (8) ++++++
Регистрация: 29.03.2005
Адрес: Толи Барнаул, толи Москва
Юзаю такой способ, не часто, но юзаю - проблем не было
 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
Журнал базы данных SysDataBaseLog smailik DAX: Администрирование 1 06.05.2014 16:10
"Инвентаризационный код" в группах инвентаризации и создание строк инвентаризации lev DAX: Функционал 0 11.10.2011 09:49
Отчёт из другой базы данных hated8 DAX: Программирование 3 07.04.2010 14:16
Утилиты для работы с журналом базы данных vc DAX: База знаний и проекты 0 10.05.2008 17:40
Введение в Аксапту Роман Кошелев DAX: Прочие вопросы 0 18.12.2001 14:00

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

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

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