En EVOLUTION 1.11 si las unidades no tienen una empresa asociada, tanto el navegador como el proceso que genera a VISIO no muestra información.

Considero que es un BUG dado que en el modelo, la empresa no es requerida en la unidad.

asked 11 Jul '17, 15:02

Juan%20Carlos%20Soria's gravatar image

Juan Carlos Soria
1.1k174179185
accept rate: 41%


Existen dos problemas.

  1. En el procedimiento eor.gen_jerarquia_uni se están eliminando las unidades que tienen uni_codcia nulo en la instrucción "-- Elimina las plazas que no cumplen el filtro"

WHILE exists( select null from #unidades_table u1 join eor.uni_unidades on uni_codigo = CodigoUnidad where not exists (select 1 from #unidades_table where u1.CodigoEmpresa = isnull(@codcia, u1.CodigoEmpresa) and uni_codarf = isnull(@codarf, uni_codarf) and uni_codpai = isnull(@codpai, uni_codpai)) AND ...

Yo temporalmente cambién el where

where not exists (select 1 from #unidades_table where (u1.CodigoEmpresa = isnull(@codcia, u1.CodigoEmpresa) or uni_codarf = isnull(@codarf, uni_codarf) or uni_codpai = isnull(@codpai, uni_codpai)))

  1. En el procedimiento eor.gen_jerarquia_uni_visio se concatena el nombre de la empresa NULO y hace nulo toda la expresión hay que agregar un cast(ISNULL(NombreEmpresa,'')
link

answered 11 Jul '17, 15:03

Juan%20Carlos%20Soria's gravatar image

Juan Carlos Soria
1.1k174179185
accept rate: 41%

Gracias Juan Carlos, ya cree un Issue para incluirlo en el próximo hotfix

https://aseinfo.atlassian.net/browse/EVO-3334

(12 Jul '17, 09:42) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

Revisando el código, veo un defecto en la solución propuesta por Juan Carlos. Ya que cambiar por OR's los AND's va a causar que los filtros sobre los datos no se van a aplicar todos, siendo inconsistente con el funcionamiento de todos los filtros en Evolution.

La modificación que conserva el diseño de los filtros es manejar adecuadamente la nulidad de la columna u1.CodigoEmpresa y de la columna uni_codpai, por lo que el código del WHILE y el DELETE al final del procedimiento [eor].[gen_jerarquia_uni] debería quedar así:

-- Elimina las plazas que no cumplen el filtro
WHILE exists(
    select null
      from #unidades_table u1
      join eor.uni_unidades on uni_codigo = CodigoUnidad 
     where not exists (select 1 from #unidades_table where isnull(u1.CodigoEmpresa, -99999999) = isnull(@codcia, isnull(u1.CodigoEmpresa, -99999999)) and uni_codarf = isnull(@codarf, uni_codarf) and isnull(uni_codpai, '--') = isnull(@codpai, isnull(uni_codpai, '--')))
       and not exists (select 1 from #unidades_table u2 where u2.CodigoUnidadPadre = u1.CodigoUnidad))
Begin
    DELETE #unidades_table
      from #unidades_table u1
      join eor.uni_unidades on uni_codigo = CodigoUnidad 
     where not exists (select 1 from #unidades_table where isnull(u1.CodigoEmpresa, -99999999) = isnull(@codcia, isnull(u1.CodigoEmpresa, -99999999)) and uni_codarf = isnull(@codarf, uni_codarf) and isnull(uni_codpai, '--') = isnull(@codpai, isnull(uni_codpai, '--')))
       and not exists (select 1 from #unidades_table u2 where u2.CodigoUnidadPadre = u1.CodigoUnidad)
End
link

answered 17 Jul '17, 11:47

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

edited 17 Jul '17, 11:48

En el caso de la modificación en el procedimiento eor.gen_jerarquia_uni_visio la recomendación es la correcta.

Manejar adecuadamente la nulidad de las columns con ISNULL(NombreEmpresa,'')

(17 Jul '17, 11:55) Fernando Paz ♦♦ Fernando%20Paz's gravatar image

Nítido. Ya lo probé y si me funcionó.

(17 Jul '17, 12:21) Juan Carlos Soria Juan%20Carlos%20Soria's gravatar image

Ya se corrigió y va en el próximo hotfix

(17 Jul '17, 14:29) 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:

×14
×8
×4
×1

Asked: 11 Jul '17, 15:02

Seen: 1,329 times

Last updated: 17 Jul '17, 14:29

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