Changeset 645 for trunk/Modules/Finance


Ignore:
Timestamp:
Mar 25, 2014, 12:38:20 AM (11 years ago)
Author:
chronos
Message:
  • Přidáno: Typ sazby DPH jako samostatná tabulka.
Location:
trunk/Modules/Finance
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Modules/Finance/Finance.php

    r642 r645  
    1818define('DOC_LINE_ACCOUNT_IN', 3);
    1919define('DOC_LINE_ACCOUNT_OUT', 4);
     20define('VAT_TYPE_BASE', 2);
    2021
    2122
     
    292293    return($Output);
    293294  }
     295 
     296  function GetVATByType($TypeId)
     297  {
     298        $Time = time();
     299        $DbResult = $this->Database->select('FinanceVAT', 'Value', '(Type='.$TypeId.
     300      ') AND (ValidFrom <= "'.TimeToMysqlDate($Time).'") AND ((ValidTo >= "'.
     301      TimeToMysqlDate($Time).'") OR (ValidTo IS NULL)) LIMIT 1');
     302    $Row = $DbResult->fetch_array();
     303    return($Row[0]);
     304  }
    294305}
    295306
     
    383394        'Quantity' => array('Type' => 'Integer', 'Caption' => 'Množství', 'Default' => '1'),
    384395        'VAT' => array('Type' => 'Integer', 'Caption' => 'Daň', 'Default' => '21', 'Suffix' => '%'),
     396        'Total' => array('Type' => 'Integer', 'Caption' => 'Celkem', 'Default' => '', 'Suffix' => 'Kč',
     397          'ReadOnly' => true, 'SQL' => '`Price` * `Quantity`'),
    385398      ),
    386399    ));
     
    459472      ),
    460473    ));
     474    $this->System->FormManager->RegisterClass('FinanceVAT', array(
     475      'Title' => 'Sazby DPH',
     476      'Table' => 'FinanceVAT',
     477      'Items' => array(
     478        'Type' => array('Type' => 'TFinanceVATType', 'Caption' => 'Typ', 'Default' => ''),
     479        'ValidFrom' => array('Type' => 'Date', 'Caption' => 'Platnost od', 'Default' => ''),
     480        'ValidTo' => array('Type' => 'Date', 'Caption' => 'Platnost do', 'Default' => '', 'Null' => true),
     481        'Value' => array('Type' => 'Integer', 'Caption' => 'Hodnota', 'Default' => '', 'Suffix' => '%'),
     482      ),
     483    ));
     484    $this->System->FormManager->RegisterClass('FinanceVATType', array(
     485      'Title' => 'Sazby DPH',
     486      'Table' => 'FinanceVATType',
     487      'Items' => array(
     488        'Name' => array('Type' => 'String', 'Caption' => 'Název', 'Default' => ''),
     489      ),
     490    ));
    461491
    462492    $this->System->AddModule(new Bill($this->System));
  • trunk/Modules/Finance/Manage.php

    r639 r645  
    151151        $InvoiceItems = array();
    152152        $MonthlyTotal = 0;
    153         $DbResult2 = $this->Database->query('SELECT Service.*, FinanceVAT.Value AS VAT '.
    154           'FROM ServiceCustomerRel LEFT JOIN Service '.
    155           'ON Service.Id=ServiceCustomerRel.Service '.
    156           'LEFT JOIN FinanceVAT ON FinanceVAT.Id=Service.VAT '.
    157           'WHERE (ServiceCustomerRel.Customer='.
    158           $Member['Id'].') AND (ServiceCustomerRel.Action IS NULL) ');
     153        $DbResult2 = $this->Database->query('SELECT `Service`.* '.
     154          'FROM `ServiceCustomerRel` LEFT JOIN `Service` '.
     155          'ON `Service`.`Id`=`ServiceCustomerRel`.`Service` '.
     156          'WHERE (`ServiceCustomerRel`.`Customer`='.
     157          $Member['Id'].') AND (`ServiceCustomerRel`.`Action` IS NULL) ');
    159158        while($Service = $DbResult2->fetch_assoc())
    160159        {
    161160          $InvoiceItems[] = array('Description' => $Service['Name'], 'Price' => $Service['Price'],
    162             'Quantity' => $Period['MonthCount'], 'VAT' => $Service['VAT']);
     161            'Quantity' => $Period['MonthCount'], 'VAT' => $this->System->Modules['Finance']->GetVATByType($Service['VAT']));
    163162          $MonthlyTotal += $Service['Price'];
    164163        }
     
    166165        {
    167166          $InvoiceItems[] = array('Description' => 'Spotřeba energie', 'Price' => -$Member['MonthlyPlus'],
    168             'Quantity' => $Period['MonthCount'], 'VAT' => 2);
     167            'Quantity' => $Period['MonthCount'], 'VAT' => $this->System->Modules['Finance']->GetVATByType(VAT_TYPE_BASE));
    169168          $MonthlyTotal -= $Member['MonthlyPlus'];
    170169        }
Note: See TracChangeset for help on using the changeset viewer.