コード例 #1
0
	function uf_valida_cuenta($as_cuenta )
	{
		$li_nivel =0;
		$lb_valido=true;
		$ls_pad_cuenta="";$ls_denominacion="";$ls_status="";$ls_NextCuenta="";$ls_mensaje_error="";
		$int_scg=new class_sigesp_int_scg();
		$msg=new class_mensajes();
		$dat=$_SESSION["la_empresa"];
		$ls_formplan=$dat["formplan"];
		$is_codemp=$dat["CodEmp"];
		
		$ls_pad_cuenta = $int_scg->uf_pad_cuenta_plan($ls_formplan ,$as_cuenta); 

		if(!$int_scg->uf_select_plan_unico_cuenta($ls_pad_cuenta,$ls_denominacion))
		{
			$msg->message("La cuenta no existe en el Plan Unico de Cuentas.");		
			return false;
		}
		
		/*if($int_scg->uf_scg_select_cuenta($is_codemp,$as_cuenta,$ls_status,$ls_denominacion))      
		{
			$msg->message("La cuenta ya existe en el Plan de Cuentas.");	
			return false;	
		}*/
		
		// verifico si el nivel es el apropiado
		//$msg->message($as_cuenta);	
		$int_scg->uf_init_niveles();
		$li_nivel = $int_scg->uf_scg_obtener_nivel($as_cuenta);
			
		if($li_nivel<=1)
		{
		   $msg->message("Las cuentas de nivel 1 no son validas.");				
		   return false;
		}
		// verifico si no hay cuentas con movimientos de nivel superior
		if($li_nivel > 1)
		{
		   $ls_NextCuenta = $int_scg->uf_scg_next_cuenta_nivel($as_cuenta);
			
			do
			{
			  
			  if($int_scg->uf_scg_select_cuenta($is_codemp,$ls_NextCuenta,$ls_status,$ls_denominacion))
			  {
					if ($ls_status == "C")
					{
						$msg_message("Existen cuentas de nivel superior con Movimiento.");			      
						return false;				
					}
			  }
		   $ls_NextCuenta = $int_scg->uf_scg_next_cuenta_nivel($ls_NextCuenta);
		   $li_nivel=$int_scg->uf_scg_obtener_nivel($ls_NextCuenta);
		   
		   }while( $li_nivel > 1);
		}
		
		return $lb_valido;
	
	}//uf_valida_cuenta