Имя: Пароль:
1C
1С v8
Вывод дат по столбцам
,
0 Cyberhawk
 
14.10.16
00:17
Дано: плоская коллекция значений вида "Товар - Количество - Дата (без времени)".
Пример:
Бублик 1 штука 01.10.2016
Бублик 2 штуки 02.10.2016
Вантуз 1 штука 02.10.2016
Вантуз 3 штуки 03.10.2016

Требуется вывести все это дело в таблицу формы (или на СКД) с динамическими колонками "Товар - 01.10.2016 - 02.10.2016 - 03.10.2016":
Бублик 1 2 -
Вантуз - 1 3

Киньте, пожалуйста, ссылку на какой-нибудь готовый алгоритм или пример/статью. Вроде на ИС что-то подобное видел, да не находится.
1 Cyberhawk
 
14.10.16
00:18
Добавка: интересует только преобразование коллекции значений (не в цикле / без обхода), динамическое создание колонок (и программная работа с элементами управления) не интересует.
2 Cyberhawk
 
14.10.16
00:44
А, перемудрил с группировками в СКД. Только создал тему, начал все сначала и все заработало! Вот она, сила форума.
3 Cyberhawk
 
14.10.16
01:04
СКД не позволяет вывести свой результат в коллекцию значений, если настройка - таблица.
Неужели окромя ручного обхода плоской таблицы задача по-простому не решается?
4 Cyberhawk
 
14.10.16
11:54
Глянул, как сделано в табеле в ЗУП 3.0 - там 31 реквизит ТЧ. Это может быть оправдано, когда зарнее известно гарантированное максимальне кол-во столбиков (дни месяца, дни недели).
Что делать будем для случая, когда столбиков, например, 40 или 70?
Как без обхода исходной коллекции и построчного заполнения второй коллекции еще можно получить вторую коллекцию?
5 Cyberhawk
 
14.10.16
12:44
Кастую @ildarovich в ветку
6 МихаилМ
 
14.10.16
13:02
по простому - это задача  проверки на профпригодность на 15 минут
7 МихаилМ
 
14.10.16
13:06
а по-сложному та же задача , но вывод не построчно а по столбцам. уже дня на 3 потянет.
8 Cyberhawk
 
14.10.16
13:08
(6) Имеешь в виду линейный обход исходной коллекции и заполнение результирующей коллекции? Такой вариант не интересует, так все могут.
9 МихаилМ
 
14.10.16
13:15
(8)
ну так развлекитесь задачей из (7) так почти никто не может.

думаю на этом форуме 80% спрашивающих не осилят и построчный вариант .
10 Дарлок
 
14.10.16
13:17
(7) вчера в Excel за 15 минут накидал
1С-ики - бесполезные существа
11 FIXXXL
 
14.10.16
13:22
(3) табДок же можешь получить?
его пересохрани в ТЗ https://helpf.pro/faq/view/489.html

или я не понял чего надо
12 Cyberhawk
 
14.10.16
13:33
(10) В СКД за 1 минуту делается :)
(11) Могу. Но дальше этот табличный документ чтобы преобразовать в коллекцию значений, нужно опять построчно его обходить и результирующую коллекцию построчно заполнять. Соглашусь с тем, что это может быть немного удобнее, чем обходить изначальную плоскую коллекцию (СКД все сделала за нас, да еще и опционально с дополнением "пустых" столбиков).
(9) Ну вот СКД же легко выводит. Хотя выводит она это все равно за счет построчной обработки каждой детальной записи, анализируя, в какую ячейку ее вставить. Т.е. аналогично как если бы самостоятельно обходить исходную коллекцию и формировать результирующую.
Остается какой-нибудь вариант сделать все это сразу в запросе, поэтому и (5) :)
13 МихаилМ
 
14.10.16
13:47
(12)
сразу в запросе называется pivot. если админ бд такое отследит, то имеет право отбить копчик.


скд легко выводит на "маленьких" объемах данных. на 200к строк , 20 полей, 10к результирующей тз построчный способ работает быстрее, а поколоночный в разы быстрее.    

также можете применить кластерный анализ объекта анализ данных.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой