Lista de preços

COLECA

Descrição

Gestão das listas de preços dos produtos e/ou serviços comercializados pelo estabelicimento. Permite multiplas listas com priorização na pesquisa. Filtros por estabelecimento, clientes, por condição de pagamento, preços diferenciados por quantidade, preços promocionais com data ou quantidade limite, estabelecidos em diferentes moedas, etc.

Procedimentos

Interfaces

Sub-sistemas relacionados

Dúvidas frequentes

Configurações

COLECA.AC_LISTA_PRECO

Autocomplete para lista de preços

Comando SQL utilizado na função de autocompletar a lista de preços.

Tipo: SOURCE_CODE

Valor padrão: select colecao as valor , colecao as pesquisar , colecao as descricao from colecoes where (data_fim_comercializacao is null or data_fim_comercializacao > now()::date) and (data_inicio_comercializacao is null or data_inicio_comercializacao < now()::date) order by colecao

COLECA.ATUALIZA_PRECO_DOC.ATUALIZA_PERCENTUAL_PRECO_VENDA_PRODUTO

Define se o "índice" (markup) informado na tela de alterações de preços deve ser automaticamente atualizado no cadastro do respectivo produto.

Valor padrão: N

COLECA.ATUALIZA_PRECO_DOC.DESTACAR_PRECO

Permite definir se deve destacar os preços

Se marcada será destacado o campo "Sugerido" quando este for maior ou menor do que o "Preço atual", ou vice-versa conforme o que estiver definido na preferência COLECA.ATUALIZA_PRECO_DOC.DESTACAR_PRECO_ATUAL que permite definir se o campo destacado será o "Sugerido"(padrão) ou o "Preço atual"

É possível definir o estilo que será utilizado nas preferências abaixo:

Por padrão apresenta em vermelho e negrito (valor = color:red; font-weight:bold)

Por padrão apresenta em verde e negrito (valor = color:green; font-weight:bold)

Tipo: TEXT

Valor padrão: S

COLECA.ATUALIZA_PRECO_DOC.DESTACAR_PRECO_ATUAL

Se marcada, valor "S", será destacado o valor atual ao invés do preço sugerido. Caso a preferência COLECA.ATUALIZA_PRECO_DOC.DESTACAR_PRECO estiver configurada para destacar o preço.

Tipo: FLAG

Valor padrão: N

COLECA.ATUALIZA_PRECO_DOC.STYLE_DESTACAR_PRECO_MAIOR

Style para destacar preços maiores que os da última aquisição

Permite definir o style que será utilizado para destacar o "Sugerido" quando este for maior que o "Preço atual".
Por padrão apresenta em vermelho e negrito (valor = color:red; font-weight:bold)

Tipo: TEXT

Valor padrão: color:red; font-weight:bold

COLECA.ATUALIZA_PRECO_DOC.STYLE_DESTACAR_PRECO_MENOR

Style para destacar preços menores que os da última aquisição

Permite definir o style que será utilizado para destacar o "Sugerido" quando este for menor que o "Preço atual".
Por padrão apresenta em verde e negrito (valor = color:green; font-weight:bold)

Tipo: TEXT

Valor padrão: color:green; font-weight:bold

COLECA.ATUALIZA_PRECO_DOC.UTILIZAR_CUSTO_MEDIO

Define se o novo preço do produto deve ser calculado utilizando como base o custo médio (fiscal ou financeiro) ou o custo do produto no documento de entrada.
Valores:
  • S = Custo médio.
  • N = Custo de aquisição do produto no documento.
O tipo de custo médio (fiscal ou financeiro) é definido pela preferência de sistema ESTOQUE.CUSTOS_PRODUTOS.UTILIZAR_CUSTO_FISCAL.

Valor padrão: N

COLECA.CAD_ITCOLE_SIMPLES_PRODUTO.ATRIBUTOS_HISTORICO

Atributos a serem apresentados no histórico

Nomes dos atributos a serem apresentados no histórico separados por vírgulas.

Tipo: UPPER

Valor padrão: PERCENTUAL_PRECO_VENDA,PRECO_SUGERIDO

COLECA.CAD_LISTAS_PRECOS.CLONAR_RAPIDO

Habilita/desabilita a operação de clonagem rápida de uma lista de preços

Por padrão, a operação [b:Clonar] utiliza um processo rápido que omite diversas validações que teoricamente não são necessárias em uma clonagem (cópia simples de uma lista de preços).
Para desabilitar e retornar ao processo tradicional de clonagem basta desativar essa preferência.

Tipo: FLAG

Valor padrão: S

COLECA.CAD_LISTAS_PRECOS_ITENS.ATRIBUTOS_HISTORICO

Atributos a serem apresentados no histórico

Nomes dos atributos a serem apresentados no histórico separados por vírgulas.

Tipo: UPPER

Valor padrão: PERCENTUAL_PRECO_VENDA,PRECO_SUGERIDO

COLECA.CAD_LISTAS_PRECOS_ITENS.DEFINIR_ESTABELECIMENTO_ESTOQUE

Definir o estabelecimento utilizado para apresentar o estoque.

Define se o estoque apresentado deve ser:
P = Somente o estoque disponível no estabelecimento padrão do usuário
D = Soma de todos os estoques disponíveis nos estabelecimentos que disponibilizam estoque para esta lista de preço.(caso o estabelecimento esteja marcado como disponibiliza o excedente, a soma será calculada considerando apenas o excedente)

Tipo: TEXT

Valor padrão: P

COLECA.COLECA.PRICE_FORMAT

Define o formato dos campos financeiros deste sistema. Note que os itens das coleções irão respeitar o formato imposto na coleção, através do atributo Casas decimais.

Tipo: TEXT

Valor padrão: ###,###,##0.00

COLECA.COLECOES.DESCONTO_SOMENTE_AVISTA

Indica se o uso de listas/descontos promocionais é permitido apenas para planos de pagamento considerados "A VISTA".
  • "N" - Listas e descontos promocionais são considerados independente do plano de pagamento.
  • "S" - Listas e descontos promocionais são considerados apenas quando o plano de pagamento do pedido estiver marcado como "Pagamento à vista" no campo "Informação para NFe".

Valor padrão: N

COLECA.COLECOES.EXCLUSAO_RAPIDA

Exclusão rápida da coleção/lista de preços

Configura o uso do processo de exclusão rápida de coleções/listas de preços. Quando ativo, os itens da coleção e seus respectivos históricos de alteração são excluídos em comandos específicos que tornam o processo mais rápido.

Tipo: FLAG

COLECA.COLECOES.PESQUISAR_ITEM_SEM_PRECO

Pesquisa deve incluir itens sem preço

Define se a pesquisa de preços deve considerar itens sem o preço informado.
Por padrão, a pesquisa não irá considerar itens que não tenham um preço sugerido informado.
Caso marcado com "S", a pesquisa de preços pode retornar itens com preço nulo.

Tipo: FLAG

COLECA.COLECOES.ROUND_MODE

Arrendondamento utilizado quando informado o número de casas decimais na lista

Deve ser informado o digito para a opção escolhida. O padrão é a 6 (HALF_EVEN).
Opções:
0 - UP - Arredonda fora de zero. Sempre incrementa o dígito antes de uma fração descartada não zero. Esse modo de arredondamento nunca diminui a magnitude do valor calculado.
1 - DOWN - Arredonda para zero. Nunca incrementa o dígito antes de uma fração descartada, ou seja, trunca. Esse modo de arredondamento nunca aumenta a magnitude do valor calculado.
2 - CEILING - Arredonda para infinidade positiva. Se o decimal for positivo, comporta-se equivalente a ROUND_UP; se negativo, comporta-se equivalente a ROUND_DOWN. Esse modo de arredondamento nunca diminui o valor calculado.
4 - HALF_UP - Arredonda para o "vizinho mais próximo", a menos que ambos os vizinhos sejam equidistantes, nesse caso, arredonda para cima. Comporta-se equivalente a ROUND_UP se a fração descartada for maior que, ou igual a, 0,5; caso contrário, comporta-se equivalente a ROUND_DOWN. Esse é o modo de arredondamento que é geralmente ensinado nas escolas.
5 - HALF_DOWN - Arredonda para o "vizinho mais próximo", a menos que ambos os vizinhos sejam equidistantes, nesse caso, arredonda para cima. Comporta-se equivalente a ROUND_UP se a fração descartada for maior que, ou igual a, 0,5; caso contrário, comporta-se equivalente a ROUND_DOWN. Esse é o modo de arredondamento que é geralmente ensinado nas escolas.
6 - HALF_EVEN - Arredonda para o "vizinho mais próximo", a menos que ambos os vizinhos sejam equidistantes, nesse caso, arredonda para o vizinho par.

Tipo: INTEGER

Valor padrão: 6

COLECA.COLECOES.SCRIPT_MEMORIAL_CALCULO_PRECO

Script de processamento do memorial de calculo do preço

Comandos a serem processados para modificar o texto de memorial descritivo.
Os comandos obedecem uma DSL:

Remover uma linha:

text.remove("Normal:");

Limpar tudo:
text.clear();

Adicionar um texto:
text.append("Nova linha");

Trocar um texto:
text.replace("from", "to");

Além disso, pode-se utilizar expressões groovy. Os objetos "user", "ctx" e "session" estão registrados.

Tipo: SOURCE_CODE

COLECA.COLECOES.SISTEMA_PESQUISA

Indica a versão do sistema de pesquisa de preços:
  • 1: Sistema de pesquisa por listas fixas por estabelecimento
  • 2: Sistema de pesquisa por múltiplas listas
Quando não informado, o sistema assume 1.

Tipo: OPCAO

COLECA.ITENS_COLECOES.ATUALIZAR_DATA_PRODUTO

Define se alterações na lista de preço alteram a data de atualização do produto, isso é importante em sistemas que usam PDV (ECF) porque forçam a atualizam do preço do produto no equipamento de PDV

Tipo: FLAG

Valor padrão: N

COLECA.ITENS_COLECOES.BLOQUEAR_CUSTO_ABAIXO_PERMITIDO

Bloquear o lançamento de itens abaixo do custo do produto

Caso a preferencia COLECA.ITENS_COLECOES.VERIFICAR_ULTIMA_COMPRA estiver marcada, esta preferencia irá validar se o valor do preço informado na lista de preços, é inferior ao preço de custo da última aquisição efetuada por um dos estabelecimentos vinculados a lista.
Caso a preferencia esteja marcada, e o preço informado for inferior ao valor de custo do produto será apresentado uma mensagem de erro.
Caso desmarcado e o preço informado for inferior ao valor de custo do produto será apresentado uma mensagem de alerta.

Tipo: FLAG

Valor padrão: N

COLECA.ITENS_COLECOES.CRITICAR_PRECOS_LISTAS_DEPENDENTES

Criticar preços de listas de preços criadas por dependência de lista base

Indica se deve ou não criticar os preços nas listas criadas por dependência de lista base.
Caso não seja configurado, assume que deve criticar.
Configurando para "Não", melhora a performance nas atualizações das listas de preços.

Tipo: FLAG

COLECA.ITENS_COLECOES.PERMITIR_PROMOCAO_LISTA_BASEADA

Permitir desconto em listas de preços baseadas em outras listas

Indica se permite ou não informar descontos em listas baseadas em outras listas. Os campos que ficarão disponíveis para edição são: Percentual promocional, Preço promocional e Data término promocional.

Tipo: FLAG

Valor padrão: N

COLECA.ITENS_COLECOES.PRECO_PROMOCIONAL_LISTA_DESCONTO

Define se, pode acumular o desconto percentual promocional de uma lista de preços com o desconto definido no Clientes e no Planos de pagamento.
  • S = Aplicará os descontos/acréscimos sobre o preço de venda informado no item do pedido conforme informações do cadastro do cliente e do plano de pagamento (podendo acumular descontos).
  • N = Não aplicará os descontos/acréscimos informados no cadastro do cliente e do plano de pagamento, mantendo apenas o desconto promocional do item (evitando acumular descontos).

Valor padrão: N

COLECA.ITENS_COLECOES.VERIFICAR_CUSTO_FINANCEIRO

Define se deve ser verificado se o preço do item está inferior ou não ao custo financeiro.
Caso marcado, uma tentativa de alterar o preço para um valor abaixo do custo atual do produto irá gerar um erro.
Caso não configurado, assume "Não".

Tipo: FLAG

Valor padrão: N

COLECA.ITENS_COLECOES.VERIFICAR_CUSTO_FORNECEDOR

Define se deve verificar se o valor está inferior ao custo informado no registro de fornecedor.

Valor padrão: N

COLECA.ITENS_COLECOES.VERIFICAR_ULTIMA_COMPRA

Define se deve gerar um alerta caso a ultima entrada do produto (compra) for inferior ao preço sugerido para venda.
Caso não configurado, assume "Sim".
Esta preferencia impacta nas atualizações de preço em massa. Desligando esta verificação aumenta a velocidade das mesmas.

Utilizado em conjunto com a preferencia COLECA.ITENS_COLECOES.BLOQUEAR_CUSTO_ABAIXO_PERMITIDO

Tipo: FLAG

COLECA.PRO_ATUALIZA_PRECOS.ENABLE_MULTIPLE_TRANSACTIONS

Transações avulsas

Indica se pode executar a atualização de preços usando transações avulsas. Por padrão, a atualização é realizada em uma única transação, o que, dependendo do tamanho da lista de preços, tudo será perdido pela reversão (rollback) da transação.

O uso desta preferência somente tem efeito para atualizações que estejam filtradas a uma data/hora da ultima atualização.

Para a atualização de preços de listas muito grandes, sugere-se proceder da seguinte forma:

  • Configure esta preferência para o valor "S".
  • Na interface PRO_ATUALIZA_PRECOS, inclua um filtro menor que para o campo "Data da última atualização"
  • Informe a data e o horário em que está iniciando o processo de atualização. Isso irá garantir que, caso a rotina seja interrompida por algum erro, será possível executá-la de novo sem correr o risco de atualizar novamente o mesmo produto (aplicando duas vezes um aumento de 5%, por exemplo)
  • Liste os registros
  • Pressione em [b:Processar] e aguarde a execução.

No caso de listas muito grandes e/ou que tenham muitas listas baseadas na mesma, isso pode levar vários minutos ou horas. Se você fechar a janela, ou se a sessão cair por tempo de inatividade, o processo continua sendo executado. Você poderá abrir novas janelas e trabalhar normalmente. Se acessar a lista de preços e consultar os produtos cuja ultima atualização seja maior do que a data e hora informados acima, poderá acompanhar os produtos que estão sendo atualizados.

No caso de ocorrer algum erro, avalie e corrija o que ocorreu e então repita o mesmo processo informando a mesma data e hora informados anteriormente. Isso irá evitar a execução do mesmo reajuste (produtos cujo preço foi atualizado não serão selecionados porque terão uma data e hora da ultima atualização maior do que esta).

Tipo: FLAG

COLECA.PRO_ATUALIZA_PRECOS.SQL_VALORES_BASE

Customização de opções para o valor base

Esta preferencia permite incluir opções de valor base customizado.
A preferencia deve ser registrada incluindo expressões SQL que serão inseridas na consulta de base do bloco gerando o valor de base a ser utilizado em cada registro.

As expressões são formadas por pelo menos 2 linhas:

  • A primeira linha deve conter o título a ser usado para a opção.
  • A segunda linha em diante corresponde a uma expressão SQL.

As expressões devem ser separadas por uma linha em branco.

A expressão SQL deve utilizar as referencias internas do SQL base da interface, valendo os seguintes binds:
  • BASE - Item da lista de preço (ITENS_COLECOES)
  • LISTA - Lista de preço (COLECOES)
  • LKP2 - Produto (PRODUTOS)
  • FABRI - Fábricante do produto (PESSOAS)
  • LKP1 - Tipo do produto (TIPOS_PRODUTOS)
  • LKP5 - Marca (MARCAS)
  • LKP6 - CLASSIFICACOES_NCM

Exemplo:
Custo de aquisição:
select valor from XXX where produto_id = base.produto_id

Outro nome:
select valor
from YYY
where produto_id = base.produto_id;

Tipo: TEXT_LONG

COLECA.WS_CONSULTA_PRECOS.SQL_LISTA

SQL a ser utilizado para baixar a lista de preços

SQL a ser utilizado para baixar a lista de preços. Este SQL deve retornar em uma única coluna todos os códigos de barras que serão aceitos no terminal de consulta. Cada linha deve ser forma por 3 informações separadas por um caractere TAB (decimal 9):

  • Código de barras
  • Descrição do produto
  • Preço

Esta preferencia aceita o Z_PROFILE para atender a necessidade de acessar listas de preços diferentes dependendo do terminal de consulta.

Exemplo:
select b.codigo_barras||chr(9)||p.descricao||chr(9)
|| round((select ((case when ic.valor_promocional is not null
          	and ic.data_termino_promocional >= current_date
          	then ic.valor_promocional 
          	else ic.preco_sugerido end)
    	* case when b.operacao_conversao is not null 
        		and b.operacao_conversao = '/' 
           		then 1 / coalesce(b.fator_conversao, 1)  
           else coalesce(b.fator_conversao, 1) 
      end) 
 	from itens_colecoes ic
 	where ic.produto_id = i.produto_id
 	and ic.colecao_id = i.colecao_id
 	and ic.quantidade_produtos_minima <= coalesce(b.fator_conversao,1)
 	order by ic.quantidade_produtos_minima desc
 	limit 1)::numeric, (case when c.casas_decimais is not null then c.casas_decimais else 2 end))
from itens_colecoes i
join produtos p on p.id = i.produto_id
join codigos_barras b on b.produto_id = p.id
join colecoes c on c.id = i.colecao_id
where c.colecao = 'PADRAO'
and i.quantidade_produtos_minima = 0 
and i.ativo = 'S' 
and (i.data_inicio_comercializacao is null or i.data_inicio_comercializacao <= now()) 
and (i.data_fim_comercializacao is null or i.data_fim_comercializacao >= now())

Tipo: SOURCE_CODE