X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDev%2FRecord.pm;h=2f289d0b44ba99aea10c60c0dc2aa882685beb8c;hb=223b46212c15cd9b311e10d0b1e8258b491df28a;hp=a91bb75d97c12f046e5fc3aa66734d033405872b;hpb=e450ac3003c9abe0e769e99e9e71a3eabbc7ed14;p=kivitendo-erp.git diff --git a/SL/Dev/Record.pm b/SL/Dev/Record.pm index a91bb75d9..2f289d0b4 100644 --- a/SL/Dev/Record.pm +++ b/SL/Dev/Record.pm @@ -359,9 +359,13 @@ sub create_ap_transaction { my $dec = delete $params{dec} // 2; - my $transdate = delete $params{transdate} // DateTime->today; + my $today = DateTime->today_local; + my $transdate = delete $params{transdate} // $today; die "transdate hat to be DateTime object" unless ref($transdate) eq 'DateTime'; + my $gldate = delete $params{gldate} // $today; + die "gldate hat to be DateTime object" unless ref($gldate) eq 'DateTime'; + my $ap_chart = delete $params{ap_chart} // SL::DB::Manager::Chart->find_by( accno => '1600' ); die "no ap_chart found or not an AP chart" unless $ap_chart and $ap_chart->link eq 'AP'; @@ -373,13 +377,15 @@ sub create_ap_transaction { invnumber => delete $params{invnumber} // 'test ap_transaction', notes => delete $params{notes} // 'test ap_transaction', transdate => $transdate, + gldate => $gldate, taxincluded => $taxincluded, taxzone_id => $vendor->taxzone_id, # taxzone_id shouldn't have any effect on ap transactions currency_id => $::instance_conf->get_currency_id, type => undef, # isn't set for ap employee_id => SL::DB::Manager::Employee->current->id, ); - # $ap_transaction->assign_attributes(%params) if %params; + # assign any parameters that weren't explicitly handled above, e.g. itime + $ap_transaction->assign_attributes(%params) if %params; foreach my $booking ( @{$bookings} ) { my $chart = delete $booking->{chart}; @@ -474,9 +480,13 @@ sub create_ar_transaction { my $dec = delete $params{dec} // 2; - my $transdate = delete $params{transdate} // DateTime->today; + my $today = DateTime->today_local; + my $transdate = delete $params{transdate} // $today; die "transdate hat to be DateTime object" unless ref($transdate) eq 'DateTime'; + my $gldate = delete $params{gldate} // $today; + die "gldate hat to be DateTime object" unless ref($gldate) eq 'DateTime'; + my $ar_chart = delete $params{ar_chart} // SL::DB::Manager::Chart->find_by( accno => '1400' ); die "no ar_chart found or not an AR chart" unless $ar_chart and $ar_chart->link eq 'AR'; @@ -488,13 +498,15 @@ sub create_ar_transaction { invnumber => delete $params{invnumber} // 'test ar_transaction', notes => delete $params{notes} // 'test ar_transaction', transdate => $transdate, + gldate => $gldate, taxincluded => $taxincluded, taxzone_id => $customer->taxzone_id, # taxzone_id shouldn't have any effect on ar transactions currency_id => $::instance_conf->get_currency_id, type => undef, # isn't set for ar employee_id => SL::DB::Manager::Employee->current->id, ); - # $ar_transaction->assign_attributes(%params) if %params; + # assign any parameters that weren't explicitly handled above, e.g. itime + $ar_transaction->assign_attributes(%params) if %params; foreach my $booking ( @{$bookings} ) { my $chart = delete $booking->{chart}; @@ -555,6 +567,7 @@ sub create_gl_transaction { my $today = DateTime->today_local; my $transdate = delete $params{transdate} // $today; + my $gldate = delete $params{gldate} // $today; my $reference = delete $params{reference} // 'reference'; my $description = delete $params{description} // 'description'; @@ -590,7 +603,7 @@ sub create_gl_transaction { reference => $reference, description => $description, transdate => $transdate, - gldate => $today, + gldate => $gldate, taxincluded => $taxincluded, type => undef, ob_transaction => $ob_transaction, @@ -599,6 +612,8 @@ sub create_gl_transaction { storno_id => undef, transactions => [], ); + # assign any parameters that weren't explicitly handled above, e.g. itime + $gl_transaction->assign_attributes(%params) if %params; my @acc_trans; if ( scalar @{$bookings} ) {