13.07.2007, 11:47 | #11 |
Banned
|
Похвально. У меня тоже вчера было какое-то особое настроение, так что для того вертикального решения, над которым я работаю в настоящий момент, я написал след. код:
X++: // to cope with the apples and bananas problem UnitQty addUnitQtyError(SPPProdUnitQtyMap _that) { UnitQty qty; if (! _that.UnitQtyError) return 0; if (! this.UnitIdError) this.UnitIdError = _that.UnitIdError; if (! this.LanesNo) this.LanesNo = _that.LanesNo; if (this.UnitIdError == _that.UnitIdError && this.LanesNo == _that.LanesNo) // ;-) { qty = _that.UnitQtyError; } else { qty = _that.UnitQtyError; if (_that.LanesNo && Unit::SPPisLengthUnit(_that.UnitIdError)) qty = qty * _that.LanesNo; // ~ kg, m2, pcs if (this.LanesNo && Unit::SPPisLengthUnit(this.UnitIdError)) qty = qty / this.LanesNo; // ~ m // no conv. factor => throw error qty = UnitConvert::qty(qty, _that.UnitIdError, this.UnitIdError, this.prodTable().ItemId); } this.UnitQtyError += qty; return qty; } Последний раз редактировалось EVGL; 18.07.2007 в 12:39. |
|