Pular para conteúdo

Guia detalhado de formulários — módulo Comercial

Visão geral

Este guia consolida a auditoria final segura do módulo Comercial e as fontes existentes do módulo. O escopo da auditoria foi a navegação e a inspeção visual no navegador. A política bloqueou toda escrita (POST, PUT, PATCH e DELETE), portanto nenhum formulário foi salvo.

O JSON final contém 4 registros de tela, dos quais 3 estão habilitados e 1 está desabilitado. As telas habilitadas são Planos, Vendedores e Vendas; Comissões está desabilitada no registro final. Há 3 formulários, 5 controles de lista, 37 controles de formulário e 42 controles no total. Foram capturados 49 botões. O campo tabs está vazio em todos os registros, embora Vendas tenha rótulos de navegação capturados em buttons.

Os exemplos deste documento são fictícios e não representam registros reais. Valores preexistentes foram omitidos. Nenhuma opção de campo select é apresentada como selecionada na auditoria final: os rótulos e as opções genéricas capturadas podem ser descritos, mas os selects foram deliberadamente não preenchidos e mascarados. Regras trazidas das fontes são marcadas como Documentado, não reproduzido; propriedades do HTML, estados e mensagens presentes no JSON são marcados como Observado na simulação.

HTTP 409, WIKI_SIMULATION_WRITE_BLOCKED e o erro de console correspondente são efeitos esperados da política de bloqueio de escrita e foram ignorados como defeitos. Eles não são incluídos nas tabelas de erros nem nas métricas de erros reais.

Inventário

As métricas abaixo foram recalculadas exclusivamente a partir do JSON final. “Controles totais” soma controles de lista e de formulário. Os botões correspondem à soma dos arrays list.buttons e form.buttons de cada registro.

Tela Habilitada Controles de lista Controles de formulário Controles totais Botões Formulário capturado
Planos Sim 1 9 10 17 Sim
Vendedores Sim 2 17 19 12 Sim
Vendas Sim 2 11 13 20 Sim
Comissões Não 0 0 0 0 Não
Total do JSON 3 de 4 5 37 42 49 3

O JSON final registra records=4, telas_habilitadas=3, formulários=3, controles_de_lista=5, controles_de_formulário=37, controles_total=42, botões=49, tabs=0, validation_messages=0, runtime_errors=0 e blocked_write_attempts=0. Há 1 mensagem auxiliar contendo “Nenhum resultado”. Assim, as contagens deste guia são: 1 erro observado na simulação e 14 erros documentados, não reproduzidos. A linha informativa “nenhum erro capturado”, quando usada, não integra a contagem de erros.

Planos

Lista observada

A tela está disponível em Operações → Comercial → Planos. A lista contém o campo input Buscar plano…, opcional e sem opções. Os botões capturados são Novo, Atualizar, Buscar, ID▲, Status⇅, Código⇅, Versão⇅, Nome⇅, Velocidade⇅, Fidelidade⇅, Preço⇅, Anterior e Próxima. Os símbolos fazem parte dos rótulos capturados; a alteração efetiva de ordenação não foi testada.

Não há capítulo específico de Planos nas fontes fornecidas. Por isso, os significados de Campo 8, Campo 9, + Item, Remover e do campo de busca de item são descritos somente no limite exposto pela interface.

Formulário “Novo plano”

O formulário foi aberto por Novo. Seus botões capturados foram Remover, + Item, Cancelar e Salvar. Nenhuma ação de escrita foi executada.

Campo Tipo Obrigatório Como preencher Exemplo fictício Observação
Nome * input Sim Informe um nome identificável para o plano. Cadastro de Exemplo Wiki required=true no JSON.
Download (Mbps) input Não Informe a velocidade de download quando aplicável. 300 O rótulo indica Mbps, mas o tipo HTML capturado é input; não foram observados limites. Valor preexistente omitido.
Upload (Mbps) input Não Informe a velocidade de upload quando aplicável. 100 O rótulo indica Mbps; não foram observados limites ou mensagens. Valor preexistente omitido.
Fidelidade (meses) input Não Informe a duração da fidelidade quando utilizada. 12 O rótulo indica meses; nenhuma faixa foi capturada. Valor preexistente omitido.
Preço base — calculado automaticamente input (text) Não Não digite; confira o resultado calculado pela tela. não se aplica — calculado disabled=true e readonly=true. O rótulo informa soma dos subtotais. Valor preexistente omitido.
Status — opções capturadas: Rascunho, Ativo e Inativo select Não Escolha uma opção em operação autorizada. Rascunho (exemplo; não selecionado) O JSON concatena o rótulo como StatusRascunhoAtivoInativo. Nenhuma opção é tratada como selecionada.
Digite ID ou nome… input Não Pesquise o item pelo identificador ou nome, somente se a composição exigir. Item de Exemplo Wiki O placeholder sugere uma busca; o cadastro-alvo, a seleção e o recálculo não foram confirmados.
Campo 8 input (number) Não Informe um número somente quando a finalidade do campo estiver confirmada no ambiente. 10 Rótulo genérico; unidade, faixa e regra de negócio não foram identificadas. Valor preexistente omitido.
Campo 9 input (number) Sim Informe um número antes de uma tentativa autorizada de salvamento. 100 required=true; mínimo, máximo e mensagem nativa não foram capturados.

Passos

  1. Abra Operações → Comercial → Planos.
  2. Para pesquisar sem usar dados operacionais, informe um termo fictício em Buscar plano… e use Buscar. Use Atualizar apenas para recarregar a lista.
  3. Clique em Novo para inspecionar o formulário.
  4. Se precisar verificar a indicação visual de obrigatoriedade, use apenas Cadastro de Exemplo Wiki em Nome e um número fictício em Campo 9.
  5. Observe Download, Upload, Fidelidade e Status sem substituir valores preexistentes. Não altere Preço base, pois o controle está desabilitado e somente leitura.
  6. Trate Digite ID ou nome… como uma busca cujo cadastro-alvo não foi identificado. Não selecione registro real.
  7. Use Cancelar para sair sem persistir. Não use Salvar, + Item ou Remover durante a auditoria segura.

Regras e validações

  • Observado na simulação: Nome e Campo 9 têm required=true.
  • Observado na simulação: Campo 8 e Campo 9 são controles HTML number, sem limites visíveis registrados.
  • Observado na simulação: Preço base está simultaneamente desabilitado e somente leitura; seu rótulo informa cálculo automático pela soma dos subtotais.
  • Observado na simulação: o select de Status expõe as opções Rascunho, Ativo e Inativo, sem confirmação de seleção.
  • Documentado, não reproduzido: o significado dos campos genéricos, a composição de itens, a remoção, a persistência, o cálculo após alteração e as regras de status não estão especificados nas fontes disponíveis.

Erros comuns

Erro ou sintoma Causa Como resolver Evidência
Nenhuma mensagem de erro capturada nesta tela A inspeção segura não produziu validação ou mensagem auxiliar. Não há correção a aplicar nesta captura; se ocorrer no uso real, registre a mensagem e o campo correspondente. Contexto informativo, não contabilizado como erro: validation_messages=[], helper_messages=[] e runtime_errors=[] no registro Planos.

Vendedores

Lista observada

A tela está disponível em Operações → Comercial → Vendedores. O primeiro controle é o select Campo de busca, com opções capturadas Todos os campos, ID, Nome, Documento e Status; nenhuma opção é apresentada como selecionada. O segundo controle é Texto de busca, com placeholder Busca contida…. Os botões são Novo, Atualizar, Buscar, ID⇅, Nome▲, CPF/CNPJ⇅, Comissão %⇅, Status⇅, Anterior e Próxima.

Formulário “Novo vendedor”

O formulário foi aberto por Novo e tem Salvar e Cancelar. A fonte descreve o cadastro como usado em cliente e contrato, com contato, endereço, comissão e hierarquia, mas as regras de negócio não foram exercitadas por salvamento.

Campo Tipo Obrigatório Como preencher Exemplo fictício Observação
Nome * input Sim Informe o nome do vendedor. Cadastro de Exemplo Wiki required=true.
CPF/CNPJ input Não Informe somente números ou documento formatado, se necessário. 11.222.333/0001-81 Placeholder capturado: Somente números ou formatado. A validação de negócio é documental.
Telefone input Não Informe um telefone de contato, se aplicável. (11) 99999-0000 Não foi capturada máscara.
Celular input Não Informe um celular de contato, se aplicável. (11) 98888-0000 Não foi capturada máscara.
E-mail email Não Informe um endereço de e-mail válido quando houver contato. usuario.exemplo@exemplo.invalid Tipo nativo email; nenhuma rejeição foi provocada. O domínio é fictício.
Status — opções capturadas: Ativo e Inativo select Não Escolha o status em operação autorizada. Ativo (exemplo; não selecionado) Rótulo bruto concatenado como StatusAtivoInativo. Valor preexistente e seleção foram mascarados.
Logradouro input Não Informe a rua ou avenida, quando houver endereço. Rua de Exemplo Sem validação adicional capturada.
Número input Não Informe o número do endereço, quando houver. 100 O tipo HTML capturado é input, não number.
Complemento input Não Informe sala, apartamento ou outra referência, se aplicável. Sala de Exemplo Sem regra adicional capturada.
Bairro input Não Informe o bairro, se aplicável. Bairro de Exemplo Sem regra adicional capturada.
CEP input Não Informe o CEP no formato aceito pelo ambiente. 01001-000 Não foi observada máscara ou mensagem.
Estado input Não Digite para pesquisar e selecione um estado somente se o autocomplete oferecer resultado. Estado de Exemplo Placeholder Digite para buscar…; a seleção não foi executada.
Cidade input Não Primeiro resolva o Estado; depois pesquise a cidade. Cidade de Exemplo Começa disabled=true e tem placeholder Selecione o estado primeiro….
Comissão padrão (%) input Não Informe o percentual padrão quando aplicável. 5 O rótulo indica percentual; não foram capturados limites.
Comissão pelo recebimento checkbox Não Marque somente quando a comissão depender do recebimento. marcado (exemplo; estado real não reproduzido) O estado preexistente foi omitido. O efeito financeiro é documental.
Supervisor checkbox Não Marque quando o vendedor tiver função de supervisor. desmarcado (exemplo; estado real não reproduzido) O estado preexistente foi omitido.
Supervisor — opções capturadas: Nenhum e uma opção adicional mascarada select Não Escolha um supervisor quando houver vínculo aplicável. Nenhum (exemplo; não selecionado) O segundo rótulo e o valor preexistente foram mascarados para não expor pessoa ou cadastro. Nenhuma opção foi selecionada.

A fonte menciona Comissão sobre a equipe (%) quando o flag Supervisor está marcado. Esse controle não está entre os 17 controles do formulário final e, portanto, é uma lacuna documental não confirmada pela auditoria.

Passos

  1. Abra Operações → Comercial → Vendedores.
  2. Escolha um critério fictício em Campo de busca, informe um texto não sensível em Texto de busca e clique em Buscar. Para remover o filtro, use a opção geral sem reproduzir seleção real.
  3. Clique em Novo.
  4. Se necessário, preencha apenas Nome com Cadastro de Exemplo Wiki para conferir a indicação de obrigatoriedade.
  5. Observe Estado e Cidade sem usar dados reais. Cidade permanece desabilitada enquanto a dependência visual indicada pelo placeholder não é resolvida.
  6. Observe os campos de comissão e supervisão sem alterar valores preexistentes. Os selects permanecem não preenchidos e mascarados.
  7. Use Cancelar para descartar. Não clique em Salvar na auditoria segura.

Regras e validações

  • Observado na simulação: Nome é obrigatório; E-mail tem tipo nativo email.
  • Observado na simulação: Cidade está desabilitada e informa que o Estado deve ser selecionado primeiro.
  • Observado na simulação: Status expõe Ativo e Inativo; o seletor de Supervisor expõe Nenhum e uma segunda opção mascarada, sem seleção confirmada.
  • Documentado, não reproduzido: CPF/CNPJ informado deve ser válido; vendedor inativo não aparece nos lookups de cliente ou contrato; comissão sobre a equipe depende do flag Supervisor; o seletor deve listar somente vendedores supervisores.
  • Lacunas: não foram confirmadas máscaras de telefone/CEP, limites de comissão, cálculo, salvamento, edição ou visibilidade efetiva em outros módulos.

Erros comuns

Erro ou sintoma Causa Como resolver Evidência
Nenhum resultado A consulta de uma lista auxiliar ou autocomplete do formulário não encontrou correspondência. O JSON não associa a mensagem a um controle específico. Limpe o termo; use uma busca mais ampla e não sensível; confirme em ambiente autorizado que existe um cadastro ativo compatível. Se não houver supervisor aplicável, deixe o vínculo sem supervisor. Observado na simulaçãoform.helper_messages do registro Vendedores contém exatamente Nenhum resultado; não há validation_messages.
Nenhum vendedor encontrado O filtro ou texto não corresponde a um vendedor. Limpe o texto, use a busca geral ou cadastre um vendedor com Novo em ambiente autorizado. Documentado, não reproduzido — fonte existente, erros/avisos comuns de Vendedores.
Nome obrigatório O Nome não foi informado antes da operação de salvamento. Preencha Nome e tente salvar somente em ambiente autorizado. Documentado, não reproduzido — fonte existente; o JSON confirma required=true, mas não capturou a mensagem.
CPF ou CNPJ inválido O documento informado não atende à validação de negócio. Corrija o documento usando um valor válido e confira novamente antes de salvar. Documentado, não reproduzido — fonte existente; não houve validation_messages.
Supervisor inválido O vínculo escolhido não atende à regra de que o supervisor deve ser um vendedor supervisor. Selecione somente um supervisor elegível ou remova o vínculo quando não aplicável. Não use pessoa ou cadastro real na auditoria. Documentado, não reproduzido — fonte existente; opções capturadas no JSON foram mascaradas e não houve seleção.

Vendas

Lista observada

A tela está disponível em Operações → Comercial → Vendas. O select Campo de busca oferece Todos os campos, ID, Cliente, Documento cliente e Status; nenhuma opção é apresentada como selecionada. O campo Texto de busca usa placeholder Busca contida…. Os botões capturados são Novo, Atualizar, Buscar, ID▼, Emissão⇅, Cliente⇅, Status⇅, Total⇅, Anterior e Próxima.

Formulário “Nova venda”

O formulário foi aberto por Novo e tem 11 controles. O JSON registra tabs=[]; os rótulos Saída, Produtos, Fechamento, Financeiro, Nota fiscal e Auditoria aparecem em buttons, não como abas no campo tabs. Nenhuma ação de salvamento, finalização, geração financeira ou emissão fiscal foi executada.

Campo Tipo Obrigatório Como preencher Exemplo fictício Observação
Cliente * — entrada input Sim Digite ID ou nome e selecione o resultado apropriado em operação autorizada. Cadastro de Exemplo Wiki Placeholder ID ou nome. A seleção não foi executada.
Cliente * — identificação resolvida input Não Não digite; confira o retorno após resolver o cliente. — após seleção fictícia readonly=true, placeholder ; não é um valor confirmado.
Contrato — entrada input Não Depois de resolver o cliente, informe ou pesquise o contrato. 1001 Placeholder ID; inicia disabled=true. O identificador é fictício.
Contrato — identificação resolvida input Não Não digite; confira o retorno após resolver o contrato. — após seleção fictícia readonly=true, placeholder .
Filial * — entrada input Sim Digite código ou nome e selecione uma filial válida em operação autorizada. FILIAL-EXEMPLO Placeholder Código ou nome. Nenhuma filial real foi selecionada.
Filial * — identificação resolvida input Não Não digite; confira o retorno depois da resolução. — após seleção fictícia readonly=true, placeholder .
Tipo de documento — opção capturada select Não Escolha o tipo disponibilizado pelo ambiente, após cumprir pré-requisitos. (não selecionado) O JSON capturou somente ; os exemplos documentais de tipos não são opções confirmadas.
Tipo de cobrança — opção capturada select Não Escolha o tipo de cobrança disponibilizado pelo ambiente. (não selecionado) Somente foi capturado; nenhuma carteira ou cobrança real foi selecionada.
Data emissão date Não Informe uma data de emissão válida quando necessário. 2026-09-01 Tipo nativo date; o valor preexistente foi omitido.
Almoxarifado — opção capturada select Não Escolha um almoxarifado quando o tipo e os produtos exigirem estoque. (não selecionado) Somente foi capturado; nenhuma opção real foi selecionada.
Observações textarea Não Registre uma observação não sensível sobre a venda, se necessário. Exemplo fictício usado somente na documentação da wiki. Campo opcional, sem valor preexistente reproduzido.

As fontes descrevem áreas adicionais de Vendas — Produtos, Fechamento, Financeiro, Nota fiscal e Auditoria —, mas os controles internos dessas áreas não estão presentes no JSON final. As regras abaixo são, portanto, documentais, não um inventário de campos auditados.

Passos

  1. Abra Operações → Comercial → Vendas.
  2. Use um critério e texto fictícios em Campo de busca e Texto de busca, depois clique em Buscar.
  3. Clique em Novo e observe a seção Saída.
  4. Se precisar inspecionar o fluxo, use somente exemplos fictícios para Cliente, Filial e Observações. A seleção real de cliente, contrato, filial ou qualquer select não foi realizada.
  5. Em um fluxo autorizado, resolva primeiro o Cliente; depois confira o campo de identificação retornada e pesquise Contrato, se aplicável.
  6. Informe ou confirme a Filial pelo autocomplete sem copiar nomes, códigos ou valores preexistentes.
  7. Confira Tipo de documento, Tipo de cobrança e Almoxarifado. Nesta auditoria, todos mostraram somente ; não invente opções nem provoque carregamento com dados reais.
  8. Não use Salvar, Finalizar saída, Salvar e gerar financeiro ou Validar e finalizar na auditoria segura. Não gere financeiro nem nota fiscal.
  9. Em ambiente autorizado, siga os pré-requisitos documentais antes de conferir Produtos, Fechamento, Financeiro e Nota fiscal.

Regras e validações

  • Observado na simulação: as entradas de Cliente e Filial são obrigatórias; os controles de identificação retornada são somente leitura e não obrigatórios.
  • Observado na simulação: a entrada de Contrato começa desabilitada; o retorno de Contrato é somente leitura.
  • Observado na simulação: Data emissão é date, Observações é textarea e os três selects mostram somente , sem seleção confirmada.
  • Documentado, não reproduzido: o cliente deve estar cadastrado com CPF/CNPJ e tipo de assinante quando houver NFCom; produto precisa de conta de receita e, no fiscal, classificação fiscal e cClass; tipo documental, filial, carteira, certificado A1, IE, CNPJ, almoxarifado e saldo dependem do fluxo.
  • Documentado, não reproduzido: contrato pode preencher Produtos automaticamente; venda com contrato não permite alterar o valor dos itens; sem contrato, o total de linha é preço × quantidade + desconto/acréscimo; parcelas devem somar o total líquido; finalização pode baixar estoque; vencimentos a partir de 01/01/2027 são bloqueados.
  • Lacunas: nenhum item foi incluído, contrato foi selecionado, carteira foi informada ou venda foi salva, finalizada, reaberta, faturada ou enviada para emissão fiscal.

Erros comuns

Erro ou sintoma Causa Como resolver Evidência
Carteira obrigatória ou geração financeira sem carteira O tipo de documento gera financeiro, mas a carteira não foi preenchida no Fechamento. Informe uma carteira válida no Fechamento e salve novamente em ambiente autorizado. Documentado, não reproduzido — fonte existente, erros/avisos comuns de Vendas.
Gere o financeiro antes de validar A venda foi encaminhada à validação sem geração financeira quando o tipo exige essa etapa. Use Salvar com carteira ou Salvar e gerar financeiro, conforme o tipo e a permissão. Documentado, não reproduzido — fonte existente; nenhum botão de escrita foi acionado.
Produto sem conta de receita O produto não possui a conta necessária para gerar o contas a receber. Cadastre a conta de receita no produto antes de gerar o financeiro. Documentado, não reproduzido — fonte existente; nenhum produto foi incluído.
Produto sem classificação ou cClass O produto não possui classificação fiscal necessária para NFCom. Complete a ficha do produto com os dados fiscais exigidos antes da emissão. Documentado, não reproduzido — fonte existente; não houve mensagem de validação no JSON.
Certificado ou IE da filial ausente A filial não tem cadastro fiscal suficiente para a operação fiscal. Complete o cadastro fiscal autorizado da filial e confirme CNPJ, IE e certificado A1. Documentado, não reproduzido — fonte existente; somente a entrada de Filial foi capturada.
Almoxarifado obrigatório O tipo atualiza estoque e há produto que controla estoque. Selecione um almoxarifado válido e verifique saldo antes de finalizar. Documentado, não reproduzido — fonte existente; o select auditado mostrou somente .
Sem saldo ou bloqueio de estoque Não há saldo suficiente para produto que controla estoque ou a movimentação está bloqueada. Faça a entrada de estoque ou corrija a quantidade antes de finalizar. Documentado, não reproduzido — fonte existente; nenhum produto ou finalização foi executado.
Há boleto(s) pago(s) ou parcial(is) Título pago ou parcial impede editar ou reabrir a venda. Estorne o recebimento no Contas a receber conforme o procedimento autorizado e só então edite ou reabra. Documentado, não reproduzido — fontes existentes de Vendas e Reabrir venda; nenhuma venda foi reaberta.
Somente vendas finalizadas podem ser reabertas A reabertura foi tentada em venda com status diferente de Finalizada ou em venda cancelada. Use a reabertura somente em venda Finalizada e sem título pago ou parcial. Documentado, não reproduzido — fonte existente de Reabrir venda; o botão não foi executado.
Vencimento a partir de 01/01/2027 bloqueado A prévia de parcelas contém vencimento a partir da data-limite documentada. Ajuste o primeiro vencimento e confira a prévia no Fechamento antes de gerar títulos. Documentado, não reproduzido — regra de Vendas nas fontes existentes; Fechamento não foi capturado no JSON.

Comissões (desabilitada)

O registro Operações → Comercial → Comissões tem disabled=true. Não há lista, formulário, controles, botões, abas, cabeçalhos ou mensagens no JSON final. A tela é incluída no inventário para representar todos os registros, mas não há campos, passos ou regras de formulário a descrever sem inventar comportamento. Não foi observado erro nesse registro; a política de bloqueio não é tratada como defeito.

Capturas dos formulários simulados

Os valores visíveis são exemplos fictícios. Seleções e valores preexistentes foram mascarados. A auditoria bloqueou POST, PUT, PATCH e DELETE; nenhum registro foi salvo.

Planos

Formulário simulado — Planos

Formulário aberto por Novo e preenchido apenas no navegador, sem persistência.

Vendedores

Formulário simulado — Vendedores

Formulário aberto por Novo e preenchido apenas no navegador, sem persistência.

Vendas

Formulário simulado — Vendas

Formulário aberto por Novo e preenchido apenas no navegador, sem persistência.

Referências