Цитата:
Сообщение от
Rimantas
Спасибо за подсказку ! Я искал пока в классе BOMCalcConsumption . Так , значить надо ето место перебить ... Небудет влияния на других мест , кроме цены ?
Перебил в другом месте ( класс BomCalcItemLine ) :
X++:
protected void calcConsumption()
{
BOMCalcConsumption bomCalcConsumption;
Qty consumptionBOMQty;
Qty netWeightConsumptionBOMQty;
Percent calcAccError;
BOMMap bom2; // отцовский БОМ
;
bomCalcConsumption = BOMCalcConsumption::construct(bom.Formula, bomCalcData);
calcAccError = Route::accError(this.parmParentBOMCalc().parmRouteId(), bom.OprNum);
consumptionBOMQty = bomCalcConsumption.calcConsumption(bom, calcAccError);
// начяло мод.
bom2 = this.parmParentBOMCalc().parmBOM(); // отыскиваем отцовский БОМ
if ( bom2.BOMQtySerie > 1 && seriesSize != bom2.BOMQtySerie && InventTable::find( bom2.ItemId ).ItemType == ItemType::BOM )
{
seriesSize = bom2.BOMQtySerie;
consumptionBOMQty = consumptionBOMQty / seriesSize;
consumptionBOMQty = roundUp( consumptionBOMQty, bom.RoundUpQty );
}
// конец модиф.
netWeightConsumptionBOMQty = bomCalcConsumption.calcConsumption(bom,
1,
NoYes::Yes,
NoYes::No,
NoYes::No); // excludes scrap
// Calculation is done in inventory units
if(bom.UnitId != inventUnitId)
{
calcConsumptionInventQty = UnitConvert::qty(consumptionBOMQty,
bom.UnitId,
inventUnitId,
itemId);
calcNetWeightConsumptionInventQty = UnitConvert::qty(consumptionBOMQty,
bom.UnitId,
inventUnitId,
itemId);
}
else
{
calcConsumptionInventQty = consumptionBOMQty;
calcNetWeightConsumptionInventQty = netWeightConsumptionBOMQty;
}
[calcConsumpVariableQty, calcConsumpConstantQty] = this.getCalcConsumption();
}
Теперь всё похоже на правду ...