Formulario de ventas oO?

Iniciado por ezugaru, 23 Abril 2009, 17:27 PM

0 Miembros y 3 Visitantes están viendo este tema.

Hadess_inf

Recuerda que el metodo Item(A,B).value  donde:

A = Fila (Row)
B = Columna (Column)

Estas usando la sintaxis al reves.
Saludos.

ezugaru

Que tonto soy! es cierto, ya quedo . . .  ahora a seguir con los prcedimientos :D en cuanto lo termine subo el proyecto para que los que estan iniciando como yo se puedan dar una idea >.<

Hadess_inf

Seria una buena idea. Y recuerda cualquier problema pasate por el foro. Un saludo.

ezugaru

Hola amigos, no me he olvidado jejeje, soloque he seguido trabajando en mi sistema y he hecho algunas modificaciones para no ciomplicarme tanto la vida, les pongo una screenshot de como está quedando la interfaz:



Opté por no hacer las consultas directamente desde el DGView, sino que mejor lo hago desde unos textboxes, uso el evento TextChanged de los text box para que cuando se presione enter se haga la consulta indicada ( en los textbox de ID CLIENTE e ID PRODUCTO), asi mismo en el textbox de CANTIDAD uso ese mismo evento para pasar los datos de los textboxes al datagrid y ahi mismo hago el calculo de el subtotoal, el iva y el total y cada vez que agrego una nueva linea se ejecuta una ciclo for que recorre el datagrid para actualizar los totales de la operacion en los textboxes, tambien al DGView le agregué el evento KeyDown para que cada vez que un usuario selecciona una fila del DGView que quiera eliminar ésta sea removida del DGView y se vuelva a ejecutarel ciclo del recorrido del DGView y actualice el subtotal, iva y total, espero poder seguir aldente, cualquier critica constructiva y comentario son bien recibidos, saludos!

PFLOPS

Felicidades te esta quedando muy bien, mm en mi proyecto no he tenido tiempo de trabajar en ello, pero bueno, ya avance un poco, solo como 20 minutos he trabajado en el desde hace una semana :P

Saludos
The Last Pollo       
Mi Blog


Pollo.exe

[/

abel_c_b

Hola ezugaru, veo que estas trabajando com mysql en vb 2005, como te ha ido con este motor? hasta el momento no has tenido ningun problema? porque estas usando este motor y no sql server? solo curiosidad, cualquier comentario es bien recibido, saludos

ezugaru

Cita de: abel_c_b en  4 Mayo 2009, 19:04 PM
Hola ezugaru, veo que estas trabajando com mysql en vb 2005, como te ha ido con este motor? hasta el momento no has tenido ningun problema? porque estas usando este motor y no sql server? solo curiosidad, cualquier comentario es bien recibido, saludos

Hola! uso MySQL por dos razones:

1.- Es un motor mas ligero que el SQLServer de Microsoft , ya que las maquinas que usualmente uso como servidores de bases de datos, son maquinas con pocos recursos o de prueba, y el poder hacer que SQL server sea así de ligero requiere demasiado trabajo y es tiempo que no me pueod dar el lujo de invertir en eso.

2.- La licencia es menos problema que con SQL Server.

A mi me ha ido muy bien, yo uso el connector/NET 5.2 y esta muy bien, en lo personal soy de ese tipo de personas que no le gusta usar los datasources que se integran al IDE, no sé, no me siento cómodo, prefiero hacer algo de talacha y saber que es todo lo que ewl programa hace exactamente.

ezugaru

#17
AYUDAAAAAA!!!! por alguna razon, no se si movi algo o que es, pero los textboxes me marcan errores >< cuando asigno a una variable c1 el valor de existencia.text me marca un error que dice que Conversion from String ''' to type Integer is not valid , y si trato de hacer Parsing me marca que La cadena que se envia no estaba en el formato correcto, antes estaba fuincionando bien y esto pasó de repente >.< no sé que hacer. alguna sugerencia? ya he avanzado bastantito como para empezar de nuevo T_T

P.S. Puse un Msgbox antes de la asignacion de los textboxes a las variables, en el cual le digo que me mande el valor de exixtencia.text y el msgbox salta vacio!!!!! no sé porqueeee T_T

ezugaru

Les pongo todo más detallado, aquí está el código de el cantidad_textchanged textbox que es donde creo esta el error >.< :


Private Sub cantidad_TextChanged(ByVal sender As System.Object, ByVal e As KeyEventArgs) Handles cantidad.KeyDown, cantidad.KeyDown

        resultado = Nothing

        If e.KeyCode = Keys.Escape Then

            id_prd.Text = Nothing
            existencia.Text = Nothing
            descripcion.Text = Nothing
            p_unitario.Text = Nothing
            id_prd.Text = Nothing
            cantidad.Text = Nothing
            marca_txt.Text = Nothing
            id_prd.Focus()

        Else

            If e.KeyCode = Keys.Enter Then

                'Asignamos valores a las variables para checar la cantidad existente con la que se quiere vender

                MsgBox(existencia.Text)

                c2 = cantidad.Text
                c1 = existencia.Text

                If c1 <= 0 Then

                    MsgBox("No hay inventario")
                    cantidad.Text = Nothing
                    p_unitario.Text = Nothing
                    descripcion.Text = Nothing
                    existencia.Text = Nothing
                    id_prd.Text = Nothing
                    id_prd.Focus()

                Else

                    If c1 < c2 Then

                        MsgBox("No puedes vender más de " & c1 & " piezas.")
                        cantidad.Text = Nothing
                        cantidad.Focus()

                    Else

                        If c1 >= c2 Then

                            'MsgBox("El enter funka! Cantidad: " & cantidad.Text)


                            'Agregamos los datos de los textboxes a el DGview

                            resultado = p_unitario.Text * cantidad.Text

                            venta_dgv.Rows.Add(id_prd.Text, descripcion.Text, marca_txt.Text, cantidad.Text, p_unitario.Text, resultado)

                            'comienza codigo de recorrido de datagrid para insertar datos en textbox

                            suma_col = Nothing

                            Dim iTotal As Integer = Me.venta_dgv.Rows.Count
                            Dim i As Integer

                            For i = 0 To iTotal - 1

                                suma_col = suma_col + Double.Parse(Me.venta_dgv(4, i).Value)

                            Next

                            Dim subt As Double = Nothing
                            Dim impto As Double = Nothing

                            subt = suma_col / 1.1
                            impto = suma_col - subt

                            total.Text = Format(suma_col, "$ #,##0.00")
                            iva.Text = Format(impto, "#,##0.00")
                            subtotal.Text = Format(subt, "#,##0.00")

                            'Termina código de recorrido de inserción de datos

                            id_prd.Text = Nothing
                            existencia.Text = Nothing
                            descripcion.Text = Nothing
                            p_unitario.Text = Nothing
                            id_prd.Text = Nothing
                            cantidad.Text = Nothing
                            marca_txt.Text = Nothing
                            id_prd.Focus()

                        End If

                    End If

                End If

            End If

        End If

    End Sub



Y acá les dejo unas imágenes de lo que pasa, al parecer, se ejecuta bien una vez el procedimiento, pero por alguna razón como que vuelve a entrar, y obviamente en ese momento ya vacié los contenidos de los textboxes y todos los contenidos estan vacios, les pongo imagenes de como me resulta:

Aqui sale todo bien, el msgbox me dice el contenido de existencia.text e inmediatamente despues hace la carga de la fila al DGView , lo que indica que está bien:


Ahora acá Se ve ya donde el DGView fue afectado y metió todos los datos, pero sorpresivamente el MSGbox salta de nuevo pero ahora sin ningun contenido ( cadena vacia) y no sé porque >.<:


Y de ahi con la cadena vacia obviamente salta el error:



Ayudaaaaa me siento perdido >.<

ezugaru

Olvidenlo, ya encontre el error, analizando el codigo con Pollo me di cuentsa que el Handler del evento tenia dos veces el argumento de el text box, por eso aunque le daba un solo enter lo ejecutaba dos veces, seguramente manejando el visual del form clique sin darme cuenta



Private Sub cantidad_TextChanged(ByVal sender As System.Object, ByVal e As KeyEventArgs) Handles cantidad.KeyDown, cantidad.KeyDown




Elimine el ultimo cantidad.KeyDown , quedando:



Private Sub cantidad_TextChanged(ByVal sender As System.Object, ByVal e As KeyEventArgs) Handles cantidad.KeyDown




Y ya funka como debe . . . sorry pero entré en pánico