Original query:

select 
	coalesce(grade.cdImpProduto, grade.idbGradeProduto || '') as codigo,
	grade.codBarraGrade as codigoBarra,
	grade.nmproduto as nome, 
	coalesce(grupo.cdgrupoimp, grupo.idbgrupo || '') as codigogrupo, 
	grupo.dsgrupo as nomeGrupo, 
	coalesce(subgrupo.cdsubgrupoimp, subgrupo.idbsubgrupo || '') as codigoSubGrupo, 
	subgrupo.dssubgrupo as nomeSubGrupo, 
	grade.refFornecedor as referencia, 
	marca.dsmarca as marca, 
	produto.dsaplicacao as aplicacao, 
	grade.qtdpesobruto as peso, 
	preco.vlPreco as preco, 
	grade.dtvalidade as validade, 
	unidade.codunidade as unidade, 
	CASE WHEN tpmarca = 'E' THEN marca.dsMarca ELSE '' END as editora, 
	produto.stvendaweb as stInternet, 
	SUM(estoque.qtd - estoque.qtdReserva) as estoque

from est_gradeproduto grade
INNER JOIN est_produto produto using (idbproduto)
INNER JOIN est_estoque estoque using (idbgradeproduto)
INNER JOIN est_listaprecoproduto preco using (idbgradeproduto)
INNER JOIN est_divisao divisao using (idbdivisao)
INNER JOIN est_subgrupo subgrupo using (idbsubgrupo)
INNER JOIN est_grupo grupo using (idbgrupo)
INNER JOIN est_marca marca using (idbmarca)
INNER JOIN est_unidade unidade ON unidade.idunidade = produto.idUnidadeBaseProduto

where 

preco.tppreco = 'V1'
AND 	(
		grade.dtAlteracaoGrade > now()
		OR produto.dtAlteracaoProduto > now()
		OR estoque.dtUltMovimentacao > now()
	)

GROUP BY 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16
limit 1000

Prettified:

SELECT
  COALESCE("grade"."cdimpproduto", "grade"."idbgradeproduto" || '') AS codigo,
  "grade"."codbarragrade" AS codigobarra,
  "grade"."nmproduto" AS nome,
  COALESCE("grupo"."cdgrupoimp", "grupo"."idbgrupo" || '') AS codigogrupo,
  "grupo"."dsgrupo" AS nomegrupo,
  COALESCE("subgrupo"."cdsubgrupoimp", "subgrupo"."idbsubgrupo" || '') AS codigosubgrupo,
  "subgrupo"."dssubgrupo" AS nomesubgrupo,
  "grade"."reffornecedor" AS referencia,
  "marca"."dsmarca" AS marca,
  "produto"."dsaplicacao" AS aplicacao,
  "grade"."qtdpesobruto" AS peso,
  "preco"."vlpreco" AS preco,
  "grade"."dtvalidade" AS validade,
  "unidade"."codunidade" AS unidade,
  CASE
    WHEN "tpmarca" = 'E' THEN "marca"."dsmarca"
    ELSE ''
  END AS editora,
  "produto"."stvendaweb" AS stinternet,
  sum("estoque"."qtd" - "estoque"."qtdreserva") AS estoque
FROM
  "est_gradeproduto" grade
  JOIN "est_produto" produto USING ("idbproduto")
  JOIN "est_estoque" estoque USING ("idbgradeproduto")
  JOIN "est_listaprecoproduto" preco USING ("idbgradeproduto")
  JOIN "est_divisao" divisao USING ("idbdivisao")
  JOIN "est_subgrupo" subgrupo USING ("idbsubgrupo")
  JOIN "est_grupo" grupo USING ("idbgrupo")
  JOIN "est_marca" marca USING ("idbmarca")
  JOIN "est_unidade" unidade ON ("unidade"."idunidade" = "produto"."idunidadebaseproduto")
WHERE
  "preco"."tppreco" = 'V1' AND
  (
    "grade"."dtalteracaograde" > now() OR
    "produto"."dtalteracaoproduto" > now() OR
    "estoque"."dtultmovimentacao" > now()
  )
GROUP BY
  1,
  2,
  3,
  4,
  5,
  6,
  7,
  8,
  9,
  10,
  11,
  12,
  13,
  14,
  15,
  16
LIMIT
  1000