Itens de orçamento

Como apresentar os estoques do produto na inclusão de itens de um orçamento?

ORCAME06.CAD_ORCAMENTO_06_ITENS.FAQ-143877
Durante o cadastramento dos produtos em um orçamento, é possível apresentar os estoques disponíveis configurando a preferência abaixo:

ORCAME06.CAD_ORCAMENTO_06_ITENS.ESTOQUES.SCRIPT

Script utilizado para apresentação dos estoques disponíveis para um produto que está sendo incluído no pedido.

O script deve utilizar as seguintes variáveis de contexto:

Exemplo

Apresentar os estoques do estabelecimento e dos demais estabelecimentos da mesma empresa (matriz e filiais):
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'