Resumen El Euro y Modificaciones de programas.   (2 mensajes )

> Hola, llevo algunos meses en la lista, y he sufrido algunos problemas
> con la lista, con lo que he perdido algunos documentos.

Y yo también.
Habrá que fastidiarse.

>     Tengo algunos mails a cerca del Euro de lo que teniamos que hacer para
> modificar nuestros programa, pero no se por que perdi los mails en los
> que venia explicando mas o menos el cambio y como podiamos solucionarlo,
> con lo que agradeceria a cuaquiera que llegara a una buena conclusion de
> lo que se tenia que hacer y las tablas que lei que se tenian que crear
> para hacerlo, asi como de funciones para el tratamiento de estas, si es
> que alguien tiene algunas.

Yo pongo en práctica dos directivas :

A) Los tipos de datos que contengan unidades y monedas, con decimales.
Siempre uso el tipo de dato CURRENCY.

B) Tú puedes llevar los datos de tu empresa o en pesetas o en euros, pero
nunca en ambos. En cualquier caso, no te basta con suponer que tu cliente
llevará SU contabilidad o SU facturación en una moneda o en otra, porque,
¿qué ocurre si tu cliente lleva su empresa en pesetas, pero uno de sus
clientes quiere que se le facture en Euros? Es decir, tu aplicación debe
estar preparada para sacar todo tipo de documentos en ambas monedas. Yo
particularmente añado un Option Button en el formulario de clientes y puede
escogerse en qué moneda facturar (pesetas o euros). Si hay más de dos,
hazlo con un combobox. Esto implica, claro, que tengas una tabla donde
guardes todas las monedas que pueden utilizarse en tu aplicación con los
cambios de moneda pertinentes.

Por muchas más vueltas que le he dado, no encuentro útil realizar más
cambios en mis aplicaciones.
Si a alguien se le ocurre algo más, que me lo haga saber, por favor.

>     Estaria muy agradecido ya que empiezo un nuevo programa de Facturacion
> y quiero preveer esos cambios.

Bien, la previsión es la única vacuna mínimamente eficaz contra las leyes
de Murphy.

>     Otro problema es que yo al empezar a programar use LONG para los datos
> de monedas (la ignorancia es atrevida) y quiero saber un poco como
> podria hacer para modificar mi programa de forma que pase al tipo
> CURRENCY. Yo he pensado crear la tabla con los tipos CURRENCY, y
> mediante un programa auxiliar pasar todos los datos la la nueva, y eso
> si revisar la programacion.

Es lo mejor.
Creo incluso que puedes utilizar una instrucción SQL del tipo ' ALTER TABLE
.. ' en el método Execute de una base de datos ...

MiMDB.Execute "ALTER TABLE ..."

para cambiar el tipo de datos de un campo de una tabla; aunque creo que
tiene el grave problema de la destrucción de los datos.
Sin embargo, puedes utilizarlo para añadir en la misma tabla otro campo de
tipo CURRENCY y traspasar los datos, en el mismo proceso, al campo nuevo,
eliminando el viejo después.
Es decir ...

' Añado el campo a la tabla.
MiMDB.Execute "ALTER TABLE Tabla ADD NuevoCampo CURRENCY"
' Traspaso todos los datos de un campo a otro.
MiMDB.Execute "UPDATE FROM Tabla SET NuevoCampo=ccur(ViejoCampo)"
' Eliminación del campo inútil (Revisa la instrucción que esta la escribo
de memoria)
MiMDB.Execute "ALTER TABLE Tabla DEL ViejoCampo"

Y ya está.
Deberías tener la precaución, claro, de hacer previamente una copia de
seguridad de la base de datos.
Por si acaso...

Respecto de hacerlo sin revisar la programación... bueno, un poco
arriesgado.
Tú mismo.

Hasta luego.
ORZO, <orzo@orzo.com>

Hola Aníbal:

Reproduzco dos mensajes que tenía guardados respecto a las
modificaciones de programas para la implementación del Euro.


Aquí va el primero de Mario Meríngolo (mariom@unitech.com.ar)

Te cuento que en argentina (y en toda sudamerica), luego de multiples
procesos inflacionarios e hiperinflacionarios, se hizo obligacion el uso
de multiples monedas en los sistemas. Tanto para el manejo de moneda
extranjera como local.

Un modelo de datos basico que se deberia aplicar es el que sigue

mon (monedas) - id, descrip
mon_tca (tipos de cambio) - id, descrip
mon_cam (Cambios/Valores historicos) - id_mon, id_mon_tca, fecha

En cada registro donde grabes importes, grabas el la fecha, la moneda y
el tipo de cambio.

Hay que tener en cuenta que el valor de una moneda a una fecha
determinada puede variar, (ya sea por errores de imputacion del usuario
o ajustes). Por lo tanto tal vez te interese tambien grabar el importe
original, tal cual se cargo, para calcular diferencias.

Otro ajuste que puede ser que se necesite es la correcion por indices.
Cada mes el instituo de Estadisticas de cada pais por lo general publica
el indice inflacionario del mes.

para poder expresar una operacion por ejemplo de enero a valores de
noviembre se debe aplicar la siguiente formula:

    valor * IndiceNoviembre / IndiceEnero

Entonces, para poder reexpresar segun impacto inflacionario un importe,
se deberia grabar en el registro el indice que se aplica a es
movimiento.

Espero que esto contribuya de alguna manera a la discusion

Saludos!!!!

             '''''
            ( o-o )
 ________o00-(___)-00o________
| Mario Meríngolo |
| Unitech S.A. |
 =============================
| OF.: mariom@unitech.com.ar |
| Per: pira@argentinamail.com |
| IRC: NewNet - Pira |
| ICQ: 5374929 |
 =============================

El segundo es de Alberto Rodríguez Calvo (cttarc@usc.es)

La descripcion detallada del cambio de sistema monetario
puedes encontrarla en los suplementos de economia de la
mayoria de los periodicos casi todas las semanas.

Asi, de memoria, puedo decirte que el periodo de transicion
comienza el 1 de enero de 1999 y durará hasta el 31 de
diciembre de 2002. El cambio peseta/euro se establecera a
mediado del año que viene, creo que en abril o mayo, y será
constante durante el periodo de transicion.
Naturalemente, el valor del euro frente a otras monedas,
como el dolar o el yen, si cambiará.

El euro sera una moneda ficticia hasta el ultimo trimestre
del periodo de transicion, ya que la moneda no existirá
fisicamente hasta octubre del 2002. Este periodo esta en
revision, pero sera corto.

Durante el periodo de transicion, las empresas prodran
operar en pesetas o euros indistintamente, pero una vez que
se cambioen oficialmente a euros (frente a hacienda) ya no
podrán presentar sus declaraciones a hacienda, seguridad
social, etc en pesetas.

Para realizar el cambio de moneda euro/monedas nacionales
será necesario operar con 6 cifras significativas. En el
caso de la peseta, esto implica operar con tres decimales (x
pesetas / yyy.yyy = euros) y luego redondear hasta el
centimo.

No habra cambio de moneda directo de peseta hacia monedas
extranjeras. Sera necesario convertir las pesetas en euros y
luego los euros a otras monedas.

Desde mi punto de vista, si has tenido la precaución de usar
campos tipo Currency para guardar valores de moneda, el
principal problema de conversion será volver al rollo de
usar decimales, lo que seguramente te obligara a modificar
todo el interface de usuario y revisar todo el codigo de
operacion con valores de moneda.

Respecto a al modo de operacion con varias monedas, depende
mucho de tus necesidades.

Un sistema completo deberia ser mas o menos asi:

una tabla de monedas, con las caracteristicas de cada una:
nombre (singular y plural), simbolo y valor de referencia
para mostrar al usuario.

Una tabla de conversiones: moneda1, Moneda2, Fecha, factor
de conversion (los cambios de moneda son diarios).

En cada tabla que tengas valores de moneda, deberas
almacenar, junto a ellos, el codigo de la moneda en que esta
expresado y el dia en que se efectuo la operacion. Con esto
podras calcular el valor en cualquier moneda.



Resumen Resumen

Visual Basic Página de Visual Basic

Página principal Página principal

www.jrubi.com