X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=bin%2Fcust_bill.export;fp=bin%2Fcust_bill.export;h=40c32e539cb2e27250dbdb4f7aac7003dfcbaad9;hb=33beebf4cb42eba3e1dd868ad5e0af102de961da;hp=0000000000000000000000000000000000000000;hpb=7ac86daf67b0a95153b736d5811f9050363f6553;p=freeside.git 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;