🗄️ Cancelamento de Venda

Tabela auxiliar que armazena cancelamento dos vendas.
🔗 Tabela relacionada: vendas

📋 12 colunas 🔗 1 relacionamentos 🎮 4 controles 👁️ view_vendas_cancelamento 🔑 PRIMARY KEY 🎮 3 ações externas

📋 Estrutura da Tabela

A tabela vendas_cancelamento possui 12 colunas.

🔑 Id PRIMARY KEY
🔑 PRIMARY KEY🔒 Somente leitura💾 Grava📋 Auditoria
Campo Tabela id
Campo VIEW / Exibido id_cancelamento 🔹 Alias na VIEW: id_cancelamento
Tipo number (readonly - PRIMARY KEY)
Data Table vendas_cancelamento,auditor_vendas 📋 Grava em auditoria
Descrição

Campo id

🔑 PRIMARY KEY

Campo na tabela: id

Alias na VIEW: id_cancelamento

Readonly: ✅ Gerado automaticamente pelo sistema

Grava em auditoria: ✅ Sim

🚫 send: Cancelar NFe NFe
📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id
  • Alias OndeVou id_cancelamento
  • Tabela OndeVou vendas_cancelamento,auditor_vendas
🎮 Controls Acao
  • {
      "send": {
        "acao": "cancelarNFe",
        "messagem": "Cancelar NFe"
      }
    }
  • Alias: id_cancelamento
  • Tabelas: vendas_cancelamento, auditor_vendas ✅
  • ControlsAcao: ✓
  • 🔑 PRIMARY KEY
  • VIEW: id_cancelamento
  • 📋 Auditoria
📋 Venda
✅ Obrigatório🔒 Somente leitura💾 Grava
Campo Tabela id_venda
Campo VIEW / Exibido id_venda
Tipo number
Data Table vendas_cancelamento,auditor_vendas
Descrição

Campo venda

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Obrigatório ✅ Sim
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id_venda
  • Tabela OndeVou vendas_cancelamento,auditor_vendas
🎮 Controls Acao
  • {
      "sync": {
        "acao": "consultarNFe",
        "messagem": "Consultar cancelamento sefaz"
      }
    }
  • Tabelas: vendas_cancelamento, auditor_vendas ✅
  • ControlsAcao: ✓
📋 NFe
✅ Obrigatório🔒 Somente leitura📋 Somente view
Campo Tabela id_nfe
Campo VIEW / Exibido id_nfe ⚠️ (somente view)
Tipo number
Data Table view_vendas_cancelamento
Descrição

Campo nfe

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Obrigatório ✅ Sim
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id_nfe
  • Tabela OndeVou view_vendas_cancelamento
  • Tabelas: view_vendas_cancelamento (só view)
📋 Data Venda
🔒 Somente leitura📋 Somente view
Campo Tabela data_hora_venda
Campo VIEW / Exibido data_hora_venda ⚠️ (somente view)
Tipo date
Data Table view_vendas_cancelamento
Descrição

Campo data venda

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados date
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou data_hora_venda
  • Tabela OndeVou view_vendas_cancelamento
  • Tabelas: view_vendas_cancelamento (só view)
📋 Data NFe
🔒 Somente leitura📋 Somente view
Campo Tabela sefaz_data_recebimento
Campo VIEW / Exibido sefaz_data_recebimento ⚠️ (somente view)
Tipo date
Data Table view_vendas_cancelamento
Descrição

Campo data nfe

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados date
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou sefaz_data_recebimento
  • Tabela OndeVou view_vendas_cancelamento
  • Tabelas: view_vendas_cancelamento (só view)
📋 Data Evento
🔒 Somente leitura💾 Grava
Campo Tabela data_evento
Campo VIEW / Exibido data_hora_evento
Tipo date
Data Table vendas_cancelamento
Descrição

Campo data evento

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados date
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou data_evento
  • Alias OndeVou data_hora_evento
  • Tabela OndeVou vendas_cancelamento
  • Alias: data_hora_evento
  • Tabelas: vendas_cancelamento ✅
📋 Chave NFe
🔒 Somente leitura📋 Somente view
Campo Tabela chave_nfe
Campo VIEW / Exibido chave_nfe ⚠️ (somente view)
Tipo text
Data Table view_vendas_cancelamento
Descrição

Campo chave nfe

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou chave_nfe
  • Tabela OndeVou view_vendas_cancelamento
  • Tabelas: view_vendas_cancelamento (só view)
📋 xml
🔒 Somente leitura💾 Grava
Campo Tabela caminho_xml_cancelamento
Campo VIEW / Exibido caminho_xml_cancelamento
Tipo text
Data Table vendas_cancelamento
Descrição

Campo xml

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou caminho_xml_cancelamento
  • Tabela OndeVou vendas_cancelamento
🎮 Controls Acao
  • {
      "xml": {
        "acao": "downloadXml",
        "messagem": "Download do XML do cancelamento"
      }
    }
  • Tabelas: vendas_cancelamento ✅
  • ControlsAcao: ✓
📋 Natureza Operação
🔒 Somente leitura💾 Grava
Campo Tabela id_natureza_operacao
Campo VIEW / Exibido natureza_operacao (ID: id_natureza_operacao)
Tipo number
Data Table vendas_cancelamento,auditor_vendas
Descrição

Campo natureza operação

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou natureza_operacao
  • ID OndeVou id_natureza_operacao
  • Tabela OndeVou vendas_cancelamento,auditor_vendas
  • ID: id_natureza_operacao
  • Tabelas: vendas_cancelamento, auditor_vendas ✅
📋 Romaneio
🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela id_romaneio
Campo VIEW / Exibido id_romaneio
Tipo text
Data Table vendas_cancelamento,auditor_vendas
Descrição

Campo romaneio

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id_romaneio
  • Tabela OndeVou vendas_cancelamento,auditor_vendas
  • Tabelas: vendas_cancelamento, auditor_vendas ✅
  • Hidden: ✓ (dados ocultos)
📋 Cliente
🔒 Somente leitura📋 Somente view
Campo Tabela id_participante
Campo VIEW / Exibido razao_social ⚠️ (somente view)
Tipo number
Data Table view_vendas_cancelamento,auditor_vendas
Descrição

Campo cliente

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou razao_social
  • ID OndeVou id_participante
  • Tabela OndeVou view_vendas_cancelamento,auditor_vendas
  • ID: id_participante
  • Tabelas: view_vendas_cancelamento, auditor_vendas (só view)
📋 Justificativa
✅ Obrigatório💾 Grava
Campo Tabela justificativa
Campo VIEW / Exibido justificativa
Tipo text
Data Table vendas_cancelamento
Descrição

Campo justificativa

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Obrigatório ✅ Sim
📊 Dados
  • Campo OndeVou justificativa
  • Tabela OndeVou vendas_cancelamento
  • Tabelas: vendas_cancelamento ✅
📌 Legenda: 🔑 PRIMARY KEY ✅ Obrigatório 🔒 Somente leitura 👁️ Oculto 💾 Grava 📋 Somente view 🔗 getdata 📝 putdata 🔢 AutoInc 📱 QR Code 📋 Auditoria 📱 GetCollector

🔗 Relacionamentos

Tabelas relacionadas via getdata.

participantes_privado · Auxiliar: id_participante 📄

🔍 Filtros (formsearch)

Campos disponíveis para filtragem na busca.

Apenas canceladas checkbox
Sincronizadas checkbox
Não sincronizadas checkbox
Participante text 🔗 Sim
Venda text
NFe text
Data Inicial date
Data Final date

🎮 Controles Disponíveis

Ações que o usuário pode realizar na tabela.

📂 Controle
💾 Salvar save
📂 Documento
📤 Enviar send 📥 Baixar XML xml
📂 Configuração
🔄 Sincronizar sync

👁️ View Associada

Nome: view_vendas_cancelamento

🔑 PRIMARY KEY - Campo Id

O campo Id é a chave primária da tabela vendas_cancelamento.

Configuração

'Id': {
    'input': {
        'readonly': 'readonly',
        'data-type-ondevou': 'number',
        'data-field-ondevou': 'id',
        "data-field-alias-ondevou": "id_cancelamento",
        'data-table-ondevou': 'vendas_cancelamento,auditor_vendas'
    }
}

Comportamento

  • 🔒 Readonly: Campo não editável
  • 📊 Tipo: number
  • 🔹 Alias na VIEW: id_cancelamento
  • 📋 Auditoria: Grava em vendas_cancelamento,auditor_vendas

🎮 Controls-Ação

📂 NFe
send: Cancelar NFe cancelarNFe

🎮 Controls-Ação em Outros Campos

Outros campos com ações configuradas.

📋 Venda

sync: Consultar NFe na SEFAZ consultarNFe

📋 xml

xml: Baixar XML downloadXml

💾 JSON da Tabela

Estrutura completa em JSON para integração com APIs e IAs.

code Clique para ver o JSON completo 7 KB
{
  "table-id": "vendas_cancelamento",
  "data-table-ondevou": "vendas_cancelamento",
  "data-table-auditor": "auditor_vendas",
  "data-field-auditor": "id_venda",
  "table-class": "highlight",
  "controls": [
    "save",
    "send",
    "sync",
    "xml"
  ],
  "html": {
    "div": {
      "before": "",
      "after": ""
    }
  },
  "headers": {
    "Id": {
      "width": "7%"
    },
    "Venda": {
      "width": "5%"
    },
    "NFe": {
      "width": "5%"
    },
    "Data Venda": {
      "width": "8%"
    },
    "Data NFe": {
      "width": "8%"
    },
    "Data Evento": {
      "width": "8%"
    },
    "Chave NFe": {
      "width": "20%"
    },
    "xml": {
      "width": "15%"
    },
    "Natureza Operação": {
      "width": "15%"
    },
    "Romaneio": {
      "type": "hidden"
    },
    "Cliente": {
      "width": "15%"
    },
    "Justificativa": {
      "type": "textarea",
      "width": "35%"
    }
  },
  "columns": {
    "Id": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id",
        "data-field-alias-ondevou": "id_cancelamento",
        "data-table-ondevou": "vendas_cancelamento,auditor_vendas",
        "controls-acao": {
          "send": {
            "acao": "cancelarNFe",
            "messagem": "Cancelar NFe"
          }
        }
      }
    },
    "Venda": {
      "input": {
        "readonly": "readonly",
        "required": "required",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id_venda",
        "data-table-ondevou": "vendas_cancelamento,auditor_vendas",
        "controls-acao": {
          "sync": {
            "acao": "consultarNFe",
            "messagem": "Consultar cancelamento sefaz"
          }
        }
      }
    },
    "NFe": {
      "input": {
        "readonly": "readonly",
        "required": "required",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id_nfe",
        "data-table-ondevou": "view_vendas_cancelamento"
      }
    },
    "Data Venda": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "date",
        "data-field-ondevou": "data_hora_venda",
        "data-table-ondevou": "view_vendas_cancelamento"
      }
    },
    "Data NFe": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "date",
        "data-field-ondevou": "sefaz_data_recebimento",
        "data-table-ondevou": "view_vendas_cancelamento"
      }
    },
    "Data Evento": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "date",
        "data-field-ondevou": "data_evento",
        "data-field-alias-ondevou": "data_hora_evento",
        "data-table-ondevou": "vendas_cancelamento"
      }
    },
    "Chave NFe": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "chave_nfe",
        "data-table-ondevou": "view_vendas_cancelamento"
      }
    },
    "xml": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "caminho_xml_cancelamento",
        "data-table-ondevou": "vendas_cancelamento",
        "controls-acao": {
          "xml": {
            "acao": "downloadXml",
            "messagem": "Download do XML do cancelamento"
          }
        }
      }
    },
    "Natureza Operação": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_natureza_operacao",
        "data-field-ondevou": "natureza_operacao",
        "data-table-ondevou": "vendas_cancelamento,auditor_vendas"
      }
    },
    "Romaneio": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "id_romaneio",
        "data-table-ondevou": "vendas_cancelamento,auditor_vendas"
      }
    },
    "Cliente": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_participante",
        "data-field-ondevou": "razao_social",
        "data-table-ondevou": "view_vendas_cancelamento,auditor_vendas"
      }
    },
    "Justificativa": {
      "input": {
        "required": "required",
        "data-type-ondevou": "text",
        "data-field-ondevou": "justificativa",
        "data-table-ondevou": "vendas_cancelamento"
      }
    }
  },
  "formsearch": {
    "data-table-ondevou": "view_vendas_cancelamento",
    "data-view-ondevou": "view_vendas_cancelamento",
    "data-where-fixed": "id_tipo_emissao=`1` and participante=`1`",
    "data-where-order": "order by id_nfe desc",
    "input": {
      "id_cancelamento": {
        "data-field-ondevou": "id_cancelamento",
        "data-type-ondevou": "number",
        "type": "checkbox",
        "divClass": "col s12 m2",
        "texto_label": "Apenas canceladas",
        "data-where-true": "id_cancelamento is not null"
      },
      "sincronizadas": {
        "data-field-ondevou": "sincronizadas",
        "data-type-ondevou": "text",
        "type": "checkbox",
        "divClass": "col s12 m2",
        "texto_label": "Sincronizadas",
        "data-where-true": "caminho_xml_cancelamento is not null"
      },
      "nao_sincronizadas": {
        "data-field-ondevou": "nao_sincronizadas",
        "data-type-ondevou": "text",
        "type": "checkbox",
        "divClass": "col s12 m2",
        "texto_label": "Não sincronizadas",
        "data-where-true": "caminho_xml_cancelamento is null"
      },
      "id_participante": {
        "data-field-ondevou": "id_participante",
        "data-type-ondevou": "number",
        "type": "text",
        "divClass": "col s12 m1",
        "texto_label": "Participante",
        "data-field-where": "id_participante",
        "getdata": "{\"view\":\"view_participantes_privado\",\"data\":\"view_participantes_privado\",\"campo-data-id\":\"id_participante\",\"campo-data-value-input\":\"id_participante,razao_social\",\"campo-data-input-select-view\":\"id_participante,codigo_erplinux_cliente,codigo_erplinux_fornecedor,razao_social,nome_fantasia,cnpj,cpf,cep,cep_erplinux,nome_bairro,nome_cidade,sigla_uf\",\"query\":{\"select\":\"* from view_participantes_privado\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(concat(id_participante,` `,codigo_erplinux_cliente,` `,codigo_erplinux_fornecedor,` `,razao_social,` `,nome_fantasia,` `,cnpj,` `,cpf,` `,cep,` `,cep_erplinux,` `,nome_bairro,` `,nome_cidade,` `,sigla_uf))) ilike `%\",\"right\":\"%`) and (participante=`1`)\"}}}}}"
      },
      "id_venda": {
        "data-field-ondevou": "id_venda",
        "data-type-ondevou": "number",
        "type": "text",
        "divClass": "col s12 m1",
        "texto_label": "Venda",
        "data-field-where": "id_venda"
      },
      "id_nfe": {
        "data-field-ondevou": "id_nfe",
        "data-type-ondevou": "number",
        "type": "text",
        "divClass": "col s12 m1",
        "texto_label": "NFe",
        "data-field-where": "id_nfe"
      },
      "data_inicial": {
        "data-field-ondevou": "data_inicial",
        "data-type-ondevou": "date",
        "type": "date",
        "divClass": "col s12 m2",
        "class": "datepicker",
        "texto_label": "Data Inicial",
        "data-field-where": "data_venda"
      },
      "data_final": {
        "data-field-ondevou": "data_final",
        "data-type-ondevou": "date",
        "type": "date",
        "divClass": "col s12 m2",
        "class": "datepicker",
        "texto_label": "Data Final",
        "data-field-where": "data_venda"
      }
    }
  },
  "url_documentacao": "/docs/ondevou-db-vendas_cancelamento.html",
  "nome_tabela": "vendas_cancelamento"
}

📝 SQL CREATE TABLE - Estrutura Completa

Comando SQL COMPLETO para criar a tabela vendas_cancelamento no PostgreSQL. Esta estrutura foi extraída DIRETAMENTE do banco de dados.

🏗️ Estrutura Completa

📋 5 colunas 🔗 2 constraints 📑 2 índices ⚡ 0 triggers
code Clique para ver o SQL completo ✅ COMPLETO
-- ============================================================
-- ESTRUTURA COMPLETA DA TABELA vendas_cancelamento
-- Fonte: PostgreSQL - 12/08/2026 10:25:11
-- ============================================================

CREATE TABLE public.vendas_cancelamento (
    id integer NOT NULL DEFAULT nextval('vendas_cancelamento_id_seq'::regclass),
    id_venda integer,
    justificativa varchar(255),
    data_evento timestamp DEFAULT now(),
    caminho_xml_cancelamento varchar(255),
    CONSTRAINT vendas_cancelamento_pkey PRIMARY KEY (id),
    CONSTRAINT 2200_222441_1_not_null CHECK (id IS NOT NULL)
);

-- ============================================================
-- ÍNDICES
-- ============================================================
CREATE INDEX idx_vendas_cancelamento_id_venda ON public.vendas_cancelamento USING btree (id_venda);
CREATE UNIQUE INDEX vendas_cancelamento_pk_id ON public.vendas_cancelamento USING btree (id);

SQL extraído DIRETAMENTE do banco de dados

📊 Comparação: JSON Config vs Banco Real

Verifique se a configuração JSON está sincronizada com a estrutura do banco de dados.

Campo Tipo (JSON) Tipo (Banco) Status
caminho_xml_cancelamento text character varying ✅ OK
chave_nfe text - ⚠️ Só no JSON
data_evento date timestamp without time zone ✅ OK
data_hora_venda date - ⚠️ Só no JSON
id number integer ✅ OK
id_nfe number - ⚠️ Só no JSON
id_romaneio text - ⚠️ Só no JSON
id_venda number integer ✅ OK
justificativa text character varying ✅ OK
natureza_operacao number - ⚠️ Só no JSON
razao_social number - ⚠️ Só no JSON
sefaz_data_recebimento date - ⚠️ Só no JSON

💡 Dica: Use esta comparação para garantir que a configuração JSON está atualizada com a estrutura do banco.
📌 Legenda: ✅ OK = presente em ambos | ⚠️ Só no JSON = pode ser um campo virtual | ❌ Só no banco = falta adicionar ao JSON

💡 Como Popular a Tabela

Exemplo prático usando o padrão OndeVou.

📋 Fluxo completo padrão

// 1. Buscar dados com getData
var dados_retorno = getData({
    'query': `SELECT * FROM view_vendas_cancelamento WHERE participante = ${globais.dados_fixo.participante}`,
    'view': 'view_vendas_cancelamento'
});

// 2. Definir painel e slide
var painel = globais.dados_pagina.visivel.painel;
var slide = globais.dados_pagina.visivel.slide;

// 3. Encontrar a tabela no DOM
var idTable = getIdTableFromSlide({ 'table-id': 'vendas_cancelamento' });

// 4. Resetar a tabela
setTableControlsReset(idTable);

// 5. Popular a tabela
setTableControlsSetValue(idTable, dados_retorno);

🏆 Propriedade Intelectual

OndeVou.com Marca Registrada

Marca Registrada

OndeVou.com®

Propriedade Intelectual Assegurada

Processo INPI:
908765967
Titular:
ONDEVOU.COM TECNOLOGIA LTDA
CNPJ:
17.058.605/0001-36
Classificação:
Classe 42 - Serviços de TI