Exemplo n.º 1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            string sText = "";

            if (grdOutputsDocuments.Rows.Count > 0)
            {
                foreach (DataRow dr in oTrip.TableOutputsDocumentsInTrip.Rows)
                {
                    if (Convert.IsDBNull(dr["DateBring"]) || dr["DateBring"] == null)
                    {
                        sText += dr["PartnerTargetName"].ToString() + " (код " + dr["ID"].ToString() + ")" + "\n";
                    }
                }
            }
            if (sText != "")
            {
                if (RFMMessage.MessageBoxYesNo("ќбнаружены расходные документы, по которым не зарегистрирован факт доставки товара получателю: \n" + sText +
                                               "¬се-таки сохранить?") != DialogResult.Yes)
                {
                    return;
                }
            }

            oTrip.NoteExecute = txtNoteExecute.Text.Trim();

            // добрались. сохран¤ем.
            oTrip.ClearError();
            oTrip.PreConfirm();
            if (oTrip.ErrorNumber == 0)
            {
                DialogResult = DialogResult.Yes;
                Dispose();
            }
        }
Exemplo n.º 2
0
        private void cboPalletsTypes_SelectedIndexChanged(object sender, EventArgs e)
        {
            // смена ширины ¤чейки в соответствии с шириной поддона
            if (!_bLoaded)
            {
                return;
            }

            if (cboPalletsTypes.SelectedIndex >= 0)
            {
                if (oCell.MainTable.Rows.Count == 1)
                {
                    // одна ¤чейка
                    numCellWidth.Value = (decimal)oGood.TablePalletsTypes.Rows.Find((int)cboPalletsTypes.SelectedValue)["PalletWidth"];
                }
                else
                {
                    // несколько ¤чеек
                    if (RFMMessage.MessageBoxYesNo("«аменить данные о ширине ¤чейки в соответствии с шириной поддона?") == DialogResult.Yes)
                    {
                        chkCellWidth.Checked = true;
                        numCellWidth.Value   = (decimal)oGood.TablePalletsTypes.Rows.Find((int)cboPalletsTypes.SelectedValue)["PalletWidth"];
                    }
                }
                txtPalletsTypes.Text = "";
            }
        }
Exemplo n.º 3
0
        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 btnDelete_Click(object sender, EventArgs e)
        {
            switch (tcData.CurrentPage.Name)
            {
            case "tabEmployees":
                if (grdEmployees.CurrentRow == null ||
                    grdEmployees.IsStatusRow(grdEmployees.CurrentRow.Index))
                {
                    return;
                }

                int nEmployeeID = (int)grdEmployees.CurrentRow.Cells["grcID"].Value;

                if (RFMMessage.MessageBoxYesNo("”далить данные о сотруднике с кодом " + nEmployeeID.ToString() + "?") == DialogResult.Yes)
                {
                    oEmployeeList.ClearError();
                    if (oEmployeeList.DeleteData(nEmployeeID) &&
                        oEmployeeList.ErrorNumber == 0)
                    {
                        grdEmployees_Restore();
                    }
                }
                break;

            case "tabJobTitles":
                break;
            }
        }
Exemplo n.º 5
0
        private void btnEdit_Click(object sender, EventArgs e)
        {
            if (grdData.CurrentRow == null)
            {
                return;
            }
            if (grdData.IsStatusRow(grdData.CurrentRow.Index))
            {
                return;
            }

            Frame oFrameEdit = new Frame();
            int   nMarkedCnt = CalcMarkedRows();

            if (nMarkedCnt > 0 &&
                RFMMessage.MessageBoxYesNo("Отмечено контейнеров: " + nMarkedCnt.ToString() + "\r\n" +
                                           "Изменить параметры для всех отмеченных контейнеров?") != DialogResult.Yes)
            {
                return;
            }

            Refresh();
            FramePrepareIDList(oFrameEdit, nMarkedCnt > 0);
            oFrameEdit.FillData();
            if (oFrameEdit.MainTable.Rows.Count == 0)
            {
                return;
            }

            if (StartForm(new frmFramesEdit(oFrameEdit)) == DialogResult.Yes)
            {
                grdData_Restore();
            }
        }
Exemplo n.º 6
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (grdData.DataSource == null || oShift.MainTable.Rows.Count == 0)
            {
                return;
            }

            int nMarkedRowsCount = grdData.GetMarkedRows();

            if (nMarkedRowsCount > 0 &&
                RFMMessage.MessageBoxYesNo("Удалить данные о сменах (" + nMarkedRowsCount.ToString() + " зап.)?") == DialogResult.Yes)
            {
                DataView dMarked = new DataView(oShift.MainTable);
                dMarked.RowFilter = "IsMarked = true";
                foreach (DataRowView r in dMarked)
                {
                    if (!Convert.IsDBNull(r["ID"]))
                    {
                        oShift.ClearError();
                        oShift.DeleteData((int)r["ID"]);
                    }
                }
            }
            else if (grdData.CurrentRow != null && !grdData.IsStatusRow(grdData.CurrentRow.Index) &&
                     RFMMessage.MessageBoxYesNo("Удалить данные о смене?") == DialogResult.Yes)
            {
                oShift.ClearError();
                oShift.DeleteData((int)grdData.CurrentRow.Cells["grcID"].Value);
            }

            grdData_Restore();
        }
Exemplo n.º 7
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (dgvCarsTasks.CurrentRow == null)
            {
                return;
            }
            if (!oCarTaskCur.ID.HasValue)
            {
                return;
            }

            // перечитать
            oCarTaskCur.ReFillOne((int)oCarTaskCur.ID);

            // проверки
            if (oCarTaskCur.DateConfirm != null)
            {
                RFMMessage.MessageBoxError("Задание уже подтверждено...\n" + "Удаление невозможно.");
                return;
            }
            if (RFMMessage.MessageBoxYesNo("Удалить задание?", false) == DialogResult.Yes)
            {
                Refresh();
                WaitOn(this);
                bool bResult = oCarTaskCur.DeleteOne((int)oCarTaskCur.ID);
                WaitOff(this);
                if (bResult && oCarTaskCur.ErrorNumber == 0)
                {
                    dgvCarsTasks_Restore();
                }
            }
        }
Exemplo n.º 8
0
        private void btnDeleteGood_Click(object sender, EventArgs e)
        {
            if (dgvData.CurrentRow.Cells["dgvcGoodERPCode"].Value != DBNull.Value && dgvData.CurrentRow.Cells["dgvcGoodERPCode"].Value != null)
            {
                RFMMessage.MessageBoxAttention("запись получена из хост-системы.\n Удаление невозможно ...");
                return;
            }
            if (RFMMessage.MessageBoxYesNo("Удалить текущий товар?") != DialogResult.Yes)
            {
                return;
            }
            if (dgvData.Rows.Count == 0)
            {
                return;
            }
            if (dgvData.CurrentRow == null)
            {
                return;
            }
            if (dgvData.IsStatusRow(dgvData.CurrentRow.Index))
            {
                return;
            }
            DataRow dr = ((DataRowView)((DataGridViewRow)dgvData.Rows[dgvData.CurrentRow.Index]).DataBoundItem).Row;

            tGoodsCustoms.Rows.Remove(dr);
            btnDeleteGood.Enabled = (dgvData.Rows.Count > 0);
        }
Exemplo n.º 9
0
        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));
        }
Exemplo n.º 10
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (dgvExtraWorks.Rows.Count == 0 || dgvExtraWorks.CurrentRow == null)
            {
                return;
            }

            if (RFMMessage.MessageBoxYesNo("Удалить запись о факте дополнительной выполненной работы?") == DialogResult.Yes)
            {
                WaitOn(this);
                if (oSalaryExtraWorkList.DeleteSalaryExtraWorks((int)(int)dgvExtraWorks.CurrentRow.Cells["dgvcID"].Value))
                {
                    WaitOff(this);
                    if (oSalaryExtraWorkList.ErrorNumber == 0)
                    {
                        dgvExtraWorks_Restore();
                    }
                    else
                    {
                        RFMMessage.MessageBoxError("Ошибка при удалении записи о факте дополнительной выполненной работы...");
                    }
                }
                WaitOff(this);
            }
        }
Exemplo n.º 11
0
        private void btnConfirm_Click(object sender, EventArgs e)
        {
            if (grdData.CurrentRow == null)
            {
                return;
            }

            if (RFMMessage.MessageBoxYesNo("Отметить удачное завершение операции перемещения коробок/штук\n(товар размещается в ячейке-приемнике)?") == DialogResult.Yes)
            {
                oTrafficCur.ClearError();
                oTrafficCur.ClearData();
                oTrafficCur.ClearFilters();
                oTrafficCur.ID = (int)grdData.CurrentRow.Cells["grcID"].Value;
                oTrafficCur.FillData();
                if (oTrafficCur.MainTable.Rows.Count > 0)
                {
                    decimal nQntConfirmed = Convert.ToDecimal(oTrafficCur.MainTable.Rows[0]["QntWished"]);
                    oTrafficCur.ConfirmData((int)oTrafficCur.ID, nQntConfirmed, false, true, null);
                    if (oTrafficCur.ErrorNumber == 0)
                    {
                        grdData_Restore();
                    }
                }
            }
        }
Exemplo n.º 12
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            int nInputID = (int)oInput.ID;

            // всякие проверки
            if (dtInputsUnloaders.Rows.Count == 0)
            {
                if (RFMMessage.MessageBoxYesNo("В таблице нет ни одной строки.\nСохранить пустую таблицу?") != DialogResult.Yes)
                {
                    return;
                }
            }

            oInput.UnloadersSave(nInputID, dtInputsUnloaders);
            //
            if (oInput.ErrorNumber == 0)
            {
                // к-т загрузки
                decimal nCoefficientUnload = numCoefficientUnload.Value;
                if (oInput.CoefficientUnloadSave(nInputID, nCoefficientUnload) &&
                    oInput.ErrorNumber == 0)
                {
                    if (oInput.PalletsFactQntSave(nInputID, (int)numPalletsFactQnt.Value) &&
                        oInput.ErrorNumber == 0)
                    {
                        DialogResult = DialogResult.Yes;
                        Dispose();
                    }
                }
            }
        }
Exemplo n.º 13
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (grdData.CurrentRow == null)
            {
                return;
            }

            DataRow r = ((DataRowView)grdData.CurrentRow.DataBoundItem).Row;

            if (RFMMessage.MessageBoxYesNo("Удалить запись?") == DialogResult.Yes)
            {
                dtInputsUnloaders.Rows.Remove(r);
            }

            grdData.Refresh();
            grdData.Select();
            if (grdData.Rows.Count == 0 || grdData.CurrentRow == null)
            {
                cboUser.SelectedIndex        =
                    cboBrigade.SelectedIndex =
                        -1;

                cboUser.SelectedIndex    = -1;
                cboBrigade.SelectedIndex = -1;
            }
        }
Exemplo n.º 14
0
        private void PrintFrameLabel(DataDynamics.ActiveReports.ActiveReport3 rpReport)
        {
            Frame oFrameLabel = new Frame();
            int   nMarkedCnt  = CalcMarkedRows();

            if (nMarkedCnt > 0 &&
                RFMMessage.MessageBoxYesNo("Отмечено записей: " + nMarkedCnt.ToString() + "\r\n" +
                                           "Формировать этикетки для всех отмеченных записей?") != DialogResult.Yes)
            {
                return;
            }

            Refresh();
            WaitOn(this);
            FramePrepareIDList(oFrameLabel, nMarkedCnt > 0);
            oFrameLabel.FillData();
            WaitOff(this);
            if (oFrameLabel.MainTable.Rows.Count == 0)
            {
                return;
            }

            // печать
            StartForm(new frmActiveReport(oFrameLabel.MainTable, rpReport));
        }
Exemplo n.º 15
0
        private void mniGoodVatFull_Click(object sender, EventArgs e)
        {
            if (RFMMessage.MessageBoxYesNo("Заполнить специальные ставки НДС\n(только для пустых значений специальных НДС)?") != DialogResult.Yes)
            {
                return;
            }

            decimal nVat = 0;

            if (StartForm(new frmInputBoxNumeric("Введите ставку НДС (%)", nVat)) == DialogResult.Yes)
            {
                if (GotParam[0] != null)
                {
                    nVat = Convert.ToDecimal(GotParam[0]);
                    foreach (DataRow r in tGoods.Rows)
                    {
                        if (Convert.IsDBNull(r["SP_Vat"]) ||
                            r["SP_Vat"] == null ||
                            Convert.ToDecimal(r["SP_Vat"]) == 0)
                        {
                            r["SP_Vat"] = nVat;
                        }
                    }
                }
            }
        }
Exemplo n.º 16
0
        private void dgvMovingsGoods_CellValidated(object sender, DataGridViewCellEventArgs e)
        {
            DataGridViewRow r = dgvMovingsGoods.Rows[e.RowIndex];

            if (dgvMovingsGoods.Columns[e.ColumnIndex].Name == "dgrcQntWished" &&
                !(bool)r.Cells["dgrcWeighting"].Value &&
                (r.Cells["dgrcQntWished"].Value == DBNull.Value ||
                 ((decimal)r.Cells["dgrcQntWished"].Value > (decimal)r.Cells["dgrcQnt"].Value)))
            {
                if (r.Cells["dgrcQntWished"].Value == DBNull.Value)
                {
                    r.Cells["dgrcQntWished"].Value = 0;
                }
                else
                {
                    if (RFMMessage.MessageBoxYesNo("Введено число большее, чем количество товара в ячейке!\nВсе-таки сохранить?") != DialogResult.Yes)
                    {
                        r.Cells["dgrcQntWished"].Value = r.Cells["dgrcQnt"].Value;
                    }
                }

                if (Convert.ToDecimal(r.Cells["dgrcQntWished"].Value) != 0)
                {
                    _bInWork = true;
                }
                else
                {
                    SetInWork();
                }
            }

            if (dgvMovingsGoods.Columns[e.ColumnIndex].Name == "dgrcBoxWished" &&
                !(bool)r.Cells["dgrcWeighting"].Value &&
                (r.Cells["dgrcBoxWished"].Value == DBNull.Value ||
                 ((decimal)r.Cells["dgrcBoxWished"].Value > (decimal)r.Cells["dgrcBox"].Value)))
            {
                if (r.Cells["dgrcBoxWished"].Value == DBNull.Value)
                {
                    r.Cells["dgrcBoxWished"].Value = 0;
                }
                else
                {
                    if (RFMMessage.MessageBoxYesNo("Введено число большее, чем количество товара в ячейке!\nВсе-таки сохранить?") != DialogResult.Yes)
                    {
                        r.Cells["dgrcBoxWished"].Value = r.Cells["dgrcBox"].Value;
                    }
                }

                if (Convert.ToDecimal(r.Cells["dgrcBoxWished"].Value) != 0)
                {
                    _bInWork = true;
                }
                else
                {
                    SetInWork();
                }
            }
            dgvMovingsGoods.Refresh();
        }
Exemplo n.º 17
0
        private bool TrafficPriorityChange(int nShift)
        {
            if (grdData.CurrentRow == null)
            {
                return(false);
            }

            // перечитаем текущее состояние задания
            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(false);
            }

            DataRow r = oTrafficCur.MainTable.Rows[0];

            if ((bool)r["IsConfirmed"])
            {
                RFMMessage.MessageBoxError("Задание уже подтверждено.\n" +
                                           "Изменение приоритета невозможно.");
                return(false);
            }

            if (r["DateAccept"] != DBNull.Value)
            {
                RFMMessage.MessageBoxError("Задание уже выполняется.\n" +
                                           "Изменение приоритета невозможно.");
                return(false);
            }

            int nPriorityCur = (int)r["Priority"];

            if (nShift > 0 && nPriorityCur >= 9)
            {
                RFMMessage.MessageBoxError("Текущий приоритет задания: " + nPriorityCur.ToString() + "\n" +
                                           "Повышение приоритета невозможно.");
                return(false);
            }
            if (nShift < 0 && nPriorityCur <= 1)
            {
                RFMMessage.MessageBoxError("Текущий приоритет задания: " + nPriorityCur.ToString() + "\n" +
                                           "Понижение приоритета невозможно.");
                return(false);
            }

            if (RFMMessage.MessageBoxYesNo(((nShift > 0) ? "Повысить" : "Понизить") + " приоритет задания на транспортировку?") == DialogResult.Yes)
            {
                oTrafficCur.PriorityChange((int)oTrafficCur.ID, nShift);
                if (oTrafficCur.ErrorNumber == 0)
                {
                    grdData_Restore();
                }
            }
            return(oTrafficCur.ErrorNumber == 0);
        }
Exemplo n.º 18
0
        private void btnGridSave_Click(object sender, EventArgs e)
        {
            if (numBoxQnt.Value <= 0 && numRestQnt.Value <= 0)
            {
                if (RFMMessage.MessageBoxYesNo("Не указано количество товара...\r\nИсключить данный товар из контейнера?") != DialogResult.Yes)
                {
                    return;
                }
            }

            if (dtpDateValid.IsEmpty)
            {
                RFMMessage.MessageBoxError("Не указан срок годности для товара на поддоне...");
                dtpDateValid.HideControl(true);
                dtpDateValid.Select();
                return;
            }

            // сохранить в DataTable
            decimal nQnt = 0, nInBox = 0,
                    nRestQnt = numRestQnt.Value, nBoxQnt = numBoxQnt.Value;
            DateTime?dDateValid = null;

            if (!dtpDateValid.IsEmpty)
            {
                dDateValid = dtpDateValid.Value.Date;
            }

            // исправляем строку в таблице
            //DataRow rCEdit = tCellContent.Rows[grdCellsContents.GridSource.Position];
            DataRow rCEdit = ((DataRowView)grdCellsContents.GridSource.Current).Row;

            decimal nQntNow = (decimal)rCEdit["Qnt"];

            nInBox = (decimal)rCEdit["InBox"];
            nQnt   = nBoxQnt * nInBox + nRestQnt;

            if (nQnt > nQntNow)
            {
                RFMMessage.MessageBoxError("Указано количество большее, чем есть в ячейке...");
                return;
            }

            rCEdit["QntCollect"] = nQnt;
            rCEdit["BoxCollect"] = nQnt / nInBox;
            if (dDateValid == null)
            {
                rCEdit["DateValid"] = DBNull.Value;
            }
            else
            {
                rCEdit["DateValid"] = dDateValid;
            }

            btnGridUndo_Click(null, null);
        }
Exemplo n.º 19
0
        private void grdData_CellValidated(object sender, DataGridViewCellEventArgs e)
        {
            if (e.RowIndex < 0)
            {
                return;
            }

            DataGridViewRow r = grdData.Rows[e.RowIndex];

            // ставка НДС
            if (grdData.Columns[e.ColumnIndex].Name.ToUpper().Contains("VAT"))
            {
                int nColumnIndexVat = e.ColumnIndex;
                if (r.Cells[nColumnIndexVat].Value == null || r.Cells[nColumnIndexVat].Value == DBNull.Value)
                {
                    r.Cells[nColumnIndexVat].Value = 0;
                }

                // проверка ставок НДС
                decimal nVat = (decimal)r.Cells[nColumnIndexVat].Value;
                if (nVat == 0)
                {
                    if (RFMMessage.MessageBoxYesNo("Не указана ставка НДС...\nВсе-таки сохранить?") != DialogResult.Yes)
                    {
                        return;
                    }
                }
                else
                {
                    decimal?nVat1 = null, nVat2 = null;
                    Setting oSet     = new Setting();
                    string  sVatTemp = null;
                    sVatTemp = oSet.FillVariable("gnVat1");
                    if (sVatTemp != null && sVatTemp != "")
                    {
                        nVat1 = Convert.ToDecimal(sVatTemp);
                    }
                    sVatTemp = oSet.FillVariable("gnVat2");
                    if (sVatTemp != null && sVatTemp != "")
                    {
                        nVat2 = Convert.ToDecimal(sVatTemp);
                    }
                    if (nVat1.HasValue && nVat != nVat1 && nVat2.HasValue && nVat != nVat2 ||
                        !nVat1.HasValue && nVat2.HasValue && nVat != nVat2 ||
                        nVat1.HasValue && nVat != nVat1 && !nVat2.HasValue)
                    {
                        if (RFMMessage.MessageBoxYesNo("Указана нестандартная ставка НДС...\nВсе-таки сохранить?") != DialogResult.Yes)
                        {
                            r.Cells[nColumnIndexVat].Value = 0;
                            return;
                        }
                    }
                }
            }
        }
Exemplo n.º 20
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (dgvActs.CurrentRow == null)
            {
                return;
            }


            if (!oActCur.ID.HasValue)
            {
                return;
            }

            // перечитать
            oActCur.ReFillOne((int)oActCur.ID);

            // проверки
            if (oActCur.ERPCode != null)
            {
                RFMMessage.MessageBoxError("јкт получен из host-системы...\n" +
                                           "”даление невозможно.");
                return;
            }
            if (oActCur.DateConfirm != null)
            {
                RFMMessage.MessageBoxError("јкт уже подтвержден...\n" +
                                           "”даление невозможно.");
                return;
            }
            if (oActCur.SentToWMS)
            {
                RFMMessage.MessageBoxError("јкт передан в складскую систему...\n" +
                                           "”даление невозможно.");
                return;
            }
            if (oActCur.ReadyForWMS)
            {
                RFMMessage.MessageBoxError("јкт готов дл¤ передачи в складскую систему...\n" +
                                           "”даление невозможно.");
                return;
            }

            if (RFMMessage.MessageBoxYesNo("”далить акт?") == DialogResult.Yes)
            {
                Refresh();
                WaitOn(this);
                bool bResult = oActCur.Delete((int)oActCur.ID);
                WaitOff(this);
                if (bResult && oActCur.ErrorNumber == 0)
                {
                    //RFMMessage.MessageBoxInfo("јкт удален.");
                    dgvActs_Restore();
                }
            }
        }
Exemplo n.º 21
0
        private void dgvWeightGoods_CellEndEdit(object sender, DataGridViewCellEventArgs e)
        {
            if (!bWeightEnter)
            {
                return;
            }

            RFMDataGridView dgv = dgvWeightGoods;

            if (dgv.DataSource == null || dgv.CurrentRow == null || dgv.RowCount == 0 || e.ColumnIndex < 0)
            {
                return;
            }

            string ColName = dgv.Columns[e.ColumnIndex].Name;

            if (ColName == "dgvcQntConfirmed2" || ColName == "dgvcBoxConfirmed2")
            {
                DataGridViewRow dgrv   = dgv.Rows[e.RowIndex];
                decimal         nInBox = (decimal)dgrv.Cells["dgvcInBox2"].Value;

                // Проверка ошибочного ввода (вместо точки ввели запятую - стандартная ошибка)
                decimal nQntWished, nQntConfirmed;
                nQntWished    = Convert.ToDecimal(dgv.Rows[e.RowIndex].Cells["dgvcQntWished2"].Value);
                nQntConfirmed = Convert.ToDecimal(dgv.Rows[e.RowIndex].Cells["dgvcQntConfirmed2"].Value);
                if (nQntConfirmed > nQntWished * 10)
                {
                    if (RFMMessage.MessageBoxYesNo("Фактическое количество существенно превышает заказанное. Продолжить?", false) == DialogResult.No)
                    {
                        dgrv.Cells["dgvcQntConfirmed2"].Value = (decimal)dgrv.Cells["dgvcQntPicked2"].Value;                         //dgvcQntSelected2
                        dgrv.Cells["dgvcBoxConfirmed2"].Value = (decimal)dgrv.Cells["dgvcQntPicked2"].Value / nInBox;                // dgvcQntSelected2
                        return;
                    }
                }
                // Конец проверки

                if (ColName == "dgvcQntConfirmed2")
                {
                    dgrv.Cells["dgvcBoxConfirmed2"].Value = (decimal)dgrv.Cells["dgvcQntConfirmed2"].Value / nInBox;
                }
                else
                {
                    dgrv.Cells["dgvcQntConfirmed2"].Value = (decimal)dgrv.Cells["dgvcBoxConfirmed2"].Value * nInBox;
                }

                DataRow dr = oOutput.TableOutputsGoods.Rows.Find(dgrv.Cells["dgvcID2"].Value);
                if (dr != null)
                {
                    dr["BoxConfirmed"] = dgrv.Cells["dgvcBoxConfirmed2"].Value;
                    dr["QntConfirmed"] = dgrv.Cells["dgvcQntConfirmed2"].Value;
                }
                ShowHumanStrikes();
            }
        }
Exemplo n.º 22
0
 private void btnGoodsFill_Click(object sender, EventArgs e)
 {
     SetInWork();
     if (dgvMovingsGoods.Rows.Count > 0 && _bInWork)
     {
         if (RFMMessage.MessageBoxYesNo("Все выбранные товары будут потеряны!\nВсе-таки обновить список товаров в ячейке?") != DialogResult.Yes)
         {
             return;
         }
     }
     dgvMovingsGoods_Restore();
 }
Exemplo n.º 23
0
        private void btnAdd_Click(object sender, EventArgs e)
        {
            // добавление нового товара

            int nCnt = 0;

            foreach (DataRow r in oFrame.TableFramesContents.Rows)
            {
                if (r["Changes"].ToString() != "D")
                {
                    nCnt++;
                }
            }
            if (nCnt > 0)
            {
                if (RFMMessage.MessageBoxYesNo("Внимание!\n\r\n\r" +
                                               "В контейнере уже есть товар!\r\n" +
                                               "При добавлении другого товара контейнер не будет обрабатываться автоматически!\n\r\n\r" +
                                               "Все-таки добавить еще один товар в контейнер?") != DialogResult.Yes)
                {
                    return;
                }
            }

            btnSave.Enabled     = false;
            btnAdd.Enabled      = false;
            btnEdit.Enabled     = false;
            btnDelete.Enabled   = false;
            btnGridSave.Enabled = true;
            btnGridUndo.Enabled = true;

            pnlDataChange.BorderStyle = BorderStyle.Fixed3D;
            pnlDataChange.Enabled     = true;

            btnPackings.Enabled  = true;
            numBoxQnt.Enabled    = true;
            numRestQnt.Enabled   = true;
            dtpDateValid.Enabled = true;
            dtpDateValid.HideControl(true);

            cboGood.SelectedValue = -1;
            txtGood.Text          = "";
            numBoxQnt.Value       = 0;
            numRestQnt.Value      = 0;
            dtpDateValid.Value    = DateTime.Now.Date;

            grdFramesContents.Enabled = false;

            lblAction.Text = "Добавление товара в контейнер";
            _cMode         = "A";

            btnPackings_Click(null, null);
        }
Exemplo n.º 24
0
        private void mniGoodVatClear_Click(object sender, EventArgs e)
        {
            if (RFMMessage.MessageBoxYesNo("Очистить специальные ставки НДС?") != DialogResult.Yes)
            {
                return;
            }

            foreach (DataRow r in tGoods.Rows)
            {
                r["SP_Vat"] = 0;
            }
        }
Exemplo n.º 25
0
        private void mniGoodNameClear_Click(object sender, EventArgs e)
        {
            if (RFMMessage.MessageBoxYesNo("Очистить специальные названия товаров?") != DialogResult.Yes)
            {
                return;
            }

            foreach (DataRow r in tGoods.Rows)
            {
                r["SP_GoodName"] = "";
            }
        }
Exemplo n.º 26
0
        private void btnOutputsDocumentZeroBring_Click(object sender, EventArgs e)
        {
            if (grdOutputsDocuments.Rows.Count == 0 || grdOutputsDocuments.CurrentRow == null ||
                !oOutputDocumentCur.ID.HasValue)
            {
                return;
            }

            int nOutputDocumentID = (int)oOutputDocumentCur.ID;

            oOutputDocumentCur.ReFillOne(nOutputDocumentID);

            if (!oOutputDocumentCur.IsConfirmed)
            {
                RFMMessage.MessageBoxInfo("≈ще не зарегистрирована отгрузка товара со склада.");
                return;
            }
            if (oOutputDocumentCur.IsBrought)
            {
                RFMMessage.MessageBoxInfo("”же подтверждена доставка товара получателю.");
                return;
            }
            if (!oOutputDocumentCur.TripID.HasValue ||
                (int)oOutputDocumentCur.TripID != nTripID)
            {
                RFMMessage.MessageBoxError("–асходный документ перенесен.");
                return;
            }

            if (RFMMessage.MessageBoxYesNo("¬нимание!\n\n" +
                                           "ѕри регистрации недоставки всего товара по документу количество доставленного товара равно нулю;\n" +
                                           "изменение доставленного количества стандартными средствами невозможно!\n\n" +
                                           "¬се-таки зарегистрировать недоставку всего товара по документу?") == DialogResult.Yes)
            {
                oOutputDocumentCur.FillTableOutputsDocumentsFailsReasons();
                _SelectedID = null;
                if (StartForm(new frmSelectID(this, oOutputDocumentCur.TableOutputsDocumentsFailsReasons, "Name, GuiltyName", "ѕричина недоставки получателю, ¬иновник")) == DialogResult.Yes)
                {
                    if (!_SelectedID.HasValue)
                    {
                        RFMMessage.MessageBoxError("Ќе указана причина недоставки товара получателю.");
                        return;
                    }

                    int nOutputDocumentFailReasonID = (int)_SelectedID;

                    oOutputDocumentCur.BringZero(((RFMFormBase)Application.OpenForms[0]).UserInfo.UserID, nOutputDocumentFailReasonID);
                }
                _SelectedID = null;

                grdOutputsDocuments_Restore();
            }
        }
Exemplo n.º 27
0
        private void btnDelete_Click(object sender, EventArgs e)
        {
            if (grdData.CurrentRow == null)
            {
                return;
            }
            if (grdData.IsStatusRow(grdData.CurrentRow.Index))
            {
                return;
            }

            Frame oFrameDelete = new Frame();
            int   nMarkedCnt   = CalcMarkedRows();

            if (nMarkedCnt > 0)
            {
                if (RFMMessage.MessageBoxYesNo("Отмечено контейнеров: " + nMarkedCnt.ToString() + "\r\n" +
                                               "Удалить все отмеченные контейнеры (только пустые)?") != DialogResult.Yes)
                {
                    return;
                }
            }
            else
            {
                if (RFMMessage.MessageBoxYesNo("Удалить контейнер с кодом " + grdData.CurrentRow.Cells["grcID"].Value.ToString().Trim() + "?") != DialogResult.Yes)
                {
                    return;
                }
            }

            Refresh();
            FramePrepareIDList(oFrameDelete, nMarkedCnt > 0);
            oFrameDelete.FillData();
            if (oFrameDelete.MainTable.Rows.Count == 0)
            {
                return;
            }

            foreach (DataRow r in oFrameDelete.MainTable.Rows)
            {
                int nFrameID = Convert.ToInt32(r["ID"]);
                if (!Convert.IsDBNull(r["HasFrameContent"]) &&
                    Convert.ToBoolean(r["HasFrameContent"]))
                {
                    RFMMessage.MessageBoxError("Контейнер с кодом " + nFrameID.ToString() + " не пуст и не может быть удален...");
                }
                else
                {
                    oFrameDelete.DeleteOne(nFrameID);
                }
            }
            grdData_Restore();
        }
Exemplo n.º 28
0
 private void btnExit_Click(object sender, EventArgs e)
 {
     if (RFMMessage.MessageBoxYesNo("Прервать работу с формой?") == DialogResult.Yes)
     {
         if (bFillDateStart)
         {
             oInput.ClearDateStart(nInputID);
         }
         DialogResult = DialogResult.No;
         this.Dispose();
     }
 }
Exemplo n.º 29
0
        private void mniClearOwner_Click(object sender, EventArgs e)
        {
            DataGridViewRow grdR = grdData.CurrentRow;
            DataRow         dr   = ((DataRowView)grdR.DataBoundItem).Row;

            if (nFixedOwnerID.HasValue)
            {
                if (RFMMessage.MessageBoxYesNo("ячейка закреплена за хранителем\n" + sFixedOwnerName + "!\n" +
                                               "¬се-таки очистить указание на хранител¤?") != DialogResult.Yes)
                {
                    return;
                }
                //dr["OwnerID_After"] = nFixedOwnerID;
                //dr["OwnerName_After"] = sFixedOwnerName;
            }

            // нет ли уже записи дл¤ того же товара с тем же владельцем?
            // текуща¤ запись
            int nCellContentID  = Convert.ToInt32(dr["ID"]);
            int nPackingCurID   = Convert.ToInt32(dr["PackingID"]);
            int nGoodStateCurID = Convert.ToInt32(dr["GoodStateID_After"]);
            // перебираем записи
            int nPackingID, nGoodStateID;
            int?nOwnerID = null;

            foreach (DataRow drC in ((DataTable)grdData.GridSource.DataSource).Rows)
            {
                nPackingID   = Convert.ToInt32(drC["PackingID"]);
                nGoodStateID = Convert.ToInt32(drC["GoodStateID_After"]);
                nOwnerID     = null;
                if (!Convert.IsDBNull(drC["OwnerID_After"]))
                {
                    nOwnerID = Convert.ToInt32(drC["OwnerID_After"]);
                }

                // если что-то отличаетс¤ или это та же запись - идем дальше
                if (nPackingID != nPackingCurID ||
                    nGoodStateID != nGoodStateCurID ||
                    nOwnerID.HasValue ||
                    Convert.ToInt32(drC["ID"]) == nCellContentID)
                {
                    continue;
                }

                RFMMessage.MessageBoxError("”же есть запись о таком товаре/состо¤нии дл¤ \"общего товара\"...");
                return;
            }

            dr["OwnerID_After"]   = DBNull.Value;
            dr["OwnerName_After"] = "";
        }
Exemplo n.º 30
0
        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;
        }