my $user = $input->remote_user;
my $biblionumber = $input->param('biblionumber');
-my $biblioitemnumber = $input->param('biblioitemnumber');
my $ordernumber = $input->param('ordernumber');
my $origquantityrec = $input->param('origquantityrec');
my $quantityrec = $input->param('quantityrec');
my $datereceived = $invoice->{shipmentdate};
my $booksellerid = $input->param('booksellerid');
my $cnt = 0;
-my $error_url_str;
my $ecost = $input->param('ecost');
my $rrp = $input->param('rrp');
my $note = $input->param("note");
+my $bookfund = $input->param("bookfund");
my $order = GetOrder($ordernumber);
#need old recievedate if we update the order, parcel.pl only shows the right parcel this way FIXME
my @received_items = ();
if(C4::Context->preference('AcqCreateItem') eq 'ordering') {
@received_items = $input->param('items_to_receive');
+ my @affects = split q{\|}, C4::Context->preference("AcqItemSetSubfieldsWhenReceived");
+ if ( @affects ) {
+ my $frameworkcode = GetFrameworkCode($biblionumber);
+ my ( $itemfield ) = GetMarcFromKohaField( 'items.itemnumber', $frameworkcode );
+ for my $in ( @received_items ) {
+ my $item = C4::Items::GetMarcItem( $biblionumber, $in );
+ for my $affect ( @affects ) {
+ my ( $sf, $v ) = split q{=}, $affect, 2;
+ foreach ( $item->field($itemfield) ) {
+ $_->update( $sf => $v );
+ }
+ }
+ C4::Items::ModItemFromMarc( $item, $biblionumber, $in );
+ }
+ }
}
$order->{rrp} = $rrp;
$user,
$order->{unitprice},
$order->{ecost},
- $invoiceno,
+ $invoiceid,
$order->{rrp},
- undef,
+ $bookfund,
$datereceived,
\@received_items,
);
NewOrderItem($itemnumber, $new_ordernumber);
}
}
-
}
update_item( $_ ) foreach GetItemnumbersFromOrder( $ordernumber );