From 96031fb9c6b1412a8ba61627dc1be671389f2f41 Mon Sep 17 00:00:00 2001
From: Aleisha Amohia <aleishaamohia@hotmail.com>
Date: Mon, 16 Mar 2020 22:09:51 +0000
Subject: [PATCH] Bug 24266: (alternate patch) Only use defined borrowernumbers
 in reconcile_balances.pl cron
Content-Type: text/plain; charset=utf-8

I believe the error is triggered when borrowernumbers are left empty in
the accountlines table. Not sure why this would happen, but it appears
to be what causes the problem.

Do not apply the first patch if testing this patch.

To test:
1) sudo koha-mysql INSTANCENAME
2) Create a test borrower, add any payment etc to create an accountline,
    then delete this borrower
3) ensure the AccountAutoReconcile syspref is disabled
4) Go to another borrower's accounting tab
5) Create a manual credit or debit. Confirm this shows in the 'Make a
payment' tab as an amount that COULD be applied, but isn't automatically
applied
6) in your terminal, run the reconcile_balances.pl script
7) Confirm the error does not show in the logs and the balance for
the borrower is correctly reconciled.

Sponsored-by: Horowhenua District Council
Signed-off-by: Martin Renvoize <martin.renvoize@ptfs-europe.com>

Signed-off-by: Marcel de Rooy <m.de.rooy@rijksmuseum.nl>
---
 misc/cronjobs/reconcile_balances.pl | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/misc/cronjobs/reconcile_balances.pl b/misc/cronjobs/reconcile_balances.pl
index 0dcae6cb13..0202de9450 100755
--- a/misc/cronjobs/reconcile_balances.pl
+++ b/misc/cronjobs/reconcile_balances.pl
@@ -81,7 +81,8 @@ cronlogaction();
 
 my @patron_ids = map { $_->borrowernumber } Koha::Account::Lines->search(
         {
-            amountoutstanding => { '<' => 0 }
+            amountoutstanding => { '<' => 0 },
+            borrowernumber => { '!=' => undef }
         },
         {
             columns  => [ qw/borrowernumber/ ],
-- 
2.11.0