bueno sigo intentando, lo detallo en el codigo los cambios, pero surge el problema de master record mising...
primera modificacion en la carga del producto en la clave principal, la toma de la factura.
Código Delphi
[-]procedure TForm14.DBGrid2DblClick(Sender: TObject);
begin
Table2.Filtered := False;
Table2.Close;
Table7.Close;
Table2.Open;
Table7.Open;
Table7.Last;
Table7.Edit;
if combobox1.Text = 'Productos' then
begin
datasource5.DataSet:= Table4; Table2.Insert; Table2Cod_prodser.Value:= Table4Cod_prod.Value; Table2Codigo.Value:= Table4Codigo.Value;
Table2Descripcion.Value:= Table4Descripcion.Value;
Table2Importunidad.Value:= Table4ImpVent.Value;
Table2Cantidad.Value:= StrToFloat(Edit1.Text); Table2TotalImp.Value:=Table2Cantidad.Value * Table2Importunidad.Value; Table2ID_Factura.Value:=Table1Cod_detalleFactura.value + 1; Table2.Post; end;
if combobox1.Text = 'Servicios' then
begin
datasource9.DataSet:= Table8; Table2.Insert; Table2Cod_prodser.Value:= Table5Cod_servcio.Value; Table2Codigo.Value:= Table5Codigo.Value;
Table2Descripcion.Value:= Table5Servicio.Value;
Table2Cantidad.Value:= StrToFloat(Edit1.Text); Table2Importunidad.Value:= Table5ImpServ.Value;
Table2TotalImp.Value:=Table2Cantidad.Value * Table2Importunidad.Value;
Table2ID_Factura.Value:=Table1Cod_detalleFactura.value + 1; Table2.Post; end;
calcula;
end;
Boton de nueva factura
Código Delphi
[-]procedure TForm14.BitBtn1Click(Sender: TObject); begin
Table1.Open;
Table1.Last;
Table2.Open;
Table2.Last;
Table7.Open;
Table7.Last;
Table1.insert;
Table1.Edit;
if Table2.IsEmpty then Application.MessageBox('Seleccione el cliente'+ #13'Cargue los Items a Facturar'+ #13 +'Luego pulse Nueva Factura','¡ATENCION!',Mb_OK + Mb_IconWarning)
else
begin
Table2.Refresh;
with Form14.Query1 do
begin
Close;
SQL.Clear;
SQL.Add('INSERT INTO detfacturafinal');
SQL.Add('SELECT * FROM detfactura');
ExecSQL;
end;
BitBtn1.Enabled := false;
SpeedButton4.Enabled:=true;
PageControl1.ActivePage := TabSheet2;
end;
end;
botón de guardar
Código Delphi
[-]procedure TForm14.SpeedButton4Click(Sender: TObject);
begin
Table1.Last;
k:=Table1.FieldByName('Cod_factura').AsInteger;k:=k+1;
Table7.Edit;
Table7.Post; Table1.Edit;
Table1.FieldByName('Cod_factura').AsInteger:=k;
Table1Cod_productserv.Value:=Table7Cod_prodser.Value;
Table1Cod_detalleFactura.Value:=Table7ID_factura.Value; Table1Cod_cliente.Value:=Table8Cod_prop.Value;
Table1Fecha.Value:=Now();
Table1Descuento.Value:=StrToFloat(Edit3.Text);
Table1Incremento.Value:=StrToFloat(Edit4.Text);
Table1Total.Value:=StrToFloat(Edit5.Text);
Table1.Post; BitBtn1.Enabled := true;
SpeedButton4.Enabled:=false;
Table7.Refresh;
Table1.Refresh;
end;
continuo intentando, ya saldra, si alguien ve que estoy haciendo mal, me avisa por favor
gracias.