Un Cliente necesita cargar los nombres en inglés y en español para los tipos de contrato, para lo cual estoy configurando un propertybag para guardar el nombre en inglés (el nombre en español es el dato primario). Pero me queda la inquietud si también hubiera podido usar la sintaxis de localizaciones en la descripción del tipo de contrato, ¿sería reconocido por Evolution en los dropdownlist? ¿qué función tendría que utlizar para recuperar la traducción correspondiente al generar un reporte que incluya el tipo de contrato?
Lo mismo me sucede para las áreas funcionales y las unidades administrativas, aunque usar localización para estos catálogos siento que es más complicado.

asked 08 Jul '15, 13:51

Henry%20Sandoval's gravatar image

Henry Sandoval
(suspended)
accept rate: 53%


Almacenar llaves de localización en vez de la descripción del tipo de contrato en la base de datos, te permitiría localizar el smartlist, listas de valores y los datos de los reportes.

Evolution envía la instrucción select a la infraestructura de localización antes de ejecutarla, por lo que si a nivel de dicha instrucción se localizan constantes si las traduciría.

Por ejemplo, para un select como este, Evolution utilizaría las traducciones para las descripciones:

select 'A' codigo, '{Avion}' descripcion
union all select 'C', '{Carro}'
union all select 'M', '{Motocicleta')

Sin embargo, para fines de localizar los datos almacenados en tablas, como los datos no forman parte del select, la única manera sería como dice Salvador en su respuesta, llamando a la función de traducción que está en la base de datos.

select tco_codigo, cfg.GetLocalized(tco_descripcion, 'TipoContrato', 'en')
  from exp.tco_tipos_contrato
 where . . .

Creo que el mayor problema que se causa es de rendimiento, porque extraer el dato del propertybag y luego envíarselo a la función de traducción va a generar un overhead muy alto. Esto debes evaluarlo antes de comprometerte a implementar algo como lo que estás pensando.

link

answered 08 Jul '15, 14:44

Fernando%20Paz's gravatar image

Fernando Paz ♦♦
17.3k81635
accept rate: 51%

edited 08 Jul '15, 14:45

Existe una funcion cfg.GetLocalized que recibe 3 parametros: el key, el area y el culture.

este es un ejemplo

SELECT cfg.GetLocalized('MensajeClinicaMedicaNoEsDePaisDeCompaniaEmpleo','Incapacidad','es-SV')
link

answered 08 Jul '15, 14:07

sbarahona's gravatar image

sbarahona ♦♦
(suspended)
accept rate: 32%

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:

×7

Asked: 08 Jul '15, 13:51

Seen: 661 times

Last updated: 08 Jul '15, 14:45

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