Hola
Me funciona pero la segunda vez me da un error de is not a valid floating point value.
estoy seguro que es por otra razon, la estoy buscando amigo.
Este es el codigo completo para que lo veas:
Código Delphi
[-]
procedure TFFactura.BitBtn2Click(Sender: TObject);
var i,e : integer;
Valor: String;
begin
FSelProdFact:=TFSelProdFact.Create(self);
FSelProdFact.Precio := Label15.Caption;
If (SGFact.RowCount = 2) AND (SGFact.Cells[2,1] = '') then FSelProdFact.Filtro := ''
else
begin
FSelProdFact.Filtro := 'NumSerie <> '+ SGFact.Cells[2,1];
i:=2;
While i < SGFact.RowCount do
begin
FSelProdFact.Filtro := FSelProdFact.Filtro + ' AND NumSerie <> '+SGFact.Cells[2,i];
i:=i+1;
end;
end;
try
If CBFactura.Text = 'Productos' then
begin
FSelProdFact.CheckBox1.Checked:= True;
end;
If CBFactura.Text = 'Materiales' then
begin
FSelProdFact.BitBtn4.Visible:= False;
FSelProdFact.CheckBox1.Checked:= False;
end;
FSelProdFact.ShowModal;
finally
If FSelProdFact.Cancela = False then
Begin
If Cuenta > 1 then SGFact.RowCount := SGFact.RowCount + 1;
If FSelProdFact.CheckBox1.Checked = True then
begin
QTemp.Close;
QTemp.SQL.Text := 'SELECT Descripcion|| '' '' ||Categoria|| '' '' ||SubCategoria AS Descr, Precio1 FROM Articulos '+
'WHERE CodParte = '+QuotedStr(FSelProdFact.Edit1.Text);
QTemp.Open;
end;
If FSelProdFact.CheckBox1.Checked = False then
begin
QTemp.Close;
QTemp.SQL.Text := 'SELECT Descripcion AS Descr FROM Materiales '+
'WHERE CodMaterial = '+QuotedStr(FSelProdFact.Edit1.Text);
QTemp.Open;
end;
if not ExisteNro(SGFact, FSelProdFact.Edit2.Text, 2) then
begin
SGFact.Cells[0,cuenta] := FSelProdFact.Edit1.Text;
SGFact.Cells[1,cuenta] := QTemp.Fields[0].AsString;
SGFact.Cells[2,cuenta] := FSelProdFact.Edit2.Text;
SGFact.Cells[3,cuenta] := FSelProdFact.Edit3.Text;
SGFact.Cells[4,cuenta] := Format('%8.2f',[FSelProdFact.FloatEdit1.Value]);
SGFact.Cells[5,cuenta] := Format('%8.2f',[FSelProdFact.FloatEdit1.Value * StrToFloat(SGFact.Cells[3,cuenta])]);
If FSelProdFact.CBIV.Checked then SGFact.Cells[6,cuenta] := 'Si' else SGFact.Cells[6,cuenta] := 'No';
Cuenta := Cuenta +1;
QTemp.Close;
SortGrid(SGFact,0,0);
CalculaTotales;
end;
end;
FSelProdFact.Free;
end;
end;
Saludos