Ing. Brinly
Se debe modificar la 6ta línea de código dependiendo de la fecha que nos indiquen las personas que soliciten el reporte
set @FechaHasta ='2022/03/16'
De igual manera se debe cambiar el semestre al que corresponda en la 7ma línea de código, es decir si necesitamos de los estudiantes que se les debe retirar su materia del Mod.0 2023-2
set @semIni ='2023-2'
Y cambiar la observación en caso de ser necesario
'Retiro automatico por deuda 2023-1'
Y en las líneas finales del código cambiar al módulo que deseamos y semestre
where det.sem_codigo in ('2023-2') and grp_observacion='' and det.mdu_codigo='0'
---------------------------------------------------------------------------------------------------
begin transaction /*IMPORTANTE!!! Se debe ejecutar sin esta línea ya que con esta solo vemos las líneas que serán afectadas
use latino01
declare @FechaHasta as nvarchar(10)
declare @semIni as nvarchar(6)
declare @MontoTopeDeudaBs as float
declare @GESTION as int
declare @CodPlanPago as int
set @FechaHasta ='2022/03/16'
set @semIni ='2023-1'
set @MontoTopeDeudaBs=500
set @GESTION=2023
set @CodPlanPago=63
update admision.dbo.grupos_detalles
set grp_observacion ='R',grp_operadorcambio='9999',grp_obsmovimiento ='Retiro automatico por deuda 2023-1',
grp_fechacambio =getdate()
where alm_registro+mat_codigo+grp_grupo+sem_codigo in
(
select distinct DET.alm_registro+DET.mat_codigo+DET.grp_grupo+DET.sem_codigo
from admision.dbo.grupos_detalles det
inner join admision.dbo.alumnos_agenda alum on
alum.alm_registro=det.alm_registro
inner join AdmAcad.dbo.carreras carre on
carre.crr_codigo=alum.crr_codigo
inner join AdmAcad.dbo.materias mate on
mate.mat_codigo=det.mat_codigo
inner join notas.dbo.alumnos_cantidad_materias cant on
cant.alm_registro=alum.alm_registro
inner join parametros.dbo.agenda age on
age.agd_codigo=alum.agd_codigo
INNER join (SELECT * FROM [latino01].[dbo].[FaSaldosMora]) deuda on deuda.idcont =cast(alum.agd_codigo as int)
left join (
SELECT codcliente as CodAgenda, NroregistroCXC as NroRegistroPlanPagos, ltrim(rtrim(nombre)) as NombreEstudiante,
isnull(cr.crr_codigo,'') as CodCarrera, ISNULL(ltrim(rtrim(crr_descripcion)),'') as Nomcarrera,tipodedeuda as TipoMovCodigo,conceptos.DESCRIPCION as TipoMovDescripcion,
sum(Saldo) as SaldoVencidoAcumBS
from(
SELECT FaMaeDeudas.gestiondeuda, FaMaeDeudas.nrodocdeuda,
FaMaeDeudas.tipodedeuda, FaMaeDeudas.CodCliente, ltrim(rtrim(adorgani.nombre)) as nombre,
(select top 1 cxc_registro from migrarrel with (nolock) where gestion = FaMaeDeudas.gestiondeuda and nrotrans = FaMaeDeudas.nrodocdeuda AND sistema ='AC' order by cxc_registro desc ) as NroRegistroCXC,
FaMaeDeudas.CodPlanPago, adPlanPago.DescPlanPago, adPlanPago.codtipoplan,
famaedeudas.totaldeuda as porCobrar, sum(FaPagos.Saldodeudor) as saldo
FROM general.dbo.adPlanPago adPlanPago with (nolock) RIGHT JOIN FaMaeDeudas with (nolock) ON (adPlanPago.CodPlanPago = FaMaeDeudas.CodPlanPago)
INNER JOIN FaPagos with (nolock) ON (FamaeDeudas.Sucursal = FaPagos.sucursal) AND (FamaeDeudas.NrodocDeuda = FaPagos.nrodocdeuda) AND (FamaeDeudas.GestionDeuda = FaPagos.gestiondeuda)
LEFT JOIN general.dbo.adorgani adorgani with (nolock) ON (famaedeudas.codcliente = adorgani.idcont)
WHERE FaMaeDeudas.estado<>2 AND round(FaPagos.Saldodeudor,2)>0.01
AND year(fapagos.vencimiento)=year(@FechaHasta) --filtra el vencimiento de la gestion actual
AND CONVERT(char(10),FaPagos.Vencimiento,111)<=CONVERT(char(10),@FechaHasta,111)
and FaMaeDeudas.CodPlanPago NOT in (@CodPlanPago)
group by FaMaeDeudas.gestiondeuda, FaMaeDeudas.nrodocdeuda, FaMaeDeudas.tipodedeuda, FaMaeDeudas.CodCliente, adorgani.nombre, FaMaeDeudas.CodPlanPago, adPlanPago.DescPlanPago, adPlanPago.codtipoplan,
famaedeudas.totaldeuda) tabla
inner join conceptos on conceptos.idconcepto=tabla.tipodedeuda
left join admision.dbo.alumnos_agenda AC on alm_registro=tabla.nroregistroCXC
left join admacad.dbo.carreras CR on cr.crr_codigo = ac.crr_codigo
where conceptos.idsis ='cr'
group by codcliente, nombre, nroregistroCXC, ISNULL(crr_descripcion,''),
cr.crr_codigo, ltrim(rtrim(crr_descripcion)), tipodedeuda,conceptos.DESCRIPCION
having round(sum(Saldo),2)>@MontoTopeDeudaBs) deudaexamen on
deudaexamen.CodAgenda =cast(age.agd_codigo as integer)
where det.sem_codigo in ('2023-1') and grp_observacion='' and det.mdu_codigo='3'
and (saldoMora*6.96)-isnull(SaldoVencidoAcumBS,0) >=500 and crr_nivel<2)
¿Le ha sido útil este artículo?
¡Qué bien!
Gracias por sus comentarios
¡Sentimos mucho no haber sido de ayuda!
Gracias por sus comentarios
Sus comentarios se han enviado
Agradecemos su esfuerzo e intentaremos corregir el artículo