tawasuyu

tawasuyu/brahman

Rust 582TOML 222Markdown 83JSON 198635 Definiciones

⎇ main examples/nakui-modules/sales_orders/module.json JSON · 65 líneas · 2.8 KB Historia crudo

feat(nakui): metainterfaz declarativa + 6 modulos ERP estandar 06c4fb913 · Sergio ·

1{
2  "id": "sales_orders",
3  "label": "Ventas",
4  "description": "Órdenes de venta y sus líneas.",
5  "entities": [
6    {
7      "name": "sales_order",
8      "label": "Orden de venta",
9      "fields": [
10        { "name": "order_number", "label": "Número", "kind": "text", "required": true },
11        { "name": "customer_name", "label": "Cliente", "kind": "text", "required": true },
12        { "name": "issued_at", "label": "Fecha de emisión", "kind": "date", "required": true },
13        { "name": "due_at", "label": "Fecha de vencimiento", "kind": "date" },
14        { "name": "status", "label": "Estado", "kind": "text", "required": true, "default": "draft", "help": "draft / confirmed / shipped / closed / cancelled" },
15        { "name": "subtotal", "label": "Subtotal", "kind": "number", "default": "0" },
16        { "name": "tax", "label": "Impuestos", "kind": "number", "default": "0" },
17        { "name": "total", "label": "Total", "kind": "number", "default": "0" },
18        { "name": "notes", "label": "Notas", "kind": "multiline" }
19      ]
20    }
21  ],
22  "menu": [
23    { "label": "Órdenes", "view": "list", "icon": "🧾" },
24    { "label": "Nueva orden", "view": "form", "icon": "✚" }
25  ],
26  "views": {
27    "list": {
28      "kind": "list",
29      "title": "Órdenes de venta",
30      "entity": "sales_order",
31      "columns": [
32        { "field": "order_number", "label": "N°", "weight": 0.8 },
33        { "field": "customer_name", "label": "Cliente", "weight": 2.0 },
34        { "field": "issued_at", "label": "Emitida", "weight": 1.0 },
35        { "field": "status", "label": "Estado", "weight": 0.8 },
36        { "field": "total", "label": "Total", "weight": 1.0 }
37      ],
38      "actions": [
39        { "kind": "open_view", "view": "form", "label": "✚ Nueva orden" }
40      ],
41      "search_in": ["order_number", "customer_name"]
42    },
43    "form": {
44      "kind": "form",
45      "title": "Nueva orden de venta",
46      "entity": "sales_order",
47      "fields": [
48        { "name": "order_number", "label": "Número de orden", "kind": "text", "required": true },
49        { "name": "customer_name", "label": "Cliente", "kind": "text", "required": true },
50        { "name": "issued_at", "label": "Fecha de emisión", "kind": "date", "required": true },
51        { "name": "due_at", "label": "Fecha de vencimiento", "kind": "date" },
52        { "name": "status", "label": "Estado", "kind": "text", "required": true, "default": "draft" },
53        { "name": "subtotal", "label": "Subtotal", "kind": "number", "default": "0" },
54        { "name": "tax", "label": "Impuestos", "kind": "number", "default": "0" },
55        { "name": "total", "label": "Total", "kind": "number", "default": "0" },
56        { "name": "notes", "label": "Notas", "kind": "multiline" }
57      ],
58      "on_submit": {
59        "kind": "seed_entity",
60        "entity": "sales_order",
61        "next_view": "list"
62      }
63    }
64  }
65}