diff options
author | Ivan Kohler <ivan@freeside.biz> | 2012-08-28 16:06:15 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2012-08-28 16:06:15 -0700 |
commit | 0e17277ed0cc243452dfc07d1bd702502c7d50c3 (patch) | |
tree | 85ca356d78bf85962752a1d762b3286cee8e7d84 /bin/cust_bill.export | |
parent | 9f2220031123f06ab275840a3129c9807b9a782a (diff) |
adding export scripts for ea, RT#19067
Diffstat (limited to 'bin/cust_bill.export')
-rwxr-xr-x | bin/cust_bill.export | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/bin/cust_bill.export b/bin/cust_bill.export new file mode 100755 index 000000000..40c32e539 --- /dev/null +++ b/bin/cust_bill.export @@ -0,0 +1,49 @@ +#!/usr/bin/perl + +use strict; +use Text::CSV_XS; +use FS::UID qw(adminsuidsetup); +use FS::Record qw(qsearch); +use FS::cust_bill; +use Date::Format; + +my @fields = qw( + invnum + custnum +); + +push @fields, + { 'header' => 'Date', + 'callback' => sub { time2str('%x', shift->_date); }, + }, +; + +push @fields, qw( charged owed ); + +my $user = shift or die &usage; +adminsuidsetup $user; + +my $agentnum = shift or die &usage; + +my $csv = new Text::CSV_XS; + +$csv->combine( map { ref($_) ? $_->{'header'} : $_ } @fields ) or die; +print $csv->string."\n"; + +my @cust_bill = qsearch({ + 'table' => 'cust_bill', + 'addl_from' => 'LEFT JOIN cust_main USING ( custnum )', + 'hashref' => {}, + 'extra_sql' => "WHERE cust_main.agentnum = $agentnum", +}); + +foreach my $cust_bill ( @cust_bill ) { + $csv->combine( map { ref($_) ? &{$_->{'callback'}}($cust_bill) + : $cust_bill->$_() + } + @fields + ) or die; + print $csv->string."\n"; +} + +1; |