+ my ($barcodefield,$barcodesubfield) = GetMarcFromKohaField('items.barcode');
+ next unless ( defined $barcodefield && defined $barcodesubfield );
+ my $barcode = $record->subfield($barcodefield,$barcodesubfield) || '';
+ my $aBpref = C4::Context->preference('autoBarcode');
+ if( $barcode eq '' && $aBpref ne 'OFF'){
+ my $barcodeobj;
+ if ( $aBpref eq 'hbyymmincr'){
+ my ($homebranchfield,$homebranchsubfield) = GetMarcFromKohaField('items.homebranch');
+ my $homebranch = $record->subfield($homebranchfield,$homebranchsubfield);
+ $barcodeobj = C4::Barcodes->new($aBpref, $homebranch);
+ } else {
+ $barcodeobj = C4::Barcodes->new($aBpref);
+ }
+ $barcode = $barcodeobj->value();
+ $record->field($barcodefield)->delete_subfield( code => $barcodesubfield);
+ $record->field($barcodefield)->add_subfields($barcodesubfield => $barcode);
+ }