3 $cgi->param('payinfo') =~ /^\s*(\d+)\s*$/ or die "illegal payinfo";
5 $cgi->param('payby') =~ /^(\w+)$/ or die "illegal payby";
7 my @cust_pay = qsearch('cust_pay', { 'payinfo' => $payinfo,
9 my $sortby = \*date_sort;
12 #if ( scalar(@cust_pay) == 1 ) {
13 # my $invnum = $cust_bill[0]->invnum;
14 # print $cgi->redirect(popurl(2). "view/cust_bill.cgi?$invnum"); #redirect
15 } elsif ( scalar(@cust_pay) == 0 ) {
16 idiot("Check # not found.");
19 my $total = scalar(@cust_pay);
20 my $s = $total > 1 ? 's' : '';
21 print header("Check # Search Results", menubar(
22 'Main Menu', popurl(2)
23 )), "$total matching check$s found<BR>", &table(), <<END;
34 foreach my $cust_pay (
35 sort $sortby grep(!$saw{$_->paynum}++, @cust_pay)
37 my($paynum, $custnum, $payinfo, $amount, $date ) = (
41 sprintf("%.2f", $cust_pay->paid),
44 my $pdate = time2str("%b %d %Y", $date);
48 my $view = popurl(2). "view/cust_main.cgi?". $custnum.
49 "#". $payby. $payinfo;
53 <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$payinfo</FONT></A></TD>
54 <TD ROWSPAN=$rowspan ALIGN="right"><A HREF="$view"><FONT SIZE=-1>\$$amount</FONT></A></TD>
55 <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$pdate</FONT></A></TD>
57 my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
59 #my $cview = popurl(2). "view/cust_main.cgi?". $cust_main->custnum;
60 my ( $name, $company ) = (
61 $cust_main->last. ', '. $cust_main->first,
65 <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$name</FONT></A></TD>
66 <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$company</FONT></A></TD>
70 <TD ROWSPAN=$rowspan COLSPAN=2>WARNING: couldn't find cust_main.custnum $custnum (cust_pay.paynum $paynum)</TD>
87 # $a->invnum <=> $b->invnum;
91 # $a->custnum <=> $b->custnum || $a->invnum <=> $b->invnum;
95 $a->_date <=> $b->_date || $a->invnum <=> $b->invnum;