Ignore:
Timestamp:
Jan 1, 2013, 11:01:51 PM (12 years ago)
Author:
chronos
Message:
  • Upraveno: Údaje o firmě se v dokladech nyní generují obecně dle databáze a předvoleného hlavního id v konfiguračního souboru namísto fixních údajů.
  • Upraveno: Tabulka bankovních účtů nyní může obsahovat také účty vázané na ostatní subjekty.
  • Přidáno: Předchystání tabulek pro evidenci nabízených služeb zákazníkům.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/finance/manage.php

    r458 r477  
    1010  function Show()
    1111  {
    12     if(!$this->System->Modules['User']->CheckPermission('Finance', 'Manage')) return('Nemáte oprávnění');
    13 
    14     if(array_key_exists('Operation', $_GET)) $Operation = $_GET['Operation']; else $Operation = '';
     12    if(!$this->System->Modules['User']->CheckPermission('Finance', 'Manage'))
     13      return('Nemáte oprávnění');
     14
     15    if(array_key_exists('Operation', $_GET)) $Operation = $_GET['Operation'];
     16      else $Operation = '';
    1517    //$Operation = 'ImportOldData';
    1618    switch($Operation)
     
    143145  }
    144146
    145   function InsertLiability($Subject, $Value, $TimeCreation, $TimeDue, $Text, $DocumentLine)
     147  function InsertLiability($Subject, $Value, $TimeCreation, $TimeDue, $Text,
     148    $DocumentLine, $PeriodFrom, $PeriodTo)
    146149  {
    147150    global $LastInsertTime;
    148151
    149152    $BillCode = $this->System->Modules['Finance']->GetNextDocumentLineNumber($DocumentLine);
    150     $this->Database->insert('FinanceClaimsLiabilities', array('Text' => $Text, 'Subject' => $Subject, 'TimeCreation' => TimeToMysqlDateTime($TimeCreation), 'TimeDue' => TimeToMysqlDateTime($TimeDue), 'Value' => $Value, 'BillCode' => $BillCode));
     153    $this->Database->insert('FinanceClaimsLiabilities', array('Text' => $Text,
     154      'Subject' => $Subject, 'TimeCreation' => TimeToMysqlDateTime($TimeCreation),
     155      'TimeDue' => TimeToMysqlDateTime($TimeDue), 'Value' => $Value, 'BillCode' => $BillCode,
     156      'PeriodFrom' => TimeToMysqlDate($PeriodFrom), 'PeriodTo' => TimeToMysqlDate($PeriodTo)));
    151157    $Output = '.'; //$this->Database->LastQuery.'<br />';
    152158    //$LastInsertTime = $Time;
     
    240246    $Form->LoadvaluesFromForm();
    241247    //print_r($Form->Values);
    242     $this->InsertLiability($Form->Values['Subject'], $Form->Values['Value'], $Form->Values['TimeCreation'], $Form->Values['TimeDue'], $Form->Values['Text'], $Form->Values['DocumentLine']);
     248    $this->InsertLiability($Form->Values['Subject'], $Form->Values['Value'],
     249      $Form->Values['TimeCreation'], $Form->Values['TimeDue'], $Form->Values['Text'],
     250      $Form->Values['DocumentLine'], NULL, NULL);
    243251    $LastId = $this->Database->insert_id;
    244252    $DbResult = $this->Database->select('FinanceClaimsLiabilities', 'BillCode', 'Id='.$LastId);
     
    360368          $Output .= $TimePeriodText.': '.$Member['MonthlyTotal'].' * '.$Period['MonthCount'].' = '.$PayPerPeriod.'<br />';
    361369          $BillCode = $Finance->GetNextDocumentLineNumber(6); // Faktury vydané
    362           $BillId = $this->System->Modules['Bill']->CreateBill($Member['Subject'], array(array('Description' => 'Připojení k Internetu', 'Price' => $PayPerPeriod, 'Quantity' => 1)), time(), time() + 3600 * 24 * 15, $BillCode);
    363           $this->Database->insert('FinanceClaimsLiabilities', array('Value' => $PayPerPeriod, 'Subject' => $Member['Subject'], 'TimeCreation' => 'NOW()', 'TimeDue' => 'DATE_ADD(NOW(), INTERVAL 15 DAY)', 'Text' => 'Připojení k Internetu za období '.$TimePeriodText, 'Bill' => $BillId, 'BillCode' => $BillCode));
     370          $BillId = $this->System->Modules['Bill']->CreateBill($Member['Subject'],
     371            array(array('Description' => 'Připojení k Internetu', 'Price' => $PayPerPeriod,
     372            'Quantity' => 1)), time(), time() + 3600 * 24 * 15, $BillCode, $Period['From'], $Period['To']);
     373          $this->Database->insert('FinanceClaimsLiabilities', array('Value' => $PayPerPeriod,
     374            'Subject' => $Member['Subject'], 'TimeCreation' => 'NOW()',
     375            'TimeDue' => 'DATE_ADD(NOW(), INTERVAL 15 DAY)',
     376            'Text' => 'Připojení k Internetu za období '.$TimePeriodText,
     377            'Bill' => $BillId, 'BillCode' => $BillCode));
    364378          $Output .= $this->SendPaymentEmail($Member['Id']);
    365379          $this->Database->update('Member', 'Id='.$Member['Id'], array('BillingPeriodLastDate' => TimeToMysqlDateTime($Period['To'])));
     
    453467    while($Row = $DbResult->fetch_assoc())
    454468    {
    455       $BillId = $this->System->Modules['Bill']->CreateBill($Row['Subject'], array(array('Description' => $Row['Text'], 'Price' => $Row['Value'], 'Quantity' => 1)), MysqlDateTimeToTime($Row['TimeCreation']), MysqlDateTimeToTime($Row['TimeDue']), $Row['BillCode']);
     469      $BillId = $this->System->Modules['Bill']->CreateBill($Row['Subject'],
     470        array(array('Description' => $Row['Text'], 'Price' => $Row['Value'], 'Quantity' => 1)),
     471        MysqlDateTimeToTime($Row['TimeCreation']), MysqlDateTimeToTime($Row['TimeDue']),
     472        $Row['BillCode'], 'invoice', MysqlDateToTime($Row['PeriodFrom']), MysqlDateToTime($Row['PeriodTo']));
    456473      $this->Database->update('FinanceClaimsLiabilities', 'Id='.$Row['Id'], array('Bill' => $BillId));
    457474      echo('.');
Note: See TracChangeset for help on using the changeset viewer.