Golden Basim Ответов: 1

Почему принтер штрих-кодов печатает только одну этикетку?


почему принтер штрих-кодов печатает только одну этикетку?
Операционная система : 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. спасибо

1 Ответов

Рейтинг:
2

Patrice T

Цитата:
Почему принтер штрих-кодов печатает только одну этикетку?

Если вы не скажете иначе, принтер одновременно напечатает 1 этикетку.
Это может зависеть от принтера и его языка.
Размер этикетки не имеет значения.
Что имеет значение, так это марка принтера и используемый язык, команды, отправляемые на принтер.