X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FDATEV%2FCSV.pm;h=6ac460c442cfd09d436b1cd57bad4a54e5e7bb37;hb=f7a1243e53114c1917ea0836a5839ed0918553b4;hp=1717bdf2e51ab8b42b99541c36f37632f8baeba0;hpb=d743ef9574e19859c324d3bf89724f8e380fe3cf;p=kivitendo-erp.git diff --git a/SL/DATEV/CSV.pm b/SL/DATEV/CSV.pm index 1717bdf2e..6ac460c44 100644 --- a/SL/DATEV/CSV.pm +++ b/SL/DATEV/CSV.pm @@ -22,7 +22,7 @@ my @kivitendo_to_datev = ( max_length => 13, type => 'Value', required => 1, - input_check => sub { my ($input) = @_; return (looks_like_number($input) && length($input) <= 13 && $input > 0) }, + input_check => sub { my ($input) = @_; return (looks_like_number($input) && length($input) <= 13 && $input >= 0) }, formatter => \&_format_amount, valid_check => sub { my ($check) = @_; return ($check =~ m/^\d{1,10}(\,\d{1,2})?$/) }, }, @@ -106,14 +106,12 @@ my @kivitendo_to_datev = ( formatter => sub { my ($input) = @_; return substr($input, 0, 12) }, }, { - kivi_datev_name => 'belegfeld2', + kivi_datev_name => 'not yet implemented', csv_header_name => t8('Invoice Field 2'), max_length => 12, type => 'Text', default => '', - input_check => sub { my ($check) = @_; return (ref (DateTime->from_kivitendo($check)) eq 'DateTime') }, - formatter => sub { my ($input) = @_; return DateTime->from_kivitendo($input)->strftime('%d%m') }, - valid_check => sub { my ($check) = @_; return ($check =~ m/^[0-9]{4}$/) }, + valid_check => sub { my ($check) = @_; return ($check =~ m/[ -~]{1,12}/) }, }, { kivi_datev_name => 'not yet implemented', @@ -230,8 +228,13 @@ my @kivitendo_to_datev = ( max_length => 15, type => 'Text', default => '', - input_check => sub { my ($check) = @_; return ($check eq '' || $check =~ m/[A-Z]{2}\w{5,13}/) }, - formatter => sub { my ($input) = @_; $input =~ s/\s//g; return $input }, + input_check => sub { + my ($ustid) = @_; + return 1 if ('' eq $ustid); + $ustid =~ s{[\s.]+}{}g; + return ($ustid =~ m/^CH|^[A-Z]{2}\w{5,13}$/); + }, + formatter => sub { my ($input) = @_; $input =~ s/[\s.]+//g; return $input }, valid_check => sub { my ($ustid) = @_; return 1 if ('' eq $ustid); @@ -296,7 +299,7 @@ sub header { } my @header_row_1 = ( - "EXTF", "300", 21, "Buchungsstapel", 7, $created_on, "", "ki", + "EXTF", "510", 21, "Buchungsstapel", 7, $created_on, "", "ki", "kivitendo-datev", "", $meta_datev{beraternr}, $meta_datev{mandantennr}, $self->first_day_of_fiscal_year->ymd(''), $length_of_accounts, $self->from->ymd(''), $self->to->ymd(''), "", "", 1, "", $self->locked,