![]() |
#1 |
Модератор
|
Цитата:
Сообщение от xxx
delete_from RAssetTrans ..
delete_from LedgerJournalTable .. delete_from LedgerJournalTrans .. delete_from LedgerTrans .. } И никак не могу добиться результата - не удаляется? - сальдо по счетам ГК не меняется? По правде говоря, если таким образом исправлять чужие ошибки в Аксапте - будете вечно крайним(крайней)
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#2 |
Модератор
|
Цитата:
Сообщение от xxx
КОГДА ЗАПУСКАЮ ЭТОТ JOB без удаления, результат выходит, а как добавляю удаление все виснит и без результатно
![]() может быть, Вы все же опишете, какую операцию Вы хотите отменить?
__________________
-ТСЯ или -ТЬСЯ ? |
|
![]() |
#3 |
Участник
|
При таком режиме у вас происходит вот что: при входе в цикл
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 |
|