En este apartado se podrá consultar el procedimiento para dar de alta las empresas y catálogos, así como los scripts que se utilizan para eso.
Catálogos por país
Cuando se va a crear una empresa para un país nuevo, es necesario dar de alta los catálogos por país, antes de crear la empresa.
Antes de inicial la creación de los catálogos, se tiene que configurar la información en la tabla de país:
- separador_mil
- separador_decimal
- formato_numero
- formato_fecha
Estos se incluyen de acuerdo a la información del país.
Los siguientes catálogos se configuran en su tabla correspondiente.
Zona_horaria
-- Inicializa variables SET @i_pais_id = 0; -- Obtiene información del país select p.pais_id into @i_pais_id from pais as p where p.pais_clave = 'PY'; -- Zona horaria INSERT INTO zona_horaria (pais_id, zona_horaria_clave, zona_horaria, zona_horaria_orden, gmt_desfase, tz) SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id 'H.PYT' as zona_horaria_clave, 'HORA DE PARAGUAY' as zona_horaria, 100 as zona_horaria_orden, -4 as gmt_desfase, 'America/Paraguay' as tz from zona_horaria where zona_horaria_id = 0 and @i_pais_id not in (select pais_id from zona_horaria);
Estado
-- Inicializa variables SET @i_zona_horaria_id = 0; -- Obtiene información de zona_horaria select zn.zona_horaria_id into @i_zona_horaria_id from zona_horaria as zn where zn.pais_id = @i_pais_id; INSERT INTO estado (pais_id, estado_clave, estado, estado_orden, zona_horaria_id) SELECT @i_pais_id AS pais_id, -- utilizar variable o pais_id 'ASU' as estado_clave, 'Distrito capital' as estado, 100 as estado_orden, @i_zona_horaria_id as zona_horaria_id from estado where estado_id = 0 and 'ASU' not in (select estado_clave from estado where pais_id = @i_pais_id) and 'Distrito capital' not in (select estado from estado where pais_id = @i_pais_id);
Municipio
-- Inicializa variables SET @i_estado_id = 0; -- Obtiene información de Estado select e.estado_id into @i_estado_id from estado as e where e.pais_id = @i_pais_id -- utilizar variable o pais_id and e.estado_clave = 'ASU'; INSERT INTO municipio (estado_id, municipio_clave, municipio, municipio_orden) SELECT @i_estado_id AS estado_id, 'ASU-CAPI' as municipio_clave, 'Capital' as municipio, 100 as municipio_orden from municipio where municipio_id = 0 and 'ASU-CAPI' not in (select municipio_clave from municipio where estado_id = @i_estado_id) and 'Capital' not in (select municipio from municipio where estado_id = @i_estado_id);
Niveles
INSERT INTO nivel (pais_id, nivel_clave, nivel, nivel_orden, abreviatura, fecha_actualizacion, persona_rol_id, version) SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id '001' as nivel_clave, 'Inicial' as nivel, 100 as nivel_orden, 'I' as abreviatura, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id, 0 as version from nivel where nivel_id = 0 and '001' not in (select nivel_clave from nivel where pais_id = @i_pais_id) and 'Inicial' not in (select nivel from nivel where pais_id = @i_pais_id);
Colocar el persona_rol_id o utilizar variable. De igual forma pais_id.
Grados
-- Inicializa variables SET @i_nivel_id = 0; -- Obtiene información de Grado select n.nivel_id into @i_nivel_id from nivel as n where n.pais_id = @i_pais_id -- utilizar variable o pais_id and n.nivel_clave = '001'; INSERT INTO grado (nivel_id, grado_clave, grado, grado_orden, activo, fecha_actualizacion, persona_rol_id, version) SELECT @i_nivel_id as nivel_id, '3EI' as grado_clave, 'Pre-Jardín' as grado, 100 as grado_orden, 1 as activo, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id, -- utilizar variable o id 0 as version from grado where grado_id = 0 and '3EI' not in (select grado_clave from grado where nivel_id = @i_nivel_id) and 'Pre-Jardín' not in (select grado from grado where nivel_id = @i_nivel_id);
Grupos
INSERT INTO grupo (pais_id, grupo_clave, grupo, grupo_orden, turno_id, version) SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id grupo_clave, grupo, grupo_orden, turno_id, version from grupo where pais_id = 165 -- empresa base and grupo_clave not in (select grupo_clave from grupo where pais_id = @i_pais_id) and grupo not in (select grupo from grupo where pais_id = @i_pais_id);
Turno
Este catálogo es por empresa, por lo que tiene que colocarse la empresa base o hacer el insert por el turno que se requiera.
Para crear este catálogo, la empresa destino tiene que estar creada.
-- TURNO INSERT INTO turno (empresa_id, turno_clave, turno, turno_orden) SELECT @i_empresa_id, turno_clave, turno, turno_orden from turno where empresa_id = 8 -- empresa base. and turno_clave not in (select turno_clave from turno where empresa_id = @i_empresa_id) and turno not in (select turno from turno where empresa_id = @i_empresa_id);
Moneda
Este catálogo es necesario si alguna de las empresas del país llevará aplicaciones de Pagos, Acuerdos o GA.
-- MONEDA INSERT INTO moneda (pais_id, moneda_clave, moneda, moneda_orden, parametro, leyenda_anterior, leyenda_posterior, simbolo) SELECT @i_pais_id as pais_id, -- utilizar variable o pais_id 'MXN' as moneda_clave, 'Pesos Mexicanos' as moneda, 100 as moneda_orden, 'MN' as parametro, 'PESOS' as leyenda_anterior, 'M.N.' as leyenda_posterior, '$' as simbolo from moneda where moneda_id = 0 and 'MXN' not in (select moneda_clave from moneda where pais_id = @i_pais_id) and 'Pesos Mexicanos' not in (select moneda from moneda where pais_id = @i_pais_id);
Alta de empresa
Cuando se dan de alta las empresas, es necesario que se proporcionen los siguientes datos:
País | Clave empresa | Nombre de empresa | Parámetro | Empresa base de configuración |
---|
Ejemplo:
Pais | Clave empresa | Nombre de empresa | Parámetro | Empresa base de configuración |
---|---|---|---|---|
El Salvador | SV.LIVE | Be+Live El Salvador | SV/LIVE | Be+live MX. |
Las variables que se van a utilizar regularmente para estos scripts son los siguientes:
-- Inicializa variables SET @i_persona_rol_id = 0; SET @i_pais_id = 0; SET @i_empresa_id = 0; Set @i_ciclo_escolar_id = 0;
Se obtiene la información del país para utilizarlo dentro de los inserts.
-- Obtiene información del país al que pertenecerá la empresa select p.pais_id into @i_pais_id from pais as p where p.pais_clave = 'SV';
Para realizar los inserts de alta de empresa, se debe validar la última empresa que fue creada y colocar directamente el id de la empresa y el orden.
Empresa
-- EMPRESA INSERT INTO empresa(empresa_id, pais_id, empresa_clave, empresa, empresa_orden, sap_id, parametro) SELECT 60 as empresa_id, @i_pais_id as pais_id, 'SV.LIVE' as empresa_clave, 'Be+Live El Salvador' as empresa, 10042000 as empresa_orden, '0000' as sap_id, 'SV/LIVE' as parametro from empresa where empresa_id = 0 and 60 not in (select empresa_id from empresa);
Una vez que se tiene la empresa creada, se puede obtener la información de esta para la variable.
-- Obtiene información de la nueva empresa select e.empresa_id into @i_empresa_id from empresa e where e.pais_id = @i_pais_id and e.empresa_clave = 'SV.LIVE';
Ciclo escolar y periodos de evaluación
Es necesario crear el ciclo escolar y periodos de evaluación que serán utilizados para la nueva empresa.
Si la empresa se está basando en la información de otra empresa ya creada, se utiliza el siguiente script para crear los ciclos escolares a partir del año que se indique.
insert into ciclo_escolar(empresa_id, ciclo_escolar_clave, ciclo_escolar, ciclo_escolar_orden, fecha_desde, fecha_hasta, pagando, activo, impide_alta_usuario, version) select @empresa_id, ciclo_escolar_clave, ciclo_escolar, ciclo_escolar_orden, fecha_desde, fecha_hasta, pagando, activo, impide_alta_usuario, version from ciclo_escolar where empresa_id = 6 -- Se coloca el id de empresa base and year(fecha_desde) >= '2018' and ciclo_escolar_clave not in (select ciclo_escolar_clave from ciclo_escolar where empresa_id = @empresa_id) and ciclo_escolar not in (select ciclo_escolar from ciclo_escolar where empresa_id = @empresa_id) order by ciclo_escolar_clave;
Si solicitan un ciclo escolar diferente a otra empresa o uno específico para la empresa nueva, se utiliza el siguiente script.
insert into ciclo_escolar(empresa_id, ciclo_escolar_clave, ciclo_escolar, ciclo_escolar_orden, fecha_desde, fecha_hasta, pagando, activo, impide_alta_usuario, version, fecha_actualizacion, persona_rol_id) select @i_empresa_id as empresa_id, 2020 as ciclo_escolar_clave, 'Ciclo 2020' as ciclo_escolar, 100 as ciclo_escolar_orden, '2020-01-02 00:00:01' as fecha_desde, '2020-11-30 23:59:59' as fecha_hasta, 0 as pagando, 0 as activo, 0 as impide_alta_usuario, 0 as version, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from ciclo_escolar where ciclo_escolar_id = 0 and 2020 not in (select ciclo_escolar_clave from ciclo_escolar where empresa_id = @i_empresa_id) and 'Ciclo 2020' not in (select ciclo_escolar from ciclo_escolar where empresa_id = @i_empresa_id);
Para la creación de los periodos de evaluación se pueden utilizar los siguientes scripts dependiendo el caso.
Desde una empresa base:
-- INSERTA PERIODO_CICLO insert into periodo_ciclo (empresa_id, ciclo_escolar_id, periodo_ciclo_clave, periodo_ciclo, periodo_ciclo_orden, activo, fecha_inicio, fecha_fin, parametro, fecha_actualizacion, persona_rol_id) select @empresa_id, ce2.ciclo_escolar_id, pc.periodo_ciclo_clave, pc.periodo_ciclo, pc.periodo_ciclo_orden, pc.activo, pc.fecha_inicio, pc.fecha_fin, pc.parametro, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from periodo_ciclo pc inner join ciclo_escolar ce on ce.ciclo_escolar_id = pc.ciclo_escolar_id inner join ciclo_escolar ce2 on ce2.ciclo_escolar_clave = ce.ciclo_escolar_clave where pc.empresa_id = 6 -- Se coloca el id de empresa base and ce2.empresa_id = @empresa_id and pc.periodo_ciclo_clave not in (select periodo_ciclo_clave from periodo_ciclo where empresa_id = @empresa_id) and pc.periodo_ciclo not in (select periodo_ciclo from periodo_ciclo where empresa_id = @empresa_id) order by ce.ciclo_escolar_orden, pc.periodo_ciclo_orden, pc.fecha_inicio;
Para utilizar el siguiente script se necesita obtener la información del ciclo_escolar previamente creado.
Select ciclo_escolar_id into @i_ciclo_escolar_id from ciclo_escolar where empresa_id = @i_empresa_id and ciclo_escolar_clave = 2020;
Después se utiliza el script para la creación de periodos de evaluación.
-- PERIODO_CICLO insert into periodo_ciclo (empresa_id, ciclo_escolar_id, periodo_ciclo_clave, periodo_ciclo, periodo_ciclo_orden, activo, fecha_inicio, fecha_fin, parametro, fecha_actualizacion, persona_rol_id) select ce.empresa_id, ce.ciclo_escolar_id, '2020.A' as periodo_ciclo_clave, 'Anual' as periodo_ciclo, 100 as periodo_ciclo_orden, 1 as activo, ce.fecha_desde as fecha_inicio, ce.fecha_hasta as fecha_fin, 'ANUAL' as parametro, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from ciclo_escolar ce where ce.ciclo_escolar_id = @i_ciclo_escolar_id and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id) UNION select ce.empresa_id, ce.ciclo_escolar_id, '2020.BIM 01' as periodo_ciclo_clave, '1er.BIM CICLO. 2020' as periodo_ciclo, 110 as periodo_ciclo_orden, 1 as activo, '2020-01-02 00:00:01' as fecha_inicio, '2020-03-08 23:59:59' as fecha_fin, '' as parametro, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from ciclo_escolar ce where ce.ciclo_escolar_id = @i_ciclo_escolar_id and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id) UNION select ce.empresa_id, ce.ciclo_escolar_id, '2020.BIM 02' as periodo_ciclo_clave, '2do.BIM CICLO. 2020' as periodo_ciclo, 120 as periodo_ciclo_orden, 1 as activo, '2020-03-09 00:00:01' as fecha_inicio, '2020-05-03 23:59:59' as fecha_fin, '' as parametro, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from ciclo_escolar ce where ce.ciclo_escolar_id = @i_ciclo_escolar_id and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id) UNION select ce.empresa_id, ce.ciclo_escolar_id, '2020.BIM 03' as periodo_ciclo_clave, '3er.BIM CICLO. 2020' as periodo_ciclo, 130 as periodo_ciclo_orden, 1 as activo, '2020-05-04 00:00:01' as fecha_inicio, '2020-07-19 23:59:59' as fecha_fin, '' as parametro, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from ciclo_escolar ce where ce.ciclo_escolar_id = @i_ciclo_escolar_id and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id) UNION select ce.empresa_id, ce.ciclo_escolar_id, '2020.BIM 04' as periodo_ciclo_clave, '4to.BIM CICLO. 2020' as periodo_ciclo, 140 as periodo_ciclo_orden, 1 as activo, '2020-07-20 00:00:01' as fecha_inicio, '2020-08-23 23:59:59' as fecha_fin, '' as parametro, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from ciclo_escolar ce where ce.ciclo_escolar_id = @i_ciclo_escolar_id and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id) UNION select ce.empresa_id, ce.ciclo_escolar_id, '2020.BIM 05' as periodo_ciclo_clave, '5to.BIM CICLO. 2020' as periodo_ciclo, 150 as periodo_ciclo_orden, 1 as activo, '2020-08-24 00:00:01' as fecha_inicio, '2020-11-30 23:59:59' as fecha_fin, '' as parametro, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from ciclo_escolar ce where ce.ciclo_escolar_id = @i_ciclo_escolar_id and ce.ciclo_escolar_id not in (select ciclo_escolar_id from periodo_ciclo where empresa_id = @i_empresa_id);
Tipo Materia
Este catálogo es necesario para la creación de las materias.
-- TIPO DE MATERIA insert into tipo_materia(empresa_id, tipo_materia_clave, tipo_materia, tipo_materia_orden, parametro) select @empresa_id, tipo_materia_clave, tipo_materia, tipo_materia_orden, parametro from tipo_materia where empresa_id = 6 -- Se coloca el id de empresa base and tipo_materia_clave not in (select tipo_materia_clave from tipo_materia where empresa_id = @empresa_id) and tipo_materia not in (select tipo_materia from tipo_materia where empresa_id = @empresa_id);
Si se necesita crear otro tipo de actividad, se puede utilizar el siguiente script.
-- TIPO DE MATERIA insert into tipo_materia(empresa_id, tipo_materia_clave, tipo_materia, tipo_materia_orden, parametro) select @empresa_id as empresa_id, 'OFI' as tipo_materia_clave, 'OFICIAL' as tipo_materia, 100 as tipo_materia_orden, 'SEP' as parametro from tipo_materia where tipo_materia_id = 0 and tipo_materia_clave not in (select tipo_materia_clave from tipo_materia where empresa_id = @empresa_id) and tipo_materia not in (select tipo_materia from tipo_materia where empresa_id = @empresa_id);
Tipo Actividad
Basado en empresa:
-- TIPOS DE ACTIVIDAD insert into tipo_actividad(empresa_id, colegio_nivel_ciclo_id, tipo_actividad_clave, tipo_actividad, tipo_actividad_orden, fecha_actualizacion, persona_rol_id) select @i_empresa_id, colegio_nivel_ciclo_id, tipo_actividad_clave, tipo_actividad, tipo_actividad_orden, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from tipo_actividad where empresa_id = 47 -- Se coloca el id de empresa base and colegio_nivel_ciclo_id = 0 and tenantid = 0 and tipo_actividad_clave not in (select tipo_actividad_clave from tipo_actividad where empresa_id = @i_empresa_id) and tipo_actividad not in (select tipo_actividad from tipo_actividad where empresa_id = @i_empresa_id);
Para crear nuevo tipo de actividad:
-- TIPOS DE ACTIVIDAD insert into tipo_actividad(empresa_id, colegio_nivel_ciclo_id, tipo_actividad_clave, tipo_actividad, tipo_actividad_orden, fecha_actualizacion, persona_rol_id) select 57 as empresa_id, 0 as colegio_nivel_ciclo_id, 'TAREA' as tipo_actividad_clave, 'TAREAS' as tipo_actividad, 100 as tipo_actividad_orden, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from tipo_actividad where tipo_actividad_id = 0 and colegio_nivel_ciclo_id = 0 and tenantId = 0 and tipo_actividad_clave not in (select tipo_actividad_clave from tipo_actividad where empresa_id = 57) and tipo_actividad not in (select tipo_actividad from tipo_actividad where empresa_id = 57);
Tipo recurso
Basado en empresa:
-- TIPO DE RECURSO insert into tipo_recurso(empresa_id, tipo_recurso_clave, tipo_recurso, tipo_recurso_orden, parametro, liga_icono, mime, fecha_actualizacion, persona_rol_id) select @i_empresa_id, tipo_recurso_clave, tipo_recurso, tipo_recurso_orden, parametro, liga_icono, mime, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from tipo_recurso where empresa_id = 47 -- Se coloca el id de empresa base and tenantid = 0 and tipo_recurso_clave not in (select tipo_recurso_clave from tipo_recurso where empresa_id = @i_empresa_id) and tipo_recurso not in (select tipo_recurso from tipo_recurso where empresa_id = @i_empresa_id);
Para crear tipo de recurso nuevo:
INSERT INTO tipo_recurso(empresa_id, tipo_recurso_clave, tipo_recurso, tipo_recurso_orden, parametro, liga_icono, fecha_actualizacion, persona_rol_id) select 57 as empresa_id, 'AUD' as tipo_recurso_clave, 'Audio' as tipo_recurso, 100 as tipo_recurso_orden, 'AUD' as parametro, 'https://www.sistemauno.com/sync/Iconos/audio.png' as liga_icono, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id from tipo_recurso where tipo_recurso_id = 0 and tipo_recurso_clave not in (select tipo_actividad_clave from tipo_actividad where empresa_id = 57) and tipo_recurso not in (select tipo_actividad from tipo_actividad where empresa_id = 57);
Escalas
Basado en otra empresa:
-- ESCALAS insert into escala(empresa_id, colegio_nivel_ciclo_id, escala_clave, escala, escala_orden, discreta, decimales, calificacion_minima, calificacion_maxima, decima_sube, suma, fecha_actualizacion, persona_rol_id, tenantId, version) select @i_empresa_id, colegio_nivel_ciclo_id, escala_clave, escala, escala_orden, discreta, decimales, calificacion_minima, calificacion_maxima, decima_sube, suma, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id, tenantid, version from escala where empresa_id = 47 -- Se coloca el id de empresa base and colegio_nivel_ciclo_id = 0 and tenantid = 0 and escala_clave not in (select escala_clave from escala where empresa_id = @i_empresa_id) and escala not in (select escala from escala where empresa_id = @i_empresa_id);
Crear nueva escala:
-- ESCALAS insert into escala(empresa_id, colegio_nivel_ciclo_id, escala_clave, escala, escala_orden, discreta, decimales, calificacion_minima, calificacion_maxima, decima_sube, suma, fecha_actualizacion, persona_rol_id, tenantId, version) select @i_empresa_id as empresa_id, 0 as colegio_nivel_ciclo_id, '(5-10),0' as escala_clave, 'CINCO-DIEZ - MIN:5, MAX:10, DEC:0' as escala, 100 as escala_orden, 0 as discreta, 0 as decimales, 5 as calificacion_minima, 10 as calificacion_maxima, 6 as decima_sube, 0 as suma, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id, 0 as tenantId, 0 as version from escala where escala_id = 0 and colegio_nivel_ciclo_id = 0 and tenantid = 0 and escala_clave not in (select escala_clave from escala where empresa_id = @i_empresa_id) and escala not in (select escala from escala where empresa_id = @i_empresa_id);
Escalas alfanuméricas
-- ESCALA_LINEAS (escalas alfanumérica que utiliza LMS) insert into escala_linea(escala_id, linea, calificacion, porcentaje_operacion, porcentaje_minimo, porcentaje_maximo, fecha_actualizacion, persona_rol_id, escala_linea_descripcion, version) select (select x.escala_id from escala x where x.empresa_id = @i_empresa_id and x.colegio_nivel_ciclo_id = 0 and x.tenantid = 0 and x.escala_clave = e.escala_clave), el.linea, el.calificacion, el.porcentaje_operacion, el.porcentaje_minimo, el.porcentaje_maximo, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id, el.escala_linea_descripcion, el.version from escala e inner join escala_linea el on el.escala_id = e.escala_id where e.empresa_id = 47 -- Se coloca el id de empresa base and e.colegio_nivel_ciclo_id = 0 and e.tenantid = 0 and el.escala_id not in (select el.escala_id from escala e inner join escala_linea el on el.escala_id = e.escala_id where e.empresa_id = @i_empresa_id and e.colegio_nivel_ciclo_id = 0 and e.tenantid = 0);
Materias
Basado en otra empresa:
-- MATERIAS insert into materia(empresa_id, tipo_materia_id, materia_clave, materia, materia_orden, liga_icono, fecha_actualizacion, persona_rol_id, programa_id, materia_nombre_corto) select @i_empresa_id as empresa_id, (select x.tipo_materia_id from tipo_materia x where x.empresa_id = @i_empresa_id and x.tipo_materia_clave = tm.tipo_materia_clave) as tipo_materia_id, m.materia_clave, m.materia, m.materia_orden, m.liga_icono, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id, m.programa_id, m.materia_nombre_corto from materia m, tipo_materia tm where m.empresa_id = 47 -- Se coloca el id de empresa base and m.colegio_nivel_ciclo_id is null and m.tenantid = 0 and tm.tipo_materia_id = m.tipo_materia_id and m.materia_clave not in (select materia_clave from materia where empresa_id = @i_empresa_id) and materia not in (select materia from materia where empresa_id = @i_empresa_id);
Nueva materia:
-- MATERIAS INSERT INTO materia (empresa_id, tipo_materia_id, materia_clave, materia, materia_orden, liga_icono, fecha_actualizacion, persona_rol_id, programa_id, materia_nombre_corto) SELECT 57 as empresa_id, (select tipo_materia_id from tipo_materia where empresa_id = 57 and tipo_materia_clave = 'OFI') as tipo_materia_id, 'MAT' as materia_clave,'Matemática' as materia, 100 as materia_orden, 'https://www.sistemauno.com/sync/Iconos/IconeDisciplinaEstandar.png' as liga_icono, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id, Null as programa_id, Null as materia_nombre_corto from materia where materia_id = 0 and 'MAT' not in (select materia_clave from materia where empresa_id = 57 and colegio_nivel_ciclo_id is null and tenantId = 0) and 'Matemática' not in (select materia from materia where empresa_id = 57 and colegio_nivel_ciclo_id is null and tenantId = 0);
Alta de catálogos
Para la creación de una empresa, se necesita insertar catálogos en la base de datos para el funcionamiento de las aplicaciones.
Los catálogos que se necesitan son los siguientes:
ACUERDOS
Tipo_articulo
-- TIPO ARTICULO INSERT INTO tipo_articulo (empresa_id, tipo_articulo_clave, tipo_articulo, tipo_articulo_orden, parametro) Select @i_empresa_id, tipo_articulo_clave, tipo_articulo, tipo_articulo_orden, parametro from tipo_articulo where empresa_id = 47 -- Se coloca el id de empresa base and tipo_articulo_clave not in (select tipo_articulo_clave from tipo_articulo where empresa_id = @i_empresa_id) and tipo_articulo not in (select tipo_articulo from tipo_articulo where empresa_id = @i_empresa_id);
Opcion_venta
-- OPCION_VENTA INSERT INTO opcion_venta (empresa_id, opcion_venta_clave, opcion_venta, opcion_venta_orden, parametro) Select @i_empresa_id as empresa_id, opcion_venta_clave, opcion_venta, opcion_venta_orden, parametro from opcion_venta where empresa_id = 47 -- Se coloca el id de empresa base and opcion_venta_clave not in (select opcion_venta_clave from opcion_venta where empresa_id = @i_empresa_id) and opcion_venta not in (select opcion_venta from opcion_venta where empresa_id = @i_empresa_id);
Tipo_material
-- TIPO MATERIAL INSERT INTO tipo_material (empresa_id, tipo_material_clave, tipo_material, tipo_material_orden, parametro) Select @i_empresa_id as empresa_id, tipo_material_clave, tipo_material, tipo_material_orden, parametro from tipo_material where empresa_id = 47 -- Se coloca el id de empresa base and tipo_material_clave not in (select tipo_material_clave from tipo_material where empresa_id = @i_empresa_id) and tipo_material not in (select tipo_material from tipo_material where tipo_material = @i_empresa_id);
Tipo_venta
-- TIPO VENTA INSERT INTO tipo_venta (empresa_id, tipo_venta_clave, tipo_venta, tipo_venta_orden, parametro, numero_pagadores, afecta_cuenta_por_cobrar, proporcion_parametro) SELECT @i_empresa_id, tipo_venta_clave, tipo_venta, tipo_venta_orden, parametro, numero_pagadores, afecta_cuenta_por_cobrar, proporcion_parametro from tipo_venta where empresa_id = 47 -- Se coloca el id de empresa base and tipo_venta_clave not in (select tipo_venta_clave from tipo_venta where empresa_id = @i_empresa_id) and tipo_venta not in (select tipo_venta from tipo_venta where empresa_id = @i_empresa_id);
Plazo
-- PLAZO INSERT INTO plazo (empresa_id, plazo_clave, plazo, plazo_orden, dias, parametro, numero_pagos, interes, interes_moratorio, cobranza, activo) SELECT @i_empresa_id, plazo_clave, plazo, plazo_orden, dias, parametro, numero_pagos, interes, interes_moratorio, cobranza, activo from plazo where empresa_id = 47 -- Se coloca el id de empresa base and plazo_clave not in (select plazo_clave from plazo where empresa_id = @i_empresa_id) and plazo not in (select plazo from plazo where empresa_id = @i_empresa_id);
Canal_venta
-- CANAL VENTA INSERT INTO canal_venta (empresa_id, canal_venta_clave, canal_venta, canal_venta_orden, parametro) SELECT @i_empresa_id, canal_venta_clave, canal_venta, canal_venta_orden, parametro from canal_venta where empresa_id = 47 -- Se coloca el id de empresa base and canal_venta_clave not in (select canal_venta_clave from canal_venta where empresa_id = @i_empresa_id) and canal_venta not in (select canal_venta from canal_venta where empresa_id = @i_empresa_id);
Transacciones (tabla trans)
-- TRANS insert into trans(empresa_id, trans_clave, trans, trans_orden, parametro) select @i_empresa_id, trans_clave, trans, trans_orden, parametro from trans where empresa_id = 47 -- Se coloca el id de empresa base and trans_clave not in (select trans_clave from trans where empresa_id = @i_empresa_id) and trans not in (select trans from trans where empresa_id = @i_empresa_id);
Razon
-- RAZON insert into razon(trans_id, razon_clave, razon, razon_orden, parametro) select (select x.trans_id from trans x where x.empresa_id = @empresa_id and x.trans_clave = t.trans_clave) as trans_id, r.razon_clave, r.razon, r.razon_orden, r.parametro from razon r inner join trans t on t.trans_id = r.trans_id where t.empresa_id = 47; -- Se coloca el id de empresa base
PEGASUS
Tipo_contrato
-- TIPO CONTRATO (SÓLO PARA PEGASUS) INSERT INTO tipo_contrato (empresa_id, tipo_contrato_clave, tipo_contrato, tipo_contrato_orden, parametro, fecha_actualizacion, persona_rol_id) SELECT @i_empresa_id as empresa_id, tipo_contrato_clave, tipo_contrato, tipo_contrato_orden, parametro, now() as fecha_actualizacion, @i_persona_rol_id as persona_rol_id FROM tipo_contrato WHERE empresa_id = 47 and tipo_contrato_clave not in (select tipo_contrato_clave from tipo_contrato where empresa_id = @i_empresa_id) and tipo_contrato not in (select tipo_contrato from tipo_contrato where empresa_id = @i_empresa_id);
SINCROBDC
La herramienta de Sincrobdc necesita los siguientes catálogos. Se colocó el script en el apartado de Acuerdos.
- Transacciones (tabla trans)
- Razon
USUARIO
- Rol. Es un catálogo que se utiliza para todos los países
CENSO
- Grados. (Ver apartado de catálogos por país)
- Grupos. (Ver apartado de catálogos por país)
- Turno. (Sólo las empresas de Brasil utilizan este catálogo hasta este momento, es por empresa.)
SIF
- Una vez creada la empresa se debe asignar permiso al usuario SIF_FIM_PRO registro en la table empresa_persona_rol.
PAGOS
- Forma de pago
- Categoría
- Agrupa_forma_pago
- Razon_excepcion (SIEDUC)
- Tasa pago - para Brasil
- Regla pago - para Brasil
Se pueden ver los scripts de estos catálogos en https://confluence.project-tools.santillanatn.com/x/cxFbAw
Artículos Relacionados