Почему принтер штрих-кодов печатает только одну этикетку?
почему принтер штрих-кодов печатает только одну этикетку?
Операционная система : Windows 10
мой код :
я использую эту функцию, чтобы получить все данные о товарах в счете-фактуре и его количестве, а затем собрать их вместе в список
private void printAllItems() { list.Clear(); if (InvoiceIDinput.EditValue == null || InvoiceIDinput.EditValue.ToString() == "") return; int invoiceID = Convert.ToInt32(InvoiceIDinput.EditValue); if (invoiceID == 0) return; mrsalesdbEntities db01 = ConnectionTools.OpenConn(); var ditems = db01.purchases_item.Where(u => u.pmain_ID == invoiceID).ToList(); foreach (var item in ditems) { int itemID = item.stitems_ID.Value; var items = db01.view_items_barcode.Where(u => u.stitems_ID == itemID).Select(s => new CLSBarcode { company_name = BasicVars.CompanyName, mobile1 = BasicVars.BrMobile1, mobile2 = BasicVars.BrMobile2, mobile3 = BasicVars.BrMobile3, adrress = BasicVars.BrAdrress, country = BasicVars.BrCountry, city = BasicVars.BrCity, Email = BasicVars.Email, stitems_ID = s.stitems_ID, stitems_Status = s.stitems_Status, stitems_Name = s.stitems_Name, stitems_Code = s.stitems_Code, catID = s.stcate_ID, cat_name = s.stcate_Name, unitID = s.stitemsu_ID, salesprice = DbFunctions.Truncate(s.stitemsu_SalesPrice, BasicVars.CurrencyPart), salespriceST = DbFunctions.Truncate(s.stitemsu_SalesPrice, BasicVars.CurrencyPart).ToString(), salesdiscount = DbFunctions.Truncate(s.stitemsu_SalesDiscount, BasicVars.CurrencyPart) }).FirstOrDefault(); for (int i = 0; i < item.unitQntity ; i++) { list.Add(items); } } foreach (var l in list) { l.salespriceST = l.salesprice + " " + CurrencyInfo.currencyShortcut(); } }
здесь я устанавливаю источник отчета (список)
private void simpleButton1_Click(object sender, EventArgs e) { printAllItems(); MrSReports.R_Stores.printCodeOneCol report = new MrSReports.R_Stores.printCodeOneCol(); string fileName = FoldersPaths.BarcodeLayoutPath; if (File.Exists(fileName)) { report.LoadLayout(fileName); } report.DataSource = list; Functions.PrintMultiCopiesOFBarcode(report, "ITEMS"); }
эта функция позволяет проверить разрешения и распечатать документ doc (xtrareport)
public static void PrintMultiCopiesOFBarcode(XtraReport report , string AccessRule, int AccessLevel = 4) { ConnectionTools.ReadConnPara(); if (Functions.CheckPermissions(AccessLevel, AccessRule) == 0) { Msg.Show(strings.ACCESS_DENIED, strings.YOU_DO_NOT_HAVE_PERMISSIONS_TO_EXECUTE_THIS_OPERATION, 0); } else { try { report.CreateDocument(true); report.Print(); } catch { Msg.Show(strings.ERROR, strings.CAN_NOT_PRINT_REPORT_CHECK_THE_CONNECTION_OR_PRINTER_SETTING, 0); }; } }
Что я уже пробовал:
я тестирую свое программное обеспечение на другом принтере, и оно работает нормально.
я уверен, что проблема с настройками принтера.
я изменил размер этикетки, и она отлично печатает размер, но печатает только одну этикетку.
кроме того я изменил настройки печати :
Тип : штампованные этикетки
Ширина: 50 мм , высота: 25 мм
но все же напечатайте только одну этикетку.
OriginalGriff
Не имея представления о том, что делает ваш код, мы не можем вам помочь.
Может быть, соответствующие фрагменты кода помогут?
Используйте виджет "улучшить вопрос", чтобы отредактировать свой вопрос и предоставить более подробную информацию.
Richard MacCutchan
Может быть, секретная ошибка в вашем секретном коде. Серьезно, вы разместили здесь достаточно вопросов, чтобы знать, что мы не можем догадаться, что делает ваш код.
Golden Basim
h думаю , что проблема не связана с кодом, потому что я тестировал код на другом принтере, и он работает. .. хорошо, я улучшу qst. спасибо