Subject: | Comptes de société |
Le premier morceau du patch est pour le cas ou il n'y a qu'un seul compte, les bouton radio ne sont pas présents, le plus simple semble être de les ajouter.
Sur les comptes de sociétés chez BNPParibas, il y a une colonne en plus dans chaque listing, c'est la date de valeur de l'opération. J'ai donc modifié F::B::B::Statement pour prendre ça en compte. J'ai aussi changé l'objet du tableau au hash, c'étais plus pratique étant donné que le nombre d'arguments était variable.
--- /usr/local/lib/perl5/site_perl/5.8.0/Finance/Bank/BNPParibas.pm~ Sat Aug 2 18:11:25 2003
+++ /usr/local/lib/perl5/site_perl/5.8.0/Finance/Bank/BNPParibas.pm Mon Aug 4 17:33:08 2003
@@ -125,6 +125,11 @@
or croak "Cannot find the account download form";
$self->{ua}->quiet(0);
+ $self->{ua}->form_number(1);
+ unless ($self->{ua}->{form}->find_input("ch_rop", "radio")) {
+ $self->{ua}->{form}->push_input( "radio", {type => "radio", name => "ch_rop", value => "tous" } ) ;
+ }
+
$self->{ua}->submit_form(
form_number => 1,
fields => {
@@ -240,6 +245,10 @@
Returns the date when the statement occured, in YYYY-MM-DD format.
+=head2 date_valeur()
+
+Returns the date when the statement was taken into account, in YYYY-MM-DD format.
+
=head2 description()
Returns a brief description of the statement.
@@ -262,18 +271,37 @@
my @entry = split ( /\t/, $statement );
- $entry[0] = Finance::Bank::BNPParibas::_normalize_date( $entry[0] );
+ pop @entry;
+
+ my $self = {};
+
+ $self->{date} = Finance::Bank::BNPParibas::_normalize_date( $entry[0] );
$entry[1] =~ s/\s+/ /g;
- $entry[2] =~ s/,/./;
+ $self->{description} = $entry[1];
+ if (scalar @entry == 3) {
+ $entry[2] =~ s/,/./;
+ $self->{amount} = $entry[2];
+ } else {
+ $self->{date_valeur} = Finance::Bank::BNPParibas::_normalize_date( $entry[2] );
+ $entry[3] =~ s/,/./;
+ $self->{amount} = $entry[3];
+ }
- bless [ @entry[ 0 .. 2 ] ], $class;
+ bless $self, $class;
}
-sub date { $_[0]->[0] }
-sub description { $_[0]->[1] }
-sub amount { $_[0]->[2] }
-
-sub as_string { join ( $_[1] || "\t", @{ $_[0] } ) }
+sub date { $_[0]->{date} }
+sub date_valeur { $_[0]->{date_valeur} }
+sub description { $_[0]->{description} }
+sub amount { $_[0]->{amount} }
+
+sub as_string {
+ if (exists($_[0]->{date_valeur})) {
+ join ( $_[1] || "\t", $_[0]->{date}, $_[0]->{description}, $_[0]->{date_valeur}, $_[0]->{amount} )
+ } else {
+ join ( $_[1] || "\t", $_[0]->{date}, $_[0]->{description}, $_[0]->{amount} )
+ }
+}
1;