tawasuyu

tawasuyu/brahman

Rust 582TOML 222Markdown 73JSON 198629 Sutichaykuna

⎇ main examples/nakui-modules/inventory_movements/module.json JSON · 63 siq'ikuna · 2.7 KB Ñawpa willay ch'uya

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

1{
2  "id": "inventory_movements",
3  "label": "Inventario",
4  "description": "Movimientos de stock: entradas, salidas, ajustes.",
5  "entities": [
6    {
7      "name": "stock_movement",
8      "label": "Movimiento",
9      "fields": [
10        { "name": "occurred_at", "label": "Fecha", "kind": "date", "required": true },
11        { "name": "movement_type", "label": "Tipo", "kind": "text", "required": true, "help": "in / out / adjustment" },
12        { "name": "product_sku", "label": "SKU producto", "kind": "text", "required": true },
13        { "name": "quantity", "label": "Cantidad", "kind": "number", "required": true },
14        { "name": "unit_cost", "label": "Costo unitario", "kind": "number", "default": "0" },
15        { "name": "reason", "label": "Motivo", "kind": "text", "help": "Compra, venta, merma, ajuste por inventario..." },
16        { "name": "reference", "label": "Doc. referencia", "kind": "text", "help": "Factura, orden, conteo..." }
17      ]
18    }
19  ],
20  "menu": [
21    { "label": "Movimientos", "view": "list", "icon": "📊" },
22    { "label": "Registrar", "view": "form", "icon": "✚" }
23  ],
24  "views": {
25    "list": {
26      "kind": "list",
27      "title": "Movimientos de stock",
28      "entity": "stock_movement",
29      "columns": [
30        { "field": "occurred_at", "label": "Fecha", "weight": 1.0 },
31        { "field": "movement_type", "label": "Tipo", "weight": 0.7 },
32        { "field": "product_sku", "label": "SKU", "weight": 1.0 },
33        { "field": "quantity", "label": "Cantidad", "weight": 0.8 },
34        { "field": "unit_cost", "label": "Costo", "weight": 0.8 },
35        { "field": "reason", "label": "Motivo", "weight": 1.5 },
36        { "field": "reference", "label": "Ref.", "weight": 1.0 }
37      ],
38      "actions": [
39        { "kind": "open_view", "view": "form", "label": "✚ Registrar" }
40      ],
41      "search_in": ["product_sku", "reason", "reference"]
42    },
43    "form": {
44      "kind": "form",
45      "title": "Registrar movimiento",
46      "entity": "stock_movement",
47      "fields": [
48        { "name": "occurred_at", "label": "Fecha", "kind": "date", "required": true },
49        { "name": "movement_type", "label": "Tipo (in/out/adjustment)", "kind": "text", "required": true, "default": "in" },
50        { "name": "product_sku", "label": "SKU producto", "kind": "text", "required": true },
51        { "name": "quantity", "label": "Cantidad", "kind": "number", "required": true },
52        { "name": "unit_cost", "label": "Costo unitario", "kind": "number", "default": "0" },
53        { "name": "reason", "label": "Motivo", "kind": "text" },
54        { "name": "reference", "label": "Documento de referencia", "kind": "text" }
55      ],
56      "on_submit": {
57        "kind": "seed_entity",
58        "entity": "stock_movement",
59        "next_view": "list"
60      }
61    }
62  }
63}