Me han reportado que en algunos descuentos cíclicos que desactivan no se pagan efectivamente en el mes que lo desactivan pero en la próxima planilla se activa nuevamente. ¿Hay algun proceso en el fuente que pudiera hacer esto? He revisado procesos de la base y no encuentro alguno que lo pudiera hacer (incluso revise la autorización que tiene un update que pudiera hacerlo si hubiera una cuota extraordinaria que igual la tabla esta vacía).

asked 27 Mar '18, 10:45

Jimy%20Tobar's gravatar image

Jimy Tobar ♦♦
(suspended)
accept rate: 56%

Es probable que haya sido en un procedimiento de desautorización de planilla que acabo de verificar.

(27 Mar '18, 11:01) Jimy Tobar ♦♦ Jimy%20Tobar's gravatar image

En el proceso de autorización de planillas, tenemos este UPDATE:

--*
--* Actualiza el total cobrado de los descuentos ciclicos
--* y cambia el estado cuando ya terminaron
--*

update sal.dcc_descuentos_ciclicos
   set dcc_total_cobrado = isnull(total_cobrado, 0) + isnull(total_extras, 0),
       dcc_total_no_cobrado = isnull(total_no_cobrado, 0),

       dcc_activo = case when dcc_monto_indefinido = 0 and 
                              ((isnull(total_cobrado, 0) + isnull(total_extras, 0)) >= dcc_monto
                              /*or isnull(maxima_cuota, 0) >= dcc_numero_cuotas*/)
                         then 0 
                         else 1
                    end

  from sal.dcc_descuentos_ciclicos
  left join (
        select cdc_coddcc cobrado_coddcc, sum(cdc_valor_cobrado) total_cobrado, max(cdc_numero_cuota) maxima_cuota
          from sal.cdc_cuotas_descuento_ciclico
         where cdc_aplicado_planilla = 1
           and cdc_planilla_autorizada = 1
         group by cdc_coddcc) cobrado on cobrado_coddcc = dcc_codigo
  left join (
        select cdc_coddcc nocobrado_coddcc, sum(cdc_valor_no_cobrado) total_no_cobrado
          from sal.cdc_cuotas_descuento_ciclico
         where cdc_aplicado_planilla = 1
           and cdc_planilla_autorizada = 1
         group by cdc_coddcc) nocobrado on nocobrado_coddcc = dcc_codigo
  left join (
        select cec_coddcc extra_coddcc, sum(cec_valor_cuota) total_extras
          from sal.cec_cuotas_extras_desc_ciclico
         where cec_aplicado_planilla = 1
           and cec_planilla_autorizada = 1
         group by cec_coddcc) extras on extra_coddcc = dcc_codigo

where dcc_activo = 1

   and exists (
        select null
          from sal.cdc_cuotas_descuento_ciclico
         where cdc_codppl = @codppl
           and cdc_aplicado_planilla = 1
           and cdc_planilla_autorizada = 1)

    or exists (
        select null
          from sal.cec_cuotas_extras_desc_ciclico
        where cec_codppl = @codppl
           and cec_aplicado_planilla = 1
           and cec_planilla_autorizada = 1)

Si bien es cierto que se tiene la condición dcc_activo = 1, el OR puede que nos esté dando el problema, tal vez la solución sería en la sentencia SET en el ELSE colocar dcc_activo en lugar de 1 en duro, que quedara más o menos así:

then 0 
else dcc_activo
link

answered 02 Apr '18, 08:52

Juan%20Carlos%20Soria's gravatar image

Juan Carlos Soria
1.1k174179185
accept rate: 41%

edited 02 Apr '18, 19:53

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635

La otra opción es validar si los dos EXISTS() del WHERE (los que están separados por el OR) debieran estar entre paréntesis para que tome uno o el otro; así dcc_activo siempre estará en 1 y no se debe cambiar el SET.

Ya que no parece correcto procesar información de los cíclicos que NO están activos.

(02 Apr '18, 19:56) Fernando Paz ♦♦ Fernando%20Paz's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×1
×1

Asked: 27 Mar '18, 10:45

Seen: 467 times

Last updated: 02 Apr '18, 19:57

Related questions

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática