Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Bases de datos > Firebird e Interbase
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-11-2019
GINMARMENOR GINMARMENOR is offline
Miembro
 
Registrado: feb 2016
Posts: 58
Poder: 9
GINMARMENOR Va por buen camino
Modificación de albaranes y estructura

Hola chicos,

Estoy intentando crear albaranes, pero me surgen algunas dudas de cómo funcionaría realmente dentro de la Tabla, por poner un ejemplo sencillo que es el modo más claro.

Tengo una Tabla "Albaranes" la cual tendría estos campos

Nº Registro, Albarán, línea de Albarán, concepto y Unidades.

supongamos que la tabla tienes los siguientes registros

Nª Registro Albarán, Linéa Albarán, Concepto Unidades
------------- --------- -------------- ---------- ------------
1 583 1 Tornillos 20
2 583 2 Puas 15
3 583 3 Taladro 1

4 584 1 brocha 20
5 584 2 Martillo 2

6 585 1 Cincel 1
7 585 2 Sierra 3
8 585 3 Cadenas 5


Hasta ahí no hay problema, ahora bien si por cualquier motivo quiero modificar el albarán 583 y añadirle un nuevo concepto esa nueva línea pasaría al número de registro número 9?

1 583 1 Tornillos 20
2 583 2 Púas 15
3 583 3 Taladro 1

4 584 1 brocha 20
5 584 2 Martillo 2

6 585 1 Cincel 1
7 585 2 Sierra 3
8 585 3 Cadenas 5

9 583 4 Broca 3

Con lo cual cuando quiera visualizar el albarán 583, tendría que filtrar la tabla Albaranes por el campo Albaranes 583, y en el caso de que quiera borrar por ejemplo la línea nº 2 del Albarán 583 dicho albarán se quedaría con un salto en la línea de albarán del 1 al 3.

O bien es mejor a la hora de modificar un albarán, es mejor grabarlo en un contenedor aparte para tener los datos antiguos modificar el albarán y cuando le dé a grabar utilizar el contenedor para borrar el albarán antiguo entero y crear uno nuevo con todos los datos modificados nuevo, con lo cual los registros 1,2,3 se borrarían y los nuevos pasarían al 10,11,12,13 de la siguiente manera:

4 584 1 brocha 20
5 584 2 Martillo 2

6 585 1 Cincel 1
7 585 2 Sierra 3
8 585 3 Cadenas 5

10 583 1 Tornillos 20
11 583 3 Taladro 1
12 583 4 Broca 5 (Línea Modificada)

No sé si me he complicado la vida, o hay una manera más fácil a la hora de modificar un albarán. o la tabla debería diseñarla de otra manera, gracias.
Responder Con Cita
  #2  
Antiguo 15-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Debes usar tablas de cabeceras y líneas por separado.


Código:
tbAlbaranes
  id
  numero
  fecha
  cliente
  etc.


tbLineasAlbaranes
  id
  idAlbaran  -> Enlaza con el id.tbAlbaranes
  linea
  articulo
  cantidad
  etc.
Responder Con Cita
  #3  
Antiguo 17-11-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
como bien dice Casimiro lo mas recomendable es usar cabecera y detalle

y creo que te haces un mundo
facil es generar los albaranes numerados de forma correlativa y dentro de ellos (en el detalle) grabas los articulos a entregar/recibir
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
  #4  
Antiguo 17-11-2019
GINMARMENOR GINMARMENOR is offline
Miembro
 
Registrado: feb 2016
Posts: 58
Poder: 9
GINMARMENOR Va por buen camino
Si, como siempre teneis razón, en la cabecera todos los campos comunes y todos los totales y en el detalle los articulos que se venden, pero la en el detalle en un principio van también correlativos, pero si tengo que modificar un albarán de hace tres días por ejemplo y en ese albarán hay cinco artículos vendidos, y por ejemplo tengo que modificar el artículo de la línea número dos la cantidad y añadir a ese albarán una artículo más con lo cual ya serían seis articulos.

La forma de proceder sería un bucle recorriendo todas las líneas de ese albarán, las líneas que ya existen la Tabla la pondría en Edit y modificar y la nueva línea la tabla en Insert y añadirla.

Con lo cual en albaranes detalles esa nueva línea no aparecería correlativa a las otras cuatro, abría un salto lógicamente y yo las filtraría por el campo en común que es el Numero de Albarán.

Creo que eso sería el proceso a la hora de modificar un albarán, y cómo se quedaría en la tabla detalles los registros no?
Responder Con Cita
  #5  
Antiguo 17-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Si tienes en la tabla detalles:

Albaran---linea---articulo---cantidad---precio
3............1.......ABC.........5.........30
3............2.......DEX........10.........10
3............3.......JRJ........50.........13
3............4.......CUC.........3.........23

Y ahora edtas la linea 3 porque no eran 50, sino 55 unidades, haces:
Código SQL [-]
udpate tbDetalles set cantidad=55 where albaran=3 and linea=3
Responder Con Cita
  #6  
Antiguo 17-11-2019
GINMARMENOR GINMARMENOR is offline
Miembro
 
Registrado: feb 2016
Posts: 58
Poder: 9
GINMARMENOR Va por buen camino
Si pero tendré que editar el albarán completo, y pasar por todas las líneas, el programa no sabría qué linea o líneas he modificado.
Responder Con Cita
  #7  
Antiguo 18-11-2019
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No entiendo qué quieres decir.
Mira este ejemplo de facturación completa de nuestro ftp.
Responder Con Cita
  #8  
Antiguo 18-11-2019
Avatar de Caminante
Caminante Caminante is offline
Miembro
 
Registrado: oct 2010
Ubicación: Lima - Peru
Posts: 338
Poder: 14
Caminante Va camino a la fama
Cita:
Empezado por GINMARMENOR Ver Mensaje
... pero la en el detalle en un principio van también correlativos, pero si tengo que modificar un albarán de hace tres días por ejemplo y en ese albarán hay cinco artículos vendidos, y por ejemplo tengo que modificar el artículo de la línea número dos la cantidad y añadir a ese albarán una artículo más con lo cual ya serían seis articulos.

La forma de proceder sería un bucle recorriendo todas las líneas de ese albarán, las líneas que ya existen la Tabla la pondría en Edit y modificar y la nueva línea la tabla en Insert y añadirla.

Con lo cual en albaranes detalles esa nueva línea no aparecería correlativa a las otras cuatro, abría un salto lógicamente y yo las filtraría por el campo en común que es el Numero de Albarán...

Hola


Por lo que puedo entender a ti lo que te preocupa es que las lineas dejen de tener el numero correlativo. Si es asi creo que te estas complicando en vano. Lo importante es que se mantenga la integridad de los datos; lo de tener numeros correlativos importa poco porque por lo general esos numeros no son visibles al usuario.
Trata de tomar las cosas con calma y reflexionar bien lo que debes lograr.


Saludos
__________________
Caminante, son tus huellas el camino y nada más; Caminante, no hay camino, se hace camino al andar.
Antonio Machado
Responder Con Cita
  #9  
Antiguo 18-11-2019
Avatar de oscarac
[oscarac] oscarac is offline
Miembro Premium
 
Registrado: sep 2006
Ubicación: Lima - Perú
Posts: 2.010
Poder: 20
oscarac Va por buen camino
te estas haciendo un mundo
lo que yo hago es manejar cabecera y detalle
si actualizo un ingreso (en mi pais le decimos asi)
no tengo porque preocuparme por los productos que agregue o modifique
lo que hago es... cuando modifico.... cargo todo a un temporal (clientdataset) y "capturo en alguna variable" el numero de registro del ingreso, cuando es un ingreso nuevo, el dataset estaria en blanco

y luego en ese temporal borro agrego, cambio, etc

luego al grabar hago lo siguiente

- pregunto si es una modificacion
si no lo es.. entonces grabo como nuevo
si es modificacion, previamente tengo el numero de ingreso que voy a cambiar....
borro en la cabecera y en el detalle ese numero de ingreso
grabo como si fuera nuevo, pero con el mismo numero de ingreso que tenia...


listo. asunto concluido
__________________
Dulce Regalo que Satanas manda para mi.....
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Generar albaranes desde contratos otto69 Conexión con bases de datos 5 30-12-2018 18:06:21
Imprimir dos albaranes en una hoja jorllazo Impresión 0 14-03-2007 20:40:52
Convertir varios albaranes a 1 factura CarmaZone Tablas planas 2 28-12-2005 19:16:33
Convertir Albaranes a Factura CarmaZone Varios 11 28-06-2005 23:24:06
Modificación Estructura Tabla en Interbase vpepen Conexión con bases de datos 5 12-01-2004 21:39:14


La franja horaria es GMT +2. Ahora son las 01:32:11.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi