Sistemas y desarrollo

API de CAPATAZ Software (I)

API de CAPATAZ Software (I) Objeto: CAPLOGON.ul_logon
Share

Objeto: CAPLOGON.ul_logon

Esta nota de Blog forma parte de una saga Objetos COM de la API de CAPATAZ, toda ellas con un título inicial que reza: “API de CAPATAZ Software”, seguido de “Objeto: .
Todas estas notas se relacionan directamente con una nota principal titulada “¿Se puede conectar CAPATAZ con otros Softwares? La API de CAPATAZ Software” y todas poseen las siguientes secciones:
 

  • Denominación: nombre del objeto que debe utilizarse para crear una instancia del mismo.
  • Archivo Contenedor: para conocer su ubicación, versión y todo caso para poder examinar sus miembros.
  • Propósito: breve reseña para indicar la utilidad o capacidades especiales del objeto.
  • Miembros Claves: detalle de algunos métodos y/o propiedades imprescindibles.
  • Ejemplo: un sencillo ejemplo en C# 4.0, con el uso de algunos miembros claves.
  • Anexo: simple enumeración de otros miembros útiles de la clase.

 
Denominación

CAPLOGON.ul_logon

 
Archivo Contenedor
CAPLOGON.DLL
 
Propósito
Es el objeto Servidor de Accesos de CAPATAZ. Es el más importante de la API, puesto que para usar cualquier otro objeto primero debemos usar este para loguearnos al sistema y así obtener acceso al mismo. También posee numerosos métodos para Acceder a datos del entorno del sistema.
 
Miembros claves

Nombre Tipo Descripción
Método LOGIN() Boolean Loguea un usuario al producto ULA. Devuelve True si el logueo fue exitoso, de lo contrario False y llena el contenido del parámetro ERR.
Parámetros Ref USU
PASS
[ref ERR]
String
String
String
Nombre del usuario de TANGO a loguear.
Password del usuario en TANGO.
Opcional. Mensaje de error en caso de logueo erróneo.
Nombre Tipo Descripción
Método LOGIN_USU_EMP() Boolean Loguea un usuario al producto ULA. Devuelve True si el logueo fue exitoso, de lo contrario False y llena el contenido del parámetro ERR.
Parámetros ID_EMP
ref ERR
String
String
ID de la Empresa de TANGO, según el Diccionario.
Mensaje de error en caso de acceso erróneo.
Nombre Tipo Descripción
Método GET_ID_EMP () Integer Obtiene ID de la Empresa de TANGO en la cual está logueado el Objeto.
Parámetros N/A N/A N/A
Nombre Tipo Descripción
Método GET_ID_USU () Integer Obtiene ID del Usuario de TANGO en la cual está logueado el Objeto.
Parámetros N/A N/A N/A
Nombre Tipo Descripción
Método GET_EMP() String Obtiene el nombre de la Empresa de TANGO en la cual está logueado el Objeto.
Parámetros N/A N/A N/A
Nombre Tipo Descripción
Método GET_USU() String Obtiene el nombre del Usuario de TANGO en la cual está logueado el Objeto.
Parámetros N/A N/A N/A
Nombre Tipo Descripción
Método LEE_PARAMETROS() String Devuelve el valor de un Parámetro de la Empresa de CAPATAZ en la tabla PARAMETROS_INI. Se pueden generar parámetros que no existen o no nativos de CAPATAZ para propósitos particulares del Aplicativo que se está construyendo.
Parámetros SECC
ENTR
VAL_PRED
MERR
String
String
String
String
Nombre de la Sección o Grupo de Parámetros.
Nombre de la Entrada del Parámetro.
Valor Predeterminado si el Parámetro no existe.
Opcional. Mensaje de Error.
Nombre Tipo Descripción
Método GET_LOCALPATH() Boolean Devuelve la ruta completa de la carpeta local de ejecutables de CAPATAZ.
Parámetros N/A N/A N/A
Nombre Tipo Descripción
Método GET_SERVERPATH() Boolean Devuelve la ruta completa de la carpeta servidora de ejecutables de CAPATAZ.
Parámetros N/A N/A N/A
Nombre Tipo Descripción
Propiedad TXT_ERR String Texto del error de este Objeto.

 

Ejemplo

En el siguiente ejemplo realizaremos una simple rutina de logueo, algo necesario cada vez que necesitemos utilizar cualquier otro objeto de la API. El código mostrará mensajes por éxito o fracaso y también generará un parámetro personalizado que necesitamos almacenar para nuestro propio propósito en la aplicación que estamos construyendo con la API de CAPATAZ.
 

IMPORTANTE: El proyecto de .NET debe ser de 32bits, es decir PlatformTarget=x86.

 

using System;
using System.Collections.Generic;
using System.Linq;

namespace Ejemplo01_Logueo
{
    class Program
    {
        static void Main(string[] args)
        {
            caplogon.ul_logon oLogUla;

            // Logueo
            if (Login(out oLogUla))
            {
                // Creamos un Parametro personalizado que luego mostraremos
                oLogUla.graba_parametros("MiAplicacion", "Parametro1", "CONTROLAR");

                // Se muestra alguna información del Entorno
                Console.WriteLine();
                Console.WriteLine("\t Ud. está logueado con el usuario: " + oLogUla.get_usu());
                Console.WriteLine("\t El ID del Usuario es: " + oLogUla.get_id_usu());
                Console.WriteLine("\t Ud. está logueado en la Empresa: " + oLogUla.get_emp());
                Console.WriteLine("\t El ID de la Empresa es: " + oLogUla.get_id_emp());
                Console.WriteLine("\t FullPath Instalación Server: " + oLogUla.get_serverpath());
                Console.WriteLine("\t FullPath Instalación Cliente: " + oLogUla.get_localpath());
                Console.WriteLine("\t Ultimo mensaje de Error del Objeto: " + oLogUla.txt_err);

                // Muestra valor del parámetro personalizado
                Console.WriteLine();
                Console.WriteLine("\t Valor del parámetro personalizado: " + oLogUla.lee_parametros("MiAplicacion", "Parametro1", ""));
            }

            //Fin
            Console.WriteLine("");
            Console.WriteLine("");
            Console.WriteLine("### FIN ###");
            Console.ReadKey();
        }

        // Método de Logueo que podemos reutilizar en otros proyectos de Ejemplo
        private static Boolean Login(out caplogon.ul_logon oLogUla)
        {
            Boolean vf = false;
            oLogUla = new caplogon.ul_logon();
            string msgErr = "";

            // Captura Usuario
            Console.WriteLine("Ingrese el Nombre del Usuario: (vacío => SUPERVISOR)");
            string usuario = Console.ReadLine();
            if (string.IsNullOrWhiteSpace(usuario))
                usuario = "SUPERVISOR";
            usuario = usuario.ToUpper();

            // Captura Password
            Console.WriteLine(String.Format("Ingrese el Password del Usuario {0}:", usuario));
            string password = Console.ReadLine();

            // Loguea Usuario
            if (oLogUla.login(usuario, password, ref msgErr))
            {
                // Lista Empresas Disponibles en Pantalla
                msgErr = MuestraEmpresas(oLogUla, msgErr);

                // Captura ID de la Empresa a Loguear
                Console.WriteLine("Ingrese el ID de la Empresa: (vacío => 1)");
                string strIdEmpresa = Console.ReadLine();
                if (string.IsNullOrWhiteSpace(strIdEmpresa))
                    strIdEmpresa = "1";
                int idEmp;
                if (int.TryParse(strIdEmpresa, out idEmp))
                {
                    // Loguea Empresa
                    vf = oLogUla.login_usu_emp(idEmp, ref msgErr);
                }
                else
                    msgErr = "Debe ingresar un valor numérico para el ID de la Empresa.";
            }
            if (!vf)
                Console.WriteLine(String.Format("ERROR!!!{0}{1}", Environment.NewLine, msgErr));
            return vf;
        }

        // Muestra Datos de Las Empresas del Usuario
        private static string MuestraEmpresas(caplogon.ul_logon oLogUla, string msgErr)
        {
            Object objEmp = new Object();
            if (oLogUla.get_datos_emps_usu(ref objEmp, ref msgErr))
            {
                ADOR.Recordset rsEmp = (ADOR.Recordset)objEmp;
                Console.WriteLine(String.Format("{0} \t {1}", rsEmp.Fields[1].Name, rsEmp.Fields[0].Name));
                while (!rsEmp.EOF)
                {
                    Console.WriteLine(String.Format("{0} \t\t {1}", rsEmp.Fields[1].Value, rsEmp.Fields[0].Value));
                    rsEmp.MoveNext();
                }
            }
            return msgErr;
        }
    }
}

 

Anexo

LOGOUT([SOLO_LOGUEOEMP AS Boolean]) AS Void
Desloguea al usuario del producto ULA, si el parámetro es True se deslogue solo de la Empresa. Con False es un deslogueo completo o total del usuario.
 
GET_DATOS_EMPRESAS(ByRef RSXML_EMP AS Variant, [ByRef ERR AS String], [ByRef TALLY AS Integer], [XML AS Boolean], [SEG_TIMEOUT AS Integer]) AS Boolean
Obtiene un RecordSet o XML con los datos de todas las Empresas de TANGO.
 
GET_DATOS_USUARIOS(ByRef RS_USUARIOS AS ADOR.RecordSet, [ByRef MERR AS String], [ByRef TALLY AS Integer]) AS Boolean
Obtiene un RecordSet con los datos de todos los Usuarios de TANGO.
 
GET_DATOS_EMPS_USU(ByRef RSXML_EMPS AS Variant, [ByRef ERR AS String], [ByRef TALLY AS Integer], [XML AS Boolean]) AS Boolean
Obtiene RecordSet o XML con las emrpesas disponibles para el usuario logueado.
 
GET_RUTA_DOC_OT() AS String
Devuelve la ruta completa de la carpeta donde se almacenan los archivos de Documentos Adjuntos de las OTs.
 
GET_RUTA_DOC_OM() AS String
Devuelve la ruta completa de la carpeta donde se almacenan los archivos de Documentos Adjuntos de las OMs.
 
GET_RUTA_DOC_OS() AS String
Devuelve la ruta completa de la carpeta donde se almacenan los archivos de Documentos Adjuntos de las OSs.
 
GET_RUTA_DOC_CP() AS String
Devuelve la ruta completa de la carpeta donde se almacenan los archivos de Documentos Adjuntos de las CPs.
 
GRABA_PARAMETROS(SECC AS String, ENTR AS String, VALOR AS String, [ByRef MERR AS String]) AS Boolean
Graba Parámetros de Capataz en la tabla PARAMETROS_INI
 
ELIMINA_PARAMETROS(ID_PARAM AS Integer, [ByRef MERR AS String]) AS Boolean
Elimina Parámetros de Capataz en la tabla PARAMETROS_INI
 
ES_INSTALACION_SERVIDORA() AS Boolean
Devuelve Verdadero si Capataz está ejecutándose en el equipo Servidor de Capataz. Falso, cuando es en una Instalación Cliente.
 
GET_NOMBRE_SERVIDOR_CZ() AS String
Obtiene el Nombre de la Computadora donde Capataz fue instalado como Servidor
 
GET_TIPO_INSTALACION_CZ() AS String
Obtiene el texto «Servidor» ó «Cliente» según el tipo de instalación de Capataz (LocalPath=ServerPath ==> «Servidor»

The following two tabs change content below.
Es Analista en Sistemas y Licenciado en Administración de Empresas. En 2013 culmina su formación en el programa de estudios internacionales ECLA dictado en The Jerome A. Chazen Institute of International Business at Columbia Business School, Columbia University (NY, USA). Desde hace más de 25 años se especializa en el desarrollo y comercialización de software para la toma de decisiones empresariales.

Latest posts by Mauricio Ulla (see all)

Comments (1)

  1. […] de OT (TIN), REM de Compras, REM de Ventas, Ajustes, Anulaciones, etc. Como ya expuse en una nota anterior, para utilizar este objeto o cualquier otro primero debemos utilizar el objeto CAPLOGON.ul_logon, […]

Comment here