on 01-27-2011 8:17 PM
Hola a Todos,
El monto a mostrar en el importe en letras del layout de cheques se ha realizado tomando una variable de sistema de cheque para el pago (82) y definiéndolo como "Monto en Letras", debido a que anteriormente tomábamos el Importe en Letras de la Base de Datos, pero cuando el importe era muy extenso, la frase se cortaba, ya que el campo tiene solo 100 caracteres.
Al principio funciono bien el usar el monto en letras en el Layout, pero estamos presentando problemas al momento de registrar cheques a partir de dos millones (2.000.000), ya que el layout interpreta este monto al pasarlo a letras como Dos Millón.
¿Existe alguna manera de que se pueda corregir esto?
Gracias de antemano
Hola
Estaba buscando una solución creando un campo fórmula para imprimirse si la cantidad a imprimir no comienza por U. El problema radica en que tendríamos que generar un campo fórmula para todas las cantidades.
Sería sencillísimo si el problema fuese al revés, que se imprimiese Un millones. Con dos campos fórmula lo solucionábamos. Pero en el caso que nos ocupa no sabemos donde tenemos que comenzar a concatenar para sustituir el literal millón por millones.
¿Qué ocurre si lo actualizas mediante un add-on? Una vez generado el cheque, si la cantidad es igual o superior a dos millones, cambiar el literal del campo para que se imprima correctamente.
Un saludo.
Agustí
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hola Agustín,
Gracias por tu interés,
Podrías darme información sobre ese add-on que tendría que usar si el importe si es >=2Millones.
Encontré un procedimiento almacenado para crear importes a partir de números, pero me da error al implementarlo, de manera que al crear un UDF en Pagos Efectuados, se cree el importe en letras del monto en este, y luego usarlo en el PLD de Cheques para el pago:
Al intentar correrlo (el SP) el mismo me da error
¿Alguna Sugerencia?
Saludos
Edited by: mariaem on Feb 1, 2011 4:41 PM
Edited by: mariaem on Feb 1, 2011 4:42 PM
Hola Mauricio,
Gracias por el enlace...
Te comento que la situación que estoy presentando es la siguiente:
Anteriormente, el importe en letras en el PLD era proveniente del campo OCHO.TotalWords, el cual te provee del Total del Cheque en Letras, bien redactado, pero en casos de Cheques a emitir por 1.896.965,25, el campo de la tabla muestra "Un millón ochocientos noventa y seis mil novecientos sesenta y cinco Bolívares con Veinticinco Cént", ya que sólo contempla cien caracteres, así viene configurado.
Logramos definir el importe en letras del PLD,usando la variable 82 de Cheque para el Pago (Importe Vencido), el cual es el monto del cheque en Números, y seleccionamos la opción "Monto en Letras" en el PLD, este procedimiento no trunca los montos muy extensos (mayores a 100 caracteres), como el explicado con anterioridad, y al final aparece en el PLD el monto en letras completo, luego lo concatenamos con cero céntimos, en el caso de montos enteros.
El problema con esta nueva configuración, usando la función de monto en letras del PLD, es cuando el monto es mayor o igual a 2 millones, ya que el sistema traduce el mismo para un monto como 2.500.000 como "Dos Millón Quinientos con Cero Céntimos", lo cúal es incorrecto.
El idioma del sistema está configurado como Español Latinoamericano. Estamos usando SBO 2007 A SP:00 PL:49
¿Cómo puedo resolver el problema de los importes en letras del PLD de Cheques?
Saludos
Hola Mauricio,
Efectivamente revise tu mensaje, y no funciona el usar la formula DecimalLeft, por eso te explique nueva y detalladamente mi caso.
Mi problema no es separar decimales, ni definir céntimos, sino lo que hace la función de parametrización "Total en Letras" del PLD cuando el monto es mayor o igual a 2.000.000, ya que redacta o muestra una ortografía errada (dos millón), sea que lo definas con la función DecimalLeft como sugieres, o no, como es mi caso.
¿Alguien ha logrado solucionar un caso así?
Agradeciendo todas sus sugerencias...
Saludos,
Estimados yo lo resolví así.
en el editor de Layout
en propiedades de campo
carpeta General
puse ancho = 450
en carpeta Contenido
tipo fuente = Base de Datos
Tabla = Cheques para el Pago
Columna = Total en Letras
en carpeta Formato
Salto de linea = ajustar a Celda
Largo = 400 Caracter = *
espero les sirva
Saludos Cordiales
Rodolfo Castañeda
Hola Rodolfo,
Gracias por tu interés en mi caso,
Te comento que tu sugerencia funciona para el caso en que se tengan importes en el cheque de millones, ya que el total en letras de la base de datos está redactado correctamente, que es el que tú planteas usar.
El problema se presenta en el caso de un cheque con importes largos, como por ejemplo 1.764.276,71, el cual en su total en letras en la base de datos (OCHO.TotalWords) es de "Un millón setecientos sesenta y cuatro mil doscientos setenta y seis Bolívares con Setenta y un Cén", ya que el tamaño del campo en sistema es de (100), más la línea de asteriscos que propones:
Un millón setecientos sesenta y cuatro mil doscientos setenta y seis Bolívares con Setenta y un Cén***************************************************************************************************************
********************************************************************************************************************
Mucho les agradecería sus sugerencias para solucionar esta situación,
Saludos Cordiales
Ok mi estimada, perdon por no haber leido detenidamente tu caso...
creo esto lo debes de pner en un caso de soporte a SAP para pedir la ampliacion de este campo en la base de datos y en Gui de la aplicacion, asi usarlo con el estandar de SAP
pueden haber soluciones alternas por ejemplo
hacer funcionos de conversion de numeros a letras y estas ejecutarlas para almacenar en un campo definido por el usuario al momento de grabar el cheque y luego utilizarlo en Layout de impresion del mismo...
pero esto se saldria del estandar de SAP.
Saludos
Rodolfo Castañeda
Hola,
Gracias por tus sugerencias, de hecho traté de usar una función para convertir números a letras, pero el mismo no me ha funcionado hasta ahora, de manera que actualice un UDF en Pagos Efectuados que pueda usar en el PLD. Si existe alguna sugerencia de como implementar algo similar, lo agradecería.
Lo de solicitar a Soporte SAP que me actualice el tamaño del campo OCHO.TotalWords, lo verificaré...sería ideal que ese campo tuviera 120 caracteres, como mínimo.
Saludos
Ok Mi estimada ya lo resolví...ojala esta solución se pegue a tu necesidad.
en este ejercicio fue necesario realizar el siguiente flujo de documentos
1 Crear la siguiente función
GO
/****** Object: UserDefinedFunction .[f_CV_NL] Script Date: 02/02/2011 14:30:06 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: RC
-- Create date: 20110202
-- Description: Convert Numbers To Words
-- =============================================
(
-- Add the parameters for the function here
@Numero Numeric(20,2)
)
RETURNS nVarchar(400)
AS
BEGIN
-- Declare the return variable here
DECLARE @Result nVarchar(400)
DECLARE @lnEntero INT,
@lcRetorno VARCHAR(512),
@lnTerna INT,
@lcMiles VARCHAR(512),
@lcCadena VARCHAR(512),
@lnUnidades INT,
@lnDecenas INT,
@lnCentenas INT,
@lnFraccion INT
SELECT @lnEntero = CAST(@Numero AS INT),
@lnFraccion = (@Numero - @lnEntero) * 100,
@lcRetorno = '',
@lnTerna = 1
WHILE @lnEntero > 0
BEGIN /* WHILE */
-- Recorro terna por terna
SELECT @lcCadena = ''
SELECT @lnUnidades = @lnEntero % 10
SELECT @lnEntero = CAST(@lnEntero/10 AS INT)
SELECT @lnDecenas = @lnEntero % 10
SELECT @lnEntero = CAST(@lnEntero/10 AS INT)
SELECT @lnCentenas = @lnEntero % 10
SELECT @lnEntero = CAST(@lnEntero/10 AS INT)
-- Analizo las unidades
SELECT @lcCadena =
CASE /* UNIDADES */
WHEN @lnUnidades = 1 AND @lnTerna = 1 THEN 'UNO ' + @lcCadena
WHEN @lnUnidades = 1 AND @lnTerna <> 1 THEN 'UN ' + @lcCadena
WHEN @lnUnidades = 2 THEN 'DOS ' + @lcCadena
WHEN @lnUnidades = 3 THEN 'TRES ' + @lcCadena
WHEN @lnUnidades = 4 THEN 'CUATRO ' + @lcCadena
WHEN @lnUnidades = 5 THEN 'CINCO ' + @lcCadena
WHEN @lnUnidades = 6 THEN 'SEIS ' + @lcCadena
WHEN @lnUnidades = 7 THEN 'SIETE ' + @lcCadena
WHEN @lnUnidades = 8 THEN 'OCHO ' + @lcCadena
WHEN @lnUnidades = 9 THEN 'NUEVE ' + @lcCadena
ELSE @lcCadena
END /* UNIDADES */
-- Analizo las decenas
SELECT @lcCadena =
CASE /* DECENAS */
WHEN @lnDecenas = 1 THEN
CASE @lnUnidades
WHEN 0 THEN 'DIEZ '
WHEN 1 THEN 'ONCE '
WHEN 2 THEN 'DOCE '
WHEN 3 THEN 'TRECE '
WHEN 4 THEN 'CATORCE '
WHEN 5 THEN 'QUINCE '
ELSE 'DIECI' + @lcCadena
END
WHEN @lnDecenas = 2 AND @lnUnidades = 0 THEN 'VEINTE ' + @lcCadena
WHEN @lnDecenas = 2 AND @lnUnidades <> 0 THEN 'VEINTI' + @lcCadena
WHEN @lnDecenas = 3 AND @lnUnidades = 0 THEN 'TREINTA ' + @lcCadena
WHEN @lnDecenas = 3 AND @lnUnidades <> 0 THEN 'TREINTA Y ' + @lcCadena
WHEN @lnDecenas = 4 AND @lnUnidades = 0 THEN 'CUARENTA ' + @lcCadena
WHEN @lnDecenas = 4 AND @lnUnidades <> 0 THEN 'CUARENTA Y ' + @lcCadena
WHEN @lnDecenas = 5 AND @lnUnidades = 0 THEN 'CINCUENTA ' + @lcCadena
WHEN @lnDecenas = 5 AND @lnUnidades <> 0 THEN 'CINCUENTA Y ' + @lcCadena
WHEN @lnDecenas = 6 AND @lnUnidades = 0 THEN 'SESENTA ' + @lcCadena
WHEN @lnDecenas = 6 AND @lnUnidades <> 0 THEN 'SESENTA Y ' + @lcCadena
WHEN @lnDecenas = 7 AND @lnUnidades = 0 THEN 'SETENTA ' + @lcCadena
WHEN @lnDecenas = 7 AND @lnUnidades <> 0 THEN 'SETENTA Y ' + @lcCadena
WHEN @lnDecenas = 8 AND @lnUnidades = 0 THEN 'OCHENTA ' + @lcCadena
WHEN @lnDecenas = 8 AND @lnUnidades <> 0 THEN 'OCHENTA Y ' + @lcCadena
WHEN @lnDecenas = 9 AND @lnUnidades = 0 THEN 'NOVENTA ' + @lcCadena
WHEN @lnDecenas = 9 AND @lnUnidades <> 0 THEN 'NOVENTA Y ' + @lcCadena
ELSE @lcCadena
END /* DECENAS */
-- Analizo las centenas
SELECT @lcCadena =
CASE /* CENTENAS */
WHEN @lnCentenas = 1 AND @lnUnidades = 0 AND @lnDecenas = 0 THEN 'CIEN ' +
@lcCadena
WHEN @lnCentenas = 1 AND NOT(@lnUnidades = 0 AND @lnDecenas = 0) THEN
'CIENTO ' + @lcCadena
WHEN @lnCentenas = 2 THEN 'DOSCIENTOS ' + @lcCadena
WHEN @lnCentenas = 3 THEN 'TRESCIENTOS ' + @lcCadena
WHEN @lnCentenas = 4 THEN 'CUATROCIENTOS ' + @lcCadena
WHEN @lnCentenas = 5 THEN 'QUINIENTOS ' + @lcCadena
WHEN @lnCentenas = 6 THEN 'SEISCIENTOS ' + @lcCadena
WHEN @lnCentenas = 7 THEN 'SETECIENTOS ' + @lcCadena
WHEN @lnCentenas = 8 THEN 'OCHOCIENTOS ' + @lcCadena
WHEN @lnCentenas = 9 THEN 'NOVECIENTOS ' + @lcCadena
ELSE @lcCadena
END /* CENTENAS */
-- Analizo la terna
SELECT @lcCadena =
CASE /* TERNA */
WHEN @lnTerna = 1 THEN @lcCadena
WHEN @lnTerna = 2 AND (@lnUnidades + @lnDecenas + @lnCentenas <> 0) THEN
@lcCadena + ' MIL '
WHEN @lnTerna = 3 AND (@lnUnidades + @lnDecenas + @lnCentenas <> 0) AND
@lnUnidades = 1 AND @lnDecenas = 0 AND @lnCentenas = 0 THEN @lcCadena + '
MILLON '
WHEN @lnTerna = 3 AND (@lnUnidades + @lnDecenas + @lnCentenas <> 0) AND
NOT (@lnUnidades = 1 AND @lnDecenas = 0 AND @lnCentenas = 0) THEN @lcCadena
+ ' MILLONES '
WHEN @lnTerna = 4 AND (@lnUnidades + @lnDecenas + @lnCentenas <> 0) THEN
@lcCadena + ' MIL MILLONES '
ELSE ''
END /* TERNA */
-- Armo el retorno terna a terna
SELECT @lcRetorno = @lcCadena + @lcRetorno
SELECT @lnTerna = @lnTerna + 1
END /* WHILE */
IF @lnTerna = 1
SELECT @lcRetorno = 'CERO'
SELECT @Result = RTRIM(@lcRetorno) + ' CON ' + LTRIM(STR(@lnFraccion,2)) + '/100'
-- Return the result of the function
RETURN @Result
END
2. Crear un campo de usuario en pagos-títulos (micampo, tipo alfanumérico de 250 caracteres es el máximo)
3.Crear la siguiente consulta SELECT .[dbo].[f_CV_NL]($[OVPM.DocTotal])
4.Crear y saetear la Búsqueda Formateada para actualizar el campo de usuario micampo
5. Realizar un pago efectuado
6.veremos que se actualiza el campo de usuario con el valor en letras
7.modificar el Layout de impresión del cheque e indicarle que en el campo donde queremos que salga el valor en letras lo tome de la tabla OVPM-micampo
8.Crear el cheque para el pago e imprimirlo
NOTA: DBEXT es una base de datos externa para no crear objetos en la base de datos natural de SAP
Espero te sirva
Rodolfo Castañeda
Hola Rodolfo,
Gracias por tu respuesta, implemente la función y el campo de usuario con la búsqueda formateada de acuerdo a lo sugerido, y el detalle está en que la función devuelve los céntimos en formato numérico, por ejemplo:
Importe en Número: 24.032,71
Valor en Letras: VEINTICUATRO MIL TREINTA Y DOS CON 71/100
El concepto '/100' se puede sustituir en la sintaxis de la función al final de la misma por 'Céntimos'. Pero ¿Como logramos que la función devuelva dichos decimales con formato en letras?, por ejemplo
Importe en Número: 24.032,71
Valor en Letras: VEINTICUATRO MIL TREINTA Y DOS CON SETENTA Y UN CÉNTIMOS
Agradecida por todas las sugerencias,
Saludos
Estimada, revise nuevamente el escenario y creo que si puedes modificar la función incluyendo algunos ajustes... pero creo que no es necesario, realice otra prueba y a esta solo hay que afinarla en el Layout del cheque.. te comento:
1. en el Layout de impresión del cheque agregue un campo de tipo base de datos
2. en las propiedades del campo seleccione la tabla OCHO
3.luego la columna Importe del Cheque
4.en la pestaña Formato
5.puse Salto de Linea Ajustar a Celda
6.Largo 400 Carácter ***
7.Marque la casilla Total en Letras
8. lo corrí y todo funciono correcto.
9. podes crear otros campos dentro del layout para personalizar aun mas este resultado..
Espero te sirva
Si no te funciona te mandare corregida la función para que te devuelva el valor deseado.
Saludos Cordiales
Rodolfo Castañeda
Hola Rodolfo,
Muchísimas Gracias por el interés mostrado en mi caso.
Te comento que probé tu solución a nivel de Layout, en el que cumplí todos los pasos de la prueba que realizaste, y funciona para los montos extensos (mayor a 100 caracteres) menores a dos millones, pero el problema se sigue repitiendo con los Millones, ya que al tener un importe de este valor y escoger "Monto en Letras", el sistema simplemente no traduce bien el monto, si es mayor o igual a dos millones, ya que el PLD no debería asumir Millón para todos.
¿Podrías corregir la función para que me devuelva el valor en decimales también en letras? Igual como lo hace con la parte entera.
Saludos
Hola fijate que he estado algo atareado en un proyecto... rapidamente lo que se me ocurrio fue lo siguiente
1. crear otra funcion que te trae en letras los decimales....
CREATE FUNCTION [dbo].[f_CV_NLD]
(
-- Add the parameters for the function here
@Numero Numeric(20,2)
)
RETURNS nVarchar(400)
AS
BEGIN
DECLARE @Result nVarchar(400)
DECLARE @lnEntero INT,
@lcRetornoD VARCHAR(512),
@lnTernaD INT,
@lcCadenaD VARCHAR(512),
@lnUnidades INT,
@lnDecenas INT,
@lnCentenas INT,
@lnFraccion INT
SELECT @lnEntero = CAST(@Numero AS INT),
@lnFraccion = (@Numero - @lnEntero) * 100,
@lcRetornoD = '',
@lnTernaD = 1
WHILE @lnFraccion > 0
BEGIN /* WHILE */
-- Recorro terna por terna
SELECT @lcCadenaD = ''
SELECT @lnUnidades = @lnFraccion % 10
SELECT @lnFraccion = CAST(@lnFraccion/10 AS INT)
SELECT @lnDecenas = @lnFraccion % 10
SELECT @lnFraccion = CAST(@lnFraccion/10 AS INT)
SELECT @lnCentenas = @lnFraccion % 10
SELECT @lnFraccion = CAST(@lnFraccion/10 AS INT)
-- Analizo las unidades
SELECT @lcCadenaD =
CASE /* UNIDADES */
WHEN @lnUnidades = 1 AND @lnTernaD = 1 THEN 'UNO ' + @lcCadenaD
WHEN @lnUnidades = 1 AND @lnTernaD <> 1 THEN 'UN ' + @lcCadenaD
WHEN @lnUnidades = 2 THEN 'DOS ' + @lcCadenaD
WHEN @lnUnidades = 3 THEN 'TRES ' + @lcCadenaD
WHEN @lnUnidades = 4 THEN 'CUATRO ' + @lcCadenaD
WHEN @lnUnidades = 5 THEN 'CINCO ' + @lcCadenaD
WHEN @lnUnidades = 6 THEN 'SEIS ' + @lcCadenaD
WHEN @lnUnidades = 7 THEN 'SIETE ' + @lcCadenaD
WHEN @lnUnidades = 8 THEN 'OCHO ' + @lcCadenaD
WHEN @lnUnidades = 9 THEN 'NUEVE ' + @lcCadenaD
ELSE @lcCadenaD
END /* UNIDADES */
-- Analizo las decenas
SELECT @lcCadenaD =
CASE /* DECENAS */
WHEN @lnDecenas = 1 THEN
CASE @lnUnidades
WHEN 0 THEN 'DIEZ '
WHEN 1 THEN 'ONCE '
WHEN 2 THEN 'DOCE '
WHEN 3 THEN 'TRECE '
WHEN 4 THEN 'CATORCE '
WHEN 5 THEN 'QUINCE '
ELSE 'DIECI' + @lcCadenaD
END
WHEN @lnDecenas = 2 AND @lnUnidades = 0 THEN 'VEINTE ' + @lcCadenaD
WHEN @lnDecenas = 2 AND @lnUnidades <> 0 THEN 'VEINTE Y ' + @lcCadenaD
WHEN @lnDecenas = 3 AND @lnUnidades = 0 THEN 'TREINTA ' + @lcCadenaD
WHEN @lnDecenas = 3 AND @lnUnidades <> 0 THEN 'TREINTA Y ' + @lcCadenaD
WHEN @lnDecenas = 4 AND @lnUnidades = 0 THEN 'CUARENTA ' + @lcCadenaD
WHEN @lnDecenas = 4 AND @lnUnidades <> 0 THEN 'CUARENTA Y ' + @lcCadenaD
WHEN @lnDecenas = 5 AND @lnUnidades = 0 THEN 'CINCUENTA ' + @lcCadenaD
WHEN @lnDecenas = 5 AND @lnUnidades <> 0 THEN 'CINCUENTA Y ' + @lcCadenaD
WHEN @lnDecenas = 6 AND @lnUnidades = 0 THEN 'SESENTA ' + @lcCadenaD
WHEN @lnDecenas = 6 AND @lnUnidades <> 0 THEN 'SESENTA Y ' + @lcCadenaD
WHEN @lnDecenas = 7 AND @lnUnidades = 0 THEN 'SETENTA ' + @lcCadenaD
WHEN @lnDecenas = 7 AND @lnUnidades <> 0 THEN 'SETENTA Y ' + @lcCadenaD
WHEN @lnDecenas = 8 AND @lnUnidades = 0 THEN 'OCHENTA ' + @lcCadenaD
WHEN @lnDecenas = 8 AND @lnUnidades <> 0 THEN 'OCHENTA Y ' + @lcCadenaD
WHEN @lnDecenas = 9 AND @lnUnidades = 0 THEN 'NOVENTA ' + @lcCadenaD
WHEN @lnDecenas = 9 AND @lnUnidades <> 0 THEN 'NOVENTA Y ' + @lcCadenaD
ELSE @lcCadenaD
END /* DECENAS */
-- Analizo la terna
SELECT @lcCadenaD =
CASE /* TERNA */
WHEN @lnTernaD = 1 THEN @lcCadenaD ELSE '' END /* TERNA */
-- Armo el retorno terna a terna
SELECT @lcRetornoD = @lcCadenaD + @lcRetornoD
SELECT @lnTernaD = @lnTernaD + 1
END /* WHILE */
IF @lnTernaD = 1
SELECT @lcRetornoD = 'CERO'
-- Return the result of the function
SELECT @Result = RTRIM(@lcRetornoD) + ' CENTIMOS'
-- Return the result of the function
RETURN @Result
END
2. modificar la primer funcion en la ultima linea
SELECT @Result = RTRIM(@lcRetorno) + ' CON ' --+ LTRIM(STR(@lnFraccion,2)) + '/100'
3.modificar la busqueda formateada, te pongo un ejempo lazado desde SQL.
Declare @Numero numeric(20,2)
set @Numero = 275245325.26
SELECT [GenConsol].[dbo].[f_CV_NL] (@numero)+ [GenConsol].[dbo].[f_CV_NLD](@Numero)
4. El Resultado
DOSCIENTOS SETENTA Y CINCO MILLONES DOSCIENTOS CUARENTA Y CINCO MIL TRESCIENTOS VEINTE Y CINCO CON VEINTE Y SEIS CENTIMOS
Saludos Cordiales
Rodolfo Castañeda
Hola, fijate que lo puedes hacer mas sensillo, y disculpa por la respuesta anterior
1. modificar la funcion original en la antepenultima linea
SELECT @Result = RTRIM(@lcRetorno)
RETURN @Result
2. estructurar la consulta para la busqueda formateada de la siguiente forma
declare @numero numeric(20,2), @Entero int, @Decimal int
set @Numero = 125875884.25
set @Entero = CAST(@Numero AS INT)
set @Decimal = (@Numero - @Entero) * 100
SELECT [GenConsol].[dbo].[f_CV_NL] (@Entero)+' CON '+[GenConsol].[dbo].[f_CV_NL] (@Decimal) + ' DECIMOS'
NOTA: Puedes probarlo primero en SQL Server, Creo que esta seria la respuesta correcta para no crear mas objetos en la base de datos
Saludos Cordiales
Rodolfo Castañeda
Estimado Rodolfo, la funcion esta super, ya la implemente solo tengo un problemita y es el siguiente
el numero 2.00
me da asi [dos 0/100]
y necesito que me de [dos 00/100]
es decir cuando los centavos son 00 solo me muestra un 0
y no dos
cuando los centavos son dos numeros mayores al 0 no hay problema
Si puedes ayudarme gracias
MArtin
User | Count |
---|---|
95 | |
11 | |
11 | |
6 | |
6 | |
4 | |
4 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.