Revision a3a6ec06
Von G. Richardson vor fast 7 Jahren hinzugefügt
SL/DATEV.pm | ||
---|---|---|
225 | 225 |
} |
226 | 226 |
} |
227 | 227 |
|
228 |
sub use_pk { |
|
229 |
my $self = shift; |
|
230 |
|
|
231 |
if (@_) { |
|
232 |
$self->{use_pk} = $_[0]; |
|
233 |
} |
|
234 |
|
|
235 |
return $self->{use_pk}; |
|
236 |
} |
|
237 |
|
|
228 | 238 |
sub accnofrom { |
229 | 239 |
my $self = shift; |
230 | 240 |
|
... | ... | |
440 | 450 |
|
441 | 451 |
my %all_taxchart_ids = selectall_as_map($form, $self->dbh, qq|SELECT DISTINCT chart_id, TRUE AS is_set FROM tax|, 'chart_id', 'is_set'); |
442 | 452 |
|
453 |
my $ar_accno = "c.accno"; |
|
454 |
my $ap_accno = "c.accno"; |
|
455 |
if ( $self->use_pk ) { |
|
456 |
$ar_accno = "CASE WHEN ac.chart_link = 'AR' THEN ct.customernumber ELSE c.accno END as accno"; |
|
457 |
$ap_accno = "CASE WHEN ac.chart_link = 'AP' THEN ct.vendornumber ELSE c.accno END as accno"; |
|
458 |
} |
|
459 |
|
|
443 | 460 |
my $query = |
444 | 461 |
qq|SELECT ac.acc_trans_id, ac.transdate, ac.gldate, ac.trans_id,ar.id, ac.amount, ac.taxkey, ac.memo, |
445 | 462 |
ar.invnumber, ar.duedate, ar.amount as umsatz, ar.deliverydate, ar.itime::date, |
446 | 463 |
ct.name, ct.ustid, ct.customernumber AS vcnumber, ct.id AS customer_id, NULL AS vendor_id, |
447 |
c.accno, c.description AS accname, c.taxkey_id as charttax, c.datevautomatik, c.id, ac.chart_link AS link,
|
|
464 |
$ar_accno, c.description AS accname, c.taxkey_id as charttax, c.datevautomatik, c.id, ac.chart_link AS link,
|
|
448 | 465 |
ar.invoice, |
449 | 466 |
t.rate AS taxrate, t.taxdescription, |
450 | 467 |
'ar' as table, |
... | ... | |
473 | 490 |
SELECT ac.acc_trans_id, ac.transdate, ac.gldate, ac.trans_id,ap.id, ac.amount, ac.taxkey, ac.memo, |
474 | 491 |
ap.invnumber, ap.duedate, ap.amount as umsatz, ap.deliverydate, ap.itime::date, |
475 | 492 |
ct.name, ct.ustid, ct.vendornumber AS vcnumber, NULL AS customer_id, ct.id AS vendor_id, |
476 |
c.accno, c.description AS accname, c.taxkey_id as charttax, c.datevautomatik, c.id, ac.chart_link AS link,
|
|
493 |
$ap_accno, c.description AS accname, c.taxkey_id as charttax, c.datevautomatik, c.id, ac.chart_link AS link,
|
|
477 | 494 |
ap.invoice, |
478 | 495 |
t.rate AS taxrate, t.taxdescription, |
479 | 496 |
'ap' as table, |
... | ... | |
956 | 973 |
|
957 | 974 |
if ($trans_lines >= 2) { |
958 | 975 |
|
976 |
# Personenkontenerweiterung: accno has already been replaced if use_pk was set |
|
959 | 977 |
$datev_data{'gegenkonto'} = $transaction->[$haben]->{'accno'}; |
960 | 978 |
$datev_data{'konto'} = $transaction->[$soll]->{'accno'}; |
961 | 979 |
if ($transaction->[$haben]->{'invnumber'} ne "") { |
Auch abrufbar als: Unified diff
DATEV-Export: Option "als Personenkonten exportieren"
statt der Sammelkontonummer wird beim Export immer die Kunden- bzw.
Lieferantennummer exportiert. Es wird noch nicht auf eine gültige
Kontonummer (z.B. 10000-69999 und 70000-99999) geprüft.