FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
|||
|
|||
Gracias OSKR!!
Cuando habló de partidas, me refiero, en una Factura se tiene la Cabeza, los datos principales (No. Factura, Cliente, Descripción, dirección, etc.), las partidas son el cuerpo de la factura (Cant, Producto, PU, Importe x Partida, etc), mi duda es: ¿Que componente me recomiendan para la captura de los datos que van en el cuerpo de la factura? Sobre lo que me comentas me parece bien, pero pienso que para el usuario es engorroso tener que abrir una ventana de captura para cada partida de la factura, por ello yo pensaba en capturar directamente en el DBGrid, pero si no es recomendable, que me sugieren?? Míl Gracias
__________________
Ana |
#2
|
|||
|
|||
yo suponete lo que hago es que la persona le da doble click al elemento de la grilla que quiere modificar y cargo todo en una pequeña ventana para su modificación o para una mejor visualizacion. Es por eso que no tuve tantos problemas con los dbgrid pero yo uso mas los wwDBGrid que son unos componentes que me dieron y estan buenos. Si los queres avisame que te los envio o me fijo donde estas
Saludos |
#3
|
|||
|
|||
Patricio,
Muchas gracias, enviame los componentes a sonrie_a@yahoo.com y veo si me sirven. Nuevamente Gracias
__________________
Ana |
#4
|
|||
|
|||
No hay ningun problema en usar el DBGrid, el DBGrid es un contenedor de datos virtual, significa q los datos no los contiene el sino otro contenedor, en este caso el Dataset, el problema entonces es con la manera de usar el Dataset, yo uso el JvDBGrid y nunca hay problema..
|
#5
|
|||
|
|||
Delfino,
Hola! Tienes toda la razón cuando me dices que no hay problema si se configura bien el DataSet, pero me surgio un detalle al final al momento de insertar datos en el DBGrid: Al Insertar un renglón en el DBGrid y pasar al siguiente renglón (ya sea con la tecla TAB o con la barra el botón Inserta de la barra TDBNavegator) el DBGrid se presenta en blanco, es decir, no visulizo los renglones que voy capturando. No sé si tenga que ver que La tabla a la que está conectada el DBGrid tiene la Opción "CacheUpdate = True". Y al hacer el Database.ApplyUpdates, se graban todos los renglones que capture. Tu me pdrías dar alguna piesta de que podría estar pasando. Gracias.
__________________
Ana |
#6
|
||||
|
||||
Quizás se podría hacer de otra forma la creación de una factura, ahí van varias ideas:
- Crear un asistente de facturación, pide las fechas, y muestra todos los clientes que tienen algún albaran, y propone una factura con todos los albaranes de cada cliente. Se dá la posibilidad de eliminar un albaran de la factura, añadir, etc. - Lo más fácil, pones en la ventana de la factura dos botones para añadir / eliminar albaranes, al pulsarlo pide el nº de albaran ( un combobox en el que se añade los ids de albaranes), y al aceptar esa ventana, el programa se encarga de buscar el albaran y meterlo en la factura. - Tendrás por algún sitio una ventana de listados de albaranes, pues permites que el usuario seleccione varios albaranes, y despues con un boton, se crea la factura de esos albaranes. Como ves, se trata de que el usuario escriba lo menos posible, para cometer menos fallos, y que además vea que es una mejora usar tu programa. La primera opción puede ser la más compleja, pero tambien será la más cómoda para el usuario. Un detalle más: El grid se usa para mostrar el cuerpo de la factura, y se permite, por ejemplo, modificar el concepto, pero no los importes. (poner a la columna de los importes, ReadONly := true) saludos y espero te sirva alguna de estas ideas.
__________________
Si usted entendió mi comentario, contácteme y gustosamente, se lo volveré a explicar hasta que no lo entienda, Gracias. |
#7
|
|||
|
|||
Hola Lepe!!
Muchas gracias por las sugerencias, sólo que etngo un problemilla, no las entiendo, quizas el problema radique en que usamos diferentes nombres para los conceptos de una factura, es decir, no sé a que te refieres con un "albaran" Te platico como es mi ventana de captura de la factura, para los datos Generales de la factura (Nombre del cliente, dirección, etc) utilizo componenetes TDBEdit, los cuales están conectados a la Base de Datos Padre, para los datosdel cuerpo de la Factura (cantidad, unidad, producto, etc) uilizo un DBGrid para capturarlos, el cual esta conectado a la Base de Datos Hija, Tal como me aconsejo Delfino configure el DataSet de ambas tablas, para que al dar clic en el botón de guardar, se guarde la información y lo hace bien, Guarda lo que debe en cada tabla, respetas mis llaves, asigna el consecutivo, etc. todo bien. Mi problema radica que cuando estas en el DBGrid directamente capturando la cantida, unidad, etc, al pasar al siguiente renglón ya no visualizo el anterior que capture en el DBGrid, más sin embargo en memoria si se queda, ya que al guardar los datos, guarda todos los renglones capturados. Quiza, lo mejor no fue usar el DBGRID para está función, pero ya me bloquie y no sé porque cambiarlo o como capturar el cuerpo de la partida Gracias.
__________________
Ana |
#8
|
||||
|
||||
Las filas que desaparecen
Cita:
Lo que pasa es que cuando insertas una fila en la tabla detalle y no le capturas el valor que la enlaza a la tabla maestra, la fila si se inserta, pero como está "filtrada" para que solo muestre el detalle del registro correspondiente en la maestra no la muestra. Normalmente te va a pasar cuando estás dando de alta una nueva fila en la tabla maestra, pues en ese momento probablemente aun no tengas el valor del campo que las enlaza. Para evitar esto tienes que colocar el valor correcto en el campo ligado de la tabla detalle antes de postear el valor para que la grilla te la muestre. Por ejemplo: Estas dando de alta la factura con folio 100, el usuario obviamente ya no necesita capturar el valor 100 en el campo factura en cada fila de la grilla de detalle. Entonces, debes de asignar el valor 100 al campo que se enlaza la tabla maestra. En esta caso se enlazarian por el campo folio. En otras palabras, antes de postear cualquier fila en el detalle, antes deberas de colocar el mismo valor (en el ejemplo 100) en el campo ligado. A mi me paso, que utilice un campo autoincrementado para el numero de folio y como este campo la DB no le asigna valor hasta que lo posteas pues era imposible saber que valor darle al detalle para postearlo.
__________________
AKA "El animalito" ||Cordobés a mucha honra|| |
#9
|
|||
|
|||
Lepe y AzidRain,
Muchas gracias por sus ideas. Efectivamente Azid, mi error, no error, era que usaba un campo Autoincremental para asignar el ID de la tabla Padre, lo cambie, ahora yo lo voy asignando y asunto arreglado. Lepe, me quede con tu idea de no usar el DBGRID para capturar o modificar información, uso una ventana aparte para hacerlo y se ve bien Muchas gracias a ambos!!! Saludos!!!
__________________
Ana |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|