Sistema de ordem de compra

Índice

Produtos para pedidos de compras

ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS

Descrição

Permite incluir produtos específicos em um pedido de compra (OC), como uma sugestão de compra.

Esta interface é usada em diferentes guias do sistema. Clique nos links de navegação abaixo para obter maiores informações.

Cadastro de pedidos de compra:

Campos:

Quantidade que deve ser comprada do fornecedor. Deixando este campo vazio, fará com que o produto não seja incluído na ordem de compra.
Unidade de medida para controle de estoque e venda. Quando não informada, assume a unidade de medida informada no tipo de produto.
O preço é preenchido automaticamente quando existe um referencia entre este produto e fornecedor. Será utilizado o preço ou o custo de reposição informados na referencia.
Percentual de IPI que foi informado na tributação do produto. Quando não possuir, utilizará o IPI da tributação do tipo de produto.

Os percentuais de IPI são atualizados conforme a última nota fiscal de entrada, caso os percentuais estejam nulos, o sistema não inclui o IPI na composição da compra.
Valor de IPI que será pago para o item da OC. É calculado conforme o percentual de IPI e o valor unitário.
Percentual de margem de valor agregado utilizando o MVA intraestadual informado no tipo de produto.
Os percentuais de ICMS de crédito e ICMS para retenção, são calculados conforme a última nota fiscal de entrada, caso os percentuais estejam nulos, o sistema não utiliza o valor de MVA para operação.
Valor de ST que será pago para o item da OC. É calculado conforme o percentual de MVA e o valor unitário.
Valor unitário a ser pago pelo item da OC. É a soma do preço, IPI (unitário) e ICMS-ST (unitário).
Valor total, considerando a quantidade * valor unitário, somados IPI e ICMS-ST
Descritivo que apresenta alguns complementos de como o preço foi calculado.
Código de identificação do produto. Calculado automaticamente ou informado conforme parametrização da respectiva engenharia de produto.
Texto que identifica (nome) o produto. Este é o texto utilizado por padrão em todos os documentos fiscais e interfaces de uso interno.
Por padrão é aconselhado o tamanho máximo de 120 caracteres, para não permitir descrições maiores modifique a preferencia PROD.PRODUTOS.VALIDAR_PRODUTO_DESCRICAO
Texto livre com uma descrição complementar detalhada do produto. Esta descrição pode acrescentar característcas diversas como peso, dimensões, composição, aplicação, etc.
Indica o tipo de produto.
Indica a marca do produto.
Ex:
  • COCA-COLA
  • PEPSI
  • FRUKI
Código de referência do produto usado pelo fabricante.
Quantidade de unidades de venda por unidade de acondicionamento. P.ex.: Uma CAIXA (acondicionamento) possui (acondiciona, embala ou armazena) 24 unidades do produto (venda).
Denominação da unidade de medida. P.ex.: metro, metro quadrado, metro cúbico, milheiro, unidade, peça, quilograma.
Data de inclusão do produto no sistema.
Situação atual do produto.
  • Aprovado - O produto tem uma data de aprovação registrada e pode ser usado nos processos que exigem produtos aprovados.
  • Baixado - Foi informada a data de baixa do produto, tornando o produto inativo.
  • Cancelado - Foi informada a data de cancelamento do produto, tornando o produto inativo. Por padrão, produtos cancelados não são apresentados nas pesquisas de produtos no sistema. Serão mantidos todos os registros do produto cancelado para efeito de consultas de operações realizadas com o produto enquanto este esteve ativo. Quando um produto é cancelado, qualquer preço vinculado a ele é automaticamente inativado!
  • Pendente - O produto foi registrado mas não existe um aprovação formalizada.
Indica que o produto não está disponível para operações de movimentação de estoques (p.ex.: foi perdido/extraviado, roubado, emprestado, etc.).

O campo somente somente estará editável quando não existir estoque disponível ou desativando a preferência PROD.CAD_PRODUTOS.FALTA_ESTOQUE.
Permite definir se somente deve apresentar produtos que já foi comprado com o fornecedor.
  • Fornecedor - Deve apresentar todos os produtos que estão vinculados ao fornecedor
  • Grupo do fornecedor - Deve apresentar todos os produtos que o fornecedor e as outras pessoas do seu grupo, estão vinculados
  • Todos os produtos - Deve apresentar todos os produtos do sistema
Valor padrão: S
Tipo do item que define a destinação do produto conforme EFD.
O tipo de item poderá variar de acordo com o estabelecimento: ver Produtos dos estabelecimentos.
  • Mercadoria para revenda - Produto adquirido para comercialização
  • Matéria-prima - A mercadoria que componha, física e/ou quimicamente, um produto em processo ou produto acabado e que não seja oriunda do processo produtivo. A mercadoria recebida para industrialização é classificada como Tipo 01, pois não decorre do processo produtivo, mesmo que no processo de produção se produza mercadoria similar classificada como Tipo 03
  • Embalagem
  • Produto em processo - O produto que possua as seguintes características, cumulativamente: oriundo do processo produtivo; e, preponderantemente, consumido no processo produtivo. Dentre os produtos em processo está incluído o produto resultante caracterizado como retorno de produção. Um produto em processo é caracterizado como retorno de produção quando é resultante de uma fase de produção e é destinado, rotineira e exclusivamente, a uma fase de produção anterior à qual o mesmo foi gerado. No “retorno de produção”, o produto retorna (é consumido) a uma fase de produção anterior à qual ele foi gerado. Isso é uma excepcionalidade, pois o normal é o produto em processo ser consumido em uma fase de produção posterior à qual ele foi gerado, e acontece, portanto, em poucos processos produtivos
  • Produto acabado - O produto que possua as seguintes características, cumulativamente: oriundo do processo produtivo; produto final resultante do objeto da atividade econômica do contribuinte; e pronto para ser comercializado
  • Subproduto - O produto que possua as seguintes características, cumulativamente: oriundo do processo produtivo e não é objeto da produção principal do estabelecimento; tem aproveitamento econômico; não se enquadre no conceito de produto em processo (Tipo 03) ou de produto acabado (Tipo 04)
  • Produto intermediário - Aquele que, embora não se integrando ao novo produto, for consumido no processo de industrialização
  • Material de uso e consumo
  • Ativo imobilizado
  • Serviços
  • Outros insumos
  • Outros (kit) - Outros produtos (kit) que não devem ser registrados nos documentos fiscais, sendo permitido somente em documentos internos.
  • Outros
Valor padrão: 00|i|01|02|07|10
Indica se o registro refere-se a um modelo, produto, lote, variação do produto ou unidade de produto.
  • Modelo - Um modelo é a definição conceitual de um PRODUTO. Os modelos não existem no mundo real. Apenas poderão existir materiais baseados no modelo. De certa forma, esta entidade representa o projeto do desenvolvimento de um produto onde os detalhes de acabamento final não são especificados. Um bom exemplo é o modelo de calçado. O registro do modelo é apenas uma especificação incompleta. Para a produção de um calçado, será necessário complementar a especificação do modelo adicionando características como cores, forros, acabamentos, etc. Um modelo é uma "ficha incompleta". Para a confecção de um produto é necessário que seja feita uma complementação detalhada do respectivo modelo.
  • Produto - O registro especifica um produto detalhado e que representa um material ou serviço.
  • Variação - Utiliza-se variações para cadastrar vários produtos que são praticamente iguais variando apenas alguma característica básica como cor, tamanho, voltagem, etc.
    Nestes casos, pode-se cadastrar um produto base e informar as respectivas variações de forma simplificada, sem a necessidade de informar novamente todo o cadastro.

    É importante salientar que não é possível existir uma variação que tenha alguma tributação diferente da informada no produto base.
  • Embalagem - Utiliza-se embalagem para cadastrar vários produtos que são iguais, mas apenas com diferença de embalagem.
    Nestes casos, pode-se cadastrar um produto base e informar as respectivas embalagens de forma simplificada, sem a necessidade de informar novamente todo o cadastro.
    P.ex: Produto base = Litros ; Produto embalagem 1 UN - 2L.
  • Lote de produtos - É um conjunto de unidades produzidas no mesmo processo de produção.
  • Unidade individual - Instância única de um produto. As unidades individuais de produtos normalmente são identificadas pelo seu número de série (único).

    O estoque de uma unidade individual de produto somente pode ser 0 ou 1.
  • Conjunto - Representa um conjunto de produtos (e respectivas quantidades) que serão manuseados na operação. Um produto do tipo "conjunto" somente é utilizado como um sinônimo para os produtos que ele representa. O conjunto propriamente dito jamais é utilizado para movimentar estoque. Ao incluir um conjunto em um pedido, o sistema substitui automaticamente pelos produtos que compõe o respectivo conjunto.
Valor padrão: P|i|V|E|C
Classificação/curva ABC dada para informar a importância do produto no cenário de vendas.
Apresenta ABC do produto para o estabelecimento ativo do usuário, caso não tenha informado apresenta a classificação genérica do produto.
Ver: Classificação.
Previsão (em dias) de entrega da classificação, definida na preferência PROD.PRODUTOS.CLASSIFICACAO_PRODUTOS.
Permite definir qual estabelecimento deve ser utilizado.
  • Estabelecimento da ordem de compra - Permite definir que somente deve apresentar informações do estabelecimento do pedido de compra.
  • Unificar estabelecimentos da empresa - Permite unificar informações de todos os estabelecimentos da empresa do estabelecimento do pedido de compra.
  • Unificar todas empresas - Permite definir que deve apresentar informações de todas as empresas cadastradas.
  • Apenas estabelecimentos do usuário - Permite apresentar informações somente dos estabelecimentos que o usuário possui acesso.
Permite definir na listagem quantos meses além do mês atual deve ser apresentado a quantidade vendida.

Informando vazio ou zero será apresentado somente o mês atual.
Valor padrão: 3
Estoque mínimo do produto no estabelecimento(s) selecionado(s) na pesquisa.
Esta informação pode ser customizada pela preferência ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ESTOQUE_MINIMO.
Estoque atual do produto no(s) estabelecimento(s) selecionado(s) na pesquisa.
Esta informação pode ser customizada pela preferência ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ESTOQUE_ATUAL.
Estoque reservado do produto no estabelecimento(s) selecionado(s) na pesquisa.
Esta informação pode ser customizada pela preferência ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ESTOQUE_RESERVADO.
Estoque disponível (atual - reservado) do produto no estabelecimento(s) selecionado(s) na pesquisa.
Esta informação pode ser customizada pela preferência ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ESTOQUE_DISPONIVEL.
ID do item de pedido. Utilizado para vincular o produto ao item de pedido.
Quantidade em ordens de compras que não estão entregues ou cancelados. Não é somado quantidades da ordem de compra que está sendo incluída os itens.
Quantidade pendente a faturar de compras feitas que possuem nota em manutenção.
Quantidade de pedidos de venda pendentes.

São considerados:
  • Quantidade pendente de itens de pedidos de categoria "Venda" que não estão em manutenção.
  • Quantidade pendente de itens de pedidos de categoria "representação" que não estão em manutenção e que tenha uma pessoa de retirada.
Quantidade vendida no mês atual.
Média da quantidade vencida em comparação aos meses vendidos.
Última entrada que ocorreu para o produto, indiferente do fornecedor
Data da última compra (nota de entrada) feita para o fornecedor da OC.

Esta informação pode ser customizada através da preferência ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_ULTIMA_ENTRADA.
Data da penúltima compra (nota de entrada) feita para o fornecedor da OC.

Esta informação pode ser customizada através da preferência ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_PENULTIMA_ENTRADA.
Permite comparar os produtos entre marcas específicas. Por padrão, será apresentada uma coluna para cada marcada, mostrando qual é o produto (similar), preço e estoque atual.

Esta informação pode ser customizada através da preferência ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SCRIPT_COMPARACOES.
Apresenta os produtos que são similares ao produto apresentado com seus respectivos estoques.
O cálculo do estoque obedece o mesmo script que é utilizado para o estoque atual do produto.
A apresentação dos similares pode ser customizada pela preferência ORCCOM.CAD_PEDIDOS_COMPRA_PRODUTOS.SQL_SIMILARIDADES.

Operações

Topo

Pesquisar

Ao pesquisar, o usuário poderá informar critérios de filtro para listar apenas os registros desejados. Normalmente depois de informar os filtros desejados, o usuário deverá executar a operação [b:Listar].
Obtenha maiores detalhes em Como utilizar a tela de pesquisa?.
Comportamento:Topo

Pesquisa simples (SEARCH)

Campos utilizados para pesquisa genérica
Topo

Alterar

A partir da tela de consulta de um registro, esta operação permite alterar os dados do mesmo.
O sistema abre um formulário com os campos editáveis. Após alterar os campos, o usuário deverá clicar em [b:Salvar].
Comportamento:

Configurações

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

Regras

Ajustar mensagem de sucesso

Altera mensagem padrão de sucesso.
Eventos que disparam esta regra:
  • Após encerrar a transação com sucesso formulário "Alterar"

Ajustar valor total

Ajusta o valor total conforme quantidade, preço e impostos.
Eventos que disparam esta regra:
  • Antes de apresentar cada registro formulário "Alterar"
  • Ao alterar campo "Preço" do formulário "Alterar"
  • Ao alterar campo "Quantidade" do formulário "Alterar"

Apresentar comparações

Apresenta as comparações.

Filtrar produtos do fornecedor

Filtra os produtos que o fornecedor já vendeu.
Eventos que disparam esta regra:
  • Depois de ler formulário "Pesquisar"

Ler quantidade dos itens

Busca as quantidades pedidas de cada produto e apresenta na update.
Eventos que disparam esta regra:
  • Antes de apresentar cada registro formulário "Alterar"

Popular comparações

Popula as comparações entre as marcas.
Eventos que disparam esta regra:
  • Antes de inicializar o componente formulário "Alterar"

Popular entradas

Popula as duas últimas entradas feitas.

Popular informações conforme contexto

Popula as informações da listagem.
Eventos que disparam esta regra:
  • Antes de apresentar cada registro formulário "Alterar"

Popular informações de estoque

Apresenta as informações de estoque de cada produto e o estoque atual dos produtos similares.

Popular informações de impostos

Calcula o percentual de MVA.

Popular meses

Popula os meses que serão apresentados as quantidades vendidas.
Eventos que disparam esta regra:
  • Antes de inicializar o componente formulário "Alterar"

Popular previsões de classificações

Popula as previsões de cada classificações.

Popular quantidades em ordens de compras e pedidos

Popula as quantidades em ordens de compras e pedidos.

Salvar quantidade informada

Salva a quantidade informada de cada produto. Quando não informado, é excluído da OC.
Eventos que disparam esta regra:
  • Depois de alterar formulário "Alterar"

Totalizar valor total

Totaliza o valor total já selecionado.
Eventos que disparam esta regra:
  • Pré summary formulário "Alterar"