Всем доброго времени суток.
И так. Бывает, что иногда в отчетах просят выводить информацию в отдельной колонке. Например, по номенклатуре, у которой несколько штрихкодов, нужно чтобы каждый выводился в новой колонке: «штрихкод1 = колонка1», «штрихкод2=колонка2». Или для каждого контактного лица, из контактных данных, контакты выводились в колонках: «телефон 1 =колонка1», «телефон2 =колонка2», «e-mail=колонка3» и т.д. Это может показаться странным и совершенно не нужным. Но народ хочет, почему не сделать?
Хочу поделиться тем, как я решил эту задачу. Покажу это на примере РС «ШтрихкодыНоменклатуры». Конфигурация: 1С:ERP Управление предприятием 2 (2.4.11.43) Демо база.
Создаем внешний отчет. Добавим "Схему компоновки данных». В набор данных добавим новый набор «Запрос».
Текст запроса :
ВЫБРАТЬ
ШтрихкодыНоменклатуры.Номенклатура КАК Номенклатура,
ШтрихкодыНоменклатуры.Характеристика КАК Характеристика,
ШтрихкодыНоменклатуры.Штрихкод КАК Штрихкод,
КОЛИЧЕСТВО(РАЗЛИЧНЫЕ ШтрихкодыНоменклатуры1.Штрихкод) КАК НомерКолонки,
ШтрихкодыНоменклатуры.Упаковка КАК Упаковка
ИЗ
РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ШтрихкодыНоменклатуры КАК ШтрихкодыНоменклатуры1
ПО ШтрихкодыНоменклатуры.Номенклатура = ШтрихкодыНоменклатуры1.Номенклатура
И ШтрихкодыНоменклатуры.Характеристика = ШтрихкодыНоменклатуры1.Характеристика
И ШтрихкодыНоменклатуры.Штрихкод > ШтрихкодыНоменклатуры1.Штрихкод
И ШтрихкодыНоменклатуры.Упаковка = ШтрихкодыНоменклатуры1.Упаковка
СГРУППИРОВАТЬ ПО
ШтрихкодыНоменклатуры.Номенклатура,
ШтрихкодыНоменклатуры.Характеристика,
ШтрихкодыНоменклатуры.Штрихкод,
ШтрихкодыНоменклатуры.Упаковка
В ресурс добавляем поле штрихкод, но выражение убираем (просто указываем в этой колонке имя поля):
В настройках вывода отчета добавляем таблицу. Где строки это номенклатура и характеристика, а колонка, это НомерКолонки. В группировке НомерКолонки добавляем, ресурс штрихкод:
И всё. Выведем отчет и посмотрим, что у нас вышло:
Главное помнить, что если у какой-то позиции, 10 штрихкодов, то у вас соответственно будет 10 колонок и 9 из них, будут пустыми, у тех позиций, где всего 1 штрихкод.
P.S.
Если решали подобную задачу и решили другим или более оптимальным методом - делитесь в комментариях, буду признателен.