Esempio n. 1
0
        //-------------------------------------------------
        // Menú. Versión standard.
        //-------------------------------------------------

        /// <summary>
        /// Menú general de opciones - Formato fijo.
        /// </summary>
        /// <param name="parametros">Array con los parámetros</param>
        /// <seealso cref="DisplayPantallaPro(object[])"/>
        /// <seealso cref="_tmain"/>

        private void menu(params object[] parametros)
        {
            int ret, ret1;

            ret = -1;
            object oPrg;

            COMPRADIO.PRORAD Iptr = (COMPRADIO.PRORAD)parametros[0];

            do
            {
                switch (ret)
                {
                // Entradas
                case 1:
                    ret1 = display_pantalla_entradas(Iptr, ret);

                    switch (ret1)
                    {
                    case 0:
                        ret = -1;
                        break;

                    case 1:
                        oPrg = new ENTRADAS.RECUENTO();
                        // oPrg = Convert.ChangeType(oPrg, typeof(ENTRADAS.RECUENTO));
                        ((ENTRADAS.RECUENTO)oPrg).RecuentoMaterial(Iptr);
                        oPrg = null;
                        break;

                    case 2:
                        oPrg = new SALIDAS.SALIDAP();
                        //RecuentoPalet(Iptr);
                        break;

                    case 3:
                        //UbicarPalet(Iptr);
                        break;

                    default:
                        ret1 = display_pantalla_entradas(Iptr, ret);
                        break;
                    }
                    break;

                // NOP
                default:
                    ret = display_pantalla(Iptr, 1);
                    break;
                }
            } while (ret != 0);

            return;
        }
Esempio n. 2
0
        //-------------------------------------------------
        // Menú de opciones (GENERAL).
        //-------------------------------------------------
        int display_pantalla(COMPRADIO.PRORAD Iptr, int pantalla)
        {
            int tecla;

            pantalla = 1;
            clrscr();
            DisplayUserScr(Iptr, _PROGRAMA, _SECCION_0);

            do
            {
                gotoxy(_COLUMNA_INPUTS, _LINEA_INPUTS);
                tecla = getkey();
            } while (!(tecla == '1' || tecla == '2' || tecla == '3' || tecla == '4' || tecla == '5' || tecla == 13 || tecla == -12));

            switch (tecla)
            {
            case '1':
            case -1:
                tecla = 1;
                break;

            case '2':
            case -2:
                tecla = 2;
                break;

            case '3':
            case -3:
                tecla = 3;
                break;

            case '4':
            case -4:
                tecla = 4;
                break;

            case '5':
            case -5:
                tecla = 5;
                break;

            case -12:
                tecla = 0;
                break;

            default:
                tecla = pantalla;
                break;
            }

            return(tecla);
        }
Esempio n. 3
0
        // Displays en pantalla.
        public void Pantalla_SalidaPalet(params object[] parametrosS)
        {
            COMPRADIO.PRORAD Iptr       = (COMPRADIO.PRORAD)parametrosS[0];
            string           cstSeccion = (string)parametrosS[1];

            clrscr();

            // Visualizar campos parametrizados.
            DisplayUserScr(Iptr, _PROGRAMA, cstSeccion);
            clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0);

            return;
        }
Esempio n. 4
0
        //-------------------------------------------------
        // Visualizar datos en la pantalla.
        //-------------------------------------------------
        public void DisplayUserScr(COMPRADIO.PRORAD Iptr, string cstPrograma, string cstSeccion, string cstFichero = "PANTALLAS")
        {
            char   RetVal;
            int    x, y;
            object cstValor, cstMask;

            for (;;)
            {
                RetVal = Iptr.ScrGenerarNextLinea(cstPrograma, cstSeccion, cstFichero);

                switch (RetVal)
                {
                // ErrorBBDD.
                case 'C':
                    UserError(Iptr.UsrErrorC, Iptr.UsrError);
                    return;

                // OK: Visualizar.
                case 'S':
                    // Obtener el valor a visualizar.
                    cstValor = Iptr.ScrValor;

                    // Obtener la máscara del valor a visualizar.
                    cstMask = Iptr.ScrMascara;

                    // Obtener la coordenada X
                    x = Iptr.XCoord;

                    // Obtener la coordenada Y
                    y = Iptr.YCoord;

                    gotoxy(x, y);
                    printf(cstMask, cstValor);
                    //printf(cstValor);
                    break;

                // NOK
                case 'N':
                    UserError(Iptr);
                    return;

                // No hay mas datos.
                case 'O':
                    return;

                // Resto de casos: Ignorar.
                default:
                    continue;
                }
            }
        }
Esempio n. 5
0
        // Proceso de consulta del detalle de UN albarán.
        public void ConsultaAlbaran(params object[] parametrosC)
        {
            COMPRADIO.PRORAD Iptr = (COMPRADIO.PRORAD)parametrosC[0];

            string cstAlbaran = "";
            string cstEAN;
            string cstLinea;
            string cstDescri;
            string cstCantidad;
            string cstSkipR = "";

            string cstLectura = "";
            int    ret, opc;
            char   RetVal;

            opc = _CME_INIT_ALBARAN;

            try
            {
                do
                {
                    switch (opc)
                    {
                    // Entrar nº de albarán.
                    case _CME_LECT_ALBARAN:
                        cstAlbaran  = "";
                        cstEAN      = "";
                        cstDescri   = "";
                        cstCantidad = "";
                        cstAlbaran  = "";
                        cstLinea    = "";

                        nLinea     = 0;
                        cstLectura = "";

                        Pantalla_ConsultaAlbaran(cstAlbaran, cstEAN, cstDescri, cstCantidad, cstLinea);

                        clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0); printf("Introduzca albaran");
                        clreol(0, _LINEA_INPUTS + 1); gotoxy(0, _LINEA_INPUTS + 1); printf("<F2:Consulta ESC:Salir>");
                        clreol(0, _LINEA_INPUTS + 2); gotoxy(0, _LINEA_INPUTS + 2); ret = leer_char(ref cstLectura, 10);

                        cstAlbaran = cstLectura;

                        switch (ret)
                        {
                        case _TECLA_ESC:
                            opc = _NO_OPERACION;
                            break;

                        // Validar y cargar detalle albarán
                        case _TECLA_0:
                            cstSkipR = "V";
                            opc      = _CME_VALIDAR;
                            break;

                        //// Consulta y selección de albaranes.
                        //case _TECLA_F2:
                        //    ConsultaAlbaranes(Iptr);

                        //    // Recuperar albarán actual, si hay.
                        //    Iptr->get_cnsnumalb(vLectAlbaran);
                        //    vLectAlbaran->ChangeType(VT_BSTR);
                        //    cstSkipR = "V";
                        //    vSkipR->SetString((const char*)cstSkipR);
                        //    opc = _CME_VALIDAR;
                        //    break;

                        // Resto de teclas: Ignorar
                        default:
                            opc = _CME_LECT_ALBARAN;
                            break;
                        }
                        break;

                    // Mostrar la siguiente línea de albarán.
                    case _CME_MOSTRAR_ALBARAN:
                        cstSkipR = "M";
                        RetVal   = System.Convert.ToChar(Iptr.ConsultaAlbaran(cstAlbaran, cstSkipR));

                        switch (RetVal)
                        {
                        // EOF
                        case 'O':
                            // No hay más líneas
                            UserError(Iptr);
                            opc = _CME_LECT_ALBARAN;
                            break;

                        // OK
                        case 'S':
                            // Recuperar código de barras.
                            cstEAN = Iptr.CnsCodEAN;

                            // Recuperar descripción del artículo.
                            cstDescri = Iptr.CnsDesArt.ToString();

                            // Recuperar cantidad recontada
                            cstCantidad = Iptr.CnsCanRec.ToString();

                            // Recuperar línea relativa.
                            cstLinea = Iptr.CnsOrden.ToString();

                            // Visualizar línea actual
                            Pantalla_ConsultaAlbaran(cstAlbaran, cstEAN, cstDescri, cstCantidad, cstLinea);

                            if (nLinea >= _LIN_PAG)
                            {
                                // Siguiente pantalla
                                clreol(0, _LINEA_INPUTS + 1);
                                gotoxy(0, _LINEA_INPUTS + 1);
                                printf("Pulse una tecla ..."); getkey();

                                // Control visualización
                                nLinea = 0;
                            }

                            // Cargar más líneas
                            opc = _CME_MOSTRAR_ALBARAN;
                            break;

                        // Error
                        case 'E':
                            // Error de programa
                            UserError(Iptr);
                            opc = _NO_OPERACION;
                            break;

                        // Resto de casos: Error.
                        default:
                            // Error
                            clreol(0, 14); gotoxy(0, 14);
                            printf("Resultado indefinido. Pulse tecla.");
                            getkey();
                            opc = _NO_OPERACION;
                            break;
                        }
                        break;

                    // Tomar datos del albarán activo.
                    case _CME_CARGAR_ALBARAN:
                        // Recuperar albarán actual, si hay.
                        cstAlbaran = (string)Iptr.NumAlb;
                        cstSkipR   = "V";
                        opc        = _CME_VALIDAR;
                        break;

                    // Validar el albarán.
                    // Se viene desde _CME_CARGAR_ALBARAN y _CME_LECT_ALBARAN(TECLA_0)
                    case _CME_VALIDAR:
                        RetVal = System.Convert.ToChar(Iptr.ConsultaAlbaran(cstAlbaran, cstSkipR));

                        switch (RetVal)
                        {
                        // Error
                        case 'E':
                            // Error. Albarán no existe
                            UserError(Iptr);
                            opc = _CME_LECT_ALBARAN;
                            break;

                        // OK
                        case 'S':
                            // Albarán OK
                            nLinea = 0;
                            opc    = _CME_MOSTRAR_ALBARAN;
                            break;

                        // NOK
                        case 'N':
                            // Albarán en blanco
                            opc = _CME_LECT_ALBARAN;
                            break;

                        // Resto de casos: Tomar como OK
                        default:
                            // Albarán OK
                            nLinea = 0;
                            opc    = _CME_MOSTRAR_ALBARAN;
                            break;
                        }
                        break;

                    // Inicializar valores.
                    case _CME_INIT_ALBARAN:
                        cstAlbaran  = "";
                        cstEAN      = "";
                        cstCantidad = "";
                        cstAlbaran  = "";

                        nLinea = 0;
                        opc    = _CME_CARGAR_ALBARAN;
                        break;

                    default:
                        opc = _NO_OPERACION;
                        break;
                    }
                } while (opc != _NO_OPERACION);
            }

            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.ReadKey();
            }

            finally
            {
                // Cerrar proceso de consulta.
                RetVal = Convert.ToChar(Iptr.ConsultaAlbaran(cstLectura, "Z"));
            }
            return;
        }
Esempio n. 6
0
        // Proceso de preparación por Palet.
        public void SalidaPalet(params object[] parametrosS)
        {
            COMPRADIO.PRORAD Iptr = (COMPRADIO.PRORAD)parametrosS[0];

            CString cstUbiOri = new CString();
            CString cstDCOri  = new CString();
            CString cstPalet  = new CString();

            string cstLectura = null;

            int  ret = 0, opc;
            char RetVal;

            opc = _INICIALIZAR;

            try
            {
                do
                {
                    switch (opc)
                    {
                    case _INICIALIZAR:
                        cstUbiOri = "";
                        cstDCOri  = "";
                        cstPalet  = "";

                        // Inicializar estado Salida Palet.
                        RetVal = Iptr.SalInicializar();

                        switch (RetVal)
                        {
                        // OK
                        case 'S':
                            opc = _CARGAR_DATOS;
                            break;

                        // No OK
                        case 'N':
                            UserError(Iptr);
                            opc = _FINALIZAR;
                            break;

                        // Resto de casos: Tomar como error.
                        default:
                            // NOK
                            opc = _FINALIZAR;
                            break;
                        }
                        break;

                    case _CARGAR_DATOS:
                        // Cargar datos palet a preparar.
                        RetVal = Iptr.SalPeticionUbicacion();

                        switch (RetVal)
                        {
                        // OK
                        case 'S':
                            opc = _LECT_UBIORI;
                            break;

                        // No OK
                        case 'N':
                            UserError(Iptr);
                            opc = _FINALIZAR;
                            break;

                        // Resto de casos: Tomar como error.
                        default:
                            // NOK
                            UserError("SAP-????", "Opción no controlada");
                            opc = _FINALIZAR;
                            break;
                        }
                        break;

                    // Pedir ubicación origen.
                    case _LECT_UBIORI:
                        cstUbiOri  = "";
                        cstDCOri   = "";
                        cstLectura = "";

                        Pantalla_SalidaPalet(Iptr, _SECCION_1);

                        clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0); printf(Iptr.GetMessage(_LECT_UBIORI_1, "Introduzca origen"));
                        clreol(0, _LINEA_INPUTS + 1); gotoxy(0, _LINEA_INPUTS + 1); printf(Iptr.GetMessage(_LECT_UBIORI_2, "<F1: Salta>"));
                        clreol(0, _LINEA_INPUTS + 2); gotoxy(0, _LINEA_INPUTS + 2);

                        ret = leer_char(ref cstLectura, 16);

                        switch (ret)
                        {
                        // Abandonar programa
                        case _TECLA_ESC:
                            opc = _FINALIZAR;
                            break;

                        // Saltar ubicación.
                        case _TECLA_F1:
                            opc = _SALTAR_UBICACION;
                            break;

                        // Validar ubicación sin DC.
                        case _TECLA_0:
                            cstUbiOri = cstLectura;
                            opc       = _VALIDAR_UBIORI;
                            break;

                        // Resto de teclas: ignorar.
                        default:
                            UserError("SAP-????", "Opción no controlada");
                            opc = _LECT_UBIORI;
                            break;
                        }
                        break;

                    // Pedir DC ubicación origen.
                    case _LECT_DCORI:
                        cstDCOri   = "";
                        cstLectura = "";

                        Pantalla_SalidaPalet(Iptr, _SECCION_1);

                        clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0); printf(Iptr.GetMessage(_LECT_DCORI_1, "Introduzca DC"));
                        clreol(0, _LINEA_INPUTS + 1); gotoxy(0, _LINEA_INPUTS + 1);
                        clreol(0, _LINEA_INPUTS + 2); gotoxy(0, _LINEA_INPUTS + 2);

                        ret = leer_char(ref cstLectura, 2);

                        switch (ret)
                        {
                        // Pedir origen.
                        case _TECLA_ESC:
                            opc = _LECT_UBIORI;
                            break;

                        // Validar ubicación origen con DC.
                        case _TECLA_0:
                            cstDCOri = cstLectura;
                            opc      = _VALIDAR_UBIORI;
                            break;

                        // Saltar ubicación.
                        case _TECLA_F1:
                            break;

                        // Resto de teclas: Ignorar.
                        default:
                            UserError("SAP-????", "Opción no controlada");
                            opc = _LECT_DCORI;
                            break;
                        }
                        break;

                    // Validar la ubicación origen.
                    case _VALIDAR_UBIORI:
                        RetVal = System.Convert.ToChar(Iptr.SalValidarOrigen(cstUbiOri, cstDCOri));

                        switch (RetVal)
                        {
                        // OK
                        case 'S':
                            opc = _LECT_UBIORI;
                            break;

                        // NOK
                        case 'N':
                            UserError(Iptr);
                            opc = _LECT_UBIORI;
                            break;

                        // OK: Leer el DC
                        case 'D':
                            opc = _LECT_DCORI;
                            break;

                        // Error en BBDD.
                        case 'C':
                            UserError(Iptr);
                            opc = _FINALIZAR;
                            break;

                        // Resto de casos: Ignorar.
                        default:
                            UserError("SAP-????", "Opción no controlada");
                            opc = _LECT_UBIORI;
                            break;
                        }
                        break;

                    // Pedir nº de palet / SSCC.
                    case _LECT_BULTO:
                        cstPalet   = "";
                        cstLectura = "";

                        Pantalla_SalidaPalet(Iptr, _SECCION_1);

                        clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0); printf(Iptr.GetMessage(_LECT_BULTO_1, "Introduzca bulto"));
                        clreol(0, _LINEA_INPUTS + 1); gotoxy(0, _LINEA_INPUTS + 1); printf(Iptr.GetMessage(_LECT_BULTO_2, "<F1:Salta F3:Vacia>"));
                        clreol(0, _LINEA_INPUTS + 2); gotoxy(0, _LINEA_INPUTS + 2);

                        ret = leer_char(ref cstLectura, 20);

                        switch (ret)
                        {
                        // Ir a pedir ubicación origen
                        case _TECLA_ESC:
                            opc = _LECT_UBIORI;
                            break;

                        // Saltar la ubicación.
                        case _TECLA_F1:
                            opc = _SALTAR_UBICACION;
                            break;

                        // Validar el bulto
                        case _TECLA_0:
                            cstPalet = cstLectura;
                            opc      = _VALIDAR_BULTO;
                            break;

                        // La ocupación está vacía.
                        case _TECLA_F3:
                            opc = _VACIAR_OCUPACION;
                            break;

                        // Resto de teclas: ignorar
                        default:
                            UserError("SAP-????", "Opción no controlada");
                            opc = _LECT_BULTO;
                            break;
                        }
                        break;

                    // Validar el nº de palet
                    case _VALIDAR_BULTO:
                        RetVal = Iptr.SalValidarPalet(cstPalet);

                        switch (RetVal)
                        {
                        // OK: Confirmar.
                        case 'S':
                            opc = _DATOS_OK;
                            break;

                        // NOK
                        case 'N':
                            UserError(Iptr);
                            opc = _LECT_BULTO;
                            break;

                        // Error en BBDD.
                        case 'C':
                            UserError(Iptr);
                            opc = _FINALIZAR;
                            break;

                        // Resto de casos: Ignorar.
                        default:
                            UserError("SAP-????", "Opción no controlada");
                            opc = _LECT_BULTO;
                            break;
                        }
                        break;

                    // Confirmar preparación del palet.
                    case _DATOS_OK:
                        Pantalla_SalidaPalet(Iptr, _SECCION_1);

                        clreol(0, _LINEA_INPUTS + 1);
                        clreol(0, _LINEA_INPUTS + 2);
                        clreol(0, _LINEA_INPUTS + 3);

                        ret = preguntar(Iptr.GetMessage(_DATOS_OK_1, "Datos OK (S/N)"), _LINEA_INPUTS + 1);

                        switch (ret)
                        {
                        // Grabar datos.
                        case _TECLA_SI:
                            opc = _ACTUALIZAR;
                            break;

                        // Resto teclas: Ignorar
                        default:
                            opc = _LECT_BULTO;
                            break;
                        }
                        break;

                    // Actualizar palet preparado.
                    case _ACTUALIZAR:
                        RetVal = System.Convert.ToChar(Iptr.SalActualizar());

                        switch (RetVal)
                        {
                        // OK
                        case 'S':
                            // Palet preparado.
                            opc = _CARGAR_DATOS;
                            break;

                        // NOK
                        case 'N':
                            UserError(Iptr);
                            opc = _LECT_BULTO;
                            break;

                        // Error en BBDD
                        case 'C':
                            UserError(Iptr);
                            opc = _FINALIZAR;
                            break;

                        // Resto de casos: Tomar como OK.
                        default:
                            UserError("SAP-????", "Opción no controlada");
                            opc = _CARGAR_DATOS;
                            break;
                        }
                        break;

                    // Cerrar estado Salidas Palet.
                    case _FINALIZAR:
                        opc = _NO_OPERACION;
                        break;

                    default:
                        opc = _NO_OPERACION;
                        break;
                    }
                }while (opc != _NO_OPERACION);
            }

            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.ReadKey();
            }

            finally
            {
                RetVal = System.Convert.ToChar(Iptr.SalFinalizar());
            }

            return;
        }
Esempio n. 7
0
 public void IProradEntry(COMPRADIO.PRORAD Iptr, params System.Object [] parametros)
 {
     SalidaPalet(Iptr, parametros);
     return;
 }
Esempio n. 8
0
        //-------------------------------------------------
        // Función principal.
        //-------------------------------------------------

        /// <summary>
        /// Punto de entrada al programa de RF.
        /// </summary>
        /// <seealso cref="menu(object[])"/>
        /// <seealso cref="DisplayPantallaPro(object[])"/>
        /// <returns></returns>

        public int _tmain()
        {
            int  opc, ret, siguiente_operacion = 0;
            int  nRetCode = 0;
            char RetVal   = ' ';

            string lectura_operario = null;
            string lectura_terminal = null;

            // compradio.proradClass comInstance = new compradio.proradClass();
            COMPRADIO.PRORAD comInstanceCS = new COMPRADIO.PRORAD();

            try
            {
                opc = _INICIALIZAR;

                do
                {
                    switch (opc)
                    {
                    case _INICIALIZAR:
                        // Conectar la BBDD
                        clrscr();
                        gotoxy(0, 14);
                        Console.WriteLine("Conectando ...");

                        // RetVal = System.Convert.ToChar(comInstance.inicioconexion());
                        RetVal = comInstanceCS.InicioConexion();

                        switch (RetVal)
                        {
                        // OK
                        case 'S':
                            opc = _LECTURA_OPERARIO;
                            break;

                        // Error inicializar.
                        case 'N':
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            nRetCode = 2;
                            opc      = _FINALIZAR;
                            break;

                        // Error general.
                        case 'C':
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            nRetCode = 2;
                            opc      = _FINALIZAR;
                            break;

                        // Resto de casos: OK
                        default:
                            opc = _LECTURA_OPERARIO;
                            break;
                        }
                        break;

                    // Entrar código de operario.
                    case _LECTURA_OPERARIO:
                        clrscr();
                        gotoxy(0, 1); printf(comInstanceCS.GetMessage("INI-0005", "PRORAD.2").TrimEnd());
                        gotoxy(0, 4); printf(comInstanceCS.GetMessage("INI-0006", "Operario: ").TrimEnd());

                        lectura_operario = "";
                        gotoxy(10, 4);
                        ret = leer_char(ref lectura_operario, 4);

                        switch (ret)
                        {
                        // Salir del programa
                        case _TECLA_ESC:
                            opc = _FINALIZAR;
                            break;

                        // Pedir terminal
                        case _TECLA_0:
                            opc = _VALIDAR_OPERARIO;
                            break;

                        // Resto de casos: ignorar
                        default:
                            opc = _LECTURA_OPERARIO;
                            break;
                        }
                        break;

                    // Entrar tipo terminal
                    case _LECTURA_TERMINAL:
                        clrscr();
                        gotoxy(0, 1); printf(comInstanceCS.GetMessage("INI-0005", "PRORAD.2").TrimEnd());
                        gotoxy(0, 4); printf(comInstanceCS.GetMessage("INI-9006", "Operario: {0}").TrimEnd(), lectura_operario);
                        gotoxy(0, 5); printf(comInstanceCS.GetMessage("INI-0007", "Terminal: ").TrimEnd());

                        lectura_terminal = "";
                        gotoxy(10, 5);
                        ret = leer_char(ref lectura_terminal, 2);

                        switch (ret)
                        {
                        // Ir a pedir operario.
                        case _TECLA_ESC:
                            siguiente_operacion = _LECTURA_OPERARIO;
                            opc = _DESCONECTAR_OPERARIO;
                            break;

                        // Realizar las validaciones
                        case _TECLA_0:
                            opc = _VALIDAR_TERMINAL;
                            break;

                        // Resto de casos: ignorar
                        default:
                            opc = _LECTURA_TERMINAL;
                            break;
                        }
                        break;

                    // Validar operario
                    case _VALIDAR_OPERARIO:
                        // RetVal = System.Convert.ToChar(comInstance.conectarusuario(lectura_operario));

                        RetVal = comInstanceCS.ConectarUsuario(lectura_operario);

                        switch (RetVal)
                        {
                        // OK: Mostar menú de opciones.
                        case 'S':
                            opc = _LECTURA_TERMINAL;
                            break;

                        // Valores incorrectos.
                        case 'N':
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            opc = _LECTURA_OPERARIO;
                            break;

                        // Error
                        case 'C':
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            nRetCode = 3;
                            opc      = _FINALIZAR;
                            break;

                        // Resto de casos: ignorar
                        default:
                            opc = _LECTURA_OPERARIO;
                            break;
                        }
                        break;

                    // Validar terminal.
                    case _VALIDAR_TERMINAL:
                        // RetVal = System.Convert.ToChar(comInstance.scrvalidarterminal(lectura_terminal));
                        RetVal = comInstanceCS.ValidarTerminal(lectura_terminal);

                        switch (RetVal)
                        {
                        // OK: Mostar menú de opciones
                        case 'S':
                            opc = _DATOS_OK;
                            break;

                        // Valores incorrectos
                        case 'N':
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            opc = _LECTURA_TERMINAL;
                            break;

                        // Error
                        case 'C':
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            nRetCode = 4;
                            opc      = _FINALIZAR;
                            break;

                        // Resto de casos: ignorar
                        default:
                            opc = _LECTURA_TERMINAL;
                            break;
                        }
                        break;

                    // Desconectar operario activo
                    case _DESCONECTAR_OPERARIO:
                        // RetVal = System.Convert.ToChar(comInstance.desconectarusuario());
                        RetVal = comInstanceCS.DesconectarUsuario();

                        switch (RetVal)
                        {
                        // Siguiente operación a realizar:
                        //	- Pedir operario
                        //	- Cerrar BBDD
                        case 'S':
                            opc = siguiente_operacion;
                            break;

                        // Error
                        case 'C':
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            nRetCode = 5;
                            opc      = _FINALIZAR;
                            break;

                        // Resto valores: Error
                        default:
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            nRetCode = 6;
                            opc      = _FINALIZAR;
                            break;
                        }
                        break;

                    // Display del menú general
                    case _DATOS_OK:
                        // Cargar la línea inicial de inputs.
                        _LINEA_INPUTS = comInstanceCS.LineaInputs;

                        // Cargar la columna de inputs.
                        // _COLUMNA_INPUTS = System.Convert.ToInt32(comInstanceCS.ColumnaInputs);
                        _COLUMNA_INPUTS = comInstanceCS.ColumnaInputs;

                        // Llamada al menú principal.
                        menu(comInstanceCS);
                        //DisplayPantallaPro(comInstanceCS);

                        nRetCode = 0;
                        opc      = _LECTURA_TERMINAL;
                        break;

                    // Finalizar programa
                    case _FINALIZAR:
                        opc = _DESCONECTAR_BBDD;
                        break;

                    // Cerrar BBDD
                    case _DESCONECTAR_BBDD:
                        // RetVal = System.Convert.ToChar(comInstance.finconexion());
                        RetVal = comInstanceCS.FinConexion();

                        switch (RetVal)
                        {
                        // Valores incorrectos
                        case 'N':
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            break;

                        // Error
                        case 'C':
                            UserError(comInstanceCS.UsrErrorC, comInstanceCS.UsrError);
                            break;
                        }

                        opc = _FINALIZAR;
                        break;

                    default:
                        opc = _FINALIZAR;
                        break;
                    }
                } while (opc != _FINALIZAR);
            }

            catch (Exception ex)
            {
                string cadena = DateTime.Now.ToString() + "|" + ex.Message + "|" + ex.StackTrace + System.Environment.NewLine;

                System.IO.FileStream fs = new System.IO.FileStream("PRORAD.LOG", System.IO.FileMode.Append);
                fs.Write(ASCIIEncoding.ASCII.GetBytes(cadena), 0, cadena.Length);
                fs.Close();

                nRetCode = ex.HResult;
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.ReadKey();
            }

            finally
            {
                RetVal = comInstanceCS.DesconectarUsuario();
                RetVal = comInstanceCS.FinConexion();
            }

            return(nRetCode);
        }
Esempio n. 9
0
        //-------------------------------------------------
        // Menú. Versión configurable.
        //-------------------------------------------------

        /// <summary>
        /// Menú general de opciones - Formato configurable.
        /// </summary>
        ///
        /// <param name="parametros"> Array de parámetros</param>
        ///
        /// <remarks>
        ///     parametros[0] - Objeto COMPRADIO.
        /// </remarks>
        ///
        /// <seealso cref="menu(object[])"/>
        /// <seealso cref="_tmain"/>
        ///
        /// <returns></returns>

        public int DisplayPantallaPro(params object[] parametros)
        {
            COMPRADIO.PRORAD Iptr = (COMPRADIO.PRORAD)parametros[0];

            int  opc;
            int  tecla;
            char cRetVal;

            CString cstSeccion = "";
            Char    cstMenu    = ' ';
            CString cstComando = "";
            CString cstEntry   = "";

            opc = _INICIALIZAR_MENU;

            do
            {
                switch (opc)
                {
                case _INICIALIZAR_MENU:
                    cstSeccion = _SECCION_0;
                    opc        = _LECTURA_MENU;
                    break;

                // Mostrar el menú activo.
                case _LECTURA_MENU:
                    clrscr();
                    DisplayUserScr(Iptr, _PROGRAMA, cstSeccion, "MENUS");

                    cstMenu = ' ';
                    gotoxy(0, _LINEA_INPUTS);
                    do
                    {
                        gotoxy(_COLUMNA_INPUTS, _LINEA_INPUTS);
                        tecla = getkey();
                    } while (tecla == -1);

                    switch (tecla)
                    {
                    // Ir al nivel anterior, ó exit.
                    case _TECLA_ESC:
                        opc = _PREVIOUS_MENU;
                        break;

                    // Validar la opción de menú.
                    default:
                        cstMenu = System.Convert.ToChar(tecla);
                        opc     = _VALIDAR_MENU;
                        break;
                    }
                    break;

                // Validar el menú
                case _VALIDAR_MENU:
                    cRetVal = System.Convert.ToChar(Iptr.ValidarMenu(_PROGRAMA, cstSeccion, cstMenu));

                    switch (cRetVal)
                    {
                    // OK: Ejecutar la función seleccionada.
                    case 'F':
                        cstComando = Iptr.MnuNamespace + "." + Iptr.MnuClase + ", " + Iptr.MnuEnsamblado;
                        cstEntry   = Iptr.MnuEntryPoint;

                        System.Object[] pmo = { Iptr, new System.Object[] { } };
                        Type            t   = System.Type.GetType(cstComando);
                        if (t == null)
                        {
                            UserError("_SYS-0010", Iptr.GetMessage("_SYS-0010", "Llamada es NULL", Iptr.MensajesRF));
                            opc = _LECTURA_MENU;
                            break;
                        }

                        object ot = System.Activator.CreateInstance(t);
                        ot.GetType().GetMethod(cstEntry).Invoke(ot, pmo);

                        opc = _LECTURA_MENU;
                        break;

                    // OK: Displayar el menú seleccionado.
                    case 'M':
                        cstSeccion = Iptr.MnuSeccion;

                        opc = _LECTURA_MENU;
                        break;

                    // Salir.
                    case 'Q':
                        opc = _FINALIZAR_MENU;
                        break;

                    // Opción incorrecta.
                    case 'N':
                        UserError(Iptr);
                        opc = _LECTURA_MENU;
                        break;

                    // Error.
                    case 'C':
                        UserError(Iptr);
                        opc = _FINALIZAR_MENU;
                        break;

                    // Resto de casos: ignorar.
                    default:
                        opc = _LECTURA_MENU;
                        break;
                    }
                    break;

                // Ir al nivel anterior de menú.
                case _PREVIOUS_MENU:
                    cstSeccion = System.Convert.ToString(Iptr.MnuSeccion);
                    cRetVal    = System.Convert.ToChar(Iptr.PreviousMenu(_PROGRAMA, cstSeccion, 'Q'));

                    switch (cRetVal)
                    {
                    // OK: Display menú.
                    case 'S':
                        cstSeccion = (string)Iptr.MnuSeccion;
                        opc        = _LECTURA_MENU;
                        break;

                    // Salir.
                    case 'Q':
                        opc = _FINALIZAR_MENU;
                        break;

                    // Opción incorrecta
                    case 'N':
                        UserError(Iptr);
                        opc = _LECTURA_MENU;
                        break;

                    // Error
                    case 'C':
                        UserError(Iptr);
                        opc = _FINALIZAR_MENU;
                        break;

                    // Resto de casos: ignorar
                    default:
                        opc = _LECTURA_MENU;
                        break;
                    }
                    break;

                // Finalizar tratamiento de menú
                case _FINALIZAR_MENU:
                    opc = _NOOPERACION_MENU;
                    break;
                }
            } while (opc != _NOOPERACION_MENU);

            return(0);
        }
Esempio n. 10
0
        // Proceso de recuento de material.
        public void RecuentoMaterial(params object[] parametrosE)
        {
            COMPRADIO.PRORAD Iptr = (COMPRADIO.PRORAD)parametrosE[0];

            CString cstCodEAN  = new CString();
            CString cstCantid  = new CString();
            CString cstAlbaran = new CString();

            string cstLectura = null;

            int  ret = 0, opc;
            char RetVal;

            CONSULTAALBARANES oCns = null;

            opc = _INICIALIZAR;

            try
            {
                do
                {
                    switch (opc)
                    {
                    case _INICIALIZAR:
                        cstCodEAN  = "";
                        cstCantid  = "";
                        cstAlbaran = "";

                        cstLectura = "";

                        // Inicializar estado recuento de material por albarán.
                        RetVal = System.Convert.ToChar(Iptr.RecInicializar());

                        switch (RetVal)
                        {
                        // OK
                        case 'S':
                            opc = _LECT_ALBARAN;
                            break;

                        // Resto de casos: Tomar como error.
                        default:
                            // NOK
                            opc = _FINALIZAR;
                            break;
                        }
                        break;

                    // Pedir nº de albarán a recontar
                    case _LECT_ALBARAN:
                        cstAlbaran = "";

                        Pantalla_RecuentoMaterial(Iptr, _SECCION_1);

                        clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0); printf(Iptr.GetMessage(_LECT_ALBARAN_1, "Introduzca albaran"));
                        clreol(0, _LINEA_INPUTS + 1); gotoxy(0, _LINEA_INPUTS + 1); printf(Iptr.GetMessage(_LECT_ALBARAN_2, "<F2:Consulta>"));
                        clreol(0, _LINEA_INPUTS + 2); gotoxy(0, _LINEA_INPUTS + 2);

                        ret        = leer_char(ref cstLectura, 10);
                        cstAlbaran = cstLectura;

                        switch (ret)
                        {
                        // Abandonar programa
                        case _TECLA_ESC:
                            opc = _FINALIZAR;
                            break;

                        // Consulta de albaranes
                        case _TECLA_F2:
                            opc = _CONS_ALBARANES;
                            break;

                        case _TECLA_0:
                            opc = _VALIDAR_ALBARAN;
                            break;

                        // Resto de teclas: ignorar.
                        default:
                            opc = _LECT_ALBARAN;
                            break;
                        }
                        break;

                    // Validar el nº de albarán
                    // Se viene desde _LECT_ALBARAN (TECLA_0)  y _CONS_ALBARAN
                    case _VALIDAR_ALBARAN:
                        RetVal = Iptr.RecValidarAlbaran(cstAlbaran);

                        switch (RetVal)
                        {
                        // OK
                        case 'S':
                            opc = _LECT_CODEAN;
                            break;

                        // NOK
                        case 'N':
                            UserError(Iptr);
                            opc = _LECT_ALBARAN;
                            break;

                        // Error en BBDD.
                        case 'C':
                            UserError(Iptr);
                            opc = _FINALIZAR;
                            break;

                        // Resto de casos: Tomar como OK
                        default:
                            // Albarán OK
                            opc = _LECT_CODEAN;
                            break;
                        }
                        break;

                    // Solicitamos código de barras del artículo.
                    case _LECT_CODEAN:
                        cstCodEAN = "";
                        cstCantid = "";

                        Pantalla_RecuentoMaterial(Iptr, _SECCION_1);

                        clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0); printf(Iptr.GetMessage(_LECT_CODEAN_1, "Introduzca EAN"));
                        clreol(0, _LINEA_INPUTS + 1);
                        clreol(0, _LINEA_INPUTS + 2); gotoxy(0, _LINEA_INPUTS + 2);

                        ret       = leer_char(ref cstLectura, 20);
                        cstCodEAN = cstLectura;

                        switch (ret)
                        {
                        // Ir a pedir albarán.
                        case _TECLA_ESC:
                            opc = _LECT_ALBARAN;
                            break;

                        case _TECLA_0:
                            RetVal = System.Convert.ToChar(Iptr.RecValidarEAN(cstCodEAN));

                            switch (RetVal)
                            {
                            // OK
                            case 'S':
                                opc = _LECT_CANTID;
                                break;

                            // NOK
                            case 'N':
                                UserError(Iptr);
                                opc = _LECT_CODEAN;
                                break;

                            // Error en BBDD.
                            case 'C':
                                UserError(Iptr);
                                opc = _FINALIZAR;
                                break;

                            // Resto de casos: Tomar como OK
                            default:
                                // Albarán OK
                                opc = _LECT_CANTID;
                                break;
                            }
                            break;

                        // Resto de teclas: ignorar.
                        default:
                            opc = _LECT_CODEAN;
                            break;
                        }
                        break;

                    // Entrar la cantidad recontada.
                    case _LECT_CANTID:
                        cstCantid = "";

                        Pantalla_RecuentoMaterial(Iptr, _SECCION_1);

                        clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0); printf(Iptr.GetMessage(_LECT_CANTID_1, "Introduzca cantidad"));
                        clreol(0, _LINEA_INPUTS + 1); gotoxy(0, _LINEA_INPUTS + 1); printf(Iptr.GetMessage(_LECT_CANTID_2, "<F2:Poner a cero>"));
                        clreol(0, _LINEA_INPUTS + 2); gotoxy(0, _LINEA_INPUTS + 2);

                        ret       = leer_char(ref cstLectura, 10);
                        cstCantid = cstLectura;

                        // Tratamiento lectura
                        switch (ret)
                        {
                        // Ir a pedir EAN
                        case _TECLA_ESC:
                            opc = _LECT_CODEAN;
                            break;

                        // Poner a cero cantidad recontada de la línea
                        case _TECLA_F2:
                            opc = _PONER_CERO;
                            break;

                        case _TECLA_0:
                            RetVal = Iptr.RecValidarCnt((string)cstCantid);

                            switch (RetVal)
                            {
                            // OK
                            case 'S':
                                // Albarán OK
                                opc = _DATOS_OK;
                                break;

                            // NOK
                            case 'N':
                                UserError(Iptr);
                                opc = _LECT_CANTID;
                                break;

                            // Cantidad > cantidad pedida
                            case 'P':
                                UserError(Iptr);

                                clreol(0, _LINEA_INPUTS + 1);
                                ret = preguntar(Iptr.GetMessage(_LECT_CANTID_3, "Aceptar cantidad (S/N)"), _LINEA_INPUTS + 1);

                                switch (ret)
                                {
                                // Aceptar cantidad recontada > cantidad pedida
                                case _TECLA_SI:
                                    opc = _DATOS_OK;
                                    break;

                                // Por defecto NO acepta la cantidad
                                default:
                                    opc = _LECT_CANTID;
                                    break;
                                }
                                break;

                            // Error en BBDD
                            case 'C':
                                UserError(Iptr);
                                opc = _FINALIZAR;
                                break;

                            // Resto de casos: Tomar como OK
                            default:
                                // Albarán OK
                                opc = _DATOS_OK;
                                break;
                            }
                            break;

                        // Resto de teclas: Ignorar.
                        default:
                            opc = _LECT_CANTID;
                            break;
                        }
                        break;

                    // Actualizar cantidad recontada en la línea del albarán
                    case _DATOS_OK:
                        Pantalla_RecuentoMaterial(Iptr, _SECCION_1);

                        clreol(0, _LINEA_INPUTS + 1);
                        ret = preguntar(Iptr.GetMessage(_DATOS_OK_1, "Datos OK (S/N)"), _LINEA_INPUTS + 1);

                        switch (ret)
                        {
                        // Grabar datos
                        case _TECLA_SI:
                            opc = _ACTUALIZAR;
                            break;

                        // Resto teclas: Ignorar
                        default:
                            opc = _LECT_CANTID;
                            break;
                        }
                        break;

                    // Actualizar cantidad y estado albarán de entrada.
                    case _ACTUALIZAR:
                        RetVal = System.Convert.ToChar(Iptr.RecActualizar());

                        switch (RetVal)
                        {
                        // OK
                        case 'S':
                            // Recuento actualizado
                            opc = _LECT_CODEAN;
                            break;

                        // NOK
                        case 'N':
                            UserError(Iptr);
                            opc = _LECT_CANTID;
                            break;

                        // Error en BBDD
                        case 'C':
                            UserError(Iptr);
                            opc = _FINALIZAR;
                            break;

                        // Resto de casos: Tomar como OK
                        default:
                            // Recuento actualizado
                            opc = _LECT_CODEAN;
                            break;
                        }
                        break;

                    // Consulta de albaranes.
                    case _CONS_ALBARANES:
                        oCns = new CONSULTAALBARANES();
                        oCns.ConsultaAlbaranes(Iptr);
                        oCns = null;

                        // Recuperar albarán actual, si hay.
                        cstAlbaran = (string)Iptr.CnsNumAlb;
                        opc        = _VALIDAR_ALBARAN;
                        break;

                    // Cerrar estado recuento de material.
                    case _FINALIZAR:
                        opc = _NO_OPERACION;
                        break;

                    default:
                        opc = _NO_OPERACION;
                        break;
                    }
                }while (opc != _NO_OPERACION);
            }

            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.ReadKey();
            }

            finally
            {
                RetVal = System.Convert.ToChar(Iptr.RecFinalizar());
            }

            return;
        }
Esempio n. 11
0
 public void IProradEntry(COMPRADIO.PRORAD Iptr, params System.Object [] parametros)
 {
     RecuentoMaterial(Iptr, parametros);
     return;
 }
Esempio n. 12
0
        // Proceso de consulta de albaranes.
        public void ConsultaAlbaranes(params object [] parametrosA)
        {
            COMPRADIO.PRORAD Iptr = (COMPRADIO.PRORAD)parametrosA[0];

            string cstAlbaran = "";
            string cstFecEnt;
            string cstEstado;
            string cstLinea;
            string cstSkipR = "";

            string cstLectura = "";
            int    ret, opc;
            char   RetVal;

            opc = _CMC_INIT_ALBARAN;

            try
            {
                do
                {
                    switch (opc)
                    {
                    // Entrar nº de albarán inicial.
                    case _CMC_LECT_ALBARAN:
                        cstAlbaran = "";
                        cstFecEnt  = "";
                        cstEstado  = "";
                        cstLinea   = "";

                        nLineaDet  = 0;
                        cstLectura = "";

                        Pantalla_ConsultaAlbaranes(cstAlbaran, cstFecEnt, cstEstado, cstLinea);

                        clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0); printf("Albaran inicial");
                        clreol(0, _LINEA_INPUTS + 1); gotoxy(0, _LINEA_INPUTS + 1); printf("<ESC:Salir>");
                        clreol(0, _LINEA_INPUTS + 2); gotoxy(0, _LINEA_INPUTS + 2); ret = leer_char(ref cstLectura, 10);

                        cstAlbaran = cstLectura;

                        switch (ret)
                        {
                        // Abandonar el programa
                        case _TECLA_ESC:
                            opc = _NO_OPERACION;
                            break;

                        // Validar el albarán inicial.
                        case _TECLA_0:
                            cstSkipR = "V";
                            opc      = _CMC_VALIDAR;
                            break;

                        // Selección de albaranes.
                        case _TECLA_F2:
                            RetVal = System.Convert.ToChar(Iptr.ConsultaAlbaranes(cstSkipR, cstAlbaran));

                            switch (RetVal)
                            {
                            // OK
                            case 'S':
                                // Consulta OK
                                nLineaDet = 0;
                                opc       = _CMC_MOSTRAR_ALBARAN;
                                break;

                            // NOK
                            case 'N':
                                // No puede cargar albaranes
                                UserError(Iptr);
                                opc = _CMC_LECT_ALBARAN;
                                break;

                            // Resto de casos: Tomar como OK
                            default:
                                // Albarán OK
                                nLineaDet = 0;
                                opc       = _CMC_MOSTRAR_ALBARAN;
                                break;
                            }
                            break;

                        // Resto de teclas: Ignorar
                        default:
                            opc = _CMC_LECT_ALBARAN;
                            break;
                        }
                        break;

                    // Mostrar la siguiente línea de albarán.
                    case _CMC_MOSTRAR_ALBARAN:
                        cstSkipR = "M";
                        RetVal   = System.Convert.ToChar(Iptr.ConsultaAlbaranes(cstSkipR, cstAlbaran));

                        switch (RetVal)
                        {
                        // EOF
                        case 'O':
                            // No hay más líneas.
                            UserError(Iptr);
                            opc = _CMC_LECT_ALBARAN;
                            break;

                        // OK
                        case 'S':
                            // Recuperar código de barras
                            cstAlbaran = Iptr.CnsNumAlb;

                            // Recuperar la fecha de albarán.
                            cstFecEnt = String.Format("{0:d}", Iptr.CnsFecEnt);

                            // Recuperar el estado del albarán.
                            cstEstado = Iptr.CnsEstAlb;

                            // Recuperar línea relativa.
                            cstLinea = Iptr.CnsOrden.ToString();

                            // Visualizar albarán actual.
                            Pantalla_ConsultaAlbaranes(cstAlbaran, cstFecEnt, cstEstado, cstLinea);

                            if (nLineaDet >= _LIN_PAG)
                            {
                                // Pantalla llena: Seleccionar albarán ó avanzar pantalla
                                opc = _CMC_SELECCION;
                                break;
                            }

                            // Cargar más albaranes.
                            opc = _CMC_MOSTRAR_ALBARAN;
                            break;

                        // Error
                        case 'E':
                            // Error de programa
                            UserError(Iptr);
                            opc = _NO_OPERACION;
                            break;

                        // Resto de casos: Error.
                        default:
                            // Error
                            clreol(0, _LINEA_INPUTS + 1);
                            gotoxy(0, _LINEA_INPUTS + 1);
                            printf("Resultado indefinido. Pulse tecla.");
                            getkey();
                            opc = _NO_OPERACION;
                            break;
                        }
                        break;

                    // Tomar datos del albarán activo.
                    case _CMC_CARGAR_ALBARAN:
                        // Recuperar albarán actual, si hay.
                        cstAlbaran = Iptr.NumAlb;
                        cstSkipR   = "V";
                        opc        = _CMC_VALIDAR;
                        break;

                    // Validar el albarán.
                    // Se viene desde _CMC_CARGAR_ALBARAN y _CMC_LECT_ALBARAN(TECLA_0)
                    case _CMC_VALIDAR:
                        RetVal = System.Convert.ToChar(Iptr.ConsultaAlbaranes(cstSkipR, cstAlbaran));

                        switch (RetVal)
                        {
                        // OK
                        case 'S':
                            // Albarán OK
                            nLineaDet = 0;
                            opc       = _CMC_MOSTRAR_ALBARAN;
                            break;

                        // NOK
                        case 'N':
                            // No hay albaranes.
                            opc = _CMC_LECT_ALBARAN;
                            break;

                        // Error
                        case 'E':
                            // Error de programa
                            UserError(Iptr);
                            opc = _CMC_LECT_ALBARAN;
                            break;

                        // Resto de casos: Tomar como OK
                        default:
                            // Albarán OK
                            nLineaDet = 0;
                            opc       = _CMC_MOSTRAR_ALBARAN;
                            break;
                        }
                        break;

                    // Seleccionar albarán a procesar.
                    case _CMC_SELECCION:
                        clreol(0, _LINEA_INPUTS + 0); gotoxy(0, _LINEA_INPUTS + 0); printf("Seleccionar albaran");
                        clreol(0, _LINEA_INPUTS + 1); gotoxy(0, _LINEA_INPUTS + 1); printf("<F2:Inicio F3:Sigue ESC:Salir>");
                        clreol(0, _LINEA_INPUTS + 2); gotoxy(0, _LINEA_INPUTS + 2); ret = leer_char(ref cstLectura, 10);

                        cstAlbaran = cstLectura;

                        switch (ret)
                        {
                        // Abandonar programa
                        case _TECLA_ESC:
                            opc = _NO_OPERACION;
                            break;

                        // Devolver albarán seleccionado
                        case _TECLA_0:
                            cstSkipR = "S";
                            RetVal   = System.Convert.ToChar(Iptr.ConsultaAlbaranes(cstSkipR, cstAlbaran));

                            switch (RetVal)
                            {
                            // OK
                            case 'S':
                                // Devolver albarán ya asignado a propiedad y salir
                                opc = _NO_OPERACION;
                                break;

                            // NOK
                            case 'N':
                                // La selección no es correcta
                                UserError(Iptr);
                                opc = _CMC_SELECCION;
                                break;

                            // Error
                            case 'E':
                                // Error
                                UserError(Iptr);
                                opc = _NO_OPERACION;
                                break;

                            // Resto de casos: Pedir selección
                            default:
                                // Opción no controlada
                                opc = _CMC_LECT_ALBARAN;
                                break;
                            }
                            break;

                        // Pedir albarán inicial
                        case _TECLA_F2:
                            opc = _CMC_LECT_ALBARAN;
                            break;

                        // Mostrar más albaranes
                        case _TECLA_F3:
                            nLineaDet = 0;
                            opc       = _CMC_MOSTRAR_ALBARAN;
                            break;

                        // Resto de teclas: Ignorar
                        default:
                            opc = _CMC_SELECCION;
                            break;
                        }
                        break;

                    // Inicializar valores.
                    case _CMC_INIT_ALBARAN:
                        cstAlbaran = "";
                        cstFecEnt  = "";
                        cstEstado  = "";
                        cstLinea   = "";

                        nLineaDet = 0;
                        opc       = _CMC_CARGAR_ALBARAN;
                        break;

                    default:
                        opc = _NO_OPERACION;
                        break;
                    }
                } while (opc != _NO_OPERACION);
            }

            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                Console.WriteLine(ex.StackTrace);
                Console.ReadKey();
            }

            finally
            {
                // Cerrar proceso de consulta.
                RetVal = Convert.ToChar(Iptr.ConsultaAlbaranes("Z", cstLectura));
            }

            return;
        }
Esempio n. 13
0
        public void UserError(COMPRADIO.PRORAD Iptr)
        {
            UserError(Iptr.UsrErrorC, Iptr.UsrError);

            return;
        }