Revision 3424bf80
Von Bernd Bleßmann vor etwa 12 Jahren hinzugefügt
SL/AP.pm | ||
---|---|---|
355 | 355 |
IO->set_datepaid(table => 'ap', id => $form->{id}, dbh => $dbh); |
356 | 356 |
|
357 | 357 |
# safety check datev export |
358 |
if ($::lx_office_conf{datev_check}{check_on_ap_transaction}) {
|
|
358 |
if ($::instance_conf->get_datev_check_on_ap_transaction) {
|
|
359 | 359 |
my $transdate = $::form->{transdate} ? DateTime->from_lxoffice($::form->{transdate}) : undef; |
360 | 360 |
$transdate ||= DateTime->today; |
361 | 361 |
|
SL/AR.pm | ||
---|---|---|
276 | 276 |
IO->set_datepaid(table => 'ar', id => $form->{id}, dbh => $dbh); |
277 | 277 |
|
278 | 278 |
# safety check datev export |
279 |
if ($::lx_office_conf{datev_check}{check_on_ar_transaction}) {
|
|
279 |
if ($::instance_conf->get_datev_check_on_ar_transaction) {
|
|
280 | 280 |
my $transdate = $::form->{transdate} ? DateTime->from_lxoffice($::form->{transdate}) : undef; |
281 | 281 |
$transdate ||= DateTime->today; |
282 | 282 |
|
SL/Controller/ClientConfig.pm | ||
---|---|---|
19 | 19 |
$self->{payments_changeable} = SL::DB::Default->get->payments_changeable; |
20 | 20 |
$self->{show_bestbefore} = SL::DB::Default->get->show_bestbefore; |
21 | 21 |
|
22 |
map { $self->{$_} = SL::DB::Default->get->$_ } qw(datev_check_on_sales_invoice datev_check_on_purchase_invoice datev_check_on_ar_transaction datev_check_on_ap_transaction datev_check_on_gl_transaction); |
|
23 |
# datev check: not implemented yet: |
|
24 |
#check_on_cash_and_receipt = 0 |
|
25 |
#check_on_dunning = 0 |
|
26 |
#check_on_sepa_import = 0 |
|
27 |
|
|
22 | 28 |
$self->render('client_config/form', title => $::locale->text('Client Configuration')); |
23 | 29 |
} |
24 | 30 |
|
... | ... | |
29 | 35 |
SL::DB::Default->get->update_attributes('payments_changeable' => $::form->{payments_changeable}); |
30 | 36 |
SL::DB::Default->get->update_attributes('show_bestbefore' => $::form->{show_bestbefore}); |
31 | 37 |
|
38 |
map { SL::DB::Default->get->update_attributes($_ => $::form->{$_}); } qw(datev_check_on_sales_invoice datev_check_on_purchase_invoice datev_check_on_ar_transaction datev_check_on_ap_transaction datev_check_on_gl_transaction); |
|
39 |
|
|
32 | 40 |
flash_later('info', $::locale->text('Client Configuration saved!')); |
33 | 41 |
|
34 | 42 |
$self->redirect_to(action => 'edit'); |
SL/DB/MetaSetup/Default.pm | ||
---|---|---|
10 | 10 |
table => 'defaults', |
11 | 11 |
|
12 | 12 |
columns => [ |
13 |
inventory_accno_id => { type => 'integer' }, |
|
14 |
income_accno_id => { type => 'integer' }, |
|
15 |
expense_accno_id => { type => 'integer' }, |
|
16 |
fxgain_accno_id => { type => 'integer' }, |
|
17 |
fxloss_accno_id => { type => 'integer' }, |
|
18 |
invnumber => { type => 'text' }, |
|
19 |
sonumber => { type => 'text' }, |
|
20 |
weightunit => { type => 'varchar', length => 5 }, |
|
21 |
businessnumber => { type => 'text' }, |
|
22 |
version => { type => 'varchar', length => 8 }, |
|
23 |
curr => { type => 'text' }, |
|
24 |
closedto => { type => 'date' }, |
|
25 |
revtrans => { type => 'boolean', default => 'false' }, |
|
26 |
ponumber => { type => 'text' }, |
|
27 |
sqnumber => { type => 'text' }, |
|
28 |
rfqnumber => { type => 'text' }, |
|
29 |
customernumber => { type => 'text' }, |
|
30 |
vendornumber => { type => 'text' }, |
|
31 |
audittrail => { type => 'boolean', default => 'false' }, |
|
32 |
articlenumber => { type => 'text' }, |
|
33 |
servicenumber => { type => 'text' }, |
|
34 |
coa => { type => 'text' }, |
|
35 |
itime => { type => 'timestamp', default => 'now()' }, |
|
36 |
mtime => { type => 'timestamp' }, |
|
37 |
rmanumber => { type => 'text' }, |
|
38 |
cnnumber => { type => 'text' }, |
|
39 |
dunning_ar_amount_fee => { type => 'integer' }, |
|
40 |
dunning_ar_amount_interest => { type => 'integer' }, |
|
41 |
dunning_ar => { type => 'integer' }, |
|
42 |
pdonumber => { type => 'text' }, |
|
43 |
sdonumber => { type => 'text' }, |
|
44 |
ar_paid_accno_id => { type => 'integer' }, |
|
45 |
id => { type => 'serial', not_null => 1 }, |
|
46 |
accounting_method => { type => 'text' }, |
|
47 |
inventory_system => { type => 'text' }, |
|
48 |
profit_determination => { type => 'text' }, |
|
49 |
language_id => { type => 'integer' }, |
|
50 |
payments_changeable => { type => 'integer', default => '0', not_null => 1 }, |
|
51 |
show_bestbefore => { type => 'boolean', default => 'false' }, |
|
13 |
inventory_accno_id => { type => 'integer' }, |
|
14 |
income_accno_id => { type => 'integer' }, |
|
15 |
expense_accno_id => { type => 'integer' }, |
|
16 |
fxgain_accno_id => { type => 'integer' }, |
|
17 |
fxloss_accno_id => { type => 'integer' }, |
|
18 |
invnumber => { type => 'text' }, |
|
19 |
sonumber => { type => 'text' }, |
|
20 |
weightunit => { type => 'varchar', length => 5 }, |
|
21 |
businessnumber => { type => 'text' }, |
|
22 |
version => { type => 'varchar', length => 8 }, |
|
23 |
curr => { type => 'text' }, |
|
24 |
closedto => { type => 'date' }, |
|
25 |
revtrans => { type => 'boolean', default => 'false' }, |
|
26 |
ponumber => { type => 'text' }, |
|
27 |
sqnumber => { type => 'text' }, |
|
28 |
rfqnumber => { type => 'text' }, |
|
29 |
customernumber => { type => 'text' }, |
|
30 |
vendornumber => { type => 'text' }, |
|
31 |
audittrail => { type => 'boolean', default => 'false' }, |
|
32 |
articlenumber => { type => 'text' }, |
|
33 |
servicenumber => { type => 'text' }, |
|
34 |
coa => { type => 'text' }, |
|
35 |
itime => { type => 'timestamp', default => 'now()' }, |
|
36 |
mtime => { type => 'timestamp' }, |
|
37 |
rmanumber => { type => 'text' }, |
|
38 |
cnnumber => { type => 'text' }, |
|
39 |
dunning_ar_amount_fee => { type => 'integer' }, |
|
40 |
dunning_ar_amount_interest => { type => 'integer' }, |
|
41 |
dunning_ar => { type => 'integer' }, |
|
42 |
pdonumber => { type => 'text' }, |
|
43 |
sdonumber => { type => 'text' }, |
|
44 |
ar_paid_accno_id => { type => 'integer' }, |
|
45 |
id => { type => 'serial', not_null => 1 }, |
|
46 |
accounting_method => { type => 'text' }, |
|
47 |
inventory_system => { type => 'text' }, |
|
48 |
profit_determination => { type => 'text' }, |
|
49 |
language_id => { type => 'integer' }, |
|
50 |
payments_changeable => { type => 'integer', default => '0', not_null => 1 }, |
|
51 |
show_bestbefore => { type => 'boolean', default => 'false' }, |
|
52 |
datev_check_on_sales_invoice => { type => 'boolean', default => 'true' }, |
|
53 |
datev_check_on_purchase_invoice => { type => 'boolean', default => 'true' }, |
|
54 |
datev_check_on_ar_transaction => { type => 'boolean', default => 'true' }, |
|
55 |
datev_check_on_ap_transaction => { type => 'boolean', default => 'true' }, |
|
56 |
datev_check_on_gl_transaction => { type => 'boolean', default => 'true' }, |
|
52 | 57 |
], |
53 | 58 |
|
54 | 59 |
primary_key_columns => [ 'id' ], |
SL/GL.pm | ||
---|---|---|
186 | 186 |
} |
187 | 187 |
|
188 | 188 |
# safety check datev export |
189 |
if ($::lx_office_conf{datev_check}{check_on_gl_transaction}) {
|
|
189 |
if ($::instance_conf->get_datev_check_on_gl_transaction) {
|
|
190 | 190 |
my $transdate = $::form->{transdate} ? DateTime->from_lxoffice($::form->{transdate}) : undef; |
191 | 191 |
$transdate ||= DateTime->today; |
192 | 192 |
|
SL/IR.pm | ||
---|---|---|
686 | 686 |
'table' => 'ap',); |
687 | 687 |
|
688 | 688 |
# safety check datev export |
689 |
if ($::lx_office_conf{datev_check}{check_on_purchase_invoice}) {
|
|
689 |
if ($::instance_conf->get_datev_check_on_purchase_invoice) {
|
|
690 | 690 |
my $transdate = $::form->{invdate} ? DateTime->from_lxoffice($::form->{invdate}) : undef; |
691 | 691 |
$transdate ||= DateTime->today; |
692 | 692 |
|
SL/IS.pm | ||
---|---|---|
1077 | 1077 |
'table' => 'ar',); |
1078 | 1078 |
|
1079 | 1079 |
# safety check datev export |
1080 |
if ($::lx_office_conf{datev_check}{check_on_sales_invoice}) {
|
|
1080 |
if ($::instance_conf->get_datev_check_on_sales_invoice) {
|
|
1081 | 1081 |
my $transdate = $::form->{invdate} ? DateTime->from_lxoffice($::form->{invdate}) : undef; |
1082 | 1082 |
$transdate ||= DateTime->today; |
1083 | 1083 |
|
SL/InstanceConfiguration.pm | ||
---|---|---|
49 | 49 |
return $self->{data}->{profit_determination}; |
50 | 50 |
} |
51 | 51 |
|
52 |
sub get_datev_check_on_sales_invoice { |
|
53 |
my ($self) = @_; |
|
54 |
return $self->{data}->{datev_check_on_sales_invoice}; |
|
55 |
} |
|
56 |
|
|
57 |
sub get_datev_check_on_purchase_invoice { |
|
58 |
my ($self) = @_; |
|
59 |
return $self->{data}->{datev_check_on_purchase_invoice}; |
|
60 |
} |
|
61 |
|
|
62 |
sub get_datev_check_on_ar_transaction { |
|
63 |
my ($self) = @_; |
|
64 |
return $self->{data}->{datev_check_on_ar_transaction}; |
|
65 |
} |
|
66 |
|
|
67 |
sub get_datev_check_on_ap_transaction { |
|
68 |
my ($self) = @_; |
|
69 |
return $self->{data}->{datev_check_on_ap_transaction}; |
|
70 |
} |
|
71 |
|
|
72 |
sub get_datev_check_on_gl_transaction { |
|
73 |
my ($self) = @_; |
|
74 |
return $self->{data}->{datev_check_on_gl_transaction}; |
|
75 |
} |
|
76 |
|
|
52 | 77 |
sub get_show_bestbefore { |
53 | 78 |
my ($self) = @_; |
54 | 79 |
return $self->{data}->{show_bestbefore}; |
... | ... | |
106 | 131 |
|
107 | 132 |
Returns the default profit determination method, balance or income |
108 | 133 |
|
134 |
=item C<get_datev_check_on_sales_invoice> |
|
135 |
|
|
136 |
Returns true if datev check should be performed on sales invoices |
|
137 |
|
|
138 |
=item C<get_datev_check_on_purchase_invoice> |
|
139 |
|
|
140 |
Returns true if datev check should be performed on purchase invoices |
|
141 |
|
|
142 |
=item C<get_datev_check_on_ar_transaction> |
|
143 |
|
|
144 |
Returns true if datev check should be performed on ar transactions |
|
145 |
|
|
146 |
=item C<get_datev_check_on_ap_transaction> |
|
147 |
|
|
148 |
Returns true if datev check should be performed on ap transactions |
|
149 |
|
|
150 |
=item C<get_datev_check_on_gl_transaction> |
|
151 |
|
|
152 |
Returns true if datev check should be performed on gl transactions |
|
153 |
|
|
109 | 154 |
=item C<get_show_bestbefore> |
110 | 155 |
|
111 | 156 |
Returns the default behavior for showing best before date, true or false |
config/kivitendo.conf.default | ||
---|---|---|
198 | 198 |
# template. currently txt and html templates are recognized and correctly mime send. |
199 | 199 |
email_template = templates/mail/self_test/status_mail.txt |
200 | 200 |
|
201 |
[datev_check] |
|
202 |
# it is possible to make a quick DATEV export everytime you post a record to ensure things |
|
203 |
# work nicely with their data requirements. This will result in a slight overhead though |
|
204 |
# you can enable this for each type of record independantly. |
|
205 |
|
|
206 |
# check when a sales invoice or a payment for a sales invoice is posted |
|
207 |
check_on_sales_invoice = 1 |
|
208 |
# check when a purchase invoice or a payment for a purchase invoice is posted |
|
209 |
check_on_purchase_invoice = 1 |
|
210 |
# check when an ar transaction is posted |
|
211 |
check_on_ar_transaction = 1 |
|
212 |
# check when an ap transaction is posted |
|
213 |
check_on_ap_transaction = 1 |
|
214 |
# check when a gl transaction is posted |
|
215 |
check_on_gl_transaction = 1 |
|
216 |
|
|
217 |
# not implemented yet: |
|
218 |
#check_on_cash_and_receipt = 0 |
|
219 |
#check_on_dunning = 0 |
|
220 |
#check_on_sepa_import = 0 |
|
221 |
|
|
222 | 201 |
[console] |
223 | 202 |
# autologin to use if none is given |
224 | 203 |
login = |
locale/de/all | ||
---|---|---|
399 | 399 |
'Check' => 'Scheck', |
400 | 400 |
'Check Details' => 'Bitte Angaben überprüfen', |
401 | 401 |
'Check for duplicates' => 'Dublettencheck', |
402 |
'Check on ap transaction' => 'Prüfen bei Kreditorenbuchung', |
|
403 |
'Check on ar transaction' => 'Prüfen bei Debitorenbuchung', |
|
404 |
'Check on gl transaction' => 'Prüfen bei Dialogbuchung', |
|
405 |
'Check on purchase invoice' => 'Prüfen bei Einkaufsrechnung', |
|
406 |
'Check on sales invoice' => 'Prüfen bei Verkaufsrechnung', |
|
402 | 407 |
'Checks' => 'Schecks', |
403 | 408 |
'Choose Customer' => 'Endkunde wählen:', |
404 | 409 |
'Choose Outputformat' => 'Ausgabeformat auswählen...', |
... | ... | |
542 | 547 |
'DATEV - Export Assistent' => 'DATEV-Exportassistent', |
543 | 548 |
'DATEV Angaben' => 'DATEV-Angaben', |
544 | 549 |
'DATEV Export' => 'DATEV-Export', |
550 |
'DATEV check configuration' => 'Einstellungen für DATEV-Prüfung', |
|
545 | 551 |
'DATEV check returned errors:' => 'Die DATEV Prüfung dieser Buchung ergab Fehler:', |
546 | 552 |
'DATEX - Export Assistent' => 'DATEV-Exportassistent', |
547 | 553 |
'DELETED' => 'Gelöscht', |
... | ... | |
1036 | 1042 |
'It is possible that even after such a correction there is something wrong with this transaction (e.g. taxes that don\'t match the selected taxkey). Therefore you should re-run the general ledger analysis.' => 'Auch nach einer Korrektur kann es mit dieser Buchung noch weitere Probleme geben (z.B. nicht zum Steuerschlüssel passende Steuern), weshalb ein erneutes Ausführen der Hauptbuchanalyse empfohlen wird.', |
1037 | 1043 |
'It is possible to do this automatically for some Buchungsgruppen, but not for all.' => 'Es ist möglich, dies für einige, aber nicht für alle Buchungsgruppen automatisch zu erledigen.', |
1038 | 1044 |
'It is possible to do this automatically for some units, but for others the user has to chose the new unit.' => 'Das ist für einige Einheiten automatisch möglich, aber bei anderen muss der Benutzer die neue Einheit auswählen.', |
1045 |
'It is possible to make a quick DATEV export everytime you post a record to ensure things work nicely with their data requirements. This will result in a slight overhead though you can enable this for each type of record independantly.' => 'Es ist möglich, bei jeder Buchung einen schnellen DATEV-Export durchzuführen, um sicherzustellen, dass die Datensätze den DATEV-Anforderungen genügen. Da dies einen kleinen Overhead bedeutet, lässt sich dei Einstellung für jeden Buchungstyp getrennt einstellen.', |
|
1039 | 1046 |
'It may optionally be compressed with "gzip".' => 'Sie darf optional mit "gzip" komprimiert sein.', |
1040 | 1047 |
'It will simply set the taxkey to 0 (meaning "no taxes") which is the correct value for such inventory transactions.' => 'Es wird einfach die Steuerschlüssel auf 0 setzen, was "keine Steuer" bedeutet und für solche Warenbestandsbuchungen der richtige Wert ist.', |
1041 | 1048 |
'Item deleted!' => 'Artikel gelöscht!', |
... | ... | |
1375 | 1382 |
'Payments' => 'Zahlungsausgänge', |
1376 | 1383 |
'Payments Changeable' => 'Änderbarkeit von Zahlungen', |
1377 | 1384 |
'Per. Inv.' => 'Wied. Rech.', |
1385 |
'Perform check when a gl transaction is posted?' => 'Prüfung durchführen, wenn eine Dialogbuchung gebucht wird?', |
|
1386 |
'Perform check when a purchase invoice or a payment for a purchase invoice is posted?' => 'Prüfung durchführen, wenn eine Einkaufsrechnung oder ein Zahlungsausgang hierfür gebucht wird?', |
|
1387 |
'Perform check when a sales invoice or a payment for a sales invoice is posted?' => 'Prüfung durchführen, wenn eine Verkaufsrechnung oder ein Zahlungseingang hierfür gebucht wird?', |
|
1388 |
'Perform check when an ap transaction is posted?' => 'Prüfung durchführen, wenn Kreditorenbuchung gebucht wird?', |
|
1389 |
'Perform check when an ar transaction is posted?' => 'Prüfung durchführen, wenn Debiotorenbuchung gebucht wird?', |
|
1378 | 1390 |
'Period' => 'Zeitraum', |
1379 | 1391 |
'Period:' => 'Zeitraum:', |
1380 | 1392 |
'Periodic Invoices' => 'Wiederkehrende Rechnungen', |
... | ... | |
2353 | 2365 |
'not yet executed' => 'Noch nicht ausgeführt', |
2354 | 2366 |
'number' => 'Nummer', |
2355 | 2367 |
'oe.pl::search called with unknown type' => 'oe.pl::search mit unbekanntem Typ aufgerufen', |
2356 |
'one-time execution' => 'einmalige Ausführung', |
|
2357 | 2368 |
'on the same day' => 'am selben Tag', |
2369 |
'one-time execution' => 'einmalige Ausführung', |
|
2358 | 2370 |
'only OB Transactions' => 'nur EB-Buchungen', |
2359 | 2371 |
'open' => 'Offen', |
2360 | 2372 |
'order' => 'Reihenfolge', |
locale/de_DE/all | ||
---|---|---|
390 | 390 |
'Check' => 'Scheck', |
391 | 391 |
'Check Details' => 'Bitte Angaben überprüfen', |
392 | 392 |
'Check for duplicates' => 'Dublettencheck', |
393 |
'Check on ap transaction' => 'Prüfen bei Kreditorenbuchung', |
|
394 |
'Check on ar transaction' => 'Prüfen bei Debitorenbuchung', |
|
395 |
'Check on gl transaction' => 'Prüfen bei Dialogbuchung', |
|
396 |
'Check on purchase invoice' => 'Prüfen bei Einkaufsrechnung', |
|
397 |
'Check on sales invoice' => 'Prüfen bei Verkaufsrechnung', |
|
393 | 398 |
'Checks' => 'Schecks', |
394 | 399 |
'Choose Customer' => 'Endkunde wählen:', |
395 | 400 |
'Choose Outputformat' => 'Ausgabeformat auswählen...', |
... | ... | |
520 | 525 |
'Customers' => 'Kunden', |
521 | 526 |
'Customers and vendors' => 'Kunden und Lieferanten', |
522 | 527 |
'Customized Report' => 'Vorgewählte Zeiträume', |
528 |
'DATEV check configuration' => 'Einstellungen für DATEV-Prüfung', |
|
523 | 529 |
'DATEV - Export Assistent' => 'DATEV-Exportassistent', |
524 | 530 |
'DATEV Angaben' => 'DATEV-Angaben', |
525 | 531 |
'DATEV Export' => 'DATEV-Export', |
... | ... | |
1004 | 1010 |
'It is possible that even after such a correction there is something wrong with this transaction (e.g. taxes that don\'t match the selected taxkey). Therefore you should re-run the general ledger analysis.' => 'Auch nach einer Korrektur kann es mit dieser Buchung noch weitere Probleme geben (z.B. nicht zum Steuerschlüssel passende Steuern), weshalb ein erneutes Ausführen der Hauptbuchanalyse empfohlen wird.', |
1005 | 1011 |
'It is possible to do this automatically for some Buchungsgruppen, but not for all.' => 'Es ist möglich, dies für einige, aber nicht für alle Buchungsgruppen automatisch zu erledigen.', |
1006 | 1012 |
'It is possible to do this automatically for some units, but for others the user has to chose the new unit.' => 'Das ist für einige Einheiten automatisch möglich, aber bei anderen muss der Benutzer die neue Einheit auswählen.', |
1013 |
'It is possible to make a quick DATEV export everytime you post a record to ensure things work nicely with their data requirements. This will result in a slight overhead though you can enable this for each type of record independantly.' => 'Es ist möglich, bei jeder Buchung einen schnellen DATEV-Export durchzuführen, um sicherzustellen, dass die Datensätze den DATEV-Anforderungen genügen. Da dies einen kleinen Overhead bedeutet, lässt sich dei Einstellung für jeden Buchungstyp getrennt einstellen.', |
|
1007 | 1014 |
'It may optionally be compressed with "gzip".' => 'Sie darf optional mit "gzip" komprimiert sein.', |
1008 | 1015 |
'It will simply set the taxkey to 0 (meaning "no taxes") which is the correct value for such inventory transactions.' => 'Es wird einfach die Steuerschlüssel auf 0 setzen, was "keine Steuer" bedeutet und für solche Warenbestandsbuchungen der richtige Wert ist.', |
1009 | 1016 |
'Item deleted!' => 'Artikel gelöscht!', |
... | ... | |
1339 | 1346 |
'Payments' => 'Zahlungsausgänge', |
1340 | 1347 |
'Payments Changeable' => 'Änderbarkeit von Zahlungen', |
1341 | 1348 |
'Per. Inv.' => 'Wied. Rech.', |
1349 |
'Perform check when a gl transaction is posted?' => 'Prüfung durchführen, wenn eine Dialogbuchung gebucht wird?', |
|
1350 |
'Perform check when a purchase invoice or a payment for a purchase invoice is posted?' => 'Prüfung durchführen, wenn eine Einkaufsrechnung oder ein Zahlungsausgang hierfür gebucht wird?', |
|
1351 |
'Perform check when a sales invoice or a payment for a sales invoice is posted?' => 'Prüfung durchführen, wenn eine Verkaufsrechnung oder ein Zahlungseingang hierfür gebucht wird?', |
|
1352 |
'Perform check when an ap transaction is posted?' => 'Prüfung durchführen, wenn Kreditorenbuchung gebucht wird?', |
|
1353 |
'Perform check when an ar transaction is posted?' => 'Prüfung durchführen, wenn Debiotorenbuchung gebucht wird?', |
|
1342 | 1354 |
'Period' => 'Zeitraum', |
1343 | 1355 |
'Period:' => 'Zeitraum:', |
1344 | 1356 |
'Periodic Invoices' => 'Wiederkehrende Rechnungen', |
locale/en/all | ||
---|---|---|
391 | 391 |
'Check' => 'Cheque', |
392 | 392 |
'Check Details' => '', |
393 | 393 |
'Check for duplicates' => '', |
394 |
'Check on ap transaction' => '', |
|
395 |
'Check on ar transaction' => '', |
|
396 |
'Check on gl transaction' => '', |
|
397 |
'Check on purchase invoice' => '', |
|
398 |
'Check on sales invoice' => '', |
|
394 | 399 |
'Checks' => '', |
395 | 400 |
'Choose Customer' => '', |
396 | 401 |
'Choose Outputformat' => '', |
... | ... | |
531 | 536 |
'DATEV - Export Assistent' => '', |
532 | 537 |
'DATEV Angaben' => '', |
533 | 538 |
'DATEV Export' => '', |
539 |
'DATEV check configuration' => '', |
|
534 | 540 |
'DATEV check returned errors:' => '', |
535 | 541 |
'DATEX - Export Assistent' => '', |
536 | 542 |
'DELETED' => '', |
... | ... | |
1020 | 1026 |
'It is possible that even after such a correction there is something wrong with this transaction (e.g. taxes that don\'t match the selected taxkey). Therefore you should re-run the general ledger analysis.' => '', |
1021 | 1027 |
'It is possible to do this automatically for some Buchungsgruppen, but not for all.' => '', |
1022 | 1028 |
'It is possible to do this automatically for some units, but for others the user has to chose the new unit.' => '', |
1029 |
'It is possible to make a quick DATEV export everytime you post a record to ensure things work nicely with their data requirements. This will result in a slight overhead though you can enable this for each type of record independantly.' => '', |
|
1023 | 1030 |
'It may optionally be compressed with "gzip".' => '', |
1024 | 1031 |
'It will simply set the taxkey to 0 (meaning "no taxes") which is the correct value for such inventory transactions.' => '', |
1025 | 1032 |
'Item deleted!' => '', |
... | ... | |
1355 | 1362 |
'Payments' => '', |
1356 | 1363 |
'Payments Changeable' => '', |
1357 | 1364 |
'Per. Inv.' => '', |
1365 |
'Perform check when a gl transaction is posted?' => '', |
|
1366 |
'Perform check when a purchase invoice or a payment for a purchase invoice is posted?' => '', |
|
1367 |
'Perform check when a sales invoice or a payment for a sales invoice is posted?' => '', |
|
1368 |
'Perform check when an ap transaction is posted?' => '', |
|
1369 |
'Perform check when an ar transaction is posted?' => '', |
|
1358 | 1370 |
'Period' => '', |
1359 | 1371 |
'Period:' => '', |
1360 | 1372 |
'Periodic Invoices' => '', |
sql/Pg-upgrade2/defaults_datev_check.pl | ||
---|---|---|
1 |
# @tag: defaults_datev_check |
|
2 |
# @description: Einstellung für DATEV-Überprüfungen (datev_check) vom Config-File in die DB verlagern. |
|
3 |
# @depends: release_2_7_0 |
|
4 |
# @charset: utf-8 |
|
5 |
|
|
6 |
use utf8; |
|
7 |
use strict; |
|
8 |
|
|
9 |
die("This script cannot be run from the command line.") unless ($main::form); |
|
10 |
|
|
11 |
sub mydberror { |
|
12 |
my ($msg) = @_; |
|
13 |
die($dbup_locale->text("Database update error:") . |
|
14 |
"<br>$msg<br>" . $DBI::errstr); |
|
15 |
} |
|
16 |
|
|
17 |
sub do_query { |
|
18 |
my ($query, $may_fail) = @_; |
|
19 |
|
|
20 |
if (!$dbh->do($query)) { |
|
21 |
mydberror($query) unless ($may_fail); |
|
22 |
$dbh->rollback(); |
|
23 |
$dbh->begin_work(); |
|
24 |
} |
|
25 |
} |
|
26 |
|
|
27 |
sub do_update { |
|
28 |
|
|
29 |
# this query will fail if column already exist (new database) |
|
30 |
do_query(qq|ALTER TABLE defaults ADD COLUMN datev_check_on_sales_invoice boolean DEFAULT true|, 1); |
|
31 |
do_query(qq|ALTER TABLE defaults ADD COLUMN datev_check_on_purchase_invoice boolean DEFAULT true|, 1); |
|
32 |
do_query(qq|ALTER TABLE defaults ADD COLUMN datev_check_on_ar_transaction boolean DEFAULT true|, 1); |
|
33 |
do_query(qq|ALTER TABLE defaults ADD COLUMN datev_check_on_ap_transaction boolean DEFAULT true|, 1); |
|
34 |
do_query(qq|ALTER TABLE defaults ADD COLUMN datev_check_on_gl_transaction boolean DEFAULT true|, 1); |
|
35 |
|
|
36 |
# check current configuration and set default variables accordingly, so that |
|
37 |
# kivitendo's behaviour isn't changed by this update |
|
38 |
# if checks are not set in config set it to true |
|
39 |
foreach my $check (qw(check_on_sales_invoice check_on_purchase_invoice check_on_ar_transaction check_on_ap_transaction check_on_gl_transaction)) { |
|
40 |
my $check_set = 1; |
|
41 |
if (!$::lx_office_conf{datev_check}->{$check}) { |
|
42 |
$check_set = 0; |
|
43 |
} |
|
44 |
|
|
45 |
my $update_column = "UPDATE defaults SET datev_$check = '$check_set';"; |
|
46 |
do_query($update_column); |
|
47 |
} |
|
48 |
|
|
49 |
|
|
50 |
return 1; |
|
51 |
} |
|
52 |
|
|
53 |
return do_update(); |
|
54 |
|
templates/webpages/client_config/form.html | ||
---|---|---|
20 | 20 |
<tr> </tr> |
21 | 21 |
<tr> </tr> |
22 | 22 |
|
23 |
<tr class='listheading'> |
|
24 |
<th colspan="3">[% 'DATEV check configuration' | $T8 %]</th> |
|
25 |
</tr> |
|
26 |
<tr> |
|
27 |
<td colspan="3">[% 'It is possible to make a quick DATEV export everytime you post a record to ensure things work nicely with their data requirements. This will result in a slight overhead though you can enable this for each type of record independantly.' | $T8 %]</td> |
|
28 |
</tr> |
|
29 |
<tr> |
|
30 |
<td align="right">[% 'Check on sales invoice' | $T8 %]</td> |
|
31 |
<td>[% L.yes_no_tag('datev_check_on_sales_invoice', SELF.datev_check_on_sales_invoice) %]</td> |
|
32 |
<td>[% 'Perform check when a sales invoice or a payment for a sales invoice is posted?' | $T8 %]</td> |
|
33 |
</tr> |
|
34 |
<tr> |
|
35 |
<td align="right">[% 'Check on purchase invoice' | $T8 %]</td> |
|
36 |
<td>[% L.yes_no_tag('datev_check_on_purchase_invoice', SELF.datev_check_on_purchase_invoice) %]</td> |
|
37 |
<td>[% 'Perform check when a purchase invoice or a payment for a purchase invoice is posted?' | $T8 %]</td> |
|
38 |
</tr> |
|
39 |
<tr> |
|
40 |
<td align="right">[% 'Check on ar transaction' | $T8 %]</td> |
|
41 |
<td>[% L.yes_no_tag('datev_check_on_ar_transaction', SELF.datev_check_on_ar_transaction) %]</td> |
|
42 |
<td>[% 'Perform check when an ar transaction is posted?' | $T8 %]</td> |
|
43 |
</tr> |
|
44 |
<tr> |
|
45 |
<td align="right">[% 'Check on ap transaction' | $T8 %]</td> |
|
46 |
<td>[% L.yes_no_tag('datev_check_on_ap_transaction', SELF.datev_check_on_ap_transaction) %]</td> |
|
47 |
<td>[% 'Perform check when an ap transaction is posted?' | $T8 %]</td> |
|
48 |
</tr> |
|
49 |
<tr> |
|
50 |
<td align="right">[% 'Check on gl transaction' | $T8 %]</td> |
|
51 |
<td>[% L.yes_no_tag('datev_check_on_gl_transaction', SELF.datev_check_on_gl_transaction) %]</td> |
|
52 |
<td>[% 'Perform check when a gl transaction is posted?' | $T8 %]</td> |
|
53 |
</tr> |
|
54 |
|
|
55 |
<tr> </tr> |
|
56 |
<tr> </tr> |
|
57 |
|
|
23 | 58 |
<tr class='listheading'> |
24 | 59 |
<th colspan="3">[% 'Warehouse' | $T8 %]</th> |
25 | 60 |
</tr> |
Auch abrufbar als: Unified diff
Option für Datev-Check in Mandantenkonfiguration verschoben.