СКД развернуть (разгруппировать) строки

1. nikivr 07.10.19 12:30 Сейчас в теме
Всем привет!

Подскажите пожалуйста, возможно кто-то решал подобную задачку.

Необходимо получить следующую табличку в СКД:

Данные получаем из документа в таком виде:

Номенклатура Кол-во
Товар_1 3
Товар_2 2

А на выходе нужно представить в таком виде:

Номенклатура Параметр
Товар_1 821_1_1
Товар_1 821_1_2
Товар_1 821_1_3
Товар_2 821_2_1
Товар_2 821_2_2

Где параметр складывается из номера документа плюс номер позиции в документе плюс номер относительно количества.

Возможно есть какая-то функция в СКД, которая позволит не вмешиваться программно в формирование отчета?

Заранее спасибо!

Всем хорошего дня!
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
4. alex-l19041 8 07.10.19 12:45 Сейчас в теме
(1)
номер относительно количества.
- уточните. надо сделать для каждого товара количество строк равное количеству товара?
7. nikivr 07.10.19 12:50 Сейчас в теме
(4) Сейчас предполагается, что да, для всех строк.

Но скорее всего появится требование, по которому "Разворачивать" строки придется по условию, например в зависимости от категории (вида / типа) товара.
10. alex-l19041 8 07.10.19 16:21 Сейчас в теме
(7) думаю что такое в рамках СКД не получится, надо программно сформировать таблицу данных, в которой одна строка входящих данных преобразуется в несколько строк исходящих.

Затем можно "скормить" эту таблицу в СКД
9. dhurricane 07.10.19 13:45 Сейчас в теме
(1) Правильно ли я понимаю, что Вам необходимо генерировать строки товаров в объеме, соответствующем количеству товара? Если так, то взгляните на эту публикацию:
https://infostart.ru/public/522064/

Я представляю себе решение Вашей задачи так:
- добавляете в СКД новый набор данных, где реализован запрос генерации последовательности чисел;
- в новом наборе используете отбор по некоторому параметру так, чтобы размер выборки последовательности не превосходил значение данного параметра;
- связываете основной набор по полю Количество с новым набором посредством указанного выше параметра.

Не могу оценить, на сколько тяжелый получится отчет. Если попробуете, сообщите, пожалуйста, о результатах.
2. aezdakov 5 07.10.19 12:33 Сейчас в теме
Вам помогут только вычисляемые поля
5. nikivr 07.10.19 12:47 Сейчас в теме
(2) Чтобы сформировать колонку Параметр, скорее всего да, Вычисляемые поля.
Но как вывести несколько строк, когда была изначально одна строка?
И как получить порядковые номера при формировании параметра?
3. VmvLer 07.10.19 12:40 Сейчас в теме
я бы юзал пользовательские, а не вычисляемые.
причем отладил бы их в конфигураторе, а добавил бы в приложении для варианта
"Вариант - схлопнем поля"
6. nikivr 07.10.19 12:47 Сейчас в теме
(3) Чтобы сформировать колонку Параметр, скорее всего да, подойдет.

Но как вывести несколько строк, когда была изначально одна строка?
И как получить порядковые номера при формировании параметра?
8. aezdakov 5 07.10.19 13:05 Сейчас в теме
(6) С релиза 8.3.13.1198:
Реализована возможность создания поля с уникальными (в рамках одной таблицы), последовательно возрастающими значениями.
Реализована функция языка запросов АВТОНОМЕРЗАПИСИ(), которая может быть использована только при создании временной таблицы.

Не поддерживается использование функции АВТОНОМЕРЗАПИСИ():

в запросах, содержащих ОБЪЕДИНИТЬ на верхнем уровне;
в запросах, не формирующих временную таблицу;
вне списка выборки;
в выражениях.

Источник: http://downloads.v8.1c.ru/content//Platform/8_3_13_1198/1cv8upd_8_3_13_1198.htm#28d343da-0d75-11e8-a3f7-0050569f678a

Но в таком случае придётся формировать колонку Параметр в запросе, а это в случае СКД не красиво, поэтому вот: https://forum.infostart.ru/forum9/topic86173/
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот