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

/**
 * BaseNO_MODIFICA_RETEFUENTE
 * 
 * This class has been auto-generated by the Doctrine ORM Framework
 * 
 * @property integer $id_modifica_retefuente
 * @property integer $id_tipo_doc
 * @property string $num_doc
 * @property integer $id_concep_nomina
 * @property decimal $porcentaje
 * @property string $observaciones
 * @property timestamp $fecha
 * @property integer $id_periodo
 * @property DATOS_FUNCIONARIO $DATOS_FUNCIONARIO
 * @property DATOS_FUNCIONARIO $DATOS_FUNCIONARIO_2
 * @property DATOS_FUNCIONARIO $DATOS_FUNCIONARIO_3
 * @property DATOS_FUNCIONARIO $DATOS_FUNCIONARIO_4
 * @property NO_CONCEP_NOMINA $NO_CONCEP_NOMINA
 * @property NO_PERIODO $NO_PERIODO
 * 
 * @method integer                getIdModificaRetefuente()   Returns the current record's "id_modifica_retefuente" value
 * @method integer                getIdTipoDoc()              Returns the current record's "id_tipo_doc" value
 * @method string                 getNumDoc()                 Returns the current record's "num_doc" value
 * @method integer                getIdConcepNomina()         Returns the current record's "id_concep_nomina" value
 * @method decimal                getPorcentaje()             Returns the current record's "porcentaje" value
 * @method string                 getObservaciones()          Returns the current record's "observaciones" value
 * @method timestamp              getFecha()                  Returns the current record's "fecha" value
 * @method integer                getIdPeriodo()              Returns the current record's "id_periodo" value
 * @method DATOS_FUNCIONARIO      getDATOSFUNCIONARIO()       Returns the current record's "DATOS_FUNCIONARIO" value
 * @method DATOS_FUNCIONARIO      getDATOSFUNCIONARIO2()      Returns the current record's "DATOS_FUNCIONARIO_2" value
 * @method DATOS_FUNCIONARIO      getDATOSFUNCIONARIO3()      Returns the current record's "DATOS_FUNCIONARIO_3" value
 * @method DATOS_FUNCIONARIO      getDATOSFUNCIONARIO4()      Returns the current record's "DATOS_FUNCIONARIO_4" value
 * @method NO_CONCEP_NOMINA       getNOCONCEPNOMINA()         Returns the current record's "NO_CONCEP_NOMINA" value
 * @method NO_PERIODO             getNOPERIODO()              Returns the current record's "NO_PERIODO" value
 * @method NO_MODIFICA_RETEFUENTE setIdModificaRetefuente()   Sets the current record's "id_modifica_retefuente" value
 * @method NO_MODIFICA_RETEFUENTE setIdTipoDoc()              Sets the current record's "id_tipo_doc" value
 * @method NO_MODIFICA_RETEFUENTE setNumDoc()                 Sets the current record's "num_doc" value
 * @method NO_MODIFICA_RETEFUENTE setIdConcepNomina()         Sets the current record's "id_concep_nomina" value
 * @method NO_MODIFICA_RETEFUENTE setPorcentaje()             Sets the current record's "porcentaje" value
 * @method NO_MODIFICA_RETEFUENTE setObservaciones()          Sets the current record's "observaciones" value
 * @method NO_MODIFICA_RETEFUENTE setFecha()                  Sets the current record's "fecha" value
 * @method NO_MODIFICA_RETEFUENTE setIdPeriodo()              Sets the current record's "id_periodo" value
 * @method NO_MODIFICA_RETEFUENTE setDATOSFUNCIONARIO()       Sets the current record's "DATOS_FUNCIONARIO" value
 * @method NO_MODIFICA_RETEFUENTE setDATOSFUNCIONARIO2()      Sets the current record's "DATOS_FUNCIONARIO_2" value
 * @method NO_MODIFICA_RETEFUENTE setDATOSFUNCIONARIO3()      Sets the current record's "DATOS_FUNCIONARIO_3" value
 * @method NO_MODIFICA_RETEFUENTE setDATOSFUNCIONARIO4()      Sets the current record's "DATOS_FUNCIONARIO_4" value
 * @method NO_MODIFICA_RETEFUENTE setNOCONCEPNOMINA()         Sets the current record's "NO_CONCEP_NOMINA" value
 * @method NO_MODIFICA_RETEFUENTE setNOPERIODO()              Sets the current record's "NO_PERIODO" value
 * 
 * @package    nomina
 * @subpackage model
 * @author     Your name here
 * @version    SVN: $Id: Builder.php 7691 2011-02-04 15:43:29Z jwage $
 */
abstract class BaseNO_MODIFICA_RETEFUENTE extends sfDoctrineRecord
{
    public function setTableDefinition()
    {
        $this->setTableName('NO_MODIFICA_RETEFUENTE');
        $this->hasColumn('id_modifica_retefuente', 'integer', 20, array(
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => true,
             'length' => 20,
             ));
        $this->hasColumn('id_tipo_doc', 'integer', 20, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('num_doc', 'string', 20, array(
             'notnull' => true,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('id_concep_nomina', 'integer', 20, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('porcentaje', 'decimal', 20, array(
             'notnull' => true,
             'type' => 'decimal',
             'fixed' => 0,
             'unsigned' => false,
             'default' => '0',
             'primary' => false,
             'length' => 20,
             ));
        $this->hasColumn('observaciones', 'string', 1000, array(
             'notnull' => false,
             'type' => 'string',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 1000,
             ));
        $this->hasColumn('fecha', 'timestamp', 7, array(
             'notnull' => true,
             'type' => 'timestamp',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 7,
             ));
        $this->hasColumn('id_periodo', 'integer', 20, array(
             'notnull' => true,
             'type' => 'integer',
             'fixed' => 0,
             'unsigned' => false,
             'primary' => false,
             'length' => 20,
             ));
    }

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

        $this->hasOne('DATOS_FUNCIONARIO as DATOS_FUNCIONARIO_2', array(
             'local' => 'id_tipo_doc',
             'foreign' => 'num_doc'));

        $this->hasOne('DATOS_FUNCIONARIO as DATOS_FUNCIONARIO_3', array(
             'local' => 'num_doc',
             'foreign' => 'id_tipo_doc'));

        $this->hasOne('DATOS_FUNCIONARIO as DATOS_FUNCIONARIO_4', array(
             'local' => 'num_doc',
             'foreign' => 'num_doc'));

        $this->hasOne('NO_CONCEP_NOMINA', array(
             'local' => 'id_concep_nomina',
             'foreign' => 'id_concep_nomina'));

        $this->hasOne('NO_PERIODO', array(
             'local' => 'id_periodo',
             'foreign' => 'id_periodo'));
    }
}