PDA

Ver la Versión Completa : Necesito ayuda


magnu9
26-07-2007, 20:34:04
Tengo un problema con el siguiente codigo resulta que guardo lo que quiero en mi tabla de facturas al procesar, pero en dada ocaciones me dice el siguiente error '..... raised exception class EConvertError with message "" is not a valid integer value'...

procedure TUniFactura.BitBtn4Click(Sender: TObject);
var numfact, i : integer;
usuar, condic, tipfact, FechaVence, iv: String;
FPagoOK : Boolean;

begin
FPagoOK:= true;
If FPagoOk then
begin
usuar:=FormPrincipal.Label3.Caption;
tipfact:= UniFactura.ComboBox1.Text;
condic:= Label24.Caption;
ShortDateFormat := 'dd/mm/yyyy';
FechaVence := DateToStr(IncDay(now,(StrToInt(Label24.Caption))));
Label15.Caption:= FechaVence;
querFactura.Close;
querFactura.SQL.Text := 'select top 1 numfac, codcli, fecfac, codusu, tipfac, condicion, codart, fecvenc from factura order by numfac desc';
querFactura.Open;
If querFactura.RecordCount = 0 then NumFact:=1
else NumFact := querFactura.Fields[0].AsInteger+1;
querFactura.Close;
//Iniciar la Transaccion
ADOConnection1.BeginTrans;
try
// Insertar en la tabla de Factura
querFactura.SQL.Text := 'Insert Into Factura (numfac, codcli, fecfac, codusu, tipfac, condicion, codart, fecvenc) Values( '+IntToStr(NumFact)+','+Edit1.Text+','+QuotedStr(Fecha)
+','+QuotedStr(usuar)+','+QuotedStr(tipfact)+','+QuotedStr(condic)+','+IntToStr(codigoArtic)+','+Quo tedStr(FechaVence)+')';


For i := 1 to SgFact.RowCount-1 do
begin
querArticulo.SQL.Text := 'Update Articulo Set cexart = cexart - '+SGFact.Cells[2,i]+' Where '+
'Codart = '+QuotedStr(SGFact.Cells[0,i]);
querArticulo.ExecSQL;
end;
//Completa la Transaccion
ADOConnection1.CommitTrans;

finally
close;
end;
end;
end;

gabrielkc
26-07-2007, 20:38:27
Lee la guia de estilo por favor
http://www.clubdelphi.com/foros/guiaestilo.php

Caral
26-07-2007, 20:42:34
Hola magnu9

Escrito por magnu9
pero en dada ocaciones
Si es en ocasiones el error esta aqui:
+IntToStr(NumFact)+
0 Aqui:
+IntToStr(codigoArtic)+
A la hora de insertar no encuentra un integer o se le introduce un float,un string o nada, por eso da el error.
Solucion 1:
Coloca en este el valor correcto.
Solucion 2:
Trata cambiando los dos asi:
+QuotedStr(NumFact)+
Solucion 3:
Revisa el campo en la tabla que este sea integer o float, recuerda que un float acepta integer, pero no viceversa.
Me comentas.
Saludos

magnu9
26-07-2007, 20:45:28
Tu consejo me es de ayuda para lo que es el foro y de verdad gracias... se en lo que me equivoque, pero la verdad necesito la ayuda, siguiendo la guia de estilo... tambien esta el dar una posible solucion al problema que planteo... Cosejo + solucion estoy trabajando duro con este proyecto.

Gracias Caral... Siempre tan disponible... estoy viendo como esta ayudando a otro compañero del club con su sistema de Facturacion e Inventario... me pesa el no haber empesado este proyecto con tu ayuda ya que el mio es de Facturacion de Farmacia... me refiero a que debi planteartelo.

Un millon de gracias.

Caral
26-07-2007, 20:52:12
Hola
Sabes que en lo que necesites y pueda colaborar lo hare con gusto, si quieres que continuemos tu proyecto, me lo dices y esta hecho.
Por cierto, llevo no se ni cuantos mensajes y reconozco que nunca he leido la guia del foro, me imagino que de lo que trata es de la manera en que hay que comportarse en este, osea, tratar de ser gente y tartar de ayudar y ser ayudado, supongo.
Saludos

egostar
26-07-2007, 21:02:38
Hola magnu9, se te sugiere leer la guia de estilo porque el título de tu hilo de nada ayuda a quien tenga el mismo problema que tú, como podrían buscarla y encontrarla, ese es el punto.

Salud OS.

gabrielkc
26-07-2007, 21:05:48
siguiendo la guia de estilo... tambien esta el dar una posible solucion al problema que planteo... Cosejo + solucion estoy trabajando duro con este proyecto.


Si creo que tengas mucho trabajo habemos muchos que nos ganamos la vida haciendo esto. Y si juzgas mi disposición, checa mis mensajes trato de dar soluciones cuando puedo, sin mencionar que tengo varios contactos en mensajería instantanea del foro a los cuales ayudo sin problema.

Pero haber escrito un título más descriptivo te hubiera tomado el mismo tiempo y hubieras ayudado a otra gente que pudiera tener el mismo problema que tú. Me desespera que no piensen en los demás cuando hacen una pregunta. Y les vale porque saben que siempre va a haber alguien que les ayude, no importando lo que hagan, lo cual es muy injusto. Antes de criticar mi comentario piensa un poquito que los foros son para ayudar a toda la comunidad no a un usuario que se siente mas importante que los demás y siente que es la única persona con problemas.

Espero que los moderadores no editen mi mensaje....... pero si da coraje :(

Por cierto en mi perfil se encuentra mi cuenta de correo por si a alguien se le ofrece

magnu9
26-07-2007, 21:30:00
Ok pido mil disculpa... tienes todas las razon Gabrielkc y egostar, Perdonen mi adsurda manera de expresarme... Tienen todas la razon si alguien tienes el mismo problema como han de encontrarlo:confused: ... Gracias por su consejos.

magnu9
26-07-2007, 21:36:31
Caral aun me sale el mismo problema, lo estudiare bien y luego te comentaré.

Gracias de antemanos.

Chris
26-07-2007, 21:49:56
Puede ser que el problema sea con el campo "codcli" revisa que el valor del edit1.text no esté vacío antes de llamar el procedimiento.

mamaro
27-07-2007, 14:55:22
Podrías publicar cómo están formadas tus tablas, con nombres, tipos de campos, y restricciones (especialmente que campos se permiten nulos)

... saludos :cool: