← 返回
未分类 中文

SKILL para FacturaScripts

Skill completo para FacturaScripts 2025, el ERP open-source en PHP. Usa este skill SIEMPRE que el usuario mencione FacturaScripts, facturascripts, plugins de...
完整技能,适用于FacturaScripts 2025(开源PHP ERP)。当用户提及FacturaScripts、facturascripts、插件时使用此技能。
joseconti joseconti 来源
未分类 clawhub v2025.81.0 1 版本 99731.2 Key: 无需
★ 0
Stars
📥 371
下载
💾 0
安装
1
版本
#latest

概述

FacturaScripts 2025 - Skill Completo

Este skill contiene la documentacion exhaustiva de FacturaScripts 2025.81, un ERP open-source en PHP

para gestion empresarial: facturacion, contabilidad, stock, compras, ventas, CRM y mas.

Cuando usar cada referencia

Antes de escribir codigo, lee la referencia relevante segun la tarea:

TareaReferencia a leer
--------------------------
Entender como funciona FacturaScriptsreferences/architecture.md (2374 lineas)
Crear un plugin nuevoreferences/plugins.md (2089 lineas)
Trabajar con modelos (datos, CRUD)references/models.md (1135 lineas)
Crear o modificar controladoresreferences/controllers.md (1721 lineas) + references/controllers-advanced.md (713 lineas)
Crear o modificar vistas/formulariosreferences/views-widgets.md (2787 lineas)
Conectar con la API RESTreferences/api.md (2811 lineas)
Trabajar con base de datosreferences/database.md (2649 lineas)
Exportacion, PDF, email, contabilidadreferences/libraries.md (944 lineas)
Usuarios, roles, permisos, seguridadreferences/security.md (1840 lineas)
Traducciones e internacionalizacionreferences/translations.md (1181 lineas)
Consulta rapida de metodos y clasesreferences/quick-reference.md (454 lineas)

Para la mayoria de tareas de desarrollo de plugins, lee references/plugins.md primero

y luego las referencias especificas que necesites.

Si la tarea involucra crear un MCP Server para conectar con FacturaScripts, lee

references/api.md que incluye una seccion completa sobre como crear un MCP Server

con herramientas basadas en la API REST.

Estructura de FacturaScripts 2025

facturascripts/
  index.php                  # Punto de entrada
  Core/
    Kernel.php               # Nucleo: rutas, controladores, ciclo de vida
    Plugins.php              # Gestor de plugins
    Session.php              # Sesion y autenticacion
    Request.php              # Datos HTTP de entrada
    Response.php             # Respuesta HTTP
    Cache.php                # Cache basada en archivos
    Logger.php               # Sistema de logging
    Tools.php                # Utilidades (fechas, numeros, archivos)
    Translator.php           # Sistema de traducciones
    Html.php                 # Motor Twig con funciones custom
    Http.php                 # Cliente HTTP (cURL)
    DbQuery.php              # Query builder fluent
    Where.php                # Constructor de clausulas WHERE
    WorkQueue.php            # Cola de trabajos asincronos
    Validator.php            # Validacion de datos
    Base/
      Controller.php         # Clase base de controladores
      DataBase.php           # Abstraccion BD (MySQL/PostgreSQL)
    Controller/              # 125+ controladores del core
    Model/                   # 87+ modelos de dominio
      Base/                  # Clases base (ModelCore, ModelClass, traits)
      Join/                  # Modelos virtuales (JOIN)
    Lib/
      ExtendedController/    # Controladores extendidos (List, Edit, Panel)
      Widget/                # 36 tipos de widgets
      API/                   # Sistema API REST
      ListFilter/            # 7 tipos de filtros
      AjaxForms/             # Formularios AJAX
      Export/                # Exportacion (CSV, XLS, PDF)
      PDF/                   # Generacion PDF
      Email/                 # Envio de emails
      Accounting/            # Contabilidad
    View/                    # Plantillas Twig
    XMLView/                 # 133 definiciones de vistas XML
    Table/                   # Esquemas de tablas XML
    Translation/             # Archivos de traduccion JSON
    Mod/                     # Sistema de modificadores (hooks)
    Worker/                  # Workers para cola de trabajos
  Plugins/                   # Directorio de plugins
  MyFiles/                   # Archivos generados, cache, uploads

Conceptos fundamentales

Ciclo de vida de una peticion

1. index.php carga autoloader Composer
2. CrashReport::init() - manejo de errores fatales
3. Kernel::init() - constantes, idioma, workers, plugins
4. Plugins::init() - ejecuta Init.php de cada plugin activo
5. Kernel::run($url)
   a. Sanitiza URL
   b. Carga rutas (core + MyFiles/routes.json)
   c. Busca controlador que coincida con URL
   d. Instancia controlador
   e. Ejecuta controlador->run($response, $request)
6. WorkQueue::run() - procesa trabajos pendientes
7. Telemetry::update()
8. Logger::save() - persiste logs
9. DataBase::close()

Ciclo de vida de un controlador

1. __construct() - configura getPageData()
2. run($response, $request)
   a. checkSecurity() - verifica login y permisos
   b. execPreviousAction($action) - procesa acciones del usuario
   c. loadData() - carga datos del modelo
   d. execAfterAction($action) - post-procesamiento
   e. Renderiza vista Twig

Patron MVC

  • Modelo: Clases en Core/Model/ que extienden ModelClass. Cada modelo mapea una tabla.
  • Vista: Definida en XML (Core/XMLView/) y renderizada con Twig (Core/View/). Los widgets controlan la UI.
  • Controlador: Clases en Core/Controller/ que extienden BaseController o sus variantes extendidas.

Tipos de controlador

TipoUsoClase
------------------
ListControllerListados con filtros, ordenacion, paginacionLib\ExtendedController\ListController
EditControllerFormulario de edicion de un registroLib\ExtendedController\EditController
PanelControllerFormulario con pestanas (tabs)Lib\ExtendedController\PanelController
ReportControllerInformes con filtrosLib\ExtendedController\ReportController

Estructura minima de un plugin

Plugins/MiPlugin/
  facturascripts.ini         # Metadatos del plugin
  Init.php                   # Hooks de inicializacion
  Controller/
    ListMiModelo.php         # Controladores
    EditMiModelo.php
  Model/
    MiModelo.php             # Modelos
  Table/
    mi_tabla.xml             # Esquema de tabla
  XMLView/
    ListMiModelo.xml         # Definicion de vista lista
    EditMiModelo.xml         # Definicion de vista edicion
  Translation/
    es_ES.json               # Traducciones

API REST

FacturaScripts incluye una API REST completa accesible en /api/3/. Soporta:

  • Autenticacion por API Key (header Token) o login/password
  • Operaciones CRUD sobre cualquier modelo
  • Filtros con operadores: =, gt, gte, lt, lte, neq, like, null, notnull
  • Paginacion con offset y limit
  • Recursos personalizados

Para detalles completos de cada area, consulta las referencias especificas en references/.

Reglas de desarrollo

  1. Los modelos SIEMPRE deben implementar tableName(), primaryColumn() y clear().
  2. La validacion va en test(), que se ejecuta antes de save().
  3. Los nombres de tabla usan snake_case en plural (ej: facturas_cli, productos).
  4. Los controladores List llevan prefijo List y los Edit llevan prefijo Edit.
  5. Las vistas XML deben coincidir en nombre con el controlador (ListProducto.xml para ListProducto.php).
  6. Usa Tools::lang()->trans('clave') para textos traducibles.
  7. Los plugins NO deben modificar archivos del core. Usa Mod (modificadores) para extender comportamiento.
  8. Las migraciones de BD se definen en archivos XML en Table/.
  9. Para relaciones entre modelos, usa metodos get*() (ej: getLines(), getCustomer()).
  10. El sistema de permisos se basa en Roles con acceso por pagina (controlador).

版本历史

共 1 个版本

  • v2025.81.0 当前
    2026-05-07 11:52 安全 安全

安全检测

腾讯云安全 (Keen)

安全,无风险
查看报告

腾讯云安全 (Sanbu)

安全,无风险
查看报告

🔗 相关推荐

dev-programming

CodeConductor.ai

larsonreever
AI驱动平台,提供快速全栈开发、智能体、工作流自动化及低代码AI集成的可扩展产品创建。
★ 72 📥 181,596
dev-programming

Mcporter

steipete
使用 mcporter CLI 直接列出、配置、认证及调用 MCP 服务器/工具(支持 HTTP 或 stdio),涵盖临时服务器、配置编辑及 CLI/类型生成功能。
★ 195 📥 67,485
dev-programming

Github

steipete
使用 `gh` CLI 与 GitHub 交互,通过 `gh issue`、`gh pr`、`gh run` 和 `gh api` 管理议题、PR、CI 运行及高级查询。
★ 677 📥 326,479