Отчет SSRS для печати этикеток из рулона - PullRequest
0 голосов
/ 04 апреля 2019

Есть ли у кого-нибудь опыт создания отчета, в котором будут печататься надписи на рулонах?

Я могу видеть множество примеров для листа этикеток, но ничего с мелкими подробностями относительно рулона.

Лучшим ли способом было бы настроить страницу отчета на 1 столбец, а затем отрегулировать размер страницы в соответствии с размером метки?

На каждой этикетке будет разная информация и разное количество этикеток на печать.

То есть, в основном, настроить отчет так, чтобы он отражал размер этикетки, а затем повторять страницы в зависимости от того, сколько этикеток нужно распечатать?

1 Ответ

1 голос
/ 04 апреля 2019

Вы должны просто установить для своего отчета тот же размер страницы, что и для метки, а затем оформить отчет как обычно.

Что касается производства нескольких этикеток, вы можете либо

  1. иметь один набор данных, содержащий всю информацию, необходимую для всех этикеток и группы, независимо от того, что делает каждую этикетку уникальной (например, номер этикетки)).Затем добавьте разрыв страницы в свойстве группы строк, чтобы поставить разрыв между ними, или ..
  2. вы можете создать вложенный отчет, который будет обрабатывать только одну метку, а затем получить основной отчет с элементом управления таблицей содиночная «ячейка» и вложенный отчет внутри этой ячейки.Затем вы должны передать параметры в подотчет из основного набора данных.Я думаю, что вы видели похожий ответ, который я опубликовал о печати листов с этикетками, если вы последуете этому, то это поможет вам в этом.

Вариант 1, вероятно, самый простой метод ... Пошаговая инструкция для варианта 1 В этом примере я использовал образец базы данных Microsoft WideWorldImporters, просто чтобы получить некоторые имена и адреса.

Шаг 1: Напишите ваш запросчтобы получить ваши данные.В моем примере я использовал следующее ..

SELECT top 10 o.OrderID, c.CustomerName, c.DeliveryAddressLine1, c.DeliveryAddressLine2, cty.CityName, c.DeliveryPostalCode
  FROM [Sales].[Orders] o
    JOIN Sales.Customers c on o.CustomerID = c.CustomerID
    JOIN Application.Cities cty on c.DeliveryCityID = cty.CityID
ORDER BY OrderID

Это просто дает мне номер заказа, название компании и адрес.

Шаг 2: Создайте новый отчет.Я использую Visual Studio, но процесс почти идентичен в построителе отчетов, если вы используете это.

  • Создать новый пустой отчет
  • Добавить источник данных и набор данных, содержащий ваш запрос, начиная с шага 1
  • Выберите «body» и установите свойство sizeк вашему размеру этикетки.Я использовал 100 мм, 40 мм
  • Выберите «отчет» и установите для свойства PageSize те же значения, что и выше, а для полей - 0

enter image description here enter image description here

Шаг 3: Добавить таблицу, содержащую данные

  • Добавить новую таблицу
  • Удалить строку заголовка
  • Удалить последний столбец (в моем примере у меня есть метка из двух столбцов, но, очевидно, вам решать)
  • Выберите таблицу (tablix), используя серый дескриптор таблицы (вверху слева от таблицы)а затем установите для свойства набора данных имя набора данных, который вы создали ранее
  • Добавьте достаточно строк для хранения всех ваших данных, в моем случае всего 6
  • На панели RowGroups под основным отчетомдизайн, щелкните правой кнопкой мыши по группе строк и выберите Add Group => Parent Group.Выберите OrderID в качестве поля для группировки и нажмите OK
  • Удалите только что добавленный столбец и при появлении запроса выберите «удалить только столбец»
  • Щелкните правой кнопкой мыши группу (OrderID) Row и перейдитеЧтобы сгруппировать свойства, нажмите «Разрыв страницы» и выберите «между»
  • Установите в каждой строке ваши данные, пока не получите что-то вроде ....

enter image description here

Очистите форматирование и так и должно быть.Одна этикетка на страницу, и каждая страница соответствует вашему размеру этикетки.

Возможно, вам придется немного изменить макет, чтобы настроить поля и т. Д., Но это должно дать вам хорошее начало.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...