Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 52983c08

Von Sven Schöling vor etwa 17 Jahren hinzugefügt

  • ID 52983c089cf1b4f1a4451e57ffa76f846c4791ba
  • Vorgänger 67b5f446
  • Nachfolger 31f79e34

Kosmetikmerge aus Revisionen 5187, 5191, 5193, 5194, 5218, 5219, 5222, 5228, 5229

Unterschiede anzeigen:

SL/IS.pm
1376 1376
    map { $form->{$_} = $ref->{$_} } keys %{ $ref };
1377 1377

  
1378 1378

  
1379
    $form->{exchangerate} =
1380
      $form->get_exchangerate($dbh, $form->{currency}, $form->{invdate}, "buy");
1379
    $form->{exchangerate} = $form->get_exchangerate($dbh, $form->{currency}, $form->{invdate}, "buy");
1381 1380

  
1382 1381
    # get shipto
1383 1382
    $query = qq|SELECT * FROM shipto WHERE (trans_id = ?) AND (module = 'AR')|;
......
1387 1386

  
1388 1387
    foreach my $vc (qw(customer vendor)) {
1389 1388
      next if !$form->{"delivery_${vc}_id"};
1390
      ($form->{"delivery_${vc}_string"})
1391
        = selectrow_query($form, $dbh, qq|SELECT name FROM customer WHERE id = ?|, $id);
1389
      ($form->{"delivery_${vc}_string"}) = selectrow_query($form, $dbh, qq|SELECT name FROM customer WHERE id = ?|, $id);
1392 1390
    }
1393 1391

  
1394 1392
    # get printed, emailed
1395
    $query =
1396
      qq|SELECT printed, emailed, spoolfile, formname
1397
         FROM status
1398
         WHERE trans_id = ?|;
1393
    $query = qq|SELECT printed, emailed, spoolfile, formname FROM status WHERE trans_id = ?|;
1399 1394
    $sth = prepare_execute_query($form, $dbh, $query, $id);
1400 1395

  
1401 1396
    while ($ref = $sth->fetchrow_hashref(NAME_lc)) {
1402 1397
      $form->{printed} .= "$ref->{formname} " if $ref->{printed};
1403 1398
      $form->{emailed} .= "$ref->{formname} " if $ref->{emailed};
1404
      $form->{queued} .= "$ref->{formname} $ref->{spoolfile} "
1405
        if $ref->{spoolfile};
1399
      $form->{queued} .= "$ref->{formname} $ref->{spoolfile} " if $ref->{spoolfile};
1406 1400
    }
1407 1401
    $sth->finish;
1408 1402
    map { $form->{$_} =~ s/ +$//g } qw(printed emailed queued);
1409 1403

  
1410
    my $transdate =
1411
      $form->{deliverydate} ? $dbh->quote($form->{deliverydate}) :
1412
      $form->{invdate}      ? $dbh->quote($form->{invdate}) :
1413
                              "current_date";
1404
    my $transdate = $form->{deliverydate} ? $dbh->quote($form->{deliverydate})
1405
                  : $form->{invdate}      ? $dbh->quote($form->{invdate})
1406
                  :                         "current_date";
1407
     
1414 1408

  
1415 1409
    my $taxzone_id = $form->{taxzone_id} *= 1;
1416 1410
    $taxzone_id = 0 if (0 > $taxzone_id) || (3 < $taxzone_id);
......
1418 1412
    # retrieve individual items
1419 1413
    $query =
1420 1414
      qq|SELECT
1421
           c1.accno AS inventory_accno,
1422
           c1.new_chart_id AS inventory_new_chart,
1423
           date($transdate) - c1.valid_from AS inventory_valid,
1424

  
1425
           c2.accno AS income_accno,
1426
           c2.new_chart_id AS income_new_chart,
1427
           date($transdate) - c2.valid_from as income_valid,
1428

  
1429
           c3.accno AS expense_accno,
1430
           c3.new_chart_id AS expense_new_chart,
1431
           date($transdate) - c3.valid_from AS expense_valid,
1415
           c1.accno AS inventory_accno, c1.new_chart_id AS inventory_new_chart, date($transdate) - c1.valid_from AS inventory_valid,
1416
           c2.accno AS income_accno,    c2.new_chart_id AS income_new_chart,    date($transdate) - c2.valid_from as income_valid,
1417
           c3.accno AS expense_accno,   c3.new_chart_id AS expense_new_chart,   date($transdate) - c3.valid_from AS expense_valid,
1432 1418

  
1433
           i.description, i.longdescription, i.qty, i.fxsellprice AS sellprice,
1434
           i.discount, i.parts_id AS id, i.unit, i.deliverydate,
1435
           i.project_id, i.serialnumber, i.id AS invoice_pos, i.pricegroup_id,
1436
           i.ordnumber, i.transdate, i.cusordnumber, i.subtotal, i.lastcost,
1437

  
1438
           p.partnumber, p.assembly, p.bin, p.notes AS partnotes,
1439
           p.inventory_accno_id AS part_inventory_accno_id, p.formel,
1440

  
1441
           pr.projectnumber,
1442
           pg.partsgroup,
1443
           prg.pricegroup
1419
           i.description, i.longdescription, i.qty, i.fxsellprice AS sellprice, i.discount, i.parts_id AS id, i.unit, i.deliverydate,
1420
           i.project_id, i.serialnumber, i.id AS invoice_pos, i.pricegroup_id, i.ordnumber, i.transdate, i.cusordnumber, i.subtotal, i.lastcost,
1421
           p.partnumber, p.assembly, p.bin, p.notes AS partnotes, p.inventory_accno_id AS part_inventory_accno_id, p.formel,
1422
           pr.projectnumber, pg.partsgroup, prg.pricegroup
1444 1423

  
1445 1424
         FROM invoice i
1446 1425
         LEFT JOIN parts p ON (i.parts_id = p.id)
......
1448 1427
         LEFT JOIN partsgroup pg ON (p.partsgroup_id = pg.id)
1449 1428
         LEFT JOIN pricegroup prg ON (i.pricegroup_id = prg.id)
1450 1429

  
1451
         LEFT JOIN chart c1 ON
1452
           ((SELECT inventory_accno_id
1453
             FROM buchungsgruppen
1454
             WHERE id = p.buchungsgruppen_id) = c1.id)
1455
         LEFT JOIN chart c2 ON
1456
           ((SELECT income_accno_id_${taxzone_id}
1457
             FROM buchungsgruppen
1458
             WHERE id=p.buchungsgruppen_id) = c2.id)
1459
         LEFT JOIN chart c3 ON
1460
           ((SELECT expense_accno_id_${taxzone_id}
1461
             FROM buchungsgruppen
1462
             WHERE id = p.buchungsgruppen_id) = c3.id)
1463

  
1464
         WHERE (i.trans_id = ?)
1465
           AND NOT (i.assemblyitem = '1')
1466
         ORDER BY i.id|;
1430
         LEFT JOIN chart c1 ON ((SELECT inventory_accno_id             FROM buchungsgruppen WHERE id = p.buchungsgruppen_id) = c1.id)
1431
         LEFT JOIN chart c2 ON ((SELECT income_accno_id_${taxzone_id}  FROM buchungsgruppen WHERE id = p.buchungsgruppen_id) = c2.id)
1432
         LEFT JOIN chart c3 ON ((SELECT expense_accno_id_${taxzone_id} FROM buchungsgruppen WHERE id = p.buchungsgruppen_id) = c3.id)
1433

  
1434
         WHERE (i.trans_id = ?) AND NOT (i.assemblyitem = '1') ORDER BY i.id|;
1467 1435

  
1468 1436
    $sth = prepare_execute_query($form, $dbh, $query, $id);
1469 1437

  
1470 1438
    while (my $ref = $sth->fetchrow_hashref(NAME_lc)) {
1471
      if (!$ref->{"part_inventory_accno_id"}) {
1472
        map({ delete($ref->{$_}); } qw(inventory_accno inventory_new_chart inventory_valid));
1473
      }
1439
      map({ delete($ref->{$_}); } qw(inventory_accno inventory_new_chart inventory_valid)) if !$ref->{"part_inventory_accno_id"};
1474 1440
      delete($ref->{"part_inventory_accno_id"});
1475 1441

  
1476 1442
      foreach my $type (qw(inventory income expense)) {
1477 1443
        while ($ref->{"${type}_new_chart"} && ($ref->{"${type}_valid"} >=0)) {
1478
          my $query =
1479
            qq|SELECT accno, new_chart_id, date($transdate) - valid_from
1480
               FROM chart
1481
               WHERE id = ?|;
1482
          ($ref->{"${type}_accno"},
1483
           $ref->{"${type}_new_chart"},
1484
           $ref->{"${type}_valid"})
1485
            = selectrow_query($form, $dbh, $query, $ref->{"${type}_new_chart"});
1444
          my $query = qq|SELECT accno, new_chart_id, date($transdate) - valid_from FROM chart WHERE id = ?|;
1445
          @$ref{ map $type.$_, qw(_accno _new_chart _valid) } = selectrow_query($form, $dbh, $query, $ref->{"${type}_new_chart"});
1486 1446
        }
1487 1447
      }
1488 1448

  
1489 1449
      # get tax rates and description
1490
      my $accno_id =
1491
        ($form->{vc} eq "customer") ? $ref->{income_accno} : $ref->{expense_accno};
1450
      my $accno_id = ($form->{vc} eq "customer") ? $ref->{income_accno} : $ref->{expense_accno};
1492 1451
      $query =
1493
        qq|SELECT c.accno, t.taxdescription, t.rate, t.taxnumber
1494
           FROM tax t
1452
        qq|SELECT c.accno, t.taxdescription, t.rate, t.taxnumber FROM tax t
1495 1453
           LEFT JOIN chart c ON (c.id = t.chart_id)
1496 1454
           WHERE t.id IN
1497
             (SELECT tk.tax_id
1498
              FROM taxkeys tk
1499
              WHERE tk.chart_id = (SELECT id FROM chart WHERE accno = ?)
1455
             (SELECT tk.tax_id FROM taxkeys tk
1456
              WHERE tk.chart_id = (SELECT id FROM chart WHERE accno = ?) 
1500 1457
                AND startdate <= date($transdate)
1501
              ORDER BY startdate DESC
1502
              LIMIT 1)
1458
              ORDER BY startdate DESC LIMIT 1)
1503 1459
           ORDER BY c.accno|;
1504 1460
      my $stw = prepare_execute_query($form, $dbh, $query, $accno_id);
1505 1461
      $ref->{taxaccounts} = "";
1506 1462
      my $i=0;
1507 1463
      while ($ptr = $stw->fetchrow_hashref(NAME_lc)) {
1508 1464

  
1509
        #    if ($customertax{$ref->{accno}}) {
1510 1465
        if (($ptr->{accno} eq "") && ($ptr->{rate} == 0)) {
1511 1466
          $i++;
1512 1467
          $ptr->{accno} = $i;
......
1523 1478
      }
1524 1479

  
1525 1480
      if ($form->{lizenzen}) {
1526
        $query =
1527
          qq|SELECT l.licensenumber, l.id AS licenseid
1528
             FROM license l, licenseinvoice li
1529
             WHERE l.id = li.license_id AND li.trans_id = ?|;
1530
        my ($licensenumber, $licenseid)
1531
          = selectrow_query($form, $dbh, $query, conv_i($ref->{invoice_pos}));
1481
        $query = qq|SELECT l.licensenumber, l.id AS licenseid FROM license l, licenseinvoice li WHERE l.id = li.license_id AND li.trans_id = ?|;
1482
        my ($licensenumber, $licenseid) = selectrow_query($form, $dbh, $query, conv_i($ref->{invoice_pos}));
1532 1483
        $ref->{lizenzen} = "<option value=\"$licenseid\">$licensenumber</option>";
1533 1484
      }
1534 1485

  

Auch abrufbar als: Unified diff