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 ) {
19 idiot("Check # not found.");
22 my $total = scalar(@cust_pay);
23 my $s = $total > 1 ? 's' : '';
27 print header("Check # Search Results", menubar(
28 'Main Menu', popurl(2)
29 )), "$total matching check$s found<BR>", &table(), <<END;
40 foreach my $cust_pay (
41 sort $sortby grep(!$saw{$_->paynum}++, @cust_pay)
43 my($paynum, $custnum, $payinfo, $amount, $date ) = (
47 sprintf("%.2f", $cust_pay->paid),
50 my $pdate = time2str("%b %d %Y", $date);
54 my $view = popurl(2). "view/cust_main.cgi?". $custnum.
55 "#". $payby. $payinfo;
59 <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$payinfo</FONT></A></TD>
60 <TD ROWSPAN=$rowspan ALIGN="right"><A HREF="$view"><FONT SIZE=-1>\$$amount</FONT></A></TD>
61 <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$pdate</FONT></A></TD>
63 my $cust_main = qsearchs('cust_main', { 'custnum' => $custnum } );
65 #my $cview = popurl(2). "view/cust_main.cgi?". $cust_main->custnum;
66 my ( $name, $company ) = (
67 $cust_main->last. ', '. $cust_main->first,
71 <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$name</FONT></A></TD>
72 <TD ROWSPAN=$rowspan><A HREF="$view"><FONT SIZE=-1>$company</FONT></A></TD>
76 <TD ROWSPAN=$rowspan COLSPAN=2>WARNING: couldn't find cust_main.custnum $custnum (cust_pay.paynum $paynum)</TD>
93 # $a->invnum <=> $b->invnum;
97 # $a->custnum <=> $b->custnum || $a->invnum <=> $b->invnum;
101 $a->_date <=> $b->_date || $a->invnum <=> $b->invnum;