Gracias por los consejos, pero al crear el reporte le pase los valres que necesito los de los dos parametros y si me sale, 11 y A que son el numero de factura y el tipo.
Lepe probe poniendo el previewmodal; en vez de .preview y nada!
aca pongo el codigo del boton en el que guardo y quiero imprimir la factura, disculpen si no esta bien programado, es que es mi primer sistemita de prueba.
Despues lo ordenare un poco, Lo que me interesa es que me guarda las en las tablas factura y facturadetalle...tambien me descuenta el stock.
Acepto criticas sobre tabulacion y en caso de que muy desordenado.
Código Delphi
[-]procedure TFrmfdepago.BitBtn1Click(Sender: TObject);
begin
If messagedlg('Los datos de la Factura son correctos?',MTwarning,mbOKCancel,0)<>
mrok
then
exit
else case frmtipofac.RadioGroup1.ItemIndex of
0:begin
frmtipofac.Query1.Close;
frmtipofac.Query1.SQL.Clear;
frmprincipal.Query1.SQL.Add('update contfaca');
frmprincipal.Query1.SQL.Add('set numfaca='+inttostr(numfaca));
frmprincipal.Query1.ExecSQL;
end;
1:begin
frmtipofac.Query2.Close;
frmtipofac.Query2.SQL.Clear;
frmtipofac.Query2.SQL.Add('update contfacb');
frmtipofac.Query2.SQL.Add('set numfacb='+inttostr(numfacb));
frmtipofac.Query2.ExecSQL;
end;
2:begin
frmtipofac.Query2.Close;
frmtipofac.Query2.SQL.Clear;
frmtipofac.Query2.SQL.Add('update contfacb');
frmtipofac.Query2.SQL.Add('set numfacb='+inttostr(numfacb));
frmtipofac.Query2.ExecSQL;
end;
3:begin
frmtipofac.Query2.Close;
frmtipofac.Query2.SQL.Clear;
frmtipofac.Query2.SQL.Add('update contfacb');
frmtipofac.Query2.SQL.Add('set numfacb='+inttostr(numfacb));
frmtipofac.Query2.ExecSQL;
end;
4:begin
frmtipofac.Query2.Close;
frmtipofac.Query2.SQL.Clear;
frmtipofac.Query2.SQL.Add('update contfacb');
frmtipofac.Query2.SQL.Add('set numfacb='+inttostr(numfacb));
frmtipofac.Query2.ExecSQL;
end;
end;
with dmzingueria do begin
factura.Insert;
facturanumfactura.Value:=strtofloat(frmfactura.Label12.Caption);
facturaclicod.Value:=strtofloat(frmfactura.DBText1.Caption);
facturafecha.Value:=strtodate(fecha);
facturadescuento.Value:=strtofloat(frmfactura.eddescmonto.Text);
facturatipofac.Value:=frmfactura.Label9.Caption;
if radiobutton1.Checked then begin
facturactacte.Value:=strtofloat(currencyedit2.Text);
facturapagado.Value:=false;
facturaimportetotal.Value:=strtofloat(currencyedit2.Text)
end else if radiobutton2.Checked then begin
facturaefectivo.Value:=strtofloat(currencyedit2.Text);
facturapagado.Value:=true;
facturatartipo.Value:='Ninguna';
facturaimportetotal.Value:=strtofloat(currencyedit2.Text)
end else if radiobutton3.Checked then
facturatarjeta.Value:=strtofloat(currencyedit2.Text);
facturatartipo.Value:=edit3.Text;
facturatarcupon.Value:=edit1.Text;
facturaobservacion.Value:=edit2.Text;
facturaimportetotal.Value:=strtofloat(currencyedit2.Text);
facturapagado.Value:=true
end;
dmzingueria.Factura.Post;
dmzingueria.facdetalle.Insert;
frmfactura.MDtemporal.Insert;
frmfactura.MDtemporal.First;
while not frmfactura.MDtemporal.Eof do
begin
dmzingueria.facdetalle.Append;
dmzingueria.facdetalleNumfactura.Value:=strtofloat(frmfactura.Label12.Caption);
dmzingueria.facdetalleTipofac.Value:= frmfactura.Label9.Caption;
dmzingueria.facdetalleCantidad.Value:=frmfactura.MDtemporalCantidad.Value;
dmzingueria.facdetalleCodipro.Value:=frmfactura.MDtemporalCodigo.Value;
dmzingueria.facdetalleConcepto.Value:=frmfactura.MDtemporalDescripcion.Value;
dmzingueria.facdetallePrecio.Value:=frmfactura.MDtemporalPreciou.Value;
dmzingueria.facdetalle.Post;
frmfactura.MDtemporal.Next;
end;
frmfactura.Query1.Close;
frmfactura.Query1.SQL.Text:='Update stock set prostkact=prostkact-rcantidad where procod=rprocod';
frmfactura.Query1.Prepare;
frmfactura.MDtemporal.First;
frmfactura.MDtemporal.DisableControls;
try
while not frmfactura.MDtemporal.Eof do
begin
frmfactura.Query1.ParamByName('prcantidad').AsFloat:=frmfactura.MDtemporal.fieldbyname('Cantidad').A sFloat;
frmfactura.Query1.ParamByName('prprocod').AsFloat:=frmfactura.MDtemporal.fieldbyname('codigo').AsFlo at;
frmfactura.Query1.ExecSQL;
frmfactura.MDtemporal.Next;
end;
finally
frmfactura.MDtemporal.First;
frmfactura.MDtemporal.EnableControls;
end;
try
if query2.Active then close;
quickrfactura:=tquickrfactura.Create(self);
Query2.Params.ParamByName('Nrofact').Value := numfa;
Query2.Params.ParamByName('Tipofact').Value := tipofa;
quickrfactura.QRLabel1.Caption:=floattostr(numfa); quickrfactura.QRLabel2.Caption:=(tipofa); Query2.Open;
quickrfactura.PreviewModal;
finally
quickrfactura.Free;
end;
Desde ya muchas gracias por su atencion.