@@ -, +, @@ generate fines. by setting itemlost to 1 by directly accessing the database --- C4/Overdues.pm | 4 ++-- misc/cronjobs/fines.pl | 2 ++ misc/cronjobs/staticfines.pl | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) --- a/C4/Overdues.pm +++ a/C4/Overdues.pm @@ -109,14 +109,14 @@ sub Getoverdues { my $statement; if ( C4::Context->preference('item-level_itypes') ) { $statement = " - SELECT issues.*, items.itype as itemtype, items.homebranch, items.barcode + SELECT issues.*, items.itype as itemtype, items.homebranch, items.barcode, items.itemlost FROM issues LEFT JOIN items USING (itemnumber) WHERE date_due < NOW() "; } else { $statement = " - SELECT issues.*, biblioitems.itemtype, items.itype, items.homebranch, items.barcode + SELECT issues.*, biblioitems.itemtype, items.itype, items.homebranch, items.barcode, items.itemlost FROM issues LEFT JOIN items USING (itemnumber) LEFT JOIN biblioitems USING (biblioitemnumber) --- a/misc/cronjobs/fines.pl +++ a/misc/cronjobs/fines.pl @@ -95,6 +95,8 @@ if ($filename) { my $counted = 0; my $overdues = Getoverdues(); for my $overdue ( @{$overdues} ) { + next if $overdue->{itemlost}; + if ( !defined $overdue->{borrowernumber} ) { carp "ERROR in Getoverdues : issues.borrowernumber IS NULL. Repair 'issues' table now! Skipping record.\n"; --- a/misc/cronjobs/staticfines.pl +++ a/misc/cronjobs/staticfines.pl @@ -138,6 +138,7 @@ my ($tyear, $tmonth, $tday) = split( /-/, $today_iso ); $today_days = Date_to_Days( $tyear, $tmonth, $tday ); for ( my $i = 0 ; $i < scalar(@$data) ; $i++ ) { + next if $data->[$i]->{'itemlost'}; my $datedue; my $datedue_days; eval { --