}
if ($form->{source}) {
- $glwhere .= " AND ac.source ILIKE ?";
- $arwhere .= " AND ac.source ILIKE ?";
- $apwhere .= " AND ac.source ILIKE ?";
+ $glwhere .= " AND ac.trans_id IN (SELECT trans_id from acc_trans WHERE source ILIKE ?)";
+ $arwhere .= " AND ac.trans_id IN (SELECT trans_id from acc_trans WHERE source ILIKE ?)";
+ $apwhere .= " AND ac.trans_id IN (SELECT trans_id from acc_trans WHERE source ILIKE ?)";
push(@glvalues, '%' . $form->{source} . '%');
push(@arvalues, '%' . $form->{source} . '%');
push(@apvalues, '%' . $form->{source} . '%');
'id' => [ qw(id) ],
'transdate' => [ qw(transdate id) ],
'reference' => [ qw(lower_reference id) ],
- 'source' => [ qw(lower_source id) ],
'description' => [ qw(lower_description id) ],
'accno' => [ qw(accno transdate id) ],
);
$trans_id = $ref0->{id};
+ my $source = $ref0->{source};
+ undef($ref0->{source});
+
if ($trans_id != $trans_id2) { # first line of a booking
if ($trans_id2) {
$i = 0; # Debit Tax # AP_tax # VSt
$j = 0; # Credit Tax # AR_tax # USt
-
if ($ref->{chart_id} > 0) { # all tax accounts first line, no line increasing
if ($ref->{amount} < 0) {
if ($ref->{link} =~ /AR_tax/) {
$ref->{credit_tax}{$j} = $ref->{amount};
$ref->{credit_tax_accno}{$j} = $ref->{accno};
- }
+ }
if ($ref->{link} =~ /AP_tax/) {
$ref->{debit_tax}{$i} = $ref->{amount} * -1;
$ref->{debit_tax_accno}{$i} = $ref->{accno};
}
}
} else { #all other accounts first line
+
if ($ref->{amount} < 0) {
$ref->{debit}{$k} = $ref->{amount} * -1;
$ref->{debit_accno}{$k} = $ref->{accno};
$ref->{debit_taxkey}{$k} = $ref->{taxkey};
$ref->{ac_transdate}{$k} = $ref->{transdate};
-
+ $ref->{source}{$k} = $source;
} else {
$ref->{credit}{$l} = $ref->{amount} * 1;
$ref->{credit_accno}{$l} = $ref->{accno};
$ref->{credit_taxkey}{$l} = $ref->{taxkey};
$ref->{ac_transdate}{$l} = $ref->{transdate};
-
-
+ $ref->{source}{$l} = $source;
}
}
if ($ref->{debit_accno}{$k} ne "") {
$k++;
}
+ if ($ref->{source}{$k} ne "") {
+ $space = " | ";
+ } else {
+ $space = "";
+ }
$ref->{debit}{$k} = $ref2->{amount} * - 1;
$ref->{debit_accno}{$k} = $ref2->{accno};
$ref->{debit_taxkey}{$k} = $ref2->{taxkey};
$ref->{ac_transdate}{$k} = $ref2->{transdate};
+ $ref->{source}{$k} = $source . $space . $ref->{source}{$k};
} else {
if ($ref->{credit_accno}{$l} ne "") {
$l++;
}
+ if ($ref->{source}{$l} ne "") {
+ $space = " | ";
+ } else {
+ $space = "";
+ }
$ref->{credit}{$l} = $ref2->{amount};
$ref->{credit_accno}{$l} = $ref2->{accno};
$ref->{credit_taxkey}{$l} = $ref2->{taxkey};
$ref->{ac_transdate}{$l} = $ref2->{transdate};
+ $ref->{source}{$l} = $ref->{source}{$l} . $space . $source;
}
}
}
}
+
push @{ $form->{GL} }, $ref;
$sth->finish;
'projectnumbers' => { 'text' => $locale->text('Project Numbers'), },
);
- foreach my $name (qw(id transdate reference source description debit_accno credit_accno debit_tax_accno credit_tax_accno)) {
+ foreach my $name (qw(id transdate reference description debit_accno credit_accno debit_tax_accno credit_tax_accno)) {
my $sortname = $name =~ m/accno/ ? 'accno' : $name;
my $sortdir = $sortname eq $form->{sort} ? 1 - $form->{sortdir} : $form->{sortdir};
$column_defs{$name}->{link} = $callback . "&sort=$sortname&sortdir=$sortdir";
}
}
- foreach my $key (qw(debit_accno credit_accno debit_tax_accno credit_tax_accno ac_transdate)) {
+ foreach my $key (qw(debit_accno credit_accno debit_tax_accno credit_tax_accno ac_transdate source)) {
my $col = $key eq 'ac_transdate' ? 'transdate' : $key;
$rows{$col} = [ map { $ref->{$key}->{$_} } sort keys(%{ $ref->{$key} }) ];
}
$row->{balance}->{data} = $form->format_amount(\%myconfig, $form->{balance}, 2);
$row->{projectnumbers}->{data} = join ", ", sort { lc($a) cmp lc($b) } keys %{ $ref->{projectnumbers} };
- map { $row->{$_}->{data} = $ref->{$_} } qw(id reference description source notes);
+ map { $row->{$_}->{data} = $ref->{$_} } qw(id reference description notes);
- map { $row->{$_}->{data} = \@{ $rows{$_} }; } qw(transdate debit credit debit_accno credit_accno debit_tax_accno credit_tax_accno);
+ map { $row->{$_}->{data} = \@{ $rows{$_} }; } qw(transdate debit credit debit_accno credit_accno debit_tax_accno credit_tax_accno source);
foreach my $col (qw(debit_accno credit_accno debit_tax_accno credit_tax_accno)) {
$row->{$col}->{link} = [ map { "${callback}&accno=" . E($_) } @{ $rows{$col} } ];