Pular para o conteúdo principal

RNF020 — Estatística de Vendas por Vendedor (enriquecimento)

Menu: Faturamento > Relatórios > Notas Fiscais > Estatística de Vendas por Vendedor

Objetivo​

A tela RNF020 gera relatórios estatísticos de vendas por vendedor, cliente, produto, meta ou despesa para o módulo de Faturamento, cobrindo um período de até 12 meses. O usuário escolhe um entre 11 modelos de relatório (ex.: Vendas por Cliente/Faturamento, Meta x Vendas, Vendas e Despesas x Vendedor), aplica filtros opcionais de vendedor, cliente, região, grupo, seção etc., e imprime o resultado. A consulta gerada e os filtros disponíveis mudam conforme o modelo escolhido e conforme a empresa estar parametrizada para permitir mais de um vendedor por nota fiscal (PARMFATUR.ST_VARIOSVENDEDORES).

Fluxo principal​

  1. Usuário clica em Novo (ou F5); a tela inicia transação, abre os grids de filtro e assume a Empresa da sessão e o modelo padrão "Vendas por Cliente/Faturamento". (Toolbar) — source/RNF020/URNF020.pas:299-359 (TfrmRNF020.btnNovoClick)
  2. Usuário escolhe o Modelo de relatório na combo (ex.: Vendas por Cliente/Faturamento, Meta x Vendas, Vendas e Despesas x Vendedor); a tela reorganiza quais filtros e abas ficam visíveis para aquele modelo. (grpCONSULTA) — source/RNF020/URNF020.pas:2085-2196 (TfrmRNF020.AtualizaFiltro)
  3. Usuário informa o período (Mês Inicial e Mês Final), campos sempre obrigatórios. (grpCONSULTA) — source/RNF020/URNF020.pas:638-647 (TfrmRNF020.btnImprimirClick)
  4. Usuário adiciona linhas opcionais nos grids de filtro, digitando o código ou usando F9 para pesquisar; cada código digitado é validado contra o cadastro correspondente. (Abas de filtro (Cliente, Vendedor, Região, Grupo, SubGrupo, Seção, Movimentação, Perfil, Tipo de Vendedor, Município, Perfil de Cliente e, no modelo Despesas, Conta Contábil/Centro de Resultado)) — source/RNF020/UdmRNF020.pas:213-229 (TdmRNF020.tabVENDEDORCD_VENDEDORValidate)
  5. Usuário fecha a tela (Sair/F12); o último filtro usado é salvo por usuário/empresa e a transação é desfeita (rollback). (Toolbar) — source/RNF020/URNF020.pas:268-281 (TfrmRNF020.FormClose)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Mês Inicial (DT_MESINI)sempre, em qualquer modelo de relatório, ao clicar em ImprimirÉ Obrigatório Informar o Mês Inicial do Período para Realizar a Consulta!source/RNF020/URNF020.pas:638-641 (TfrmRNF020.btnImprimirClick)
Mês Final (DT_MESFIM)sempre, em qualquer modelo de relatório, ao clicar em ImprimirÉ Obrigatório Informar o Mês Final do Período para Realizar a Consulta!source/RNF020/URNF020.pas:643-646 (TfrmRNF020.btnImprimirClick)
Empresa (CD_EMPRESA)apenas quando o Modelo selecionado é "Total Vendas/Mês x Comissão" (valor 'A')É Obrigatório Informar a Empresa para Realizar a Consulta!source/RNF020/URNF020.pas:535-536 (TfrmRNF020.btnImprimirClick)
Empresa (CD_EMPRESA)ao pesquisar Conta Contábil pelo atalho F10, quando PARMSISTEMA.TP_PLANOCONTABIL for diferente de 'G' (plano por empresa)O tipo do plano de contas é por empresa, portando a empresa deve ser informada.source/RNF020/URNF020.pas:3199-3213 (TfrmRNF020.gridContaContabilKeyDown)

Mensagens: causa e ação​

É Obrigatório Informar a Empresa para Realizar a Consulta!​

Causa: O Modelo selecionado é "Total Vendas/Mês x Comissão" e o campo Empresa está vazio.

Ação: Informe o código da Empresa (F9 para pesquisar) antes de imprimir.

Fonte: source/RNF020/URNF020.pas:535-536 (TfrmRNF020.btnImprimirClick)

É Obrigatório Informar o Mês Inicial do Período para Realizar a Consulta!​

Causa: O campo Mês Inicial do período de vendas está vazio ao clicar em Imprimir.

Ação: Preencha o Mês Inicial do período a consultar.

Fonte: source/RNF020/URNF020.pas:638-641 (TfrmRNF020.btnImprimirClick)

É Obrigatório Informar o Mês Final do Período para Realizar a Consulta!​

Causa: O campo Mês Final do período de vendas está vazio ao clicar em Imprimir.

Ação: Preencha o Mês Final do período a consultar.

Fonte: source/RNF020/URNF020.pas:643-646 (TfrmRNF020.btnImprimirClick)

A Data Inicial não pode ser Maior que a Data Final!​

Causa: O Mês Inicial do período de vendas informado é posterior ao Mês Final.

Ação: Corrija o Mês Inicial ou o Mês Final para que o início seja igual ou anterior ao fim.

Fonte: source/RNF020/URNF020.pas:544-561 (TfrmRNF020.btnImprimirClick)

O Período Máximo Permitido é de 12 meses. Verifique!​

Causa: O intervalo entre Mês Inicial e Mês Final cruza a virada do ano e a comparação de mês indica período maior que 12 meses.

Ação: Reduza o intervalo entre Mês Inicial e Mês Final e tente novamente.

Fonte: source/RNF020/URNF020.pas:650-655 (TfrmRNF020.btnImprimirClick)

Consulta não retornou registros!​

Causa: No modelo "Total Vendas/Mês x Comissão", nenhuma nota/comissão foi encontrada com os filtros e período informados.

Ação: Revise Empresa, período e demais filtros (vendedor, cliente etc.) e tente novamente.

Fonte: source/RNF020/URNF020.pas:1611-1616 (TfrmRNF020.btnImprimirClick)

Atenção! O Modelo não funciona corretamente com a opção de 'Vários Vendedores' parametrizada [MFA001].​

Causa: A empresa está parametrizada com PARMFATUR.ST_VARIOSVENDEDORES='S' e o modelo escolhido ("Vendas Toneladas x Vendedor", "Vendas x Forma de Pagamento" ou similar) não considera múltiplos vendedores por nota.

Ação: Continue ciente de que o resultado usará apenas o vendedor único da nota, ou escolha outro modelo de relatório.

Fonte: source/RNF020/URNF020.pas:1563-1566 (TfrmRNF020.btnImprimirClick), source/RNF020/URNF020.pas:1634-1637 (TfrmRNF020.btnImprimirClick)

O tipo do plano de contas é por empresa, portando a empresa deve ser informada.​

Causa: Usuário tentou pesquisar Conta Contábil pelo atalho F10 sem preencher a Empresa, e o parâmetro de sistema do plano de contas não é do tipo Geral.

Ação: Preencha a Empresa no filtro antes de pesquisar a Conta Contábil.

Fonte: source/RNF020/URNF020.pas:3199-3213 (TfrmRNF020.gridContaContabilKeyDown)

A Empresa não está Cadastrada [ADM002]!​

Causa: O código de Empresa digitado no filtro não existe no cadastro de Empresas.

Ação: Use F9 para pesquisar a Empresa ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:172-179 (TdmRNF020.tabEMPRESACD_EMPRESAValidate)

O Vendedor não está Cadastrado [TFA007]!​

Causa: O código de Vendedor digitado no grid de filtro não existe no cadastro de Vendedores.

Ação: Use F9 para pesquisar o Vendedor ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:218-225 (TdmRNF020.tabVENDEDORCD_VENDEDORValidate)

A Região Comercial não está Cadastrada [TFA014]!​

Causa: O código de Região Comercial digitado não existe no cadastro.

Ação: Use F9 para pesquisar a Região ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:236-243 (TdmRNF020.tabRegiaoCD_REGIAOCOMERCIALValidate)

O Grupo não está Cadastrado [TPO006]!​

Causa: O código de Grupo de item digitado não existe no cadastro de Grupos.

Ação: Use F9 para pesquisar o Grupo ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:254-261 (TdmRNF020.tabGRUPOCD_GRUPOValidate)

O Cliente não está Cadastrado[TFA001]!​

Causa: O código de Cliente digitado no grid de filtro não existe no cadastro de Pessoas.

Ação: Use F9 para pesquisar o Cliente ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:273-280 (TdmRNF020.tabClienteCD_PESSOAValidate)

O Perfil não está Cadastrado [TPO033]!​

Causa: O código de Perfil de item digitado não existe no cadastro de Perfis.

Ação: Use F9 para pesquisar o Perfil ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:291-298 (TdmRNF020.tabPERFILCD_PERFILValidate)

O perfil não está Cadastrado! Verifique [TPO033].​

Causa: O código de Perfil de Cliente digitado não existe no cadastro de Perfis.

Ação: Use F9 para pesquisar o Perfil de Cliente ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:410-416 (TdmRNF020.tabPERFILCLIENTECD_PERFILValidate)

O SubGrupo não está Cadastrado [TPO007]!​

Causa: O código de SubGrupo digitado não existe no cadastro de SubGrupos.

Ação: Use F9 para pesquisar o SubGrupo ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:309-318 (TdmRNF020.tabSubGrupoCD_SUBGRUPOValidate)

A Movimentação não está Cadastrada [TCB001]!​

Causa: O código de Movimentação digitado não existe no cadastro de Movimentações.

Ação: Use F9 para pesquisar a Movimentação ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:330-339 (TdmRNF020.tabMovimentacaoCD_MOVIMENTACAOValidate)

A Seção não está Cadastrada [TPO008]!​

Causa: O código de Seção digitado não existe no cadastro de Seções.

Ação: Use F9 para pesquisar a Seção ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:351-360 (TdmRNF020.tabSECAOCD_SECAOValidate)

O Tipo de Vendedor não está Cadastrado [TFA064]!​

Causa: O código de Tipo de Vendedor digitado não existe no cadastro correspondente.

Ação: Use F9 para pesquisar o Tipo de Vendedor ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:372-379 (TdmRNF020.tabTPVENDEDORIDValidate)

O Município não está Cadastrado [TFA003]!​

Causa: O código de Município digitado não existe no cadastro de Municípios.

Ação: Use F9 para pesquisar o Município ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:390-399 (TdmRNF020.tabMunicipioCD_MUNICIPIOValidate)

A Conta Contábil não está Cadastrada [TFC001]!​

Causa: O código de Conta Contábil digitado não existe no plano de contas.

Ação: Use F10 para pesquisar a Conta Contábil (informando a Empresa se exigido) ou corrija o código digitado.

Fonte: source/RNF020/UdmRNF020.pas:428-434 (TdmRNF020.tabCONTACONTCD_CONTAValidate)

O Centro de Resultado não está Cadastrado [TCB001]!​

Causa: O código de Centro de Resultado digitado não existe para a Empresa preenchida no filtro.

Ação: Confirme a Empresa correta e use F9 para pesquisar o Centro de Resultado.

Fonte: source/RNF020/UdmRNF020.pas:445-452 (TdmRNF020.tabCENTROCUSTOCD_CENTROCUSTOValidate)

W-0231​

Causa: Na aba de Despesas, a Data Inicial de Vencimento de Contas informada é maior que a Data Final já preenchida.

Ação: Corrija a Data Inicial de Vencimento de Contas para ser igual ou anterior à Data Final.

Fonte: source/RNF020/UdmRNF020.pas:199-211 (TdmRNF020.tabEMPRESADT_CONTASINIValidate)

W-0232​

Causa: Na aba de Despesas, a Data Final de Vencimento de Contas informada é menor que a Data Inicial já preenchida.

Ação: Corrija a Data Final de Vencimento de Contas para ser igual ou posterior à Data Inicial.

Fonte: source/RNF020/UdmRNF020.pas:185-197 (TdmRNF020.tabEMPRESADT_CONTASFIMValidate)

Regras de negócio​

  • RNF020.R001 (ver regras/RNF020/RNF020.R001.md)
  • RNF020.R002 (ver regras/RNF020/RNF020.R002.md)
  • RNF020.R003 (ver regras/RNF020/RNF020.R003.md)
  • RNF020.R004 (ver regras/RNF020/RNF020.R004.md)
  • RNF020.R005 (ver regras/RNF020/RNF020.R005.md)
  • RNF020.R006 (ver regras/RNF020/RNF020.R006.md)
  • RNF020.R007 (ver regras/RNF020/RNF020.R007.md)
  • RNF020.R008 (ver regras/RNF020/RNF020.R008.md)
  • RNF020.R009 (ver regras/RNF020/RNF020.R009.md)
  • RNF020.R010 (ver regras/RNF020/RNF020.R010.md)
  • RNF020.R011 (ver regras/RNF020/RNF020.R011.md)
  • RNF020.R012 (ver regras/RNF020/RNF020.R012.md)
  • RNF020.R013 (ver regras/RNF020/RNF020.R013.md)
  • RNF020.R014 (ver regras/RNF020/RNF020.R014.md)
  • RNF020.R015 (ver regras/RNF020/RNF020.R015.md)
  • RNF020.R016 (ver regras/RNF020/RNF020.R016.md)
  • RNF020.R017 (ver regras/RNF020/RNF020.R017.md)
  • RNF020.R018 (ver regras/RNF020/RNF020.R018.md)
  • RNF020.R019 (ver regras/RNF020/RNF020.R019.md)

Perguntas frequentes​

P: Por que o sistema pede para informar a Empresa antes de imprimir, se em outros relatórios de vendas isso não é obrigatório? R: A Empresa só é obrigatória quando o Modelo selecionado é "Total Vendas/Mês x Comissão". Nos demais modelos o campo é opcional. Fonte: source/RNF020/URNF020.pas:535-536 (TfrmRNF020.btnImprimirClick)

P: Apareceu "O Período Máximo Permitido é de 12 meses. Verifique!", mas o período parece menor que isso. O que fazer? R: A validação compara apenas o ano e o mês de início/fim, não a diferença exata de meses; em períodos que cruzam a virada do ano ela pode disparar mesmo com menos de 12 meses efetivos. Reduza o intervalo entre Mês Inicial e Mês Final para tentar novamente. Fonte: source/RNF020/URNF020.pas:650-655 (TfrmRNF020.btnImprimirClick)

P: Por que a mensagem "Consulta não retornou registros!" só aparece às vezes e não em todos os relatórios vazios? R: Essa checagem prévia só existe no modelo "Total Vendas/Mês x Comissão" (A); os demais modelos deixam o gerador de relatório (GeraRelatorio) tratar o resultado vazio sem essa mensagem específica. Fonte: source/RNF020/URNF020.pas:1611-1616 (TfrmRNF020.btnImprimirClick)

P: Por que o filtro "Tipo de Vendedor" às vezes aparece na tela e às vezes não? R: Ele só fica visível quando o parâmetro PARMFATUR.ST_VARIOSVENDEDORES da empresa logada está marcado como 'S' (Sim), o que habilita vendedor por item de nota em vez de vendedor único por nota. Fonte: source/RNF020/URNF020.pas:226-246 (iniciar)

P: Recebi o aviso "O Modelo não funciona corretamente com a opção de 'Vários Vendedores' parametrizada [MFA001]". O relatório ainda pode ser usado? R: Sim, o relatório é gerado mesmo assim, mas nos modelos "Vendas Toneladas x Vendedor" e "Vendas x Forma de Pagamento" o valor considera apenas o vendedor único gravado na nota, ignorando que a empresa está parametrizada para permitir vários vendedores por nota. Se precisar do detalhamento por vendedor de item, use outro modelo (ex.: Vendas por Cliente/Faturamento). Fonte: source/RNF020/URNF020.pas:1563-1586 (TfrmRNF020.btnImprimirClick)

P: Marquei "Ignorar Seção" e informei seções no filtro, mas o relatório trouxe o oposto do que eu esperava. Por quê? R: Com "Ignorar Seção" marcado, as seções escolhidas no grid passam a ser excluídas do resultado (NOT IN), em vez de serem o único conjunto incluído (IN). Desmarque a opção se quiser restringir o relatório apenas às seções selecionadas. Fonte: source/RNF020/URNF020.pas:996-1007 (TfrmRNF020.btnImprimirClick)

P: Não encontro os filtros de Conta Contábil e Centro de Resultado, nem o período de "Vencimento de Contas". Onde estão? R: Esses filtros e a aba correspondente só aparecem quando o Modelo selecionado é "Vendas e Despesas x Vendedor". Fonte: source/RNF020/URNF020.pas:3044-3052 (TfrmRNF020.AtualizaFiltro)

P: A tela abriu já com Empresa, Modelo e filtros preenchidos de uma consulta anterior. Isso é normal? R: Sim, a tela salva o último filtro usado por usuário/empresa ao ser fechada e o recarrega automaticamente na próxima abertura. Fonte: source/RNF020/URNF020.pas:221-221 (iniciar), source/RNF020/URNF020.pas:275-275 (TfrmRNF020.FormClose)

P: Deu a mensagem "O Centro de Resultado não está Cadastrado [TCB001]!" mas eu sei que o código existe. R: O centro de resultado é validado dentro da Empresa informada no filtro; se o campo Empresa estiver vazio ou for outra empresa, um centro de resultado válido em outra empresa pode ser recusado. Preencha a Empresa correta antes de digitar o código. Fonte: source/RNF020/UdmRNF020.pas:445-452 (TdmRNF020.tabCENTROCUSTOCD_CENTROCUSTOValidate)

Dúvidas em aberto (o código não responde)​

  • O que exatamente as procedures VIEW_RNF020, VIEW_RNF020_D e VIEW_RNF020_V calculam internamente (fórmulas de comissão, saldo de devolução, meta) além do que é passado como parâmetro pela tela? — As procedures foram chamadas pelo módulo mas não foram lidas por completo (apenas o cabeçalho de VIEW_RNF020_D); muitas colunas exibidas (VL_METAREALIZADA, VL_CARTEIRA_TOTAL, PC_CARTEIRA) são calculadas lá dentro.
  • O que representa exatamente a "quebra por Alçada" (chkAlcada/DS_GRUPOCALCADA), disponível só no modelo Despesas? — URNF020.pas:3059-3080 mostra o checkbox e a coluna DS_GRUPOCALCADA sendo usada, mas o significado de negócio de 'alçada' não é explicado no código lido.
  • A licença erpFatBasico é validada em algum ponto do código do módulo (ex.: no arranque iniciar) ou apenas no menu/framework externo? — O briefing cita a licença exigida, mas não foi encontrada checagem explícita de licença nos arquivos .pas lidos.