<?php
/* Metodos de acceso a los campos de la tabla VTA_ProductoFinalDet redefinidos por el usuario */
class VTA_ProductoFinalDetBN extends BaseVTA_ProductoFinalDetBN
{
    public function getObjectUnidad()
    {
        $o_MST_UnidadMastFN = new MST_UnidadMastFN();
        $o_MST_UnidadMastBN = $o_MST_UnidadMastFN->selectByPK( $this->getIdUnidad() );
        return $o_MST_UnidadMastBN;
    }
    
    public function getObjectItem()
    {
        $o_ALM_ItemMastFN = new ALM_ItemMastFN();
        $o_ALM_ItemMastBN = $o_ALM_ItemMastFN->selectByPK( $this->getIdItem() );
        if( !$o_ALM_ItemMastBN )
        {
            $o_ALM_ItemMastBN = new ALM_ItemMastBN();
        }
        return $o_ALM_ItemMastBN;
    }
    
    public function getStockFisico()
    {
        $f_StockFisico = 0;
        $o_ALM_ItemAlmacenStockFN = new ALM_ItemAlmacenStockFN();
        $o_ALM_ItemAlmacenStockFN->setIdAlmacen( $this->getIdAlmacen() );
        $o_ALM_ItemAlmacenStockFN->setIdItem( $this->getIdItem() );
        $a_ALM_ItemAlmacenStock = $o_ALM_ItemAlmacenStockFN->select();
        if( count( $a_ALM_ItemAlmacenStock ) == 1 )
        {
            $f_StockFisico = $a_ALM_ItemAlmacenStock[0]->getStockFisico();
        }
        else
        {
            foreach( $a_ALM_ItemAlmacenStock as $o_ALM_ItemAlmacenStockBN )
            {
                $f_StockFisico = $f_StockFisico + $o_ALM_ItemAlmacenStockBN->getStockFisico();
            }
        }
        return $f_StockFisico;
    }
}
?>