🗄️ Cilindros Romaneios Estoque Atual de View

Tabela auxiliar que armazena cilindros romaneios estoque atual dos view.
🔗 Tabela relacionada: view

📋 20 colunas 🔗 1 relacionamentos 🎮 0 controles 👁️ view_view_cilindros_romaneios_estoque_atual 🔑 PRIMARY KEY

📋 Estrutura da Tabela

A tabela view_cilindros_romaneios_estoque_atual possui 20 colunas.

🔑 Id PRIMARY KEY
🔑 PRIMARY KEY🔒 Somente leitura💾 Grava
Campo Tabela id
Campo VIEW / Exibido order 🔹 Alias na VIEW: order
Tipo number (readonly - PRIMARY KEY)
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo id

🔑 PRIMARY KEY

Campo na tabela: id

Alias na VIEW: order

Readonly: ✅ Gerado automaticamente pelo sistema

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou id
  • Alias OndeVou order
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Alias: order
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
  • 🔑 PRIMARY KEY
  • VIEW: order
📋 Cilindro
💾 Grava
Campo Tabela id_cilindro
Campo VIEW / Exibido id_cilindro
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo cilindro

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
📊 Dados
  • Campo OndeVou id_cilindro
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Etiqueta
💾 Grava
Campo Tabela id_etiqueta_avulsa
Campo VIEW / Exibido id_etiqueta_avulsa
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo etiqueta

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
📊 Dados
  • Campo OndeVou id_etiqueta_avulsa
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Produto
💾 Grava
Campo Tabela descricao_produto
Campo VIEW / Exibido descricao_produto
Tipo text
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo produto

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
📊 Dados
  • Campo OndeVou descricao_produto
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Situação
🔒 Somente leitura💾 Grava
Campo Tabela id_situacao
Campo VIEW / Exibido nome_situacao (ID: id_situacao)
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo situação

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_situacao
  • ID OndeVou id_situacao
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • ID: id_situacao
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Localização
🔒 Somente leitura💾 Grava
Campo Tabela id_localizacao
Campo VIEW / Exibido nome_localizacao (ID: id_localizacao)
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo localização

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_localizacao
  • ID OndeVou id_localizacao
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • ID: id_localizacao
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Entrada
🔒 Somente leitura💾 Grava
Campo Tabela entrada
Campo VIEW / Exibido entrada
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo entrada

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou entrada
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Saída
🔒 Somente leitura💾 Grava
Campo Tabela saida
Campo VIEW / Exibido saida
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo saída

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou saida
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Saldo
🔒 Somente leitura💾 Grava
Campo Tabela total
Campo VIEW / Exibido total
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo saldo

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou total
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Vazio
🔒 Somente leitura💾 Grava
Campo Tabela total_vazio
Campo VIEW / Exibido total_vazio
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo vazio

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou total_vazio
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Cheio
🔒 Somente leitura💾 Grava
Campo Tabela total_cheio
Campo VIEW / Exibido total_cheio
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo cheio

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou total_cheio
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 M3
🔒 Somente leitura💾 Grava
Campo Tabela m3
Campo VIEW / Exibido m3
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo m3

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou m3
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 KG
🔒 Somente leitura💾 Grava
Campo Tabela kg
Campo VIEW / Exibido kg
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo kg

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou kg
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
📋 Tipo
✅ Obrigatório🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela id_tipo
Campo VIEW / Exibido nome_tipo (ID: id_tipo)
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo tipo

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Obrigatório ✅ Sim
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_tipo
  • ID OndeVou id_tipo
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • ID: id_tipo
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
  • Hidden: ✓ (dados ocultos)
📋 Aplicação
✅ Obrigatório🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela id_aplicacao
Campo VIEW / Exibido nome_aplicacao (ID: id_aplicacao)
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo aplicação

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Obrigatório ✅ Sim
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_aplicacao
  • ID OndeVou id_aplicacao
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • ID: id_aplicacao
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
  • Hidden: ✓ (dados ocultos)
📋 Capacidade
✅ Obrigatório🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela id_capacidade
Campo VIEW / Exibido nome_capacidade (ID: id_capacidade)
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo capacidade

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Obrigatório ✅ Sim
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_capacidade
  • ID OndeVou id_capacidade
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • ID: id_capacidade
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
  • Hidden: ✓ (dados ocultos)
📋 Unidade
🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela id_unidade_capacidade
Campo VIEW / Exibido nome_unidade_capacidade (ID: id_unidade_capacidade)
Tipo number
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo unidade

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados number
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_unidade_capacidade
  • ID OndeVou id_unidade_capacidade
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • ID: id_unidade_capacidade
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
  • Hidden: ✓ (dados ocultos)
📋 Tipo, aplicação e capacidade
🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela
Campo VIEW / Exibido nome_tipo + nome_aplicacao + nome_capacidade
Tipo text (concatenação)
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo tipo, aplicação e capacidade

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_tipo,nome_aplicacao,nome_capacidade
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
  • Hidden: ✓ (dados ocultos)
📋 Tipo, aplicação e unidade
🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela
Campo VIEW / Exibido nome_tipo + nome_aplicacao + nome_unidade_capacidade
Tipo text (concatenação)
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo tipo, aplicação e unidade

📋 Todos os Atributos
🎨 Formatacao
  • Tipo de dados text
Validacao
  • Somente leitura 🔒 Sim
📊 Dados
  • Campo OndeVou nome_tipo,nome_aplicacao,nome_unidade_capacidade
  • Tabela OndeVou view_cilindros_romaneios_estoque_atual
  • Tabelas: view_cilindros_romaneios_estoque_atual ✅
  • Hidden: ✓ (dados ocultos)
📋 Tipo e aplicação
🔒 Somente leitura👁️ Oculto💾 Grava
Campo Tabela
Campo VIEW / Exibido nome_tipo + nome_aplicacao
Tipo text (concatenação)
Data Table view_cilindros_romaneios_estoque_atual
Descrição

Campo tipo e aplicação

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

🔗 Relacionamentos

Tabelas relacionadas via getdata.

romaneios · Principal: id_romaneio 📄

🔍 Filtros (formsearch)

Campos disponíveis para filtragem na busca.

Romaneio text 🔗 Sim

🎮 Controles Disponíveis

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

Nenhum controle disponível.

👁️ View Associada

Nome: view_view_cilindros_romaneios_estoque_atual

🔑 PRIMARY KEY - Campo Id

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

Configuração

'Id': {
    'input': {
        'readonly': 'readonly',
        'data-type-ondevou': 'number',
        'data-field-ondevou': 'id',
        "data-field-alias-ondevou": "order",
        'data-table-ondevou': 'view_cilindros_romaneios_estoque_atual'
    }
}

Comportamento

  • 🔒 Readonly: Campo não editável
  • 📊 Tipo: number
  • 🔹 Alias na VIEW: order

💾 JSON da Tabela

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

code Clique para ver o JSON completo 41 KB
{
  "table-id": "view_cilindros_romaneios_estoque_atual",
  "data-table-ondevou": "view_cilindros_romaneios_estoque_atual",
  "table-class": "highlight",
  "readonly": "sim",
  "controls": [],
  "html": {
    "div": {
      "before": "",
      "after": ""
    }
  },
  "routines": {
    "summary": "getResumoCilindros"
  },
  "headers": {
    "Id": {
      "width": "7%"
    },
    "Cilindro": {
      "width": "7%"
    },
    "Etiqueta": {
      "width": "7%"
    },
    "Produto": {
      "width": "20%"
    },
    "Situação": {
      "width": "10%",
      "align": "center"
    },
    "Localização": {
      "width": "10%",
      "align": "center"
    },
    "Entrada": {
      "width": "10%",
      "align": "center",
      "sum": "sum"
    },
    "Saída": {
      "width": "10%",
      "align": "center",
      "sum": "sum"
    },
    "Saldo": {
      "width": "10%",
      "align": "center",
      "sum": "sum"
    },
    "Vazio": {
      "width": "10%",
      "align": "center",
      "sum": "sum"
    },
    "Cheio": {
      "width": "10%",
      "align": "center",
      "sum": "sum"
    },
    "M3": {
      "width": "10%",
      "align": "center",
      "sum": "sum"
    },
    "KG": {
      "width": "10%",
      "align": "center",
      "sum": "sum"
    },
    "Tipo": {
      "type": "hidden"
    },
    "Aplicação": {
      "type": "hidden"
    },
    "Capacidade": {
      "type": "hidden",
      "align": "center"
    },
    "Unidade": {
      "type": "hidden",
      "align": "center"
    },
    "Tipo, aplicação e capacidade": {
      "type": "hidden"
    },
    "Tipo, aplicação e unidade": {
      "type": "hidden"
    },
    "Tipo e aplicação": {
      "type": "hidden"
    }
  },
  "columns": {
    "Id": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "id",
        "data-field-alias-ondevou": "order",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Cilindro": {
      "input": {
        "data-type-ondevou": "number",
        "data-field-ondevou": "id_cilindro",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Etiqueta": {
      "input": {
        "data-type-ondevou": "number",
        "data-field-ondevou": "id_etiqueta_avulsa",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Produto": {
      "input": {
        "data-type-ondevou": "text",
        "data-field-ondevou": "descricao_produto",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Situação": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_situacao",
        "data-field-ondevou": "nome_situacao",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Localização": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_localizacao",
        "data-field-ondevou": "nome_localizacao",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Entrada": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "entrada",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Saída": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "saida",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Saldo": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "total",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Vazio": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "total_vazio",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Cheio": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "total_cheio",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "M3": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "m3",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "KG": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-field-ondevou": "kg",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Tipo": {
      "input": {
        "readonly": "readonly",
        "required": "required",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_tipo",
        "data-field-ondevou": "nome_tipo",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Aplicação": {
      "input": {
        "readonly": "readonly",
        "required": "required",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_aplicacao",
        "data-field-ondevou": "nome_aplicacao",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Capacidade": {
      "input": {
        "readonly": "readonly",
        "required": "required",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_capacidade",
        "data-field-ondevou": "nome_capacidade",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Unidade": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "number",
        "data-id-field-ondevou": "id_unidade_capacidade",
        "data-field-ondevou": "nome_unidade_capacidade",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Tipo, aplicação e capacidade": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "nome_tipo,nome_aplicacao,nome_capacidade",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Tipo, aplicação e unidade": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "nome_tipo,nome_aplicacao,nome_unidade_capacidade",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    },
    "Tipo e aplicação": {
      "input": {
        "readonly": "readonly",
        "data-type-ondevou": "text",
        "data-field-ondevou": "nome_tipo,nome_aplicacao",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual"
      }
    }
  },
  "formsearch": {
    "data-table-ondevou": "view_cilindros_romaneios_estoque_atual",
    "data-view-ondevou": "view_cilindros_romaneios_estoque_atual",
    "data-where-limit": "N",
    "data-table-full": "S",
    "data-where-order": "order by descricao_produto asc",
    "input": {
      "id_romaneio": {
        "data-id-field-ondevou": "id_romaneio",
        "required": "required",
        "data-field-ondevou": "descricao_romaneio",
        "data-type-ondevou": "number",
        "texto_label": "Romaneio",
        "data-field-where": "id_romaneio",
        "data-table-ondevou": "view_cilindros_romaneios_estoque_atual",
        "getdata": "{\"view\":\"view_romaneios\",\"data\":\"view_romaneios\",\"text-empty-search\":\"sim\",\"campo-data-id\":\"id_romaneio\",\"campo-data-value-input\":\"id_romaneio,descricao_romaneio,romaneio_erplinux\",\"campo-data-input-select-view\":\"id_romaneio,descricao_romaneio,romaneio_erplinux,nome_situacao\",\"query\":{\"select\":\"* from view_romaneios\",\"where\":{\"and\":{\"texto_digitado\":{\"left\":\"(unaccent(LOWER(concat(id_romaneio,` `,romaneio_erplinux,` `,descricao_romaneio))) ilike `%\",\"right\":\"%`) and (participante=`1`)\"}}},\"order\":\"id_romaneio desc\"}}"
      }
    }
  },
  "graficos": {
    "1": {
      "data": {
        "Cilindros": {
          "type": "bar",
          "name": "Cilindros",
          "x": "descricao_produto",
          "y": "total",
          "texttemplate": "%{y}"
        },
        "KG": {
          "type": "bar",
          "name": "KG",
          "x": "descricao_produto",
          "y": "kg"
        },
        "M3": {
          "type": "bar",
          "name": "M3",
          "x": "descricao_produto",
          "y": "m3"
        }
      },
      "layout": {
        "title": {
          "text": "Estoque por produto"
        }
      }
    },
    "2": {
      "data": {
        "Cilindros": {
          "type": "bar",
          "name": "Cilindros",
          "x": "descricao_produto",
          "y": "total",
          "texttemplate": "%{y}"
        },
        "KG": {
          "type": "bar",
          "name": "KG",
          "x": "descricao_produto",
          "y": "kg"
        },
        "M3": {
          "type": "bar",
          "name": "M3",
          "x": "descricao_produto",
          "y": "m3"
        }
      },
      "layout": {
        "title": {
          "text": "Estoque por produto"
        }
      }
    },
    "3": {
      "data": {
        "Cilindros": {
          "type": "bar",
          "name": "Cilindros",
          "x": "descricao_produto",
          "y": "total",
          "texttemplate": "%{y}"
        },
        "KG": {
          "type": "bar",
          "name": "KG",
          "x": "descricao_produto",
          "y": "kg"
        },
        "M3": {
          "type": "bar",
          "name": "M3",
          "x": "descricao_produto",
          "y": "m3"
        }
      },
      "layout": {
        "title": {
          "text": "Estoque por produto"
        }
      }
    },
    "4": {
      "data": {
        "Cilindros": {
          "type": "bar",
          "name": "Cilindros",
          "x": "descricao_produto",
          "y": "total",
          "texttemplate": "%{y}"
        },
        "KG": {
          "type": "bar",
          "name": "KG",
          "x": "descricao_produto",
          "y": "kg"
        },
        "M3": {
          "type": "bar",
          "name": "M3",
          "x": "descricao_produto",
          "y": "m3"
        }
      },
      "layout": {
        "title": {
          "text": "Estoque por produto"
        }
      }
    },
    "5": {
      "data": {
        "Cilindros": {
          "type": "bar",
          "name": "Cilindros",
          "x": "descricao_produto",
          "y": "total",
          "texttemplate": "%{y}"
        },
        "KG": {
          "type": "bar",
          "name": "KG",
          "x": "descricao_produto",
          "y": "kg"
        },
        "M3": {
          "type": "bar",
          "name": "M3",
          "x": "descricao_produto",
          "y": "m3"
        }
      },
      "layout": {
        "title": {
          "text": "Estoque por produto"
        }
      }
    },
    "6": {
      "data": {
        "Cilindros": {
          "type": "bar",
          "name": "Cilindros",
          "x": "descricao_produto",
          "y": "total",
          "texttemplate": "%{y}"
        },
        "KG": {
          "type": "bar",
          "name": "KG",
          "x": "descricao_produto",
          "y": "kg"
        },
        "M3": {
          "type": "bar",
          "name": "M3",
          "x": "descricao_produto",
          "y": "m3"
        }
      },
      "layout": {
        "title": {
          "text": "Estoque por produto"
        }
      }
    },
    "7": {
      "data": {
        "Cilindros": {
          "type": "bar",
          "name": "Cilindros",
          "x": "descricao_produto",
          "y": "total",
          "texttemplate": "%{y}"
        },
        "KG": {
          "type": "bar",
          "name": "KG",
          "x": "descricao_produto",
          "y": "kg"
        },
        "M3": {
          "type": "bar",
          "name": "M3",
          "x": "descricao_produto",
          "y": "m3"
        }
      },
      "layout": {
        "title": {
          "text": "Estoque por produto"
        }
      }
    },
    "8": {
      "data": {
        "Cilindros": {
          "type": "bar",
          "name": "Cilindros",
          "x": "descricao_produto",
          "y": "total",
          "texttemplate": "%{y}"
        },
        "KG": {
          "type": "bar",
          "name": "KG",
          "x": "descricao_produto",
          "y": "kg"
        },
        "M3": {
          "type": "bar",
          "name": "M3",
          "x": "descricao_produto",
          "y": "m3"
        }
      },
      "layout": {
        "title": {
          "text": "Estoque por produto"
        }
      }
    }
  },
  "dashboard": {
    "enabled": true,
    "theme": "modern",
    "layout": "free",
    "auto_refresh": true,
    "header": {
      "logo": {
        "src": "img/ondevou_plataforma.png",
        "alt": "OndeVou Plataforma",
        "class": "dashboard-logo-img"
      },
      "title": "📋 ESTOQUE POR ROMANEIOS",
      "subtitle": "Análise consolidada do estoque por romaneio, produto e situação",
      "filters_area": {
        "container_id": "dashboard-filters-area",
        "empty_message": "Sem filtros"
      },
      "actions": [
        {
          "type": "button",
          "container_id": "dashboard-atualizar-dados",
          "class": "dashboard-btn dashboard-btn-sm dashboard-btn-primary",
          "icon": "fas fa-sync-alt",
          "text": "Atualizar",
          "action": "dashboard_refreshData",
          "title": "Atualizar Dados"
        },
        {
          "type": "button",
          "container_id": "dashboard-voltar-dados",
          "class": "dashboard-btn dashboard-btn-sm dashboard-btn-outline",
          "icon": "fas fa-table",
          "text": "Voltar para dados",
          "action": "voltarParaDadosFromDashboard",
          "title": "Voltar para dados"
        },
        {
          "type": "button",
          "container_id": "dashboard-auto-refresh",
          "class": "dashboard-btn dashboard-btn-sm dashboard-btn-info",
          "icon": "fas fa-clock",
          "text": "Auto-Refresh",
          "action": "dashboard_toggleAutoRefresh",
          "title": "Alternar escuta automática de dados"
        }
      ]
    },
    "sections": {
      "bloco1_resumo_estoque": {
        "type": "summary_cards_full",
        "title": "RESUMO EXECUTIVO - ESTOQUE",
        "icon": "📊",
        "class": "dashboard-section dashboard-section-full-width",
        "config": {
          "container_id": "cards-resumo-estoque",
          "size": "full",
          "cards": [
            {
              "title": "TOTAL CILINDROS",
              "value": "SUM:total",
              "format": "numero",
              "decimals": 0,
              "suffix": " cil",
              "icon": "🏭",
              "color": "#3b82f6"
            },
            {
              "title": "CILINDROS CHEIOS",
              "value": "SUM:total_cheio",
              "format": "numero",
              "decimals": 0,
              "suffix": " cil",
              "icon": "🟢",
              "color": "#22c55e"
            },
            {
              "title": "% OCUPAÇÃO",
              "value": "CALC:(sum(total_cheio)/sum(total))*100",
              "format": "numero",
              "decimals": 1,
              "suffix": "%",
              "icon": "📊",
              "color": "#22c55e"
            },
            {
              "title": "CILINDROS VAZIOS",
              "value": "SUM:total_vazio",
              "format": "numero",
              "decimals": 0,
              "suffix": " cil",
              "icon": "🔴",
              "color": "#ef4444"
            },
            {
              "title": "% VAZIOS",
              "value": "CALC:(sum(total_vazio)/sum(total))*100",
              "format": "numero",
              "decimals": 1,
              "suffix": "%",
              "icon": "📉",
              "color": "#ef4444"
            },
            {
              "title": "TOTAL KG",
              "value": "SUM:kg",
              "filters": "kg > 0",
              "format": "numero",
              "decimals": 2,
              "suffix": " kg",
              "icon": "⚖️",
              "color": "#f97316"
            },
            {
              "title": "TOTAL M³",
              "value": "SUM:m3",
              "filters": "m3 > 0",
              "format": "numero",
              "decimals": 2,
              "suffix": " m³",
              "icon": "📦",
              "color": "#22c55e"
            },
            {
              "title": "ENTRADAS",
              "value": "SUM:entrada",
              "format": "numero",
              "decimals": 0,
              "suffix": " cil",
              "icon": "📥",
              "color": "#3b82f6"
            },
            {
              "title": "SAÍDAS",
              "value": "SUM:saida",
              "format": "numero",
              "decimals": 0,
              "suffix": " cil",
              "icon": "📤",
              "color": "#ef4444"
            },
            {
              "title": "PRODUTOS EM ESTOQUE",
              "value": "COUNT_DISTINCT:descricao_produto",
              "format": "numero",
              "decimals": 0,
              "icon": "📦",
              "color": "#f97316"
            }
          ]
        }
      },
      "bloco2_metricas_movimentacao": {
        "type": "summary_cards_grid",
        "title": "MÉTRICAS DE MOVIMENTAÇÃO",
        "icon": "📊",
        "class": "dashboard-section dashboard-section-full-width",
        "config": {
          "container_id": "cards-metricas-movimentacao",
          "size": "full",
          "sections": [
            {
              "title": "MOVIMENTAÇÃO",
              "cards": [
                {
                  "title": "SALDO MÉDIO",
                  "value": "AVG:total",
                  "format": "numero",
                  "decimals": 0,
                  "suffix": " cil",
                  "icon": "⚖️",
                  "color": "#3b82f6"
                },
                {
                  "title": "ROTATIVIDADE",
                  "value": "CALC:(sum(saida)/sum(total))*100",
                  "format": "numero",
                  "decimals": 1,
                  "suffix": "%",
                  "icon": "🔄",
                  "color": "#f97316"
                },
                {
                  "title": "ENTRADA x SAÍDA",
                  "value": "CALC:sum(entrada)/sum(saida)",
                  "format": "numero",
                  "decimals": 2,
                  "icon": "⚖️",
                  "color": "#22c55e"
                }
              ]
            },
            {
              "title": "MÉDIAS",
              "cards": [
                {
                  "title": "KG MÉDIO",
                  "value": "AVG:kg",
                  "filters": "kg > 0",
                  "format": "numero",
                  "decimals": 1,
                  "suffix": " kg",
                  "icon": "⚖️",
                  "color": "#f97316"
                },
                {
                  "title": "M³ MÉDIO",
                  "value": "AVG:m3",
                  "filters": "m3 > 0",
                  "format": "numero",
                  "decimals": 1,
                  "suffix": " m³",
                  "icon": "📦",
                  "color": "#22c55e"
                },
                {
                  "title": "CILINDROS/PRODUTO",
                  "value": "CALC:sum(total)/count_distinct(descricao_produto)",
                  "format": "numero",
                  "decimals": 1,
                  "suffix": " cil",
                  "icon": "📊",
                  "color": "#a855f7"
                }
              ]
            },
            {
              "title": "MÁXIMOS",
              "cards": [
                {
                  "title": "MAIOR ENTRADA",
                  "value": "MAX:entrada",
                  "format": "numero",
                  "decimals": 0,
                  "suffix": " cil",
                  "icon": "📈",
                  "color": "#3b82f6"
                },
                {
                  "title": "MAIOR SAÍDA",
                  "value": "MAX:saida",
                  "format": "numero",
                  "decimals": 0,
                  "suffix": " cil",
                  "icon": "📈",
                  "color": "#ef4444"
                },
                {
                  "title": "MAIOR KG",
                  "value": "MAX:kg",
                  "filters": "kg > 0",
                  "format": "numero",
                  "decimals": 0,
                  "suffix": " kg",
                  "icon": "📈",
                  "color": "#f97316"
                }
              ]
            }
          ]
        }
      },
      "bloco3_top_produtos": {
        "type": "summary_cards_grid",
        "title": "TOP PRODUTOS EM ESTOQUE",
        "icon": "🏆",
        "class": "dashboard-section dashboard-section-full-width",
        "config": {
          "container_id": "cards-top-produtos",
          "size": "full",
          "sections": [
            {
              "title": "RANKING PRODUTOS",
              "cards": [
                {
                  "title": "PRODUTO COM MAIS ESTOQUE",
                  "group_by": "descricao_produto",
                  "value": "METRICA_AGRUPAMENTO:maior_grupo",
                  "format": "texto",
                  "icon": "🥇",
                  "color": "#f1c40f"
                },
                {
                  "title": "SEGUNDO LUGAR",
                  "group_by": "descricao_produto",
                  "value": "METRICA_AGRUPAMENTO:segundo",
                  "format": "texto",
                  "icon": "🥈",
                  "color": "#95a5a6"
                },
                {
                  "title": "TERCEIRO LUGAR",
                  "group_by": "descricao_produto",
                  "value": "METRICA_AGRUPAMENTO:terceiro",
                  "format": "texto",
                  "icon": "🥉",
                  "color": "#d35400"
                },
                {
                  "title": "PRODUTOS EM ESTOQUE",
                  "group_by": "descricao_produto",
                  "value": "METRICA_AGRUPAMENTO:total_grupos",
                  "format": "numero",
                  "decimals": 0,
                  "icon": "📦",
                  "color": "#3498db"
                }
              ]
            },
            {
              "title": "ANÁLISE POR TIPO",
              "cards": [
                {
                  "title": "TIPOS DE GÁS",
                  "group_by": "nome_tipo",
                  "value": "METRICA_AGRUPAMENTO:total_grupos",
                  "format": "numero",
                  "decimals": 0,
                  "icon": "🧪",
                  "color": "#3498db"
                },
                {
                  "title": "TIPO COM MAIS ESTOQUE",
                  "group_by": "nome_tipo",
                  "value": "METRICA_AGRUPAMENTO:maior_grupo",
                  "format": "texto",
                  "icon": "📈",
                  "color": "#2ecc71"
                },
                {
                  "title": "TIPO MAIS FREQUENTE",
                  "group_by": "nome_tipo",
                  "value": "METRICA_AGRUPAMENTO:moda",
                  "format": "texto",
                  "icon": "📊",
                  "color": "#e67e22"
                }
              ]
            },
            {
              "title": "ANÁLISE POR APLICAÇÃO",
              "cards": [
                {
                  "title": "APLICAÇÕES",
                  "group_by": "nome_aplicacao",
                  "value": "METRICA_AGRUPAMENTO:total_grupos",
                  "format": "numero",
                  "decimals": 0,
                  "icon": "🎯",
                  "color": "#9b59b6"
                },
                {
                  "title": "APLICAÇÃO PRINCIPAL",
                  "group_by": "nome_aplicacao",
                  "value": "METRICA_AGRUPAMENTO:maior_grupo",
                  "format": "texto",
                  "icon": "📊",
                  "color": "#e67e22"
                }
              ]
            },
            {
              "title": "ANÁLISE POR CAPACIDADE",
              "cards": [
                {
                  "title": "CAPACIDADES",
                  "group_by": "nome_capacidade",
                  "value": "METRICA_AGRUPAMENTO:total_grupos",
                  "format": "numero",
                  "decimals": 0,
                  "icon": "📏",
                  "color": "#1abc9c"
                },
                {
                  "title": "CAPACIDADE MAIS USADA",
                  "group_by": "nome_capacidade",
                  "value": "METRICA_AGRUPAMENTO:maior_grupo",
                  "format": "texto",
                  "icon": "📏",
                  "color": "#f39c12"
                }
              ]
            }
          ]
        }
      },
      "bloco4_ranking_produtos": {
        "type": "charts_grid_section",
        "title": "RANKING DE ESTOQUE POR PRODUTO",
        "icon": "📈",
        "class": "dashboard-section dashboard-section-full-width",
        "grid_class": "dashboard-section-grid-3",
        "config": {
          "container_id": "ranking-produtos-grid",
          "charts": [
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-ranking-cilindros",
                "data_config": {
                  "group_by": "descricao_produto",
                  "operation": "SUM:total"
                },
                "display_config": {
                  "title": "🏭 Total em Estoque (cil)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "completo",
                  "decimals": 0,
                  "suffix": " cil",
                  "height": "500px",
                  "color": "#3b82f6",
                  "sort_by": "value",
                  "sort_order": "DESC",
                  "limit": 15
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-ranking-kg",
                "data_config": {
                  "group_by": "descricao_produto",
                  "operation": "SUM:kg",
                  "filters": "kg > 0"
                },
                "display_config": {
                  "title": "⚖️ Peso em Estoque (kg)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "completo",
                  "decimals": 0,
                  "suffix": " kg",
                  "height": "500px",
                  "color": "#f97316",
                  "sort_by": "value",
                  "sort_order": "DESC",
                  "limit": 15
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-ranking-m3",
                "data_config": {
                  "group_by": "descricao_produto",
                  "operation": "SUM:m3",
                  "filters": "m3 > 0"
                },
                "display_config": {
                  "title": "📦 Volume em Estoque (m³)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "completo",
                  "decimals": 0,
                  "suffix": " m³",
                  "height": "500px",
                  "color": "#22c55e",
                  "sort_by": "value",
                  "sort_order": "DESC",
                  "limit": 15
                }
              }
            }
          ]
        }
      },
      "bloco5_ranking_movimentacao": {
        "type": "charts_grid_section",
        "title": "RANKING DE MOVIMENTAÇÃO",
        "icon": "📊",
        "class": "dashboard-section dashboard-section-full-width",
        "grid_class": "dashboard-section-grid-3",
        "config": {
          "container_id": "ranking-movimentacao-grid",
          "charts": [
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-ranking-entrada",
                "data_config": {
                  "group_by": "descricao_produto",
                  "operation": "SUM:entrada"
                },
                "display_config": {
                  "title": "📥 Entradas (cil)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "completo",
                  "decimals": 0,
                  "suffix": " cil",
                  "height": "450px",
                  "color": "#3b82f6",
                  "sort_by": "value",
                  "sort_order": "DESC",
                  "limit": 15
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-ranking-saida",
                "data_config": {
                  "group_by": "descricao_produto",
                  "operation": "SUM:saida"
                },
                "display_config": {
                  "title": "📤 Saídas (cil)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "completo",
                  "decimals": 0,
                  "suffix": " cil",
                  "height": "450px",
                  "color": "#ef4444",
                  "sort_by": "value",
                  "sort_order": "DESC",
                  "limit": 15
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-ranking-saldo",
                "data_config": {
                  "group_by": "descricao_produto",
                  "operation": "SUM:total"
                },
                "display_config": {
                  "title": "📊 Saldo Final (cil)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "completo",
                  "decimals": 0,
                  "suffix": " cil",
                  "height": "450px",
                  "color": "#22c55e",
                  "sort_by": "value",
                  "sort_order": "DESC",
                  "limit": 15
                }
              }
            }
          ]
        }
      },
      "bloco6_analise_tipo_gas": {
        "type": "charts_grid_section",
        "title": "ANÁLISE POR TIPO DE GÁS",
        "icon": "🧪",
        "class": "dashboard-section dashboard-section-full-width",
        "grid_class": "dashboard-section-grid-3",
        "config": {
          "container_id": "analise-tipo-gas-grid",
          "charts": [
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-tipo-cilindros",
                "data_config": {
                  "group_by": "nome_tipo",
                  "operation": "SUM:total"
                },
                "display_config": {
                  "title": "🏭 Total em Estoque (cil)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "capitalizado",
                  "decimals": 0,
                  "suffix": " cil",
                  "height": "400px",
                  "color": "#3b82f6",
                  "sort_by": "value",
                  "sort_order": "DESC"
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-tipo-kg",
                "data_config": {
                  "group_by": "nome_tipo",
                  "operation": "SUM:kg",
                  "filters": "kg > 0"
                },
                "display_config": {
                  "title": "⚖️ Peso em Estoque (kg)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "capitalizado",
                  "decimals": 0,
                  "suffix": " kg",
                  "height": "400px",
                  "color": "#f97316",
                  "sort_by": "value",
                  "sort_order": "DESC"
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-tipo-m3",
                "data_config": {
                  "group_by": "nome_tipo",
                  "operation": "SUM:m3",
                  "filters": "m3 > 0"
                },
                "display_config": {
                  "title": "📦 Volume em Estoque (m³)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "capitalizado",
                  "decimals": 0,
                  "suffix": " m³",
                  "height": "400px",
                  "color": "#22c55e",
                  "sort_by": "value",
                  "sort_order": "DESC"
                }
              }
            }
          ]
        }
      },
      "bloco7_analise_aplicacao": {
        "type": "charts_grid_section",
        "title": "ANÁLISE POR APLICAÇÃO",
        "icon": "🎯",
        "class": "dashboard-section dashboard-section-full-width",
        "grid_class": "dashboard-section-grid-3",
        "config": {
          "container_id": "analise-aplicacao-grid",
          "charts": [
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-aplicacao-cilindros",
                "data_config": {
                  "group_by": "nome_aplicacao",
                  "operation": "SUM:total"
                },
                "display_config": {
                  "title": "🏭 Total em Estoque (cil)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "capitalizado",
                  "decimals": 0,
                  "suffix": " cil",
                  "height": "400px",
                  "color": "#8b5cf6",
                  "sort_by": "value",
                  "sort_order": "DESC"
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-aplicacao-kg",
                "data_config": {
                  "group_by": "nome_aplicacao",
                  "operation": "SUM:kg",
                  "filters": "kg > 0"
                },
                "display_config": {
                  "title": "⚖️ Peso em Estoque (kg)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "capitalizado",
                  "decimals": 0,
                  "suffix": " kg",
                  "height": "400px",
                  "color": "#ec4899",
                  "sort_by": "value",
                  "sort_order": "DESC"
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-aplicacao-m3",
                "data_config": {
                  "group_by": "nome_aplicacao",
                  "operation": "SUM:m3",
                  "filters": "m3 > 0"
                },
                "display_config": {
                  "title": "📦 Volume em Estoque (m³)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "capitalizado",
                  "decimals": 0,
                  "suffix": " m³",
                  "height": "400px",
                  "color": "#14b8a6",
                  "sort_by": "value",
                  "sort_order": "DESC"
                }
              }
            }
          ]
        }
      },
      "bloco8_analise_capacidade": {
        "type": "charts_grid_section",
        "title": "ANÁLISE POR CAPACIDADE",
        "icon": "📏",
        "class": "dashboard-section dashboard-section-full-width",
        "grid_class": "dashboard-section-grid-3",
        "config": {
          "container_id": "analise-capacidade-grid",
          "charts": [
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-capacidade-cilindros",
                "data_config": {
                  "group_by": "nome_capacidade",
                  "operation": "SUM:total"
                },
                "display_config": {
                  "title": "🏭 Total em Estoque (cil)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "capitalizado",
                  "decimals": 0,
                  "suffix": " cil",
                  "height": "400px",
                  "color": "#f59e0b",
                  "sort_by": "value",
                  "sort_order": "DESC"
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-capacidade-kg",
                "data_config": {
                  "group_by": "nome_capacidade",
                  "operation": "SUM:kg",
                  "filters": "kg > 0"
                },
                "display_config": {
                  "title": "⚖️ Peso em Estoque (kg)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "capitalizado",
                  "decimals": 0,
                  "suffix": " kg",
                  "height": "400px",
                  "color": "#f97316",
                  "sort_by": "value",
                  "sort_order": "DESC"
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-capacidade-m3",
                "data_config": {
                  "group_by": "nome_capacidade",
                  "operation": "SUM:m3",
                  "filters": "m3 > 0"
                },
                "display_config": {
                  "title": "📦 Volume em Estoque (m³)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "capitalizado",
                  "decimals": 0,
                  "suffix": " m³",
                  "height": "400px",
                  "color": "#22c55e",
                  "sort_by": "value",
                  "sort_order": "DESC"
                }
              }
            }
          ]
        }
      },
      "bloco9_analise_cheios_vazios": {
        "type": "charts_grid_section",
        "title": "ANÁLISE DE CHEIOS x VAZIOS",
        "icon": "📊",
        "class": "dashboard-section dashboard-section-full-width",
        "grid_class": "dashboard-section-grid-3",
        "config": {
          "container_id": "analise-cheios-vazios-grid",
          "charts": [
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-cheios-vazios-cil",
                "data_config": {
                  "group_by": "descricao_produto",
                  "operation": "CALC:sum(total_cheio)/sum(total)*100"
                },
                "display_config": {
                  "title": "📊 Taxa de Ocupação (%)",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "completo",
                  "decimals": 1,
                  "suffix": "%",
                  "height": "450px",
                  "color": "#22c55e",
                  "sort_by": "value",
                  "sort_order": "DESC",
                  "limit": 15
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-cheios-vazios-kg",
                "data_config": {
                  "group_by": "descricao_produto",
                  "operation": "SUM:kg",
                  "filters": "kg > 0"
                },
                "display_config": {
                  "title": "⚖️ Peso Cheios x Vazios",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "completo",
                  "decimals": 0,
                  "suffix": " kg",
                  "height": "450px",
                  "color": "#f97316",
                  "sort_by": "value",
                  "sort_order": "DESC",
                  "limit": 15
                }
              }
            },
            {
              "type": "chart_bar_aggregated",
              "config": {
                "container_id": "graf-cheios-vazios-m3",
                "data_config": {
                  "group_by": "descricao_produto",
                  "operation": "SUM:m3",
                  "filters": "m3 > 0"
                },
                "display_config": {
                  "title": "📦 Volume Cheios x Vazios",
                  "layout": "ranking",
                  "format": "numero",
                  "format_legend": "completo",
                  "decimals": 0,
                  "suffix": " m³",
                  "height": "450px",
                  "color": "#22c55e",
                  "sort_by": "value",
                  "sort_order": "DESC",
                  "limit": 15
                }
              }
            }
          ]
        }
      }
    }
  },
  "url_documentacao": "/docs/ondevou-db-view_cilindros_romaneios_estoque_atual.html",
  "nome_tabela": "view_cilindros_romaneios_estoque_atual"
}

📝 SQL CREATE TABLE - Estrutura Completa

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

🏗️ Estrutura Completa

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

CREATE TABLE public.view_cilindros_romaneios_estoque_atual (
    order bigint,
    id integer,
    tipo_id text,
    entrada numeric,
    saida numeric,
    total numeric,
    id_etiqueta_avulsa integer,
    id_cilindro integer,
    referencia_cilindro varchar(255),
    participante integer,
    descricao_produto text,
    id_tipo integer,
    nome_tipo varchar(255),
    id_aplicacao integer,
    nome_aplicacao varchar(255),
    id_capacidade integer,
    nome_capacidade varchar(255),
    id_unidade_capacidade integer,
    nome_unidade_capacidade varchar(255),
    id_situacao integer,
    nome_situacao varchar(255),
    id_localizacao integer,
    nome_localizacao varchar(255)
);

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
descricao_produto text text ✅ OK
entrada number numeric ✅ OK
id number integer ✅ OK
id_aplicacao - integer ❌ Só no banco
id_capacidade - integer ❌ Só no banco
id_cilindro number integer ✅ OK
id_etiqueta_avulsa number integer ✅ OK
id_localizacao - integer ❌ Só no banco
id_situacao - integer ❌ Só no banco
id_tipo - integer ❌ Só no banco
id_unidade_capacidade - integer ❌ Só no banco
kg number - ⚠️ Só no JSON
m3 number - ⚠️ Só no JSON
nome_aplicacao number character varying ✅ OK
nome_capacidade number character varying ✅ OK
nome_localizacao number character varying ✅ OK
nome_situacao number character varying ✅ OK
nome_tipo number character varying ✅ OK
nome_tipo,nome_aplicacao text - ⚠️ Só no JSON
nome_tipo,nome_aplicacao,nome_capacidade text - ⚠️ Só no JSON
nome_tipo,nome_aplicacao,nome_unidade_capacidade text - ⚠️ Só no JSON
nome_unidade_capacidade number character varying ✅ OK
order - bigint ❌ Só no banco
participante - integer ❌ Só no banco
referencia_cilindro - character varying ❌ Só no banco
saida number numeric ✅ OK
tipo_id - text ❌ Só no banco
total number numeric ✅ OK
total_cheio number - ⚠️ Só no JSON
total_vazio number - ⚠️ 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_view_cilindros_romaneios_estoque_atual WHERE participante = ${globais.dados_fixo.participante}`,
    'view': 'view_view_cilindros_romaneios_estoque_atual'
});

// 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': 'view_cilindros_romaneios_estoque_atual' });

// 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