|
![]() |
#1 |
Участник
|
В классе BOMCalcItem есть метод
X++: void initSeriesSize() { ; if(level == 0) { seriesSize = calcConsumptionInventQty; return; } else if(bom) { // Line type = Item if(bomCalcExplosionMode != BOMCalcExplosionMode::MakeToOrder && !bom.type().mustBeDerivedDirectly()) // makeToOrder forces linetype Item to be Production { seriesSize = inventTable.inventStandardQty(this.parmInventDimId()); this.parmUseStandardQty(true); } // Line types : Production, Vendor, Phantom else { seriesSize = calcConsumptionInventQty; this.parmUseStandardQty(false); } } |
|
|
За это сообщение автора поблагодарили: Rimantas (1). |
![]() |
#2 |
Участник
|
Цитата:
Сообщение от tourist
![]() В классе BOMCalcItem есть метод
X++: void initSeriesSize() { ; if(level == 0) { seriesSize = calcConsumptionInventQty; return; } else if(bom) { // Line type = Item if(bomCalcExplosionMode != BOMCalcExplosionMode::MakeToOrder && !bom.type().mustBeDerivedDirectly()) // makeToOrder forces linetype Item to be Production { seriesSize = inventTable.inventStandardQty(this.parmInventDimId()); this.parmUseStandardQty(true); } // Line types : Production, Vendor, Phantom else { seriesSize = calcConsumptionInventQty; this.parmUseStandardQty(false); } } |
|
![]() |
#3 |
Участник
|
Цитата:
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(); } ![]() |
|
|
Опции темы | Поиск в этой теме |
Опции просмотра | |
|