si lo que quieres es coger cod, descr (que existen tanto en productos como servicios) entonces si, tendras que averiguar que dbgrid es la seleccionada (aunque si lo miras bien, puedes usar una unica tabla productos+servicios y en ella que este incluidos todos los trabajos/ventas). Puedes usar DBGrid.Focused, por ejemplo:
Código Delphi
[-]
if DBGrid1.Focused then
begin
cod := DBGrid1.DataSource.DataSet.FieldByName('cod').Asinteger;
...
end
else
if DBGrid2.Focused then
begin
cod := DBGrid2.DataSource.DataSet.FieldByName('cod').Asinteger;
...
end;
lo malo es que al clickar el boton, las grids te perderan el foco. Creo que tendrias que ponerlo todo en una unica tabla o bien hacer dos botones de agregar, uno por productos y otro por servicios. saludos.