"vend_bill._date < $ending";
}
+ #_date
+ if ( $param->{payment_date} ) {
+ my($beginning, $ending) = @{$param->{payment_date}};
+
+ push @where, "vend_pay._date >= $beginning",
+ "vend_pay._date < $ending";
+ }
+
my $extra_sql = scalar(@where) ? ' WHERE '. join(' AND ', @where) : '';
- #my $count_query = "SELECT COUNT(*) FROM vend_bill $addl_from $extra_sql";
- my $count_query = "SELECT COUNT(*), SUM(charged) FROM vend_bill $extra_sql";
+ #simplistic, but how we are for now
+ my $addl_from = ' LEFT JOIN vend_bill_pay USING (vendbillnum) '.
+ ' LEFT JOIN vend_pay USING (vendpaynum) ';
+
+ my $count_query = "SELECT COUNT(*), SUM(charged) FROM vend_bill $addl_from $extra_sql";
+{
'table' => 'vend_bill',
- #'select' => $select,
- #'addl_from' => $addl_from,
+ 'select' => 'vend_bill.*, vend_pay._date as payment_date',
+ 'addl_from' => $addl_from,
'hashref' => {},
'extra_sql' => $extra_sql,
'order_by' => 'ORDER BY _date',
</TD>
</TR>
+ <TR>
+ <TD ALIGN="right" VALIGN="center"><% mt('Payment date') |h %></TD>
+ <TD>
+ <TABLE>
+ <& /elements/tr-input-beginning_ending.html,
+ prefix => 'payment_date',
+ layout => 'horiz',
+ &>
+ </TABLE>
+ </TD>
+ </TR>
</TABLE>
'count_query' => $count_query,
'count_addl' => [ '$%.2f total', ],
'header' => [ 'Date',
+ 'Payment date',
'Vendor',
'Class',
'Amount',
],
'fields' => [
sub { time2str('%D', shift->_date) },
+ sub { time2str('%D', shift->payment_date) },
sub { shift->vend_main->vendname },
sub { shift->vend_main->vend_class->classname },
'charged',
my %search = ();
# begin/end/beginning/ending
-my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, '');
+my($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, '_date');
$search{'_date'} = [ $beginning, $ending ];
+($beginning, $ending) = FS::UI::Web::parse_beginning_ending($cgi, 'payment_date');
+$search{'payment_date'} = [ $beginning, $ending ];
+
my $query = FS::vend_bill->search( \%search );
my $count_query = delete( $query->{'count_query'} );