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¶
- Abra Operações → Comercial → Planos.
- Para pesquisar sem usar dados operacionais, informe um termo fictício em Buscar plano… e use Buscar. Use Atualizar apenas para recarregar a lista.
- Clique em Novo para inspecionar o formulário.
- 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.
- Observe Download, Upload, Fidelidade e Status sem substituir valores preexistentes. Não altere Preço base, pois o controle está desabilitado e somente leitura.
- Trate Digite ID ou nome… como uma busca cujo cadastro-alvo não foi identificado. Não selecione registro real.
- 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. |
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¶
- Abra Operações → Comercial → Vendedores.
- 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.
- Clique em Novo.
- Se necessário, preencha apenas Nome com Cadastro de Exemplo Wiki para conferir a indicação de obrigatoriedade.
- Observe Estado e Cidade sem usar dados reais. Cidade permanece desabilitada enquanto a dependência visual indicada pelo placeholder não é resolvida.
- Observe os campos de comissão e supervisão sem alterar valores preexistentes. Os selects permanecem não preenchidos e mascarados.
- 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ção — form.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¶
- Abra Operações → Comercial → Vendas.
- Use um critério e texto fictícios em Campo de busca e Texto de busca, depois clique em Buscar.
- Clique em Novo e observe a seção Saída.
- 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.
- Em um fluxo autorizado, resolva primeiro o Cliente; depois confira o campo de identificação retornada e pesquise Contrato, se aplicável.
- Informe ou confirme a Filial pelo autocomplete sem copiar nomes, códigos ou valores preexistentes.
- 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. - 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.
- 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 étextareae 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 aberto por Novo e preenchido apenas no navegador, sem persistência.
Vendedores¶
Formulário aberto por Novo e preenchido apenas no navegador, sem persistência.
Vendas¶
Formulário aberto por Novo e preenchido apenas no navegador, sem persistência.


