feat(nakui): Fase 2 del ERP — relaciones legibles + formato
Column.ref_entity resuelve un UUID al label del record referido; Column.format (ValueFormat Number/Currency) agrupa miles y prefija símbolo. El campo entity_ref en formularios muestra el record elegido por su label, no el UUID. human_label_for_record reconoce nombre/titulo (español). El módulo CRM: las listas muestran el nombre del cliente y monto como $12,000. Helper format_value en meta-runtime. Tests en meta-schema, meta-runtime y nakui-ui verdes; clippy limpio. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
"label": "Oportunidad",
|
||||
"fields": [
|
||||
{ "name": "id", "label": "ID", "kind": "text" },
|
||||
{ "name": "cliente_id", "label": "Cliente ref", "kind": "text" },
|
||||
{ "name": "cliente_id", "label": "Cliente", "kind": "entity_ref", "ref_entity": "Cliente" },
|
||||
{ "name": "titulo", "label": "Título", "kind": "text" },
|
||||
{ "name": "monto", "label": "Monto", "kind": "number" },
|
||||
{ "name": "currency", "label": "Moneda", "kind": "text" },
|
||||
@@ -32,7 +32,7 @@
|
||||
"label": "Interacción",
|
||||
"fields": [
|
||||
{ "name": "id", "label": "ID", "kind": "text" },
|
||||
{ "name": "cliente_id", "label": "Cliente ref", "kind": "text" },
|
||||
{ "name": "cliente_id", "label": "Cliente", "kind": "entity_ref", "ref_entity": "Cliente" },
|
||||
{ "name": "canal", "label": "Canal", "kind": "text" },
|
||||
{ "name": "nota", "label": "Nota", "kind": "multiline" },
|
||||
{ "name": "timestamp", "label": "Fecha", "kind": "text" }
|
||||
@@ -85,9 +85,8 @@
|
||||
"columns": [
|
||||
{ "field": "titulo", "label": "Título", "weight": 2.5 },
|
||||
{ "field": "etapa", "label": "Etapa", "weight": 1.2 },
|
||||
{ "field": "monto", "label": "Monto", "weight": 1.0 },
|
||||
{ "field": "currency", "label": "Moneda", "weight": 0.6 },
|
||||
{ "field": "cliente_id", "label": "Cliente ref", "weight": 1.5 }
|
||||
{ "field": "monto", "label": "Monto", "weight": 1.2, "format": { "kind": "currency", "symbol": "$" } },
|
||||
{ "field": "cliente_id", "label": "Cliente", "weight": 2.0, "ref_entity": "Cliente" }
|
||||
],
|
||||
"actions": [
|
||||
{ "kind": "open_view", "view": "abrir_form", "label": "✚ Abrir oportunidad" },
|
||||
@@ -149,7 +148,7 @@
|
||||
"columns": [
|
||||
{ "field": "canal", "label": "Canal", "weight": 1.0 },
|
||||
{ "field": "nota", "label": "Nota", "weight": 3.0 },
|
||||
{ "field": "cliente_id", "label": "Cliente ref", "weight": 1.5 },
|
||||
{ "field": "cliente_id", "label": "Cliente", "weight": 2.0, "ref_entity": "Cliente" },
|
||||
{ "field": "timestamp", "label": "Fecha", "weight": 1.2 }
|
||||
],
|
||||
"actions": [
|
||||
|
||||
Reference in New Issue
Block a user