diff --git a/CHANGELOG.md b/CHANGELOG.md
index 1a38f42..bdc244b 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,3 +1,9 @@
+v 2.3.0 [01-Feb-2024]
+ - Mejora: Soporte para complemento Carta Porte 3.0
+ - **IMPORTANTE**: Aunque no lo uses, esto afecta al JS de facturación, por
+ lo que tienes que forzar el refresco (CTRL+F5) si tienes algún problema.
+
+
v 2.2.0 [24-Ene-2024]
- Mejora: Soporte para complemento Comercio Exterior 2.0
- **IMPORTANTE**: Aunque no lo uses, esto afecta al JS de facturación, por
diff --git a/VERSION b/VERSION
index ccbccc3..276cbf9 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-2.2.0
+2.3.0
diff --git a/source/app/controllers/util.py b/source/app/controllers/util.py
index f1cfb29..2e1220c 100644
--- a/source/app/controllers/util.py
+++ b/source/app/controllers/util.py
@@ -1355,6 +1355,7 @@ class LIBO(object):
except KeyError:
msg = 'Hoja no existe'
return (), msg
+
return cursor.getDataArray(), ''
def products(self, path):
@@ -1615,6 +1616,7 @@ class LIBO(object):
return (), msg
rows = tuple(data[1:])
+
return rows, ''
def _data_to_dict(self, rows):
diff --git a/source/app/models/main.py b/source/app/models/main.py
index ed75c0f..c9d8756 100644
--- a/source/app/models/main.py
+++ b/source/app/models/main.py
@@ -79,7 +79,6 @@ def conectar(opt):
db = {
'sqlite': SqliteDatabase,
'postgres': PostgresqlDatabase,
- 'mysql': MySQLDatabase,
}
db_type = opt.pop('type')
db_name = opt.pop('name')
diff --git a/source/app/settings.py b/source/app/settings.py
index a2458d9..190833e 100644
--- a/source/app/settings.py
+++ b/source/app/settings.py
@@ -39,7 +39,7 @@ except ImportError:
DEBUG = DEBUG
-VERSION = '2.2.0'
+VERSION = '2.3.0'
EMAIL_SUPPORT = ('soporte@empresalibre.mx',)
TITLE_APP = '{} v{}'.format(TITLE_APP, VERSION)
diff --git a/source/xslt/cadena.xslt b/source/xslt/cadena.xslt
index 218d9d2..119e79d 100644
--- a/source/xslt/cadena.xslt
+++ b/source/xslt/cadena.xslt
@@ -10,7 +10,7 @@
-
+
diff --git a/source/xslt/cartaporte30.xslt b/source/xslt/cartaporte30.xslt
new file mode 100644
index 0000000..d5fe39b
--- /dev/null
+++ b/source/xslt/cartaporte30.xslt
@@ -0,0 +1,744 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+