|
09.04.2013, 12:36 | #1 |
Участник
|
Связь WMSOrderTrans и inventTrans
Мне нужно в отчете со строки товарной накладной(Delivery note, e.g CustPackingSlipTrans) обраться до WMSOrderTrans.
Возможно ли однозначно найти по строке CustPackingSlipTrans соответствующую WMSOrderTrans ? Делаю так: X++: while select packingSlipTrans join inventTrans where inventTrans.PackingSlipId == packingSlipTrans.PackingSlipId && inventTrans.InventTransId == packingSlipTrans.InventTransId //&& //inventTrans.VoucherPhysical join WMSOrderTrans where WMSOrderTrans.inventTransId == inventTrans.InventTransId && WMSOrderTrans.inventDimId == inventTrans.inventDimId |
|
09.04.2013, 13:17 | #2 |
Banned
|
Вы правы. К сожалению, однозначной связи нет. Можно попытаться сократить scope с помощью поля DateInvent или как его там.
|
|
|
За это сообщение автора поблагодарили: IKA (1). |
09.04.2013, 17:50 | #3 |
Участник
|
Спасибо.
С функциональной т.з когда можно наткнуться на неоднозначное соответствие? Какой контрпример можно придумать, чтобы показать клиенту, при каких условиях это требование приводит к проблемам. |
|
09.04.2013, 18:05 | #4 |
Banned
|
Сложно сказать. Вся информация из WMSOrderTrans неминуемо попадает в складскую проводку InventTrans, а те уже однозначно по 1:N связаны с CustPackingSlipTrans.
Были, впрочем, баги в русской ТТН старого образца, в особенности при наличии отрицательных строк в заказе на пролажу. Попробуйте отгрузить два раза по одному заказу, а потом перепечатайте первую ТТН. Если все в порядке - то проблем больше не ожидается. |
|
|
За это сообщение автора поблагодарили: mazzy (2). |
09.04.2013, 20:03 | #5 |
Участник
|
Если у вас первоисточником строк в wmsOrderTrans являются только маршруты комплектации(или будут являться только они), то можно смело добавлять условие по полю RouteId
X++: wmsOrderTrans.routeId == inventTrans.PickingRouteID
__________________
Sergey Nefedov |
|