Mejora en la Generación de CFDI: Corrección en el Enlace XML

GitHub commit banner

Mejora en la Generación de CFDI: Corrección en el Enlace XML

En este commit, nuestro desarrollador ha llevado a cabo una corrección importante en el controlador SellsController.php para mejorar la generación de Certificados Fiscales Digitales por Internet (CFDI). La corrección se centra en la creación de un enlace XML más preciso.

📁 julio101290/boilerplateSells

🔧 Commit  6b3bab4b

Correction link XML CFDI

📁 Repositorio julio101290/boilerplateSells
🔑 SHA 6b3bab4be8e00df942485831d8ab100db0f3bdce
✍️ Autor Julio Cesar Leyva Rodriguez <juliocesarleyvarodriguez@hotmail.com>
🕐 Fecha 2026-06-08T19:31:26Z
📊 Cambios 1 archivo(s)  ·  +24   -7  ·  31 líneas

📂 Archivos modificados (1)

📄 src/Controllers/SellsController.php ✏️ modificado +24 -7
🖥️ Diff — PHP
@@ -305,13 +305,8 @@ public function sellsReport($idEmpresa = 0
$searchValue = $this->request->getVar('search')['value'] ?? '';
$order = $this->request->getVar('order');
$columns = $this->request->getVar('columns');
-
-
// Parámetros personalizados para filtrar
-
-
-
// Obtener query base sin paginar
$queryBuilder = $this->sells->mdlVentasPorProductos(
$idEmpresa, $idSucursal, $idProducto,
@@ -513,7 +508,7 @@ public function getXMLEnlazados($uuidVenta) {
// === WHERE principal ===
$builder->where('a.idDocumento', $datosVenta["id"]);
- $builder->where('a.idDocumento', "ven");
+ $builder->where('a.tipo', "ven");
// === Total sin filtro ===
$total = $builder->countAllResults(false); // no reset
@@ -526,7 +521,7 @@ public function getXMLEnlazados($uuidVenta) {
}
$builder->groupEnd();
}
-
+ //log_message('debug', $builder->getCompiledSelect());
// === Total filtrado ===
$filtered = $builder->countAllResults(false);
@@ -544,6 +539,8 @@ public function getXMLEnlazados($uuidVenta) {
// === Ejecutar y devolver ===
$query = $builder->get();
$data = $query->getResultArray();
+
+
return $this->response->setJSON([
'draw' => intval($request->getPost('draw')),
@@ -655,6 +652,26 @@ public function editSell($uuid) {
$sell = $this->sells->mdlGetSellUUID($uuid, $empresasID);
+
+
+ /**
+ * Verificamos que no tenga enlazado XML
+ */
+ if ($this->xmlEnlace->select("*")->where("idDocumento", $sell["id"])->countAllResults() > 0) {
+
+ $this->sells->db->transRollback();
+ return $this->failNotFound('La Venta no se puede eliminar por que ya tiene timbre enlazado');
+ }
+
+ /**
+ * Verificamos que no tenga Pagos Enlazados
+ */
+ if ($this->payments->select("*")->where("idSell", $sell["id"])->countAllResults() > 0) {

… diff truncado a 60 líneas

🔗 Ver commit completo en GitHub →

⚡ César Systems — Blog técnico automatizado

Comentarios

Entradas populares