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

/**
 * BaseCA_PRODUCTO
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 
 * @property integer $id_producto
 * @property string $codigo
 * @property string $descripcion
 * @property integer $id_unidad_medida
 * @property integer $id_grupo
 * @property string $cod_dian
 * @property integer $id_area
 * @property decimal $precio_ven_pub
 * @property integer $id_clasificacion_tributaria
 * @property integer $iva
 * @property integer $estado
 * @property integer $id_tipo_debito
 * @property integer $referencia
 * @property integer $id_referencia
 * @property decimal $por_iva
 * @property decimal $valor_unitario
 * @property AREAS $AREAS
 * @property CA_CLASIF_TRIBUTARIA $CA_CLASIF_TRIBUTARIA
 * @property CA_TIPO_DEBITO $CA_TIPO_DEBITO
 * @property CA_UNIDAD_MEDIDA $CA_UNIDAD_MEDIDA
 * @property TS_GI $TS_GI
 * @property Doctrine_Collection $CA_TIPO_CALCULO
 * @property Doctrine_Collection $CA_FACTURA_PROD
 * @property Doctrine_Collection $CA_DEBITO_DETALLE
 * 
 * @method integer              getIdProducto()                  Returns the current record's "id_producto" value
 * @method string               getCodigo()                      Returns the current record's "codigo" value
 * @method string               getDescripcion()                 Returns the current record's "descripcion" value
 * @method integer              getIdUnidadMedida()              Returns the current record's "id_unidad_medida" value
 * @method integer              getIdGrupo()                     Returns the current record's "id_grupo" value
 * @method string               getCodDian()                     Returns the current record's "cod_dian" value
 * @method integer              getIdArea()                      Returns the current record's "id_area" value
 * @method decimal              getPrecioVenPub()                Returns the current record's "precio_ven_pub" value
 * @method integer              getIdClasificacionTributaria()   Returns the current record's "id_clasificacion_tributaria" value
 * @method integer              getIva()                         Returns the current record's "iva" value
 * @method integer              getEstado()                      Returns the current record's "estado" value
 * @method integer              getIdTipoDebito()                Returns the current record's "id_tipo_debito" value
 * @method integer              getReferencia()                  Returns the current record's "referencia" value
 * @method integer              getIdReferencia()                Returns the current record's "id_referencia" value
 * @method decimal              getPorIva()                      Returns the current record's "por_iva" value
 * @method decimal              getValorUnitario()               Returns the current record's "valor_unitario" value
 * @method AREAS                getAREAS()                       Returns the current record's "AREAS" value
 * @method CA_CLASIF_TRIBUTARIA getCACLASIFTRIBUTARIA()          Returns the current record's "CA_CLASIF_TRIBUTARIA" value
 * @method CA_TIPO_DEBITO       getCATIPODEBITO()                Returns the current record's "CA_TIPO_DEBITO" value
 * @method CA_UNIDAD_MEDIDA     getCAUNIDADMEDIDA()              Returns the current record's "CA_UNIDAD_MEDIDA" value
 * @method TS_GI                getTSGI()                        Returns the current record's "TS_GI" value
 * @method Doctrine_Collection  getCATIPOCALCULO()               Returns the current record's "CA_TIPO_CALCULO" collection
 * @method Doctrine_Collection  getCAFACTURAPROD()               Returns the current record's "CA_FACTURA_PROD" collection
 * @method Doctrine_Collection  getCADEBITODETALLE()             Returns the current record's "CA_DEBITO_DETALLE" collection
 * @method CA_PRODUCTO          setIdProducto()                  Sets the current record's "id_producto" value
 * @method CA_PRODUCTO          setCodigo()                      Sets the current record's "codigo" value
 * @method CA_PRODUCTO          setDescripcion()                 Sets the current record's "descripcion" value
 * @method CA_PRODUCTO          setIdUnidadMedida()              Sets the current record's "id_unidad_medida" value
 * @method CA_PRODUCTO          setIdGrupo()                     Sets the current record's "id_grupo" value
 * @method CA_PRODUCTO          setCodDian()                     Sets the current record's "cod_dian" value
 * @method CA_PRODUCTO          setIdArea()                      Sets the current record's "id_area" value
 * @method CA_PRODUCTO          setPrecioVenPub()                Sets the current record's "precio_ven_pub" value
 * @method CA_PRODUCTO          setIdClasificacionTributaria()   Sets the current record's "id_clasificacion_tributaria" value
 * @method CA_PRODUCTO          setIva()                         Sets the current record's "iva" value
 * @method CA_PRODUCTO          setEstado()                      Sets the current record's "estado" value
 * @method CA_PRODUCTO          setIdTipoDebito()                Sets the current record's "id_tipo_debito" value
 * @method CA_PRODUCTO          setReferencia()                  Sets the current record's "referencia" value
 * @method CA_PRODUCTO          setIdReferencia()                Sets the current record's "id_referencia" value
 * @method CA_PRODUCTO          setPorIva()                      Sets the current record's "por_iva" value
 * @method CA_PRODUCTO          setValorUnitario()               Sets the current record's "valor_unitario" value
 * @method CA_PRODUCTO          setAREAS()                       Sets the current record's "AREAS" value
 * @method CA_PRODUCTO          setCACLASIFTRIBUTARIA()          Sets the current record's "CA_CLASIF_TRIBUTARIA" value
 * @method CA_PRODUCTO          setCATIPODEBITO()                Sets the current record's "CA_TIPO_DEBITO" value
 * @method CA_PRODUCTO          setCAUNIDADMEDIDA()              Sets the current record's "CA_UNIDAD_MEDIDA" value
 * @method CA_PRODUCTO          setTSGI()                        Sets the current record's "TS_GI" value
 * @method CA_PRODUCTO          setCATIPOCALCULO()               Sets the current record's "CA_TIPO_CALCULO" collection
 * @method CA_PRODUCTO          setCAFACTURAPROD()               Sets the current record's "CA_FACTURA_PROD" collection
 * @method CA_PRODUCTO          setCADEBITODETALLE()             Sets the current record's "CA_DEBITO_DETALLE" collection
 * 
 * @package    cobro_coactivo
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7691 2011-02-04 15:43:29Z jwage $
 */
abstract class BaseCA_PRODUCTO extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('CA_PRODUCTO');
        $this->hasColumn('id_producto', 'integer', 8, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => true,
             'length' => 8,
             ));
        $this->hasColumn('codigo', 'string', 10, array(
             'notnull' => true,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 10,
             ));
        $this->hasColumn('descripcion', 'string', 256, array(
             'notnull' => true,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 256,
             ));
        $this->hasColumn('id_unidad_medida', 'integer', 8, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('id_grupo', 'integer', 8, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('cod_dian', 'string', 6, array(
             'notnull' => false,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 6,
             ));
        $this->hasColumn('id_area', 'integer', 8, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('precio_ven_pub', 'decimal', 18, array(
             'notnull' => false,
             'type' => 'decimal',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0',
             'primary' => false,
             'length' => 18,
             ));
        $this->hasColumn('id_clasificacion_tributaria', 'integer', 8, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('iva', 'integer', 8, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0',
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('estado', 'integer', 8, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0',
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('id_tipo_debito', 'integer', 20, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('referencia', 'integer', 8, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0',
             'primary' => false,
             'length' => 8,
             ));
        $this->hasColumn('id_referencia', 'integer', 20, array(
             'notnull' => false,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('por_iva', 'decimal', 18, array(
             'notnull' => false,
             'type' => 'decimal',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0',
             'primary' => false,
             'length' => 18,
             ));
        $this->hasColumn('valor_unitario', 'decimal', 18, array(
             'notnull' => false,
             'type' => 'decimal',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0
                ',
             'primary' => false,
             'length' => 18,
             ));
    }

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

        $this->hasOne('CA_CLASIF_TRIBUTARIA', array(
             'local' => 'id_clasificacion_tributaria',
             'foreign' => 'id_clasificacion_tributaria'));

        $this->hasOne('CA_TIPO_DEBITO', array(
             'local' => 'id_tipo_debito',
             'foreign' => 'id_tipo_debito'));

        $this->hasOne('CA_UNIDAD_MEDIDA', array(
             'local' => 'id_unidad_medida',
             'foreign' => 'id_unidad_medida'));

        $this->hasOne('TS_GI', array(
             'local' => 'id_grupo',
             'foreign' => 'id'));

        $this->hasMany('CA_TIPO_CALCULO', array(
             'local' => 'id_producto',
             'foreign' => 'id_producto'));

        $this->hasMany('CA_FACTURA_PROD', array(
             'local' => 'id_producto',
             'foreign' => 'id_producto'));

        $this->hasMany('CA_DEBITO_DETALLE', array(
             'local' => 'id_producto',
             'foreign' => 'id_producto'));
    }
}