[set page_banner]Report Rows[/set]
[set fm_class]Ledger[/set]
[set help_name]report_row[/set]
[set page_title]Report Rows[/set]
[set icon_name]admin/icon_stats.gif[/set]
@_FM_STD_HEAD_@
[if value mv_action]
[if value select_row]
[query list=1 sql="SELECT row_id, description FROM gl_reportrowhead WHERE row_id=[value select_row]"]
[seti row_id][sql-param row_id][/seti]
[seti description][sql-param description][/seti]
[/query]
[else]
[set submit_value]Add[/set]
[/else]
[/if]
[seti submit_value][value mv_action][/seti]
[else]
[set submit_value]Add[/set]
[seti row_id][value row_id][/seti]
[seti description][value description][/seti]
[value name=select_row set=""]
[/else]
[/if]
[perl tables="gl_report"]
# Do we change an entry?
if ($Values->{line_action}) {
my $i = $Values->{select_line} || 0;
my $ref = $Scratch->{rows};
my ($ar, $nul, $names) = @$ref;
if ($Values->{line_action} eq "Update") {
my @ary = @$ar;
my $ref = $ary[$i - 1];
my ($type, $label, $text, $acctinfo1, $acctinfo2,$sign1,$fromline,$sign2,$toline) = @$ref;
$type = $Values->{rowtype} ;
$label = $Values->{label} ;
$text = $Values->{text} ;
if ($type == 1) {
$acctinfo1 = $Values->{acctinfo1} ;
$acctinfo2 = $Values->{acctinfo2} ;
} else {
$sign1 = $Values->{sign1};
$fromline = $Values->{fromline};
$sign2 = $Values->{sign2} if $sign1 != 3;
$toline = $Values->{toline};
};
# $acctinfo = @$ar[$i - 1]->[6] if (@$ar && $i && !$acctinfo);
# $journalnr = @$ar[$i - 1]->[1] if (@$ar && $i && !$journalnr);
# $jdate = $Values->{jdate};
# $jdate = @$ar[$i - 1]->[2] if (@$ar && $i && !$jdate);
# $description = $Values->{description};
# $description = @$ar[$i - 1]->[5] if (@$ar && $i && !$description);
# $debit = $Values->{debit};
# $debit = @$ar[$i - 1]->[3] if (@$ar && $i && !$debit);
# $debit = 0 if $debit == "-";
# $credit = $Values->{credit};
# $credit = @$ar[$i - 1]->[4] if (@$ar && $i && !$credit);
# $credit = 0 if $credit == "-";
@ol = [$type, $label, $text, $acctinfo1, $acctinfo2,$sign1,$fromline,$sign2,$toline];
if ($i) {
@$ar[$i - 1] = (@ol);
} else {
push @$ar, (@ol);
};
} elsif ($Values->{line_action} eq "Delete") {
splice (@$ar, $i - 1, 1);
};
# We'll find the existing row entries
} else {
if ($Values->{select_row}) {
my $db = $Db{gl_report} or return "NO table?";
my $q = qq{
SELECT rowtype, label, rowtext, acctinfo1, acctinfo2, sign1, fromline, sign2, toline
FROM gl_reportrow
WHERE row_id = $Values->{select_row}
ORDER BY linenr;
};
my @ary = $db->query($q) or die "query failed";
$Scratch->{rows} = \@ary;
} else {
my @ary = ( [ ]);
$Scratch->{rows} = \@ary;
}
};
delete $Values->{line_action};
delete $Values->{select_line};
return;
[/perl]
[if !scratch error]
|
[comment]Header[/comment]
|
[comment]Report row lines[/comment]
[comment]END row lines END[/comment]
|
|
[else]
[scratch error]
[set error][/set]
[L]BACK[/L]
[/else]
[/if]
@_FM_STD_FOOTER_@