for my $i (1 .. $form->{rowcount}) {
$form->{"amount_$i"} = $form->parse_amount(\%myconfig, $form->{"amount_$i"});
- $form->{"tax_$i"} = $form->parse_amount(\%myconfig, $form->{"tax_$i"});
if ($form->{"amount_$i"}) {
push @a, {};
my $j = $#a;
my ($taxkey, $rate) = split(/--/, $form->{"taxchart_$i"});
- if ($taxkey > 1) {
- if ($form->{taxincluded}) {
- $form->{"tax_$i"} = $form->{"amount_$i"} / ($rate + 1) * $rate;
- } else {
- $form->{"tax_$i"} = $form->{"amount_$i"} * $rate;
- }
- } else {
- $form->{"tax_$i"} = 0;
- }
- $form->{"tax_$i"} = $form->round_amount($form->{"tax_$i"}, 2);
+
+ my $tmpnetamount;
+ ($tmpnetamount,$form->{"tax_$i"}) = $form->calculate_tax($form->{"amount_$i"},$rate,$form->{taxincluded},2);
$totaltax += $form->{"tax_$i"};
map { $a[$j]->{$_} = $form->{"${_}_$i"} } @flds;
$form->{ALL_EMPLOYEES} = SL::DB::Manager::Employee->get_all_sorted(query => [ deleted => 0 ]);
$form->{SHOW_BUSINESS_TYPES} = scalar @{ $form->{ALL_BUSINESS_TYPES} } > 0;
+ $form->{CT_CUSTOM_VARIABLES} = CVar->get_configs('module' => 'CT');
+ ($form->{CT_CUSTOM_VARIABLES_FILTER_CODE},
+ $form->{CT_CUSTOM_VARIABLES_INCLUSION_CODE}) = CVar->render_search_options('variables' => $form->{CT_CUSTOM_VARIABLES},
+ 'include_prefix' => 'l_',
+ 'include_value' => 'Y');
+
# constants and subs for template
$form->{vc_keys} = sub { "$_[0]->{name}--$_[0]->{id}" };
datepaid due duedate transaction_description notes salesman employee shippingpoint shipvia
marge_total marge_percent globalprojectnumber customernumber country ustid taxzone payment_terms charts customertype);
+ my $ct_cvar_configs = CVar->get_configs('module' => 'CT');
+ my @ct_includeable_custom_variables = grep { $_->{includeable} } @{ $ct_cvar_configs };
+ my @ct_searchable_custom_variables = grep { $_->{searchable} } @{ $ct_cvar_configs };
+
+ my %column_defs_cvars = map { +"cvar_$_->{name}" => { 'text' => $_->{description} } } @ct_includeable_custom_variables;
+ push @columns, map { "cvar_$_->{name}" } @ct_includeable_custom_variables;
+
my @hidden_variables = map { "l_${_}" } @columns;
push @hidden_variables, "l_subtotal", qw(open closed customer invnumber ordnumber cusordnumber transaction_description notes project_id transdatefrom transdateto employee_id salesman_id business_id);
+ push @hidden_variables, map { "cvar_$_->{name}" } @ct_searchable_custom_variables;
$href = build_std_url('action=ar_transactions', grep { $form->{$_} } @hidden_variables);
'payment_terms' => { 'text' => $locale->text('Payment Terms'), },
'charts' => { 'text' => $locale->text('Buchungskonto'), },
'customertype' => { 'text' => $locale->text('Customer type'), },
+ %column_defs_cvars,
);
foreach my $name (qw(id transdate duedate invnumber ordnumber cusordnumber name datepaid employee shippingpoint shipvia transaction_description)) {
$report->set_sort_indicator($form->{sort}, $form->{sortdir});
+ CVar->add_custom_variables_to_report('module' => 'CT',
+ 'trans_id_field' => 'customer_id',
+ 'configs' => $ct_cvar_configs,
+ 'column_defs' => \%column_defs,
+ 'data' => $form->{AR});
+
my @options;
if ($form->{customer}) {
push @options, $locale->text('Customer') . " : $form->{customer}";
}
+ if ($form->{cp_name}) {
+ push @options, $locale->text('Contact Person') . " : $form->{cp_name}";
+ }
if ($form->{department}) {
my ($department) = split /--/, $form->{department};
push @options, $locale->text('Department') . " : $department";
# saving the history
if(!exists $form->{addition} && $form->{id} ne "") {
- $form->{snumbers} = "ordnumber_$form->{ordnumber}";
+ $form->{snumbers} = qq|invnumber_| . $form->{invnumber};
$form->{addition} = "STORNO";
$form->save_history;
}