Changeset 719 for trunk/Modules/Finance


Ignore:
Timestamp:
Jan 2, 2015, 11:16:56 PM (10 years ago)
Author:
chronos
Message:
  • Added: Support for Hidden items in form types values.
  • Added: Support for Filtered items in form types values.
  • Modified: FinanceOperation Value splitted to (Direction * Value). Direction can be +1 or -1 depends on if money goes out or in company.
  • Added: Menu "Incomes and spends" is now splitted to incomes/spends of bank account or treasury. Direction and document line is filled automatically.
Location:
trunk/Modules/Finance
Files:
6 edited

Legend:

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

    r680 r719  
    166166    //}
    167167    $BooleanText = array('Ne', 'Ano');
    168     if($Operation['Value'] < 0)
     168    if($Operation['Direction'] == -1)
    169169    $Desc = array(
    170170      'Type' => 'VÝDAJOVÝ',
    171171      'Signature' => 'Vydal',
    172       'Sign' => -1,
    173172      'Target' => 'Vydáno komu',
    174173    );
    175     else $Desc = array(
     174    else if($Operation['Direction'] == 1)
     175    $Desc = array(
    176176      'Type' => 'PŘÍJMOVÝ',
    177177      'Signature' => 'Přijal',
    178       'Sign' => 1,
    179178      'Target' => 'Přijato od',
    180179    );
     180    else throw new Exception('Wrong finance direction');
    181181
    182182    $Output = '<table width="100%" border="1" cellspacing="0" cellpadding="3"><tr><td width="50%">'.
     
    201201    if($Subject['DIC'] != '') $Output .= 'DIČ: '.$Subject['DIC'].'<br>';
    202202    $Description = $Operation['Text'];
    203     $Total = $Operation['Value'] * $Desc['Sign'];
    204203    $Output .= '</td></tr>'.
    205       '<tr><td colspan="2"><strong>Částka:</strong> '.$Total.' Kč<br><br>'.
     204      '<tr><td colspan="2"><strong>Částka:</strong> '.$Operation['Value'].' Kč<br><br>'.
    206205      '</td></tr>'.
    207206      '<tr><td colspan="2"><strong>Účel platby:</strong><br>'.$Description.'</td></tr>'.
  • trunk/Modules/Finance/Finance.php

    r718 r719  
    99define('TARIFF_FREE', 7);
    1010define('INVOICE_DUE_DAYS', 15);
    11 define('DOC_LINE_INVOICE_OUT', 6);
     11define('DOC_LINE_TREASURY_IN', 1);
     12define('DOC_LINE_TREASURY_OUT', 2);
    1213define('DOC_LINE_ACCOUNT_IN', 3);
    1314define('DOC_LINE_ACCOUNT_OUT', 4);
     15define('DOC_LINE_INVOICE_IN', 5);
     16define('DOC_LINE_INVOICE_OUT', 6);
    1417define('VAT_TYPE_BASE', 2);
    1518
     
    2326  var $InternetUsers;
    2427  var $SpravaUsers;
    25   var $InternetSegmentId = 21;
    2628  var $MaxSpeed;
    2729  var $RealMaxSpeed;
    2830  var $SpeedReserve;
    2931  var $BaseSpeedElement;
    30   var $UserIdNetwork = 46;
    3132  var $BaseTariffPrice;
    3233  var $TopTariffPrice;
     
    3435  var $TotalInternetPaid;
    3536  var $Tariffs;
    36   var $ExternalSubject = 96;
    3737  var $MainSubject;
    3838  var $BillingPeriods;
     
    186186    while($Member = $DbResult->fetch_assoc())
    187187    {
    188       $DbResult2 = $this->Database->query('SELECT ((SELECT COALESCE(SUM(Value), 0) FROM FinanceOperation '.
     188      $DbResult2 = $this->Database->query('SELECT ((SELECT COALESCE(SUM(-Value*Direction), 0) FROM FinanceOperation '.
    189189          'WHERE Subject='.$Member['Subject'].') + (SELECT COALESCE(SUM(-Value), 0) FROM FinanceInvoice '.
    190190          'WHERE Subject='.$Member['Subject'].')) as Cash');
     
    277277      'DefaultSortOrder' => 1,
    278278      'Items' => array(
    279         'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
     279        'Direction' => array('Type' => 'TFinanceDirection', 'Caption' => 'Směr', 'Default' => '1'),
     280        'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
    280281        'BillCode' => array('Type' => 'String', 'Caption' => 'Označení', 'Default' => ''),
    281282        'Subject' => array('Type' => 'TSubject', 'Caption' => 'Subjekt', 'Default' => ''),
     
    293294      ),
    294295      'BeforeInsert' => array($this, 'BeforeInsertFinanceOperation'),
     296    ));
     297   
     298    $this->System->FormManager->RegisterClass('FinanceTreasuryIn', $this->System->FormManager->Classes['FinanceOperation']);
     299    $this->System->FormManager->Classes['FinanceTreasuryIn']['Title'] = 'Pokladní příjmy';
     300    $this->System->FormManager->Classes['FinanceTreasuryIn']['Items']['Direction']['Default'] = 1;
     301    $this->System->FormManager->Classes['FinanceTreasuryIn']['Items']['Direction']['Hidden'] = true;
     302    $this->System->FormManager->Classes['FinanceTreasuryIn']['Items']['Direction']['Filter'] = true;
     303    $this->System->FormManager->Classes['FinanceTreasuryIn']['Items']['DocumentLine']['Default'] = DOC_LINE_TREASURY_IN;
     304    $this->System->FormManager->Classes['FinanceTreasuryIn']['Items']['DocumentLine']['Hidden'] = true;
     305    $this->System->FormManager->Classes['FinanceTreasuryIn']['Items']['DocumentLine']['Filter'] = true;
     306    $this->System->FormManager->Classes['FinanceTreasuryIn']['Items']['BankAccount']['Hidden'] = true;
     307       
     308    $this->System->FormManager->RegisterClass('FinanceTreasuryOut', $this->System->FormManager->Classes['FinanceOperation']);
     309    $this->System->FormManager->Classes['FinanceTreasuryOut']['Title'] = 'Pokladní výdeje';
     310    $this->System->FormManager->Classes['FinanceTreasuryOut']['Items']['Direction']['Default'] = -1;
     311    $this->System->FormManager->Classes['FinanceTreasuryOut']['Items']['Direction']['Hidden'] = true;
     312    $this->System->FormManager->Classes['FinanceTreasuryOut']['Items']['Direction']['Filter'] = true;
     313    $this->System->FormManager->Classes['FinanceTreasuryOut']['Items']['DocumentLine']['Default'] = DOC_LINE_TREASURY_OUT;
     314    $this->System->FormManager->Classes['FinanceTreasuryOut']['Items']['DocumentLine']['Hidden'] = true;
     315    $this->System->FormManager->Classes['FinanceTreasuryOut']['Items']['DocumentLine']['Filter'] = true;
     316    $this->System->FormManager->Classes['FinanceTreasuryOut']['Items']['BankAccount']['Hidden'] = true;
     317   
     318    $this->System->FormManager->RegisterClass('FinanceAccountIn', $this->System->FormManager->Classes['FinanceOperation']);
     319    $this->System->FormManager->Classes['FinanceAccountIn']['Title'] = 'Příjmy na účet';
     320    $this->System->FormManager->Classes['FinanceAccountIn']['Items']['Direction']['Default'] = 1;
     321    $this->System->FormManager->Classes['FinanceAccountIn']['Items']['Direction']['Hidden'] = true;
     322    $this->System->FormManager->Classes['FinanceAccountIn']['Items']['Direction']['Filter'] = true;
     323    $this->System->FormManager->Classes['FinanceAccountIn']['Items']['DocumentLine']['Default'] = DOC_LINE_ACCOUNT_IN;
     324    $this->System->FormManager->Classes['FinanceAccountIn']['Items']['DocumentLine']['Hidden'] = true;
     325    $this->System->FormManager->Classes['FinanceAccountIn']['Items']['DocumentLine']['Filter'] = true;
     326    $this->System->FormManager->Classes['FinanceAccountIn']['Items']['Treasury']['Hidden'] = true;
     327   
     328   
     329    $this->System->FormManager->RegisterClass('FinanceAccountOut', $this->System->FormManager->Classes['FinanceOperation']);
     330    $this->System->FormManager->Classes['FinanceAccountOut']['Title'] = 'Výdeje z účtu';
     331    $this->System->FormManager->Classes['FinanceAccountOut']['Items']['Direction']['Default'] = -1;
     332    $this->System->FormManager->Classes['FinanceAccountOut']['Items']['Direction']['Hidden'] = true;
     333    $this->System->FormManager->Classes['FinanceAccountOut']['Items']['Direction']['Filter'] = true;
     334    $this->System->FormManager->Classes['FinanceAccountOut']['Items']['DocumentLine']['Default'] = DOC_LINE_ACCOUNT_OUT;
     335    $this->System->FormManager->Classes['FinanceAccountOut']['Items']['DocumentLine']['Hidden'] = true;
     336    $this->System->FormManager->Classes['FinanceAccountOut']['Items']['DocumentLine']['Filter'] = true;
     337    $this->System->FormManager->Classes['FinanceAccountOut']['Items']['Treasury']['Hidden'] = true;
     338   
     339    $this->System->FormManager->RegisterFormType('TFinanceDirection', array(
     340      'Type' => 'Enumeration',
     341      'States' => array(-1 => 'Výdej', 1 => 'Příjem'),
    295342    ));
    296343    $this->System->FormManager->RegisterClass('FinanceInvoice', array(
     
    349396        'TimeCreate' => array('Type' => 'Date', 'Caption' => 'Čas vytvoření', 'Default' => ''),
    350397        'State' => array('Type' => 'Float', 'Caption' => 'Stav', 'Default' => '',
    351           'ReadOnly' => true, 'Suffix' => 'Kč', 'SQL' => '(SELECT SUM(`FinanceOperation`.`Value`) FROM `FinanceOperation` '.
     398          'ReadOnly' => true, 'Suffix' => 'Kč', 'SQL' => '(SELECT SUM(`FinanceOperation`.`Value` * `FinanceOperation`.`Direction`) FROM `FinanceOperation` '.
    352399          'WHERE `FinanceOperation`.`Treasury`=#Id)'),
    353400        'Operations' => array('Type' => 'TFinanceOperationListTreasury', 'Caption' => 'Operace', 'Default' => ''),
     
    379426        'LastImportId' => array('Type' => 'String', 'Caption' => 'Id posledního importu', 'Default' => ''),
    380427        'State' => array('Type' => 'Float', 'Caption' => 'Stav', 'Default' => '',
    381           'ReadOnly' => true, 'Suffix' => 'Kč', 'SQL' => '(SELECT SUM(`FinanceOperation`.`Value`) FROM `FinanceOperation` '.
     428          'ReadOnly' => true, 'Suffix' => 'Kč', 'SQL' => '(SELECT SUM(`FinanceOperation`.`Value` * `FinanceOperation`.`Direction`) FROM `FinanceOperation` '.
    382429          'WHERE `FinanceOperation`.`BankAccount`=#Id)'),
    383430      ),
  • trunk/Modules/Finance/Import.php

    r629 r719  
    120120  }
    121121 
    122   function InsertMoney($Subject, $Value, $Cash, $Taxable, $Time, $Text, $DocumentLine)
     122  function InsertMoney($Subject, $Value, $Direction, $Cash, $Taxable, $Time, $Text, $DocumentLine)
    123123  {
    124124    $Year = date('Y', $Time);
    125125    $BillCode = $this->System->Modules['Finance']->GetNextDocumentLineNumber($DocumentLine, $Year);
    126     // TODO: Fixed BankAccount=1
     126    // TODO: Fixed BankAccount=1, allow to select bank account for import
    127127    $this->Database->insert('FinanceOperation', array('Text' => $Text,
    128       'Subject' => $Subject, 'Cash' => $Cash, 'Value' => $Value,
     128      'Subject' => $Subject, 'Cash' => $Cash, 'Value' => $Value, 'Direction' => $Direction,
    129129      'Time' => TimeToMysqlDateTime($Time), 'Taxable' => $Taxable, 'BillCode' => $BillCode,
    130130      'BankAccount' => 1));
     
    139139    for($I = $_POST['ItemCount'] - 1; $I >= 0 ; $I--)
    140140    {
    141       if($_POST['Money'.$I] < 0) $DocumentLine = 4;
    142         else $DocumentLine = 3;
     141        // TODO: Use links to database records instead of contants
     142      if($_POST['Money'.$I] < 0) {
     143        $DocumentLine = 4;
     144        $Direction = -1;
     145      } else {
     146        $DocumentLine = 3;
     147        $Direction = 1;
     148      }
    143149      $Date = explode('-', $_POST['Date'.$I]);
    144150      $Date = mktime(0, 0, 0, $Date[1], $Date[2], $Date[0]);
    145       $this->InsertMoney($_POST['Subject'.$I], $_POST['Money'.$I], 0, $_POST['Taxable'.$I], $Date, $_POST['Text'.$I], $DocumentLine);
     151      $this->InsertMoney($_POST['Subject'.$I], Abs($_POST['Money'.$I]), $Direction, 0, $_POST['Taxable'.$I], $Date, $_POST['Text'.$I], $DocumentLine);
    146152      $Output .= $I.', ';
    147153      $this->System->ModuleManager->Modules['Log']->NewRecord('Finance', 'NewPaymentInserted');
  • trunk/Modules/Finance/Manage.php

    r715 r719  
    342342        '<th style="border-style: solid; border-width: 1px; padding: 1px 5px 1px 5px; text-align: center; font-weight: bold;">Popis</th>'.
    343343        '<th style="border-style: solid; border-width: 1px; padding: 1px 5px 1px 5px; text-align: center; font-weight: bold;">Částka [Kč]</th></tr>'."\n";
    344       $DbResult = $this->Database->query('SELECT T1.* FROM ((SELECT Text, Time, Value AS Value, File FROM FinanceOperation WHERE (Subject='.$Member['Subject'].')) UNION ALL '.
     344      $DbResult = $this->Database->query('SELECT T1.* FROM ((SELECT Text, Time, (Value*Direction) AS Value, File FROM FinanceOperation WHERE (Subject='.$Member['Subject'].')) UNION ALL '.
    345345        '(SELECT CONCAT(`Text`, (SELECT GROUP_CONCAT(`Description` SEPARATOR "<br/>") FROM `FinanceInvoiceItem` WHERE `FinanceInvoiceItem`.`FinanceInvoice` = `FinanceInvoice`.`Id`)) AS `Text`, Time, -Value as Value, File FROM FinanceInvoice WHERE (Subject='.
    346346        $Member['Subject'].')) ORDER BY Time DESC) AS T1 WHERE (T1.Time > "'.$Member['BillingPeriodLastDate'].'")');
  • trunk/Modules/Finance/UserState.php

    r700 r719  
    99  function ShowFinanceOperation($Subject)
    1010  {
    11         $UserOperationTableQuery = '((SELECT Text, Time, Value AS Value, File, BillCode, NULL AS PeriodFrom, NULL AS PeriodTo '.
     11        $UserOperationTableQuery = '((SELECT Text, Time, (Value*Direction) AS Value, File, BillCode, NULL AS PeriodFrom, NULL AS PeriodTo '.
    1212          'FROM FinanceOperation WHERE (Subject='.$Subject['Id'].')) UNION ALL '.
    1313                '(SELECT (SELECT GROUP_CONCAT(Description SEPARATOR ",") FROM FinanceInvoiceItem WHERE FinanceInvoice=FinanceInvoice.Id) AS Text, '.
     
    101101
    102102    // Account state
    103     $UserOperationTableQuery = '((SELECT Text, Time, Value AS Value, File, BillCode, NULL AS PeriodFrom, NULL AS PeriodTo '.
     103    $UserOperationTableQuery = '((SELECT Text, Time, (Value*Direction) AS Value, File, BillCode, NULL AS PeriodFrom, NULL AS PeriodTo '.
    104104      'FROM FinanceOperation WHERE (Subject='.$Subject['Id'].')) UNION ALL '.
    105105      '(SELECT (SELECT GROUP_CONCAT(Description SEPARATOR ",") FROM FinanceInvoiceItem WHERE FinanceInvoice=FinanceInvoice.Id) AS Text, '.
  • trunk/Modules/Finance/Zivnost.php

    r710 r719  
    66  var $ShortTitle = 'Daňová evidence';
    77  var $ParentClass = 'PageFinance';
    8   var $ExternalSubject = 96;
    98  var $StartEvidence = 0;
    109
     
    1211  {
    1312    $Balance = array();
    14     $DbResult = $this->Database->query('SELECT SUM(Value) FROM FinanceOperation WHERE (Time < "'.TimeToMysqlDateTime($StartTime).'") AND (Time >= "'.TimeToMysqlDateTime($this->StartEvidence).'") AND (Taxable = 1) AND (Value > 0)');
     13    $DbResult = $this->Database->query('SELECT SUM(Value) FROM FinanceOperation WHERE (Time < "'.TimeToMysqlDateTime($StartTime).'") AND (Time >= "'.TimeToMysqlDateTime($this->StartEvidence).'") AND (Taxable = 1) AND (Direction = 1)');
    1514    $Row = $DbResult->fetch_array();
    1615    $Balance['Income']['Start'] = $Row[0] + 0;
    17     $DbResult = $this->Database->query('SELECT SUM(Value) FROM FinanceOperation WHERE (Time <= "'.TimeToMysqlDateTime($EndTime).'") AND (Time >= "'.TimeToMysqlDateTime($this->StartEvidence).'") AND (Taxable = 1) AND (Value > 0)');
     16    $DbResult = $this->Database->query('SELECT SUM(Value) FROM FinanceOperation WHERE (Time <= "'.TimeToMysqlDateTime($EndTime).'") AND (Time >= "'.TimeToMysqlDateTime($this->StartEvidence).'") AND (Taxable = 1) AND (Direction = 1)');
    1817    //echo('SELECT SUM(Value) FROM FinanceCashFlow WHERE Time <= "'.TimeToMysqlDateTime($EndTime).'" AND Value > 0 AND Taxable = 1'.'<br />');
    1918    $Row = $DbResult->fetch_array();
    2019    $Balance['Income']['End'] = $Row[0] + 0;
    2120
    22     $DbResult = $this->Database->query('SELECT SUM(-Value) FROM FinanceOperation WHERE (Time < "'.TimeToMysqlDateTime($StartTime).'") AND (Time >= "'.TimeToMysqlDateTime($this->StartEvidence).'") AND (Taxable = 1) AND (Value < 0)');
     21    $DbResult = $this->Database->query('SELECT -SUM(Value*Direction) FROM FinanceOperation WHERE (Time < "'.TimeToMysqlDateTime($StartTime).'") AND (Time >= "'.TimeToMysqlDateTime($this->StartEvidence).'") AND (Taxable = 1) AND (Direction = -1)');
    2322    $Row = $DbResult->fetch_array();
    2423    $Balance['Spend']['Start'] = $Row[0] + 0;
    25     $DbResult = $this->Database->query('SELECT SUM(-Value) FROM FinanceOperation WHERE (Time <= "'.TimeToMysqlDateTime($EndTime).'") AND (Time >= "'.TimeToMysqlDateTime($this->StartEvidence).'") AND (Taxable = 1) AND (Value < 0)');
     24    $DbResult = $this->Database->query('SELECT -SUM(Value*Direction) FROM FinanceOperation WHERE (Time <= "'.TimeToMysqlDateTime($EndTime).'") AND (Time >= "'.TimeToMysqlDateTime($this->StartEvidence).'") AND (Taxable = 1) AND (Direction = -1)');
    2625          //echo('SELECT -SUM(Value) FROM FinanceCashFlow WHERE Time <= "'.TimeToMysqlDateTime($EndTime).'" AND Value < 0 AND Taxable = 1'.'<br />');
    2726    $Row = $DbResult->fetch_array();
     
    147146        $Output .= '<tr><th>Čas</th><th>Kód</th><th>Subjekt</th><th>Text</th><th>Hodnota [Kč]</th><th>Daňový</th><th>Hotovost</th></tr>';       
    148147        $DbResult = $this->Database->query('SELECT * FROM FinanceOperation LEFT JOIN Subject ON Subject.Id = FinanceOperation.Subject '.
    149           'WHERE (Value > 0) AND (FinanceOperation.Time >= "'.$Year['DateStart'].'") AND (FinanceOperation.Time <= "'.$Year['DateEnd'].'") ORDER BY Time');
     148          'WHERE (Direction = 1) AND (FinanceOperation.Time >= "'.$Year['DateStart'].'") AND (FinanceOperation.Time <= "'.$Year['DateEnd'].'") ORDER BY Time');
    150149        while($Row = $DbResult->fetch_array())
    151150        {
     
    177176        $Output .= '<tr><th>Čas</th><th>Kód</th><th>Subjekt</th><th>Text</th><th>Hodnota [Kč]</th><th>Daňový</th><th>Hotovost</th></tr>';       
    178177        $DbResult = $this->Database->query('SELECT * FROM FinanceOperation LEFT JOIN Subject ON Subject.Id = FinanceOperation.Subject '.
    179           'WHERE (Value < 0) AND (FinanceOperation.Time >= "'.$Year['DateStart'].'") AND (FinanceOperation.Time <= "'.$Year['DateEnd'].'") ORDER BY Time');
     178          'WHERE (Direction = -1) AND (FinanceOperation.Time >= "'.$Year['DateStart'].'") AND (FinanceOperation.Time <= "'.$Year['DateEnd'].'") ORDER BY Time');
    180179        while($Row = $DbResult->fetch_array())
    181180        {
    182181          $Row['Time'] = explode(' ', $Row['Time']);
    183182          $Row['Time'] = $Row['Time'][0];
    184           $Row['Value'] = $Row['Value'] * -1;
     183          $Row['Value'] = $Row['Value'];
    185184          $Output .= '<tr><td>'.HumanDate($Row['Time']).'</td><td>'.$Row['BillCode'].'</td><td>'.$Row['Name'].'</td><td>'.$Row['Text'].'</td><td>'.$Row['Value'].'</td><td>'.$Table[$Row['Taxable']].'</td><td>'.$Table[$Row['Cash']].'</td></tr>';
    186185          $Total += $Row['Value'];
     
    250249        '(SELECT -SUM(T3.Value) FROM FinanceInvoice AS T3 WHERE (T3.Subject = Subject.Id) AND (T3.Value  < 0)) as Liabilities, '.
    251250        '(SELECT -SUM(T4.Value) FROM FinanceInvoice AS T4 WHERE (T4.Subject = Subject.Id) AND (T4.Value < 0) AND (TimePayment IS NULL)) AS OpenedLiabilities, '.
    252         '(SELECT SUM(T5.Value) FROM FinanceOperation AS T5 WHERE (T5.Subject = Subject.Id) AND (T5.Value > 0)) AS Gains, '.
    253         '(SELECT -SUM(T6.Value) FROM FinanceOperation AS T6 WHERE (T6.Subject = Subject.Id) AND (T6.Value < 0)) AS Spends '.
     251        '(SELECT SUM(T5.Value*T5.Direction) FROM FinanceOperation AS T5 WHERE (T5.Subject = Subject.Id) AND (T5.Direction = 1)) AS Gains, '.
     252        '(SELECT SUM(T6.Value*T6.Direction) FROM FinanceOperation AS T6 WHERE (T6.Subject = Subject.Id) AND (T6.Direction = -1)) AS Spends '.
    254253        'FROM Subject ORDER BY Name');
    255254        while($Row = $DbResult->fetch_assoc())
     
    281280        {
    282281          $Output .= '<tr><td>'.HumanDate($Row['Time']).'</td><td>'.$Row['Text'].
    283             '</td><td>'.$Row['Value'].'</td><td>'.$Row['BillCode'].'</td></tr>';
     282            '</td><td>'.($Row['Value']*$Row['Direction']).'</td><td>'.$Row['BillCode'].'</td></tr>';
    284283        }
    285284        $Output .= '</table></td><td style="vertical-align: top;">';
     
    315314          'Liabilities, (SELECT SUM(FinanceInvoice.Value) FROM FinanceInvoice '.
    316315          'WHERE FinanceInvoice.Subject = Subject.Id AND FinanceInvoice.Value < 0 '.
    317           'AND TimePayment IS NULL) as OpenedLiabilities, (SELECT SUM(FinanceOperation.Value) '.
    318           'FROM FinanceOperation WHERE FinanceOperation.Subject = Subject.Id AND FinanceOperation.Value > 0) '.
    319           'AS Gains, (SELECT SUM(FinanceOperation.Value) FROM FinanceOperation WHERE '.
    320           'FinanceOperation.Subject = Subject.Id AND FinanceOperation.Value < 0) as Spends '.
     316          'AND TimePayment IS NULL) as OpenedLiabilities, (SELECT SUM(FinanceOperation.Value*FinanceOperation.Direction) '.
     317          'FROM FinanceOperation WHERE FinanceOperation.Subject = Subject.Id AND FinanceOperation.Direction = 1) '.
     318          'AS Gains, (SELECT SUM(FinanceOperation.Value*FinanceOperation.Direction) FROM FinanceOperation WHERE '.
     319          'FinanceOperation.Subject = Subject.Id AND FinanceOperation.Direction = -1) as Spends '.
    321320          'FROM Subject WHERE Id='.$_GET['Id']);
    322321        $Row = $DbResult->fetch_array();
Note: See TracChangeset for help on using the changeset viewer.