Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-09-2008
epenor epenor is offline
Miembro
 
Registrado: jul 2008
Posts: 22
Poder: 0
epenor Va por buen camino
Programa de ventas

No sé si este es el sitio adecuando para este tema, asi que pido disculpa.

Quisiera saber si alguien puede ayudarme con algun pequeño programa de ventas o facturacion. Lo que necesito es algo pequeño, donde se le den entrada a articulos, proveedores y clientes, y que realice las ventas solo al contado. Puede ser en visual basic 6 o preferiblemente en delphi con base de datos access.

Ya vi el programa de publico caral en el FTP, pero es mas complejo de lo que necesito y como quiero hacerle alguna modificacion se hace algo dificil por que tiene mucho codigo.

Eso es para un asignatura de la universidad, agerdesco cualquier ayuda que puedan brindarme.
Responder Con Cita
  #2  
Antiguo 13-09-2008
Avatar de dec
dec dec is offline
Moderador
 
Registrado: dic 2004
Ubicación: Alcobendas, Madrid, España
Posts: 13.107
Poder: 34
dec Tiene un aura espectaculardec Tiene un aura espectacular
Hola,

En estos foros no se acostumbra a proporcionar programas completos, dizque hacer las tareas a los demás, que es lo que parece que tú pides. No sé si encontrarás algo hecho, pero, como tú mismo has señalado, tal vez el programa que el compañero Caral tuvo a bien compartir pueda servirte para empezar. En cualquier caso, no es lo mismo que digas "necesito ayuda para esto o aquello", a pedir, directamente, el programa ya hecho. No sé qué opinará el resto de compañeros.
__________________
David Esperalta
www.decsoftutils.com
Responder Con Cita
  #3  
Antiguo 13-09-2008
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 23
BlueSteel Va por buen camino
Wink

Concuerdo con Dec...

Hola epenor, solo decir que

Cita:
Lo que necesito es algo pequeño, donde se le den entrada a articulos, proveedores y clientes, y que realice las ventas solo al contado.
creo que esto no es pequeño.... ya que toda programación o creación de un sistema tiene un trabajo de por medio.... y sobre todo lo que es facturación, inventario, compras y ventas....

por lo visto es necesario que revises tu planteamiento, tus requisitos, tu limites (del sistema), que diseñes una base de datos acorde y que comiences a programar y cuando tengas dudas te las podemos aclarar aquí...

El programa que publicó Caral es básico tambien, aunque no lo creas, es bueno para empezar y tiene todo lo que necesitas, creo que te servirá mucho...

Nada más que decir que manos a la obra.... que aquí no se hacen tareas

Salu2
__________________
BlueSteel
Responder Con Cita
  #4  
Antiguo 13-09-2008
epenor epenor is offline
Miembro
 
Registrado: jul 2008
Posts: 22
Poder: 0
epenor Va por buen camino
jejeje, ok muchachos suave , quizas no hice un buen plateamiento además no he pedido nada de inventario o compras. Reconosco que no es facil pedir el trabajo de programacion, hice este post por si alguien tenian algo de codigo sencillo para guiarme porque tengo que hacerle login, controles de acceso,validaciones y permisos para los usuarios. El problema es que caresco de tiempo y queria ver si alguien tenia algo hecho para asi ahorrarme tiempo. El programa de caral me ha servido bastante.

Creo que mejor continuaré dandole seguimiento a uno que estaba haciendo pero tengo dificultares en la parte de ventas, porque los DBGrid no me permiten adicionarles registro a menos que estos no sean leidos desde una tabla. Quiero un control que me permita añadir y eleminar items del detalle de factura para luego ser vaciados en las tablas de factura.

Por el momento iré trabajando y luego les traigo mis dudas.

Última edición por epenor fecha: 13-09-2008 a las 01:34:40.
Responder Con Cita
  #5  
Antiguo 13-09-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Creo que el que esta en el ftp del club es el programa completo.
Este que pongo aquí es el Tutorial, es un programa completo pero mas básico.
Creo que también esta en el wiki del club.
Este tiene login, base de datos access, se conecta por ini, etc...
Es lo mas sencillo que tengo, espero te sirva.
Saludos
PD: En pocos días lo retiro de aquí por falta de espacio, cualquier interés adicional buscarlo en el wiki.
__________________
Siempre Novato

Última edición por Caral fecha: 13-09-2008 a las 22:40:09.
Responder Con Cita
  #6  
Antiguo 13-09-2008
epenor epenor is offline
Miembro
 
Registrado: jul 2008
Posts: 22
Poder: 0
epenor Va por buen camino
Muchas gracias caral por tu ayuda. Quisiera saber si el procedimiento que tienes para control de error en el más complete, puedo implementarlo en otra aplicacion similar, y qué modificaciones habría que hacerle al procedimiento.
Responder Con Cita
  #7  
Antiguo 13-09-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
No se a que parte del programa te refieres, me ayudarías si pones un ejemplo de la parte en cuestión.
Me imagino que debe ser a la conexión con la base de datos, pero no estoy seguro.
Saludos
__________________
Siempre Novato
Responder Con Cita
  #8  
Antiguo 13-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por epenor Ver Mensaje
Muchas gracias caral por tu ayuda. Quisiera saber si el procedimiento que tienes para control de error en el más complete, puedo implementarlo en otra aplicacion similar, y qué modificaciones habría que hacerle al procedimiento.
¿Procedimiento para control de errores? ¿El más completo? ¿Si lo puedes usar en otro lado? ¿Que hay que modificar?
Epenor, con tan poca ayuda de tu parte muy difícil que te ayudemos. Por empezar no indicas sobre que aspecto estás hablando ¿errores en que, donde, cuando, que errores?

Sin conocer a lo que te mencionas va a ser difícil ayudarte. ¡No somos adivinos!

Si estás tan falto de tiempo ¿Porqué en vez de ponernos en la posición de adivinos, no nos dices donde estás teniendo problemas? Lo más adecuado para ti es que expongas tus avances y dudas y a medida que continúas con el trabajo y de allí te podremos ser de ayuda.

Mientras sigas con tu postura de "denme" y de ir por lo fácil no creo que recibas ayuda.
Como te lo han comentado el resto de los compañeros: si quieres ayuda, ayudanos a ayudarte y explícate bien. No se te va a cobrar por las palabras que escribas.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #9  
Antiguo 13-09-2008
epenor epenor is offline
Miembro
 
Registrado: jul 2008
Posts: 22
Poder: 0
epenor Va por buen camino
Muy bien Delphi, me refiero a la funcion SysErrorMessageParam(ErrorCode: Integer; Param: string): string; del programa de facturacion de caral.

Segun he visto en el codigo esa funcion captura los errores que puede cometer la persona que opera el sistema y asi evita que la aplicacion "explote". Por ejemplo, si se deja algun Edit vacio que sea not null en la DB y se intenta guardarlo.

No veo ningun procedimiento desde donde se llame la funcion, pero si se refleja su funcionamiento, asi que quieria saber si esa funcion puede ser usada en una aplicacion similar a la de caral, porque me parece una funcion un tangto "generica" (no sé si es el termino correcto) porque no tiene refencias de otras partes del codigo de la aplicacion.

Está dicha funcion enlazada de alguna manera con los try...finaly?

Disculpen mi novatada.
Responder Con Cita
  #10  
Antiguo 13-09-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Estos tres funcionan juntos y sirven para llamar a otro programa.
El primero lo que hace es enviar un mensaje de error si detener el programa.
Código Delphi [-]
function SysErrorMessageParam(ErrorCode: Integer; Param: string): string;
var
  Len: Integer;
  Buffer: array[0..255] of Char;
  ArgArray: array[1..1] of PChar;
begin
  ArgArray[1] := PChar(Param);
  Len := FormatMessage(Format_Message_From_System or
    Format_Message_Argument_Array, nil, ErrorCode, 0, Buffer,
    SizeOf(Buffer), @ArgArray);
  while (Len > 0) and (Buffer[Len - 1] in [#0..#32, '.']) do Dec(Len);
  SetString(Result, Buffer, Len);
end;

Código Delphi [-]
function TFMainForm.ExecuteApp(AppName, Params: string): TProcessInformation;
var
  SI: TStartupInfo;
  PI: TProcessInformation;
begin
  FillChar(SI, SizeOf(SI), 0);
  with SI do
  begin
    cb := SizeOf(TStartupInfo);
    dwFlags := StartF_UseShowWindow;
    wShowWindow := sw_ShowNormal;
  end;
  if not CreateProcess(nil, PChar(AppName + ' ' + Params), nil,
           nil, False, 0, nil, nil, SI, PI) then
    raise EExecAppError.Create(SysErrorMessageParam(GetLastError, AppName));
  Result := PI;
end;

Código Delphi [-]
procedure TFMainForm.Launch(AppName, Params: string);
begin
  ExecuteApp(AppName, Params);
end;

Saludos
__________________
Siempre Novato
Responder Con Cita
  #11  
Antiguo 13-09-2008
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 25
Caral Va por buen camino
Hola
Aparte de lo dicho en el post anterior.....(revisalo)
Este es un ejemplo de lo que hace dicha funcion, ejecuta el proyect1 y veras lo que sucede.
Saludos
__________________
Siempre Novato

Última edición por Caral fecha: 19-09-2008 a las 16:03:50.
Responder Con Cita
  #12  
Antiguo 14-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Cita:
Empezado por epenor Ver Mensaje
Muy bien Delphi, me refiero a la funcion SysErrorMessageParam(ErrorCode: Integer; Param: string): string; del programa de facturacion de caral.

Segun he visto en el codigo esa funcion captura los errores que puede cometer la persona que opera el sistema y asi evita que la aplicacion "explote". Por ejemplo, si se deja algun Edit vacio que sea not null en la DB y se intenta guardarlo.

No veo ningun procedimiento desde donde se llame la funcion, pero si se refleja su funcionamiento, asi que quieria saber si esa funcion puede ser usada en una aplicacion similar a la de caral, porque me parece una funcion un tangto "generica" (no sé si es el termino correcto) porque no tiene refencias de otras partes del codigo de la aplicacion.

Está dicha funcion enlazada de alguna manera con los try...finaly?

Disculpen mi novatada.
Hola epenor, Creo que estás un tanto confundido... el uso del try-finally es una cosa, lo que hacen esas funciones es otra. Creo que el ejemplo de caral demuestra que es lo que hacen.

No te enojes pero creo que estás enfocando mal tu esfuerzo, no le pongas demasiado detalles al aspecto del manejo de errores. Primeramente asegúrate de cumplir con los objetivos primarios:
1. Que el sistema se logre conectar a la base de datos
2. Que realize las funcionalidades necesarias para responder a los requisitos planteados para el sistema.

Después si se lo puede adornar.

Si sigues analizando aspectos que poco estén relacionados con el verdadero propósito perderás tiempo y además conseguirás únicamente tener una ensalada en el cerebro.

Haz caso a lo que te hemos aconsejado: plantea tus dudas y avances. ¿De que otro modo podremos asesorarte si no nos describes tu situación con los detalles adecuados?

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #13  
Antiguo 16-09-2008
Avatar de HombreGordo
HombreGordo HombreGordo is offline
Miembro
 
Registrado: jul 2008
Posts: 41
Poder: 0
HombreGordo Va por buen camino
Smile ¡Y díganmelo a mí!

Bueno, ya hace ya algún tiempo hice un programa de ventas, mira como funciona:
  • Agregar registros es agregar asientos a la tabla.
  • Unas multiplicaciones por ahí (por ejemplo: Cantidad por precio unitario).
  • Sumar la columna de los totales.
  • Imprimir por el Rave Reports.
No puedo enseñarte el código hecho porque es un trabajo privado, y esto que te dije puede ser fácilmente adivinado solo mirando el programa por encimita, pero si buscas todos los hilos que he hecho en este foro, puedes darte cuenta que todos giran alrededor del proyecto. Y sin mucha explicación te guiarás a la perfección, son unos hilos muy completos. Saludos a todos y gracias a quiénes me han ayudado a lo largo de mi vida en este foro.
__________________
Aprendiz de Embarcadero RAD Studio...
Responder Con Cita
  #14  
Antiguo 19-09-2008
Avatar de DJerez
DJerez DJerez is offline
Miembro
 
Registrado: ago 2008
Posts: 12
Poder: 0
DJerez Va por buen camino
*****

Epenor:
Si te interesa una guia de novato respecto a lo que querés hacer te recomiendo que aunque o tengas tiempo, te des una mirada a otros post referidos a cada aspecto que va a tener el programa.

Hace un tiempito me sucedió lo mismo, Delphius me dió una guía junto con Caral (Naty???) si bien terminé un poco excedido de tiempo el trabajo, me di cuenta que si sos un poco ordenado ni siquiera es necesario bajarte nada desde el FTP.

Si te interesa te puedo pasar parte de lo que terminé haciendo en Delphi7, es un control de stock y ventas. Quizás te sirva de guía. daniel.e.jerez@gmail.com Correo+MSN.

Abrazo a todos.

PD: Espero no moleste mi comment al resto de la gente.

__________________
"Cada minuto que pasa es una oportunidad más para cambiarlo todo."
Responder Con Cita
  #15  
Antiguo 21-09-2008
epenor epenor is offline
Miembro
 
Registrado: jul 2008
Posts: 22
Poder: 0
epenor Va por buen camino
Gracias a todos por sus sugerencias y consejos, he estado corto de tiempo y no he podido hacer casi nada con el proyecto, por eso hacia dias que no escribia. Desde mañana comenzaré a trabajar y plantear mis dudas.

Saludos a todos.
Responder Con Cita
  #16  
Antiguo 22-09-2008
epenor epenor is offline
Miembro
 
Registrado: jul 2008
Posts: 22
Poder: 0
epenor Va por buen camino
Aqui les traigo el diseño de la base de datos, quisiera saber su opinion al respecto.



Responder Con Cita
  #17  
Antiguo 22-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Hola epenor,
Por lo que veo del diseño está bien, aunque hay algunas cositas que deberías tener en cuenta. Vamos por lo más fácil primero.

¿Que debemos entender por suplidores? ¿Al proveedor de dichos artículos? O al encargado de reponer dichos artículos en las góndolas?

Bueno esto te lo pregunto, ya que esto te hará comprender mejor tu modelo del negocio.

Ya sea quien se encarga de abastacer las góndolas o el proveedor deberías tener muy en cuenta la relación. ¿Se trata de una relación 1-M? ¿Puede darse el caso en que un artículo sea repuesto o proporcionado por más de un suplidor/proveedor?

Segunda cuestión: si bien se trata de ventas... debe llevarse registros del stock. No veo en tu diseño que se lleve a cabo.

tercera cuestión, la más importante: ¿El precio que figura allí en la tabla artículos es el de compra o el de venta? ¿Nunca va a variar?
Noto allí un problema un tantito molesto. Tanto el precio de compra como de venta puede variar de un día a otro. Si nos basamos en tu diseño, ante cualquier modificación del valor perderíamos el valor anterior. Cualquier reporte o consulta sobre los "movimientos" de los precios no funcionaría.
Es necesario llevar este histórico.
De igual forma, sucede con el valor de los impuestos.... ¡pueden variar!

No se que tan exquisito deba ser tu sistema. Como ya te hemos indicado, puede ser algo básico... como también podría ser lo bastante completo y complejo. Necesariamente para opinar más sobre el tema deberíamos ponernos en tus zapatos y conocer los límites de tu sistema.
Al tratarse de un trabajo para la universidad tal vez sea básico, pero palabras como complejo, básico, fácil, difícil tienen un valor bastante subjetivo.

Una gran verdad es que hay muchas maneras de diseñar una base de datos... Cada uno puede tener una mirada distinta sobre la misma realidad. En ocasiones un diseño puede afectar el modo en como llevar a cabo la el diseño del sistema, y a la inversa... la manera en como se diseñe al sistema puede afectar a la manera en como se diseñe la base de datos.
¿Porqué te digo esto? Porque algunas cosas resultan más fácil para uno hacerlas a nivel de base de datos, y otras a nivel de sistema. Debes buscar el equilibrio entre tu experiencia y tus falencias para conseguir diseñar tanto la base de datos como al sistema.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #18  
Antiguo 22-09-2008
epenor epenor is offline
Miembro
 
Registrado: jul 2008
Posts: 22
Poder: 0
epenor Va por buen camino
Hola Delphius, dado que mi sistema es algo básico y para la universidad, lo que significa que no será un sistema para poner en producción, no tengo planeado llevar registro de la variacion de los precios. El precio que aparece en la tabla de articulos es el precio de venta (no almaceno precio de costo de los articulos). El stock lo pienso manejar con el campo "minino" de la tabla de articulos, así cuando queden por ejemplo 100 unidades de X articulo, mandaré un aviso de que se está acabando ese articulo.

Con respecto a los suplidores, en mi caso es lo mismo que proveedores.

Como puedes notar, esa base de datos es para algo realmente basico, solo para ventas al contado. Si estoy pensando cómo establecer privilegios a los usuarios, de manera que pueda tener 3 nives: vendedodes comunes que sólo facturen y consulten, vendedores avanzados que puedan adicionar articulos, o modificar algunas cosas y el administrador. (esto es un requisito del profesor)

Un saludo.
Responder Con Cita
  #19  
Antiguo 22-09-2008
Avatar de Delphius
[Delphius] Delphius is offline
Miembro Premium
 
Registrado: jul 2004
Ubicación: Salta, Argentina
Posts: 5.582
Poder: 25
Delphius Va camino a la fama
Entiendo,
Entonces a mi modo de ver, está bien. No veo algo raro.

Nomás te aviso que lo que tu digas no siempre es lo que el profe dice y/o quiere. Por las dudas, habla con él y analiza apropiadamente los límites del sistema.
Si dices que es básico, y que dice que te vas a encargar de ventas... entonces es posible que esa tabla suplidores (no me agrada mucho el nombre, sería apropiado llamarla proveedores) esté demás. No veo que de utilidad tiene relacionar los artículos con los proveedores si no hay alguna función establecida.

Cuentas de que cuando llega a x cantidad mínima el sistema avisa. ¿Tienes contemplado la posibilidad de que se cuente con los medios para la compra y adquisisión de más artículos? Si es así, allí si tendría sentido disponer de esa tabla de proveedores, y además podría ser necesario contar con las tablas compras y detale_compras para llevar el registro de compras.

Saludos,
__________________
Delphius
[Guia de estilo][Buscar]
Responder Con Cita
  #20  
Antiguo 22-09-2008
epenor epenor is offline
Miembro
 
Registrado: jul 2008
Posts: 22
Poder: 0
epenor Va por buen camino
Bueno, cambiaré el nombre por proveedores se escucha mejor. Tengo la tabla articulos y proveedores relacionada porque pieson sacar algun reporte articulos por proveedores.

No tengo contemplado generar ordenes de compra porque entonces se me hará mas extenso el asunto, solamente necesito el modulo de facturacion. El aviso del stock minimo es simplemente una alerta para que no se agote un articulo súbitamente. Aun no estaria mal la parte de manejar las compras de manera básica, asi podría hasta adicionar automaticamente los articulos de la orden.
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
Estadisticas de Ventas CoCaInE Varios 5 04-01-2007 13:56:25
Distribución de ventas mensual DarkDudae Varios 0 31-08-2006 14:30:14
Contar ventas. Producto77 SQL 5 20-07-2006 19:51:56
Un 25% de las ventas de Dell son en Linux Casimiro Notevi Noticias 1 09-06-2006 10:31:02
Ventas de PC con Linux. REHome Linux 4 03-05-2004 15:52:23


La franja horaria es GMT +2. Ahora son las 12:26:35.


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