Ignore:
Timestamp:
Dec 29, 2014, 12:09:46 AM (10 years ago)
Author:
chronos
Message:
File:
1 edited

Legend:

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

    r679 r710  
    3030        'Code' => array('Type' => 'String', 'Caption' => 'Kód', 'Default' => ''),
    3131        'UnitOfMeasure' => array('Type' => 'TUnitOfMeasure', 'Caption' => 'Měrná jednotka', 'Default' => '', 'Null' => true),
    32         'StockItems' => array('Type' => 'TStockItemListProduct', 'Caption' => 'Položky na skladě', 'Default' => '', 'Suffix' => 'ks'),
     32        'StockSerialNumbers' => array('Type' => 'TStockSerialNumberListProduct', 'Caption' => 'Položky na skladě', 'Default' => '', 'Suffix' => 'ks'),
    3333        'NetworkDevices' => array('Type' => 'TNetworkDeviceListProduct', 'Caption' => 'Síťová zařízení', 'Default' => ''),
    3434      ),
    3535    ));
    36     $this->System->FormManager->RegisterClass('StockItem', array(
     36    $this->System->FormManager->RegisterClass('StockSerialNumber', array(
    3737      'Title' => 'Skladové položky',
    38       'Table' => 'StockItem',
     38      'Table' => 'StockSerialNumber',
    3939      'DefaultSortColumn' => 'Id',
    4040      'Items' => array(
     
    5151        'Segment' => array('Type' => 'TNetworkSegment', 'Caption' => 'Úsek sítě', 'Default' => '', 'Null' => true),
    5252        'Info' => array('Type' => 'Text', 'Caption' => 'Informace', 'Default' => ''),
    53         'Esemble' => array('Type' => 'TStockItem', 'Caption' => 'Celek', 'Default' => ''),
    54         'Parts' => array('Type' => 'TStockItemListStockItem', 'Caption' => 'Části', 'Default' => ''),
     53        'Esemble' => array('Type' => 'TStockSerialNumber', 'Caption' => 'Celek', 'Default' => ''),
     54        'Parts' => array('Type' => 'TStockSerialNumberListStockSerialNumber', 'Caption' => 'Části', 'Default' => ''),
    5555      ),
    5656    ));
     
    6262        'Name' => array('Type' => 'String', 'Caption' => 'Jméno', 'Default' => ''),
    6363        'Location' => array('Type' => 'TMember', 'Caption' => 'Umístění', 'Default' => '', 'Null' => true),
    64         'Items' => array('Type' => 'TStockItemListStock', 'Caption' => 'Položky', 'Default' => ''),
     64        'Items' => array('Type' => 'TStockSerialNumberListStock', 'Caption' => 'Položky', 'Default' => ''),
    6565        'ItemsCount' => array('Type' => 'Integer', 'Caption' => 'Položek', 'Default' => '',
    66           'ReadOnly' => true, 'SQL' => '(SELECT COUNT(*) FROM `StockItem` WHERE '.
    67           '(`StockItem`.`Stock`=#Id) AND (`StockItem`.`TimeElimination` IS NULL))'),
     66          'ReadOnly' => true, 'SQL' => '(SELECT COUNT(*) FROM `StockSerialNumber` WHERE '.
     67          '(`StockSerialNumber`.`Stock`=#Id) AND (`StockSerialNumber`.`TimeElimination` IS NULL))'),
    6868        'TotalPrice' => array('Type' => 'Integer', 'Caption' => 'Celková cena', 'Default' => '',
    69           'ReadOnly' => true, 'SQL' => '(SELECT SUM(`SellPrice`) FROM `StockItem` WHERE '.
    70           '(`StockItem`.`Stock`=#Id) AND (`StockItem`.`TimeElimination` IS NULL))', 'Suffix' => 'Kč'),
     69          'ReadOnly' => true, 'SQL' => '(SELECT SUM(`SellPrice`) FROM `StockSerialNumber` WHERE '.
     70          '(`StockSerialNumber`.`Stock`=#Id) AND (`StockSerialNumber`.`TimeElimination` IS NULL))', 'Suffix' => 'Kč'),
    7171      ),
    7272    ));
     73    $this->System->FormManager->RegisterClass('StockMove', array(
     74      'Title' => 'Skladový pohyb',
     75      'Table' => 'StockMove',
     76      'DefaultSortColumn' => 'Time',
     77      'Items' => array(
     78        'DocumentLine' => array('Type' => 'TDocumentLine', 'Caption' => 'Dokladová řada', 'Default' => ''),
     79        'BillCode' => array('Type' => 'String', 'Caption' => 'Označení', 'Default' => ''),
     80        'Time' => array('Type' => 'DateTime', 'Caption' => 'Čas', 'Default' => ''),
     81        'StockFrom' => array('Type' => 'TStock', 'Caption' => 'Zdrojový sklad', 'Default' => '', 'Null' => true),
     82        'StockTo' => array('Type' => 'TStock', 'Caption' => 'Cílový sklad', 'Default' => '', 'Null' => true),
     83        'File' => array('Type' => 'TFile', 'Caption' => 'Doklad', 'Default' => '', 'Null' => true),
     84        'Price' => array('Type' => 'Float', 'Caption' => 'Cena', 'Default' => '',
     85          'ReadOnly' => true, 'Suffix' => 'Kč', 'SQL' => '(SELECT SUM(`StockMoveItem`.`UnitPrice` * `StockMoveItem`.`Amount`) FROM `StockMoveItem` '.
     86          'WHERE `StockMoveItem`.`StockMove`=#Id)'),
     87        'Items' => array('Type' => 'TStockMoveItemListStockMove', 'Caption' => 'Položky', 'Default' => ''),
     88      ),       
     89      'BeforeInsert' => array($this, 'BeforeInsertStockMove'),
     90    ));
     91    $this->System->FormManager->RegisterClass('StockMoveItem', array(
     92      'Title' => 'Položka skladového pohybu',
     93      'Table' => 'StockMoveItem',
     94      'DefaultSortColumn' => 'Text',
     95      'Items' => array(
     96        'StockMove' => array('Type' => 'TStockMove', 'Caption' => 'Skladový pohyb', 'Default' => ''),
     97        'Product' => array('Type' => 'TProduct', 'Caption' => 'Produkt', 'Default' => ''),
     98        'Amount' => array('Type' => 'Integer', 'Caption' => 'Množství', 'Default' => '1'),
     99        'Text' => array('Type' => 'String', 'Caption' => 'Text', 'Default' => ''),
     100        'UnitPrice' => array('Type' => 'Integer', 'Caption' => 'Jednotková cena', 'Default' => '0', 'Suffix' => 'Kč'),
     101      ),       
     102    ));
     103    $this->System->FormManager->RegisterFormType('TStockMoveItemListStockMove', array(
     104      'Type' => 'ManyToOne',
     105      'Table' => 'StockMoveItem',
     106      'Id' => 'Id',
     107      'Ref' => 'StockMove',
     108      'Filter' => '1',
     109    )); 
     110    $this->System->FormManager->RegisterFormType('TStockMove', array(
     111      'Type' => 'Reference',
     112      'Table' => 'StockMove',
     113      'Id' => 'Id',
     114      'Name' => 'BillCode',
     115      'Filter' => '1',
     116    ));
     117  }
     118
     119  function BeforeInsertStockMove($Form)
     120  {
     121        if(array_key_exists('Time', $Form->Values)) $Year = date("Y", $Form->Values['Time']);
     122          else $Year = date("Y", $Form->Values['ValidFrom']);
     123    $DocumentLine = $Form->Values['DocumentLine'];
     124    $Form->Values['BillCode'] = $this->System->Modules['Finance']->GetNextDocumentLineNumber($DocumentLine, $Year);
     125    return($Form->Values);
    73126  }
    74127}
Note: See TracChangeset for help on using the changeset viewer.