Sistema de ventas con la base de datos Mysql

Buenas tardes.
De antemano muchas gracias po su atención estoy desarrollando un sistema de ventas con la base de todos mysql, lo que quiero es obtener el monto vendido en letras para que se imprima en una boleta o factura.
Espero que me puedas ayudar, muchas gracias

1 Respuesta

Respuesta
1
Crea una Función en "RETURN TYPE" selecciona "STRING"
Y en "Agument Type" pone "Double" y "Argument Name" escribi "nimp"
Luego pega el siguiente código:
long nUni, nDec, nCen, nA, nMil
int li_dec
string lsHasta29[], lsCentenas[], lsDecenas[]
lsHasta29[1] = ''
lsHasta29[2] = ' uno'
lsHasta29[3] = ' dos'
lsHasta29[4] = ' tres'
lsHasta29[5] = ' cuatro'
lsHasta29[6] = ' cinco'
lsHasta29[7] = ' seis'
lsHasta29[8] = ' siete'
lsHasta29[9] = ' ocho'
lsHasta29[10] = ' nueve'
lsHasta29[11] = ' diez'
lsHasta29[12] = ' once'
lsHasta29[13] = ' doce'
lsHasta29[14] = ' trece'
lsHasta29[15] = ' catorce'
lsHasta29[16] = ' quince'
lsHasta29[17] = ' dieciseis'
lsHasta29[18] = ' diecisiete'
lsHasta29[19] = ' dieciocho'
lsHasta29[20] = ' diecinueve'
lsHasta29[21] = ' veinte'
lsHasta29[22] = ' veintiuno'
lsHasta29[23] = ' veintidos'
lsHasta29[24] = ' veintitres'
lsHasta29[25] = ' veinticuatro'
lsHasta29[26] = ' veinticinco'
lsHasta29[27] = ' veintiseis'
lsHasta29[28] = ' veintisiete'
lsHasta29[29] = ' veintiocho'
lsHasta29[30] = ' veintinueve'
lsDecenas[3] = ' treinta'
lsDecenas[4] = ' cuarenta'
lsDecenas[5] = ' cincuenta'
lsDecenas[6] = ' sesenta'
lsDecenas[7] = ' setenta'
lsDecenas[8] = ' ochenta'
lsDecenas[9] = ' noventa'
lsCentenas[1] = ''
lsCentenas[2] = ' ciento'
lsCentenas[3] = ' doscientos'
lsCentenas[4] = ' trescientos'
lsCentenas[5] = ' cuatrocientos'
lsCentenas[6] = ' quinientos'
lsCentenas[7] = ' seiscientos'
lsCentenas[8] = ' setecientos'
lsCentenas[9] = ' ochocientos'
lsCentenas[10] = ' novecientos'
String sA, sImp
sImp = Left( String( nImp, '000000000000.00' ), 12 )
For nA = 1 to 4
nMil = Long( Mid( sImp, nA * 3 - 2, 3 ) )
nCen = Int( nMil / 100 )
nDec = Int( ( nMil - nCen * 100 ) / 10 )
nUni = nMil - nCen * 100 - nDec * 10
If nMil = 100 Then
sA = sA + ' cien'
ElseIf nDec < 3 Then
If nUni = 1 and ( nA = 1 or nA = 3 ) Then
choose case nDec
case 0
sA = sA + lsCentenas[nCen + 1] + ' un'
case 1
sA = sA + lsCentenas[nCen + 1] + ' once'
case 2
sA = sA + lsCentenas[nCen + 1] + ' veintiún'
end choose
Else
sA = sA + lsCentenas[nCen + 1] + lsHasta29[nDec*10+nUni + 1]
End If
Else
sA = sA + lsCentenas[nCen + 1] + lsDecenas[nDec]
If nUni <> 0 Then
If nUni = 1 and ( nA = 1 or nA = 3 ) Then
sA = sA + ' y un'
Else
sA = sA + ' y' + lsHasta29[nUni + 1]
End If
End If
End If
If ( nA = 1 or nA = 3 ) and nMil <> 0 Then
sA = sA + ' mil'
End If
If nA = 2 and sA <> '' Then
If sA = ' uno' Then
sA = ' un millon'
ElseIf sA = ' veintiuno' THEN
sA = " veintiún" + ' millones'
Else
sA = sA + ' millones'
End If
End If
If nA = 4 and sA = '' Then
sA = ' cero'
End If
Next
li_dec = abs((round(nImp,2) - truncate(nImp,0)) *100)
sA = sA + ' con ' + Right("00"+String(li_dec),2) + "/100"
Return sA
Listo, cada vez que necesitas convertir llamas a la función dándole el monto y capturas el resultado en una variable de texto.
PDT:
Por si acaso en un rato voy a subir un ejemplo con eso a este link.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas