use Carp;
use Data::Dumper;
+use Encode;
use SL::DBUtils;
use strict;
$main::lxdebug->leave_sub();
}
-sub printer {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form) = @_;
-
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
-
- my $query = qq|SELECT id, printer_description, template_code, printer_command
- FROM printers
- ORDER BY 2|;
-
- my $sth = $dbh->prepare($query);
- $sth->execute || $form->dberror($query);
-
- $form->{"ALL"} = [];
- while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
- push @{ $form->{ALL} }, $ref;
- }
-
- $sth->finish;
- $dbh->disconnect;
-
- $main::lxdebug->leave_sub();
-}
-
-sub get_printer {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form) = @_;
-
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
-
- my $query =
- qq|SELECT p.printer_description, p.template_code, p.printer_command
- FROM printers p
- WHERE p.id = ?|;
- my $sth = $dbh->prepare($query);
- $sth->execute($form->{id}) || $form->dberror($query . " ($form->{id})");
-
- my $ref = $sth->fetchrow_hashref("NAME_lc");
-
- map { $form->{$_} = $ref->{$_} } keys %$ref;
-
- $sth->finish;
-
- $dbh->disconnect;
-
- $main::lxdebug->leave_sub();
-}
-
-sub save_printer {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form) = @_;
- my $query;
-
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
-
- my @values = ($form->{printer_description},
- $form->{template_code},
- $form->{printer_command});
-
- # id is the old record
- if ($form->{id}) {
- $query = qq|UPDATE printers SET
- printer_description = ?, template_code = ?, printer_command = ?
- WHERE id = ?|;
- push(@values, $form->{id});
- } else {
- $query = qq|INSERT INTO printers
- (printer_description, template_code, printer_command)
- VALUES (?, ?, ?)|;
- }
- do_query($form, $dbh, $query, @values);
-
- $dbh->disconnect;
-
- $main::lxdebug->leave_sub();
-}
-
-sub delete_printer {
- $main::lxdebug->enter_sub();
-
- my ($self, $myconfig, $form) = @_;
-
- # connect to database
- my $dbh = $form->dbconnect($myconfig);
-
- my $query = qq|DELETE FROM printers
- WHERE id = ?|;
- do_query($form, $dbh, $query, $form->{id});
-
- $dbh->disconnect;
-
- $main::lxdebug->leave_sub();
-}
-
sub payment {
$main::lxdebug->enter_sub();
close(TEMPLATE);
}
+ $content = Encode::decode('utf-8-strict', $content) if $::locale->is_utf8;
+
$main::lxdebug->leave_sub();
return ($content, $lines);
my $error = "";
if (open(TEMPLATE, ">$filename")) {
+ $content = Encode::encode('utf-8-strict', $content) if $::locale->is_utf8;
$content =~ s/\r\n/\n/g;
print(TEMPLATE $content);
close(TEMPLATE);
my $dbh = $params{dbh} || $form->get_standard_dbh($myconfig);
my %accnos;
- map { ($accnos{$_}) = split(m/--/, $form->{$_}) } qw(inventory_accno income_accno expense_accno fxgain_accno fxloss_accno);
+ map { ($accnos{$_}) = split(m/--/, $form->{$_}) } qw(inventory_accno income_accno expense_accno fxgain_accno fxloss_accno ar_paid_accno);
$form->{curr} =~ s/ //g;
my @currencies = grep { $_ ne '' } split m/:/, $form->{curr};
expense_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
fxgain_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
fxloss_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
+ ar_paid_accno_id = (SELECT c.id FROM chart c WHERE c.accno = ?),
invnumber = ?,
cnnumber = ?,
sonumber = ?,
servicenumber = ?,
sdonumber = ?,
pdonumber = ?,
- yearend = ?,
curr = ?,
businessnumber = ?,
weightunit = ?|;
my @values = ($accnos{inventory_accno}, $accnos{income_accno}, $accnos{expense_accno},
- $accnos{fxgain_accno}, $accnos{fxloss_accno},
+ $accnos{fxgain_accno}, $accnos{fxloss_accno}, $accnos{ar_paid_accno},
$form->{invnumber}, $form->{cnnumber},
$form->{sonumber}, $form->{ponumber},
$form->{sqnumber}, $form->{rfqnumber},
$form->{customernumber}, $form->{vendornumber},
$form->{articlenumber}, $form->{servicenumber},
$form->{sdonumber}, $form->{pdonumber},
- $form->{yearend}, $currency,
+ $currency,
$form->{businessnumber}, $form->{weightunit});
do_query($form, $dbh, $query, @values);
$form->{defaults}{IC_expense} = $form->{defaults}{expense_accno_id};
$form->{defaults}{FX_gain} = $form->{defaults}{fxgain_accno_id};
$form->{defaults}{FX_loss} = $form->{defaults}{fxloss_accno_id};
+ $form->{defaults}{AR_paid} = $form->{defaults}{ar_paid_accno_id};
$form->{defaults}{weightunit} ||= 'kg';
if $ref->{taxnumber};
$form->{taxrates}{ $ref->{accno} }{rate} = $ref->{rate} if $ref->{rate};
}
+ # Abfrage für Standard Umlaufvermögenskonto
+ $query =
+ qq|SELECT id, accno, description, link | .
+ qq|FROM chart | .
+ qq|WHERE link LIKE ? |.
+ qq|ORDER BY accno|;
+ $sth = prepare_execute_query($form, $dbh, $query, '%AR%');
+ $sth->execute || $form->dberror($query);#
+ while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
+ foreach my $item (split(/:/, $ref->{link})) {
+ if ($item eq "AR_paid") {
+ %{ $form->{IC}{AR_paid}{ $ref->{accno} } } = (
+ id => $ref->{id},
+ description => $ref->{description}
+ );
+ }
+ }
+ }
$sth->finish;
$dbh->disconnect;
my ($self, $myconfig, $form, $prefix) = @_;
- my $dbh = $form->dbconnect($myconfig);
+ my $dbh = $form->get_standard_dbh;
my $query = "SELECT *, base_unit AS original_base_unit FROM units";
map({ $unit->{"LANGUAGES"}->{$ref->{"template_code"}}->{$_} = $ref->{$_} } keys(%{$ref}));
}
}
- $sth->finish();
-
- $dbh->disconnect();
+ $sth->finish;
$main::lxdebug->leave_sub();