Luego de la última actualizacion de Evolution, La consulta de historial de pagos me devuelve el siguiente error:

Es algo que antes no sucedía, ejecuté un query para ver si tenía datos duplicados en la vista pero no los tengo

select codigo, count(codigo) 
from sal.rhp_rev_hist_pagos_v 
where tpl_codcia in (12,17,21,22)
group by codigo
having COUNT(codigo) > 1

Previamente en esta implementacion apliqué el cambio de formato de moneda como se indica en este tema: https://qa.aseinfo.net/osqa/questions/517/se-puede-modificar-el-fomato-de-moneda-para-la-consulta-de-historial-de-pagos

Trate de modificar el archivo a su formato original con valores de 0:F en vez de 0:n2 pero aun asi el problema persiste.

> ---------------------------

        ASEINFO Evolution - Consulta de historial de pagos

---------------------------
[Format_InvalidString]\nArgumentos: \nLas cadenas de recursos de depuración no están disponibles. La clave y los argumentos suelen proporcionar suficiente información para diagnosticar el problema. Vea http://go.microsoft.com/fwlink/?linkid=106663&Version=5.1.20913.00&File=mscorlib.dll&Key=Format_InvalidString   en System.Number.StringToNumber(String str, NumberStyles options, NumberBuffer& number, NumberFormatInfo info, Boolean parseDecimal)\n   en System.Number.ParseDecimal(String value, NumberStyles options, NumberFormatInfo numfmt)\n   en System.Runtime.Serialization.Json.DataContractJsonSerializer.ConvertObjectToPrimitiveDataContract(DataContract contract, Object value, XmlObjectSerializerReadContextComplexJson context)\n   en System.Runtime.Serialization.Json.DataContractJsonSerializer.ConvertObjectToDataContract(DataContract contract, Object value, XmlObjectSerializerReadContextComplexJson context)\n   en System.Runtime.Serialization.Json.ObjectToDataContractConverter.ReadClassDataContractMembers(DataContractJsonSerializer serializer, ClassDataContract dataContract, Dictionary`2 deserialzedValue, Object newInstance, XmlObjectSerializerReadContextComplexJson context)\n   en System.Runtime.Serialization.Json.ObjectToDataContractConverter.ConvertDictionaryToClassDataContract(DataContractJsonSerializer serializer, ClassDataContract dataContract, Dictionary`2 deserialzedValue, XmlObjectSerializerReadContextComplexJson context)\n   en System.Runtime.Serialization.Json.DataContractJsonSerializer.ConvertObjectToDataContract(DataContract contract, Object value, XmlObjectSerializerReadContextComplexJson context)\n   en System.Runtime.Serialization.Json.ObjectToDataContractConverter.ConvertICollectionToCollectionDataContract(DataContractJsonSerializer serializer, CollectionDataContract contract, Object deserializedValue, XmlObjectSerializerReadContextComplexJson context)\n   en System.Runtime.Serialization.Json.DataContractJsonSerializer.ConvertObjectToDataContract(DataContract contract, Object value, XmlObjectSerializerReadContextComplexJson context)\n   en System.Runtime.Serialization.Json.DataContractJsonSerializer.ReadObject(Stream stream)
---------------------------
Aceptar   
---------------------------

asked 24 Oct '13, 19:02

Danny%20Villalta's gravatar image

Danny Villalta
(suspended)
accept rate: 33%

Como nota adicional, esta implementacion tiene varias compañías y países, sin embargo el error resulta solamente para todas las compañías de Costa Rica, y se repite tanto en maquinas del cliente como nuestras.

(24 Oct '13, 19:07) Danny Villalta Danny%20Villalta's gravatar image

Este mismo problema lo da en los catalogos de Listas de Valores

(25 Oct '13, 16:06) Raul Raul's gravatar image

En el caso de los codigo de planilla de Costa Rica se manejan numeros y letras, en los demas países los codigos de planilla solo son numeros eso podría ser la causa por lo que esa vista solo falla para Costa Rica..

(25 Oct '13, 16:26) Danny Villalta Danny%20Villalta's gravatar image

En el caso de las listas de valores que menciona Raul se da en general para todos los países

(25 Oct '13, 20:13) Danny Villalta Danny%20Villalta's gravatar image

El error que se muestra indica claramente que el string que recibio Silverlight no está en el formato correcto.

Hay 2 causas para este error: La configuración del SmartList almacenada en el cache del navegador esté desactualizada; o que la configuración esté incorrecta en la base de datos.

Eliminación del Cache del SmartList

Cómo medida inicial se debe eliminar el cache del SmartList en el navegador de internet.

  • En el SmartList que falla, den botón derecho, para que aparezca un menú que tiene una opción "Silverlight".

  • Seleccionen la opcion "Silverlight".

  • En el diálogo que aparece seleccionen la pestaña "Aplication Storage" ("Almacenamiento para la aplicación").

  • Busquen y seleccionen la ruta al servidor (por ejemplo: http://<server>/Evolution)

  • Se presiona el botón "Delete .." ("Elimnar ...")

Luego se refresca la pantalla que dió el error.

Si lo anterior no funciona entonces hay que encontrar que string es el incorrecto.

Verificación de la Información de configuración del SmartList

  1. Limpien el cache y el historial de su navegador para que no exista nada almacenado localmente.

  2. Intercepten el tráfico HTTP entre el navegador y el server, para poder determinar que Request es el que da error y que devuelve el Response (Herramientas de desarrollo F12 en casi todos los navegadores), verifiquen un request que se envía a http://evoinstall/Evolution/Infrastructure/SmartList/GetSmartListData

  3. Comparen los datos JSON que retorna el server, en función del tipo de columna que está configurado en el SmartList, para ver si no son incompatibles.

  4. Si el response muestra datos, pueden utilizar SQL Server Profiler, para poder capturar la consulta que se hace en la base de datos y comparar los datos que retorna el SQL Server, con los datos del JSON que envía la aplicación al SmartList.

Si el error solo es de compañias de Costa Rica, entonces pareciera que es un problema de datos.

La mejora en rendimiento sustancial que se implementó en la versión 1.7.3, se debe a que el algoritmo toma el tipo de columna que está documentado en la configuración del SmartList y trata de convertir lo que venga a ese formato. Si lo que viene no se puede convertir, entonces genera errores. En la versión anterior tomaba lo que retornaba el server y generaba la configuración dinámicamente y recorría la totalidad de datos "advinando" que tipo de dato le ponía a la columna, incurriendo en una penalización de rendimiento del orden del doble de tiempo.

link

answered 25 Oct '13, 19:51

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

edited 31 Oct '13, 19:12

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:

×38
×6

Asked: 24 Oct '13, 19:02

Seen: 1,980 times

Last updated: 31 Oct '13, 19:12

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