//Распечатать все этикетки в одном заказе 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); }