public void docBegin(DataSet pDs) { _curDataSet = pDs; if (ToolSlip.isDsSlip(_curDataSet)) { _stockRemain.refreshIOTable(); } }
void fillRemain(DataRow pRow) { string SPE_REMAIN = "SPE_REMAIN"; DataTable tabList = getTable(); if (tabList != null && tabList.DefaultView.Count > 0 && tabList.Columns.Contains(SPE_REMAIN)) { bool isOrder = ToolSlip.isDsOrder(environment.getCurDoc()); bool isSlip = ToolSlip.isDsSlip(environment.getCurDoc()); int indxMatLOGICALREF = tabList.Columns.IndexOf(TableITEMS.LOGICALREF); int indxMatONHAND = tabList.Columns.IndexOf(TableITEMS.ONHAND); int indxMatONHANDIO = tabList.Columns.IndexOf(TableITEMS.ONHANDIO); int indxMatONMAIN = tabList.Columns.IndexOf(TableITEMS.ONMAIN); int indxMatSPE_REMAIN = tabList.Columns.IndexOf(SPE_REMAIN); foreach (DataRowView v in tabList.DefaultView) { if (pRow == null || object.ReferenceEquals(v.Row, pRow)) { double remain = 0; if (isOrder) { remain = (double)v[indxMatONMAIN]; } else // if ( isSlip) { object lref_ = v[indxMatLOGICALREF]; remain = (double)v[indxMatONHAND]; if (indxMatONHANDIO < 0) { remain += environment.getMatIOAmount(lref_); } else { remain += Convert.ToDouble(ToolCell.isNull(v[indxMatONHANDIO], 0)); remain += environment.getMatIOAmountDoc(lref_); } } v.Row[indxMatSPE_REMAIN] = remain; } } } }