The sample notice for Acquisition claims looks like this: <order>Ordernumber <<aqorders.ordernumber>> (<<biblio.title>>) (<<aqorders.quantity>> ordered) ($<<aqorders.listprice>> each) has not been received.</order> But this will give you the following output in an email: <order>Ordernumber 928 (Learning Perl (1 ordered) ($EUR each) has not been received.</order> <order>Ordernumber 1690 (FIZ Technik) (1 ordered) ($EUR each) has not been received.</order> The listprice is missing and the <order> tags are printed into the email. lisprice was empty in the database for ordernumber 928, but 10.00 for 1690. Note: The notice still works when you remove the <order></order> from the template. Tested with text emails, not HTML.
This is still a problem on current master.
I took a look at this and found out where it goes wrong. But I have no idea how to fix it. The problem is in C4::Letters. In sub SendAlerts there's this bit of SQL: SELECT aqorders.*,aqbasket.*,biblio.*,biblioitems.*,aqbooksellers.*, aqbooksellers.id AS booksellerid FROM aqorders LEFT JOIN aqbasket ON aqbasket.basketno=aqorders.basketno LEFT JOIN biblio ON aqorders.biblionumber=biblio.biblionumber LEFT JOIN biblioitems ON aqorders.biblionumber=biblioitems.biblionumber LEFT JOIN aqbooksellers ON aqbasket.booksellerid=aqbooksellers.id WHERE aqorders.ordernumber IN ( The result of this query is stored in hash refs. my $dataorders = $sthorders->fetchall_arrayref( {} ); But among the resulting columns there are aqorders.listprice and aqbooksellers.listprice. And the hash keys only consist of field names, without the table names, so one of them gets lost. So in Katrins example, it's really aqbooksellers.listprice that is displayed instead of aqorders.listprice, which is dropped.
*** This bug has been marked as a duplicate of bug 12505 ***