예제 #1
0
        public frmFrames()
        {
            oFrameList = new Frame();
            oFrameCur  = new Frame();
            if (oFrameList.ErrorNumber != 0 ||
                oFrameCur.ErrorNumber != 0)
            {
                IsValid = false;
            }
            else
            {
                oGood         = new Good();
                oTrafficFrame = new TrafficFrame();
                if (oGood.ErrorNumber != 0 ||
                    oTrafficFrame.ErrorNumber != 0)
                {
                    IsValid = false;
                }
            }

            if (IsValid)
            {
                InitializeComponent();
            }
        }
예제 #2
0
        public frmTrafficsFramesEdit()
        {
            oTraffic          = new TrafficFrame();
            oFrame            = new Frame();
            oCellSource       = new Cell();
            oStoreZoneSource  = new StoreZone();
            oBufferCellSource = new Cell();
            oCellTarget       = new Cell();
            oStoreZoneTarget  = new StoreZone();
            oBufferCellTarget = new Cell();
            oUser             = new User();
            oDevice           = new Device();

            if (oTraffic.ErrorNumber != 0 ||
                oFrame.ErrorNumber != 0 ||
                oCellSource.ErrorNumber != 0 ||
                oBufferCellSource.ErrorNumber != 0 ||
                oStoreZoneSource.ErrorNumber != 0 ||
                oCellTarget.ErrorNumber != 0 ||
                oBufferCellTarget.ErrorNumber != 0 ||
                oStoreZoneTarget.ErrorNumber != 0 ||
                oUser.ErrorNumber != 0 ||
                oDevice.ErrorNumber != 0)
            {
                IsValid = false;
            }

            if (IsValid)
            {
                InitializeComponent();
                oTraffic.ID = 0;
            }
        }
예제 #3
0
        public frmTrafficsFramesManual(int?nFrameID)
        {
            oTraffic          = new TrafficFrame();
            oFrame            = new Frame();
            oCellSource       = new Cell();
            oBufferCellSource = new Cell();
            oStoreZoneSource  = new StoreZone();
            oCellTarget       = new Cell();
            oBufferCellTarget = new Cell();
            oStoreZoneTarget  = new StoreZone();

            if (oTraffic.ErrorNumber != 0 ||
                oFrame.ErrorNumber != 0 ||
                oCellSource.ErrorNumber != 0 ||
                oBufferCellSource.ErrorNumber != 0 ||
                oStoreZoneSource.ErrorNumber != 0 ||
                oCellTarget.ErrorNumber != 0 ||
                oBufferCellTarget.ErrorNumber != 0 ||
                oStoreZoneTarget.ErrorNumber != 0)
            {
                IsValid = false;
            }

            if (IsValid)
            {
                InitializeComponent();
                oFrame.ID = nFrameID;
            }
        }
        public frmTrafficsFramesForPickingCreate()
        {
            oTraffic = new TrafficFrame();
            oFrame   = new Frame();
            oGood    = new Good();

            if (oTraffic.ErrorNumber != 0 ||
                oFrame.ErrorNumber != 0 ||
                oGood.ErrorNumber != 0)
            {
                IsValid = false;
            }

            if (IsValid)
            {
                oCell        = new Cell();
                oCellPicking = new Cell();
                oCellOutput  = new Cell();
                if (oCell.ErrorNumber != 0 ||
                    oCellPicking.ErrorNumber != 0 ||
                    oCellOutput.ErrorNumber != 0)
                {
                    IsValid = false;
                }
            }

            if (IsValid)
            {
                oOwner     = new Partner();
                oGoodState = new GoodState();
                if (oOwner.ErrorNumber != 0 ||
                    oGoodState.ErrorNumber != 0)
                {
                    IsValid = false;
                }
            }

            if (IsValid)
            {
                InitializeComponent();
            }
        }
예제 #5
0
        public frmReportTraffics()
        {
            InitializeComponent();

            oTrafficFrame = new TrafficFrame();
            oTrafficGood  = new TrafficGood();
            if (oTrafficFrame.ErrorNumber != 0 ||
                oTrafficGood.ErrorNumber != 0)
            {
                IsValid = false;
            }
            else
            {
                oCellSource = new Cell();
                oCellTarget = new Cell();
                if (oCellSource.ErrorNumber != 0 ||
                    oCellTarget.ErrorNumber != 0)
                {
                    IsValid = false;
                }
            }
        }
예제 #6
0
        private void btnMedication_Click(object sender, EventArgs e)
        {
            if (grdData.CurrentRow == null)
            {
                return;
            }
            if (grdData.IsStatusRow(grdData.CurrentRow.Index))
            {
                return;
            }

            oFrameCur.ID = Convert.ToInt32(grdData.CurrentRow.Cells["grcID"].Value);

            // нет ли невыполненных транспортировок?
            TrafficFrame oTrafficTemp = new TrafficFrame();

            oTrafficTemp.FilterFramesList = oFrameCur.ID.ToString();
            oTrafficTemp.FilterConfirmed  = false;
            oTrafficTemp.FillData();
            if (oTrafficTemp.ErrorNumber != 0 || oTrafficTemp.MainTable == null)
            {
                RFMMessage.MessageBoxError("Ошибка при получении данных о транспортировках контейнера...");
                return;
            }
            if (oTrafficTemp.MainTable.Rows.Count > 0)
            {
                DataRow r = oTrafficTemp.MainTable.Rows[0];
                RFMMessage.MessageBoxError("Для контейнера с кодом " + oFrameCur.ID.ToString() + " существуют невыполненные транспортировки\n" +
                                           "(из ячейки " + r["CellSourceAddress"].ToString() + " в ячейку " + r["CellTargetAddress"] + ").\n\n" +
                                           "Исправление состояния контейнера невозможно.");
                return;
            }

            if (StartForm(new frmFramesMedication(Convert.ToInt32(oFrameCur.ID))) == DialogResult.Yes)
            {
                grdData_Restore();
            }
        }
예제 #7
0
        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();
            }
        }
예제 #8
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            if (cboStoresZones.SelectedIndex < 0 || cboStoresZones.SelectedValue == null)
            {
                RFMMessage.MessageBoxError("Не указана зона пикинга...");
                return;
            }

            if (cboHeavers.SelectedIndex < 0 || cboHeavers.SelectedValue == null)
            {
                RFMMessage.MessageBoxError("Не указан грузчик...");
                return;
            }

            bool lChecked = false;

            foreach (DataRow r in tTable.Rows)
            {
                if ((bool)r["Checked"] && !(bool)r["IsConfirmed"])
                {
                    lChecked = true;
                }
            }
            if (!lChecked)
            {
                RFMMessage.MessageBoxError("Не отмечено ни одного перемещения...");
                return;
            }

            // подтверждение с прямым исправлением остатков в ячейке отгрузки?
            Setting oSet           = new Setting();
            string  sIfEasyConfirm = oSet.FillVariable("bEasyConfirm");
            bool    bEasyConfirm   = false;

            if (sIfEasyConfirm != null && sIfEasyConfirm.Length > 0)
            {
                try
                {
                    bEasyConfirm = Convert.ToBoolean(sIfEasyConfirm);
                }
                catch { }
            }

            if (RFMMessage.MessageBoxYesNo("Подтвердить перемещения коробок/штук?") == DialogResult.Yes)
            {
                // и вот тут начинается большая песня с проверками
                int          nPackingID;
                bool         bIsEnough;
                decimal      nDeficit          = 0;
                decimal      nInCell           = 0;
                Cell         oCellTemp         = new Cell();
                TrafficFrame oTrafficFrameTemp = new TrafficFrame();

                foreach (DataRow r in tTable.Rows)
                {
                    if (!Convert.ToBoolean(r["Checked"]) || Convert.ToBoolean(r["IsConfirmed"]))
                    {
                        continue;
                    }

                    bIsEnough  = false;
                    nPackingID = Convert.ToInt32(r["PackingID"]);
                    nInCell    = 0;
                    nDeficit   = 0;

                    oCellTemp.ClearError();

                    oCellTemp.ID = Convert.ToInt32(r["CellSourceID"]);
                    oCellTemp.FillData();
                    // привязки
                    DataRow rCell = oCellTemp.MainTable.Rows[0];
                    if (!Convert.IsDBNull(rCell["FixedPackingID"]) &&
                        Convert.ToInt32(rCell["FixedPackingID"]) != nPackingID)
                    {
                        RFMMessage.MessageBoxError("Ячейка " + rCell["Address"].ToString() + " имеет фиксированную привязку к другому товару...");
                        continue;
                    }
                    if (!Convert.IsDBNull(rCell["FixedGoodStateID"]) &&
                        Convert.ToInt32(rCell["FixedGoodStateID"]) != nGoodStateID)
                    {
                        RFMMessage.MessageBoxError("Ячейка " + rCell["Address"].ToString() + " имеет фиксированную привязку к другому состоянию...");
                        continue;
                    }
                    if (
                        (bSeparatePicking &&
                         (
                             (!Convert.IsDBNull(rCell["FixedOwnerID"]) && Convert.ToInt32(rCell["FixedOwnerID"]) != nOwnerID) ||
                             Convert.IsDBNull(rCell["FixedOwnerID"])
                         )
                        )
                        ||
                        (!bSeparatePicking &&
                         !Convert.IsDBNull(rCell["FixedOwnerID"]))
                        )
                    {
                        RFMMessage.MessageBoxError("Ячейка " + rCell["Address"].ToString() + " имеет фиксированную привязку к другому хранителю...");
                        continue;
                    }

                    oCellTemp.FillTableCellsContents(oCellTemp.ID, true);
                    foreach (DataRow cc in oCellTemp.TableCellsContents.Rows)
                    {
                        if (bSeparatePicking)
                        {
                            if (Convert.ToInt32(cc["PackingID"]) == nPackingID &&
                                Convert.ToInt32(cc["GoodStateID"]) == nGoodStateID &&
                                !Convert.IsDBNull(cc["OwnerID"]) &&
                                Convert.ToInt32(cc["OwnerID"]) == nOwnerID)
                            {
                                if (Convert.ToDecimal(cc["Qnt"]) >= Convert.ToDecimal(r["ForQntConfirmed"]))
                                {
                                    bIsEnough = true;
                                }
                                else
                                {
                                    nInCell += Convert.ToDecimal(cc["Qnt"]);
                                }
                            }
                        }
                        else
                        {
                            if (Convert.ToInt32(cc["PackingID"]) == nPackingID &&
                                Convert.ToInt32(cc["GoodStateID"]) == nGoodStateID &&
                                Convert.IsDBNull(cc["OwnerID"]))
                            {
                                if (Convert.ToDecimal(cc["Qnt"]) >= Convert.ToDecimal(r["ForQntConfirmed"]))
                                {
                                    bIsEnough = true;
                                }
                                else
                                {
                                    nInCell += Convert.ToDecimal(cc["Qnt"]);
                                }
                            }
                        }
                        if (bIsEnough)
                        {
                            break;
                        }
                    }
                    // прошли содержимое ячейки. товара не хватает
                    if (!bIsEnough)
                    {
                        nDeficit = Convert.ToDecimal(r["ForQntConfirmed"]) - nInCell;

                        if (!bEasyConfirm)
                        {
                            // есть ли в нее трафики?
                            oTrafficFrameTemp.FilterCellsTargetList = oCellTemp.ID.ToString();
                            oTrafficFrameTemp.FilterConfirmed       = false;
                            oTrafficFrameTemp.FillData();
                            if (oTrafficFrameTemp.MainTable.Rows.Count > 0)
                            {
                                /*RFMMessage.MessageBoxAttention("ВНИМАНИЕ!\n" +
                                 *  "В ячейке " + rCell["Address"].ToString() + " недостаточно товара (" + Convert.ToDecimal(nDeficit).ToString("# ##0").Trim() + " шт.)\n" +
                                 *  r["GoodAlias"].ToString() + ".\n\n" +
                                 *  "Есть невыполненные операции транспортировки паллет в эту ячейку (контейнер " + oTrafficFrameTemp.MainTable.Rows[0]["FrameID"] + ") .");*/
                                RFMMessage.MessageBoxAttention("ВНИМАНИЕ!\n" +
                                                               "В ячейке " + rCell["Address"].ToString() + " недостаточно товара\n" +
                                                               r["GoodAlias"].ToString() + ".\n\n" +
                                                               "Есть невыполненные операции транспортировки паллет в эту ячейку (контейнер " + oTrafficFrameTemp.MainTable.Rows[0]["FrameID"] + ") .");
                                continue;
                            }
                            else
                            {
                                // трафиков нет. сами изменим состояние ячейки

                                /*string sDeficitText = (Convert.ToBoolean(r["Weighting"])) ?
                                 *      (Convert.ToDecimal(nDeficit).ToString("# ##0.000").Trim() + " кг") :
                                 *      RFMPublic.RFMUtilities.Declen(Convert.ToInt32(Math.Floor(nDeficit)), "штук", "штук", "штук");*/
                                string sDeficitText;
                                if (Convert.ToBoolean(r["Weighting"]))
                                {
                                    sDeficitText = Convert.ToDecimal(nDeficit).ToString("# ##0.000").Trim() + " кг";
                                }
                                else
                                {
                                    decimal nInBox     = Convert.ToDecimal(r["InBox"]);
                                    int     nFullBoxes = Convert.ToInt32(Math.Floor(nDeficit / nInBox));
                                    int     nPieces    = Convert.ToInt32(nDeficit - nFullBoxes * nInBox);

                                    sDeficitText = nFullBoxes.ToString() + " кор.";
                                    if (nPieces != 0)
                                    {
                                        sDeficitText = sDeficitText + "+" + nPieces.ToString() + " шт.";
                                    }
                                }
                                if (RFMMessage.MessageBoxYesNo("ВНИМАНИЕ!\n" +
                                                               "В ячейке " + rCell["Address"].ToString() + " не хватает товара (" + sDeficitText + ").\n" +
                                                               r["GoodAlias"].ToString() + "\n\n" +
                                                               "Невыполненных операций транспортировки паллет в эту ячейку нет.\n\n" +
                                                               "Выполнить исправление состояния ячейки на " + sDeficitText + "?", false) == DialogResult.Yes)
                                {
                                    oCellTemp.MedicationDirect((int)oCellTemp.ID, nGoodStateID, nOwnerID,
                                                               nPackingID, nDeficit, ((RFMFormMain)Application.OpenForms[0]).UserID,
                                                               "Исправление состояния ячейки для подтверждения перемещений по расходу с кодом " + oOutput.ID.ToString());
                                }
                            }
                        }
                        else
                        {
                            oCellTemp.MedicationDirect((int)oCellTemp.ID, nGoodStateID, nOwnerID,
                                                       nPackingID, nDeficit, ((RFMFormMain)Application.OpenForms[0]).UserID,
                                                       "Исправление состояния ячейки для подтверждения перемещений по расходу с кодом " + oOutput.ID.ToString());
                        }
                    }
                }
                // прошли все товары

                Refresh();
                WaitOn(this);
                oOutput.ClearError();
                bool bResult = oOutput.ConfirmTraffics(ID, false, chkMinusAllowed.Checked, (int)cboHeavers.SelectedValue, tTable);
                WaitOff(this);
                if (bResult && oOutput.ErrorNumber == 0)
                {
                    RFMMessage.MessageBoxInfo("Подтверждены перемещения коробок/штук.");
                    DialogResult = DialogResult.Yes;
                    Dispose();

                    /*
                     * if (ForLoad(true) == 0)
                     * {
                     *      DialogResult = DialogResult.Yes;
                     *      Dispose();
                     * }
                     */
                }
                else
                {
                    RFMMessage.MessageBoxError("Ошибка подтверждения перемещения коробок/штук...");
                }
            }
        }
예제 #9
0
        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();
                }
            }
        }