Как рассчитать текущий баланс в отчетах RDLC?C#

Место общения программистов C#
Ответить
Anonymous
 Как рассчитать текущий баланс в отчетах RDLC?

Сообщение Anonymous »

У меня есть приложение, которое использует C#, ядро ​​Entity Framework и базу данных MySql для отслеживания доходов и расходов, и я использую RDLC для отчетности.
У меня есть таблица транзакций для отслеживания доходов и расходов, например
+----------------+------------------+----------+-----------+-----------------+
| transaction_id | transaction_date | amount | direction | Description |
+----------------+------------------+----------+-----------+-----------------+
| 1 | 2024-07-23 | 6500.00 | Dr | Sale |
| 2 | 2024-07-23 | 7100.00 | Dr | Sale |
| 3 | 2024-07-23 | 7100.00 | Cr | Purchase |
| 4 | 2024-07-23 | 3000.00 | Dr | Sale |
| 5 | 2024-07-23 | 3000.00 | Cr | Purchase |
+----------------+------------------+----------+-----------+-----------------+

В дизайне отчета я использую две таблицы, отфильтрованные по направлению транзакции, и могу отображать их рядом друг с другом, вот так.
Код, который я использую для установки источника данных для отчета
var transactions = context.Transactions.ToList();
var income = from inc in transactions.Where(x=>x.Direction == "Dr") select new {inc.TransactionId, inc.TransactionDate, inc.Amount, inc.Direction, inc.Description};
var expense = from exp in transactions.Where(x=>x.Direction == "Cr") select new {exp.TransactionId, exp.TransactionDate, exp.Amount, exp.Direction, exp.Description};

ReportDataSource incomeDS = new ReportDataSource("In", income);
reportViewer1.LocalReport.DataSources.Add(incomeDS);

ReportDataSource expenseDS = new ReportDataSource("Ex", expense);
reportViewer1.LocalReport.DataSources.Add(expenseDS);


Используя эти два набора данных, я разделяю данные на две таблицы в отчете и могу заполнить отчет.
+----------------+------------------+-----------------+----------+ +----------------+------------------+-----------------+----------+
| transaction_id | transaction_date | Description | amount | | transaction_id | transaction_date | Description | amount |
+----------------+------------------+-----------------+----------+ +----------------+------------------+-----------------+----------+
| 1 | 2024-07-23 | Sale | 6500.00 | | 3 | 2024-07-23 | Purchase | 7100.00 |
| 2 | 2024-07-23 | Sale | 7100.00 | | 5 | 2024-07-23 | Purchase | 30000.00 |
| 4 | 2024-07-23 | Sale | 3000.00 | +----------------+------------------+-----------------+----------+
+----------------+------------------+-----------------+----------+


Но теперь я хочу, чтобы в отчете RDLC был столбец текущего баланса, как показано ниже. Я не уверен, можно ли этого добиться, добавив новый столбец, или нужна новая таблица только с балансовым столбцом. В любом случае я не знаю, какие функции RDLC использовать для реализации этого.

OPENING BALANCE: 10000
+------------------+-----------------+----------+ +------------------+-----------------+----------+ +------------+
| transaction_date | Description | amount | | transaction_date | Description | amount | | Balance | opening balance + income - expense
+------------------+-----------------+----------+ +------------------+-----------------+----------+ +----------- +
| 2024-07-23 | Sale | 6500.00 | | 2024-07-23 | Purchase | 7100.00 | | 9400.00 | 10000 + 6500 - 9400
| 2024-07-23 | Sale | 7100.00 | | 2024-07-23 | Purchase | 30000.00 | | -13500.00 | 9400 + 7100 - 30000
| 2024-07-23 | Sale | 3000.00 | +------------------+-----------------+----------+ | 10500.00 | -13500 + 3000
+------------------+-----------------+----------+ +------------+



Подробнее здесь: https://stackoverflow.com/questions/787 ... lc-reports
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C#»