Visual Basic.NET - problema en el impuesto

 
Vista:
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

problema en el impuesto

Publicado por melqui (242 intervenciones) el 22/06/2021 15:19:28
hola chicos.
necesito de ayuda que no estoy conseguiendo identificar,
vea tengo un archivo de tributos en formato csv
estoy haciendo una importacion en un datatable, al importar parece que esta yendo bien conforme imagen.
Screenshot_4
mas cuando tengo cogerlas por los parametros me retorna aredondados

Screenshot_5,
esto no debia de acontecer porque estoy transformando em un currency para moneda local en caso aqui es el Real
mismo sacando la formatacion me retorna valores enteros.
alguna idea que pueda ayuda?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

problema en el impuesto

Publicado por Phil Rob (1554 intervenciones) el 22/06/2021 18:03:18
Hola Melqui,

Pienso que que existe una mezcla de tipo para el CurrencySign : Punto o coma.

En la tabla, en indicio 4, veo "7.85". Tiene que ver que es el separador decimal de tu sistema. Parece ignorar el punto y da "785" para el ImpostoFederal. En este caso, no es necesario de utilizar FormatCurrency : .ImpostoFederal = Row.Item(4) deberia es suficiente.

...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

problema en el impuesto

Publicado por melqui (242 intervenciones) el 22/06/2021 23:32:51
saludos phil

no lo se decirte los acabe retirando los FormatCurrency mismo asi continua, pienso que debe ser la formatacion de la columna pues en datatable creo yo es posbile formatar, mas si ves en la primera imagen quien dibuja las columnas es un string() solo no se como llamar para formatar cada columna.
no se donde estoy fallando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

problema en el impuesto

Publicado por Phil Rob (1554 intervenciones) el 23/06/2021 08:56:11
Hola Melqui,

Para poner los tipos de las columnas, tienes que utilizar el modo ADD siguiente :

CurrencyMelqui

Pero, pienso que el problema es diferente. En mis DataTabla, siempre toda columnas son del tipo String. Nunca otra cosa.
Voy testar varios métodos para obtener los datos en cadenas con formatos monedas.

...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

problema en el impuesto

Publicado por Phil Rob (1554 intervenciones) el 23/06/2021 10:09:14
Continuación ...

He testado el código siguiente :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        Tests()
    End Sub
 
    Private Sub Tests()
 
        Dim DT As New DataTable
 
        ' Pruebo uno y otro : siempre obtengo mismo resultado
        '   DT.Columns.Add("Valor")    ' sin tipo escrito
        DT.Columns.Add("Valor", System.Type.GetType("System.String"))    ' con el tipo escrito
 
        ' Si "123,45", tengo error. En mi sistemma, para el formato Currency, este debe ser el punto
        Dim UnaValor As String = "123.45"  ' Si "123,45", tengo error. En mi sistemma, para Currency, este debe ser el punto
        DT.Rows.Add(UnaValor)
 
        Dim CadenaAMostrar As String
 
        CadenaAMostrar = DT.Rows(DT.Rows.Count - 1).Item("Valor")
        Windows.Forms.MessageBox.Show(CadenaAMostrar)
 
        CadenaAMostrar = FormatCurrency(DT.Rows(DT.Rows.Count - 1).Item("Valor"))
        Windows.Forms.MessageBox.Show(CadenaAMostrar)
 
        CadenaAMostrar = String.Format("{0:C}", CType(DT.Rows(DT.Rows.Count - 1).Item("Valor"), Double))
        Windows.Forms.MessageBox.Show(CadenaAMostrar)
 
    End Sub
End Class

He creado la columna del DataTable DT sin escribir el tipo (es String por defecto) y con la escritura del tipo String. Ninguna diferencia para los resultados.
Veo que tu problema no es el separador. Cuando no es correcto el separador, viene error con FormatCurrency o String.Format.
He utilizado FormatCurrency y String.Format : ambos dan mismos resultados correctos.
Entonces, no veo la fuente de tu problema.
Es bien escrito en los parámetros des sistema el symbol de la moneda ?
Puedes enviar el código que crea las columnas del Tabla ?
Puedes enviar el código que declara P_NCM ?

...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

problema en el impuesto

Publicado por melqui (242 intervenciones) el 24/06/2021 01:20:19
hola phil,

este es la importacion que hago para el datatable vea donde esta creando las columnas al momento de cargar la planilla.
como puedes ver en la imagen anterior, el carga normal solo que al momento de llamar a los parametros parece que la columna de valores lo redondea, la formatacion d moneda se aplica estoy anexando el archivo tal como estoy trabajando.

Screenshot_2
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Phil Rob
Val: 3.353
Oro
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

problema en el impuesto

Publicado por Phil Rob (1554 intervenciones) el 24/06/2021 10:58:55
Hola,

He te enviado mail con mis pruebas.

Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de melqui
Val: 643
Bronce
Ha mantenido su posición en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

problema en el impuesto

Publicado por melqui (242 intervenciones) el 28/06/2021 20:48:55
gracias, grande phil.
por tu ayuda
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar