Validaciones del Negocio

De CidesaWiki

(Diferencias entre revisiones)
Saltar a navegación, buscar
Línea 72: Línea 72:
{| border="1"
{| border="1"
|-  
|-  
-
|Compras    : 100 - 199  
+
|Compras     
 +
|100 - 199  
|-  
|-  
-
|Bienes      : 200 - 299
+
|Bienes       
 +
|200 - 299
|-  
|-  
-
|Formulacion : 300 - 399
+
|Formulacion  
 +
|300 - 399
|-  
|-  
-
|Nomina      : 400 - 499
+
|Nomina       
 +
|400 - 499
|-  
|-  
-
|Tesoreria  : 500 - 599
+
|Tesoreria   
 +
|500 - 599
|-  
|-  
-
|Contabilidad: 600 - 699
+
|Contabilidad
 +
|600 - 699
|-  
|-  
-
|Hacienda    : 700 - 799
+
|Hacienda     
 +
|700 - 799
|-  
|-  
-
|Credito    : 800 - 899
+
|Credito     
 +
|800 - 899
|-  
|-  
-
|Ingresos    : 900 - 999
+
|Ingresos     
 +
|900 - 999
|-  
|-  
-
|Obras/Contratos : 1000 - 1099
+
|Obras/Contratos  
 +
|1000 - 1099
|-  
|-  
-
|Presupuesto: 1100 - 1199
+
|Presupuesto
 +
|1100 - 1199
|}
|}
{| border="1"
{| border="1"

Revisión de 15:59 16 ago 2007

Para agregar validaciones del Negocio crear una funcion ValidateEdit(Modulo Generados con propel-init-admin) en el Actions.class.php está se ejecutara al mismo tiempo que las otras(al Guardar) y Modificar la función handleErrorEdit. Ejemplo de la forma bieregactinmd.

  private static $coderror=-1; 
       	
  public function validateEdit()
  {
    $resp=-1;

    // Se deben llamar a las funciones necesarias para cargar los
    // datos de la vista que serán usados en las funciones de validación.
    // Por ejemplo:

    if($this->getRequest()->getMethod() == sfRequest::POST){

      $this->Bnreginm = $this->getCaajuocOrCreate();
      // $this->configGrid();
      // $grid = Herramientas::CargarDatosGrid($this,$this->obj);
             
      // Aqui van los llamados a los métodos de las clases del
      // negocio para validar los datos.
      // Los resultados de cada llamado deben ser analizados por ejemplo:

       //$resp = Bienes::validarBieregactinmd($this->Bnreginm,$grid);
       $resp = Bienes::validarBieregactinmd($this->Bnreginm);

      // al final $resp es analizada en base al código que retorna
      // Todas las funciones de validación y procesos del negocio
      // deben retornar códigos >= -1. Estos código serám buscados en 
      // el archivo errors.yml en la función handleErrorEdit()

      if($resp!=-1){
        $this->coderror = $resp; 
        return false;
      } else return true;

    }else return true; 
  }
	

  public function handleErrorEdit()
  {
    $this->labels = $this->getLabels();
        
    $this->Bnreginm= $this->getBnreginmOrCreate();
    $this->updateBnreginmFromRequest();    
    
        
    if($this->getRequest()->getMethod() == sfRequest::POST)
    {
      if($this->coderror!=-1){
        $err = Herramientas::obtenerMensajeError($this->coderror);	    
        $this->getRequest()->setError('',$err);	
      }
    }
    return sfView::SUCCESS;

  }
  

Las validaciones del Actions.class.php ultilizan un manejador de errores que se encuentra creado en la carpeta config , el cual se llama errores.yml, el cual contiene los códigos de los errores:

1:
  cod: 1
  msj: Nivel Anterior No Existe
2:
  cod: 2
  msj: El Codigo no puede estar en Blanco ó No puede Contener menos de 4 Carácteres

Cabe destacar que existe un standarizacion acerca de estos codigo, para los mensajes de errores de cada uno de los modulos se tiene:

Compras 100 - 199
Bienes 200 - 299
Formulacion 300 - 399
Nomina 400 - 499
Tesoreria 500 - 599
Contabilidad 600 - 699
Hacienda 700 - 799
Credito 800 - 899
Ingresos 900 - 999
Obras/Contratos 1000 - 1099
Presupuesto 1100 - 1199
abc def ghi
jkl mno pqr
stu vwx yz

Estos errores se ejecutan cuando la función a la cual se le asigna $coderror devuelve códigos de errores self::$coderror=Articulos::validarAlmregart($this->caregart);, esta linea de código se encuentra en la funcion validateEdit(). Si la función validateEdit() retorna false se ejecuta la función handleErrorEdit() enviando el error a la vista.


--Desi 16:34 26 abr 2007 (VET) --Jlobaton 11:54 16 ago 2007 (VET)

Herramientas personales
Espacios de nombres
Variantes
Acciones
Navegación
Herramientas