|
v7: Как сделать двумерную группировку в индексированной таблице с иерархией? | ☑ | ||
---|---|---|---|---|
0
Chai Nic
21.07.22
✎
09:07
|
Есть индексированная таблица из 1с++, с колонками "ГруппаНоменклатуры","ВидКонтрагента","Период","Сумма".
Нужно развернуть её в таком виде, чтобы по строкам была иерархия групп номенклатуры, следующим уровням - виды контрагента. А в колонках чтобы были периоды. Соответственно на пересечении - сумма. В восьмерочном СКД это делается элементарно. У индексированной таблицы тоже есть возможность группировки, в том числе и по иерархии справочника. Это работает. Но непонятно в этом случае, как привязать второе измерение - колонки "Период". То есть если периоды включены в группировки строк - то всё элементарно, а вот как сделать группировку по периоду, чтобы потом её вывести в колонках? Кто-нибудь подобное делал, подскажите элегантное решение?! |
|||
1
Chai Nic
21.07.22
✎
09:25
|
В голову приходит только разбивать исходную таблицу на несколько таблиц по числу периодов и группировать каждую по отдельности, затем разворачивать их, убирая тзПотомки, и при рекурсивном выводе основной сгруппированной таблицы вытаскивать значения из таблиц по периодам. Но это как-то коряво и костыльно..(
|
|||
2
Злопчинский
21.07.22
✎
09:43
|
не надо морочиться. Подсунь !!плоскую!! ТЗ без всяких группировок в универсальный отчет по ТЗ и выводи шахматкой или обычным образом: https://infostart.ru/public/14794/
только не помню - выложенная версия у меня с поддержкой передачи параметров группировок для вывода (чтобы не задавать их интерактивно) или без. если без - то после обеда вернусь, вылоожу/пришль тебе обновленную. а пока отработай интерактивно |
|||
3
Злопчинский
21.07.22
✎
09:43
|
Пустые периоды в ТЗ не обязательны, при построении шахматки отчет сам все выведет где надо пусто.
|
|||
4
Ёпрст
21.07.22
✎
10:07
|
(0)
https://www.1cpp.ru/docum/html/IndexedTable.html#group а так, используй класс от A'Dirks ИтогиПоГруппировкам, там гораздо проще и оно само тебе шахматку лепит какую угодно. |
|||
5
Ёпрст
21.07.22
✎
10:07
|
||||
6
АгентБезопасной Нацио
21.07.22
✎
10:11
|
(5) Только все ссылки на Р(ога)иК(опыта) теперь ведут на садовниковский магазин "Зверушка"
|
|||
7
Ёпрст
21.07.22
✎
10:13
|
(6) там есть и ert от класса в последнем посте
|
|||
8
Ёпрст
21.07.22
✎
10:13
|
ну и вэбархив помнит всё, в том числе, все архивы.
|
|||
9
Ёпрст
21.07.22
✎
10:15
|
||||
10
Chai Nic
21.07.22
✎
10:16
|
(4) Это я читал. Проблема в том, что если в Группировать указано "ГруппаНоменклатуры&,Период", то ",Период" игнорируется. Если же без иерархии справочника, то есть без "&" - то работает. То есть, если в строке группировки указано хоть одно поле с иерархией справочника - другие поля этого выражения не учитываются при построении индекса группировки.
А надо именно с иерархией. Причем, внутри неё чтобы была вторая группировка "ВидКонтрагента". |
|||
11
Ёпрст
21.07.22
✎
10:17
|
(10) иерархия да, не благодарное дело.
|
|||
12
Злопчинский
21.07.22
✎
10:18
|
В (3) самый простой вариант. Затраты на получение готового результата 15 мин
Но нам надо помучиться? |
|||
13
Ёпрст
21.07.22
✎
10:19
|
(12) там есть иерархия групп справочника?
|
|||
14
Chai Nic
21.07.22
✎
10:20
|
(12) Там не так просто, я для локализации вопроса сильно упростил задачу в (0).
|
|||
15
Chai Nic
21.07.22
✎
10:21
|
(11) Зато заказчики её очень любят( Говорят "сделай как в восьмерке"
|
|||
16
Ёпрст
21.07.22
✎
10:40
|
(10) точно не помню за модификаторы, там еще и * была..И на счет иерархии, тоже не помню, как оно там было :)
|
|||
17
Chai Nic
21.07.22
✎
10:43
|
(16) * это если не требуется учитывать представление при сортировке, используется голый идентификатор, для ускорения. На логику не влияет.
|
|||
18
Ёпрст
21.07.22
✎
10:48
|
(17) ну короче, тебе придётся при выводе по группировке бегать не по ИТЗ, а по списку второй группировке (периодам) ..если не нашел - пустышка.
Вот еще, из древнего вывод ИТЗ с иерархией по Номенклатуре и шахматкой по Складам в mxl там предлагается 2 итз лепить |
|||
19
Chai Nic
21.07.22
✎
14:03
|
(18) Всё сделал как написал в (1). Но жаль конечно, что функциональность группировок недоработана в ИТЗ. Это бы многое упрощало. Спасибо за помощь, особенно за (2) - пригодится.
|
|||
20
Злопчинский
21.07.22
✎
14:20
|
(13) иерархии групп на полную вложенность - нет. Автор в (0) полную иерархию вроде и не требует. Там упоминается только одна группа номенклатуры
Если нужно вывести с полной иерархией - в плоской тз прописывается кол-во колонок по уровню вложенности групп. Мне этого хватало. |
|||
21
Chai Nic
21.07.22
✎
14:25
|
(20) Не, как раз и надо группы вывести в полной иерархии, с итогами до корня. Ну в общем сделал.
|
|||
22
Злопчинский
21.07.22
✎
14:29
|
(21) я в (20) делал.
Смысл того что по ссылке - быстро наваять вменяемый вывод без геморроя. А потом, если отчёт утрясется и покажет свою живучесть - переписываем с бриджем и леди... |
|||
23
Dolly_EV
04.08.22
✎
14:44
|
(0)(18) А вот окончательный вариант того древнего))
Помнится, допилил до идеального состояния https://disk.yandex.ru/d/F5_zDu0p62PdDA |
|||
24
Злопчинский
04.08.22
✎
18:25
|
(23) и что со всем этим делать?
|
|||
25
trad
04.08.22
✎
21:44
|
(15) ну так если есть восьмерка, сделай отчет на восмерке
Донные тащи из семерки через ВИД |
|||
26
trad
04.08.22
✎
21:45
|
*данные
|
|||
27
Chai Nic
04.08.22
✎
22:07
|
(25) Ну нет, внешние источники для задачи это гемор. Структура базы меняется, вручную парсить dds?
Да и данные могут быть не в готовых таблицах, а предварительно рассчитываться по определенному семерка-специфичному алгоритму, который переписывать ещё больший гемор. Единственное, что напрашивается - это через OLE из восьмерки подключаться к семерочной базе, и получать некую сериализованную таблицу, которую уже в восьмерке через СКД можно крутить всяко. Но OLE штука нестабильная и капризная. |
|||
28
Ёпрст
04.08.22
✎
22:14
|
(27) подымаешь в снеговике примитивный вэбсервер, который по запросу получает плоскую табличку, пихает её в скд, на выходе табличный док записывай в моксель\xls с группировками и отдавай взад.. в клюшках обращайся к этому вэбсервису, это если не ком.
|
|||
29
Ёпрст
04.08.22
✎
22:15
|
Ну или кристал репорт юзать - там любые кубики сразу
|
|||
30
Chai Nic
04.08.22
✎
22:43
|
(28) Плоская табличка это хорошо, но где тут иерархия? Придется ещё и справочники синхронизировать для этого, с иерархией.
|
|||
31
Ёпрст
04.08.22
✎
22:58
|
(30) точна, всё время забываю про твою иерархию..
:) в общем, бросай клюшки |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |