column_map => { id => 'cp_cv_id' },
manager_args => { sort_by => 'lower(contacts.cp_name)' },
},
- business => {
- type => 'one to one',
- class => 'SL::DB::Business',
- column_map => { business_id => 'id' },
- },
);
__PACKAGE__->meta->initialize;
taxzone_id => { type => 'integer', default => '0', not_null => 1 },
greeting => { type => 'text' },
ustid => { type => 'text' },
+ direct_debit => { type => 'boolean', default => 'false' },
iban => { type => 'varchar', length => 100 },
bic => { type => 'varchar', length => 100 },
- direct_debit => { type => 'boolean', default => 'false' },
+ curr => { type => 'character', length => 3 },
],
primary_key_columns => [ 'id' ],
- allow_inline_column_values => 1,
+ foreign_keys => [
+ business => {
+ class => 'SL::DB::Business',
+ key_columns => { business_id => 'id' },
+ },
+
+ language_obj => {
+ class => 'SL::DB::Language',
+ key_columns => { language_id => 'id' },
+ },
+
+ payment => {
+ class => 'SL::DB::PaymentTerm',
+ key_columns => { payment_id => 'id' },
+ },
+ ],
);
1;
class => 'SL::DB::Buchungsgruppe',
key_columns => { buchungsgruppen_id => 'id' },
},
+
+ unit_obj => {
+ class => 'SL::DB::Unit',
+ key_columns => { unit => 'name' },
+ },
],
);
direct_debit => { type => 'boolean', default => 'false' },
iban => { type => 'varchar', length => 100 },
bic => { type => 'varchar', length => 100 },
+ curr => { type => 'character', length => 3 },
],
primary_key_columns => [ 'id' ],
);
__PACKAGE__->meta->add_relationships(
- unit_obj => {
- type => 'one to one',
- class => 'SL::DB::Unit',
- column_map => { unit => 'name' },
- },
assemblies => {
type => 'one to many',
class => 'SL::DB::Assembly',
conv_i($form->{salesman_id}), conv_i($form->{cp_id}),
$form->{transaction_description},
$form->{type} =~ /^sales/ ? 't' : 'f',
- conv_i($form->{taxzone_id}), $form->{taxincluded} ? 't' : 'f', conv_i($form->{terms}), $form->{curr},
+ conv_i($form->{taxzone_id}), $form->{taxincluded} ? 't' : 'f', conv_i($form->{terms}), substr($form->{currency}, 0, 3),
conv_i($form->{id}));
do_query($form, $dbh, $query, @values);
d.description AS department, dord.language_id,
dord.shipto_id,
dord.globalproject_id, dord.delivered, dord.transaction_description,
- dord.taxzone_id, dord.taxincluded, dord.terms, dord.curr
+ dord.taxzone_id, dord.taxincluded, dord.terms, dord.curr AS currency
FROM delivery_orders dord
JOIN ${vc} cv ON (dord.${vc}_id = cv.id)
LEFT JOIN employee e ON (dord.employee_id = e.id)
}
$sth->finish();
+ # remove any trailing whitespace
+ $form->{currency} =~ s/\s*$//;
+
$form->{donumber_array} =~ s/\s*$//g;
$form->{saved_donumber} = $form->{donumber};
if ($self->{"$self->{vc}_id"}) {
# only setup currency
- ($self->{currency}) = split(/:/, $self->{currencies});
+ ($self->{currency}) = split(/:/, $self->{currencies}) if !$self->{currency};
} else {
# Stornierte Rechnungen und Stornorechnungen in invoice rausfiltern
$where .= " AND ar.storno is not true ";
+ # Bestandteile von Erzeugnissen herausfiltern
+ $where .= " AND i.assemblyitem is not true ";
+
my $sortorder = "cus.name,i.parts_id,ar.transdate";
if ($form->{sortby} eq 'artikelsort') {
$sortorder = "i.parts_id,cus.name,ar.transdate";
}
}
- my ($payment_id, $language_id, $taxzone_id);
+ my ($payment_id, $language_id, $taxzone_id, $currency);
if ($form->{payment_id}) {
$payment_id = $form->{payment_id};
}
if ($form->{taxzone_id}) {
$taxzone_id = $form->{taxzone_id};
}
+ if ($form->{currency}) {
+ $currency = $form->{currency};
+ }
my $cp_id = $form->{cp_id};
IR->get_vendor(\%myconfig, \%$form);
if ($taxzone_id) {
$form->{taxzone_id} = $taxzone_id;
}
+ if ($currency) {
+ $form->{currency} = $currency;
+ }
my @curr = split(/:/, $form->{currencies}); #seems to be missing
map { $form->{selectcurrency} .= "<option>$_\n" } @curr;
my $editing = $form->{id};
- $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded cp_id intnotes id shipto_id));
+ $form->backup_vars(qw(payment_id language_id taxzone_id salesman_id taxincluded currency cp_id intnotes id shipto_id));
IS->get_customer(\%myconfig, \%$form);
$form->restore_vars(qw(id));
IS->retrieve_invoice(\%myconfig, \%$form);
- $form->restore_vars(qw(payment_id language_id taxzone_id intnotes cp_id shipto_id));
+ $form->restore_vars(qw(payment_id language_id taxzone_id currency intnotes cp_id shipto_id));
$form->restore_vars(qw(taxincluded)) if $form->{id};
$form->restore_vars(qw(salesman_id)) if $editing;
- Bugfix 1753: Benutzerdefinierte Variable f. Waren: bearbeitbar nicht auswählbar
- Bugfix 1738: Entwürfe können nicht gelöscht werden
- Bugfix 1759: Währung bei Kunden / Lieferanten vorbelegen
+ - Bugfix 1770: Währung / currency überlebt Workflow über Lieferschein nicht
- Bugfix 1773: SQL Fehler bei Anzeige von Angeboten
\n=<br>
[Template/LaTeX]
-order=\\ <pagebreak> & \n \r " $ <bullet> % _ # ^ { } < > £ ± ² ³ ° § ® ©
+order=\\ <pagebreak> & \n \r " $ <bullet> % _ # ^ { } < > £ ± ² ³ ° § ® © \xad
\\=\\textbackslash\s
<pagebreak>=
"=''
°=$^\\circ$
§=\\S
®=\\textregistered
-©=\\textcopyright
+©=\\textcopyrighta
+\xad=\\-
+
[Template/OpenDocument]
order=& < > " ' \x80 \n \r
<input type="hidden" name="cc" value="[% HTML.escape(cc) %]">
<input type="hidden" name="closed" value="[% HTML.escape(closed) %]">
<input type="hidden" name="convert_from_oe_ids" value="[% HTML.escape(convert_from_oe_ids) %]">
- <input type="hidden" name="curr" value="[% HTML.escape(curr) %]">
+ <input type="hidden" name="currency" value="[% HTML.escape(currency) %]">
<input type="hidden" name="customer_klass" value="[% HTML.escape(customer_klass) %]">
<input type="hidden" name="discount" value="[% HTML.escape(discount) %]">
<input type="hidden" name="dunning_amount" value="[% HTML.escape(dunning_amount) %]">