Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

СКД с кросс отчетом. Вывод нескольких ссылочных ресурсов.

СКД с кросс отчетом. Вывод нескольких ссылочных ресурсов.
Я
   Bibr
 
08.10.19 - 18:13
Отчет на СКД надо в виде кросс-таблицы.
Данные: Период, торговая точка, Номенклатура, Количество.
В каждой точке на каждую дату продают несколько позиций номенклатуры (от 1 до 5).

Нужно, чтобы было так: По столбцам - даты, по строкам - точки. На пересечении - выводим в столбец все пары Номенклатура - Количество, продаваемые в этот день.
Т.е. номенклатура должна быть ресурсом.

Пример как надо:
------------ Дата1--------------Дата2
Точка1----Ном1-100-----------Ном2-100
----------Ном4-200-----------Ном5-200
-----------------------------Ном8-300
Точка2----Ном1-100-----------Ном2-100
----------Ном4-200-----------Ном5-200
-----------------------------Ном8-300

Делаю таблицу, с группировкой столбцы - период, строки - точка.
Непонятно, что делать с номенклатурой.
Если делать ресурсом, например Максимум(Номенклатура), то имеем только только одну позицию в точке в день.

------------ Дата1--------------Дата2
Точка1----Ном1-300-----------Ном2-600
Точка2----Ном1-300-----------Ном2-600

Если сделать номенклатуру группировкой, то соответственно будет в каждой дате по каждой точке и каждой номенклатуре. Много лишних строк, пустого пространства и неудобочитаемо.

------------ Дата1--------------Дата2
Точка1-------------------------------
Ном1---------100-----------------0---
Ном2-----------0-----------------100-
Ном4---------200-----------------0---
Ном5-----------0-----------------200-
Ном8-----------0-----------------3100-
Точка2----Ном1-100-----------Ном2-100
Ном1---------100-----------------0---
Ном2-----------0-----------------100-
Ном4---------200-----------------0---
Ном5-----------0-----------------200-
Ном8-----------0-----------------3100-

Пробовал также вообще убрать группировку строк, просто упорядочив по Точке, номенклатуре. Тоже не то, выводит "шахматно", опять неудобочитаемо и куча пустого пространства.

Как правильно сделать??
 
 
   Bibr
 
1 - 09.10.19 - 09:05
Просыпайтесь, солнце встало)
Апну.
   Smile 8D
 
2 - 09.10.19 - 10:03
(0) "Если сделать номенклатуру группировкой, то соответственно будет в каждой дате по каждой точке и каждой номенклатуре. Много лишних строк, пустого пространства и неудобочитаемо."
Мне кажется, что то что вы хотите неудобочитаемо, а вот этот вариант вполне нормально выглядит.
   ПускинАС
 
3 - 09.10.19 - 10:09
(0) группировка номенклатуры как ресурса по колонке ? не видел, не знаю... google молчит ?
   Bibr
 
4 - 09.10.19 - 10:13
(2)
Представьте такую картину. Нужен отчёт за 30 дней. По прайс-листу например 100-200 разных позиций номенклатуры, которые встречаются в продажах в течение месяца. Но каждый день продаётся только 3-5 разных позиции.
При группировке, будет 100-200 строк, причём в каждом столбце 95 нулей. Найти, что продавалось тяжело и крайне ненаглядно.
При реализации по ТЗ, будет 5 строк.
   Bibr
 
5 - 09.10.19 - 10:18
(3) вот не нагуглил пока. Ни на форуме, ни через гугл.
Пока гуглил, много чего интересного почерпнул об СКД. Такой мощный механизм, наверняка можно достаточно просто реализовать то, что мне надо. Только ещё не выяснил, как.
   toypaul
 
6 - 09.10.19 - 10:29
ВычислитьВыражениеСГруппировкойТаблицаЗначений
   toypaul
 
7 - 09.10.19 - 10:32
выражение для ресурса в ячейке 
ВычислитьВыражениеСГруппировкойТаблицаЗначений("Номенклатура, Сумма(Количество)", "Номенклатура")
   Bibr
 
8 - 09.10.19 - 10:44
(6-7) спасибо, пробую..
   Bibr
 
9 - 09.10.19 - 11:28
(7) Класс!
Конечно, немного не так, как виделось изначально (хочется видеть подписи в шапке "Номенклатура" "Количество"), но работает.

Ещё некоторые моменты.
1. У меня есть поле Сорт, по которому упорядочен результат запроса. Но после использования функции ВычислитьВыражениеСГруппировкойТаблицаЗначений, порядок сбивается. В СКД есть функция Упорядочить(), но в ней нужно номер столбца. Можно ли выбрать столбец Сорт в ТЗ, упорядочить по нему, но не выводить пользователю?

2. Можно ли отформатировать выводимую ТЗ? Изменить разделитель или добавить имена колонок?

3. Если 1 и 2 невозможны, то может всё же есть ещё вариант использовать не ВычислитьВыражениеСГруппировкойТаблицаЗначений, а что-то другое?
   toypaul
 
10 - 09.10.19 - 11:40
разделитель можно поменять если использовать СоединитьСтроки. имена колонок можно вывести как первую строку ТЗ.
можно сортировать с помощью Упорядочить
можно вывести не все колонки с помощью ПолучитьЧасть

предлагаю изучить справку http://prntscr.com/pgtmz3
   Bibr
 
11 - 09.10.19 - 12:47
(10) Спасибо.
Имена колонок вывел через макет группировки.
Упорядочивать не понадобилось. Оказалось, что достаточно выбрать в ТЗ сортировочные поля и затем ПолучитьЧасть - порядок восстановился.

А вот всё же насчёт пункта 3.
Возможн ли вариант решить эту задачу без вывода в ТЗ?
   toypaul
 
12 - 09.10.19 - 12:58
возможно. лень думать и писать

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.