-
Notifications
You must be signed in to change notification settings - Fork 3
Description
Pt. indeholder BalancePrint følgende stump kode:
transaction_qs = Transaction.objects.all()
period_start_date, = (
Sheet.objects.filter(period=period).aggregate(Min('start_date')).values())
period_start_time = timezone.get_current_timezone().localize(
datetime.datetime.combine(period_start_date, datetime.time()))
transaction_qs = transaction_qs.filter(time__gte=period_start_time)
Koden gør at alle betalinger medtages der har en time som er efter den tidligste start_date på en krydsliste i det pågældende GF-år. Det giver følgende problem: Hvis man opretter en krydsliste i det nuværende GF-år, men med en start-dato tilbage i fortiden (f.eks. 2001-01-01 for at teste noget), så vil regningens "betalt"-søjle indeholde betalinger fra før det nuværende GF-år.
En umiddelbar løsning er at erstatte ovenstående kode med:
transaction_qs = Transaction.objects.filter(period=period)
...eller:
transaction_qs = Transaction.objects.filter(session__period=period)
... men det skal testes. BalancePrint blev implementeret i 7669340 ("Add PDF output", 2016-12-02) før Transaction.period blev tilføjet i 06674e2 ("Add Transaction.period", 2017-02-26), så det er formentlig bare mig der har overset at opdatere BalancePrint efter Transaction.period blev tilføjet.