Цитата:
Сообщение от
fed
Класс inventAdjustPost. Проверьте логику создания объекта класса ProjLedger. Кроме того - посмотрите - заполняются ли в складских проводках списания по проекту поля ProjId и ProjAdjustRefId.
Версия kernel 4.0.2501.116
Appl - 4.0.2501.347
Класс inventAdjustPost не модифицированный. В методе updateTrans_RU есть такой код.
X++:
if (conpeek(me.currentKey(), 8))
{
projLedger = this.newProjLedger_RU(conpeek(me.currentKey(), 9),
conpeek(me.currentKey(), 10),
conpeek(me.currentKey(), 11),
conpeek(me.currentKey(), 12),
conpeek(me.currentKey(), 13));
}
Восьмой элемент в контейнере - это признак сторно и к проектам никакого отношения не имеет.
Смотрим инициализацию контейнера в методе updateMap_RU
X++:
cont = [_inventSettlement.BalanceSheetPosting,
_inventSettlement.OperationsPosting,
_inventSettlement.BalanceSheetAccount,
_inventSettlement.OperationsAccount,
_inventSettlement.Dimension,
currencyCode,
InventTable::find(_inventSettlement.ItemId).inventModelGroup().StandardCost,
_inventTrans.Storno_RU,
_inventTrans.Qty > 0];
if (_inventTrans.ProjId)
{
cont += [_inventTrans.ProjId,
_inventTrans.ProjCategoryId,
_inventTrans.InventTransId,
_inventTrans.ProjAdjustRefId,
_inventTrans.ItemId];
}
ТАкое ощущение что при локализации (когда делали сторно по складу) сломали функционал.
Коллеги, а у вас какой код в приведенном месте?
Может и проводки с признаком сторно будут неправильно закрываться?