Ver Mensaje Individual
  #21  
Antiguo 04-08-2014
giulichajari giulichajari is offline
Miembro
 
Registrado: nov 2012
Posts: 306
Reputación: 12
giulichajari Va por buen camino
Bueno encontre un problema en la aplicacion que puede estar relacionado, esto se debe a que tnego poca experiencia.

Sucede que el formulario de ticket tiene un boton de agregar producto que lleva a otro form con la lista de productos. Ademas contiene un dataset para poder "traer" el producto, y tener algunos campos calculables como totales y demas, pero me inserta en la tabla productos un registro. Pienso que por ahi va la cosa...

En el boton Agregar del form agregar producto:

Código Delphi [-]
begin
   if (GrillaProd.SelectedRows.Count=1) then
    begin
      ShowMessage('seleccione al menos un producto');
    end
    else
      if (Edit3.Text='') then
          begin
            ShowMessage('Especifique la cantidad a vender');
          end

      else
    begin
    //obtengo idprod para llenar ticket
      Form3.ZQuery1.ParamByName('idp').AsInteger:=GrillaProd.DataSource.DataSet.FieldByName('idproducto').  AsInteger;
        with Form3.ClientDataSet1 do
          begin
            Open;
            Insert;
            FieldByName('cantidad').AsFloat:=StrToFloat(Edit3.Text);
            FieldByName('nombre').AsString:=ZQuery1.FieldByName('nombre').AsString;

            FieldByName('preciou').AsFloat:=ZQuery1.FieldByName('preciou').AsFloat;
            FieldByName('total').AsFloat:=((StrToFloat(Edit3.Text)) * (ZQuery1.FieldByName('preciou').AsFloat));

            if State in [dsEdit,dsInsert] then
              Post;
            if ChangeCount>0 then
              begin
                ApplyUpdates(0);

              end;

        end;
         Form3.StringGrid1.Cells[1,0]:=Form3.ClientDataSet1.FieldByName('totalticket').AsString;
       end;
end;

Creo que corrigiendo esto va a andar, porque para que funcione el HACER TICKET del form de ticket tiene que estar bien seteada la grilla.
Responder Con Cita