1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
<& /elements/header.html, mt($title, @title_arg) &>
<FORM ACTION="cust_bill.html" METHOD="GET">
<INPUT TYPE="hidden" NAME="magic" VALUE="_date">
<INPUT TYPE="hidden" NAME="custnum" VALUE="<% $custnum %>">
% unless ( $custnum ) {
<FONT CLASS="fsinnerbox-title"><% emt('Customer search options') %></FONT>
<TABLE CLASS="fsinnerbox">
<& /elements/tr-select-agent.html,
'curr_value' => scalar( $cgi->param('agentnum') ),
'label' => emt('Agent'),
'disable_empty' => 0,
&>
<& /elements/tr-select-cust_main-status.html,
'label' => 'Customer status',
'field' => 'cust_status',
&>
<& /elements/tr-select-cust_class.html,
label => mt('Customer Class'),
field => 'cust_classnum',
multiple => 1,
'pre_options' => [ 0 => emt('(none)') ],
&>
</TABLE>
<BR>
% }
<FONT CLASS="fsinnerbox-title"><% emt('Invoice search options') %></FONT>
<TABLE CLASS="fsinnerbox">
<& /elements/tr-input-beginning_ending.html &>
<& /elements/tr-input-lessthan_greaterthan.html,
label => emt('Charged'),
field => 'charged',
&>
<& /elements/tr-input-lessthan_greaterthan.html,
label => emt('Owed'),
field => 'owed',
&>
% if ( $conf->exists('cust_bill-enable_promised_date') ) {
<TR>
<TD ALIGN="right" STYLE="vertical-align:text-top">
<% emt('Promised payment date:') %></TD>
<TD>
<INPUT TYPE="checkbox" NAME="promised_date" CHECKED VALUE="null">
<% emt('None') %> <BR>
<INPUT TYPE="checkbox" NAME="promised_date" CHECKED VALUE="past">
<% emt('In the past') %><BR>
<INPUT TYPE="checkbox" NAME="promised_date" CHECKED VALUE="future">
<% emt('In the future') %><BR>
</TD>
</TR>
% }
</TABLE>
<BR>
<FONT CLASS="fsinnerbox-title"><% emt('Display options') %></FONT>
<TABLE CLASS="fsinnerbox">
<TR>
<TD ALIGN="right"><INPUT TYPE="checkbox" NAME="open" VALUE="1" CHECKED></TD>
<TD><% mt('Show only open invoices') |h %></TD>
</TR>
<TR>
<TD ALIGN="right"><INPUT TYPE="checkbox" NAME="invoiced" VALUE="1"></TD>
<TD><% emt('Exclude discounts from gross amount billed'), %></TD>
</TR>
% unless ( $custnum ) {
<TR>
<TD ALIGN="right"><INPUT TYPE="checkbox" NAME="newest_percust" VALUE="1"></TD>
<TD><% mt('Show only the single most recent invoice per-customer') |h %></TD>
</TR>
% }
</TABLE>
<BR>
<INPUT TYPE="submit" VALUE="<% mt('Get Report') |h %>">
</FORM>
<& /elements/footer.html &>
<%init>
die "access denied"
unless $FS::CurrentUser::CurrentUser->access_right('List invoices');
my $conf = new FS::Conf;
my $title = 'Invoice Report';
#false laziness w/report_cust_pkg.html
my @title_arg = ();
my $custnum = '';
my $cust_main = '';
if ( $cgi->param('custnum') =~ /^(\d+)$/ ) {
$custnum = $1;
$cust_main = qsearchs({
'table' => 'cust_main',
'hashref' => { 'custnum' => $custnum },
'extra_sql' => ' AND '. $FS::CurrentUser::CurrentUser->agentnums_sql,
}) or die "unknown custnum $custnum";
$title .= ': [_1]';
push @title_arg, $cust_main->name;
}
</%init>
|