Produto: | TOTVS CRM Automação da Força de Vendas |
---|---|
Linha de Produto: | Linha TOTVS CRM SFA |
Módulo: | Venda |
Função: | Calcular comissão online |
Ticket: | |
Requisito/Story/Issue: |
A aplicação deverá permitir a visualização do percentual de comissão do usuário para o produto no momento da venda.
Deverão ser criados os seguintes parâmetros para atender a comissão no winthor, todos os parâmetros deverão estar disponíveis na opção 18 do tools.
Chave= sim3g.pedido.comissao.usaPcTabComisao;
Descrição= Parâmetro que indica se o cliente usa a tabela PcTabComiss.
Valor= 0
Observação: Parâmetro que indica se o cliente usa a tabela PcTabComiss.
Modulo = Venda;
Contexto = Pedido;
Ambiente= Todos;
Chave= sim3g.pedido.comissao.UsaPcComissaoUsur;
Descrição= Parâmetro que indica se o cliente usa a tabela UsaPcComissaoUsur.
Valor= 0
Observação: Parâmetro que indica se o cliente usa a tabela UsaPcComissaoUsur.
Modulo = Venda;
Contexto = Pedido;
Ambiente= Todos;
Chave= sim3g.pedido.comissao. UsaPCComissaoPlPag;
Descrição= Parâmetro que indica se o cliente usa a tabela UsaPCComissaoPlPag.
Valor= 0
Observação: Parâmetro que indica se o cliente usa a tabela UsaPCComissaoPlPag.
Modulo = Venda;
Contexto = Pedido;
Ambiente= Todos;
Chave= sim3g.pedido.comissao. UsaPCComissaoRegiao;
Descrição= Parâmetro que indica se o cliente usa a tabela UsaPCComissaoRegiao.
Valor= 0
Observação: Parâmetro que indica se o cliente usa a tabela UsaPCComissaoRegiao.
Modulo = Venda;
Contexto = Pedido;
Ambiente= Todos;
Chave= sim3g.pedido.comissao. UsaPCComissaoFilial;
Descrição= Parâmetro que indica se o cliente usa a tabela UsaPCComissaoFilial.
Valor= 0
Observação: Parâmetro que indica se o cliente usa a tabela UsaPCComissaoFilial.
Modulo = Venda;
Contexto = Pedido;
Ambiente= Todos;
Deverá ser criado a opção “HABILITAR_COMISSAO_ONLINE” na página “Configuração-> Configuração Pedido -> Geral” com as seguintes opções:
Campo= HABILITAR_COMISSAO_ONLINE;
Situação= Booleano (por padrão inativo);
Label = standard.pedidoconfig.comissao.calculo.online com valor padrão =’ Calcular Comissão’;
Descrição= Habilita o cálculo de comissão online.
Quando o campo “HABILITAR_COMISSAO_ONLINE” estiver ativo o botão “Calcular Comissão”
deverá ser exibido menu superior do pedido conforme imagem abaixo:
No momento em que o usuário estiver realizando o pedido, o mesmo poderá realizar o cálculo da comissão de forma online para obter o % de comissão que o produto está gerando.
A cor do botão deverá vir previamente amarela, marcando que a comissão deverá ser calculada. Ao finalizar o processo de calculo de comissões, a cor do botão deverá ser atualizada para verde.
Consulta:
DECLARE BEGIN |
---|
Documentação de apoio para a chamada via java:
https://docs.oracle.com/cd/A84870_01/doc/java.816/a81354/samapp2.htm
Mapeamento dos campos que serão enviados:
:p_NumRegiao=tabelapreco.codigoerp (codigoerp da tabela de preço selecionada NO cabeçalho), :p_perluc=(precovenda - precocusto)/precocusto*100, :p_perdesc=pedidoproduto.percentualdesconto, :p_UsaPcTabComiss=parametro.valor do parâmetro sim3g.pedido.comissao.usaPcTabComisao, :p_UsaPcComissaoUsur=parametro.valor do parâmetro sim3g.pedido.comissao. UsaPcComissaoUsur, :p_UsaPCComissaoPlPag= parametro.valor do parâmetro sim3g.pedido.comissao. UsaPCComissaoPlPag, :p_UsaPCComissaoRegiao=parametro.valor do parâmetro sim3g.pedido.comissao. UsaPCComissaoRegiao, :p_UsaPCComissaoFilial=parametro.valor do parâmetro sim3g.pedido.comissao. UsaPCComissaoFilial, :p_usacomissaoporrca=(SELECT usacomissaoporrca FROM PCCONSUM p), :P_ORDEMAVALIACAOCOMISSAORCA=(SELECT ordemavaliacaocomissaorca FROM PCCONSUM p), :P_USACOMISSAOPORCLIENTE=(SELECT usacomissaoporcliente FROM PCCONSUM p), :P_USACOMISSAOPORLINHAPROD=(SELECT usacomissaoporlinhaprod FROM PCCONSUM p), :P_COMISSAORCATIPOVENDA=(SELECT comissaorcatipovenda FROM PCCONSUM p), :P_TIPOVEND=(SELECT tipovend FROM pcusuari WHERE codusur = (SELECT codigoerp FROM usuario WHERE idusuario = :Profissional_selecionado_no_Pedido)) :P_PERCENT=(SELECT PERCENT FROM pcusuari WHERE codusur = (SELECT codigoerp FROM usuario WHERE idusuario = :Profissional_selecionado_no_Pedido)) :P_PERCENT2=(SELECT PERCENT2 FROM pcusuari WHERE codusur = (SELECT codigoerp FROM usuario WHERE idusuario = :Profissional_selecionado_no_Pedido)) :P_CODPROD = (SELECT codigoerp FROM produto WHERE produto= :PRODUTO_INSERIDO_NO_CARRINHO), --codigoerp do produto :P_PCOMINT1=(SELECT pcomint1 FROM pcprodut WHERE codprod=(SELECT codigoerp FROM produto WHERE produto= :PRODUTO_INSERIDO_NO_CARRINHO)), :P_PCOMEXT1=(SELECT pcomext1 FROM pcprodut WHERE codprod=(SELECT codigoerp FROM produto WHERE produto= :PRODUTO_INSERIDO_NO_CARRINHO)), :P_PCOMREP1=(SELECT pcomrep1 FROM pcprodut WHERE codprod=(SELECT codigoerp FROM produto WHERE produto= :PRODUTO_INSERIDO_NO_CARRINHO)), :p_codlinhaprod=(SELECT codlinhaprod FROM pcprodut WHERE codprod=(SELECT codigoerp FROM produto WHERE produto= :PRODUTO_INSERIDO_NO_CARRINHO)), :p_tipocomissao=(SELECT tipocomissao FROM pcprodut WHERE codprod=(SELECT codigoerp FROM produto WHERE produto= :PRODUTO_INSERIDO_NO_CARRINHO)), :p_codepto= (SELECT codepto FROM pcprodut WHERE codprod=(SELECT codigoerp FROM produto WHERE produto= :PRODUTO_INSERIDO_NO_CARRINHO)), :p_codsec=(SELECT p_codsec FROM pcprodut WHERE codprod=(SELECT codigoerp FROM produto WHERE produto= :PRODUTO_INSERIDO_NO_CARRINHO)), :p_classeproduto=(SELECT p_classeproduto FROM pcprodut WHERE codprod=(SELECT codigoerp FROM produto WHERE produto= :PRODUTO_INSERIDO_NO_CARRINHO)), :p_tipovenda= (SELECT tipovenda FROM pcplpag WHERE codplpag=:CONDICAOPAGAMENTO_SELECINADA_NO_PEDIDO), :p_codplpag= (SELECT codigoerp FROM condicaopagamento WHERE idcondicaopagamento=:CONDICAOPAGAMENTO_SELECINADA_NO_PEDIDO), :p_data=(SELECT datapedido FROM pedido WHERE idpedido=:pedido_selecionado), :p_codfilial=(SELECT numeromatricula FROM LOCAL WHERE idlocal = (FILIAL_SELECIONADA_NO_PEDIDO), :p_codusur=(SELECT CODIGOERP FROM USUARIO WHERE IDUSUARIO=:PROFISSIONAL_SELECIONADO_NO_PEDIDO), :p_considerarcomissaozero=(SELECT considerarcomissaozero FROM pcfilial WHERE codigo= (SELECT numeromatricula FROM LOCAL WHERE idlocal = (FILIAL_SELECIONADA_NO_PEDIDO)), :p_tipoavaliacaocomissao=(SELECT tipoavaliacaocomissao FROM pcfilial WHERE codigo= (SELECT numeromatricula FROM LOCAL WHERE idlocal = (FILIAL_SELECIONADA_NO_PEDIDO)), :p_percomcli=(SELECT percomcli FROM pcclient WHERE codcli = (SELECT codigoerp FROM parceiro WHERE idparceiro=:CLIENTE_SELECIONADO_PEDIDO)), :p_codcli=(SELECT codcli FROM pcclient WHERE codcli = (SELECT codigoerp FROM parceiro WHERE idparceiro=:CLIENTE_SELECIONADO_PEDIDO)), :p_coddesconto=(SELECT CODIGOERP FROM DESCONTO WHERE iddesconto = desconto_aolicado_automaticamente_no_item), :p_codauxiliar= (SELECT codigobarra FROM produtoembalagem WHERE idproduto =:PRODUTO_SELECONADO AND idembalagem=:Emabalagem_seleconada), :p_pcomint1_emb= NULL, :P_PCOMEXT1_emb=NULL, :P_PCOMREP1_emb=NULL, :p_utilizavendaporembalagem = parametro.valor do parâmetro sim3g.pedido.embalagem.utilizavendaporembalagem, :p_tabela=pedidoproduto.precooriginal do produto seleconado, :p_venda=pedidoproduto.precovenda do produtoselecionado, :p_numcasasdecvenda= (SELECT numcasasdecvenda FROM pcconsum) |
---|
Os valores de retorno deverão ser inseridos nos seguintes campos:
Perc_comissao:
ANDROID_CARD_PERCENTUAL_COMISSAO
ANDROID_CARRINHO_PERCENTUAL_COMISSAO
ANDROID_NEGOCIACAO_PERCENTUAL_COMISSAO
WEB_GRID_PERCENTUAL_COMISSAO
Vlr_comissao:
ANDROID_CARD_VALOR_COMISSAO
ANDROID_CARRINHO_VALOR_COMISSAO
ANDROID_NEGOCIACAO_PERCENTUAL_COMISSAO
WEB_GRID_VALOR_COMISSAO
Os valores e percentuais de comissão deverão ser persistidos nos campos pedidoproduto.valorcomissao e pedidoproduto.percentualcomissao, respectivamente.
No resumo do pedido, a comissão deverá ser implementada nos campos:
VALOR_COMISSAO = SUM(item."Vlr_comissao")
Sempre que o botão “HABILITAR_COMISSAO_ONLINE” estiver ativo ao trocar a quantidade, preço de venda, % Desconto, R$ Desconto no item, a função de comissão deverá ser marcada para reprocessamento de forma obrigatória (cor amarela do botão de cálculo). O mesmo ocorre ao inserir um novo produto no carrinho após a execução da comissão para os itens anteriores. O mesmo comportamento ocorre atualmente para a simulação de impostos online.