etendosoftware / etendo_core

Etendo Classic source code
9 stars 10 forks source link

EPL-1661: Change ordering for "General Ledger" report #437

Closed Amar-Etendo closed 1 month ago

Amar-Etendo commented 1 month ago

Issue Description

Add a new field (Created) to sort the General Ledger report, this will allow the VAT Regularization module to display the simplified manual entries according to the date of your VAT regularization.

Steps to reproduce the error

The VAT adjustment for account 60000 Compras de mercaderías will be simulated. Enter the Simple G/L Journal window and create a new record. Complete the fields: Organization: F&B España - Región Norte Description: REGULARIZATION MARCH 2021 Document Date:31-03-2021 Accounting Date: 31-03-2021.

Save the changes. Enter the LINES tab and create a new record. Complete the fields: Debit: 0 Credit:1,463,400.00 Account: 60000 - Compras de mercaderías

Create a new record and fill in the fields: Credit: 0 Debit:1,463,400.00 Account: 10000 - Capital social

Select the COMPLETE button and click OK.

Select the POST button and click OK.

Enter the GENERAL LEDGER REPORT window.

Complete the primary filters:

From Date:01-03-2021

To Date: 31-03-2021

Organization: F&B España - Región Norte

General Ledger: F&B Esapaña, S.A. US/A/EURO

Click the Export to Excel button

Find account 60000 and locate the record of the simplified manual journal entry you just created: 10 (REGULARIZATION MARCH 2021).

Expected behavior

This record should be displayed at the end of the day 3/31 as the manual journal entries will be displayed at the end of the day as is the case in the other options for viewing the report and also the General Ledger Advanced report. EPL-1649

Affected Version

24.2.0

Solution Design

Add to the XSQL ReportGeneralLedger_data.xsql, method select2 a join between the tables gl_journal and fact_acct through the relation FACT_ACCT.RECORD_ID = GL.GL_JOURNAL_ID.

Then project the GL.CREATED field and use it in the ORDER BY clause as a new column to be taken into account for the sorting.

The Order By clause will look like this:GROUPBYNAME,GROUPBYID,VALUE,NAME,ID,DATEACCT,CREATED ASC NULLS FIRST,FACTACCTTYPE,FACT_ACCT_GROUP_ID,FACT_ACCT_ID,DESCRIPTION,ISDEBIT

Use/Test Cases

Given:

An General Ledger report.

When:

It is required to display data given a date range.

Then:

If there is a simplified manual entry it should be shown as the last one of the day.

valeg-etendo commented 1 month ago

[!IMPORTANT] Bug resolved in version 24.2.2.