Ver Mensaje Individual
  #6  
Antiguo 09-09-2012
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Reputación: 25
Caral Va por buen camino
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
// ************ Boton de Agregar **************
   FSelProdFact:=TFSelProdFact.Create(self);
   FSelProdFact.Precio := Label15.Caption;
 // Filtra las series que ya estan en la factura
   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;
    //  FSelProdFact.Edit2.ReadOnly:= False;
      end;
      FSelProdFact.ShowModal;
   finally
      // si no presiona cancelar en FSelProdFact
      If FSelProdFact.Cancela = False then
      Begin
      If Cuenta > 1 then SGFact.RowCount := SGFact.RowCount + 1;
      // si se vende un producto
      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;

      // Si se vende un Material
      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;
     
   // codigo que ve funcion de ecfisa
  // revisa la columna 2
    if not ExisteNro(SGFact, FSelProdFact.Edit2.Text, 2) then
    begin
      //  SGFact.Cells[2, SGFact.Row] := FSelProdFact.Edit2.Text;
 
         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
__________________
Siempre Novato
Responder Con Cita