Produto: | Automação da Força de Vendas |
Linha de Produto: | TOTVS CRM |
Segmento: | Cross Segmentos |
Módulo: | Venda |
Aplicação: | Web/App móvel |
Identificador: | FDTSFAPD-1892 |
A funcionalidade "Cálculo de Comissão Online" é um recurso integrado ao ERP Winthor, projetado para oferecer aos usuários do TOTVS CRM - SFA uma maneira intuitiva e eficaz de visualizar as comissões associadas a produtos durante o processo de vendas.
Aprimorar vendas com visualização imediata das comissões, aumentando transparência e eficiência.
Rafael, vendedor, utiliza "Cálculo de Comissão Online" no TOTVS CRM - SFA para visualizar instantaneamente suas comissões por produto durante as vendas.
Rafael gastava tempo calculando comissões manualmente ou esperando informações de finanças, atrasando negociações.
Agora, com a funcionalidade de Cálculo de Comissão Online, Rafael pode obter instantaneamente os valores de comissão associados a cada produto durante o processo de vendas.
Para atender à funcionalidade de comissão no Winthor, os seguintes parâmetros serão criados e estarão disponíveis na opção 18 do menu "Tools".
Será criada a opção "HABILITAR_COMISSAO_ONLINE" na página "Configuração -> Configuração Pedido -> Geral" com as seguintes opções:
Quando o campo "HABILITAR_COMISSAO_ONLINE" estiver ativo, o botão "Calcular Comissão" será exibido no menu superior do pedido.
Ao realizar um pedido, os usuários poderão calcular a comissão online para obter o percentual de comissão gerado pelo produto.
O botão "Calcular Comissão" estará inicialmente amarelo, indicando que a comissão será calculada. Após o cálculo, a cor do botão será atualizada para verde.
DECLARE
p_codcomissao number;
p_rotinacomissao varchar2;
p_LetraComiss varchar2;
p_mensagem varchar2;
BEGIN
FUNCOESVENDAS.DEFINIR_COMISSAO_ITEM_VENDIDO(
:p_NumRegiao, :p_perluc, :p_perdesc, :p_UsaPcTabComiss,
:p_UsaPcComissaoUsur, :p_UsaPCComissaoPlPag,
:p_UsaPCComissaoRegiao, :p_UsaPCComissaoFilial,
:p_usacomissaoporrca, : p_OrdemAvaliacaoComissaoRCA,
:p_usacomissaoporcliente, :p_USACOMISSAOPORLINHAPROD,
:p_comissaorcatipovenda, :p_tipovend, :p_percent,
:p_percent2, :p_codprod, :p_pcomint1, :P_PCOMEXT1,
:P_PCOMREP1, :p_codlinhaprod, :p_tipocomissao, :p_codepto,
:p_codsec, :p_classeproduto, :p_tipovenda, :p_codplpag,
:p_data, :p_codfilial, :p_codusur, :p_considerarcomissaozero,
:p_tipoavaliacaocomissao, :p_percomcli, :p_codcli,
:p_coddesconto, :p_codauxiliar, :p_pcomint1_emb,
:P_PCOMEXT1_emb, :P_PCOMREP1_emb, :p_utilizavendaporembalagem,
:p_tabela, :p_venda, :p_numcasasdecvenda
);
dbms_output.put_line(p_codcomissao || ',' || p_rotinacomissao || ',' || p_LetraComiss || ',' || p_mensagem);
END;
Acesse o link: https://docs.oracle.com/cd/A84870_01/doc/java.816/a81354/samapp2.htm
Abaixo, encontre o mapeamento dos campos a serem 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 comissão serão inseridos em campos específicos:
Perc_comissao:
Vlr_comissao:
pedidoproduto.valorcomissao
e pedidoproduto.percentualcomissao
, respectivamente.VALOR_COMISSAO = SOMA(item."Vlr_comissao")