Вход | Регистрация
 

C#, какие реализации есть временных таблиц запроса и обход результата запроса по группиров

C#, какие реализации есть временных таблиц запроса и обход результата запроса по группиров
Я
   Sabre
 
19.08.21 - 05:53
обход результата запроса по группировкам?
Entity Framework, хотя скорее всего, запросы будут прямыми к таблицам SQL.
   AquaMan
 
1 - 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?
   Sabre
 
4 - 19.08.21 - 06:48
(2) Я имел ввиду иерархические группировки. Это невероятно полезно, когда понимаешь что подобного нету.
   Sabre
 
5 - 19.08.21 - 06:51
В общем, мне нужно собрать обычный отчет кросс таблицу. Мыслю как 1сник, потому что как это делается вне 1с, не знаю.
Легче всего мне было бы построить сложные SQL запрос, используя хранение промежуточных таблиц тут же (виртуальные таблицы запроса), а вывести пользователю отчет так же, как это делают новички, не умеющие в СКД :)
   Sserj
 
6 - 19.08.21 - 06:59
(5) Ну так сделай запрос :)
Приводить пример довольно муторно, так как обычно получаются довольно большие портянки из-за иерархии.
Общий смысл:
1. Получаешь нужные тебе данные во временную таблицу с колонкой родителей.
2. Из временной выбираешь родителей с показателями и рекурсивно добавляешь родителей этих родителей с этими же показателями.
3. Строишь дерево иерархии из групп чтобы отсортировать по нему итоги.
4. Данные из пункта 2 группируешь по родителям, соединяешь с деревом из пункта 3 и левым соединением добавляешь детали из пункта 1. Все это упорядочиваешь сначала по дереву, потому по признаку группы, потом по наименованию и id элеметна (чтобы элементы с одинаковым наименованием всегда были в одном порядке).

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

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