Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-06-2004
jmedina jmedina is offline
Miembro
 
Registrado: jun 2004
Posts: 92
Poder: 20
jmedina Va por buen camino
Question Generar Numero Automatico en Cotizacion

Que tal:


Espero me puedan ayudar no se como hacerlo, quiero un numero automatico de cotizacion anidado al año en que se este trabajando por ejemplo 001/2004...999/2004 y este se incremente 002/2004 etc , y que este se ponga en un campo especifico de mi base de datos en paradox llamado ( CodCot), y tambien si es que se pueda inicializar el 001 cuando cambie a el año 2005, este dato lo quiero generar cuando de una nueva cotiazacion, creen que se pueda realizar espero de su gran ayuda.

Gracias, Una Persona que empieza a programar

Saludos
Responder Con Cita
  #2  
Antiguo 28-06-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Bueno es fácil.

Yo lo primero que hago es en una tabla que llamo configuración guardo en un campo el ejercicio, por ejemplo 2.004, con esto ya tenemos una parte hecha, en otro campo guardo el número actual.

Al dar un alta le sumo uno al número actual y lo concateno con el ejercicio que el usuario lo cambiará cada año cuando decida comenzar con el nuevo ejercicio que no tiene porque ser precismante el 1 de enero de cada año, pues ya se sabe que se dejan algunos días para completar el ejercicio anterior.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #3  
Antiguo 28-06-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Te añado un pequeño ejemplo para que acabes de ver la idea:
Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 var
 nEjercicio:Integer;
 nNumero:Integer;
 cNumero:String;
 begin
 nEjercicio:=2004;
 nNumero:=30;
 nNumero:=nNumero+1;
 cNumero:=FormatFloat('0000',nNumero)+'/'+IntToStr(nEjercicio);
 ShowMessage(cNumero);
 end;

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #4  
Antiguo 28-06-2004
jmedina jmedina is offline
Miembro
 
Registrado: jun 2004
Posts: 92
Poder: 20
jmedina Va por buen camino
Cita:
Empezado por marcoszorrilla
Te añado un pequeño ejemplo para que acabes de ver la idea:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
nEjercicio:Integer;
nNumero:Integer;
cNumero:String;
begin
nEjercicio:=2004;
nNumero:=30;
nNumero:=nNumero+1;
cNumero:=FormatFloat('0000',nNumero)+'/'+IntToStr(nEjercicio);
ShowMessage(cNumero);
end;

Un Saludo.
Ok si lo entiendo pero como hacerlo de una manera automatica donde el año lo tome de la fecha que se le esta asignando y asi mismo cuando cambie el año se reinicie en 001 , gracias por la ayuda espero me heches la mano, otrra cosa veoel anuncio de lo del delphi PACK, y me interesaria, no sabes como conseguirlo y cuanto cuesta en pesos

saludos
Responder Con Cita
  #5  
Antiguo 28-06-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
Aquí tienes una parte.
Código Delphi [-]
 procedure TForm1.Button1Click(Sender: TObject);
 var
 nNumero:Integer;
 cNumero:String;
 nAn,nMes,Ndia:Word;
 begin
 DecodeDate(Date,nAn,nMes,nDia);
 nNumero:=30;
 nNumero:=nNumero+1;
 cNumero:=FormatFloat('0000',nNumero)+'/'+IntToStr(nAn);
 ShowMessage(cNumero);
 end;

Que conste que no voy de acuerdo con este planteamiento, porque es posible que todavía en Enero tengamos que hacer algún apunte del año pasado, pero bueno.

En cuanto al cambio automático de contador, tendríamos que crear en la tabla que controle este suceso, un campo con el ejercicio y otro de tipo boolean con valor True que por ejemplo llamaríamos actualizado, en el año actual tendríamos ejercicio = 2004 y Actualizado = True en el cambio de año pondríamos actualizado = False y el contador = 0, en el cambio de contador a uno pondríamos de nuevo actualizado = True.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #6  
Antiguo 28-06-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
El DelphiPack, está agotado, el administrador del Foro está preparando una nueva edición, teniendo en cuenta que tiene mucho trabajo, es posible que para el verano, más bien al final salga una nueva edición, en este caso se anunciará oportunamente, modo de conseguirlo y precio.

Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #7  
Antiguo 29-06-2004
Avatar de DarkByte
DarkByte DarkByte is offline
Miembro
 
Registrado: sep 2003
Ubicación: Desconocido
Posts: 1.322
Poder: 22
DarkByte Va por buen camino
Por fin ya sabemos que pasa con el Delphi Pack. Si puedo ayudar en algo a Emilio... que lo diga .
__________________
:)
Responder Con Cita
  #8  
Antiguo 30-06-2004
jmedina jmedina is offline
Miembro
 
Registrado: jun 2004
Posts: 92
Poder: 20
jmedina Va por buen camino
que tal Nuevamente Marcos, tengo una duda no entiendo muy bien lo que me dices de manejar una minitabla para ejerciios, bueno el crearla es facil pero emprearla ahi si ando medio fritillo, como crees que le pueda hacer, si no es mucha molestia, te lo agradeceria de antemano


Gracias

JMedina
Responder Con Cita
  #9  
Antiguo 30-06-2004
Avatar de marcoszorrilla
marcoszorrilla marcoszorrilla is offline
Capo
 
Registrado: may 2003
Ubicación: Cantabria - España
Posts: 11.221
Poder: 10
marcoszorrilla Va por buen camino
En un Campo por ejemplo llamado ejercicio de una Tabla auxiliar que por ejemplo yo llamaría configuración y ahí guardaría todo lo genérico a la aplicación, color de los formularios...... y otras cosas.

Al arrancar la aplicación:

Pseudocódigo:
Cita:
Si año de la fecha > ConfiguraEjercicio.Value then
begin
ConfiguraContador.Value:=0;
ConfiguraEjercicio.Value:=Añodelafecha;
end;
Esto solamente ocurriría una vez al año por lo tanto el resto del año saldríamos de esta comprobación sin hacer nada.

Si el año de la fecha es mayor que el ejercicio, se realizan automáticamente dos funciones una poner el contador a 0, por lo tanto el siguiente recibo sería el 0001, ya que hemos dicho que siempre le sumamos uno al contador.

Y por otra parte el ejercio lo ponemos = al año, con lo cual hasta el año próximo no se volvería modificar el ejercicio y el contador seguiría su curso:

0001/04
0002/04
Cambio de año
Ejercicio = 2005
Contador= 0'
Siguiente recibo
Contador+1 = 0001
Ejercicio = 2005
Recibo 0001/05

Etc.


Un Saludo.
__________________
Guía de Estilo de los Foros
Cita:
- Ça c'est la caisse. Le mouton que tu veux est dedans.
Responder Con Cita
  #10  
Antiguo 30-06-2004
jmedina jmedina is offline
Miembro
 
Registrado: jun 2004
Posts: 92
Poder: 20
jmedina Va por buen camino
ok marcos gracias una ves mas espero poder adaptarlo y ver los resultados vale, yo digo que si funciona pero luego esta bueno adaptarlo a el evento que se necesite

cualquier cosa ya te tendre que molestar, espero no te ostigue


Saludos
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


La franja horaria es GMT +2. Ahora son las 13:55:56.


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