Script
item estabelecimento text, label = 'Estabelecimento';
item tipo_estoque text, label = 'Tipo de estoque';
item estoque_disponivel text, label = 'Estoque disponível';
select eEmp.nome_estabelecimento as estabelecimento
, te.tipo_estoque as tipo_estoque
, coalesce(coalesce(ep.estoque_atual,0.0)
- (select coalesce(sum(v.quantidade), 0.0)
from V_RESERVAS_PRODUTOS v
join produtos prod on prod.id = v.produto_id
WHERE v.produto_id = ep.produto_id
and v.estabelecimento_id = ep.estabelecimento_id
and (v.tipo_estoque_id is null or v.tipo_estoque_id = ep.tipo_estoque_id)
limit 1), 0.0) as estoque_disponivel
from pedidos ped
join estabelecimentos eped on eped.id = ped.estabelecimento_id
join estabelecimentos eEmp on eEmp.empresa_id = eped.empresa_id
join estoques_produtos ep on ep.estabelecimento_id = eEmp.id
join tipos_estoques te on te.id = ep.tipo_estoque_id
join produtos p on p.id = ep.produto_id
where p.produto = '${produto}'
and ped.id = ${pedido_id}
and ep.permite_venda = 'S'
and ep.ativo = 'S'
and te.soma_no_estoque_venda = 'S'