20.03.2009, 15:57 | #1 |
Участник
|
отмена транспортировки выпуска
Расширенным контур склада (или как он назывался).
После активации отгрузки: Система формирует транспортировки выпуска и маршруты комплектации. Причем транспортировки можно стандартно отменить, из ее же формы: Функции/Отменить транспортировку Однако когда я пытаюсь ее отменить (Class/WMSTransportCancel): Система говорит следющее: "Невозможно отредактировать запись в Транспортировки палет (WMSTransport). Возник конфликт обновления из-за того, что другой пользовательский процесс выполняет удаление записи или изменение одного или нескольких полей в записи." Как понять кто виноват?. В системе я один конечно. Статус транспортировки: "Активировано" Тип транспортировки "Транспортировка выпуска"
__________________
The Variable men power. Последний раз редактировалось Varmen; 20.03.2009 в 16:03. |
|
20.03.2009, 16:54 | #2 |
Участник
|
X++: public void run() { #OCCRetryCount WMSTransport WMSTransport; setprefix(WMSTransportCancel::description()); try { ttsbegin; WMSTransport = WMSTransport::find(WMSTransportId, true); WMSTransport.cancel(); ttscommit; } catch (Exception::Deadlock) { retry; } catch (Exception::UpdateConflict) { if (appl.ttsLevel() == 0) { if (xSession::currentRetryCount() >= #RetryNum) { throw Exception::UpdateConflictNotRecovered; } else { retry; } } else { throw Exception::UpdateConflict; } } } if (xSession::currentRetryCount() >= #RetryNum) После нескольких неудачных попыток удалить. Как отловить причину?
__________________
The Variable men power. |
|
20.03.2009, 18:26 | #3 |
Member
|
Воспроизводится в стандартной 4.0 сп2 фп1. Насколько я понимаю — это бага.
__________________
С уважением, glibs® |
|
20.03.2009, 19:17 | #4 |
Участник
|
Glibs,
меня мучает вопрос а может ли оно быть отмененым в этом случае по задумке (дизайну)?
__________________
The Variable men power. Последний раз редактировалось Varmen; 20.03.2009 в 19:24. |
|
20.03.2009, 20:09 | #5 |
Member
|
По дизайну так не отменяют.
Я посмотрел. Там ошибка в коде. Одну и ту же запись пытаются удалить а после этого обновить. Сначала в \Classes\WMSOrderTransType.delete(), строка 55 WMSTransport.doDelete(); Затем еще раз уже в \Data Dictionary\Tables\WMSTransport.cancel(), строка 32 this.update(); Причем удаление вызывается в этом же методе в 14-й строке WMSOrderTrans.cancel(); Это в общем-то и приводит к ошибке.
__________________
С уважением, glibs® |
|
|
За это сообщение автора поблагодарили: aidsua (1). |
20.03.2009, 23:11 | #6 |
Member
|
\Classes\WMSOrderTransType.delete() в 5.0 существенно переработан. Посмотрите.
__________________
С уважением, glibs® |
|
Теги |
wms, баг, маршруты комплектации, транспортировка выпуска, транспортировка паллет, ячеистый склад, ax2009, ax4.0 |
|
|