private void PrintTrafficBill(DataDynamics.ActiveReports.ActiveReport3 rpReport) { // список операций TrafficGood oTrafficPrint = new TrafficGood(); int nMarkedCnt = CalcMarkedRows(); if (nMarkedCnt > 0 && RFMMessage.MessageBoxYesNo("Отмечено записей: " + nMarkedCnt.ToString() + "\r\n" + "Напечатать лист заданий для всех отмеченных записей?") != DialogResult.Yes) { return; } TrafficPrepareIDList(oTrafficPrint, nMarkedCnt > 0); oTrafficPrint.FillData(); if (oTrafficPrint.MainTable.Rows.Count == 0) { return; } DataView dv = new DataView(oTrafficPrint.MainTable); dv.Sort = "OutputID, CellTargetAddress, StoreZoneSourceID, CellSourceRank, CellSourceAddress, GoodAlias"; DataTable tTable = dv.ToTable(); // печать StartForm(new frmActiveReport(tTable, rpReport)); }
private void btnEdit_Click(object sender, EventArgs e) { if (grdData.CurrentRow == null) { return; } // перечитаем текущее состояние задания oTrafficCur.ClearError(); oTrafficCur.ClearData(); oTrafficCur.ClearFilters(); oTrafficCur.ID = (int)grdData.CurrentRow.Cells["grcID"].Value; oTrafficCur.FillData(); if (oTrafficCur.ErrorNumber != 0 || oTrafficCur.MainTable.Rows.Count != 1) { return; } DataRow r = oTrafficCur.MainTable.Rows[0]; if ((bool)r["IsConfirmed"]) { RFMMessage.MessageBoxError("Задание уже подтверждено.\n" + "Изменение невозможно."); return; } if (r["DateAccept"] != DBNull.Value) { RFMMessage.MessageBoxError("Задание уже выполняется.\n" + "Изменение невозможно."); return; } if (StartForm(new frmTrafficsGoodsEdit((int)oTrafficCur.ID)) == DialogResult.Yes) { grdData_Restore(); } }
private bool TrafficChoose() { WaitOn(this); bool bResult = true; oTraffic.FillData(); if (oTraffic.ErrorNumber != 0 || oTraffic.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Не найдена запись для операции перемещения коробок/штук с кодом " + oTraffic.ID.ToString() + "..."); bResult = false; } if (bResult) { DataRow r = oTraffic.MainTable.Rows[0]; // товар в операции перемещения txtPackingAlias.Text = r["PackingAlias"].ToString(); decimal nInBox = Convert.ToDecimal(r["InBox"]); _nInBox = nInBox; bWeighting = Convert.ToBoolean(r["Weighting"]); decimal nQntWished = Convert.ToDecimal(r["QntWished"]); _nQntWished = nQntWished; int nBoxWished = 0; decimal nRestQntWished = 0; if (!bWeighting) { nBoxWished = Convert.ToInt32(Math.Floor(nQntWished / nInBox)); nRestQntWished = nQntWished - nBoxWished * nInBox; } else { nRestQntWished = nQntWished; } numBoxWished.Value = numBoxConfirmed.Value = nBoxWished; numBoxConfirmed.Enabled = !bWeighting; numRestQntWished.Value = numRestQntConfirmed.Value = nRestQntWished; numRestQntWished.DecimalPlaces = numRestQntConfirmed.DecimalPlaces = ((bWeighting || ((int)nInBox != nInBox)) ? 3 : 0); txtOwner.Text = r["OwnerName"].ToString(); txtGoodState.Text = r["GoodStateName"].ToString(); if (r["UserID"] == DBNull.Value || r["UserID"] == null) { cboUser.SelectedIndex = -1; } else { cboUser.SelectedValue = (int)r["UserID"]; } /* * if (r["DeviceID"] == DBNull.Value || r["DeviceID"] == null) * cboDevice.SelectedIndex = -1; * else * cboDevice.SelectedValue = (int)r["DeviceID"]; */ numPriority.Value = (int)r["Priority"]; if (r["DateAccept"] != DBNull.Value) { cboUser.Enabled = cboDevice.Enabled = false; } // ячейка-источник oCellSource.ID = (int)r["CellSourceID"]; oCellSource.FillData(); DataRow rcs = oCellSource.MainTable.Rows[0]; cboStoresZonesSource.SelectedValue = (int)rcs["StoreZoneID"]; cboStoresZonesTypesSource.SelectedValue = (int)rcs["StoreZoneTypeID"]; // ячейка-приемник oCellTarget.ID = (int)r["CellTargetID"]; oCellTarget.FillData(); DataRow rct = oCellTarget.MainTable.Rows[0]; cboStoresZonesTarget.SelectedValue = (int)rct["StoreZoneID"]; cboStoresZonesTypesTarget.SelectedValue = (int)rct["StoreZoneTypeID"]; bResult = (oCellSource.ErrorNumber == 0) && (oCellTarget.ErrorNumber == 0); if (bResult) { bResult = cboCellSourceAddress_Restore() && cboCellTargetAddress_Restore(); } } WaitOff(this); return(bResult); }
private bool grdData_Restore() { RFMCursorWait.Set(true); RFMCursorWait.LockWindowUpdate(FindForm().Handle); oTrafficCur.ID = null; oTrafficList.ClearError(); oTrafficList.ClearFilters(); oTrafficList.ID = null; oTrafficList.IDList = null; // собираем условия // штрих-код //if (txtBarCode.Text.Trim().Length > 0) // oTrafficList.BarCode = txtBarCode.Text.Trim(); // даты if (!dtrDates.dtpBegDate.IsEmpty) { oTrafficList.FilterDateBeg = dtrDates.dtpBegDate.Value.Date; } if (!dtrDates.dtpEndDate.IsEmpty) { oTrafficList.FilterDateEnd = dtrDates.dtpEndDate.Value.Date; } // ИСТОЧНИК // ячейка Cell oCellSource = new Cell(); oCellSource.ClearData(); if ((txtCellSourceBarCode.Text.Trim().Length > 0) | (txtCellSourceAddress.Text.Trim().Length > 0)) { if (txtCellSourceBarCode.Text.Trim().Length > 0) { oCellSource.BarCode = txtCellSourceBarCode.Text.Trim(); } if (txtCellSourceAddress.Text.Trim().Length > 0) { oCellSource.FilterAddress = txtCellSourceAddress.Text.Trim(); } oCellSource.FillData(); if (oCellSource.MainTable.Rows.Count > 0) { StringBuilder sbCS = new StringBuilder(""); foreach (DataRow r in oCellSource.MainTable.Rows) { sbCS = sbCS.Append(r["ID"].ToString() + ","); } if (sbCS.Length > 0) { oTrafficList.FilterCellsSourceList = sbCS.ToString(); } } else { oTrafficList.FilterCellsSourceList = "-1"; } } // зоны if (sSelectedStoresZonesSourceIDList.Length > 0) { oTrafficList.FilterStoresZonesSourceList = sSelectedStoresZonesSourceIDList; } if (sSelectedStoresZonesTypesSourceIDList.Length > 0) { oTrafficList.FilterStoresZonesTypesSourceList = sSelectedStoresZonesTypesSourceIDList; } // ПРИЕМНИК // ячейка Cell oCellTarget = new Cell(); oCellTarget.ClearData(); if ((txtCellTargetBarCode.Text.Trim().Length > 0) | (txtCellTargetAddress.Text.Trim().Length > 0)) { if (txtCellTargetBarCode.Text.Trim().Length > 0) { oCellTarget.BarCode = txtCellTargetBarCode.Text.Trim(); } if (txtCellTargetAddress.Text.Trim().Length > 0) { oCellTarget.FilterAddress = txtCellTargetAddress.Text.Trim(); } oCellTarget.FillData(); if (oCellTarget.MainTable.Rows.Count > 0) { StringBuilder sbCT = new StringBuilder(""); foreach (DataRow r in oCellTarget.MainTable.Rows) { sbCT = sbCT.Append(r["ID"].ToString() + ","); } if (sbCT.Length > 0) { oTrafficList.FilterCellsTargetList = sbCT.ToString(); } } else { oTrafficList.FilterCellsTargetList = "-1"; } } // зоны if (sSelectedStoresZonesTargetIDList.Length > 0) { oTrafficList.FilterStoresZonesTargetList = sSelectedStoresZonesTargetIDList; } if (sSelectedStoresZonesTypesTargetIDList.Length > 0) { oTrafficList.FilterStoresZonesTypesTargetList = sSelectedStoresZonesTypesTargetIDList; } // состояние операций if (optNotConfirmed.Checked) { oTrafficList.FilterConfirmed = false; } if (optSuccess.Checked) { oTrafficList.FilterConfirmed = true; oTrafficList.FilterSuccess = true; } if (optNotSuccess.Checked) { oTrafficList.FilterConfirmed = true; oTrafficList.FilterSuccess = false; } // приходы-расходы if (txtInputBarCode.Text.Length > 0) { Input oInputFilter = new Input(); oInputFilter.BarCode = txtInputBarCode.Text.Trim(); oInputFilter.FillData(); // если не нашли ни одного прихода по указанному штрих-коду, // все равно должны передать "", чтобы не получить ни одного перемещения string sInputBarCode = ""; foreach (DataRow r in oInputFilter.MainTable.Rows) { sInputBarCode = sInputBarCode + "," + r["ID"].ToString(); } oTrafficList.FilterInputsList = sInputBarCode; } if (txtOutputBarCode.Text.Length > 0) { Output oOutputFilter = new Output(); oOutputFilter.BarCode = txtOutputBarCode.Text.Trim(); oOutputFilter.FillData(); // если не нашли ни одного прихода по указанному штрих-коду, // все равно должны передать "", чтобы не получить ни одного перемещения string sOutputBarCode = ""; foreach (DataRow r in oOutputFilter.MainTable.Rows) { sOutputBarCode = sOutputBarCode + "," + r["ID"].ToString(); } oTrafficList.FilterOutputsList = sOutputBarCode; } // пользователи if (sSelectedUsersIDList.Length > 0) { oTrafficList.FilterUsersList = sSelectedUsersIDList; } // выбранные товары if (sSelectedPackingIDList.Length > 0) { oTrafficList.FilterPackingsList = sSelectedPackingIDList; } // grdData.GetGridState(); oTrafficList.FillData(); grdData.IsLockRowChanged = true; grdData.Restore(oTrafficList.MainTable); //grdData.GridSource.Sort = "ID desc"; RFMCursorWait.LockWindowUpdate(IntPtr.Zero); RFMCursorWait.Set(false); return(oTrafficList.ErrorNumber == 0); }
private void mniServiceTrafficGoodChangeUser_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); if (grdData.DataSource == null || grdData.Rows.Count == 0) { return; } // текущая запись или все отмеченные string sText = "Зарегистрировать сотрудника, выполнявшего "; int nCnt = CalcMarkedRows(); if (nCnt == 0) { if (grdData.CurrentRow == null || grdData.IsStatusRow(grdData.CurrentRow.Index)) { return; } sText += "текущее перемещение"; nCnt = 1; } else { sText += RFMUtilities.Declen(nCnt, "отмеченное перемещение", "отмеченных перемещения", "отмеченных перемещений"); } sText += " коробок/штук?"; if (RFMMessage.MessageBoxYesNo(sText) == DialogResult.Yes) { // список сотрудников User oUser = new User(); oUser.FilterActual = true; oUser.FillData(); if (oUser.ErrorNumber != 0 || oUser.MainTable == null) { RFMMessage.MessageBoxError("Ошибка при получении данных о сотрудниках..."); return; } if (oUser.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Нет данных о сотрудниках..."); return; } int nNewUserID = 0; string sNewUserName = ""; _SelectedID = null; if (StartForm(new frmSelectID(this, oUser.MainTable, "Name", "Сотрудник", "Сотрудник, выполнявший перемещения")) == DialogResult.Yes) { if (_SelectedID.HasValue) { nNewUserID = (int)_SelectedID; sNewUserName = _SelectedText; } } if (nNewUserID == 0) { return; } TrafficGood oTrafficGoodForChangeUser = new TrafficGood(); TrafficPrepareIDList(oTrafficGoodForChangeUser, true); if (!oTrafficGoodForChangeUser.ID.HasValue && (oTrafficGoodForChangeUser.IDList == null || oTrafficGoodForChangeUser.IDList.Length == 0)) { oTrafficGoodForChangeUser.ID = Convert.ToInt32(grdData.CurrentRow.Cells["grcID"].Value); } oTrafficGoodForChangeUser.FillData(); if (oTrafficGoodForChangeUser.ErrorNumber != 0 || oTrafficGoodForChangeUser.MainTable == null) { RFMMessage.MessageBoxError("Ошибка при получении данных о перемещениях коробок/штук..."); return; } if (oTrafficGoodForChangeUser.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Нет данных о выбранных перемещениях коробок/штук..."); return; } // уже есть данные о сотрудниках в выбранных перемещениях? int nOldUsersCnt = 0; foreach (DataRow tr in oTrafficGoodForChangeUser.MainTable.Rows) { if (!Convert.IsDBNull(tr["UserID"])) { nOldUsersCnt++; } } if (nOldUsersCnt > 0) { if (oTrafficGoodForChangeUser.MainTable.Rows.Count == 1) { // одно перемещение if (RFMMessage.MessageBoxYesNo("Для выбранного перемещения уже зарегистрирован сотрудник.\n" + "Все-таки зарегистрировать нового сотрудника \"" + sNewUserName + "\"?") != DialogResult.Yes) { return; } } else { // не одно перемещение if (RFMMessage.MessageBoxYesNo("Для " + nOldUsersCnt.ToString().Trim() + " из " + RFMUtilities.Declen(nCnt, " выбранного перемещения", "выбранных перемещений", "выбранных перемещений") + " коробок/штук уже зарегистрирован сотрудник.\n" + "Все-таки зарегистрировать нового сотрудника \"" + sNewUserName + "\" для всех " + RFMUtilities.Declen(nCnt, " выбранного перемещения", "выбранных перемещений", "выбранных перемещений") + " коробок/штук?") != DialogResult.Yes) { return; } } } foreach (DataRow tr in oTrafficGoodForChangeUser.MainTable.Rows) { oTrafficGoodForChangeUser.UserChange((int)tr["ID"], nNewUserID); } grdData_Restore(); } }
private void btnCellNewChoose_Click(object sender, EventArgs e) { nCellNewID = null; txtCellNewAddress.Text = txtStoreZoneNewName.Text = ""; _SelectedCellID = null; if (StartForm(new frmSelectOneCell(this)) == DialogResult.Yes) { if (_SelectedCellID != null) { int nCellNewID_Temp = (int)_SelectedCellID; oCellNew.ID = (int)nCellNewID_Temp; oCellNew.FillData(); if (oCellNew.ErrorNumber != 0 || oCellNew.MainTable == null || oCellNew.MainTable.Rows.Count != 1) { RFMMessage.MessageBoxError("ќшибка при получении данных о новой ¤чейке..."); return; } if (nCellCurID.HasValue && nCellNewID_Temp == nCellCurID) { RFMMessage.MessageBoxError("¬ыбрана та же ¤чейка..."); return; } DataRow c = oCellNew.MainTable.Rows[0]; // проверки - можно ли сделать закрепление в эту ¤чейку? // 1. это подход¤щий тип ¤чейки? if (!Convert.ToBoolean(c["ForStorage"]) || !Convert.ToBoolean(c["ForPicking"])) { RFMMessage.MessageBoxError("ячейка имеет другой тип..."); return; } // 2.1. есть остаток? oCellNew.FillTableCellsContents(nCellNewID_Temp, false); if (oCellNew.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ товаров в ¤чейке..."); return; } foreach (DataRow cc in oCellNew.TableCellsContents.Rows) { if (Convert.ToDecimal(cc["Qnt"]) != 0) { RFMMessage.MessageBoxError("¬ ¤чейке имеетс¤ другой товар..."); return; } } // 2.2. есть трафики в/из новой ¤чейки TrafficFrame oTrafficFrameTemp = new TrafficFrame(); oTrafficFrameTemp.FilterConfirmed = false; oTrafficFrameTemp.FilterCellsTargetList = nCellNewID_Temp.ToString(); oTrafficFrameTemp.FillData(); if (oTrafficFrameTemp.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ транспортировок поддонов в ¤чейку..."); return; } if (oTrafficFrameTemp.MainTable.Rows.Count > 0) { RFMMessage.MessageBoxError("≈сть невыполненные транспортировки поддонов в ¤чейку..."); return; } oTrafficFrameTemp.FilterCellsTargetList = null; oTrafficFrameTemp.FilterCellsSourceList = nCellNewID_Temp.ToString(); oTrafficFrameTemp.FillData(); if (oTrafficFrameTemp.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ транспортировок поддонов из ¤чейки..."); return; } if (oTrafficFrameTemp.MainTable.Rows.Count > 0) { RFMMessage.MessageBoxError("≈сть невыполненные транспортировки поддонов из ¤чейки..."); return; } TrafficGood oTrafficGoodTemp = new TrafficGood(); oTrafficGoodTemp.FilterConfirmed = false; oTrafficGoodTemp.FilterCellsTargetList = nCellNewID_Temp.ToString(); oTrafficGoodTemp.FillData(); if (oTrafficGoodTemp.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ перемещений коробок в ¤чейку..."); return; } if (oTrafficGoodTemp.MainTable.Rows.Count > 0) { RFMMessage.MessageBoxError("≈сть невыполненные перемещени¤ коробок в ¤чейку..."); return; } oTrafficGoodTemp.FilterCellsTargetList = null; oTrafficGoodTemp.FilterCellsSourceList = nCellNewID_Temp.ToString(); oTrafficGoodTemp.FillData(); if (oTrafficGoodTemp.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ перемещений коробок из ¤чейки..."); return; } if (oTrafficGoodTemp.MainTable.Rows.Count > 0) { RFMMessage.MessageBoxError("≈сть невыполненные перемещени¤ коробок из ¤чейки..."); return; } // 2. товар if (!Convert.IsDBNull(c["FixedPackingID"])) { int nPackingTempID = Convert.ToInt32(c["FixedPackingID"]); if (nPackingTempID == nPackingID) { RFMMessage.MessageBoxError("ячейка уже закреплена за этим товаром..."); return; } else { // ¤чейка закреплена за другим товаром if (RFMMessage.MessageBoxYesNo("Ќова¤ ¤чейка закреплена за другим товаром\n(" + c["PackingAlias"].ToString() + ").\n\n" + "ѕродолжить?") != DialogResult.Yes) { return; } } } // нова¤ ¤чейка пуста и по всем отношени¤м нам подходит // спросим еще про остатки и трафики в/из текущей ¤чейки, если есть // (DateAccept проверим уже в хр_пр) oCellCur.FillTableCellsContents((int)nCellCurID, false); if (oCellCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ товаров в текущей ¤чейке..."); return; } foreach (DataRow cc in oCellCur.TableCellsContents.Rows) { if (Convert.ToDecimal(cc["Qnt"]) != 0) { if (RFMMessage.MessageBoxYesNo("¬ текущей ¤чейке имеетс¤ товар.\n" + "¬есь он будет переведен в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } } TrafficFrame oTrafficFrameCur = new TrafficFrame(); oTrafficFrameCur.FilterConfirmed = false; oTrafficFrameCur.FilterCellsTargetList = nCellCurID.ToString(); oTrafficFrameCur.FillData(); if (oTrafficFrameCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ транспортировок поддонов в текущую ¤чейку..."); return; } if (oTrafficFrameCur.MainTable.Rows.Count > 0) { if (RFMMessage.MessageBoxYesNo("≈сть невыполненные транспортировки поддонов в текущую ¤чейку.\n" + "¬се они будут переведены в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } oTrafficFrameCur.FilterCellsTargetList = null; oTrafficFrameCur.FilterCellsSourceList = nCellCurID.ToString(); oTrafficFrameCur.FillData(); if (oTrafficFrameCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ транспортировок поддонов из текущей ¤чейки..."); return; } if (oTrafficFrameCur.MainTable.Rows.Count > 0) { if (RFMMessage.MessageBoxYesNo("≈сть невыполненные транспортировки поддонов из текущей ¤чейки.\n" + "¬се они будут переведены в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } TrafficGood oTrafficGoodCur = new TrafficGood(); oTrafficGoodCur.FilterConfirmed = false; oTrafficGoodCur.FilterCellsTargetList = nCellCurID.ToString(); oTrafficGoodCur.FillData(); if (oTrafficGoodCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ перемещений коробок в текущую ¤чейку..."); return; } if (oTrafficGoodCur.MainTable.Rows.Count > 0) { if (RFMMessage.MessageBoxYesNo("≈сть невыполненные перемещени¤ коробок в текущую ¤чейку.\n" + "¬се они будут переведены в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } oTrafficGoodCur.FilterCellsTargetList = null; oTrafficGoodCur.FilterCellsSourceList = nCellCurID.ToString(); oTrafficGoodCur.FillData(); if (oTrafficGoodCur.ErrorNumber != 0) { RFMMessage.MessageBoxError("ќшибка при анализе наличи¤ перемещений коробок из ¤чейки..."); return; } if (oTrafficGoodCur.MainTable.Rows.Count > 0) { if (RFMMessage.MessageBoxYesNo("≈сть невыполненные перемещени¤ коробок из текущей ¤чейки.\n" + "¬се они будут переведены в новую ¤чейку.\n\nѕродолжить?") != DialogResult.Yes) { return; } } // OwnerID? GoodStateID? nCellNewID = (int)nCellNewID_Temp; oCellNew.ID = nCellNewID; txtCellNewAddress.Text = c["Address"].ToString(); txtStoreZoneNewName.Text = c["StoreZoneName"].ToString(); } } }
private void frmTrafficManual_Load(object sender, EventArgs e) { bool bResult = true; oCellSource.ID = oCellTarget.ID = -1; bResult = cboStoresZonesSource_Restore() && cboStoresZonesTypesSource_Restore() && cboCellSourceAddress_Restore() && cboStoresZonesTarget_Restore() && cboStoresZonesTypesTarget_Restore() && cboCellTargetAddress_Restore(); if (bResult) { cboCellSourceAddress.SelectedIndex = cboStoresZonesSource.SelectedIndex = cboStoresZonesTypesSource.SelectedIndex = cboCellTargetAddress.SelectedIndex = cboStoresZonesTarget.SelectedIndex = cboStoresZonesTypesTarget.SelectedIndex = -1; } if (oTrafficOld.ID != null) { oTrafficOld.FillData(); if (oTrafficOld.ErrorNumber != 0 || oTrafficOld.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Ошибка при получении данных о текущей операции перемещения коробок/штук..."); // просто добавляем } else { DataRow r = oTrafficOld.MainTable.Rows[0]; if (r != null) { // источник int nCellSourceID = Convert.ToInt32(r["CellSourceID"]); cboStoresZonesSource.SelectedValue = Convert.ToInt32(r["StoreZoneSourceID"]); cboStoresZonesTypesSource.SelectedValue = Convert.ToInt32(r["StoreZoneTypeSourceID"]); cboCellSourceAddress.SelectedValue = nCellSourceID; int nPackingID = Convert.ToInt32(r["PackingID"]); cboGood.SelectedValue = nPackingID; _nInBox = Convert.ToDecimal(r["InBox"]); bWeighting = Convert.ToBoolean(r["Weighting"]); if (r["OwnerID"] != DBNull.Value) { _nOwnerID = Convert.ToInt32(r["OwnerID"]); } _nGoodStateID = Convert.ToInt32(r["GoodStateID"]); // данные о текущем наполнении ячейки oCellSource.ID = nCellSourceID; oCellSource.FillTableCellsContents(nCellSourceID, true); foreach (DataRow rCC in oCellSource.TableCellsContents.Rows) { if (Convert.ToInt32(rCC["PackingID"]) == nPackingID && (rCC["OwnerID"] == DBNull.Value && _nOwnerID == null || Convert.ToInt32(rCC["OwnerID"]) == _nOwnerID) && Convert.ToInt32(rCC["GoodStateID"]) == _nGoodStateID) { // нашли подходящую строку (объединены по срокам годности) _nQntExists = Convert.ToDecimal(rCC["Qnt"]); } } int nBoxExists = 0; decimal nRestQntExists = 0; if (!bWeighting) { nBoxExists = Convert.ToInt32(Math.Floor(_nQntExists / _nInBox)); nRestQntExists = _nQntExists - nBoxExists * _nInBox; } else { nRestQntExists = _nQntExists; } numBoxExists.Value = nBoxExists; numRestQntExists.Value = nRestQntExists; numRestQntExists.DecimalPlaces = (bWeighting || ((int)_nInBox != _nInBox) ? 3 : 0); decimal nQntWished = Convert.ToDecimal(r["QntWished"]); int nBoxWished = 0; decimal nRestQntWished = 0; if (!bWeighting) { nBoxWished = Convert.ToInt32(Math.Floor(nQntWished / _nInBox)); nRestQntWished = nQntWished - nBoxWished * _nInBox; } else { nRestQntWished = nQntWished; } numBoxWished.Value = nBoxWished; numBoxWished.Enabled = !bWeighting; numRestQntWished.Value = nRestQntWished; numRestQntWished.DecimalPlaces = (bWeighting || ((int)_nInBox != _nInBox)) ? 3 : 0; txtGoodState.Text = r["GoodStateName"].ToString(); txtOwner.Text = r["OwnerName"].ToString(); dtpDateValid.Value = DateTime.Now.Date; dtpDateValid.HideControl(false); // приемник cboStoresZonesTarget.SelectedValue = Convert.ToInt32(r["StoreZoneTargetID"]); cboStoresZonesTypesTarget.SelectedValue = Convert.ToInt32(r["StoreZoneTypeTargetID"]); cboCellTargetAddress.SelectedValue = Convert.ToInt32(r["CellTargetID"]); } } } if (bResult) { _bLoaded = true; } else { DialogResult = DialogResult.No; Dispose(); } cboStoresZonesTypesSource.Enabled = false; }