Имя: Пароль:
1C
 
C#, какие реализации есть временных таблиц запроса и обход результата запроса по группиров
0 Sabre
 
19.08.21
05:53
обход результата запроса по группировкам?
Entity Framework, хотя скорее всего, запросы будут прямыми к таблицам SQL.
1 AquaMan
 
19.08.21
06:19
Мда... EF, как и любой другой ORM, маппит результат запроса сразу на объект или коллекцию, ничего обходить не нужно. Обходить нужно только если ванильный ADO используется,но в SQL никаких группировок нет, это 1c-ная  штука.
2 Ыцшесрук
 
19.08.21
06:20
3 ДенисЧ
 
19.08.21
06:26
(1) а что, коллекцию обходить не нужно? Она просто существует, как Ding an sich или Fleet in being?
4 Sabre
 
19.08.21
06:48
(2) Я имел ввиду иерархические группировки. Это невероятно полезно, когда понимаешь что подобного нету.
5 Sabre
 
19.08.21
06:51
В общем, мне нужно собрать обычный отчет кросс таблицу. Мыслю как 1сник, потому что как это делается вне 1с, не знаю.
Легче всего мне было бы построить сложные SQL запрос, используя хранение промежуточных таблиц тут же (виртуальные таблицы запроса), а вывести пользователю отчет так же, как это делают новички, не умеющие в СКД :)
6 Sserj
 
19.08.21
06:59
(5) Ну так сделай запрос :)
Приводить пример довольно муторно, так как обычно получаются довольно большие портянки из-за иерархии.
Общий смысл:
1. Получаешь нужные тебе данные во временную таблицу с колонкой родителей.
2. Из временной выбираешь родителей с показателями и рекурсивно добавляешь родителей этих родителей с этими же показателями.
3. Строишь дерево иерархии из групп чтобы отсортировать по нему итоги.
4. Данные из пункта 2 группируешь по родителям, соединяешь с деревом из пункта 3 и левым соединением добавляешь детали из пункта 1. Все это упорядочиваешь сначала по дереву, потому по признаку группы, потом по наименованию и id элеметна (чтобы элементы с одинаковым наименованием всегда были в одном порядке).

Получаешь на выходе таблицу с итогами по всем группам и элементам и просто построчно выводишь.
7 Sabre
 
19.08.21
07:23
(6) О, спасибо, разберусь.
А как с выводом на графику поступить? Библиотеки для вывода отчетов платные. Уже думаю на javascript реализацию писать.
8 Serginio1
 
20.08.21
10:32
Для начала посмотри https://www.linqpad.net/
9 mistеr
 
20.08.21
10:38
(5) Вне 1С это делается так же, как в 1С, то есть специальным отчетным движком. Гугли.
10 Serginio1
 
20.08.21
10:52
http://csharpexamples.com/c-chart-control-example/
Ну и для Wpf есть. Ищи
11 Serginio1
 
20.08.21
11:17
12 Ненавижу 1С
 
гуру
20.08.21
12:03
(1) кто вам это сказал? Маппит в коллекцию, полями элементов которой могут быть снова коллекции