#reporting-services #printing #labeling
#службы отчетов #печать #маркировка
Вопрос:
Есть ли у кого-нибудь опыт создания отчета, в котором будут печататься этикетки, находящиеся в рулоне?
Я вижу множество примеров для листа этикеток, но ничего с какой-либо подробной информацией о рулоне.
Было бы наилучшим способом настроить страницу отчета на 1 столбец, а затем настроить размер страницы на размер этикетки?
На каждой этикетке будет разная информация и разное количество этикеток на печать.
Итак, в основном настройте отчет так, чтобы отражать размер этикетки, а затем повторять страницы в зависимости от того, сколько этикеток требуется распечатать?
Ответ №1:
Вы должны просто иметь возможность настроить свой отчет так, чтобы он имел тот же размер страницы, что и ваша этикетка, а затем оформить отчет как обычный.
Что касается создания нескольких этикеток, вы можете либо
- создайте единый набор данных, содержащий всю необходимую информацию для всех этикеток, и сгруппируйте по тому, что делает каждую этикетку уникальной (например, по номеру этикетки). Затем добавьте разрыв страницы в свойство группы строк, чтобы поместить разрыв между ними, или ..
- вы могли бы создать вложенный отчет, который обрабатывает только одну метку, а затем создать основной отчет с элементом управления таблицей с одной «ячейкой» и вложенным отчетом внутри этой ячейки. Затем вы должны передать параметры во вложенный отчет из основного набора данных. Я думаю, вы видели аналогичный ответ, который я опубликовал о печати листов этикеток, если вы будете следовать этому, то он должен помочь вам пройти большую часть пути.
Вариант 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
Шаг 3: Добавьте таблицу, содержащую данные
- Добавьте новую таблицу
- Удалить строку заголовка
- Удалите последний столбец (в моем примере у меня есть метка из двух столбцов, но, очевидно, решать вам).
- Выберите таблицу (табликс) с помощью серого маркера таблицы (вверху слева от таблицы), а затем задайте свойству dataset имя созданного ранее набора данных
- Добавьте достаточно строк, чтобы содержать все ваши данные, в моем случае всего 6
- На панели Группы строк под основным дизайном отчета щелкните правой кнопкой мыши группу строк сведений и выберите
Add Group => Parent Group
. ВыберитеOrderID
в качестве поля для группировки и нажмите ОК - Удалите недавно добавленный столбец и при появлении запроса выберите «удалить только столбец».
- Щелкните правой кнопкой мыши
(OrderID)
группу строк и перейдите в свойства группы, щелкните Разрыв страницы и выберите «между» - Установите, чтобы каждая строка содержала ваши данные, пока у вас не получится что-то вроде….
Очистите форматирование, и это должно быть так. По одной этикетке на страницу, и для каждой страницы задается размер этикетки.
Возможно, вам потребуется немного скорректировать макет, чтобы отрегулировать поля и т.д., Но это должно дать вам хорошее начало.
Комментарии:
1. Возникли трудности с настройкой дизайна этикетки и использованием группы строк. Я не могу использовать группу строк, не имея таблицы или списка, для которых требуется хотя бы один столбец. Мне нужно сгруппировать по номеру заказа, а затем напечатать имя и адрес в формате этикетки.
2. Если ваш набор данных r содержит имя заказа # и адрес, затем создайте таблицу, добавьте группу строк для заказа #. Добавьте подробные строки, необходимые для имени и адреса. В свойствах группы строк задайте разрывы страниц между ними. Удалите все пробелы из отчета, чтобы таблица заполнила «страницу». Если вы не можете понять, что я имею в виду, дайте мне знать, и я опубликую полный ответ.
3. Мы будем признательны за полный ответ!
4. Я посмотрю, смогу ли я что-нибудь собрать этим вечером, работа сейчас немного напряженная
5. Спасибо за это, сегодня утром мне удалось настроить этот отчет, теперь осталось только распечатать этикетки! Очень признателен.