13.03.2008, 11:01 | #1 |
Участник
|
Проблема с поиском в InventTrans после changeCompany (DAX4)
Так получилось, что заказ на покупку и связанный заказ на продажу, созданный функционалом InterCompany в строке имеет одинаковый InventTransId.
В результате код в методе transfer класса InterCompanyTransferInventDim находит строку InventTrans из компании, в которой вызывается разноска заказа на продажу, а не в компании, содержащей закупку. Сам код (стандартный, мое только добавление с попыткой сбросить переменную): X++: changecompany(_toDataAreaId) { setprefix(strfmt("@SYS93821",TradeInterCompany::curCompanyName())); // Попробуем сбросить переменную --> toInventTrans = null; // Попробуем сбросить переменную <-- toInventTrans = InventTrans::findTransId(_toInventTransId); toEndpoint = AifEndpoint::findInterCompany(fromValueMap.DataAreaId); if (toInventTrans.TransType == InventTransType::Sales) toValueMap = AifEndpointActionValueMap::find(toEndpoint.EndpointId, defaultSalesOrderAction); else toValueMap = AifEndpointActionValueMap::find(toEndpoint.EndpointId, defaultPurchaseRequisitionAction); toInventTrans = InventTrans::findTransId(_toInventTransId); Причем, для toValueMap находит нужную строку, хотя значение EndpointId есть и в исходной компании. Сама смена точно происходит (TradeInterCompany::curCompanyName() возвращает нужное значение). Если в 3.0 были такие проблемы при работе прогресс-бара, то в чем проблема в моем случае? Может кто решал? |
|
Теги |
ax3.0, ax4.0, cache, кэширование |
|
|