Orçamentos de serviços
Como configurar a apresentação dos pedidos e contratos gerados a partir de um orçamento?
ORCAME.CAD_ORCAMENTOS.FAQ-73463
A interface Orçamentos de serviços possui a possibilidade de apresentar os pedidos (ou contratos) gerados a partir de um orçamento.
Para isto, é necessário configurar a preferência ORCAME.CAD_ORCAMENTOS.SQL_PEDIDOS_GERADOS.
Exemplo 1:
Apresentar duas tabelas:
- Uma com pedidos gerados, e
- Outra com contratos serviços gerados através de um orçamento.
item pedido text_html, label='Pedido';
item valor_total decimal_value, label='Valor total';
item nome_completo text, label='Nome completo';
item tipo_pedido text, label='Tipo pedido';
item pessoa text, label='Cliente';
item situacao text, label='Situação';
item data_emissao date, label='Data emissão';
select '<a href=UtlPedidos?Z_ACTION=VIEW&A_ID='||ped.id||'>'||ped.pedido||'</a>' as pedido
, tiped.tipo_pedido,
(case
when ped.situacao = 'A' then 'Aprovado'
when ped.situacao = 'C' then 'Cancelado'
when ped.situacao = 'E' then 'Entregue'
when ped.situacao = 'I' then 'Emitido / Analise'
when ped.situacao = 'M' then 'Em manutenção'
when ped.situacao = 'O' then 'Pronto'
when ped.situacao = 'P' then 'Pendente / Proposta'
when ped.situacao = 'Q' then 'Qualificado'
when ped.situacao = 'R' then 'Perdido'
when ped.situacao = 'T' then 'Em trânsito'
when ped.situacao = 'V' then 'Vencido / Expirado'
when ped.situacao = 'X' then 'Em execução'
else ped.situacao end) as situacao
, ped.data_emissao, pcli.pessoa, pcli.nome_completo, ped.valor_total
from atendimento_item_pedido aten
join itens_pedidos itpe on itpe.id = aten.atende_item_id
join itens_pedidos ipaten on ipaten.id = aten.atendido_por_id
join pedidos ped on ped.id = ipaten.pedido_id
left join pessoas pcli on pcli.id = ped.cliente_id
join tipos_pedidos as tiped on tiped.id = ped.tipo_pedido_id
where itpe.pedido_id = ${pedido_id} and produto_contrato_servico_id is null
group by ped.id, ped.pedido, tiped.tipo_pedido, ped.situacao,ped.data_emissao, pcli.pessoa, pcli.nome_completo, ped.valor_total;
item contrato_servicos text_html, label='Contrato';
item situacao_contrato text, label='Situação';
item tipo_contrato text, label='Tipo contrato';
item tipo_servico text, label='Tipo serviço';
item data_cadastro date, label='Data cadastro';
item valor_contrato decimal_value, label='Valor contrato';
select '<a href=CadContratosServicos?Z_ACTION=VIEW&A_ID='||conser.id||'>'||conser.contrato_servicos||'</a>' as contrato_servicos
, tico.tipo_contrato, tise.tipo_servico, conser.data_cadastro,
case
when conser.situacao_contrato = 'A' then 'Ativo'
when conser.situacao_contrato = 'C' then 'Cancelado'
when conser.situacao_contrato = 'E' then 'Encerrado'
when conser.situacao_contrato = 'I' then 'Inadimplente'
when conser.situacao_contrato = 'M' then 'Manutenção'
when conser.situacao_contrato = 'N' then 'Em análise'
when conser.situacao_contrato = 'P' then 'Suspenso'
when conser.situacao_contrato = 'S' then 'Faturamento suspenso'
else conser.situacao_contrato end as situacao_contrato
, conser.valor_contrato
from atendimento_item_pedido aten
join itens_pedidos itpe on itpe.id = aten.atende_item_id
join contratos_servicos_produtos csp on csp.id = aten.produto_contrato_servico_id
join contratos_servicos conser on conser.id = csp.contrato_id
join tipos_contratos_servicos tico on tico.id = conser.tipo_contrato_id
join tipos_servicos tise on tise.id = conser.tipo_servico_id
where itpe.pedido_id = ${pedido_id} and aten.atendido_por_id is null
group by conser.id, conser.contrato_servicos, tico.tipo_contrato, tise.tipo_servico , conser.data_cadastro, conser.situacao_contrato, conser.valor_contrato;
Ver também: