Archive | Casos de Exito

Organigrama del departamento de recursos humanos

ago 23rd, 20113 Comments

La Administración de Recursos Humanos para cada uno de sus jefes tiene una responsabilidad de línea, en cambio, para el resto de la empresa tiene una función de staff. Esta función esta dada para los departamentos de asesoría y consultaría, los cuales solo dan recomendaciones de cómo mejorar el funcionamiento de un departamento;  por esta razón el departamento de RH es de staff dentro de la empresa.

Entre los gerentes de los departamentos de línea y los de staff, siempre existirá el percance de que los primeros entienden que los segundos le están dando órdenes de cómo dirigir su departamento. Este problema solo tendrá solución cuando los jefes de línea comprendan que los jefes de RH (staff), solo están para ayudarlos y prestarles servicios de recomendaciones, que sirve para mejorar el proceso productivo, y solucionar los problemas que en este se presenten.

Ubicación del departamento de RH

Hay inclusive, organizaciones en las que la ARH es un organo asesor de la presidencia, a la que brinda consultoria y servicios de staff.

En realidad, la localización, el nível, la subordinación, la autoridad y la responsabilidad de la dependencia de ARH dependen no solo de la racionalidad que predomine en la organización, sino tambien de diversos factores estudiados anteriormente, las concepciones respecto de la naturaleza humana de las personas son tambien condicionantes importantes en el papel que desempeñe la ARH en cada organización.

El responsable de la ARH en el nível institucional es el máximo ejecutivo de la organización: el presidente, es el responsable de la organización entera, pues le competen las decisiones a cerca de la dinamica y los destinos de la organización y de los recursos disponibles y necesarios. En el nível departamental esa responsabilidad la tiene cada ejecutivo de línea.

Conforme las organizaciones crecen el departamento de Recursos Humanos se va especializando, inclusive en las organizaciones de tamaño intermedio y grande se crean subdepartamentos que funcionarán de diferentes manera en la organización funciones altamente definidas y especializadas.

El Departamento de Recursos Humanos está compuesto por las siguientes áreas:

1. Reclutamiento de Personal
2. Selección
3. Diseño, Descripción y análisis de puestos
4. Evaluación del desempeño humano
5. Compensación
6. Higiene y seguridad en el trabajo
8. Capacitación y desarrollo del personal
9. Relaciones Laborales
10. Desarrollo Organizacional

Ubicación del Departamento de RH dentro del organigrama de la Empresa

El éxito de un organismo de ARH ésta en razón directa de que se le considere una fuente de ayuda por parte de los jefes de línea, en consecuencia la asesoría de personal debe ser solicitada, jamas impuesta, el ARH no transmite órdenes a los miembros de línea de la organización o a los empleados, excepto cuando se trata de su propio departamento, por lo tanto la responsabilidad de que los miembros del grupo alcancen determinados objetivos corresponde al jefe, y no al ARH.

Por: Sandra Meza

 


Evitar el error 20599 Cannot Open SQL Server de Crystal Reports

jul 12th, 20093 Comments

Escrito por:  Raul Macias

AyudaEn un post anterior explique cuales eran las Dlls que había encontrado para evitar el error 20599 Cannot Open SQL Server de Crystal Reports 8 y 8.5, en este post voy a tratar de un ejemplo para evitar el error.

Los puntos a tratar serán:

  1. Crear el Reporte de Crystal Reports.
  2. Tipos de conexiones en el Active X de Crystal Reports 8.5 desde Visual Basic 6.
  3. Explicación del ejemplo de Visual Basic 6, DemoCrystal.vbp.

Las herramientas que se utilizan para estos ejemplos son Crystal Reports 8.5, Visual Basic 6 SP5, SQL Server 2005.

1.- Crear el Reporte de Crystal Reports.

La forma de crear un reporte de Crystal Reports que se conecte a SQL Server es utilizando la opción nativa, esta conexión se define cuando se va a crear un reporte y comienza a pedir el wizard la forma de conectar el reporte con la base de datos y la cual es More Data Sources/Microsoft Sql Server, como se muestra en la siguiente imagen.

Cuando se selecciona el tipo de conexión, en ese momento pide el Servidor, Usuario,Pasword y Base de Datos, mostrando todas las tablas y los procedimientos almacenados que se encontraron.

Se selecciona la tabla o el procedimiento almacenado con el que se trabajara, para el procedimiento almacenado pide los valores para los parámetros que tiene definidos, en nuestro ejemplo podemos utilizar la tabla catreportedemo o el procedimiento almacenado SP_lee_catreportedemo con la operación cero y el parámetro clave sin ningún valor o vacio.

Una ves puestos los valores a mostrar en crystal reports y verificando que los esta pintando como están en la base de datos, modificaremos el Set Location del reporte, para dejarlo listo y utilizarlo desde Visual Basic, esta modificación del valor sirve para prevenir el error 20599 cuando se esta llamando un reporte con el active X de Crystal Reports en Visual Basic.

Para cambiar el valor es ingresar a el menu DataBase/Set Location…,mostrando la siguiente imagen.

El valor que se tiene que modificar es el location/Table dejando nada mas la tabla o el nombre del procedimiento almacenado(Proc(sp_Lee_CatReporteDemo)), hay que eliminar BasedeDatos.dbo.

Para el procedimiento almacenado seria.

Una ves modificados estos valores guardamos nuestro reporte.

Esto se tiene que hacer para cada procedimiento almacenado o tabla que se tenga en el listado de Databases.

2.-Tipos de conexiones en el Active X de Crystal Reports 8.5 desde Visual Basic 6.

Cuando se esta trabajando en Visual Basic y se quiere abrir un reporte de Crystal que esta ligado a SQL Server ya sea tabla o procedimiento almacenado.

Existen dos formas de abrir la conexión a SQL Server desde Crystal y son:

CrystalReports.Connect = sConexion

Donde sConexion es una variable de tipo cadena y puede ser de cualquier tipo como los que se muestran en el sitio http://www.connectionstrings.com

CrystalReports.LogOnServer “p2ssql.dll”, sServidor, _
sBaseDeDatos, sUsuario, sPSW

En esta segunda opción es utilizar la conexión con la cual creamos nuestro reporte, los parámetros son el DLL,Servidor,Base de Datos, Usuario y Pasword, todos de tipo cadena.

3.-Explicación del ejemplo de Visual Basic 6, DemoCrystal.vbp.

Para nuestro ejemplo utilizamos dos objetos en la Base de Datos una tabla catreportedemo y un procedimiento almacenado sp_Lee_CatReporteDemo el cual tiene dos operaciones, con la operación 0(cero) trae todos los registros de la tabla y con la operación 1(uno) trae los registros con que sean iguales a el parámetro clave.

Tabla
CREATE TABLE catreportedemo (
[clave] [CHAR](10) NOT NULL,
[descripcion] [VARCHAR](150) NOT NULL

)
Procedimiento Almacenado
/*
Ejemplos de como llamar el SP
EXEC sp_Lee_CatReporteDemo 0
GO

EXEC sp_Lee_CatReporteDemo 1,’001′
GO
*/

CREATE PROCEDURE Sp_lee_catreportedemo(
@Operacion INT,
@Clave CHAR(10) = NULL)
AS
/*
Trae todos los registros
*/

IF (@Operacion = 0)
BEGIN
SELECT *
FROM catreportedemo
END
/*
Filtra los registros por Clave
*/

IF (@Operacion = 1)
BEGIN
SELECT *
FROM catreportedemo
WHERE clave = @Clave
END
RETURN 0
GO

El proyecto de Visual Basic tiene la funcionalidad de primero abrir una conexión al servidor de SQL Server y leer todos los valores de la tabla catreportedemo, dando como validada la conexión.

En este proyecto se utilizan dos reportes RPT_Tabla.rpt el cual esta ligado a la tabla y RPT_SP.rpt el cual esta ligado al procedimiento almacenado.

El proyecto de Visual utiliza dos formas de llamar a estos reportes con diferente tipo de conexión, como las que ya mencione anteriormente.

El código para abrir el reporte de la tabla es el siguiente.

Abrir Reporte con una Tabla

Private Sub cmdReporteTabla_Click()
‘Opcion para ejecutar el reporte que contiene una tabla

‘Se valida la conexion
If Not bConexionValida ThenMsgBox “Conexion no valida”, vbExclamation, Me.Caption
Exit Sub
End If‘Limpia los parametros del reporte
LimpiaParametrosReporte

‘Se lee el reporte que ejecuta un procedimiento almacenado
CrystalReportTabla.ReportFileName = _
App.Path & “\” & “RPT_Tabla.rpt”

‘Se verifica el tipo de conexion para el reporte
If ComboTipoConexion.ListIndex = 0 Then
‘Cadena de conexion
CrystalReportTabla.Connect = sConexion

Else
‘Dll de conexion
CrystalReportTabla.LogOnServer “p2ssql.dll”, sServidor, _

sBaseDeDatos, sUsuario, sPSW

End If

‘Se ejecuta el reporte
CrystalReportTabla.Action = 1

End Sub

El código para abrir el reporte con el procedimiento almacenado es el siguiente.

Abrir Reporte con Procedimiento almacenado

Private Sub cmdReporteSP_Click()
‘Opcion para ejecutar el reporte que contiene un procedimiento almacenado con dos parametros

‘Se valida la conexion
If Not bConexionValida Then
MsgBox “Conexion no valida”, vbExclamation, Me.Caption
Exit Sub
End If‘Limpia los parametros del reporte
LimpiaParametrosReporte‘Se lee el reporte que ejecuta un procedimiento almacenado
CrystalReportTabla.ReportFileName = _
App.Path & “\” & “RPT_SP.rpt”

‘Se verifica el tipo de conexion para el reporte
If ComboTipoConexion.ListIndex = 0 Then
‘Cadena de conexion
CrystalReportTabla.Connect = sConexion
Else
‘Dll de conexion
CrystalReportTabla.LogOnServer “p2ssql.dll”, sServidor, _
sBaseDeDatos, sUsuario, sPSW
End If

‘Se pasan los valores para los parametros @Operacion y @Clave
‘ del procedimiento almacenado del reporte
CrystalReportTabla.ParameterFields(0) = _
“@Operacion;” & ComboParametro.Text & “;TRUE”

CrystalReportTabla.ParameterFields(1) = _
“@Clave;” & ComboClave.Text & “;TRUE”

‘Se ejecuta el reporte
CrystalReportTabla.Action = 1
End Sub

Para cuando se abre el reporte con el procedimiento almacenado se utilizan las propiedades de ParameterFields para pasarle los parámetros que capturemos en la pantalla.

El código de este programa, el script de los objetos y los reportes se encuentran aqui.

Escrito por:  Raul Macias


Error 20599 Cannot open SQL Server o No se Puede abrir el servidor de SQL (Cyrstal Reports 8 y 8.5)

jun 16th, 2009No Comments

Escrito por:  Raul Macias

AyudaEl error 20599 Cannot open SQL Server o en español No se puede abrir el servidor de SQL se presenta en algunos Windows XP y Windows Vista al querer abrir el control de Crystal Reports en su método Action=1 y querer conectarlo a una base de datos de SQL o Access, la solución que encontré después de investigar en varios foros(frustrándome al no encontrar una solución 10 horas mas de Psicólogo),hacer una recolección de versiones de archivos de aquí y de por allá decidiéndome ponerme a prueba y error a tratar de encontrar la solución de el problema, dando como resultado un conjunto de archivos que fueron  los siguientes:

Archivo Versión
p2ssql.dll 8.5.0.19
p2sodbc.dll 8.5.0.72
ntwdblib.dll 2000.2.8.0
cpeaut32.dll 8.5.0.9
crpe32.dll 8.5.0.217
Crystl32.OCX 8.0.0.4

Solución 1

  1. En algunos equipos con solamente copiar el archivo p2ssql.dll y ntwdblib.dll en el directorio C:\Windows\System32 se soluciono el problema(No es necesario registrarlos con REGSRV32.exe).
  2. Ejecutar la aplicación con el problema para ver si ya no se presenta el error 20599.

Solución 2

Después de que no funciona la Solución 1

    1. Des registrar el Crystl32.OCX con el REGSRV32.exe(C:\Windows\System32\REGSRV32.exe /u [Path]\Crystl32.OCX).
    2. Respaldar los archivos a remplazar si existen en C:\Windows\System32.
    3. Copiar los archivos cpeaut32.dll,crpe32.dll,Crystl32.OCX en C:\Windows\System32 (registrar en el orden cpeaut32.dll,crpe32.dll,Crystl32.OCX).
    4. Ejecutar la aplicación con el problema para ver si ya no se presenta el error 20599.

En el 99% de los equipos en los que se aplico esta receta de cocina se corrigió el error.

Hasta el momento después de 2 Años que se presento la primera ves el error esta es la solución que encontré.

Observación

El Archivo REGSRV32.exe se encuentra en la ruta C:\Windows\System32\

Escrito por:  Raul Macias