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

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 04.10.2005, 16:28   #1  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от xxx
delete_from RAssetTrans ..
delete_from LedgerJournalTable ..
delete_from LedgerJournalTrans ..
delete_from LedgerTrans ..

}

И никак не могу добиться результата
какого результата?
- не удаляется?
- сальдо по счетам ГК не меняется?

По правде говоря, если таким образом исправлять чужие ошибки в Аксапте - будете вечно крайним(крайней)
__________________
-ТСЯ или -ТЬСЯ ?
Старый 04.10.2005, 16:48   #2  
Vadik is offline
Vadik
Модератор
Аватар для Vadik
Лучший по профессии 2017
Лучший по профессии 2015
 
3,631 / 1849 (69) ++++++++
Регистрация: 18.11.2002
Адрес: гражданин Москвы
Цитата:
Сообщение от xxx
КОГДА ЗАПУСКАЮ ЭТОТ JOB без удаления, результат выходит, а как добавляю удаление все виснит и без результатно
и слава аллаху, что виснет (чур, без обид)

может быть, Вы все же опишете, какую операцию Вы хотите отменить?
__________________
-ТСЯ или -ТЬСЯ ?
Старый 04.10.2005, 17:41   #3  
AndyD is offline
AndyD
Участник
КОРУС Консалтинг
Лучший по профессии 2015
Лучший по профессии 2014
Лучший по профессии AXAWARD 2013
Лучший по профессии 2011
 
2,560 / 2479 (88) +++++++++
Регистрация: 20.08.2005
При таком режиме у вас происходит вот что: при входе в цикл
while select forUpdate RAssetTrans
where RAssetTrans.Voucher == LedgerTrans.Voucher
на сервере открывается курсор с вашим запросом. Затем при вызове delete_from этот курсор закрывается и открывается новый курсор delete. После выполнения этой операции на сервер снова посылается запрос на выборку RAssetTrans, но теперь без указания RAssetTrans.Voucher == LedgerTrans.Voucher. И дальше начинается бескончный цикл по удалению одной и той же записи и выборке
select * from RAssetTrans

В данном случае необходимо убрать цикл по RAssetTrans и оставить
delete_from RAssetTrans where RAssetTrans.Voucher==LedgerTrans.Voucher;
либо убрать delete_from, а вместо нее вставить RAssetTrans.delete()

Это с точки зрения работы с базой данных.

А с точки зрения логической целостности данных - после такого удаления боюсь вы не сможете больше работать с вашими данными.
__________________
Axapta v.3.0 sp5 kr2
 


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

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

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