Ir al contenido


Foto

update y mas


  • Por favor identifícate para responder
13 respuestas en este tema

#1 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 29 diciembre 2012 - 01:23

Hola
Saludos a todos.
Os cuento:
Tengo el programa.
Este genera un numero de pieza, 1, 2, 3 etc.....
Cuando se factura se hace un update y se coloca el numero como facturado y el numero de factura.
El programa factura numero por numero.
Uso un stringgrid y hago un recorrido de este para hacer el update de cada pieza.
Esto es parte:


delphi
  1. // Actualizar la tabla de series
  2.         For i := 1 to SgFact.RowCount-1 do
  3.         begin
  4.  
  5.               QTemp.SQL.Text := 'Update Series Set NumFactura = :fact, Estado = :Est Where NumSerie = :num';
  6.               QTemp.Params[0].Value:= IntToStr(NumFact);
  7.               QTemp.Params[1].Value:= 'Facturado';
  8.               QTemp.Params[2].Value:= SGFact.Cells[2,i];
  9.               QTemp.ExecSQL;
  10.         end;


Que quiero hacer:
En vez de facturar el numero X facturar por cantidad de piezas y que se haga el update segun la cantidad de piezas empezando del numero mas bajo que no este facturado.
Actual:
factura 123
bañera #1
bañera #2
bañera #3
total xxxx
etc....
Que quiero hacer:
factura 123
bañera, cantidad 3
total xxxxx
etc.

Osea, facturar por tipo, no por numero, pero poder hacer un update del numero, de menor a mayor dependiendo de la cantidad de piezas.

Saludos


  • 0

#2 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 31 diciembre 2012 - 06:55

No te he entendido casi... ese "numero de pieza" es importante? Supongo que es algo tipo ID. Entonces tendrás que mantenerlo... esos detalles te han faltado...

A mi me parece mas un tema de presentación de la factura mas que de facturar: tu facturas las bañera 1, la 2 y la 3, y al imprimir tu factura agrupas por tipo "bañera" y te salen 3 unidades.
  • 0

#3 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 31 diciembre 2012 - 10:59

Hola
Gracias amigo.
El facturar o presentar la factura no tirnr ningun problema, es el update de los numeros el problema.
Lo que necesito es facturar las tres unidades y que el update de esos numeros se haga independientemente.
saludos
  • 0

#4 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 31 diciembre 2012 - 11:36

Hola
Os explico con fotos.
La primera foto es cuando se selecciona UNA pieza (la de menor numero) y se incluye en la factura.
Esto se hace con cada pieza.
La foto dos aparecen las piezas ya incluidas en la factura, una a una.

Lo que necesito hacer con el update:

La tercera foto alarece la seleccion del numero menor de pieza, pero se indica que son TRES piezas a facturar.
La cuarta foto aparece solo el numero de pieza menor pero la cantidad de TRES piezas.

Lo que quiero hacer es que en el update se tome ese primer numero de pieza y se vaya sumando el siguiente numero hasta que se haga el update de las tres (cantidad) que se facturaron.

Espero explicarme mejor.
saludos

Archivos adjuntos


  • 0

#5 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.459 mensajes
  • LocationMéxico

Escrito 31 diciembre 2012 - 11:43

Pero esto es solo si el producto es el mismo en las tres partidas no ?

Es decir, 3 piezas de tal producto, si son diferentes no debería hacer esa agrupación. ¿ Cierto ?

Saludos
  • 0

#6 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 31 diciembre 2012 - 11:47

Hola
Si amigo, si es el mismo producto entonces se puede poner la cantidad de ese.
Te adelantas a la siguiente pregunta:
Hacer el update de otros productos diferentes en la misma factura.
Saludos
  • 0

#7 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 31 diciembre 2012 - 11:55

Hola
El temas es mas complicado de lo que parece.
El numero de pieza se genera cuando se produce, eso quiere decir que la pieza 1 puede ser una bañera, la dos tambien, la tres otro tipo de pieza, la cuatro otra vez otra bañera u otro tipo de pieza.
Eso quiere decir que en realidad el update no podra segir un consecutivo exacto salvo que se le indique que es de ese tipo de producto en especial, por consiguiente se saltara los numeros que no correspondan al tipo especifico.
Saludos
  • 0

#8 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 31 diciembre 2012 - 12:09

Hola
Para mi deberia de ser algo asi:
1- recorro el stringrid de la factura.
2- reviso que tipos de producto se facturaron.
3- se hace el update del primer producto buscando o recorriendo la tabla para buscar los productos de ese tipo que no esten facturados.
4- se hace lo mismo con los demas productos.
obviamente no se hacerlo, pero me da la impresion de que por ahi va la cosa.
saludos
  • 0

#9 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.459 mensajes
  • LocationMéxico

Escrito 31 diciembre 2012 - 12:18

Hola

No entiendo algo, si vas agregando producto a una factura, porque no vas sumando la cantidad si el producto ya existe en ella ?

Saludos
  • 0

#10 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 31 diciembre 2012 - 12:25

Hola
Podria hacerse asi, pero el problema no es colocar o poner los productos en la factura, el problema es hacer que una vez que se facturen se actualicen los numeros de esas piezas en la tabla con el numero de factura y como facturado.
Esto lo hace el sistema, pero solo cuando pones en la factura uno a uno los productos y los numeros.
Saludos
  • 0

#11 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.459 mensajes
  • LocationMéxico

Escrito 31 diciembre 2012 - 12:36

Creo que el fin de año me ha dejado tonto, no logro entender que es lo que quieres hacer amigo, pasame un cigarro de los que fumas no ? :D :D :D

Saludos
  • 0

#12 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4.266 mensajes
  • LocationCosta Rica

Escrito 31 diciembre 2012 - 12:41

Hola
Estas como yo amigo, no doy una  :D
Es relativamente sencillo.
tengo una produccion de piezas.
hay varios tipos de pieza.
cuando se fabrica una pieza, sea del tipo que sea, se genera un numero consecutivo, sin importar el tipo de pieza.
Actualmente cuando se factura se hace pieza a pieza, osea, 10 piezas, 10 lineas de factura y se actualiza el numero de pieza a facturado.
que quiero hacer:
facturar en vez de 10 lineas una sola que diga 10 piezas tipo X
si hay mas tipos entonces en la siguiente linea se pondra el otro tipo de pieza y la cantidad.
El asunto es actualizar la tabla .
Saludos

  • 0

#13 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.459 mensajes
  • LocationMéxico

Escrito 31 diciembre 2012 - 01:17

Estas como yo amigo, no doy una  :D


Se me hace que ya es la puta edad. Ya somos un par de viejos y pende......s  :D :D :D

Saludos
  • 0

#14 Sergio

Sergio

    Advanced Member

  • Moderadores
  • PipPipPip
  • 1.092 mensajes
  • LocationMurcia, España

Escrito 02 enero 2013 - 03:02

Haz un procedure para añadir una pieza N a una factura F: Si F tiene ya una línea de ese tipo de pieza, incrementas las unidades, y si no, crea la linea con 1 unidad, y al final anota en la pieza que fue facturada y listo.

Yo no lo hago así, en su lugar sigo este camino:

-Creo la factura y me anoto su Id.
-Marco todas las piezas como facturadas en ese Id.
-Con un procedure sumo las cosas incluidas en la factura Id: uso un count(*) o un sum(*) para las unidades y un "group by" por tipo para que me de una línea por cada tipo, y la salida de esta SQL son las líneas de la factura, que puedes crearlas en una tabla o calcularlas al ir a imprimir, según prefieras (yo las guardo para permitir editarla).

  • 0




IP.Board spam blocked by CleanTalk.