Pular para o conteúdo principal

CNF009 — Programação/Fechamento de Comissões (enriquecimento)

Menu: Faturamento > Consultas > Notas Fiscais > Programação/Fechamento de Comissões

Objetivo​

A tela CNF009 é a ferramenta de gestão do ciclo de comissões de vendedores no Faturamento: permite programar (vincular) notas de venda validadas a vendedores, calcular percentual/valor de comissão, fechar (gerar duplicata de pagamento) as comissões programadas, consultar relatórios diversos e estornar programações ou fechamentos já realizados. O comportamento varia conforme a empresa usa um vendedor único por nota ou vários vendedores por item (parâmetro da PARMFATUR), e todo o dinheiro movimentado passa por regras de consistência (percentuais/valores não negativos, contas geradas apenas com tipo e histórico compatíveis) e por trilhas de estorno em cascata.

Fluxo principal​

  1. Revisar totais por vendedor; marcar (barra de espaço/duplo clique) os vendedores desejados ou abrir 'Programar' para detalhar por nota. (Programação > Vendedor (Resumo)) — source/CNF009/UCNF009.pas:1147-1170 (TfrmCNF009.btnProgramarClick)
  2. Revisar (e, se liberado, editar) percentual/valor de comissão por nota. (Programação > Notas (Movto)) — source/CNF009/UdmCNF009.pas:544-573 (TdmCNF009.tabCONTROLEVL_FINALValidate)
  3. Clicar em 'Confirmar Programação', confirmar o diálogo; o sistema grava a programação e retira as notas da lista de pendentes. (Programação > Notas (Movto)) — source/CNF009/UCNF009.pas:1200-1238 (TfrmCNF009.btnConfirmaProgramacaoClick)
  4. Marcar os vendedores com comissão pendente para fechamento. (Fechamento > Vendedor) — source/CNF009/UCNF009.pas:3306-3320 (TfrmCNF009.gridVendFechamentoKeyDown)
  5. Marcar o status das notas a liquidar dentro do fechamento do vendedor. (Fechamento > Notas) — source/CNF009/UCNF009.pas:1936-1960 (TfrmCNF009.gridMOVTOFECHAKeyDown)
  6. Clicar em 'Confirmar Fechamento'; o sistema gera a duplicata de comissão e grava o pagamento. (Fechamento > Notas) — source/CNF009/UCNF009.pas:1962-2000 (TfrmCNF009.btnConfirmaFechamentoClick)

Campos obrigatórios​

CampoCondiçãoMensagemFonte
Período (Data Inicial/Final)Aba Programação > Consulta, antes de clicar em OK/ProcurarÉ Obrigatório Informar o Período para Realizar a Consulta!source/CNF009/UCNF009.pas:717-720 (TfrmCNF009.btnOKClick)
Empresa da DuplicataAba Fechamento, antes de clicar em ConsultarÉ Obrigatório Informar a Empresa da Duplicata!source/CNF009/UCNF009.pas:1263-1264 (TfrmCNF009.btnConsultarClick)
Tipo de Contas da DuplicataAba Fechamento, antes de ConsultarÉ Obrigatório Informar o Tipo de Contas da Duplicata!source/CNF009/UCNF009.pas:1265-1266 (TfrmCNF009.btnConsultarClick)
Histórico da DuplicataAba Fechamento, antes de ConsultarÉ Obrigatório Informar o Histórico da Duplicata!source/CNF009/UCNF009.pas:1267-1268 (TfrmCNF009.btnConsultarClick)
Data de Emissão da DuplicataAba Fechamento, antes de ConsultarÉ Obrigatório Informar a Data de Emissão da Duplicata!source/CNF009/UCNF009.pas:1269-1273 (TfrmCNF009.btnConsultarClick)
Data de Vencimento da DuplicataAba Fechamento, antes de ConsultarÉ Obrigatório Informar a Data de Vencimento da Duplicata!source/CNF009/UCNF009.pas:1275-1279 (TfrmCNF009.btnConsultarClick)
Motivo (tipo Cancelamento)Ao estornar Fechamento cuja duplicata já foi gerada (ST_CONTAS='T')É Obrigatório Informar o Motivo para Cancelamento da Conta!source/CNF009/UCNF009.pas:2453-2468 (TfrmCNF009.EstornaDoctosFechamento)
Tipos de Vendedor Distribuidor/Integrador/EngenheiroAba Relatório, apenas quando o relatório escolhido é 'Integrador' (cmbRelatorio='I')É obrigatório informar o tipo "Distribuidor"/"Integrador"/"Engenheiro"! Verifique.source/CNF009/UCNF009.pas:1494-1513 (TfrmCNF009.btnImpressaoClick)
Período no cabeçalho de RelatóriosAba Relatório, antes de ImprimirÉ obrigatório informar o período para gerar o relatório!source/CNF009/UCNF009.pas:1488-1492 (TfrmCNF009.btnImpressaoClick)

Mensagens: causa e ação​

A Consulta não Retornou Registros. Verifique!​

Causa: Nenhuma nota atendeu ao filtro (Empresa/Período/Vendedor/Produto) ou já foi programada/fechada anteriormente.

Ação: Revisar o período e os filtros; conferir se a nota já não tem programação de comissão e se a movimentação permite comissão.

Fonte: source/CNF009/UCNF009.pas:1000-1002 (TfrmCNF009.btnOKClick)

Confirma a programação de Comissão dos Documentos ?​

Causa: Usuário clicou em Confirmar Programação com notas selecionadas.

Ação: Conferir os valores da grade antes de confirmar; a gravação retira as notas da lista de pendentes.

Fonte: source/CNF009/UCNF009.pas:1205-1209 (TfrmCNF009.btnConfirmaProgramacaoClick)

Confirma o Fechamento da Comissão dos Documentos selecionados ?​

Causa: Usuário clicou em Confirmar Fechamento com notas marcadas.

Ação: Conferir o valor de comissão pendente exibido antes de confirmar; a operação gera a duplicata no financeiro.

Fonte: source/CNF009/UCNF009.pas:1970-1975 (TfrmCNF009.btnConfirmaFechamentoClick)

Data Inical deve ser menor que Data Final!​

Causa: Data Inicial informada é maior que a Data Final no filtro de período da consulta.

Ação: Corrigir as datas para que a Inicial seja anterior ou igual à Final.

Fonte: source/CNF009/UCNF009.pas:719-720 (TfrmCNF009.btnOKClick)

Data Inicial é maior que a Data Final!​

Causa: No filtro de período de estorno de Programação, a data inicial foi digitada maior que a final.

Ação: Corrigir as datas de período do estorno.

Fonte: source/CNF009/UCNF009.pas:2237-2240 (TfrmCNF009.btnConsultaEstornoClick)

Data Final é menor que a Data Inicial!​

Causa: No filtro de período de estorno, a data final é anterior à inicial.

Ação: Corrigir as datas de período do estorno.

Fonte: source/CNF009/UCNF009.pas:2241-2244 (TfrmCNF009.btnConsultaEstornoClick)

Deseja Imprimir Relatório Fechamento das Comissões dos Vendedores?​

Causa: Fechamento automático (F10) concluído para um ou mais vendedores.

Ação: Responder Sim para gerar o relatório de fechamento das comissões geradas.

Fonte: source/CNF009/UCNF009.pas:3001-3003 (TfrmCNF009.btnFechamentoAutoClick)

Deseja Imprimir Relatório de Provisão Financeira dos Vendedores?​

Causa: Após o fechamento automático, pergunta se deseja ver a provisão financeira gerada para os vendedores.

Ação: Responder Sim para gerar o relatório de provisão.

Fonte: source/CNF009/UCNF009.pas:3033-3036 (TfrmCNF009.btnFechamentoAutoClick)

Fechamento das Comissões efetuado com Sucesso.​

Causa: Fechamento automático em lote concluído.

Ação: Nenhuma ação necessária; conferir os relatórios opcionais em seguida.

Fonte: source/CNF009/UCNF009.pas:3001-3001 (TfrmCNF009.btnFechamentoAutoClick)

Fechamento de Comissão efetuado com Sucesso.​

Causa: Confirmação manual de fechamento concluída.

Ação: Nenhuma ação necessária; a duplicata foi gerada no financeiro.

Fonte: source/CNF009/UCNF009.pas:1975-1975 (TfrmCNF009.btnConfirmaFechamentoClick)

Fechamento de Comissão Estornado com Sucesso!​

Causa: Estorno de fechamento concluído.

Ação: Nenhuma ação necessária; verificar se a conta foi cancelada corretamente em Contas a Pagar.

Fonte: source/CNF009/UCNF009.pas:2144-2146 (TfrmCNF009.btnEstornaFechamentoClick)

Motivo não cadastrado!​

Causa: O código de motivo informado (manual ou automático) não existe na tabela MOTIVO.

Ação: Selecionar (F9) um motivo cadastrado.

Fonte: source/CNF009/UdmCNF009.pas:739-743 (TdmCNF009.tabEMPRESACD_MOTIVOValidate)

Não foi selecionado nenhum documento válido para o fechamento. Verifique o Valor de comissão Disponível !​

Causa: Nenhuma nota foi marcada na grade de Fechamento, deixando o valor de comissão pendente em '0,00'.

Ação: Marcar (barra de espaço) as notas do vendedor na grade antes de clicar em Confirmar Fechamento.

Fonte: source/CNF009/UCNF009.pas:1967-1968 (TfrmCNF009.btnConfirmaFechamentoClick)

O Código da Empresa não está Cadastrada [ADM002]!​

Causa: O código de empresa digitado no filtro não existe no cadastro de empresas (ADM002).

Ação: Usar F9 para buscar uma empresa válida.

Fonte: source/CNF009/UdmCNF009.pas:399-407 (TdmCNF009.tabEMPRESACD_EMPRESAValidate)

O Histórico deve ser de natureza Recebimento [TCB003]!​

Causa: O histórico escolhido para a duplicata de comissão não é de natureza 'Recebimento' (TP_NATUREZA).

Ação: Selecionar (F9) um histórico cadastrado com natureza Recebimento no Financeiro.

Fonte: source/CNF009/UdmCNF009.pas:617-626 (TdmCNF009.tabCONTASCD_HISTORICOValidate)

O Histórico deve ser do tipo Duplicata [TCB003]!​

Causa: O histórico escolhido não é do tipo 'Duplicata' (TP_HISTORICO='U').

Ação: Selecionar um histórico do tipo Duplicata.

Fonte: source/CNF009/UdmCNF009.pas:617-624 (TdmCNF009.tabCONTASCD_HISTORICOValidate)

O Histórico não está Ativo [TCB003]!​

Causa: O histórico informado está marcado como inativo no cadastro.

Ação: Selecionar um histórico ativo ou reativar o cadastro do histórico.

Fonte: source/CNF009/UdmCNF009.pas:617-622 (TdmCNF009.tabCONTASCD_HISTORICOValidate)

O motivo deve ser de cancelamento!​

Causa: O motivo informado existe, mas não é do tipo 'Cancelamento' (TP_MOTIVO).

Ação: Escolher um motivo cadastrado especificamente como tipo Cancelamento.

Fonte: source/CNF009/UdmCNF009.pas:740-745 (TdmCNF009.tabEMPRESACD_MOTIVOValidate)

O Percentual de comissão não pode ser menor que zero. Verifique!​

Causa: Usuário digitou um percentual negativo na grade de Programação.

Ação: Informar percentual maior ou igual a zero.

Fonte: source/CNF009/UdmCNF009.pas:562-565 (TdmCNF009.tabCONTROLEPC_FINALValidate)

O Tipo de Contas deve ser do tipo "Contas a Pagar" ou "Provisão a Pagar" [TFC005]!​

Causa: O Tipo de Contas selecionado para a duplicata de comissão não é CP nem PP.

Ação: Selecionar (F9) um Tipo de Contas do tipo Contas a Pagar ou Provisão a Pagar.

Fonte: source/CNF009/UdmCNF009.pas:595-601 (TdmCNF009.tabCONTASCD_TIPOCONTASValidate)

O Valor de comissão não pode ser menor que zero. Verifique!​

Causa: Usuário digitou valor de comissão negativo para nota de venda.

Ação: Informar valor maior ou igual a zero.

Fonte: source/CNF009/UdmCNF009.pas:546-547 (TdmCNF009.tabCONTROLEVL_FINALValidate)

O Valor Total não pode ser menor que zero para notas de Venda. Verifique!​

Causa: Usuário digitou valor total negativo para uma nota de venda.

Ação: Informar valor maior ou igual a zero.

Fonte: source/CNF009/UdmCNF009.pas:656-657 (TdmCNF009.tabCONTROLEVL_TOTALValidate)

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

Causa: O vendedor informado no filtro está marcado como inativo no cadastro.

Ação: Selecionar (F9) um vendedor ativo.

Fonte: source/CNF009/UdmCNF009.pas:527-534 (TdmCNF009.tabEMPRESACD_VENDEDORValidate)

O vendedor não possui comissão pendente.​

Causa: Tentativa de marcar, na grade de Fechamento, um vendedor cujo saldo de comissão pendente é zero.

Ação: Nenhuma ação necessária; não há comissão a fechar para esse vendedor no período/filtro consultado.

Fonte: source/CNF009/UCNF009.pas:3311-3312 (TfrmCNF009.gridVendFechamentoKeyDown)

Operação Cancelada!​

Causa: Ao estornar uma programação com fechamentos vinculados, o usuário respondeu 'Não' à pergunta se desejava estorná-los junto.

Ação: Repetir o estorno e responder 'Sim' se realmente deseja reverter também os fechamentos vinculados.

Fonte: source/CNF009/UCNF009.pas:2357-2365 (TfrmCNF009.btnEstornaProgramacaoClick)

Para esse modelo deverá ser utilizado Vários Vendedores! Verifique [MFA001].​

Causa: O relatório 'Integrador' foi solicitado, mas a empresa está configurada no modelo de vendedor único (ST_VARIOSVENDEDORES desativado).

Ação: Ativar 'Vários Vendedores' nos Parâmetros de Faturamento (MFA001), se aplicável ao modelo comercial.

Fonte: source/CNF009/UCNF009.pas:1891-1892 (TfrmCNF009.btnImpressaoClick)

Para Estorno do Fechamento Estorne os Processos da Conta. Empresa: %s Lancto.: %s Pessoa: %s Tipo Conta: %s​

Causa: A duplicata gerada para esse fechamento já está total ou parcialmente liquidada.

Ação: Estornar primeiro a liquidação/baixa da conta em Contas a Pagar e depois repetir o estorno do fechamento de comissão.

Fonte: source/CNF009/UCNF009.pas:2444-2451 (TfrmCNF009.EstornaDoctosFechamento)

Programação Selecionada possui Fechamento(s): %s /nDeseja estorna-lo(s)?​

Causa: A programação selecionada para estorno já gerou um ou mais fechamentos (pagamentos programados).

Ação: Responder Sim para estornar também os fechamentos, ou Não para cancelar toda a operação.

Fonte: source/CNF009/UCNF009.pas:2357-2363 (TfrmCNF009.btnEstornaProgramacaoClick)

Rateio de Centro de Resultado da Conta de Crédito Cancelado!​

Causa: O usuário cancelou a tela de rateio de Centro de Resultado aberta durante o fechamento.

Ação: Refazer o fechamento e concluir o rateio do centro de resultado da conta de crédito.

Fonte: source/CNF009/UCNF009.pas:3161-3164 (TfrmCNF009.ConfirmarFechamento)

Tem certeza que deseja Cancelar o Fechamento?​

Causa: Usuário clicou em Estornar Fechamento.

Ação: Confirmar apenas se realmente deseja reverter o fechamento e cancelar/estornar a duplicata gerada.

Fonte: source/CNF009/UCNF009.pas:2136-2136 (TfrmCNF009.btnEstornaFechamentoClick)

Tipo Vendedor já está sendo utilizado! Verifique.​

Causa: O mesmo Tipo de Vendedor foi informado em mais de um dos três papéis (Principal/2/3) usados no relatório Integrador.

Ação: Informar tipos de vendedor diferentes para cada papel.

Fonte: source/CNF009/UdmCNF009.pas:775-779 (TdmCNF009.tabEMPRESACD_TIPOVENDEDORPRINCIPALValidate)

Usuário não Possui Acesso a Consulta de Notas Fiscais!​

Causa: O usuário logado não tem o programa CNF001 (Consulta de Notas Fiscais) liberado no menu.

Ação: Solicitar ao administrador a liberação de acesso ao programa CNF001.

Fonte: source/CNF009/UCNF009.pas:2009-2011 (TfrmCNF009.btnNotaClick)

É Obrigatório Informar a Empresa da Duplicata!​

Causa: O campo Empresa (da duplicata a ser gerada no fechamento) não foi preenchido.

Ação: Preencher a Empresa na aba de Fechamento antes de consultar.

Fonte: source/CNF009/UCNF009.pas:1263-1264 (TfrmCNF009.btnConsultarClick)

É Obrigatório Informar o Histórico da Duplicata!​

Causa: O campo Histórico da duplicata não foi preenchido.

Ação: Selecionar (F9) um histórico válido antes de consultar.

Fonte: source/CNF009/UCNF009.pas:1267-1268 (TfrmCNF009.btnConsultarClick)

É Obrigatório Informar o Motivo para Cancelamento da Conta!​

Causa: Tentativa de estornar um fechamento com conta já gerada (status T) sem informar motivo.

Ação: Selecionar (F9) um motivo do tipo Cancelamento.

Fonte: source/CNF009/UCNF009.pas:2467-2468 (TfrmCNF009.EstornaDoctosFechamento)

É obrigatório informar o período para gerar o relatório!​

Causa: A aba Relatório está sem as datas de período preenchidas.

Ação: Preencher Data Inicial e Final antes de imprimir.

Fonte: source/CNF009/UCNF009.pas:1489-1490 (TfrmCNF009.btnImpressaoClick)

É obrigatório informar o tipo "Distribuidor"! Verifique.​

Causa: O relatório Integrador exige o Tipo de Vendedor Principal (Distribuidor) preenchido nos parâmetros.

Ação: Preencher o campo Tipo de Vendedor Principal antes de imprimir.

Fonte: source/CNF009/UCNF009.pas:1497-1500 (TfrmCNF009.btnImpressaoClick)

É Obrigatório informar o Tipo de Contas para listar os Históricos​

Causa: Usuário tentou abrir a busca (F9) de Histórico sem antes informar o Tipo de Contas.

Ação: Preencher primeiro o Tipo de Contas e depois buscar o Histórico.

Fonte: source/CNF009/UCNF009.pas:1086-1087 (TfrmCNF009.edtCD_HISTORICOKeyDown)

É Obrigatório Informar o Período para Realizar a Consulta!​

Causa: As datas de período da consulta de Programação/Fechamento não foram preenchidas.

Ação: Preencher Data Inicial e Final antes de consultar.

Fonte: source/CNF009/UCNF009.pas:717-718 (TfrmCNF009.btnOKClick)

Programação de Comissão efetuada com Sucesso.​

Causa: Confirmação manual de programação concluída (ou execução do 'Programar Automático').

Ação: Nenhuma ação necessária; as notas programadas saem da lista de pendentes.

Fonte: source/CNF009/UCNF009.pas:1209-1209 (TfrmCNF009.btnConfirmaProgramacaoClick)

Regras de negócio​

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

Perguntas frequentes​

P: Por que a consulta da aba Programação não retorna nenhuma nota? R: A nota só aparece se ainda não tiver sido programada (NR_PROGRAMACAOCOMISSAO vazio), a movimentação de saída permitir comissão (ST_COMISSAO='S') e a nota estiver validada com valores positivos. Revise o período e os filtros de vendedor/produto informados. Fonte: source/CNF009/UCNF009.pas:857-864 (TfrmCNF009.btnOKClick)

P: Por que não consigo digitar o percentual ou o valor de comissão na grade de Programação? R: Essas colunas só ficam editáveis quando o parâmetro 'Altera Base de Cálculo de Comissão' (ST_ALTERABASECALCULOCOMISSAO) está ativado nos Parâmetros de Faturamento da empresa. Fonte: source/CNF009/UCNF009.pas:397-411 (iniciar)

P: Deu a mensagem 'Para esse modelo deverá ser utilizado Vários Vendedores [MFA001]' ao gerar o relatório Integrador. R: Esse relatório só existe para empresas configuradas no modelo de 'Vários Vendedores' (ST_VARIOSVENDEDORES). Ative esse parâmetro em Parâmetros de Faturamento se o negócio realmente usa múltiplos vendedores por item. Fonte: source/CNF009/UCNF009.pas:1891-1892 (TfrmCNF009.btnImpressaoClick)

P: Não consigo estornar um fechamento, aparece 'Estorne os Processos da Conta'. R: A duplicata gerada para esse fechamento já foi liquidada (total ou parcialmente). Estorne primeiro a baixa/liquidação da conta em Contas a Pagar e depois volte para estornar o fechamento de comissão. Fonte: source/CNF009/UCNF009.pas:2429-2451 (TfrmCNF009.EstornaDoctosFechamento)

P: O que preciso informar para estornar um fechamento cuja conta ainda não foi paga? R: Um Motivo cadastrado como tipo Cancelamento; o sistema usa esse motivo para cancelar a conta antes de excluir o fechamento. Fonte: source/CNF009/UCNF009.pas:2453-2468 (TfrmCNF009.EstornaDoctosFechamento)

P: Estornei a programação e o sistema perguntou sobre fechamentos vinculados; o que acontece se eu responder Não? R: A operação inteira é cancelada — nem a programação nem os fechamentos são estornados. Repita o estorno e confirme 'Sim' se realmente deseja reverter tudo. Fonte: source/CNF009/UCNF009.pas:2352-2366 (TfrmCNF009.btnEstornaProgramacaoClick)

P: Por que não consigo marcar um vendedor para fechamento? R: O vendedor só pode ser marcado se tiver saldo de comissão pendente (VL_COMISSAOPENDENTE) maior que zero no período/filtro consultado. Fonte: source/CNF009/UCNF009.pas:3306-3312 (TfrmCNF009.gridVendFechamentoKeyDown)

P: O valor da duplicata de comissão do vendedor veio menor do que o valor pendente calculado, por quê? R: O sistema aplica automaticamente o percentual de desconto de fechamento cadastrado no vendedor (campo PC_DESCONTO_FECHAMENTO) sobre o valor pendente antes de gerar a duplicata. Fonte: source/CNF009/UCNF009.pas:3098-3105 (TfrmCNF009.ConfirmarFechamento)

P: Deu erro dizendo que o Histórico não é válido para a duplicata de comissão. R: O histórico usado precisa estar ativo, ser do tipo 'Duplicata' e de natureza 'Recebimento'. Escolha um histórico compatível pelo F9. Fonte: source/CNF009/UdmCNF009.pas:611-634 (TdmCNF009.tabCONTASCD_HISTORICOValidate)

P: O motivo que escolhi dá erro 'deve ser de cancelamento'. R: Só motivos cadastrados com o tipo 'Cancelamento' podem ser usados para estornar contas de comissão; escolha outro motivo ou peça o cadastro correto. Fonte: source/CNF009/UdmCNF009.pas:740-745 (TdmCNF009.tabEMPRESACD_MOTIVOValidate)

P: Por que a nota de venda some da lista de programação depois que eu a programo? R: Ao confirmar a programação, o sistema grava o número da programação na própria nota/pedido (ou no item, no modelo de vários vendedores), o que a exclui das próximas consultas de notas pendentes. Fonte: source/CNF009/UCNF009.pas:2925-2960 (TfrmCNF009.ConfirmarProgramacao)

P: Os botões Salvar/Excluir/Atualizar/Imprimir do topo da tela estão sumidos ou desabilitados, é normal? R: Sim. Nesta tela a gravação e a impressão são feitas pelos botões específicos de cada aba (Confirmar Programação, Confirmar Fechamento, Estornar, Imprimir da aba Relatório); os botões padrão do toolbar são ocultados de propósito. Fonte: source/CNF009/UCNF009.pas:377-385 (iniciar)

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

  • Por que o Histórico usado na duplicata de comissão (que gera um lançamento de contas a pagar) precisa ter natureza 'Recebimento' (TP_NATUREZA='R')? Isso parece contraditório e não há comentário no código explicando essa convenção. — TdmCNF009.tabCONTASCD_HISTORICOValidate (source/CNF009/UdmCNF009.pas:611-634) exige TP_HISTORICO='U' e TP_NATUREZA='R' mesmo a conta sendo gerada como tipo 'E' (saída) no fechamento.
  • Qual o objetivo de negócio do desconto aplicado no fechamento via campo PC_DESCONTO_FECHAMENTO do Vendedor? O código só referencia um número de chamado ('C290031'), sem explicar quando/por que esse desconto deve existir. — TfrmCNF009.ConfirmarFechamento (source/CNF009/UCNF009.pas:3098-3105) reduz o valor da duplicata pelo percentual cadastrado no vendedor.
  • O combo Tipo de Análise (cmbTP_ANALISE) na consulta de Programação distingue 'P' de outro valor (provavelmente 'N'); o código não documenta os rótulos exibidos ao usuário, então não é possível confirmar com certeza o que cada opção representa em termos de negócio (Pedido vs. Nota). — TfrmCNF009.btnOKClick (source/CNF009/UCNF009.pas:726-731, 800-993) ramifica a query conforme cmbTP_ANALISE.Value = 'P' ou outro valor.