Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 558c234e

Von Moritz Bunkus vor etwa 8 Jahren hinzugefügt

  • ID 558c234e56b3a5387b164655e05f562929d9f736
  • Vorgänger cbdc5c37
  • Nachfolger 1ca98d42

Belegvorlagen: Speichern bei Debitorenbuchungen

Unterschiede anzeigen:

bin/mozilla/ar.pl
use List::UtilsBy qw(sort_by);
use SL::AR;
use SL::Controller::Base;
use SL::FU;
use SL::GL;
use SL::IS;
......
update();
}
sub save_record_template {
$::auth->assert('ar_transactions');
my $template = $::form->{record_template_id} ? SL::DB::RecordTemplate->new(id => $::form->{record_template_id})->load : SL::DB::RecordTemplate->new;
my $js = SL::ClientJS->new(controller => SL::Controller::Base->new);
my $new_name = $template->template_name_to_use($::form->{record_template_new_template_name});
$js->dialog->close('#record_template_dialog');
my @items = grep {
$_->{chart_id} && (($_->{tax_id} // '') ne '') && ($_->{amount1} != 0)
} map {
+{ chart_id => $::form->{"AR_amount_chart_id_${_}"},
amount1 => $::form->parse_amount(\%::myconfig, $::form->{"amount_${_}"}),
tax_id => (split m{--}, $::form->{"taxchart_${_}"})[0],
project_id => $::form->{"project_id_${_}"} || undef,
}
} (1..($::form->{rowcount} || 1));
$template->assign_attributes(
template_type => 'ar_transaction',
template_name => $new_name,
currency_id => SL::DB::Manager::Currency->find_by(name => $::form->{currency})->id,
ar_ap_chart_id => $::form->{AR_chart_id} || undef,
customer_id => $::form->{customer_id} || undef,
department_id => $::form->{department_id} || undef,
project_id => $::form->{globalproject_id} || undef,
employee_id => $::form->{employee_id} || undef,
taxincluded => $::form->{taxincluded} ? 1 : 0,
direct_debit => $::form->{direct_debit} ? 1 : 0,
ordnumber => $::form->{ordnumber},
notes => $::form->{notes},
items => \@items,
);
eval {
$template->save;
1;
} or do {
return $js
->flash('error', $::locale->text("Saving the record template '#1' failed.", $new_name))
->render;
};
return $js
->flash('info', $::locale->text("The record template '#1' has been saved.", $new_name))
->render;
}
sub add {
$main::lxdebug->enter_sub();
......
my $follow_up_vc = $form->{customer_id} ? SL::DB::Customer->load_cached($form->{customer_id})->name : '';
my $follow_up_trans_info = "$form->{invnumber} ($follow_up_vc)";
$::request->layout->add_javascripts("autocomplete_chart.js", "autocomplete_customer.js", "show_vc_details.js", "show_history.js", "follow_up.js", "kivi.Draft.js", "kivi.GL.js");
$::request->layout->add_javascripts("autocomplete_chart.js", "autocomplete_customer.js", "show_vc_details.js", "show_history.js", "follow_up.js", "kivi.Draft.js", "kivi.GL.js", "kivi.RecordTemplate.js");
my $transdate = $::form->{transdate} ? DateTime->from_kivitendo($::form->{transdate}) : DateTime->today_local;
my $first_taxchart;
locale/de/all
'Save settings as' => 'Einstellungen speichern unter',
'Saving failed. Error message from the database: #1' => 'Speichern schlug fehl. Fehlermeldung der Datenbank: #1',
'Saving the file \'%s\' failed. OS error message: %s' => 'Das Speichern der Datei \'%s\' schlug fehl. Fehlermeldung des Betriebssystems: %s',
'Saving the record template \'#1\' failed.' => 'Das Speichern der Belegvorlage »#1« schlug fehl.',
'Score' => 'Punkte',
'Screen' => 'Bildschirm',
'Search' => 'Suchen',
......
'The project type is in use and cannot be deleted.' => 'Der Projekttyp wird verwendet und kann nicht gelöscht werden.',
'The receivables chart isn\'t a valid chart.' => 'Das Forderungskonto ist kein gültiges Konto',
'The recipient, subject or body is missing.' => 'Der Empfäger, der Betreff oder der Text ist leer.',
'The record template \'#1\' has been loaded.' => 'Die Belegvorlage »#1« wurde geladen.',
'The record template \'#1\' has been saved.' => 'Die Belegvorlage »#1« wurde gespeichert.',
'The required information consists of the IBAN and the BIC.' => 'Die benötigten Informationen bestehen aus der IBAN und der BIC. Zusätzlich wird die SEPA-Kreditoren-Identifikation aus der Mandantenkonfiguration benötigt.',
'The required information consists of the IBAN, the BIC, the mandator ID and the mandate\'s date of signature.' => 'Die benötigten Informationen bestehen aus IBAN, BIC, Mandanten-ID und dem Unterschriftsdatum des Mandates. Zusätzlich wird die SEPA-Kreditoren-Identifikation aus der Mandantenkonfiguration benötigt.',
'The requirement spec has been deleted.' => 'Das Pflichtenheft wurde gelöscht.',
templates/webpages/ar/form_footer.html
[% L.submit_tag("action", LxERP.t8('mark as paid'), confirm=LxERP.t8('This will remove the invoice from showing as unpaid even if the unpaid amount does not match the amount. Proceed?')) %]
[% END %]
[% L.button_tag("kivi.RecordTemplate.popup('ar_transaction')", LxERP.t8("Record templates")) %]
</form>
<script type="text/javascript">

Auch abrufbar als: Unified diff