Sistema de ordem de compra

ORCCOM

Descrição

Sistema de controle de ordens de compra para fornecedor. Os itens podem ser informados a partir de uma sugestão de compra com base nas vendas dos últimos 3 meses, ou manualmente. É obrigatória a informação do preço nos itens.

Procedimentos

Interfaces

Sub-sistemas relacionados

Dúvidas frequentes

Configurações

ORCCOM.CAD_ITENS_COMPRA.APLICAR_MVA_AJUSTADO_REGRAS

Aplicar o MVA ajustado na operação de ordem de compra

Preferencia define se deve ser aplicado o MVA ajustado no momento que o sistema calcula o percentual de ICMS-ST para a operação. Ela é utilizada somente quando a preferencia ORCCOM.CAD_ITENS_COMPRA.USAR_MVA_TIPO_PRODUTO estiver marcada(S).

Quando marcado é realizado o ajuste do percentual informado no tipo de produto conforme as regras:


Exemplo:
  • MVA do tipo de produto: 50%
  • Estado de origem: SP
  • Estado de destino: RS
  • Percentual de ICMS da operação entre SP para RS: 12%
  • Percentual de ICMS interno para o RS neste produto: 17,5%
  • Calculo:
((100+mva)*(100-inter)/(100-intra)-100) 
((100+50)*(100-12)/(100-17.5)-100) = ((150)*(88)/(82.5)-100) = (150*1,0666667-100) = 60%
  • MVA ajustado nesta operação é 60%.

Tipo: FLAG

ORCCOM.CAD_ITENS_COMPRA.APRESENTA_ULTIMOS_DOCUMENTOS

Define se deve apresentar um link para os dois últimos documentos de entrada do item.

Valor padrão: S

ORCCOM.CAD_ITENS_COMPRA.CALCULAR_ICMS_ST

Calcular o valor de ICMS-ST na operação de compra

Calcula o valor de ICMS-ST na operação de compra.

Tipo: FLAG

Valor padrão: S

ORCCOM.CAD_ITENS_COMPRA.DESTACAR_SITUACAO

Destacar itens pendentes

Destaca com cor diferenciada os itens de pedidos de compra (ordens de compra) pendentes.

Tipo: TEXT

Valor padrão: S

ORCCOM.CAD_ITENS_COMPRA.FILTRO_ESTABELECIMENTO

Valor padrão para o campo de filtro para estabelecimento

Valor padrão para o campo estabelecimento na operação de [b:Sugestão].

Valores:

NApenas o estabelecimento da ordem de compra: Apenas as informações do estabelecimento do pedido de compra serão filtrados/pesquisados
EUnificar informações dos estabelecimentos da empresa: Apenas as informações dos estabelecimentos vinculados a empresa do pedido de compra serão filtrados/pesquisados
MUnificar informações de todas empresas: Todas as informações dos estabelecimentos cadastrados serão filtrados/pesquisados


Tipo: TEXT

Valor padrão: N

ORCCOM.CAD_ITENS_COMPRA.INFORMAR_FATOR_CONVERSAO

Informar o fator de conversão do fornecedor

Define se deve ser apresentado o fator de conversão da unidade de medida do produto para a unidade de medida do produto para o fornecedor conforme informado na guia "Ref Fornec" (Referências de produtos para fornecedores) do Produtos.

Tipo: FLAG

Valor padrão: N

ORCCOM.CAD_ITENS_COMPRA.INFORMAR_SUGESTAO

Define se deve preencher o campo de quantidade sugerida com a quantidade calculada.
  • Marcado (valor = S): Preenche a quantidade informada com a sugestão.
  • Desmarcado (valor = N): Não preenche o campo de quantidade sugerida (permite ao usuário preenchê-lo manualmente) e é apresentada a quantidade sugerida calculada em coluna específica.

Tipo: TEXT

Valor padrão: S

ORCCOM.CAD_ITENS_COMPRA.ORIGEM_PRECO

Origem preço

Determina como será feita a preço do produto para inserir como sugestão no campo Preço unitário

  • G: Geral - retorna o preço que tem a data de atualização mais recente em REFERENCIAS_PRODUTOS_PESSOAS.
  • E: Estabelecimento - retorna o custo com data de atualização mais recente em PRODUTOS_PESSOAS_ESTABELECIMENTOS, se não encontrar um custo por estabelecimento, retorna o preço que tem a data de atualização mais recente em REFERENCIAS_PRODUTOS_PESSOAS (situação atual)
  • SELECT...: É possível informar uma expressão SQL que receberá 2 parâmetros: ${pedidoId} e ${produto} e retorne uma única coluna com o preço informado.
Ex:
select ppe.valor_custo_reposicao as valor
from pedidos ped
join PRODUTOS_PESSOAS_ESTABELECIMENTOS ppe on ppe.pessoa_id = ped.fornecedor_id
and ppe.estabelecimento_id = ped.estabelecimento_id
join produtos p on p.id = ppe.produto_id
where ped.id = ${pedido_id}
and p.produto = '${produto}'
order by data_atualizacao_custo desc
limit 1

Tipo: TEXT_LONG

Valor padrão: E

ORCCOM.CAD_ITENS_COMPRA.PESQUISA_PRODUTO

Interface para LOV de produtos

Define qual deve ser a interface que deve abrir ao clicar na lupa do campo de produtos.
P.ex.:

Tipo: TEXT

Valor padrão: PROD.CAD_PRODUTOS

ORCCOM.CAD_ITENS_COMPRA.SQL_HISTORICO_COMPRAS

SQL para apresentar histórico de compras do produto

SQL utilizado para apresentar o histórico de compras do produto. Quando informado, este campo representa um script que gera informações adicionais sobre este produto. Normalmente, esta preferência é utilizada para apresentar o histórico de compras realizadas para o fornecedor da respectiva ordem de compra, mas pode ser utilizada para agregar qualquer outra informação neste contexto.

A configuração da preferência pode ser realizada por estabelecimento, permitindo contextualizar as informações de acordo com as necessidades de cada empresa.

O preenchimento deve seguir a sintaxe do Telescope Script Engine que deve utilizar as seguintes variáveis de contexto (macros):

  • ${produto}: Código do produto informado na tela.
  • ${pedido_id}: ID do pedido que está sendo realizado.

Ver também:

Tipo: TEXT_LONG

ORCCOM.CAD_ITENS_COMPRA.SQL_PEDIDO_VENDA

SQL para apresentar os pedidos de venda para vínculo no pedido de compra

SQL para apresentar os pedidos de venda para vínculo no pedido de compra. Caso não informado o campo não será apresentado.
Serão aceitos os parâmetros:

  • PRODUTO_ID: ID do produto.
  • PEDIDO_ID: ID do pedido de compra.

Exemplo:
select ip.id
, pedido||' -  '|| ip.sequencia ||' - '|| clie.nome_completo
from itens_pedidos ip 
inner join pedidos p on p.id = ip.pedido_id
inner join pessoas clie on clie.id = p.cliente_id
inner join tipos_pedidos tp on tp.id = p.tipo_pedido_id
left join itens_pedidos ipcompra on ipcompra.item_pedido_venda_id = ip.id 
where tp.categoria in ('V')
and ip.produto_id = ${PRODUTO_ID}
and ipcompra.item_pedido_venda_id is null 

Tipo: SOURCE_CODE

ORCCOM.CAD_ITENS_COMPRA.SUGESTAO_ORDENACAO

Ordenação dos itens

Define a ordenação da listagem dos itens da sugestão de compras.

Opções:

  • Produto: Código do produto = Id produto
  • Descrição do produto + descrição detalhada (aplicação):
  • Referência do fornecedor:

Tipo: TEXT

Valor padrão: 1

ORCCOM.CAD_ITENS_COMPRA.USAR_MVA_TIPO_PRODUTO

Aplicar MVA do tipo de produto nos itens de OC

Aplica o MVA que está informado nos Tipos de produtos e/ou serviços como base para cálculo do ICMS ST nos produtos das ordens de compra.

Ver também:

Tipo: FLAG

Valor padrão: N

ORCCOM.CAD_ITENS_COMPRA.UTILIZACOES.SCRIPT

Script

Script padrão para apresentação dos itens de documentos vinculados ao item da OC

Tipo: SOURCE_CODE

Valor padrão: item Documento text_html; select '' || especie || ' ' || serie || ' ' || numero ||' seq '||sequencia||'' as "Documento" , data_emissao , data_entrega , quantidade from ( select sub.item_ordem_compra_id, doc.numero, esp.especie, doc.serie, doc.id as doc_id, doc.data_emissao, doc.data_entrega, nfe.sequencia, sub.quantidade from importacoes_nfe_entrada_sub sub inner join importacoes_nfe_entrada nfe on nfe.id = sub.item_documento_id inner join doc_entradas_saidas doc on doc.id = nfe.documento_id inner join especies esp on doc.especie_id = esp.id where sub.item_incluido_id is null union all select nfe.item_ordem_compra_id, doc.numero,esp.especie, doc.serie,doc.id as doc_id ,doc.data_emissao, doc.data_entrega,nfe.sequencia, nfe.quantidade_entrada from importacoes_nfe_entrada nfe inner join doc_entradas_saidas doc on doc.id = nfe.documento_id inner join especies esp on doc.especie_id = esp.id where nfe.item_documento_id is null ) as q where item_ordem_compra_id = ${id}

ORCCOM.CAD_ITENS_COMPRA.UTILIZAR_ESTOQUE_DISPONIVEL

Utilizar estoque disponível para sugestão de compra

Caso marcado será utilizado o estoque disponível para cálculos de sugestão de compra. Caso desmarcado será utilizado o estoque atual do produto.

Tipo: FLAG

Valor padrão: S

ORCCOM.CAD_PEDIDOS_COMPRA.ASSUNTO_ENVIO_EMAIL

Configuração do campo "Assunto" dos e-mails para envio da ordem de compra para o fornecedor

Assunto do email que será enviado para o fornecedor, macros disponivel:
${empresa}
${numero} - Número do pedido
${emissao} - Data de emissão do pedido

Tipo: TEXT

Valor padrão: Ordem de compra ${empresa} número ${pedido} emitido em ${emissao}

ORCCOM.CAD_PEDIDOS_COMPRA.CONTABILIDADE_GERENCIAL_OBRIGATORIO

Campos de contabilidade gerencial devem ser obrigatórios

Tipo: FLAG

Valor padrão: N

ORCCOM.CAD_PEDIDOS_COMPRA.CORPO_EMAIL

Definição do corpo de e-mail para envio da ordem de compra para o fornecedor

Corpo do e-mail a ser informado quando realizar o envio da mensagem para o fornecedor.

Tipo: TEXT

Valor padrão: Em anexo arquivo PDF contendo o pedido da ${pedi.findCliente().valueOfNomeCompleto()} com o número ${pedi.getPedido().toText()}

ORCCOM.CAD_PEDIDOS_COMPRA.LAYOUT_IMPRESSAO_FORNECEDOR

Layout para impressão PDF de ordem de compra para o fornecedor

Layout utilizado para geração do arquivo PDF da ordem de compra para o fornecedor.

Tipo: TEXT

Valor padrão: compra-fornecedor

ORCCOM.CAD_PEDIDOS_COMPRA.REDIRECIONAMENTO_POS_INSERT_FUNC

Define a função/operação da interface de itens direcionada ao salvar uma nova OC

Indica qual a operação da interface para a qual o usuário será redirecionado após a inclusão/cadastro de uma nova Ordem de Compra.

Caso o valor da preferência esteja vazio (não informado) a operação será a padrão de entrada.

Exemplo de operação para redirecionamento:

  • INSERT: Interface de inclusão de novo item na OC.
  • INSERT_MR: Interface de inclusão de vários itens na OC.

Tipo: TEXT

ORCCOM.CAD_PEDIDOS_COMPRA.REDIRECIONAMENTO_POS_INSERT_GUIA

Define a guia (interface) para a qual será direcionado após a inclusão de uma nova OC

Indica para qual guia (interface) do módulo Cadastro de pedidos de compra o usuário será redirecionado após a inclusão/cadastro de uma nova Ordem de Compra.

Caso o valor da preferência esteja vazio (não informado) a interface Ordem de compra será apresentada.

Sugestões de guias para redirecionamento:

  • ITENS: Itens
  • SUGESTAO_COMPRA: Sugestão compra

Tipo: TEXT

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_COMPARACOES

Script para comparações entre marcas

Permite definir um Telescope Script Engine para apresentar as comparações entre marcas.

Macros disponíveis:

  • ${id}: ID do produto, não é o código do produto.
  • ${produto_id}: ID do produto, não é o código do produto.
  • ${usuario_id}: ID do usuário logado.
  • ${pedido_id}: ID do pedido de compra.
  • ${fornecedor_id}: ID do fornecedor do pedido de compra.
  • ${ctx}: contexto.
  • [FILTRO_ESTABELECIMENTO]: Filtro de estabelecimento conforme definido na pesquisa. Neste caso, deve-se possuir um join com alias estab para "estabelecimentos".
  • ${marca_comparacao_id}: ID da marca que será comparada.

Caso a preferência esteja vazia, assume:
item link text_html, label="Link";
item preco decimal_value, label="Preço";
item estoque decimal_value, label="Estoque", format="###,##0.######";
select '<a target = "_blank" href="CadProdutos?Z_ACTION=CONSULTA_GENERICA&A_ID='||prodsim.id||'">' || prodsim.produto || '</a>' as link
, (select rpp.preco
from referencias_produtos_pessoas rpp
where rpp.produto_id = prodsim.id
and rpp.situacao not in ('C')
order by (case when rpp.empresa_id = ${fornecedor_id} then 0 else 1 end)
limit 1
) as preco
, coalesce((select sum(ep.estoque_atual)
from estoques_produtos ep
join estabelecimentos estab on estab.id = ep.estabelecimento_id
where ep.produto_id = prodsim.id
[FILTRO_ESTABELECIMENTO]), 0.0)
- coalesce((select sum(vrp.quantidade)
from v_reservas_produtos vrp
join estabelecimentos estab on estab.id = vrp.estabelecimento_id
where vrp.produto_id = prodsim.id
[FILTRO_ESTABELECIMENTO]), 0.0)
as estoque
from similaridades_produto sp
join produtos prodsim on prodsim.id = sp.produto_similar_id
where sp.produto_id = ${produto_id} and sp.marca_id = ${marca_comparacao_id} 

Tipo: TEXT

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ESTOQUE_ATUAL

Script para apresentar estoque atual

Permite definir um Telescope Script Engine para apresentar o estoque atual do produto.

Macros disponíveis:

  • ${id}: ID do produto, não é o código do produto.
  • ${produto_id}: ID do produto, não é o código do produto.
  • ${usuario_id}: ID do usuário logado.
  • ${pedido_id}: ID do pedido de compra.
  • ${fornecedor_id}: ID do fornecedor do pedido de compra.
  • ${ctx}: contexto.
  • [FILTRO_ESTABELECIMENTO]: Filtro de estabelecimento conforme definido na pesquisa. Neste caso, deve-se possuir um join com alias estab para "estabelecimentos".

Quando não informado um valor pra preferência, assume:
item total decimal_value, format="###,###,##0.######";
set table off;
select sum(ep.estoque_atual) as total 
from estoques_produtos ep 
join tipos_estoques te on te.id = ep.tipo_estoque_id 
join estabelecimentos estab on estab.id = ep.estabelecimento_id 
where ep.produto_id = ${id} 
and soma_no_estoque_venda = 'S' 
[FILTRO_ESTABELECIMENTO] 

Outros exemplos

Para apresentar o estoque atual de forma detalhada (atual de cada estoque), deve-se utilizar:
item total text_html;
set table off;
select '<table>'
||array_to_string(array_agg(
'<tr><td align="right">'
|| te.tipo_estoque
|| '-' || estab.nome_estabelecimento
|| '</td><td align="left"><font color="'
||case when ep.estoque_atual <= 0 then 'red' else '#333' end"
||'"><b>'
|| trim(both '.,' from coalesce(to_char(ep.estoque_atual, 'FM9G999G999G990D999'), ''))
|| '</b></font></td></tr>'), '<br>')
|| '</table>'
as total
from estoques_produtos ep 
join tipos_estoques te on te.id = ep.tipo_estoque_id 
join estabelecimentos estab on estab.id = ep.estabelecimento_id 
where ep.produto_id = ${id} 
and soma_no_estoque_venda = 'S' 
[FILTRO_ESTABELECIMENTO] 

Tipo: SOURCE_CODE

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ESTOQUE_DISPONIVEL

Script para apresentar estoque disponível

Permite definir um Telescope Script Engine para apresentar o estoque disponível do produto.

Macros disponíveis:

  • ${id}: ID do produto, não é o código do produto.
  • ${produto_id}: ID do produto, não é o código do produto.
  • ${usuario_id}: ID do usuário logado.
  • ${pedido_id}: ID do pedido de compra.
  • ${fornecedor_id}: ID do fornecedor do pedido de compra.
  • ${ctx}: contexto.
  • [FILTRO_ESTABELECIMENTO]: Filtro de estabelecimento conforme definido na pesquisa. Neste caso, deve-se possuir um join com alias estab para "estabelecimentos".

Quando não informado um valor pra preferência, assume:
item total decimal_value, format="###,###,##0.######";
set table off;
select sum(ep.estoque_atual 
- coalesce((select sum(vrp.quantidade) 
from v_reservas_produtos vrp 
join estabelecimentos estab on estab.id = vrp.estabelecimento_id   
where vrp.produto_id = ep.produto_id 
and vrp.estabelecimento_id = ep.estabelecimento_id
[FILTRO_ESTABELECIMENTO] ), 0.0) ) as total
from estoques_produtos ep 
join tipos_estoques te on te.id = ep.tipo_estoque_id 
join estabelecimentos estab on estab.id = ep.estabelecimento_id 
where ep.produto_id = ${id} 
and soma_no_estoque_venda = 'S' 
[FILTRO_ESTABELECIMENTO] 

Outros exemplos

Para apresentar o estoque disponível de forma detalhada (disponível de cada estoque), deve-se utilizar:
item total text_html;
set table off;
select '<table>'
 ||array_to_string(array_agg(
 '<tr><td align="right">'
 || tipo_estoque
 || '-' || nome_estabelecimento
 || '</td><td align="left"><font color="'
 || case when soma <= 0 then 'red' else '#333' end
 || '"><b>'
 || trim(both '.,' from coalesce(to_char(soma, 'FM9G999G999G990D999'), ''))
 || '</b></font></td></tr>'), '<br>')
 || '</table>'
 as total 
from (
select te.tipo_estoque
, estab.nome_estabelecimento
, sum(ep.estoque_atual 
- coalesce((select sum(vrp.quantidade) 
from v_reservas_produtos vrp 
join estabelecimentos estab on estab.id = vrp.estabelecimento_id  
where vrp.produto_id = ep.produto_id  
and vrp.estabelecimento_id = ep.estabelecimento_id 
[FILTRO_ESTABELECIMENTO] 
), 0.0) ) as soma
from estoques_produtos ep 
join tipos_estoques te on te.id = ep.tipo_estoque_id 
join estabelecimentos estab on estab.id = ep.estabelecimento_id 
where ep.produto_id = 3409202 
and soma_no_estoque_venda = 'S' 
[FILTRO_ESTABELECIMENTO] 
group by te.tipo_estoque, estab.nome_estabelecimento
) q

Tipo: SOURCE_CODE

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ESTOQUE_MINIMO

Script para apresentar estoque mínimo

Permite definir um Telescope Script Engine para apresentar o estoque mínimo do produto.

Macros disponíveis:

  • ${id}: ID do produto, não é o código do produto.
  • ${produto_id}: ID do produto, não é o código do produto.
  • ${usuario_id}: ID do usuário logado.
  • ${pedido_id}: ID do pedido de compra.
  • ${fornecedor_id}: ID do fornecedor do pedido de compra.
  • ${ctx}: contexto.
  • [FILTRO_ESTABELECIMENTO]: Filtro de estabelecimento conforme definido na pesquisa. Neste caso, deve-se possuir um join com alias estab para "estabelecimentos".

Quando não informado um valor pra preferência, assume:
item total decimal_value, format="###,###,##0.######";
set table off;
select sum(ep.estoque_minimo) as total 
from estoques_produtos ep 
join tipos_estoques te on te.id = ep.tipo_estoque_id 
join estabelecimentos estab on estab.id = ep.estabelecimento_id 
where ep.produto_id = ${id} 
and soma_no_estoque_venda = 'S' 
[FILTRO_ESTABELECIMENTO] 

Outros exemplos

Para apresentar o estoque mínimo de forma detalhada (mínimo de cada estoque), deve-se utilizar:
item total text_html;
set table off;
select '<table>'
||array_to_string(array_agg(
'<tr><td align="right">'
|| te.tipo_estoque
|| '-' || estab.nome_estabelecimento
|| '</td><td align="left"><font color="'
||case when ep.estoque_minimo <= 0 then 'red' else '#333' end"
||'"><b>'
|| trim(both '.,' from coalesce(to_char(ep.estoque_minimo, 'FM9G999G999G990D999'), ''))
|| '</b></font></td></tr>'), '<br>')
|| '</table>'
as total
from estoques_produtos ep 
join tipos_estoques te on te.id = ep.tipo_estoque_id 
join estabelecimentos estab on estab.id = ep.estabelecimento_id 
where ep.produto_id = ${id} 
and soma_no_estoque_venda = 'S' 
[FILTRO_ESTABELECIMENTO] 

Tipo: SOURCE_CODE

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ESTOQUE_RESERVADO

Script para apresentar estoque reservado

Permite definir um Telescope Script Engine para apresentar o estoque reservado do produto.

Macros disponíveis:

  • ${id}: ID do produto, não é o código do produto.
  • ${produto_id}: ID do produto, não é o código do produto.
  • ${usuario_id}: ID do usuário logado.
  • ${pedido_id}: ID do pedido de compra.
  • ${fornecedor_id}: ID do fornecedor do pedido de compra.
  • ${ctx}: contexto.
  • [FILTRO_ESTABELECIMENTO]: Filtro de estabelecimento conforme definido na pesquisa. Neste caso, deve-se possuir um join com alias estab para "estabelecimentos".

Quando não informado um valor pra preferência, assume:
item total decimal_value, format="###,###,##0.######"; 
set table off; 
select sum(quantidade) as total 
from v_reservas_produtos vrp 
join estabelecimentos estab on estab.id = vrp.estabelecimento_id  
where vrp.produto_id = ${id} 
[FILTRO_ESTABELECIMENTO] 

Outros exemplos

Para apresentar o estoque reservado de forma detalhada (reservado de cada estabelecimento), deve-se utilizar:
item total text_html;
set table off;
select '<table>'
||array_to_string(array_agg(
'<tr><td align="right">'
|| nome_estabelecimento  || '</td><td align="left"><font color="'
|| case when soma <= 0 then 'red' else '#333' end
|| '"><b>'
|| trim(both '.,' from coalesce(to_char(soma, 'FM9G999G999G990D999'), ''))
|| '</b></font></td></tr>'), '<br>')
|| '</table>'
as total
from (
select estab.nome_estabelecimento
, sum(vrp.quantidade) as soma
from v_reservas_produtos vrp 
join estabelecimentos estab on estab.id = vrp.estabelecimento_id  
where vrp.produto_id = ${id} 
group by estab.nome_estabelecimento
) q

Tipo: SOURCE_CODE

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_PENULTIMA_ENTRADA

Script para penúltima entrada

Permite definir um Telescope Script Engine para apresentar a penúltima entrada do produto.

Macros disponíveis:

  • ${id}: ID do produto, não é o código do produto.
  • ${produto_id}: ID do produto, não é o código do produto.
  • ${usuario_id}: ID do usuário logado.
  • ${pedido_id}: ID do pedido de compra.
  • ${fornecedor_id}: ID do fornecedor do pedido de compra.
  • ${ctx}: contexto.
  • [FILTRO_ESTABELECIMENTO]: Filtro de estabelecimento conforme definido na pesquisa. Neste caso, deve-se possuir um join com alias estab para "estabelecimentos".

Caso a preferência esteja vazia, assume:
item ultima_entrega text_html;
set table off;
select '<a target="_blank" href="ConDoctes?Z_ACTION=CONSULTA&A_ID='||d.id||'">'||to_char(data_entrega, 'DD/MM/YYYY')||'</a>' as ultima_entrega
from itens_doc_entradas_saidas  it 
inner join doc_entradas_saidas d on d.id=it.documento_id 
inner join estabelecimentos estab on estab.id = d.estabelecimento_id 
where produto_id = ${produto_id} 
and data_entrega is not null 
and tipo_operacao = 'E' 
and d.emitente_id = ${fornecedor_id} 
[FILTRO_ESTABELECIMENTO] 
order by data_entrega desc 
OFFSET 1
limit 1

Tipo: TEXT

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ULTIMA_ENTRADA

Script para última entrada

Permite definir um Telescope Script Engine para apresentar a última entrada do produto.

Macros disponíveis:

  • ${id}: ID do produto, não é o código do produto.
  • ${produto_id}: ID do produto, não é o código do produto.
  • ${usuario_id}: ID do usuário logado.
  • ${pedido_id}: ID do pedido de compra.
  • ${fornecedor_id}: ID do fornecedor do pedido de compra.
  • ${ctx}: contexto.
  • [FILTRO_ESTABELECIMENTO]: Filtro de estabelecimento conforme definido na pesquisa. Neste caso, deve-se possuir um join com alias estab para "estabelecimentos".

Caso a preferência esteja vazia, assume:
item ultima_entrega text_html;
set table off;
select '<a target="_blank" href="ConDoctes?Z_ACTION=CONSULTA&A_ID='||d.id||'">'||to_char(data_entrega, 'DD/MM/YYYY')||'</a>' as ultima_entrega
from itens_doc_entradas_saidas  it 
inner join doc_entradas_saidas d on d.id=it.documento_id 
inner join estabelecimentos estab on estab.id = d.estabelecimento_id 
where produto_id = ${produto_id} 
and data_entrega is not null 
and tipo_operacao = 'E' 
and d.emitente_id = ${fornecedor_id} 
[FILTRO_ESTABELECIMENTO] 
order by data_entrega desc 
limit 1

Tipo: SOURCE_CODE

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ULTIMA_ENTRADA_TODOS

Script para última entrada indiferente do fornecedor

Permite definir um Telescope Script Engine para apresentar a última entrada do produto.

Macros disponíveis:

  • ${id}: ID do produto, não é o código do produto.
  • ${produto_id}: ID do produto, não é o código do produto.
  • ${usuario_id}: ID do usuário logado.
  • ${pedido_id}: ID do pedido de compra.
  • ${fornecedor_id}: ID do fornecedor do pedido de compra.
  • ${ctx}: contexto.
  • [FILTRO_ESTABELECIMENTO]: Filtro de estabelecimento conforme definido na pesquisa. Neste caso, deve-se possuir um join com alias estab para "estabelecimentos".

Caso a preferência esteja vazia, assume:
item ultima_entrega text_html;
set table off;
select '<a target="_blank" href="ConDoctes?Z_ACTION=CONSULTA&A_ID='||d.id||'">'||to_char(data_entrega, 'DD/MM/YYYY')||'</a>' as ultima_entrega
from itens_doc_entradas_saidas  it 
inner join doc_entradas_saidas d on d.id=it.documento_id 
inner join estabelecimentos estab on estab.id = d.estabelecimento_id 
where produto_id = ${produto_id} 
and data_entrega is not null 
and tipo_operacao = 'E' 
[FILTRO_ESTABELECIMENTO] 
order by data_entrega desc 
limit 1

Tipo: TEXT

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SQL_SIMILARIDADES

SQL para consultar similaridades do produto.

SQL utilizado pelo sistema para apresentar uma tabela de produtos similares ao que está sendo apresentado. Este SQL usa o id do produto como parâmetro "?" e deve retornar as colunas "id" (do produto similar) e "descricao" (texto a ser apresentado para o usuário). Caso não configurado, assume o seguinte valor:

select p2.id, p2.descricao || ' (' ||  p2.produto || ')' as descricao
from similaridades_produto sp
join produtos p2 on p2.id = sp.produto_similar_id
where sp.produto_id = ?

Caso seja desejado apresentar marca e referência dos produtos similares pode-se usar, por exemplo, o SQL abaixo:
select p2.id, marca || ' / ' || referencia_fabricante || ' (produto ' ||  p2.produto || ')' as descricao
from similaridades_produto sp
join produtos p2 on p2.id = sp.produto_similar_id
left join marcas m on m.id = p2.marca_id
where sp.produto_id = ?

Tipo: SOURCE_CODE

ORCCOM.CAD_PEDIDOS_COTACOES.ASSUNTO_ENVIO_EMAIL

Configuração do campo "Assunto" dos e-mails para envio da ordem de compra para o fornecedor

Assunto do email que será enviado para o fornecedor, macros disponivel:
${empresa}
${numero} - Número do pedido
${emissao} - Data de emissão do pedido

Tipo: TEXT

Valor padrão: Cotação ${empresa} número ${pedido} emitido em ${emissao}

ORCCOM.CAD_PEDIDOS_COTACOES.CORPO_EMAIL

Definição do corpo de e-mail para envio da cotação de compra para o fornecedor

Corpo do e-mail a ser informado quando realizar o envio da mensagem para o fornecedor.

Tipo: TEXT

Valor padrão: Em anexo arquivo PDF contendo o pedido da ${pedi.findCliente().valueOfNomeCompleto()} com o número ${pedi.getPedido().toText()}

ORCCOM.CAD_PEDIDOS_COTACOES.LAYOUT_IMPRESSAO_FORNECEDOR

Layout para impressão PDF da cotação de compra para o fornecedor

Layout utilizado para geração do arquivo PDF da cotação de compra para o fornecedor.

Tipo: TEXT

Valor padrão: compra-fornecedor

ORCCOM.CAD_PEDIDOS_COTACOES.REDIRECIONAMENTO_POS_INSERT_FUNC

Indica qual a operação da interface para a qual o usuário será redirecionado após a inclusão/cadastro de uma nova Cotação de Compra.

Caso o valor da preferência esteja vazio (não informado) a operação será a padrão de entrada.

Exemplo de operação para redirecionamento:
  • INSERT: Interface de inclusão de novo item na cotação.
  • INSERT_MR: Interface de inclusão de vários itens na cotação.

Tipo: TEXT

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.APLICAR_MVA_AJUSTADO_REGRAS

Aplicar o MVA ajustado na operação de ordem de compra

Preferencia define se deve ser aplicado o MVA ajustado no momento que o sistema calcula o percentual de ICMS-ST para a operação. Ela é utilizada somente quando a preferencia ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.USAR_MVA_TIPO_PRODUTO estiver marcada(S).

Quando marcado é realizado o ajuste do percentual informado no tipo de produto conforme as regras:


Exemplo:
  • MVA do tipo de produto: 50%
  • Estado de origem: SP
  • Estado de destino: RS
  • Percentual de ICMS da operação entre SP para RS: 12%
  • Percentual de ICMS interno para o RS neste produto: 17,5%
  • Calculo:
((100+mva)*(100-inter)/(100-intra)-100) 
((100+50)*(100-12)/(100-17.5)-100) = ((150)*(88)/(82.5)-100) = (150*1,0666667-100) = 60%
  • MVA ajustado nesta operação é 60%.

Tipo: FLAG

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.APRESENTA_ULTIMOS_DOCUMENTOS

Define se deve apresentar um link para os dois últimos documentos de entrada do item.

Valor padrão: S

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.CALCULAR_ICMS_ST

Calcular o valor de ICMS-ST na operação de compra

Calcula o valor de ICMS-ST na operação de compra.

Tipo: FLAG

Valor padrão: S

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.DESTACAR_SITUACAO

Destacar itens pendentes

Destaca com cor diferenciada os itens de pedidos de cotação pendentes.

Tipo: TEXT

Valor padrão: S

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.FILTRO_ESTABELECIMENTO

Valor padrão para o campo de filtro para estabelecimento

Valor padrão para o campo estabelecimento na operação de [b:Sugestão].

Valores:

NApenas o estabelecimento da cotação: Apenas as informações do estabelecimento do pedido de cotação serão filtrados/pesquisados
EUnificar informações dos estabelecimentos da empresa: Apenas as informações dos estabelecimentos vinculados a empresa do pedido de cotação serão filtrados/pesquisados
MUnificar informações de todas empresas: Todas as informações dos estabelecimentos cadastrados serão filtrados/pesquisados


Tipo: TEXT

Valor padrão: N

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.INFORMAR_FATOR_CONVERSAO

Informar o fator de conversão do fornecedor

Define se deve ser apresentado o fator de conversão da unidade de medida do produto para a unidade de medida do produto para o fornecedor conforme informado na guia "Ref Fornec" (Referências de produtos para fornecedores) do Produtos.

Tipo: FLAG

Valor padrão: N

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.INFORMAR_SUGESTAO

Define se deve preencher o campo de quantidade sugerida com a quantidade calculada.
  • Marcado (valor = S): Preenche a quantidade informada com a sugestão.
  • Desmarcado (valor = N): Não preenche o campo de quantidade sugerida (permite ao usuário preenchê-lo manualmente) e é apresentada a quantidade sugerida calculada em coluna específica.

Tipo: TEXT

Valor padrão: S

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.ORIGEM_PRECO

Origem preço

Determina como será feita a preço do produto para inserir como sugestão no campo Preço unitário

  • G: Geral - retorna o preço que tem a data de atualização mais recente em REFERENCIAS_PRODUTOS_PESSOAS.
  • E: Estabelecimento - retorna o custo com data de atualização mais recente em PRODUTOS_PESSOAS_ESTABELECIMENTOS, se não encontrar um custo por estabelecimento, retorna o preço que tem a data de atualização mais recente em REFERENCIAS_PRODUTOS_PESSOAS (situação atual)
  • SELECT...: É possível informar uma expressão SQL que receberá 2 parâmetros: ${pedidoId} e ${produto} e retorne uma única coluna com o preço informado.
Ex:
select ppe.valor_custo_reposicao as valor
from pedidos ped
join PRODUTOS_PESSOAS_ESTABELECIMENTOS ppe on ppe.pessoa_id = ped.fornecedor_id
and ppe.estabelecimento_id = ped.estabelecimento_id
join produtos p on p.id = ppe.produto_id
where ped.id = ${pedido_id}
and p.produto = '${produto}'
order by data_atualizacao_custo desc
limit 1

Tipo: TEXT_LONG

Valor padrão: E

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.PESQUISA_PRODUTO

Interface para LOV de produtos

Define qual deve ser a interface que deve abrir ao clicar na lupa do campo de produtos.
P.ex.:

Tipo: TEXT

Valor padrão: PROD.CAD_PRODUTOS

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.SQL_HISTORICO_COMPRAS

SQL para apresentar histórico de compras do produto

SQL utilizado para apresentar o histórico de compras do produto. Quando informado, este campo representa um script que gera informações adicionais sobre este produto. Normalmente, esta preferência é utilizada para apresentar o histórico de compras realizadas para o fornecedor da respectiva cotação de compra, mas pode ser utilizada para agregar qualquer outra informação neste contexto.

A configuração da preferência pode ser realizada por estabelecimento, permitindo contextualizar as informações de acordo com as necessidades de cada empresa.

O preenchimento deve seguir a sintaxe do Telescope Script Engine que deve utilizar as seguintes variáveis de contexto (macros):

  • ${produto}: Código do produto informado na tela.
  • ${pedido_id}: ID do pedido que está sendo realizado.

Ver também:

Tipo: TEXT_LONG

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.SQL_PEDIDO_VENDA

SQL para apresentar os pedidos de venda para vínculo no pedido de cotação

SQL para apresentar os pedidos de venda para vínculo no pedido de cotação. Caso não informado o campo não será apresentado.
Serão aceitos os parâmetros:

  • PRODUTO_ID: ID do produto.
  • PEDIDO_ID: ID do pedido de cotação.

Exemplo:
select ip.id
, pedido||' -  '|| ip.sequencia ||' - '|| clie.nome_completo
from itens_pedidos ip 
inner join pedidos p on p.id = ip.pedido_id
inner join pessoas clie on clie.id = p.cliente_id
inner join tipos_pedidos tp on tp.id = p.tipo_pedido_id
left join itens_pedidos ipcompra on ipcompra.item_pedido_venda_id = ip.id 
where tp.categoria in ('V')
and ip.produto_id = ${PRODUTO_ID}
and ipcompra.item_pedido_venda_id is null 

Tipo: SOURCE_CODE

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.SUGESTAO_ORDENACAO

Ordenação dos itens

Define a ordenação da listagem dos itens da sugestão de compras.

Opções:

  • Produto: Código do produto = Id produto
  • Descrição do produto + descrição detalhada (aplicação):
  • Referência do fornecedor:

Tipo: TEXT

Valor padrão: 1

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.USAR_MVA_TIPO_PRODUTO

Aplicar MVA do tipo de produto nos itens de OC

Aplica o MVA que está informado nos Tipos de produtos e/ou serviços como base para cálculo do ICMS ST nos produtos das ordens de compra.

Ver também:

Tipo: FLAG

Valor padrão: N

ORCCOM.CAD_PEDIDOS_COTACOES_ITENS.UTILIZAR_ESTOQUE_DISPONIVEL

Utilizar estoque disponível para sugestão de compra

Caso marcado será utilizado o estoque disponível para cálculos de sugestão de compra. Caso desmarcado será utilizado o estoque atual do produto.

Tipo: FLAG

Valor padrão: S

ORCCOM.CAD_SOLICITACOES_INTERNAS.LAYOUT_IMPRESSAO_FORNECEDOR

Layout para impressão PDF de ordem de compra para o fornecedor

Layout utilizado para geração do arquivo PDF da ordem de compra para o fornecedor.

Tipo: TEXT

Valor padrão: compra-fornecedor

ORCCOM.CAD_SOLICITACOES_INTERNAS.REDIRECIONAMENTO_POS_INSERT_FUNC

Define a função/operação da interface de itens direcionada ao salvar uma nova solicitação interna

Indica qual a operação da interface para a qual o usuário será redirecionado após a inclusão/cadastro de uma nova solicitação interna.

Caso o valor da preferência esteja vazio (não informado) a operação padrão será a Sugerir.

Exemplo de operação para redirecionamento:

  • INSERT: Interface de inclusão de novo item na solicitação interna.
  • INSERT_MR: Interface de inclusão de vários itens na solicitação interna.

Tipo: TEXT

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.APRESENTA_ULTIMOS_DOCUMENTOS

Define se deve apresentar um link para os dois últimos documentos de entrada do item.

Valor padrão: S

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.COTACOES_FORNECEDOR.SCRIPT

Permite definir um script que apresentará as cotações que foram geradas para o item.

Tipo: TEXT

Valor padrão: item pedido text_html, label = "Pedido"; item fornecedor text, label = "Fornecedor"; item nome_fornecedor text, label = "Nome fornecedor"; item valor_unitario_item decimal_value, label = "Valor unit."; item valor_total_item decimal_value, label = "Total"; select ''|| pedido || '' as pedido , pessoa as fornecedor , nome_completo as nome_fornecedor , ipCot.valor_unitario_item , ipCot.valor_total_item from itens_pedidos ipCot join pedidos ped on ped.id = ipCot.pedido_id join tipos_pedidos tp on tp.id = ped.tipo_pedido_id join pessoas p on p.id = ped.fornecedor_id where tp.categoria = 'D' and ipCot.item_pedido_venda_id = ${id} and ipCot.produto_id = ${record.produto_id} order by nome_fornecedor

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.DESTACAR_SITUACAO

Destacar itens pendentes

Destaca com cor diferenciada os itens de pedidos da solicitação interna pendentes.

Tipo: TEXT

Valor padrão: S

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.INFORMAR_SUGESTAO

Define se deve preencher o campo de quantidade sugerida com a quantidade calculada.
  • Marcado (valor = S): Preenche a quantidade informada com a sugestão.
  • Desmarcado (valor = N): Não preenche o campo de quantidade sugerida (permite ao usuário preenchê-lo manualmente) e é apresentada a quantidade sugerida calculada em coluna específica.

Tipo: TEXT

Valor padrão: S

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.ORIGEM_PRECO

Origem preço

Determina como será feita a preço do produto para inserir como sugestão no campo Preço unitário

  • G: Geral - retorna o preço que tem a data de atualização mais recente em REFERENCIAS_PRODUTOS_PESSOAS.
  • E: Estabelecimento - retorna o custo com data de atualização mais recente em PRODUTOS_PESSOAS_ESTABELECIMENTOS, se não encontrar um custo por estabelecimento, retorna o preço que tem a data de atualização mais recente em REFERENCIAS_PRODUTOS_PESSOAS (situação atual)
  • SELECT...: É possível informar uma expressão SQL que receberá 2 parâmetros: ${pedidoId} e ${produto} e retorne uma única coluna com o preço informado.
Ex:
select ppe.valor_custo_reposicao as valor
from pedidos ped
join PRODUTOS_PESSOAS_ESTABELECIMENTOS ppe on ppe.pessoa_id = ped.fornecedor_id
and ppe.estabelecimento_id = ped.estabelecimento_id
join produtos p on p.id = ppe.produto_id
where ped.id = ${pedido_id}
and p.produto = '${produto}'
order by data_atualizacao_custo desc
limit 1

Tipo: TEXT_LONG

Valor padrão: E

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.PESQUISA_PRODUTO

Interface para LOV de produtos

Define qual deve ser a interface que deve abrir ao clicar na lupa do campo de produtos.
P.ex.:

Tipo: TEXT

Valor padrão: PROD.CAD_PRODUTOS

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.SQL_HISTORICO_COMPRAS

SQL para apresentar histórico de compras do produto

SQL utilizado para apresentar o histórico de compras do produto. Quando informado, este campo representa um script que gera informações adicionais sobre este produto. Normalmente, esta preferência é utilizada para apresentar o histórico de compras realizadas para o fornecedor da respectiva ordem de compra, mas pode ser utilizada para agregar qualquer outra informação neste contexto.

A configuração da preferência pode ser realizada por estabelecimento, permitindo contextualizar as informações de acordo com as necessidades de cada empresa.

O preenchimento deve seguir a sintaxe do Telescope Script Engine que deve utilizar as seguintes variáveis de contexto (macros):

  • ${produto}: Código do produto informado na tela.
  • ${pedido_id}: ID do pedido que está sendo realizado.

Ver também:

Tipo: TEXT_LONG

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.SQL_PEDIDO_VENDA

SQL para apresentar os pedidos de venda para vínculo no pedido de compra

SQL para apresentar os pedidos de venda para vínculo no pedido de compra. Caso não informado o campo não será apresentado.
Serão aceitos os parâmetros:

  • PRODUTO_ID: ID do produto.
  • PEDIDO_ID: ID do pedido de compra.

Exemplo:
select ip.id
, pedido||' -  '|| ip.sequencia ||' - '|| clie.nome_completo
from itens_pedidos ip 
inner join pedidos p on p.id = ip.pedido_id
inner join pessoas clie on clie.id = p.cliente_id
inner join tipos_pedidos tp on tp.id = p.tipo_pedido_id
left join itens_pedidos ipcompra on ipcompra.item_pedido_venda_id = ip.id 
where tp.categoria in ('V')
and ip.produto_id = ${PRODUTO_ID}
and ipcompra.item_pedido_venda_id is null 

Tipo: SOURCE_CODE

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.SUGESTAO_ORDENACAO

Ordenação dos itens

Define a ordenação da listagem dos itens da sugestão de compras.

Opções:

  • Produto: Código do produto = Id produto
  • Descrição do produto + descrição detalhada (aplicação):
  • Referência do fornecedor:

Tipo: TEXT

Valor padrão: 1

ORCCOM.CAD_SOLICITACOES_INTERNAS_ITENS.UTILIZAR_ESTOQUE_DISPONIVEL

Utilizar estoque disponível para sugestão de compra

Caso marcado será utilizado o estoque disponível para cálculos de sugestão de compra. Caso desmarcado será utilizado o estoque atual do produto.

Tipo: FLAG

Valor padrão: S

ORCCOM.MOD_PEDI_COMPRA.SQL_CONTEXT_NAME

SQL que permite configurar qual o título que a guia de OS de veículos terá.

O id da OS para utilizar no SQL deve ser usado como parâmetro ("?"). Exemplo:
 where p.id = ?

Aberta ocorrência [a:101896] para incluir suporte para incluir genericamente o título da guia por um SQL.

Tipo: SOURCE_CODE

Valor padrão: select tp.tipo_pedido || ' ' || p.pedido from pedidos p join tipos_pedidos tp on tp.id = p.tipo_pedido_id where p.id = ?

ORCCOM.REL_COMPRA-FORNECEDOR.MASCARA_VALOR

Definição da máscara para formatação da apresentação dos valores unitários dos itens no PDF da ordem de compra

Permite definir a máscara de formatação do valor unitário dos itens da OC no relatório para o fornecedor.

Exemplos de formato:

###,##0.00
###,##0.0000

Tipo: TEXT

ORCCOM.TIPOS_CONTATOS_MAIL

Tipos de e-mail para envio das OCs

Define quais os tipos de contatos de e-mail do fornecedor que devem ser utilizados para o envio de uma Ordem de Compra.
O padrão para essa preferência é:
EMAIL_COMPRA, EMAIL_PROFISSIONAL, EMAIL%

Tipo: TEXT