Господа, доброго дня!
Аксапта тройка.
Симптомы такие: для нескольких заказов при попытке разносок вешается намертво система, создаются два доступа к таблице NumberSequenceTable, один блочит другого.
Происходит это в классе NumberSeqCleanUp в методе cleanUpSequence в этом запросе
X++:
select forupdate firstonly numberSequenceTableUpd
index hint SeriesIdx
where numberSequenceTableUpd.numberSequence == _numberSequenceTable.numberSequence;
Проблема была описана
Здесь и
Здесь Однако перепись метода release в NumberSeq не помогает банально потому, что туда код не заходит.
Происходит впервые, раньше не было такого как говорят, что согласуется со старыми топиками (работаю второй день на месте, впервые вижу проблемы с проводками такого класса).
Помимо этого ещё появился глюк.
При создании отгрузочной накладно процесс проходит, ничего не виснет, однако в проводках и в соответствующей таблице пустота.
Ниже весь код, по-моему он оригинальный
X++:
public void cleanUpSequence(UserConnection userConnection,
NumberSequenceTable _numberSequenceTable,
boolean hookCleanUp = false
)
{
NumberSequenceList numberSequenceList;
NumberSequenceTable numberSequenceTableUpd;
boolean doCleanUpDead = FALSE;
if (_numberSequenceTable && _numberSequenceTable.continuous)
{
userConnection.ttsbegin();
numberSequenceTableUpd.setConnection(userConnection);
select forupdate firstonly numberSequenceTableUpd
index hint SeriesIdx
where numberSequenceTableUpd.numberSequence == _numberSequenceTable.numberSequence;
if (numberSequenceTableUpd && (!hookCleanUp || numberSequenceTableUpd.mustRunCompleteCleanUp()))
numberSequenceTableUpd.updateCompleteClean();
while select transId
from numberSequenceList
group by transId
where numberSequenceList.numberSequence == _numberSequenceTable.numberSequence
{
if (!numberSequenceList.transId)
doCleanUpDead = TRUE;
this.cleanUpTrans(userConnection,numberSequenceList.transId);
}
if (doCleanUpDead)
this.cleanupDeadProc(userConnection,_numberSequenceTable.numberSequence);
userConnection.ttscommit();
}
}
P.S. Перенесите, пожалуйста, топик, сглючило(