<?php
// Connection Component Binding
Doctrine_Manager::getInstance()->bindComponent('CA_FACTURA_POS', 'doctrine');

/**
 * BaseCA_FACTURA_POS
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 
 * @property integer $id_factura
 * @property integer $id_anhos
 * @property integer $id_punto_venta
 * @property integer $id_caja
 * @property integer $sec_factura
 * @property integer $id_mae_ter
 * @property timestamp $fecha_facturacion
 * @property decimal $valor_bruto
 * @property decimal $valor_iva
 * @property decimal $valor_total
 * @property integer $cajero
 * @property string $observaciones
 * @property integer $estado
 * @property timestamp $fecha_anu
 * @property string $motivo_anu
 * @property integer $id_estado_caja
 * @property ANHOS $ANHOS
 * @property CA_CAJA $CA_CAJA
 * @property CA_EJECUTIVO_CUENTA $CA_EJECUTIVO_CUENTA
 * @property CA_EJECUTIVO_CUENTA $CA_EJECUTIVO_CUENTA_4
 * @property CA_EJECUTIVO_CUENTA $CA_EJECUTIVO_CUENTA_5
 * @property CA_EJECUTIVO_CUENTA $CA_EJECUTIVO_CUENTA_6
 * @property INTERCEROS $INTERCEROS
 * @property Doctrine_Collection $CA_FACTURA_PAGO
 * @property Doctrine_Collection $CA_FACTURA_PROD
 * @property CA_ESTADO_CAJA $CA_ESTADO_CAJA
 * 
 * @method integer             getIdFactura()             Returns the current record's "id_factura" value
 * @method integer             getIdAnhos()               Returns the current record's "id_anhos" value
 * @method integer             getIdPuntoVenta()          Returns the current record's "id_punto_venta" value
 * @method integer             getIdCaja()                Returns the current record's "id_caja" value
 * @method integer             getSecFactura()            Returns the current record's "sec_factura" value
 * @method integer             getIdMaeTer()              Returns the current record's "id_mae_ter" value
 * @method timestamp           getFechaFacturacion()      Returns the current record's "fecha_facturacion" value
 * @method decimal             getValorBruto()            Returns the current record's "valor_bruto" value
 * @method decimal             getValorIva()              Returns the current record's "valor_iva" value
 * @method decimal             getValorTotal()            Returns the current record's "valor_total" value
 * @method integer             getCajero()                Returns the current record's "cajero" value
 * @method string              getObservaciones()         Returns the current record's "observaciones" value
 * @method integer             getEstado()                Returns the current record's "estado" value
 * @method timestamp           getFechaAnu()              Returns the current record's "fecha_anu" value
 * @method string              getMotivoAnu()             Returns the current record's "motivo_anu" value
 * @method ANHOS               getANHOS()                 Returns the current record's "ANHOS" value
 * @method CA_CAJA             getCACAJA()                Returns the current record's "CA_CAJA" value
 * @method CA_EJECUTIVO_CUENTA getCAEJECUTIVOCUENTA()     Returns the current record's "CA_EJECUTIVO_CUENTA" value
 * @method CA_EJECUTIVO_CUENTA getCAEJECUTIVOCUENTA4()    Returns the current record's "CA_EJECUTIVO_CUENTA_4" value
 * @method CA_EJECUTIVO_CUENTA getCAEJECUTIVOCUENTA5()    Returns the current record's "CA_EJECUTIVO_CUENTA_5" value
 * @method CA_EJECUTIVO_CUENTA getCAEJECUTIVOCUENTA6()    Returns the current record's "CA_EJECUTIVO_CUENTA_6" value
 * @method INTERCEROS          getINTERCEROS()            Returns the current record's "INTERCEROS" value
 * @method Doctrine_Collection getCAFACTURAPAGO()         Returns the current record's "CA_FACTURA_PAGO" collection
 * @method Doctrine_Collection getCAFACTURAPROD()         Returns the current record's "CA_FACTURA_PROD" collection
 * @method CA_ESTADO_CAJA      getCAESTADOCAJA()          Returns the current record's "CA_ESTADO_CAJA" value
 * @method CA_FACTURA_POS      setIdFactura()             Sets the current record's "id_factura" value
 * @method CA_FACTURA_POS      setIdAnhos()               Sets the current record's "id_anhos" value
 * @method CA_FACTURA_POS      setIdPuntoVenta()          Sets the current record's "id_punto_venta" value
 * @method CA_FACTURA_POS      setIdCaja()                Sets the current record's "id_caja" value
 * @method CA_FACTURA_POS      setSecFactura()            Sets the current record's "sec_factura" value
 * @method CA_FACTURA_POS      setIdMaeTer()              Sets the current record's "id_mae_ter" value
 * @method CA_FACTURA_POS      setFechaFacturacion()      Sets the current record's "fecha_facturacion" value
 * @method CA_FACTURA_POS      setValorBruto()            Sets the current record's "valor_bruto" value
 * @method CA_FACTURA_POS      setValorIva()              Sets the current record's "valor_iva" value
 * @method CA_FACTURA_POS      setValorTotal()            Sets the current record's "valor_total" value
 * @method CA_FACTURA_POS      setCajero()                Sets the current record's "cajero" value
 * @method CA_FACTURA_POS      setObservaciones()         Sets the current record's "observaciones" value
 * @method CA_FACTURA_POS      setEstado()                Sets the current record's "estado" value
 * @method CA_FACTURA_POS      setFechaAnu()              Sets the current record's "fecha_anu" value
 * @method CA_FACTURA_POS      setMotivoAnu()             Sets the current record's "motivo_anu" value
 * @method CA_FACTURA_POS      setIdEstadoCaja()          Sets the current record's "id_estado_caja" value
 * @method CA_FACTURA_POS      setANHOS()                 Sets the current record's "ANHOS" value
 * @method CA_FACTURA_POS      setCACAJA()                Sets the current record's "CA_CAJA" value
 * @method CA_FACTURA_POS      setCAEJECUTIVOCUENTA()     Sets the current record's "CA_EJECUTIVO_CUENTA" value
 * @method CA_FACTURA_POS      setCAEJECUTIVOCUENTA4()    Sets the current record's "CA_EJECUTIVO_CUENTA_4" value
 * @method CA_FACTURA_POS      setCAEJECUTIVOCUENTA5()    Sets the current record's "CA_EJECUTIVO_CUENTA_5" value
 * @method CA_FACTURA_POS      setCAEJECUTIVOCUENTA6()    Sets the current record's "CA_EJECUTIVO_CUENTA_6" value
 * @method CA_FACTURA_POS      setINTERCEROS()            Sets the current record's "INTERCEROS" value
 * @method CA_FACTURA_POS      setCAFACTURAPAGO()         Sets the current record's "CA_FACTURA_PAGO" collection
 * @method CA_FACTURA_POS      setCAFACTURAPROD()         Sets the current record's "CA_FACTURA_PROD" collection
 * @method CA_FACTURA_POS      setCAESTADOCAJA()          Sets the current record's "CA_ESTADO_CAJA" value
 * 
 * @package    cartera
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7691 2011-02-04 15:43:29Z jwage $
 */
abstract class BaseCA_FACTURA_POS extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('CA_FACTURA_POS');
        $this->hasColumn('id_factura', 'integer', 8, array(
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => true,
             'length' => 8,
             ));
        $this->hasColumn('id_anhos', 'integer', 8, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('id_punto_venta', 'integer', 8, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('id_caja', 'integer', 8, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('sec_factura', 'integer', 20, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('id_mae_ter', 'integer', 8, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('fecha_facturacion', 'timestamp', 7, array(
             'notnull' => true,
             'type' => 'timestamp',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 7,
             ));
        $this->hasColumn('valor_bruto', 'decimal', 18, array(
             'notnull' => true,
             'type' => 'decimal',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0 ',
             'primary' => false,
             'length' => 18,
             ));
        $this->hasColumn('valor_iva', 'decimal', 18, array(
             'notnull' => true,
             'type' => 'decimal',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0 ',
             'primary' => false,
             'length' => 18,
             ));
        $this->hasColumn('valor_total', 'decimal', 18, array(
             'notnull' => true,
             'type' => 'decimal',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0 ',
             'primary' => false,
             'length' => 18,
             ));
        $this->hasColumn('cajero', 'integer', 8, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('observaciones', 'string', 256, array(
             'notnull' => false,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 256,
             ));
        $this->hasColumn('estado', 'integer', 1, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '1 ',
             'primary' => false,
             'length' => 1,
             ));
        $this->hasColumn('fecha_anu', 'timestamp', 7, array(
             'notnull' => false,
             'type' => 'timestamp',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 7,
             ));
        $this->hasColumn('motivo_anu', 'string', 256, array(
             'notnull' => false,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 256,
             ));
        $this->hasColumn('id_estado_caja', 'integer', 8, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('valor_reten', 'decimal', 18, array(
             'notnull' => true,
             'type' => 'decimal',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0 ',
             'primary' => false,
             'length' => 18,
             ));
    }

    public function setUp()
    {
        parent::setUp();
        $this->hasOne('ANHOS', array(
             'local' => 'id_anhos',
             'foreign' => 'id_anhos'));

        $this->hasOne('CA_CAJA', array(
             'local' => 'id_caja',
             'foreign' => 'id_caja'));

        $this->hasOne('CA_EJECUTIVO_CUENTA', array(
             'local' => 'id_punto_venta',
             'foreign' => 'id_mae_ter'));

        $this->hasOne('CA_EJECUTIVO_CUENTA as CA_EJECUTIVO_CUENTA_4', array(
             'local' => 'cajero',
             'foreign' => 'id_mae_ter'));

        $this->hasOne('CA_EJECUTIVO_CUENTA as CA_EJECUTIVO_CUENTA_5', array(
             'local' => 'id_punto_venta',
             'foreign' => 'id_punto_venta'));

        $this->hasOne('CA_EJECUTIVO_CUENTA as CA_EJECUTIVO_CUENTA_6', array(
             'local' => 'cajero',
             'foreign' => 'id_punto_venta'));

        $this->hasOne('INTERCEROS', array(
             'local' => 'id_mae_ter',
             'foreign' => 'id_mae_ter'));

        $this->hasMany('CA_FACTURA_PAGO', array(
             'local' => 'id_factura',
             'foreign' => 'id_factura'));

        $this->hasMany('CA_FACTURA_PROD', array(
             'local' => 'id_factura',
             'foreign' => 'id_factura'));
        
        $this->hasOne('CA_ESTADO_CAJA', array(
             'local' => 'id_estado_caja',
             'foreign' => 'id_estado_caja'));
    }
}