using Exferia_Aplicacion.General;
using Exferia_Aplicacion.Modelos_Listado_Filtros;
using Exferia_Aplicacion.Modelos_Maestros;
using Exferia_Aplicacion.Sincronizacion;
using Exferia_Controles;
using Exferia_EntityFramework;
using Exferia_Formularios;
using Exferia_Mythos._0_Modelos;
using Exferia_Mythos._1_Datos;
using Exferia_Mythos._3_Vistas;
using Exferia_Mythos._3_Vistas.F3;
using Exferia_Mythos._3_Vistas.Listados;
using Exferia_Mythos._3_Vistas.MantenimientoSimple;
using Exferia_Mythos.General;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using static Exferia_Aplicacion.General.Enumerados;

namespace Exferia_Mythos
{
    public class Opciones
    {

        // Evento que se activa cuando se selecciona un registro
        public event EventHandler<INTERNO_EventArgs_Listado> ABS_Opciones_Evento_RegistroSeleccionado;
        protected void Evento_RegistroSeleccionado(object sender, INTERNO_EventArgs_Listado e)
        {
            INTERNO_EventArgs_Listado obj_Exferia_EventArgs = new INTERNO_EventArgs_Listado(null, null, e.REGISTRO_SELECCIONADO, null, e.Objeto_Auxiliar,e.Listado_INTERNO_Filtro_OpcionPadre_Modelo,e.CamposValores_ParaMantenimiento);
            EventHandler<INTERNO_EventArgs_Listado> obj_EventHandler = ABS_Opciones_Evento_RegistroSeleccionado;
            if (obj_EventHandler != null)
                obj_EventHandler(this, obj_Exferia_EventArgs);
        }

        #region Listado
        private void CARGAR_LISTADO(string _str_Opcion,
                                               bool _bol_ListadoSeleccionable,
                                               int _int_AccionesPermitidas,
                                               P_Base _frm_P_Base_Origen,
                                               INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo,
                                               DateTime _dtt_FechaPorDefecto,
                                               string _str_SeleccionFiltro_NombreCampo,
                                               string _str_SeleccionFiltro_Valor,
                                               bool _bol_SeleccionFiltro_SencibleMayusculasMinusculas,
                                               bool _bol_SeleccionFiltro_PalabraCompleta,
                                               List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo,
                                               List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo,
                                               Dictionary<string, object> _dct_ListadoFiltros,
                                               object _obj_Auxiliar,
                                               object _obj_Filtros_Auxiliar,
                                                ABS_Listado _obj_ABS_Listado)
        {
            //Nombre de la DLL Actual
            string str_Nombre_DLL = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;

            Funciones_Listado obj_Funciones_Listado = new Funciones_Listado();

            //EVENTOS PUBLICOS
            obj_Funciones_Listado.Funciones_Listado_Evento_RegistroSeleccionado += new System.EventHandler<INTERNO_EventArgs_Listado>(Evento_RegistroSeleccionado);

            //Datos Variables segun Opciones ###########################################################
            ABS_Listado obj_ABS_Listado_Auxiliar = null;

            //ADMINISTRADORES
            if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Administradores();
            }
            //CONFIGURACION_INFORMES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACION_INFORMES))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Configuracion_Informes();
            }
            //EMPRESAINSTALADORA
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_EmpresasInstaladoras();
            }
            //ESTRUCTURAPARTEPETICIONDATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_EstructurasPartesPeticionDatos_Cabecera();
            }
            //ESTRUCTURAPARTESPETICIONDATOSTIPOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_EstructurasPartesPeticionDatos_Tipos();
            }
            //INFRAESTRUCTURAS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Infraestructuras();
            }
            //INSPECCIONES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Inspecciones();
            }
            //INSPECCIONESTIPOSRESULTADOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_InspeccionesTiposResultados();
            }
            //INSTALACIONESCABECERA
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_InstalacionesCabecera();
            }
            //INSTALACIONESLINEAS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEAS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_InstalacionesLineas();
                _int_AccionesPermitidas = 111;
            }
            //INSTALACIONESLINEASCONTRATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEASCONTRATOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_InstalacionesLineasContratos();
            }
            //INSTALACIONESESTADOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_InstalacionesEstados();
            }
            //INSTALACIONESUSOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_InstalacionesUsos();
            }
            //LIQUIDACIONES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_LIQUIDACIONES))
            {
                long lng_idEjercicio = -1;
                if (_lst_INTERNO_Filtro_OpcionPadre_Modelo == null || !_lst_INTERNO_Filtro_OpcionPadre_Modelo.Exists(m => m.NOMBRE_CAMPO.Equals(nameof(INTERNO_MYT_Liquidaciones_Listado_Modelo.idEjercicio))))
                {
                    //Instanciar la Variable
                    if (_lst_INTERNO_Filtro_OpcionPadre_Modelo == null)
                    {
                        _lst_INTERNO_Filtro_OpcionPadre_Modelo = new List<INTERNO_Filtro_OpcionPadre_Modelo>();
                    }

                    _lst_INTERNO_Filtro_OpcionPadre_Modelo.Add(new INTERNO_Filtro_OpcionPadre_Modelo(nameof(INTERNO_MYT_Liquidaciones_Listado_Modelo.idEjercicio), _mdl_INTERNO_ValoresGenerales_Modelo.EjercicioActivo.id));

                    lng_idEjercicio = _mdl_INTERNO_ValoresGenerales_Modelo.EjercicioActivo.id;
                }
                else
                {
                    lng_idEjercicio = _lst_INTERNO_Filtro_OpcionPadre_Modelo.Where(m => m.NOMBRE_CAMPO.Equals(nameof(INTERNO_MYT_Liquidaciones_Listado_Modelo.idEjercicio))).FirstOrDefault().VALOR;
                }

                //Ejercicio Filtro pantalla.................................................................................................................................
                //Instanciar la Variable
                if (_dct_ListadoFiltros == null)
                {
                    _dct_ListadoFiltros = new Dictionary<string, object>();
                }

                //Fìltrar por el Ejercicio Actual
                INTERNO_Listado_Filtros_Relacionadas_Modelo mdl_INTERNO_Listado_Filtros_Relacionadas_Modelo_FILTROS = new INTERNO_Listado_Filtros_Relacionadas_Modelo();
                //CAMPO
                mdl_INTERNO_Listado_Filtros_Relacionadas_Modelo_FILTROS.CAMPO = nameof(INTERNO_MYT_Liquidaciones_Listado_Modelo.idEjercicio);
                //VALOR
                List<long> lst_Valores = new List<long>();
                lst_Valores.Add(lng_idEjercicio);
                mdl_INTERNO_Listado_Filtros_Relacionadas_Modelo_FILTROS.ID = lst_Valores;

                if (_dct_ListadoFiltros.Count > 0 && _dct_ListadoFiltros.ContainsKey(nameof(INTERNO_MYT_Liquidaciones_Listado_Modelo.Ejercicio)))
                {
                    _dct_ListadoFiltros[nameof(INTERNO_MYT_Liquidaciones_Listado_Modelo.Ejercicio)] = mdl_INTERNO_Listado_Filtros_Relacionadas_Modelo_FILTROS;
                }
                else
                {
                    _dct_ListadoFiltros.Add(nameof(INTERNO_MYT_Liquidaciones_Listado_Modelo.Ejercicio), mdl_INTERNO_Listado_Filtros_Relacionadas_Modelo_FILTROS);
                }
                //....................................................................................................................................................

               
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Liquidaciones(_mdl_INTERNO_ValoresGenerales_Modelo);
                
            }
            //MARCAS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Marcas();
            }
            //MODELOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Modelos();
            }
            //ORGANISMOCERTIFICADOR
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_OrganismosCertificadores();
            }
            //PARTES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Partes();
            }
            //PARTESESTADOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_PartesEstados();
            }
            //PARTESTIPOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_PartesTipos();
            }
            //PLANMANTENIMIENTO
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_PlanMantenimientosCabeceras();
            }
            //PREVISIONES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PREVISIONES))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Previsiones();
            }
            //PROTOCOLOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Protocolos();
            }
            //PROTOCOLOSTIPOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_ProtocolosTipos();
            }
            //TECNICOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_Tecnicos();

                //FechaBaja posteria a la actual .................................................................................................................................
                if (_dct_ListadoFiltros == null || !_dct_ListadoFiltros.ContainsKey(nameof(INTERNO_MYT_Tecnicos_Listado_Modelo.fechaBaja)))
                {
                    //Instanciar la Variable
                    if (_dct_ListadoFiltros == null)
                    {
                        _dct_ListadoFiltros = new Dictionary<string, object>();
                    }

                    INTERNO_Listado_Filtros_Fecha_Modelo mdl_INTERNO_Listado_Filtros_Fecha_Modelo = new INTERNO_Listado_Filtros_Fecha_Modelo();
                    mdl_INTERNO_Listado_Filtros_Fecha_Modelo.CAMPO = nameof(INTERNO_MYT_Tecnicos_Listado_Modelo.fechaBaja);
                    mdl_INTERNO_Listado_Filtros_Fecha_Modelo.CONDICIONAL = (int)G_ENUM_CONDICIONALES.Y;
                    mdl_INTERNO_Listado_Filtros_Fecha_Modelo.OPCION = Variables.G_MDL_INTERNO_CODIGODESCRIPCION_OPCIONES_FECHA_PERSONALIZADA.Codigo;
                    mdl_INTERNO_Listado_Filtros_Fecha_Modelo.PRIMERA_FECHA = _dtt_FechaPorDefecto;
                    mdl_INTERNO_Listado_Filtros_Fecha_Modelo.PRIMERA_TIPOBUSQUEDA = Variables.G_MDL_INTERNO_CODIGODESCRIPCION_TIPOBUSQUEDA_FECHA_POSTERIORA.Codigo;
                    mdl_INTERNO_Listado_Filtros_Fecha_Modelo.SEGUNDA_FECHA = null;
                    mdl_INTERNO_Listado_Filtros_Fecha_Modelo.SEGUNDA_TIPOBUSQUEDA = Variables.G_MDL_INTERNO_CODIGODESCRIPCION_TIPOBUSQUEDA_FECHA_IGUALA.Codigo;
                    _dct_ListadoFiltros.Add(nameof(INTERNO_MYT_Tecnicos_Listado_Modelo.fechaBaja), mdl_INTERNO_Listado_Filtros_Fecha_Modelo);
                }
                //....................................................................................................................................................
            }
            //TIPOSCONTRATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
            {
                obj_ABS_Listado_Auxiliar = new ABS_Listado_MYT_TiposContratos();
            }

            //Llamar a la Funcion general que cargara los datos y generar la pantalla del listado
            obj_Funciones_Listado.Mostrar_Listado(_bol_ListadoSeleccionable,
                                                    _int_AccionesPermitidas,
                                                    _frm_P_Base_Origen,
                                                    _mdl_INTERNO_ValoresGenerales_Modelo,
                                                    _dtt_FechaPorDefecto,
                                                    _str_SeleccionFiltro_NombreCampo,
                                                    _str_SeleccionFiltro_Valor,
                                                    _bol_SeleccionFiltro_SencibleMayusculasMinusculas,
                                                    _bol_SeleccionFiltro_PalabraCompleta,
                                                    str_Nombre_DLL,
                                                    _str_Opcion,
                                                    obj_ABS_Listado_Auxiliar,
                                                    _lst_INTERNO_Filtro_OpcionPadre_Modelo,
                                                    _lst_INTERNO_Filtro_Modelo,
                                                    _dct_ListadoFiltros,
                                                    _obj_Auxiliar);
        }

        private List<dynamic> OBTENER_LISTADO(string _str_Opcion,
                                                        long _lng_idEmpresaSeleccionada,
                                                        long _lng_idEjercicioActual,
                                                        List<string> _lst_CamposConRelacionABuscar,
                                                        List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo,
                                                        List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
        {
            List<dynamic> lst_Valores = null;

            try
            {
                //ADMINISTRADORES
                if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
                {
                    MYT_Administradores_Datos obj_MYT_Administradores_Datos = new MYT_Administradores_Datos();
                    lst_Valores = obj_MYT_Administradores_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //CONFIGURACION_INFORMES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACION_INFORMES))
                {
                    MYT_Configuracion_Informes_Datos obj_MYT_Configuracion_Informes_Datos = new MYT_Configuracion_Informes_Datos();
                    lst_Valores = obj_MYT_Configuracion_Informes_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //EMPRESAINSTALADORA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
                {
                    MYT_EmpresasInstaladoras_Datos obj_MYT_EmpresasInstaladoras_Datos = new MYT_EmpresasInstaladoras_Datos();
                    lst_Valores = obj_MYT_EmpresasInstaladoras_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //ESTRUCTURAPARTEPETICIONDATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Cabecera_Datos obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos = new MYT_EstructurasPartesPeticionDatos_Cabecera_Datos();
                    lst_Valores = obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //ESTRUCTURAPARTESPETICIONDATOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Tipos_Datos obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos = new MYT_EstructurasPartesPeticionDatos_Tipos_Datos();
                    lst_Valores = obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INFRAESTRUCTURAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
                {
                    MYT_Infraestructuras_Datos obj_MYT_Infraestructuras_Datos = new MYT_Infraestructuras_Datos();
                    lst_Valores = obj_MYT_Infraestructuras_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSPECCIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
                {
                    MYT_Inspecciones_Datos obj_MYT_Inspecciones_Datos = new MYT_Inspecciones_Datos();
                    lst_Valores = obj_MYT_Inspecciones_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSPECCIONESTIPOSRESULTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
                {
                    MYT_InspeccionesTiposResultados_Datos obj_MYT_InspeccionesTiposResultados_Datos = new MYT_InspeccionesTiposResultados_Datos();
                    lst_Valores = obj_MYT_InspeccionesTiposResultados_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESCABECERA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
                {
                    MYT_InstalacionesCabecera_Datos obj_MYT_InstalacionesCabecera_Datos = new MYT_InstalacionesCabecera_Datos();
                    lst_Valores = obj_MYT_InstalacionesCabecera_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESLINEAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEAS))
                {
                    MYT_InstalacionesLineas_Datos obj_MYT_InstalacionesLineas_Datos = new MYT_InstalacionesLineas_Datos();
                    lst_Valores = obj_MYT_InstalacionesLineas_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESLINEASCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEASCONTRATOS))
                {
                    MYT_InstalacionesLineasContratos_Datos obj_MYT_InstalacionesLineasContratos_Datos = new MYT_InstalacionesLineasContratos_Datos();
                    lst_Valores = obj_MYT_InstalacionesLineasContratos_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
                {
                    MYT_InstalacionesEstados_Datos obj_MYT_InstalacionesEstados_Datos = new MYT_InstalacionesEstados_Datos();
                    lst_Valores = obj_MYT_InstalacionesEstados_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESUSOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
                {
                    MYT_InstalacionesUsos_Datos obj_MYT_InstalacionesUsos_Datos = new MYT_InstalacionesUsos_Datos();
                    lst_Valores = obj_MYT_InstalacionesUsos_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //LIQUIDACIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_LIQUIDACIONES))
                {
                    MYT_Liquidaciones_Datos obj_MYT_Liquidaciones_Datos = new MYT_Liquidaciones_Datos();
                    lst_Valores = obj_MYT_Liquidaciones_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //MARCAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
                {
                    MYT_Marcas_Datos obj_MYT_Marcas_Datos = new MYT_Marcas_Datos();
                    lst_Valores = obj_MYT_Marcas_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //MODELOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
                {
                    MYT_Modelos_Datos obj_MYT_Modelos_Datos = new MYT_Modelos_Datos();
                    lst_Valores = obj_MYT_Modelos_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //ORGANISMOCERTIFICADOR
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
                {
                    MYT_OrganismosCertificadores_Datos obj_MYT_OrganismosCertificadores_Datos = new MYT_OrganismosCertificadores_Datos();
                    lst_Valores = obj_MYT_OrganismosCertificadores_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PARTES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
                {
                    MYT_Partes_Datos obj_MYT_Partes_Datos = new MYT_Partes_Datos();
                    lst_Valores = obj_MYT_Partes_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PARTESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
                {
                    MYT_PartesEstados_Datos obj_MYT_PartesEstados_Datos = new MYT_PartesEstados_Datos();
                    lst_Valores = obj_MYT_PartesEstados_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PARTESTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
                {
                    MYT_PartesTipos_Datos obj_MYT_PartesTipos_Datos = new MYT_PartesTipos_Datos();
                    lst_Valores = obj_MYT_PartesTipos_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PLANMANTENIMIENTO
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
                {
                    MYT_PlanMantenimientosCabeceras_Datos obj_MYT_PlanMantenimientosCabeceras_Datos = new MYT_PlanMantenimientosCabeceras_Datos();
                    lst_Valores = obj_MYT_PlanMantenimientosCabeceras_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PREVISIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PREVISIONES))
                {
                    MYT_Previsiones_Datos obj_MYT_Previsiones_Datos = new MYT_Previsiones_Datos();
                    lst_Valores = obj_MYT_Previsiones_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PROTOCOLOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
                {
                    MYT_Protocolos_Datos obj_MYT_Protocolos_Datos = new MYT_Protocolos_Datos();
                    lst_Valores = obj_MYT_Protocolos_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PROTOCOLOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
                {
                    MYT_ProtocolosTipos_Datos obj_MYT_ProtocolosTipos_Datos = new MYT_ProtocolosTipos_Datos();
                    lst_Valores = obj_MYT_ProtocolosTipos_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //TECNICOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
                {
                    MYT_Tecnicos_Datos obj_MYT_Tecnicos_Datos = new MYT_Tecnicos_Datos();
                    lst_Valores = obj_MYT_Tecnicos_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //TIPOSCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
                {
                    MYT_TiposContratos_Datos obj_MYT_TiposContratos_Datos = new MYT_TiposContratos_Datos();
                    lst_Valores = obj_MYT_TiposContratos_Datos.Obtener_Listado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return lst_Valores;
        }

        private dynamic OBTENER_REGISTROSLISTADO(string _str_Opcion,
                                                        long _lng_idEmpresaSeleccionada,
                                                        long _lng_idEjercicioActual,
                                                        List<string> _lst_CamposConRelacionABuscar,
                                                        List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo,
                                                        List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo,
                                                        long _lng_id,
                                                        List<long> _lst_ids)
        {
            dynamic dnm_Valor = null;

            try
            {
                //ADMINISTRADORES
                if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
                {
                    MYT_Administradores_Datos obj_MYT_Administradores_Datos = new MYT_Administradores_Datos();
                    dnm_Valor = obj_MYT_Administradores_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //CONFIGURACION_INFORMES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACION_INFORMES))
                {
                    MYT_Configuracion_Informes_Datos obj_MYT_Configuracion_Informes_Datos = new MYT_Configuracion_Informes_Datos();
                    dnm_Valor = obj_MYT_Configuracion_Informes_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //EMPRESAINSTALADORA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
                {
                    MYT_EmpresasInstaladoras_Datos obj_MYT_EmpresasInstaladoras_Datos = new MYT_EmpresasInstaladoras_Datos();
                    dnm_Valor = obj_MYT_EmpresasInstaladoras_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //ESTRUCTURAPARTEPETICIONDATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Cabecera_Datos obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos = new MYT_EstructurasPartesPeticionDatos_Cabecera_Datos();
                    dnm_Valor = obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //ESTRUCTURAPARTESPETICIONDATOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Tipos_Datos obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos = new MYT_EstructurasPartesPeticionDatos_Tipos_Datos();
                    dnm_Valor = obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //INFRAESTRUCTURAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
                {
                    MYT_Infraestructuras_Datos obj_MYT_Infraestructuras_Datos = new MYT_Infraestructuras_Datos();
                    dnm_Valor = obj_MYT_Infraestructuras_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //INSPECCIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
                {
                    MYT_Inspecciones_Datos obj_MYT_Inspecciones_Datos = new MYT_Inspecciones_Datos();
                    dnm_Valor = obj_MYT_Inspecciones_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //INSPECCIONESTIPOSRESULTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
                {
                    MYT_InspeccionesTiposResultados_Datos obj_MYT_InspeccionesTiposResultados_Datos = new MYT_InspeccionesTiposResultados_Datos();
                    dnm_Valor = obj_MYT_InspeccionesTiposResultados_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //INSTALACIONESCABECERA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
                {
                    MYT_InstalacionesCabecera_Datos obj_MYT_InstalacionesCabecera_Datos = new MYT_InstalacionesCabecera_Datos();
                    dnm_Valor = obj_MYT_InstalacionesCabecera_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //INSTALACIONESLINEAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEAS))
                {
                    MYT_InstalacionesLineas_Datos obj_MYT_InstalacionesLineas_Datos = new MYT_InstalacionesLineas_Datos();
                    dnm_Valor = obj_MYT_InstalacionesLineas_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //INSTALACIONESLINEASCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEASCONTRATOS))
                {
                    MYT_InstalacionesLineasContratos_Datos obj_MYT_InstalacionesLineasContratos_Datos = new MYT_InstalacionesLineasContratos_Datos();
                    dnm_Valor = obj_MYT_InstalacionesLineasContratos_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //INSTALACIONESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
                {
                    MYT_InstalacionesEstados_Datos obj_MYT_InstalacionesEstados_Datos = new MYT_InstalacionesEstados_Datos();
                    dnm_Valor = obj_MYT_InstalacionesEstados_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //INSTALACIONESUSOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
                {
                    MYT_InstalacionesUsos_Datos obj_MYT_InstalacionesUsos_Datos = new MYT_InstalacionesUsos_Datos();
                    dnm_Valor = obj_MYT_InstalacionesUsos_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //LIQUIDACIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_LIQUIDACIONES))
                {
                    MYT_Liquidaciones_Datos obj_MYT_Liquidaciones_Datos = new MYT_Liquidaciones_Datos();
                    dnm_Valor = obj_MYT_Liquidaciones_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //MARCAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
                {
                    MYT_Marcas_Datos obj_MYT_Marcas_Datos = new MYT_Marcas_Datos();
                    dnm_Valor = obj_MYT_Marcas_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //MODELOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
                {
                    MYT_Modelos_Datos obj_MYT_Modelos_Datos = new MYT_Modelos_Datos();
                    dnm_Valor = obj_MYT_Modelos_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //ORGANISMOCERTIFICADOR
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
                {
                    MYT_OrganismosCertificadores_Datos obj_MYT_OrganismosCertificadores_Datos = new MYT_OrganismosCertificadores_Datos();
                    dnm_Valor = obj_MYT_OrganismosCertificadores_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //PARTES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
                {
                    MYT_Partes_Datos obj_MYT_Partes_Datos = new MYT_Partes_Datos();
                    dnm_Valor = obj_MYT_Partes_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //PARTESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
                {
                    MYT_PartesEstados_Datos obj_MYT_PartesEstados_Datos = new MYT_PartesEstados_Datos();
                    dnm_Valor = obj_MYT_PartesEstados_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //PARTESTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
                {
                    MYT_PartesTipos_Datos obj_MYT_PartesTipos_Datos = new MYT_PartesTipos_Datos();
                    dnm_Valor = obj_MYT_PartesTipos_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //PLANMANTENIMIENTO
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
                {
                    MYT_PlanMantenimientosCabeceras_Datos obj_MYT_PlanMantenimientosCabeceras_Datos = new MYT_PlanMantenimientosCabeceras_Datos();
                    dnm_Valor = obj_MYT_PlanMantenimientosCabeceras_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //PREVISIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PREVISIONES))
                {
                    MYT_Previsiones_Datos obj_MYT_Previsiones_Datos = new MYT_Previsiones_Datos();
                    dnm_Valor = obj_MYT_Previsiones_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //PROTOCOLOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
                {
                    MYT_ProtocolosTipos_Datos obj_MYT_ProtocolosTipos_Datos = new MYT_ProtocolosTipos_Datos();
                    dnm_Valor = obj_MYT_ProtocolosTipos_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //PROTOCOLOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
                {
                    MYT_Protocolos_Datos obj_MYT_Protocolos_Datos = new MYT_Protocolos_Datos();
                    dnm_Valor = obj_MYT_Protocolos_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //TECNICOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
                {
                    MYT_Tecnicos_Datos obj_MYT_Tecnicos_Datos = new MYT_Tecnicos_Datos();
                    dnm_Valor = obj_MYT_Tecnicos_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
                //TIPOSCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
                {
                    MYT_TiposContratos_Datos obj_MYT_TiposContratos_Datos = new MYT_TiposContratos_Datos();
                    dnm_Valor = obj_MYT_TiposContratos_Datos.Obtener_RegistroListado(_lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_CamposConRelacionABuscar, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo, _lng_id, _lst_ids);
                }
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return dnm_Valor;
        }

        #endregion

        #region Listado Secundario
        private void MOSTRAR_LISTADO_SECUNDARIO(string _str_Opcion,
                                                string _str_idNodoArbolSecundarioSeleccion,
                                                P_Base _frm_P_Base_Origen,
                                                INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo,
                                                DateTime _dtt_FechaPorDefecto,
                                                List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo,
                                                List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo,
                                                Dictionary<string, object> _dct_ListadoFiltros,
                                                object _obj_Auxiliar)
        {
            //Nombre de la DLL Actual
            string str_Nombre_DLL = System.Reflection.Assembly.GetExecutingAssembly().GetName().Name;

            Funciones_Listado_Secundario obj_Funciones_Listado_Secundario = new Funciones_Listado_Secundario();

            //Datos Variables segun Opcione ###########################################################
            ABS_Listado obj_ABS_Listado_Auxiliar = null;

            //Llamar a la Funcion general que cargara los datos y generar la pantalla del listado
            obj_Funciones_Listado_Secundario.Mostrar_Listado(_frm_P_Base_Origen,
                                                            _str_idNodoArbolSecundarioSeleccion,
                                                            _mdl_INTERNO_ValoresGenerales_Modelo,
                                                            _dtt_FechaPorDefecto,
                                                            str_Nombre_DLL,
                                                            _str_Opcion,
                                                            obj_ABS_Listado_Auxiliar,
                                                            _lst_INTERNO_Filtro_OpcionPadre_Modelo,
                                                            _lst_INTERNO_Filtro_Modelo,
                                                            _dct_ListadoFiltros,
                                                            _obj_Auxiliar);
        }
        private List<dynamic> OBTENER_LISTADO_SECUNDARIO(string _str_Opcion,
                                                           long _lng_idEmpresaSeleccionada,
                                                           long _lng_idEjercicioActual,
                                                           List<string> _lst_CamposConRelacionABuscar,
                                                           List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo,
                                                           List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
        {
            List<dynamic> lst_Valores = null;

            try
            {
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return lst_Valores;
        }
        private dynamic OBTENER_REGISTROSLISTADO_SECUNDARIO(string _str_Opcion,
                                                        long _lng_idEmpresaSeleccionada,
                                                        long _lng_idEjercicioActual,
                                                        List<string> _lst_CamposConRelacionABuscar,
                                                        List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo,
                                                        List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo,
                                                        long _lng_id,
                                                        List<long> _lst_ids)
        {
            dynamic dnm_Valor = null;

            try
            {
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return dnm_Valor;
        }
        #endregion

        #region F3
        private dynamic OBTENER_REGISTRO_F3(string _str_Opcion,
                                                    string _str_filtro,
                                                    string _str_CampoBusqueda,
                                                    long _lng_idEmpresaSeleccionada,
                                                    long _lng_idEjercicioActual,
                                                    List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo,
                                                    List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo,
                                                    object _obj_Filtros_Auxiliar)
        {
            dynamic dnm_Valores = null;

            try
            {
                //ADMINISTRADORES
                if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
                {
                    MYT_Administradores_Datos obj_MYT_Administradores_Datos = new MYT_Administradores_Datos();
                    dnm_Valores = obj_MYT_Administradores_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //EMPRESAINSTALADORA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
                {
                    MYT_EmpresasInstaladoras_Datos obj_MYT_EmpresasInstaladoras_Datos = new MYT_EmpresasInstaladoras_Datos();
                    dnm_Valores = obj_MYT_EmpresasInstaladoras_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //ESTRUCTURAPARTEPETICIONDATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Cabecera_Datos obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos = new MYT_EstructurasPartesPeticionDatos_Cabecera_Datos();
                    dnm_Valores = obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //ESTRUCTURAPARTESPETICIONDATOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Tipos_Datos obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos = new MYT_EstructurasPartesPeticionDatos_Tipos_Datos();
                    dnm_Valores = obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INFRAESTRUCTURAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
                {
                    MYT_Infraestructuras_Datos obj_MYT_Infraestructuras_Datos = new MYT_Infraestructuras_Datos();
                    dnm_Valores = obj_MYT_Infraestructuras_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSPECCIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
                {
                    MYT_Inspecciones_Datos obj_MYT_Inspecciones_Datos = new MYT_Inspecciones_Datos();
                    dnm_Valores = obj_MYT_Inspecciones_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSPECCIONESTIPOSRESULTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
                {
                    MYT_InspeccionesTiposResultados_Datos obj_MYT_InspeccionesTiposResultados_Datos = new MYT_InspeccionesTiposResultados_Datos();
                    dnm_Valores = obj_MYT_InspeccionesTiposResultados_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESCABECERA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
                {
                    MYT_InstalacionesCabecera_Datos obj_MYT_InstalacionesCabecera_Datos = new MYT_InstalacionesCabecera_Datos();
                    dnm_Valores = obj_MYT_InstalacionesCabecera_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESLINEAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEAS))
                {
                    MYT_InstalacionesLineas_Datos obj_MYT_InstalacionesLineas_Datos = new MYT_InstalacionesLineas_Datos();
                    dnm_Valores = obj_MYT_InstalacionesLineas_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESLINEASCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEASCONTRATOS))
                {
                    MYT_InstalacionesLineasContratos_Datos obj_MYT_InstalacionesLineasContratos_Datos = new MYT_InstalacionesLineasContratos_Datos();
                    dnm_Valores = obj_MYT_InstalacionesLineasContratos_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
                {
                    MYT_InstalacionesEstados_Datos obj_MYT_InstalacionesEstados_Datos = new MYT_InstalacionesEstados_Datos();
                    dnm_Valores = obj_MYT_InstalacionesEstados_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESUSOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
                {
                    MYT_InstalacionesUsos_Datos obj_MYT_InstalacionesUsos_Datos = new MYT_InstalacionesUsos_Datos();
                    dnm_Valores = obj_MYT_InstalacionesUsos_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //MARCAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
                {
                    MYT_Marcas_Datos obj_MYT_Marcas_Datos = new MYT_Marcas_Datos();
                    dnm_Valores = obj_MYT_Marcas_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //MODELOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
                {
                    MYT_Modelos_Datos obj_MYT_Modelos_Datos = new MYT_Modelos_Datos();
                    dnm_Valores = obj_MYT_Modelos_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //ORGANISMOCERTIFICADOR
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
                {
                    MYT_OrganismosCertificadores_Datos obj_MYT_OrganismosCertificadores_Datos = new MYT_OrganismosCertificadores_Datos();
                    dnm_Valores = obj_MYT_OrganismosCertificadores_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PARTES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
                {
                    MYT_Partes_Datos obj_MYT_Partes_Datos = new MYT_Partes_Datos();
                    dnm_Valores = obj_MYT_Partes_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PARTESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
                {
                    MYT_PartesEstados_Datos obj_MYT_PartesEstados_Datos = new MYT_PartesEstados_Datos();
                    dnm_Valores = obj_MYT_PartesEstados_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PARTESTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
                {
                    MYT_PartesTipos_Datos obj_MYT_PartesTipos_Datos = new MYT_PartesTipos_Datos();
                    dnm_Valores = obj_MYT_PartesTipos_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PLANMANTENIMIENTO
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
                {
                    MYT_PlanMantenimientosCabeceras_Datos obj_MYT_PlanMantenimientosCabeceras_Datos = new MYT_PlanMantenimientosCabeceras_Datos();
                    dnm_Valores = obj_MYT_PlanMantenimientosCabeceras_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PREVISIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PREVISIONES))
                {
                    MYT_Previsiones_Datos obj_MYT_Previsiones_Datos = new MYT_Previsiones_Datos();
                    dnm_Valores = obj_MYT_Previsiones_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PROTOCOLOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
                {
                    MYT_ProtocolosTipos_Datos obj_MYT_ProtocolosTipos_Datos = new MYT_ProtocolosTipos_Datos();
                    dnm_Valores = obj_MYT_ProtocolosTipos_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PROTOCOLOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
                {
                    MYT_Protocolos_Datos obj_MYT_Protocolos_Datos = new MYT_Protocolos_Datos();
                    dnm_Valores = obj_MYT_Protocolos_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //TECNICOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
                {
                    MYT_Tecnicos_Datos obj_MYT_Tecnicos_Datos = new MYT_Tecnicos_Datos();
                    dnm_Valores = obj_MYT_Tecnicos_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //TIPOSCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
                {
                    MYT_TiposContratos_Datos obj_MYT_TiposContratos_Datos = new MYT_TiposContratos_Datos();
                    dnm_Valores = obj_MYT_TiposContratos_Datos.Obtener_F3(_str_filtro, _str_CampoBusqueda, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return dnm_Valores;
        }

        private dynamic OBTENER_REGISTRO_F3_PORID(string _str_Opcion, long _lng_id, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual, List<INTERNO_Filtro_OpcionPadre_Modelo> _lst_INTERNO_Filtro_OpcionPadre_Modelo, List<INTERNO_Filtro_Modelo> _lst_INTERNO_Filtro_Modelo)
        {
            dynamic dnm_Valores = null;

            try
            {
                //ADMINISTRADORES
                if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
                {
                    MYT_Administradores_Datos obj_MYT_Administradores_Datos = new MYT_Administradores_Datos();
                    dnm_Valores = obj_MYT_Administradores_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //EMPRESAINSTALADORA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
                {
                    MYT_EmpresasInstaladoras_Datos obj_MYT_EmpresasInstaladoras_Datos = new MYT_EmpresasInstaladoras_Datos();
                    dnm_Valores = obj_MYT_EmpresasInstaladoras_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //ESTRUCTURAPARTEPETICIONDATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Cabecera_Datos obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos = new MYT_EstructurasPartesPeticionDatos_Cabecera_Datos();
                    dnm_Valores = obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //ESTRUCTURAPARTESPETICIONDATOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Tipos_Datos obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos = new MYT_EstructurasPartesPeticionDatos_Tipos_Datos();
                    dnm_Valores = obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INFRAESTRUCTURAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
                {
                    MYT_Infraestructuras_Datos obj_MYT_Infraestructuras_Datos = new MYT_Infraestructuras_Datos();
                    dnm_Valores = obj_MYT_Infraestructuras_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSPECCIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
                {
                    MYT_Inspecciones_Datos obj_MYT_Inspecciones_Datos = new MYT_Inspecciones_Datos();
                    dnm_Valores = obj_MYT_Inspecciones_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSPECCIONESTIPOSRESULTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
                {
                    MYT_InspeccionesTiposResultados_Datos obj_MYT_InspeccionesTiposResultados_Datos = new MYT_InspeccionesTiposResultados_Datos();
                    dnm_Valores = obj_MYT_InspeccionesTiposResultados_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESCABECERA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
                {
                    MYT_InstalacionesCabecera_Datos obj_MYT_InstalacionesCabecera_Datos = new MYT_InstalacionesCabecera_Datos();
                    dnm_Valores = obj_MYT_InstalacionesCabecera_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESLINEAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEAS))
                {
                    MYT_InstalacionesLineas_Datos obj_MYT_InstalacionesLineas_Datos = new MYT_InstalacionesLineas_Datos();
                    dnm_Valores = obj_MYT_InstalacionesLineas_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESLINEASCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEASCONTRATOS))
                {
                    MYT_InstalacionesLineasContratos_Datos obj_MYT_InstalacionesLineasContratos_Datos = new MYT_InstalacionesLineasContratos_Datos();
                    dnm_Valores = obj_MYT_InstalacionesLineasContratos_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
                {
                    MYT_InstalacionesEstados_Datos obj_MYT_InstalacionesEstados_Datos = new MYT_InstalacionesEstados_Datos();
                    dnm_Valores = obj_MYT_InstalacionesEstados_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //INSTALACIONESUSOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
                {
                    MYT_InstalacionesUsos_Datos obj_MYT_InstalacionesUsos_Datos = new MYT_InstalacionesUsos_Datos();
                    dnm_Valores = obj_MYT_InstalacionesUsos_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //MARCAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
                {
                    MYT_Marcas_Datos obj_MYT_Marcas_Datos = new MYT_Marcas_Datos();
                    dnm_Valores = obj_MYT_Marcas_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //MODELOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
                {
                    MYT_Modelos_Datos obj_MYT_Modelos_Datos = new MYT_Modelos_Datos();
                    dnm_Valores = obj_MYT_Modelos_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //ORGANISMOCERTIFICADOR
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
                {
                    MYT_OrganismosCertificadores_Datos obj_MYT_OrganismosCertificadores_Datos = new MYT_OrganismosCertificadores_Datos();
                    dnm_Valores = obj_MYT_OrganismosCertificadores_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PARTES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
                {
                    MYT_Partes_Datos obj_MYT_Partes_Datos = new MYT_Partes_Datos();
                    dnm_Valores = obj_MYT_Partes_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PARTESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
                {
                    MYT_PartesEstados_Datos obj_MYT_PartesEstados_Datos = new MYT_PartesEstados_Datos();
                    dnm_Valores = obj_MYT_PartesEstados_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PARTESTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
                {
                    MYT_PartesTipos_Datos obj_MYT_PartesTipos_Datos = new MYT_PartesTipos_Datos();
                    dnm_Valores = obj_MYT_PartesTipos_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PLANMANTENIMIENTO
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
                {
                    MYT_PlanMantenimientosCabeceras_Datos obj_MYT_PlanMantenimientosCabeceras_Datos = new MYT_PlanMantenimientosCabeceras_Datos();
                    dnm_Valores = obj_MYT_PlanMantenimientosCabeceras_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PREVISIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PREVISIONES))
                {
                    MYT_Previsiones_Datos obj_MYT_Previsiones_Datos = new MYT_Previsiones_Datos();
                    dnm_Valores = obj_MYT_Previsiones_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PROTOCOLOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
                {
                    MYT_ProtocolosTipos_Datos obj_MYT_ProtocolosTipos_Datos = new MYT_ProtocolosTipos_Datos();
                    dnm_Valores = obj_MYT_ProtocolosTipos_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //PROTOCOLOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
                {
                    MYT_Protocolos_Datos obj_MYT_Protocolos_Datos = new MYT_Protocolos_Datos();
                    dnm_Valores = obj_MYT_Protocolos_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //TECNICOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
                {
                    MYT_Tecnicos_Datos obj_MYT_Tecnicos_Datos = new MYT_Tecnicos_Datos();
                    dnm_Valores = obj_MYT_Tecnicos_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
                //TIPOSCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
                {
                    MYT_TiposContratos_Datos obj_MYT_TiposContratos_Datos = new MYT_TiposContratos_Datos();
                    dnm_Valores = obj_MYT_TiposContratos_Datos.Obtener_F3_PorId(_lng_id, _lng_idEmpresaSeleccionada, _lng_idEjercicioActual, _lst_INTERNO_Filtro_OpcionPadre_Modelo, _lst_INTERNO_Filtro_Modelo);
                }
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return dnm_Valores;
        }

        private ABS_F3 OBTENCION_ABS_F3(string _str_Opcion)
        {
            ABS_F3 obj_ABS_F3 = null;

            //ADMINISTRADORES
            if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
            {
                obj_ABS_F3 = new ABS_F3_MYT_Administradores();
            }
            //EMPRESAINSTALADORA
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_EmpresasInstaladoras();
            }
            //ESTRUCTURAPARTEPETICIONDATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_EstructurasPartesPeticionDatos_Cabecera();
            }
            //ESTRUCTURAPARTESPETICIONDATOSTIPOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_EstructurasPartesPeticionDatos_Tipos();
            }
            //INFRAESTRUCTURAS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_Infraestructuras();
            }
            //INSPECCIONES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
            {
                obj_ABS_F3 = new ABS_F3_MYT_Inspecciones();
            }
            //INSPECCIONESTIPOSRESULTADOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_InspeccionesTiposResultados();
            }
            //INSTALACIONESCABECERA
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
            {
                obj_ABS_F3 = new ABS_F3_MYT_InstalacionesCabecera();
            }
            //INSTALACIONESLINEAS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEAS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_InstalacionesLineas();
            }
            //INSTALACIONESLINEASCONTRATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEASCONTRATOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_InstalacionesLineasContratos();
            }
            //INSTALACIONESESTADOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_InstalacionesEstados();
            }
            //INSTALACIONESUSOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_InstalacionesUsos();
            }
            //MARCAS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_Marcas();
            }
            //MODELOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_Modelos();
            }
            //ORGANISMOCERTIFICADOR
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
            {
                obj_ABS_F3 = new ABS_F3_MYT_OrganismosCertificadores();
            }
            //PARTES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
            {
                obj_ABS_F3 = new ABS_F3_MYT_Partes();
            }
            //PARTESESTADOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_PartesEstados();
            }
            //PARTESTIPOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_PartesTipos();
            }
            //PLANMANTENIMIENTO
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
            {
                obj_ABS_F3 = new ABS_F3_MYT_PlanMantenimientosCabeceras();
            }
            //PREVISIONES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PREVISIONES))
            {
                obj_ABS_F3 = new ABS_F3_MYT_Previsiones();
            }
            //PROTOCOLOSTIPOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_ProtocolosTipos();
            }
            //PROTOCOLOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_Protocolos();
            }
            //TECNICOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_Tecnicos();
            }
            //TIPOSCONTRATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
            {
                obj_ABS_F3 = new ABS_F3_MYT_TiposContratos();
            }

            return obj_ABS_F3;
        }
        #endregion

        #region Mantenimiento
        private void MOSTRAR_EN_MANTENIMIENTO(string _str_Opcion,
                                                    P_Base _frm_P_Base_Origen,
                                                    Exferia_F3 _usc_Exferia_F3_Origen,
                                                    INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo,
                                                    DateTime _dtt_FechaPorDefecto,
                                                    INTERNO_OpcionesDetalle_Modelo _mdl_INTERNO_OpcionesDetalle_Modelo,
                                                    long _lng_RegistroSeleccionado,
                                                    string _str_Campo1_Valor,
                                                    string _str_Campo2_Valor,
                                                    object _obj_Auxiliar,
                                               List<INTERNO_CampoValor_Modelo> _lst_ListadoArgumentos_ParaMantemiento)
        {
            //ADMINISTRADORES
            if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
            {
                P_Administrador frm_P_Administrador = new P_Administrador(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Administrador.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Administrador.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Administrador.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Administrador.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Administrador.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Administrador.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Administrador.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Administrador.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Administrador.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Administrador.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Administrador.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Administrador, _str_Opcion);
            }
            //CONFIGURACIONGENERAL
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACIONGENERAL))
            {
                P_ConfiguracionGeneral frm_P_ConfiguracionGeneral = new P_ConfiguracionGeneral(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);

                frm_P_ConfiguracionGeneral.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                frm_P_ConfiguracionGeneral.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                frm_P_ConfiguracionGeneral.P_Base_TipoAperturaPantalla = 1;

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_ConfiguracionGeneral, _str_Opcion);
            }
            //CONFIGURACION_INICIAL
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACION_INICIAL))
            {
                P_Configuracion frm_P_Configuracion = new P_Configuracion(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);

                frm_P_Configuracion.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                frm_P_Configuracion.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                frm_P_Configuracion.P_Base_TipoAperturaPantalla = 1;

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Configuracion, _str_Opcion);
            }
            //CONFIGURACION_INFORMES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACION_INFORMES))
            {
                P_Configuracion_Informes frm_P_Configuracion_Informes = new P_Configuracion_Informes(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Configuracion_Informes.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Configuracion_Informes.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Configuracion_Informes.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Configuracion_Informes.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Configuracion_Informes.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Configuracion_Informes.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Configuracion_Informes.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Configuracion_Informes.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Configuracion_Informes.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Configuracion_Informes.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Configuracion_Informes.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Configuracion_Informes, _str_Opcion);
            }
            //EMPRESAINSTALADORA
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
            {
                P_EmpresaInstaladora frm_P_EmpresaInstaladora = new P_EmpresaInstaladora(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_EmpresaInstaladora.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_EmpresaInstaladora.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_EmpresaInstaladora.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_EmpresaInstaladora.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_EmpresaInstaladora.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_EmpresaInstaladora.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_EmpresaInstaladora.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_EmpresaInstaladora.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_EmpresaInstaladora.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_EmpresaInstaladora.P_Base_TipoAperturaPantalla = 0;
                    frm_P_EmpresaInstaladora.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_EmpresaInstaladora, _str_Opcion);
            }
            //ESTRUCTURAPARTEPETICIONDATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
            {
                P_EstructuraPartesPeticionDatos frm_P_EstructuraPartesPeticionDatos = new P_EstructuraPartesPeticionDatos(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_EstructuraPartesPeticionDatos.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_EstructuraPartesPeticionDatos.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_EstructuraPartesPeticionDatos.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_EstructuraPartesPeticionDatos.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_EstructuraPartesPeticionDatos.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_EstructuraPartesPeticionDatos.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_EstructuraPartesPeticionDatos.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_EstructuraPartesPeticionDatos.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_EstructuraPartesPeticionDatos.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_EstructuraPartesPeticionDatos.P_Base_TipoAperturaPantalla = 0;
                    frm_P_EstructuraPartesPeticionDatos.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_EstructuraPartesPeticionDatos, _str_Opcion);
            }
            //ESTRUCTURAPARTESPETICIONDATOSTIPOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
            {
                P_MantenimientoSimple frm_P_MantenimientoSimple = new P_MantenimientoSimple(new ABS_MantenimientoSimple_MYT_EstructurasPartesPeticionDatos_Tipos(), _mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto);
                frm_P_MantenimientoSimple.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_MantenimientoSimple.P_Base_Campo_2 = _str_Campo2_Valor;

                Cargar_MantenimientoSimple(_frm_P_Base_Origen, _usc_Exferia_F3_Origen, _mdl_INTERNO_OpcionesDetalle_Modelo, _lng_RegistroSeleccionado, frm_P_MantenimientoSimple, _str_Opcion);
            }
            //GESTIONCONTRATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_GESTIONCONTRATOS))
            {
                P_GestionContratos frm_P_GestionContratos = new P_GestionContratos(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_GestionContratos.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_GestionContratos.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_GestionContratos.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_GestionContratos.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }

                frm_P_GestionContratos.P_Base_TipoAperturaPantalla = 0;
                frm_P_GestionContratos.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_GestionContratos, _str_Opcion);
            }
            //INFRAESTRUCTURAS
            if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
            {
                P_Infraestructura frm_P_Infraestructura = new P_Infraestructura(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Infraestructura.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Infraestructura.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Infraestructura.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Infraestructura.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Infraestructura.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Infraestructura.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Infraestructura.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Infraestructura.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Infraestructura.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Infraestructura.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Infraestructura.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Infraestructura, _str_Opcion);
            }
            //INSPECCIONES
            if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
            {
                P_Inspeccion frm_P_Inspeccion = new P_Inspeccion(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Inspeccion.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Inspeccion.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Inspeccion.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Inspeccion.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Inspeccion.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Inspeccion.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Inspeccion.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Inspeccion.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Inspeccion.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Inspeccion.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Inspeccion.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Inspeccion, _str_Opcion);
            }
            //INSPECCIONESTIPOSRESULTADOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
            {
                P_MantenimientoSimple frm_P_MantenimientoSimple = new P_MantenimientoSimple(new ABS_MantenimientoSimple_MYT_InspeccionesTiposResultados(), _mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto);
                frm_P_MantenimientoSimple.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_MantenimientoSimple.P_Base_Campo_2 = _str_Campo2_Valor;

                Cargar_MantenimientoSimple(_frm_P_Base_Origen, _usc_Exferia_F3_Origen, _mdl_INTERNO_OpcionesDetalle_Modelo, _lng_RegistroSeleccionado, frm_P_MantenimientoSimple, _str_Opcion);
            }
            //INSTALACIONESCABECERA
            if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
            {
                //Si tiene Argumentos
                INTERNO_MAE_Clientes_Modelo mdl_INTERNO_MAE_Clientes_Modelo = null;
                if (_obj_Auxiliar != null)
                {
                    if (_obj_Auxiliar.GetType().Name==nameof(INTERNO_MAE_Clientes_Modelo))
                    {
                        mdl_INTERNO_MAE_Clientes_Modelo=(INTERNO_MAE_Clientes_Modelo)_obj_Auxiliar;
                    }
                }

                P_Instalacion frm_P_Instalacion = new P_Instalacion(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo, mdl_INTERNO_MAE_Clientes_Modelo);
                frm_P_Instalacion.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Instalacion.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Instalacion.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Instalacion.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Instalacion.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Instalacion.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Instalacion.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Instalacion.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Instalacion.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Instalacion.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Instalacion.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Instalacion, _str_Opcion);
            }
            //INSTALACIONESLINEASCONTRATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEASCONTRATOS))
            {
                //Si tiene Argumentos
                INTERNO_MYT_InstalacionesLineas_Modelo mdl_INTERNO_MYT_InstalacionesLineas_Modelo = null;
                if (_obj_Auxiliar != null)
                {
                    if (_obj_Auxiliar.GetType().Name == nameof(INTERNO_MYT_InstalacionesLineas_Modelo))
                    {
                        mdl_INTERNO_MYT_InstalacionesLineas_Modelo = (INTERNO_MYT_InstalacionesLineas_Modelo)_obj_Auxiliar;
                    }
                }

                P_InstalacionContrato frm_P_InstalacionContrato = new P_InstalacionContrato(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo, mdl_INTERNO_MYT_InstalacionesLineas_Modelo);
                frm_P_InstalacionContrato.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_InstalacionContrato.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_InstalacionContrato.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_InstalacionContrato.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_InstalacionContrato.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_InstalacionContrato.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_InstalacionContrato.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_InstalacionContrato.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_InstalacionContrato.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_InstalacionContrato.P_Base_TipoAperturaPantalla = 0;
                    frm_P_InstalacionContrato.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_InstalacionContrato, _str_Opcion);
            }

            //INSTALACIONESESTADOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
            {
                P_MantenimientoSimple frm_P_MantenimientoSimple = new P_MantenimientoSimple(new ABS_MantenimientoSimple_MYT_InstalacionesEstados(), _mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto);
                frm_P_MantenimientoSimple.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_MantenimientoSimple.P_Base_Campo_2 = _str_Campo2_Valor;

                Cargar_MantenimientoSimple(_frm_P_Base_Origen, _usc_Exferia_F3_Origen, _mdl_INTERNO_OpcionesDetalle_Modelo, _lng_RegistroSeleccionado, frm_P_MantenimientoSimple, _str_Opcion);
            }
            //INSTALACIONESUSOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
            {
                P_MantenimientoSimple frm_P_MantenimientoSimple = new P_MantenimientoSimple(new ABS_MantenimientoSimple_MYT_InstalacionesUsos(), _mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto);
                frm_P_MantenimientoSimple.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_MantenimientoSimple.P_Base_Campo_2 = _str_Campo2_Valor;

                Cargar_MantenimientoSimple(_frm_P_Base_Origen, _usc_Exferia_F3_Origen, _mdl_INTERNO_OpcionesDetalle_Modelo, _lng_RegistroSeleccionado, frm_P_MantenimientoSimple, _str_Opcion);
            }
            //LIQUIDACIONES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_LIQUIDACIONES))
            {
                P_Liquidacion frm_P_Liquidacion = new P_Liquidacion(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Liquidacion.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Liquidacion.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Liquidacion.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Liquidacion.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Liquidacion.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Liquidacion.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Liquidacion.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Liquidacion.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Liquidacion.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Liquidacion.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Liquidacion.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Liquidacion, _str_Opcion);
            }
            //MARCAS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
            {
                P_MantenimientoSimple frm_P_MantenimientoSimple = new P_MantenimientoSimple(new ABS_MantenimientoSimple_MYT_Marcas(), _mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto);
                frm_P_MantenimientoSimple.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_MantenimientoSimple.P_Base_Campo_2 = _str_Campo2_Valor;

                Cargar_MantenimientoSimple(_frm_P_Base_Origen, _usc_Exferia_F3_Origen, _mdl_INTERNO_OpcionesDetalle_Modelo, _lng_RegistroSeleccionado, frm_P_MantenimientoSimple, _str_Opcion);
            }
            //MODELOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
            {
                P_Modelo frm_P_Modelo = new P_Modelo(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Modelo.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Modelo.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Modelo.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Modelo.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Modelo.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Modelo.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Modelo.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Modelo.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Modelo.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Modelo.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Modelo.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Modelo, _str_Opcion);
            }
            //ORGANISMOCERTIFICADOR
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
            {
                P_OrganismoCertificador frm_P_OrganismoCertificador = new P_OrganismoCertificador(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_OrganismoCertificador.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_OrganismoCertificador.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_OrganismoCertificador.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_OrganismoCertificador.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_OrganismoCertificador.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_OrganismoCertificador.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_OrganismoCertificador.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_OrganismoCertificador.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_OrganismoCertificador.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_OrganismoCertificador.P_Base_TipoAperturaPantalla = 0;
                    frm_P_OrganismoCertificador.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_OrganismoCertificador, _str_Opcion);
            }
            //PARTES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
            {
                //Si tiene Argumentos
                INTERNO_MYT_InstalacionesCabecera_Modelo mdl_INTERNO_MYT_InstalacionesCabecera_Modelo = null;
                INTERNO_MYT_InstalacionesLineas_Modelo mdl_INTERNO_MYT_InstalacionesLineas_Modelo = null;
                if (_obj_Auxiliar != null)
                {
                    if (_obj_Auxiliar.GetType().Name == nameof(INTERNO_MYT_InstalacionesCabecera_Modelo))
                    {
                        mdl_INTERNO_MYT_InstalacionesCabecera_Modelo = (INTERNO_MYT_InstalacionesCabecera_Modelo)_obj_Auxiliar;
                    }
                    else if (_obj_Auxiliar.GetType().Name == nameof(INTERNO_MYT_InstalacionesLineas_Modelo))
                    {
                        mdl_INTERNO_MYT_InstalacionesLineas_Modelo = (INTERNO_MYT_InstalacionesLineas_Modelo)_obj_Auxiliar;
                    }
                }

                P_Parte frm_P_Partes = new P_Parte(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo, mdl_INTERNO_MYT_InstalacionesCabecera_Modelo, mdl_INTERNO_MYT_InstalacionesLineas_Modelo);
                frm_P_Partes.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Partes.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Partes.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Partes.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Partes.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Partes.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Partes.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Partes.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Partes.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Partes.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Partes.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Partes, _str_Opcion);
            }
            //PARTESESTADOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
            {
                P_ParteEstado frm_P_PartesEstados = new P_ParteEstado(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_PartesEstados.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_PartesEstados.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_PartesEstados.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_PartesEstados.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_PartesEstados.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_PartesEstados.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_PartesEstados.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_PartesEstados.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_PartesEstados.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_PartesEstados.P_Base_TipoAperturaPantalla = 0;
                    frm_P_PartesEstados.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_PartesEstados, _str_Opcion);
            }
            //PARTESTIPOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
            {
                P_ParteTipo frm_P_ParteTipo = new P_ParteTipo(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_ParteTipo.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_ParteTipo.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_ParteTipo.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_ParteTipo.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_ParteTipo.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_ParteTipo.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_ParteTipo.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_ParteTipo.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_ParteTipo.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_ParteTipo.P_Base_TipoAperturaPantalla = 0;
                    frm_P_ParteTipo.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_ParteTipo, _str_Opcion);
            }
            //PLANMANTENIMIENTO
            if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
            {
                P_PlanMantenimiento frm_P_PlanMantenimiento = new P_PlanMantenimiento(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_PlanMantenimiento.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_PlanMantenimiento.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_PlanMantenimiento.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_PlanMantenimiento.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_PlanMantenimiento.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_PlanMantenimiento.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_PlanMantenimiento.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_PlanMantenimiento.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_PlanMantenimiento.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_PlanMantenimiento.P_Base_TipoAperturaPantalla = 0;
                    frm_P_PlanMantenimiento.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_PlanMantenimiento, _str_Opcion);
            }
            //PREVISIONES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PREVISIONES))
            {
                P_Previsiones frm_P_Previsiones = new P_Previsiones(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Previsiones.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Previsiones.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Previsiones.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Previsiones.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }

                frm_P_Previsiones.P_Base_TipoAperturaPantalla = 0;
                frm_P_Previsiones.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Previsiones, _str_Opcion);
            }
            //PROTOCOLOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
            {
                P_Protocolo frm_P_Protocolo = new P_Protocolo(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Protocolo.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Protocolo.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Protocolo.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Protocolo.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Protocolo.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Protocolo.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Protocolo.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Protocolo.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Protocolo.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Protocolo.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Protocolo.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Protocolo, _str_Opcion);
            }
            //PROTOCOLOSTIPOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
            {
                P_MantenimientoSimple frm_P_MantenimientoSimple = new P_MantenimientoSimple(new ABS_MantenimientoSimple_MYT_ProtocolosTipos(), _mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto);
                frm_P_MantenimientoSimple.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_MantenimientoSimple.P_Base_Campo_2 = _str_Campo2_Valor;

                Cargar_MantenimientoSimple(_frm_P_Base_Origen, _usc_Exferia_F3_Origen, _mdl_INTERNO_OpcionesDetalle_Modelo, _lng_RegistroSeleccionado, frm_P_MantenimientoSimple, _str_Opcion);
            }
            //TIPOSCONTRATOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
            {
                P_MantenimientoSimple frm_P_MantenimientoSimple = new P_MantenimientoSimple(new ABS_MantenimientoSimple_MYT_TiposContratos(), _mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto);
                frm_P_MantenimientoSimple.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_MantenimientoSimple.P_Base_Campo_2 = _str_Campo2_Valor;

                Cargar_MantenimientoSimple(_frm_P_Base_Origen, _usc_Exferia_F3_Origen, _mdl_INTERNO_OpcionesDetalle_Modelo, _lng_RegistroSeleccionado, frm_P_MantenimientoSimple, _str_Opcion);
            }
            //TECNICOS
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
            {
                P_Tecnico frm_P_Tecnico = new P_Tecnico(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Tecnico.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Tecnico.P_Base_Campo_2 = _str_Campo2_Valor;

                //Se llamo desde una pantalla
                if (_frm_P_Base_Origen != null)
                {
                    frm_P_Tecnico.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                    frm_P_Tecnico.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                }
                //Se llamo desde un control F3
                else
                {
                    frm_P_Tecnico.P_Base_PantallaPadre_IdentificadorTAG = "";
                    frm_P_Tecnico.P_Base_F3Origen = _usc_Exferia_F3_Origen;
                }

                //Modificar
                if (_lng_RegistroSeleccionado > 0)
                {
                    frm_P_Tecnico.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                    frm_P_Tecnico.P_Base_id = _lng_RegistroSeleccionado;
                    frm_P_Tecnico.P_Base_TipoAperturaPantalla = 1;
                }
                //Alta
                else
                {
                    frm_P_Tecnico.P_Base_TipoAperturaPantalla = 0;
                    frm_P_Tecnico.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
                }

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Tecnico, _str_Opcion);
            }
            //TRASLADARINSTALACIONES
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TRASLADARINSTALACIONES))
            {
                P_TrasladarInstalaciones frm_P_TrasladarInstalaciones = new P_TrasladarInstalaciones(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_TrasladarInstalaciones.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_TrasladarInstalaciones.P_Base_Campo_2 = _str_Campo2_Valor;
                frm_P_TrasladarInstalaciones.P_Base_PantallaPadre_IdentificadorTAG = null;
                frm_P_TrasladarInstalaciones.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                frm_P_TrasladarInstalaciones.P_Base_TipoAperturaPantalla = 0;
                frm_P_TrasladarInstalaciones.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_TrasladarInstalaciones, _str_Opcion);
            }
            //VISOR
            else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_VISOR))
            {
                P_Visor frm_P_Visor = new P_Visor(_mdl_INTERNO_ValoresGenerales_Modelo, _dtt_FechaPorDefecto, _mdl_INTERNO_OpcionesDetalle_Modelo);
                frm_P_Visor.P_Base_Campo_1 = _str_Campo1_Valor;
                frm_P_Visor.P_Base_Campo_2 = _str_Campo2_Valor;
                frm_P_Visor.P_Base_PantallaPadre_IdentificadorTAG = null;
                frm_P_Visor.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                frm_P_Visor.P_Base_TipoAperturaPantalla = 0;
                frm_P_Visor.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";

                Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Visor, _str_Opcion);
            }
        }

        private void Cargar_MantenimientoSimple(P_Base _frm_P_Base_Origen,
                                                Exferia_F3 _usc_Exferia_F3_Origen,
                                                INTERNO_OpcionesDetalle_Modelo _mdl_INTERNO_OpcionesDetalle_Modelo,
                                                long _lng_RegistroSeleccionado,
                                                P_MantenimientoSimple _frm_P_MantenimientoSimple,
                                                string _str_Opcion)
        {
            if (_frm_P_Base_Origen != null)
            {
                _frm_P_MantenimientoSimple.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();
                _frm_P_MantenimientoSimple.P_Base_PantallaOrigen = _frm_P_Base_Origen;
            }
            //Se llamo desde un control F3
            else
            {
                _frm_P_MantenimientoSimple.P_Base_PantallaPadre_IdentificadorTAG = "";
                _frm_P_MantenimientoSimple.P_Base_F3Origen = _usc_Exferia_F3_Origen;
            }

            //Modificar
            if (_lng_RegistroSeleccionado > 0)
            {
                _frm_P_MantenimientoSimple.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper();
                _frm_P_MantenimientoSimple.P_Base_id = _lng_RegistroSeleccionado;
                _frm_P_MantenimientoSimple.P_Base_TipoAperturaPantalla = 1;
            }
            //Alta
            else
            {
                _frm_P_MantenimientoSimple.P_Base_TipoAperturaPantalla = 0;
                _frm_P_MantenimientoSimple.P_Base_TituloPantalla_CaminoHormigas = _mdl_INTERNO_OpcionesDetalle_Modelo.descripcion_TituloMantenimiento.ToUpper() + " -> Alta";
            }

            Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(_frm_P_MantenimientoSimple, _str_Opcion);
        }

        #endregion

        private dynamic OBTENER_REGISTRO(string _str_Opcion, long _lng_id, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual)
        {
            dynamic dnm_Valores = null;

            try
            {
                //ADMINISTRADORES
                if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
                {
                    MYT_Administradores_Datos obj_MYT_Administradores_Datos = new MYT_Administradores_Datos();
                    dnm_Valores = obj_MYT_Administradores_Datos.Obtener(_lng_id);
                }
                //CONFIGURACION_INFORMES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACION_INFORMES))
                {
                    MYT_Configuracion_Informes_Datos obj_MYT_Configuracion_Informes_Datos = new MYT_Configuracion_Informes_Datos();
                    dnm_Valores = obj_MYT_Configuracion_Informes_Datos.Obtener(_lng_id);
                }
                //EMPRESAINSTALADORA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
                {
                    MYT_EmpresasInstaladoras_Datos obj_MYT_EmpresasInstaladoras_Datos = new MYT_EmpresasInstaladoras_Datos();
                    dnm_Valores = obj_MYT_EmpresasInstaladoras_Datos.Obtener(_lng_id);
                }
                //ESTRUCTURAPARTEPETICIONDATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Cabecera_Datos obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos = new MYT_EstructurasPartesPeticionDatos_Cabecera_Datos();
                    dnm_Valores = obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos.Obtener(_lng_id);
                }
                //ESTRUCTURAPARTESPETICIONDATOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Tipos_Datos obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos = new MYT_EstructurasPartesPeticionDatos_Tipos_Datos();
                    dnm_Valores = obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos.Obtener(_lng_id);
                }
                //INFRAESTRUCTURAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
                {
                    MYT_Infraestructuras_Datos obj_MYT_Infraestructuras_Datos = new MYT_Infraestructuras_Datos();
                    dnm_Valores = obj_MYT_Infraestructuras_Datos.Obtener(_lng_id);
                }
                //INSPECCIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
                {
                    MYT_Inspecciones_Datos obj_MYT_Inspecciones_Datos = new MYT_Inspecciones_Datos();
                    dnm_Valores = obj_MYT_Inspecciones_Datos.Obtener(_lng_id);
                }
                //INSPECCIONESTIPOSRESULTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
                {
                    MYT_InspeccionesTiposResultados_Datos obj_MYT_InspeccionesTiposResultados_Datos = new MYT_InspeccionesTiposResultados_Datos();
                    dnm_Valores = obj_MYT_InspeccionesTiposResultados_Datos.Obtener(_lng_id);
                }
                //INSTALACIONESCABECERA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
                {
                    MYT_InstalacionesCabecera_Datos obj_MYT_InstalacionesCabecera_Datos = new MYT_InstalacionesCabecera_Datos();
                    dnm_Valores = obj_MYT_InstalacionesCabecera_Datos.Obtener(_lng_id);
                }
                //INSTALACIONESLINEAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESLINEAS))
                {
                    MYT_InstalacionesLineas_Datos obj_MYT_InstalacionesLineas_Datos = new MYT_InstalacionesLineas_Datos();
                    dnm_Valores = obj_MYT_InstalacionesLineas_Datos.Obtener(_lng_id);
                }
                //INSTALACIONESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
                {
                    MYT_InstalacionesEstados_Datos obj_MYT_InstalacionesEstados_Datos = new MYT_InstalacionesEstados_Datos();
                    dnm_Valores = obj_MYT_InstalacionesEstados_Datos.Obtener(_lng_id);
                }
                //INSTALACIONESUSOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
                {
                    MYT_InstalacionesUsos_Datos obj_MYT_InstalacionesUsos_Datos = new MYT_InstalacionesUsos_Datos();
                    dnm_Valores = obj_MYT_InstalacionesUsos_Datos.Obtener(_lng_id);
                }
                //LIQUIDACIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_LIQUIDACIONES))
                {
                    MYT_Liquidaciones_Datos obj_MYT_Liquidaciones_Datos = new MYT_Liquidaciones_Datos();
                    dnm_Valores = obj_MYT_Liquidaciones_Datos.Obtener(_lng_id);
                }
                //MARCAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
                {
                    MYT_Marcas_Datos obj_MYT_Marcas_Datos = new MYT_Marcas_Datos();
                    dnm_Valores = obj_MYT_Marcas_Datos.Obtener(_lng_id);
                }
                //MODELOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
                {
                    MYT_Modelos_Datos obj_MYT_Modelos_Datos = new MYT_Modelos_Datos();
                    dnm_Valores = obj_MYT_Modelos_Datos.Obtener(_lng_id);
                }
                //ORGANISMOCERTIFICADOR
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
                {
                    MYT_OrganismosCertificadores_Datos obj_MYT_OrganismosCertificadores_Datos = new MYT_OrganismosCertificadores_Datos();
                    dnm_Valores = obj_MYT_OrganismosCertificadores_Datos.Obtener(_lng_id);
                }
                //PARTES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
                {
                    MYT_Partes_Datos obj_MYT_Partes_Datos = new MYT_Partes_Datos();
                    dnm_Valores = obj_MYT_Partes_Datos.Obtener(_lng_id);
                }
                //PARTESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
                {
                    MYT_PartesEstados_Datos obj_MYT_PartesEstados_Datos = new MYT_PartesEstados_Datos();
                    dnm_Valores = obj_MYT_PartesEstados_Datos.Obtener(_lng_id );
                }
                //PARTESTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
                {
                    MYT_PartesTipos_Datos obj_MYT_PartesTipos_Datos = new MYT_PartesTipos_Datos();
                    dnm_Valores = obj_MYT_PartesTipos_Datos.Obtener(_lng_id);
                }
                //PLANMANTENIMIENTO
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
                {
                    MYT_PlanMantenimientosCabeceras_Datos obj_MYT_PlanMantenimientosCabeceras_Datos = new MYT_PlanMantenimientosCabeceras_Datos();
                    dnm_Valores = obj_MYT_PlanMantenimientosCabeceras_Datos.Obtener(_lng_id);
                }
                //PROTOCOLOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
                {
                    MYT_Protocolos_Datos obj_MYT_Protocolos_Datos = new MYT_Protocolos_Datos();
                    dnm_Valores = obj_MYT_Protocolos_Datos.Obtener(_lng_id);
                }
                //PROTOCOLOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
                {
                    MYT_ProtocolosTipos_Datos obj_MYT_ProtocolosTipos_Datos = new MYT_ProtocolosTipos_Datos();
                    dnm_Valores = obj_MYT_ProtocolosTipos_Datos.Obtener(_lng_id);
                }
                //TECNICOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
                {
                    MYT_Tecnicos_Datos obj_MYT_Tecnicos_Datos = new MYT_Tecnicos_Datos();
                    dnm_Valores = obj_MYT_Tecnicos_Datos.Obtener(_lng_id);
                }
                //TIPOSCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
                {
                    MYT_TiposContratos_Datos obj_MYT_TiposContratos_Datos = new MYT_TiposContratos_Datos();
                    dnm_Valores = obj_MYT_TiposContratos_Datos.Obtener(_lng_id);
                }
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return dnm_Valores;
        }

        private dynamic GRABAR_REGISTRO(string _str_Opcion, dynamic _dnm_Modelo)
        {
            dynamic dnm_Valores = null;

            try
            {
                //ADMINISTRADORES
                if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
                {
                    MYT_Administradores_Datos obj_MYT_Administradores_Datos = new MYT_Administradores_Datos();
                    dnm_Valores = obj_MYT_Administradores_Datos.Grabar(_dnm_Modelo);
                }
                //CONFIGURACION_INFORMES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACION_INFORMES))
                {
                    MYT_Configuracion_Informes_Datos obj_MYT_Configuracion_Informes_Datos = new MYT_Configuracion_Informes_Datos();
                    dnm_Valores = obj_MYT_Configuracion_Informes_Datos.Grabar(_dnm_Modelo);
                }
                //EMPRESAINSTALADORA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
                {
                    MYT_EmpresasInstaladoras_Datos obj_MYT_EmpresasInstaladoras_Datos = new MYT_EmpresasInstaladoras_Datos();
                    dnm_Valores = obj_MYT_EmpresasInstaladoras_Datos.Grabar(_dnm_Modelo);
                }
                //ESTRUCTURAPARTEPETICIONDATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Cabecera_Datos obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos = new MYT_EstructurasPartesPeticionDatos_Cabecera_Datos();
                    dnm_Valores = obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos.Grabar(_dnm_Modelo);
                }
                //ESTRUCTURAPARTESPETICIONDATOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Tipos_Datos obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos = new MYT_EstructurasPartesPeticionDatos_Tipos_Datos();
                    dnm_Valores = obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos.Grabar(_dnm_Modelo);
                }
                //INFRAESTRUCTURAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
                {
                    MYT_Infraestructuras_Datos obj_MYT_Infraestructuras_Datos = new MYT_Infraestructuras_Datos();
                    dnm_Valores = obj_MYT_Infraestructuras_Datos.Grabar(_dnm_Modelo);
                }
                //INSPECCIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
                {
                    MYT_Inspecciones_Datos obj_MYT_Inspecciones_Datos = new MYT_Inspecciones_Datos();
                    dnm_Valores = obj_MYT_Inspecciones_Datos.Grabar(_dnm_Modelo);
                }
                //INSPECCIONESTIPOSRESULTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
                {
                    MYT_InspeccionesTiposResultados_Datos obj_MYT_InspeccionesTiposResultados_Datos = new MYT_InspeccionesTiposResultados_Datos();
                    dnm_Valores = obj_MYT_InspeccionesTiposResultados_Datos.Grabar(_dnm_Modelo);
                }
                //INSTALACIONESCABECERA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
                {
                    MYT_InstalacionesCabecera_Datos obj_MYT_InstalacionesCabecera_Datos = new MYT_InstalacionesCabecera_Datos();
                    dnm_Valores = obj_MYT_InstalacionesCabecera_Datos.Grabar(_dnm_Modelo);
                }
                //INSTALACIONESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
                {
                    MYT_InstalacionesEstados_Datos obj_MYT_InstalacionesEstados_Datos = new MYT_InstalacionesEstados_Datos();
                    dnm_Valores = obj_MYT_InstalacionesEstados_Datos.Grabar(_dnm_Modelo);
                }
                //INSTALACIONESUSOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
                {
                    MYT_InstalacionesUsos_Datos obj_MYT_InstalacionesUsos_Datos = new MYT_InstalacionesUsos_Datos();
                    dnm_Valores = obj_MYT_InstalacionesUsos_Datos.Grabar(_dnm_Modelo);
                }
                //LIQUIDACIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_LIQUIDACIONES))
                {
                    MYT_Liquidaciones_Datos obj_MYT_Liquidaciones_Datos = new MYT_Liquidaciones_Datos();
                    dnm_Valores = obj_MYT_Liquidaciones_Datos.Grabar(_dnm_Modelo);
                }
                //MARCAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
                {
                    MYT_Marcas_Datos obj_MYT_Marcas_Datos = new MYT_Marcas_Datos();
                    dnm_Valores = obj_MYT_Marcas_Datos.Grabar(_dnm_Modelo);
                }
                //MODELOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
                {
                    MYT_Modelos_Datos obj_MYT_Modelos_Datos = new MYT_Modelos_Datos();
                    dnm_Valores = obj_MYT_Modelos_Datos.Grabar(_dnm_Modelo);
                }
                //ORGANISMOCERTIFICADOR
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
                {
                    MYT_OrganismosCertificadores_Datos obj_MYT_OrganismosCertificadores_Datos = new MYT_OrganismosCertificadores_Datos();
                    dnm_Valores = obj_MYT_OrganismosCertificadores_Datos.Grabar(_dnm_Modelo);
                }
                //PARTES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
                {
                    MYT_Partes_Datos obj_MYT_Partes_Datos = new MYT_Partes_Datos();
                    dnm_Valores = obj_MYT_Partes_Datos.Grabar(_dnm_Modelo);
                }
                //PARTESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
                {
                    MYT_PartesEstados_Datos obj_MYT_PartesEstados_Datos = new MYT_PartesEstados_Datos();
                    dnm_Valores = obj_MYT_PartesEstados_Datos.Grabar(_dnm_Modelo);
                }
                //PARTESTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
                {
                    MYT_PartesTipos_Datos obj_MYT_PartesTipos_Datos = new MYT_PartesTipos_Datos();
                    dnm_Valores = obj_MYT_PartesTipos_Datos.Grabar(_dnm_Modelo);
                }
                //PLANMANTENIMIENTO
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
                {
                    MYT_PlanMantenimientosCabeceras_Datos obj_MYT_PlanMantenimientosCabeceras_Datos = new MYT_PlanMantenimientosCabeceras_Datos();
                    dnm_Valores = obj_MYT_PlanMantenimientosCabeceras_Datos.Grabar(_dnm_Modelo);
                }
                //PROTOCOLOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
                {
                    MYT_ProtocolosTipos_Datos obj_MYT_ProtocolosTipos_Datos = new MYT_ProtocolosTipos_Datos();
                    dnm_Valores = obj_MYT_ProtocolosTipos_Datos.Grabar(_dnm_Modelo);
                }
                //PROTOCOLOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
                {
                    MYT_Protocolos_Datos obj_MYT_Protocolos_Datos = new MYT_Protocolos_Datos();
                    dnm_Valores = obj_MYT_Protocolos_Datos.Grabar(_dnm_Modelo);
                }
                //TECNICOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
                {
                    MYT_Tecnicos_Datos obj_MYT_Tecnicos_Datos = new MYT_Tecnicos_Datos();
                    dnm_Valores = obj_MYT_Tecnicos_Datos.Grabar(_dnm_Modelo);
                }
                //TIPOSCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
                {
                    MYT_TiposContratos_Datos obj_MYT_TiposContratos_Datos = new MYT_TiposContratos_Datos();
                    dnm_Valores = obj_MYT_TiposContratos_Datos.Grabar(_dnm_Modelo);
                }
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return dnm_Valores;
        }

        private dynamic BORRAR_REGISTRO(string _str_Opcion, long _lng_id)
        {
            dynamic dnm_Valores = null;

            try
            {
                //ADMINISTRADORES
                if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ADMINISTRADORES))
                {
                    MYT_Administradores_Datos obj_MYT_Administradores_Datos = new MYT_Administradores_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_Administradores_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_Administradores);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //CONFIGURACION_INFORMES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_CONFIGURACION_INFORMES))
                {
                    MYT_Configuracion_Informes_Datos obj_MYT_Configuracion_Informes_Datos = new MYT_Configuracion_Informes_Datos();
                    dnm_Valores = obj_MYT_Configuracion_Informes_Datos.Borrar(_lng_id);
                }
                //EMPRESAINSTALADORA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_EMPRESASINSTALADORAS))
                {
                    MYT_EmpresasInstaladoras_Datos obj_MYT_EmpresasInstaladoras_Datos = new MYT_EmpresasInstaladoras_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_EmpresasInstaladoras_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_EmpresasInstaladoras);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //ESTRUCTURAPARTEPETICIONDATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTEPETICIONDATOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Cabecera_Datos obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos = new MYT_EstructurasPartesPeticionDatos_Cabecera_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_EstructurasPartesPeticionDatos_Cabecera_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_EstructurasPartesPeticionDatos_Cabecera);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //ESTRUCTURAPARTESPETICIONDATOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ESTRUCTURAPARTESPETICIONDATOSTIPOS))
                {
                    MYT_EstructurasPartesPeticionDatos_Tipos_Datos obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos = new MYT_EstructurasPartesPeticionDatos_Tipos_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_EstructurasPartesPeticionDatos_Tipos_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_EstructurasPartesPeticionDatos_Tipos);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //INFRAESTRUCTURAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INFRAESTRUCTURAS))
                {
                    MYT_Infraestructuras_Datos obj_MYT_Infraestructuras_Datos = new MYT_Infraestructuras_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_Infraestructuras_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_Infraestructuras);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //INSPECCIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONES))
                {
                    MYT_Inspecciones_Datos obj_MYT_Inspecciones_Datos = new MYT_Inspecciones_Datos();
                    dnm_Valores = obj_MYT_Inspecciones_Datos.Borrar(_lng_id);
                }
                //INSPECCIONESTIPOSRESULTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSPECCIONESTIPOSRESULTADOS))
                {
                    MYT_InspeccionesTiposResultados_Datos obj_MYT_InspeccionesTiposResultados_Datos = new MYT_InspeccionesTiposResultados_Datos();
                    dnm_Valores = obj_MYT_InspeccionesTiposResultados_Datos.Borrar(_lng_id);
                }
                //INSTALACIONESCABECERA
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESCABECERA))
                {
                    MYT_InstalacionesCabecera_Datos obj_MYT_InstalacionesCabecera_Datos = new MYT_InstalacionesCabecera_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_InstalacionesCabecera_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_InstalacionesCabecera);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //INSTALACIONESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESESTADOS))
                {
                    MYT_InstalacionesEstados_Datos obj_MYT_InstalacionesEstados_Datos = new MYT_InstalacionesEstados_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_InstalacionesEstados_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_InstalacionesEstados);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //INSTALACIONESUSOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_INSTALACIONESUSOS))
                {
                    MYT_InstalacionesUsos_Datos obj_MYT_InstalacionesUsos_Datos = new MYT_InstalacionesUsos_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_InstalacionesUsos_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_InstalacionesUsos);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //LIQUIDACIONES
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_LIQUIDACIONES))
                {
                    MYT_Liquidaciones_Datos obj_MYT_Liquidaciones_Datos = new MYT_Liquidaciones_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_Liquidaciones_Datos.Borrar(_lng_id);

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //MARCAS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MARCAS))
                {
                    MYT_Marcas_Datos obj_MYT_Marcas_Datos = new MYT_Marcas_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_Marcas_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_Marcas);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //MODELOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_MODELOS))
                {
                    MYT_Modelos_Datos obj_MYT_Modelos_Datos = new MYT_Modelos_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_Modelos_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_Modelos);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //ORGANISMOCERTIFICADOR
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_ORGANISMOSCERTIFICADORES))
                {
                    MYT_OrganismosCertificadores_Datos obj_MYT_OrganismosCertificadores_Datos = new MYT_OrganismosCertificadores_Datos();
                    dnm_Valores = obj_MYT_OrganismosCertificadores_Datos.Borrar(_lng_id);
                }
                //PARTE
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
                {
                    MYT_Partes_Datos obj_MYT_Partes_Datos = new MYT_Partes_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_Partes_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_PARTE_MYTHOS(_lng_id,null);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //PARTESESTADOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESESTADOS))
                {
                    MYT_PartesEstados_Datos obj_MYT_PartesEstados_Datos = new MYT_PartesEstados_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_PartesEstados_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_PartesEstados);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //PARTESTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTESTIPOS))
                {
                    MYT_PartesTipos_Datos obj_MYT_PartesTipos_Datos = new MYT_PartesTipos_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_PartesTipos_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_PartesTipos);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //PLANMANTENIMIENTO
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PLANMANTENIMIENTO))
                {
                    MYT_PlanMantenimientosCabeceras_Datos obj_MYT_PlanMantenimientosCabeceras_Datos = new MYT_PlanMantenimientosCabeceras_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_PlanMantenimientosCabeceras_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_PlanMantenimientosCabeceras);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //PROTOCOLOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOS))
                {
                    MYT_Protocolos_Datos obj_MYT_Protocolos_Datos = new MYT_Protocolos_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_Protocolos_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_Protocolos);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //PROTOCOLOSTIPOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PROTOCOLOSTIPOS))
                {
                    MYT_ProtocolosTipos_Datos obj_MYT_ProtocolosTipos_Datos = new MYT_ProtocolosTipos_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_ProtocolosTipos_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_ProtocolosTipos);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //TECNICOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TECNICOS))
                {
                    MYT_Tecnicos_Datos obj_MYT_Tecnicos_Datos = new MYT_Tecnicos_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_Tecnicos_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_Tecnicos);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
                //TIPOSCONTRATOS
                else if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_TIPOSCONTRATOS))
                {
                    MYT_TiposContratos_Datos obj_MYT_TiposContratos_Datos = new MYT_TiposContratos_Datos();
                    INTERNO_ValorDevuelto_Modelo mdl_INTERNO_ValorDevuelto_Modelo = obj_MYT_TiposContratos_Datos.Borrar(_lng_id);

                    #region SINCRONIZACION
                    if (mdl_INTERNO_ValorDevuelto_Modelo.TodoCorrecto)
                    {
                        INTERNO_Sincronizacion_ActualizarRegistro_Modelo mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo = new INTERNO_Sincronizacion_ActualizarRegistro_Modelo();
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.tabla = nameof(MYT_TiposContratos);
                        mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo.idClavePrimaria = _lng_id;

                        Sincronizacion_ActualizarRegistro.Sincronizacion_ActualizarRegistro_RESTOTABLAS(mdl_INTERNO_Sincronizacion_ActualizarRegistro_Modelo);
                    }
                    #endregion

                    dnm_Valores = mdl_INTERNO_ValorDevuelto_Modelo;
                }
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return dnm_Valores;
        }

        private dynamic OBTENER_REGISTRO_TEXTBOXBUSQUEDA(string _str_Opcion, string _str_Filtro, string _str_CampoBusqueda, long _lng_idEmpresaSeleccionada, long _lng_idEjercicioActual)
        {
            dynamic dnm_Valor = null;

            try
            {

            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }

            return dnm_Valor;
        }

        private ABS_TextBox_Busqueda OBTENCION_ABS_TEXTBOXBUSQUEDA(string _str_Opcion)
        {
            ABS_TextBox_Busqueda obj_ABS_TextBox_Busqueda = null;

            return obj_ABS_TextBox_Busqueda;
        }


        #region Listado Procesos
        private void VTA_LISTADOPROCESOS(string _str_Opcion,
                                        P_Base _frm_P_Base_Origen,
                                        INTERNO_ValoresGenerales_Modelo _mdl_INTERNO_ValoresGenerales_Modelo,
                                        DateTime _dtt_FechaPorDefecto,
                                        List<long> _lst_idsSeleccionados)
        {
            try
            {
                //MYT_PARTES
                if (_str_Opcion.Equals(Variables.G_STR_OPCION_MYT_PARTES))
                {
                    try
                    {
                        P_Parte_Procesos frm_P_Parte_Procesos = new P_Parte_Procesos(Variables.G_STR_OPCION_MYT_PARTES,
                                                                                                                    _mdl_INTERNO_ValoresGenerales_Modelo,
                                                                                                                    _dtt_FechaPorDefecto,
                                                                                                                    _lst_idsSeleccionados,
                                                                                                                    "");

                        frm_P_Parte_Procesos.P_Base_TituloPantalla_CaminoHormigas = "PROCESOS";
                        frm_P_Parte_Procesos.P_Base_PantallaOrigen = _frm_P_Base_Origen;
                        frm_P_Parte_Procesos.P_Base_PantallaPadre_IdentificadorTAG = _frm_P_Base_Origen.Tag.ToString();

                        //Muestra la pantalla empotrada
                        Funciones_PanelPrincipal.Cargar_PantallaEmpotrada(frm_P_Parte_Procesos, _str_Opcion);
                    }
                    catch (Exception)
                    { }
                }
            }
            catch (Control_Errores)
            { }
            catch (Exception)
            { }
        }
        #endregion
    }
}
