//Распечатать все этикетки в одном заказе
        private void PrintMegaOrderContextMenuItem_Click(object sender, EventArgs e)
        {
            Thread T = new Thread(delegate() { SplashWindow.CreateSmallSplash(ref TopForm, "Создание этикеток.\r\nПодождите..."); });

            T.Start();

            while (!SplashWindow.bSmallCreated)
            {
                ;
            }

            if (MarketingPackagesPrintManager.MegaOrdersBindingSource.Count < 1)
            {
                return;
            }

            MarketingPackagesPrintManager.MegaOrdersBindingSource.Position = CurrentRowIndex;

            //Проверка
            int MegaOrderID = Convert.ToInt32(((DataRowView)MarketingPackagesPrintManager.MegaOrdersBindingSource.Current).Row["MegaOrderID"]);
            int MainOrderID = 0;

            if (!MarketingPackagesPrintManager.IsMegaOrderPacked(MegaOrderID, ref MainOrderID))
            {
                Infinium.LightMessageBox.Show(ref TopForm, false,
                                              "Этикетки распечатать нельзя. Подзаказ № " + MainOrderID + " должен быть полностью распределен на обеих фирмах",
                                              "Ошибка печати");
                return;
            }

            int[] MainOrders  = MarketingPackagesPrintManager.GetMainOrders();
            int   PackNumber  = 0;
            int   PackageID   = 0;
            int   ProductType = 0;

            ArrayList PackageIDs = new ArrayList();

            PackageLabel.ClearLabelInfo();

            DataTable TempPackagesDataTable = new DataTable();

            for (int j = 0; j < MainOrders.Count(); j++)
            {
                TempPackagesDataTable = MarketingPackagesPrintManager.TempPackages(MainOrders[j], FrontIDs, ProductIDs).Copy();

                for (int i = 0; i < TempPackagesDataTable.Rows.Count; i++)
                {
                    DataTable DT = new DataTable();
                    Infinium.Modules.Packages.Marketing.Info LabelInfo = new Modules.Packages.Marketing.Info();

                    ProductType = Convert.ToInt32(TempPackagesDataTable.Rows[i]["ProductType"]);
                    PackNumber  = Convert.ToInt32(TempPackagesDataTable.Rows[i]["PackNumber"]);
                    PackageID   = Convert.ToInt32(TempPackagesDataTable.Rows[i]["PackageID"]);
                    PackageIDs.Add(PackageID);

                    if (ProductType == 0)
                    {
                        ProductType = 0;
                        GetPackageInfo(MainOrders[j], PackNumber, ProductType, PackageID, ref LabelInfo);
                        LabelInfo.ProductType = ProductType;
                        PrintBarCode.FilterFrontsOrders(MainOrders[j], PackageID);
                        LabelInfo.TechnoInset = PrintBarCode.TechnoInset;
                        DT = PrintBarCode.FillFrontsDataTable().Copy();
                    }
                    if (ProductType == 1)
                    {
                        ProductType = 1;
                        GetPackageInfo(MainOrders[j], PackNumber, ProductType, PackageID, ref LabelInfo);
                        LabelInfo.ProductType = ProductType;
                        PrintBarCode.FilterDecorOrders(MainOrders[j], PackageID);
                        DT = PrintBarCode.FillDecorDataTable().Copy();
                    }

                    LabelInfo.OrderData = DT;
                    LabelInfo.GroupType = "М";

                    PackageLabel.AddLabelInfo(0, ref LabelInfo);


                    MarketingPackagesPrintManager.FilterPackages(MainOrders[j], FrontIDs, ProductIDs);
                }
            }
            PrintDialog.Document = PackageLabel.PD;

            if (PrintDialog.ShowDialog() == DialogResult.OK)
            {
                for (int i = 0; i < PackageIDs.Count; i++)
                {
                    PackageID = Convert.ToInt32(PackageIDs[i]);
                    MarketingPackagesPrintManager.PrintedCountUp(PackageID);
                }
                PackageLabel.Print();
            }
            TempPackagesDataTable.Dispose();

            while (SplashWindow.bSmallCreated)
            {
                SmallWaitForm.CloseS = true;
            }
        }
        //Распечатать одну этикетку
        private void PrintPackageContextMenuItem_Click(object sender, EventArgs e)
        {
            if (MarketingPackagesPrintManager.MainOrdersBindingSource.Count < 1)
            {
                return;
            }

            int[] Packages = MarketingPackagesPrintManager.GetSelectedPackages();

            DataTable DT = new DataTable();

            int MainOrderID = Convert.ToInt32(((DataRowView)MarketingPackagesPrintManager.MainOrdersBindingSource.Current)["MainOrderID"]);

            //Проверка
            if (!MarketingPackagesPrintManager.IsMainOrderPacked(MainOrderID))
            {
                Infinium.LightMessageBox.Show(ref TopForm, false,
                                              "Этикетки распечатать нельзя. Подзаказ № " + MainOrderID + " должен быть полностью распределен на обеих фирмах",
                                              "Ошибка печати");
                return;
            }

            int PackNumber  = 0;
            int ProductType = 0;
            int PackageID   = 0;

            ArrayList PackageIDs = new ArrayList();

            PackageLabel.ClearLabelInfo();

            for (int i = 0; i < PackagesDataGrid.SelectedRows.Count; i++)
            {
                PackNumber  = Convert.ToInt32(PackagesDataGrid.SelectedRows[i].Cells["PackNumber"].Value);
                ProductType = Convert.ToInt32(PackagesDataGrid.SelectedRows[i].Cells["ProductType"].Value);
                PackageID   = Convert.ToInt32(PackagesDataGrid.SelectedRows[i].Cells["PackageID"].Value);
                PackageIDs.Add(PackageID);

                Infinium.Modules.Packages.Marketing.Info LabelInfo = new Modules.Packages.Marketing.Info();

                if (ProductType == 0)
                {
                    ProductType = 0;
                    GetPackageInfo(MainOrderID, PackNumber, ProductType, PackageID, ref LabelInfo);
                    LabelInfo.ProductType = ProductType;
                    PrintBarCode.FilterFrontsOrders(MainOrderID, PackageID);
                    LabelInfo.TechnoInset = PrintBarCode.TechnoInset;
                    DT = PrintBarCode.FillFrontsDataTable().Copy();
                }
                if (ProductType == 1)
                {
                    ProductType = 1;
                    GetPackageInfo(MainOrderID, PackNumber, ProductType, PackageID, ref LabelInfo);
                    LabelInfo.ProductType = ProductType;
                    PrintBarCode.FilterDecorOrders(MainOrderID, PackageID);
                    DT = PrintBarCode.FillDecorDataTable().Copy();
                }

                LabelInfo.OrderData = DT;
                LabelInfo.GroupType = "М";


                PackageLabel.AddLabelInfo(0, ref LabelInfo);
            }

            PrintDialog.Document = PackageLabel.PD;

            if (PrintDialog.ShowDialog() == DialogResult.OK)
            {
                for (int i = 0; i < PackageIDs.Count; i++)
                {
                    PackageID = Convert.ToInt32(PackageIDs[i]);
                    MarketingPackagesPrintManager.PrintedCountUp(PackageID);
                }
                //ZOVPackagesPrintManager.PrintedCountUp(PackageID);
                PackageLabel.Print();
            }

            MarketingPackagesPrintManager.PackagesBindingSource.Position = CurrentRowIndex;

            MarketingPackagesPrintManager.FilterPackages(MainOrderID, FrontIDs, ProductIDs);
        }