private void mniPrintInventoryTotalReport_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); if (grdData.CurrentRow == null) { return; } RFMCursorWait.Set(true); Inventory oInventoryPrint = new Inventory(); InventoryPrepareIDList(oInventoryPrint, true); if (oInventoryPrint.IDList == null || oInventoryPrint.IDList.Length == 0) { RFMMessage.MessageBoxError("Не отмечены записи для отчета..."); return; } oInventoryPrint.FillData(); if (oInventoryPrint.MainTable == null || oInventoryPrint.MainTable.Rows.Count == 0) { RFMMessage.MessageBoxError("Ошибка при получении данных по отмеченным записям..."); return; } RFMCursorWait.Set(false); StartForm(new frmInventoriesTotalReport(oInventoryPrint)); }
private void mniPrintFrameBarCodeLabel_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); // список контейнеров Frame oFrameBCL = new Frame(); int nMarkedCnt = CalcMarkedRows(); if (nMarkedCnt > 0 && RFMMessage.MessageBoxYesNo("Отмечено записей: " + nMarkedCnt.ToString() + "\r\n" + "Формировать этикетки для всех отмеченных записей?") != DialogResult.Yes) { return; } Refresh(); WaitOn(this); FramePrepareIDList(oFrameBCL, nMarkedCnt > 0); oFrameBCL.FillData(); WaitOff(this); if (oFrameBCL.MainTable.Rows.Count == 0) { return; } StartForm(new frmBarCodeLabelPrint(this, oFrameBCL.MainTable, "FR", "Zebra")); }
private void mniPrintFrameLabel_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); repFrameLabel rd = new repFrameLabel(); PrintFrameLabel((DataDynamics.ActiveReports.ActiveReport3)rd); }
private void mniPrintTrafficBill_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); if (grdData.Rows.Count == 0) { return; } repTrafficGoodBill rd = new repTrafficGoodBill(); PrintTrafficBill((DataDynamics.ActiveReports.ActiveReport3)rd); }
private void mniServiceTrafficsGoodSetDateAccept_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); 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 (Convert.ToBoolean(r["IsConfirmed"])) { RFMMessage.MessageBoxError("Задание уже подтверждено."); return; } if (!Convert.IsDBNull(r["DateAccept"])) { RFMMessage.MessageBoxError("Задание уже выполняется."); return; } if (Convert.IsDBNull(r["UserID"])) { RFMMessage.MessageBoxError("Для задания не определен сотрудник-исполнитель..."); return; } if (RFMMessage.MessageBoxYesNo("Отметить начало обработки (выполнения) задания на транспортировку?") == DialogResult.Yes) { oTrafficCur.SetDateAccept((int)oTrafficCur.ID); if (oTrafficCur.ErrorNumber == 0) { grdData_Restore(); } } return; }
private void mniPrintInventoryEmpty_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); if (grdData.CurrentRow == null) { return; } RFMCursorWait.Set(true); int nPages = 1; if (StartForm(new frmInputBoxNumeric("Страниц:", nPages)) == DialogResult.Yes) { Refresh(); nPages = Convert.ToInt32(GotParam[0]); } Inventory oInventoryPrint = new Inventory(); // получение данных oInventoryPrint.ID = (int)grdData.CurrentRow.Cells["grcID"].Value; oInventoryPrint.FillData(); if (oInventoryPrint.ErrorNumber != 0 || oInventoryPrint.MainTable == null || oInventoryPrint.MainTable.Rows.Count != 1) { RFMCursorWait.Set(false); RFMMessage.MessageBoxError("Нет данных о ревизии..."); return; } if (nPages > 1) { oInventoryPrint.MainTable.PrimaryKey = null; oInventoryPrint.MainTable.Columns["ID"].Unique = false; DataRow r = oInventoryPrint.MainTable.Rows[0]; for (int i = 1; i < nPages; i++) { oInventoryPrint.MainTable.ImportRow(r); } } RFMCursorWait.Set(false); // отчет repInventoryEmpty rep = new repInventoryEmpty(); StartForm(new frmActiveReport(oInventoryPrint.MainTable, rep)); }
private void mniServiceFramesTrafficManual_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); if (grdData.CurrentRow == null) { return; } oFrameCur.ID = Convert.ToInt32(grdData.CurrentRow.Cells["grcID"].Value); if (StartForm(new frmTrafficsFramesManual(Convert.ToInt32(oFrameCur.ID))) == DialogResult.Yes) { grdData_Restore(); } }
private void mniServiceTrafficsGoodClearDateAccept_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); 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 (Convert.ToBoolean(r["IsConfirmed"])) { RFMMessage.MessageBoxError("Задание уже подтверждено."); return; } if (Convert.IsDBNull(r["DateAccept"])) { RFMMessage.MessageBoxError("Задание еще не выполняется."); return; } if (RFMMessage.MessageBoxYesNo("Очистить сведения о начале обработки (выполнения) задания на перемещение коробок/штук\n" + "(время, сотрудник, устройство)?") == DialogResult.Yes) { oTrafficCur.ClearDateAccept((int)oTrafficCur.ID); if (oTrafficCur.ErrorNumber == 0) { grdData_Restore(); } } return; }
private void mniServiceTrafficProrityDown_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); TrafficPriorityChange(-1); }
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 mniServiceTrafficFrameCreate_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); bool bReturn = false; if (tcList.CurrentPage.Name.ToUpper() != tabData.Name.ToUpper()) { bReturn = true; } if (!bReturn && lastGrid.Name.ToUpper() != grdOddmentsDetails.Name.ToUpper()) { bReturn = true; } if (!bReturn && (grdData.DataSource == null || grdData.Rows.Count == 0 || grdData.CurrentRow == null || grdData.IsStatusRow(grdData.CurrentRow.Index))) { bReturn = true; } if (!bReturn && (grdOddmentsDetails.DataSource == null || grdOddmentsDetails.Rows.Count == 0 || grdOddmentsDetails.CurrentRow == null || grdOddmentsDetails.IsStatusRow(grdOddmentsDetails.CurrentRow.Index))) { bReturn = true; } if (!bReturn && (grdOddmentsDetails.CurrentRow.Cells["grcFrameID"].Value == null || grdOddmentsDetails.CurrentRow.Cells["grcFrameID"].Value == DBNull.Value)) { bReturn = true; } if (bReturn) { RFMMessage.MessageBoxError("Для вызова операции перейдите в нижнюю таблицу и установите активную строку на запись о контейнере."); return; } int nFrameID = Convert.ToInt32(grdOddmentsDetails.CurrentRow.Cells["grcFrameID"].Value); TrafficFrame oTrafficTemp = new TrafficFrame(); oTrafficTemp.FilterFramesList = nFrameID.ToString(); oTrafficTemp.FilterConfirmed = false; oTrafficTemp.FillData(); if (oTrafficTemp.ErrorNumber != 0) { return; } if (oTrafficTemp.MainTable.Rows.Count > 0) { RFMMessage.MessageBoxError("Для контейнера с кодом " + nFrameID.ToString() + " существуют невыполненные операции транспортировки..."); return; } if (StartForm(new frmTrafficsFramesManual(nFrameID)) == DialogResult.Yes) { grdOddmentsDetails_Restore(); } }
private void mniPrintInventoryBillBlank_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); if (grdData.CurrentRow == null) { return; } RFMCursorWait.Set(true); Inventory oInventoryPrint = new Inventory(); // получение данных oInventoryPrint.ID = (int)grdData.CurrentRow.Cells["grcID"].Value; oInventoryPrint.FillData(); if (oInventoryPrint.ErrorNumber != 0) { RFMCursorWait.Set(false); return; } if (oInventoryPrint.MainTable.Rows.Count == 0) { RFMCursorWait.Set(false); RFMMessage.MessageBoxError("Нет данных о ревизии..."); return; } oInventoryPrint.FillTableInventoriesCells(oInventoryCur.ID); if (oInventoryPrint.ErrorNumber != 0) { RFMCursorWait.Set(false); return; } if (oInventoryPrint.TableInventoriesCells.Rows.Count == 0) { RFMCursorWait.Set(false); RFMMessage.MessageBoxError("Нет данных о ячейках ревизии..."); return; } // есть подтвержденные с проблемами? foreach (DataRow r in oInventoryPrint.TableInventoriesCells.Rows) { if (!Convert.IsDBNull(r["Success"]) && !Convert.ToBoolean(r["Success"])) { if (RFMMessage.MessageBoxYesNo("Печатать только ячейки с несоответствиями?") == DialogResult.Yes) { Refresh(); oInventoryPrint.FilterCellsStarted = true; oInventoryPrint.FilterSuccess = false; oInventoryPrint.FillTableInventoriesCells(oInventoryCur.ID); } break; } } // все нужные поля - в одну таблицу oInventoryPrint.DS.Relations.Add("r1", oInventoryPrint.MainTable.Columns["InventoryID"], oInventoryPrint.TableInventoriesCells.Columns["InventoryID"]); // добавляем нужные поля в таблицу-источник RepTableColumnAdd(oInventoryPrint.TableInventoriesCells); DataTable dt = CopyTable(oInventoryPrint.TableInventoriesCells, "dt", "", "StoreZoneName,Address"); RFMCursorWait.Set(false); // отчет DataDynamics.ActiveReports.ActiveReport3 rep; if (((ToolStripMenuItem)sender).Name.ToUpper().Contains("FULL")) { foreach (DataRow dr in dt.Rows) { decimal nInBox, nQnt, nQntWished, nQntConfirmed; int nBoxQnt; bool bWeighting, bIsNegative; nInBox = 1; nQnt = 0; nBoxQnt = 0; nQntWished = 0; nQntConfirmed = 0; if (!Convert.IsDBNull(dr["InBox"])) { nInBox = Convert.ToDecimal(dr["InBox"]); bWeighting = Convert.ToBoolean(dr["GoodWeighting"]); if (!bWeighting) { if (!Convert.IsDBNull(dr["QntWished"])) { nQntWished = nQnt = Convert.ToDecimal(dr["QntWished"]); nBoxQnt = Convert.ToInt32(Math.Floor(Convert.ToDecimal(dr["BoxWished"]))); nQnt = nQnt - nBoxQnt * nInBox; } dr["QntWished"] = nQnt; dr["BoxWished"] = nBoxQnt; nQnt = 0; nBoxQnt = 0; if (!Convert.IsDBNull(dr["QntConfirmed"])) { nQntConfirmed = nQnt = Convert.ToDecimal(dr["QntConfirmed"]); nBoxQnt = Convert.ToInt32(Math.Floor(Convert.ToDecimal(dr["BoxConfirmed"]))); nQnt = nQnt - nBoxQnt * nInBox; } dr["QntConfirmed"] = nQnt; dr["BoxConfirmed"] = nBoxQnt; nQnt = 0; nBoxQnt = 0; bIsNegative = false; nQnt = nQntConfirmed - nQntWished; if (nQnt < 0) { bIsNegative = true; nQnt = -nQnt; } nBoxQnt = Convert.ToInt32(Math.Floor(nQnt / nInBox)); nQnt = nQnt - nBoxQnt * nInBox; dr["QntDiff"] = nQnt * ((bIsNegative) ? -1 : 1); dr["BoxDiff"] = nBoxQnt * ((bIsNegative) ? -1 : 1); } else { dr["BoxWished"] = 0; dr["BoxConfirmed"] = 0; dr["QntDiff"] = Convert.ToDecimal(dr["QntConfirmed"]) - Convert.ToDecimal(dr["QntWished"]); dr["BoxDiff"] = 0; } } } rep = new repInventoryBillFull(); } else { rep = new repInventoryBillBlank(); } StartForm(new frmActiveReport(dt, rep)); }
private void mniPrintInventoryBillContents_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); if (grdData.CurrentRow == null) { return; } RFMCursorWait.Set(true); Inventory oInventoryPrint = new Inventory(); // получение данных oInventoryPrint.ID = (int)grdData.CurrentRow.Cells["grcID"].Value; oInventoryPrint.FillData(); if (oInventoryPrint.ErrorNumber != 0) { RFMCursorWait.Set(false); return; } if (oInventoryPrint.MainTable.Rows.Count == 0) { RFMCursorWait.Set(false); RFMMessage.MessageBoxError("Нет данных о ревизии..."); return; } oInventoryPrint.FillTableInventoriesCells(oInventoryCur.ID); if (oInventoryPrint.ErrorNumber != 0) { RFMCursorWait.Set(false); return; } if (oInventoryPrint.TableInventoriesCells.Rows.Count == 0) { RFMCursorWait.Set(false); RFMMessage.MessageBoxError("Нет данных о ячейках ревизии..."); return; } // заполняем текущим состоянием ячеек Cell oCellTemp = new Cell(); foreach (DataRow dr in oInventoryPrint.TableInventoriesCells.Rows) { oCellTemp.ClearError(); if (!Convert.IsDBNull(dr["CellID"])) { oCellTemp.FillTableCellsContents(Convert.ToInt32(dr["CellID"]), true); if (oCellTemp.ErrorNumber == 0) { if (oCellTemp.TableCellsContents.Rows.Count > 0) { DataRow ccr = oCellTemp.TableCellsContents.Rows[0]; /* * decimal nQnt, nInBox; int nBoxQnt; * nQnt = 0; nInBox = 1; nBoxQnt = 0; * nInBox = Convert.ToDecimal(ccr["InBox"]); * dr["InBox"] = nInBox; * * if (!Convert.IsDBNull(ccr["QntWished"])) * { * nQnt = Convert.ToDecimal(ccr["QntWished"]); * nBoxQnt = Convert.ToInt32(ccr["BoxWished"]); * nQnt = nQnt - nBoxQnt * nInBox; * } * dr["QntWished"] = nQnt; * dr["BoxWished"] = nBoxQnt; * * nQnt = 0; nInBox = 1; nBoxQnt = 0; * if (!Convert.IsDBNull(ccr["QntConfirmed"])) * { * nQnt = Convert.ToDecimal(ccr["QntConfirmed"]); * nBoxQnt = Convert.ToInt32(ccr["BoxConfirmed"]); * nQnt = nQnt - nBoxQnt * nInBox; * } * dr["QntConfirmed"] = nQnt; * dr["BoxConfirmed"] = nBoxQnt; */ dr["PackingID"] = ccr["PackingID"]; dr["GoodID"] = ccr["GoodID"]; dr["FrameID"] = ccr["FrameID"]; dr["GoodStateID"] = ccr["GoodStateID"]; dr["GoodStateName"] = ccr["GoodStateName"]; dr["OwnerID"] = ccr["OwnerID"]; dr["OwnerName"] = ccr["OwnerName"]; dr["PackingAlias"] = ccr["PackingAlias"]; dr["PackingName"] = ccr["PackingAlias"]; dr["GoodAlias"] = ccr["GoodAlias"]; dr["GoodName"] = ccr["GoodName"]; dr["GoodBarCode"] = ccr["GoodBarCode"]; dr["GoodArticul"] = ccr["Articul"]; dr["GoodWeighting"] = ccr["Weighting"]; dr["GoodGroupName"] = ccr["GoodGroupName"]; dr["GoodBrandName"] = ccr["GoodBrandName"]; } } } } // все нужные поля - в одну таблицу oInventoryPrint.DS.Relations.Add("r1", oInventoryPrint.MainTable.Columns["InventoryID"], oInventoryPrint.TableInventoriesCells.Columns["InventoryID"]); // добавляем нужные поля в таблицу-источник RepTableColumnAdd(oInventoryPrint.TableInventoriesCells); DataTable dt = CopyTable(oInventoryPrint.TableInventoriesCells, "dt", "", "StoreZoneName, Rank, Address"); RFMCursorWait.Set(false); DataDynamics.ActiveReports.ActiveReport3 rep = new repInventoryBillContents(); StartForm(new frmActiveReport(dt, rep)); }
private void mniServiceFrameUnLock_Click(object sender, EventArgs e) { RFMMenuUtilities.MenuClear((ToolStripMenuItem)sender); FrameLock(false); }