From 0280aaf2b41616d1049da41d159bec27219994f9 Mon Sep 17 00:00:00 2001
From: Julian Maurice <julian.maurice@biblibre.com>
Date: Fri, 4 Sep 2020 12:25:17 +0400
Subject: [PATCH] Bug 25375: Get biblionumber from the correct MARC field
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

Signed-off-by: Andrew Fuerste-Henry <andrew@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Nick Clemens <nick@bywatersolutions.com>

Signed-off-by: Joonas Kylmälä <joonas.kylmala@iki.fi>
---
 Koha/SearchEngine/Elasticsearch.pm | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git a/Koha/SearchEngine/Elasticsearch.pm b/Koha/SearchEngine/Elasticsearch.pm
index 38dd7321d5..c49aa17b6d 100644
--- a/Koha/SearchEngine/Elasticsearch.pm
+++ b/Koha/SearchEngine/Elasticsearch.pm
@@ -30,6 +30,7 @@ use Koha::SearchMarcMaps;
 use Koha::Caches;
 use C4::Heading;
 use C4::AuthoritiesMarc qw( GuessAuthTypeCode );
+use C4::Biblio;
 
 use Carp qw( carp croak );
 use Clone qw( clone );
@@ -773,7 +774,10 @@ sub marc_records_to_documents {
 
         # Check if there is at least one available item
         if ($self->index eq $BIBLIOS_INDEX) {
-            my $biblio = Koha::Biblios->find($record->field('001')->data);
+            my ($tag, $code) = C4::Biblio::GetMarcFromKohaField('biblio.biblionumber');
+            my $field = $record->field($tag);
+            my $biblionumber = $field->is_control_field ? $field->data : $field->subfield($code);
+            my $biblio = Koha::Biblios->find($biblionumber);
             my $items = $biblio->items;
             my $available = 0;
             while (my $item = $items->next) {
-- 
2.30.2