0 && $j > 0 && isset($tmp[$i]) && isset($tmp2[$j]) && $tmp[$i] == $tmp2[$j]) { $i--; $j--; } if (!$res && $i > 0 && file_exists(substr($tmp, 0, ($i + 1))."/main.inc.php")) { $res = @include substr($tmp, 0, ($i + 1))."/main.inc.php"; } if (!$res && $i > 0 && file_exists(dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php")) { $res = @include dirname(substr($tmp, 0, ($i + 1)))."/main.inc.php"; } // Try main.inc.php using relative path if (!$res && file_exists("../main.inc.php")) { $res = @include "../main.inc.php"; } if (!$res && file_exists("../../main.inc.php")) { $res = @include "../../main.inc.php"; } if (!$res && file_exists("../../../main.inc.php")) { $res = @include "../../../main.inc.php"; } if (!$res) { die("Include of main fails"); } require_once(DOL_DOCUMENT_ROOT.'/compta/facture/class/facture.class.php'); require_once(DOL_DOCUMENT_ROOT."/core/class/html.form.class.php"); require_once(DOL_DOCUMENT_ROOT."/core/class/html.formfile.class.php"); require_once(DOL_DOCUMENT_ROOT.'/core/lib/invoice.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/core/lib/files.lib.php'); require_once(DOL_DOCUMENT_ROOT.'/compta/bank/class/account.class.php'); require_once DOL_DOCUMENT_ROOT.'/compta/paiement/class/paiement.class.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/payments.lib.php'; require_once(DOL_DOCUMENT_ROOT.'/core/class/html.formfile.class.php'); dol_include_once('/cfdimx/class/societe.class.php'); dol_include_once('/cfdimx/class/pagos.class.php'); dol_include_once('/cfdimx/js/pagos.js.php'); global $db, $conf, $user, $dolibarr_main_url_root, $dolibarr_main_url_root_alt; $wscfdi = $conf->global->MAIN_MODULE_CFDIMX_WS; $zona_horaria = $conf->global->CFDIMX_HUSO_HORARIO; date_default_timezone_set($zona_horaria); $id = GETPOST('id','int'); $ref = GETPOST('ref', 'alpha'); $action = GETPOST('action'); $langs->load('bills'); $langs->load('cfdimx'); $object = new Paiement($db); $object->fetch($id, $ref); $societe_cfdi = new SocieteCFDIMX($db); $amount_header = $object->amount; $amount_multi_header = $object->multicurrency_amount; if($id == ""){ $id = $object->id; } $complemento_pagos = new ComplementoPagos($db); $complemento_pagos->id_doli = $id; $guardado = $complemento_pagos->validarComplemento(); $validacion_docs_rel = $complemento_pagos->validarDocumentosRel($id); ##Si no esta creado el registro se genera if($validacion_docs_rel == 0){ if($guardado == 0){ $aux = $complemento_pagos->setInformacionPago($id, $ref); print ''; }else{ // $aux = $complemento_pagos->setInformacionPago($id, $ref); } if($complemento_pagos->id_complemento > 0){ $complemento_pagos->fetch($complemento_pagos->id_complemento, $id); } } /* * Actions */ /********************* INICIA CONFIRM ACTIONS ***********************/ if($action == "confirm_del_cfdi_rel" && GETPOST('confirm') == "yes"){ $res = $complemento_pagos->deleteCFDIRelacionado(GETPOST("rowid_cfdi")); print ""; } if ($action == 'confirm_send_facture_mail' && GETPOST('confirm') == "yes") { // echo ""; // setEventMessage("Espere un momento el sistema se redirecciona al formulario correcto...", 'mesgs'); if(GETPOST('id_factura_seleccionada') > 0){ // print ''; $url = $dolibarr_main_url_root.$dolibarr_main_url_root_alt.'/cfdimx/facture.php?facid='.GETPOST('id_factura_seleccionada').'&action=presend&mode=init#formmailbeforetitle'; print ''; }else{ setEventMessage("Error: Debes Seleccionar una Factura.", 'errors'); $action = "presend"; } } if($action == "confirm_cancel" && GETPOST('confirm') == "yes"){ $id = GETPOST('id'); $uuid = GETPOST('uuid'); $rfc = GETPOST('rfc'); $motivo = GETPOST('motivo'); $foliosustitucion = (GETPOST("uuid_sustitucion") != '' ? trim(GETPOST("uuid_sustitucion")) : ''); // Nuevo Esquema de Cancelación 2022 $datos = array( "timbrado_usuario" => $rfc, "timbrado_password" => $complemento_pagos->conf_ws["pass_timbrado"], "uuid" => $uuid, "motivo" => $motivo, "foliosustitucion" => $foliosustitucion ); if($motivo != "" && $motivo != -1){ $validacion = 1; if($motivo == "01"){ $validacion = ($motivo == "01" && $foliosustitucion != "" ? 1 : 0); } if($validacion == 1){ $client = new nusoap_client($wscfdi, 'wsdl'); $resultado = $client->call("cancelar", $datos); if($conf->global->CFDIMX_PAGOS_DEBUG_TIMBRADO == 1){ print '
Datos
'; print_r($datos); print '
'; print '
Resultado
'; print_r($resultado); print '
'; } if($resultado["return"] != ""){ if($resultado["return"]["httpStatusCode"] == 200){ //Se guarda el acuse de cancelación en un archivo if(file_exists($conf->facture->dir_output."/".$object->ref)){ }else{ mkdir($conf->facture->dir_output."/".$object->ref,0700); } $fecha = date("Y-m-d")."_".date("H-i-s"); $archivo_acuse = "acuse_cancelacion_pago_".$fecha."_".$uuid.".xml"; $nombre_file_acuse = $conf->facture->dir_output."/".$object->ref."/".$archivo_acuse; $file_acuse = fopen ($nombre_file_acuse, "w"); fwrite($file_acuse,utf8_encode($resultado["return"]["acuse"])); fclose($file_acuse); #Inicio para guardar la respuesta a la solicitud de Cancelacion $sql_solicitud_canceacion = ""; $sql_solicitud_canceacion .= "INSERT INTO ".MAIN_DB_PREFIX."cfdimx_solicitud_cancelacion_pagos"; $sql_solicitud_canceacion .= " (fk_pago, httpStatusCode, acuse, status, uuid, uuidStatusCode, message, messageDetail, fecha, hora, archivo)"; $sql_solicitud_canceacion .= " VALUES"; $sql_solicitud_canceacion .= " ("; $sql_solicitud_canceacion .= "'.$id.',"; $sql_solicitud_canceacion .= "'".$db->escape(utf8_decode($resultado["return"]["httpStatusCode"]))."',"; $sql_solicitud_canceacion .= "'".$db->escape(utf8_decode($resultado["return"]["acuse"]))."',"; $sql_solicitud_canceacion .= "'".$db->escape(utf8_decode($resultado["return"]["status"]))."',"; $sql_solicitud_canceacion .= "'".$db->escape(utf8_decode($resultado["return"]["uuid"]))."',"; $sql_solicitud_canceacion .= "'".$db->escape(utf8_decode($resultado["return"]["uuidStatusCode"]))."',"; $sql_solicitud_canceacion .= "'".$db->escape(utf8_decode($resultado["return"]["message"]))."',"; $sql_solicitud_canceacion .= "'".$db->escape(utf8_decode($resultado["return"]["messageDetail"]))."',"; $sql_solicitud_canceacion .= " now(), now(),"; $sql_solicitud_canceacion .= "'".$db->escape(utf8_decode($archivo_acuse))."'"; $sql_solicitud_canceacion .= " )"; // print $sql_solicitud_canceacion; $res_solicitud_canceacion = $db->query($sql_solicitud_canceacion); #Termina para guardar la respuesta a la solicitud de Cancelacion print ''; }else{ $msg_cfdi_final = "Error al Cancelar El Complemento de Pagos


"; if($resultado["return"]["message"] != "") $msg_cfdi_final .= $resultado["return"]["message"]." "; if($resultado["return"]["messageDetail"] != "") $msg_cfdi_final .= $resultado["return"]["messageDetail"]; print ''; } }else{ $msg_cfdi_final = "No hay respuesta para la cancelación con el SAT, favor de intentar mas tarde."; print ''; } }else{ $msg_cfdi_final = "Error 9001: El Folio de Sustitución esta vacío y es requerido cuando el Motivo es 01 - Comprobantes emitidos con errores con relación."; print ''; } }else{ $msg_cfdi_final = "Error 9002: El Motivo de Cancelación es obligatorio."; print ''; } } if ($action == "confirm_estatus" && GETPOST('confirm') == "yes") { $sql_verificar_estatus = ""; $sql_verificar_estatus = "SELECT * FROM ".MAIN_DB_PREFIX."cfdimx_estatus"; $sql_verificar_estatus .= " WHERE uuid = '".$_REQUEST['uuid_c']."'"; $sql_verificar_estatus .= " AND entity = ".$conf->entity; $res_verificar_estatus = $db->query($sql_verificar_estatus); $num_verificar_estatus = $db->num_rows($res_verificar_estatus); $datos = array( "rfc_emisor" => $_REQUEST['emisor'], "rfc_receptor" => $_REQUEST['receptor'], "total" => 0, "uuid" => $_REQUEST['uuid_c'] ); $client = new nusoap_client($wscfdi, 'wsdl'); $result_status_factura = $client->call('getStatusFactura', $datos); $escancelable = $result_status_factura["return"]["esCancelable"]; if($result_status_factura["return"]["estatusCancelacion"] != "" && !is_null($result_status_factura["return"]["estatusCancelacion"])){ $escancelable = $result_status_factura["return"]["estatusCancelacion"]; } if($num_verificar_estatus > 0){ $obj_verificar_estatus = $db->fetch_object($res_verificar_estatus); $update_estatus = ""; $update_estatus = "UPDATE ".MAIN_DB_PREFIX."cfdimx_estatus"; $update_estatus .= " SET "; $update_estatus .= " estado = '".$db->escape(utf8_decode($result_status_factura["return"]["estado"]))."',"; $update_estatus .= " escancelable = '".$db->escape(utf8_decode($escancelable))."',"; $update_estatus .= " message = '".$db->escape(utf8_decode($result_status_factura["return"]["message"]))."',"; $update_estatus .= " fk_user = '".$user->id."',"; $update_estatus .= " fecha = now(), hora = now()"; $update_estatus .= " WHERE rowid = ".$obj_verificar_estatus->rowid; if($obj_verificar_estatus->rowid > 0){ $res_update = $db->query($update_estatus); print ''; } }else{ $estado_cfdi = $result_status_factura["return"]["estado"]; $estatus_cancelacion = $escancelable; $sql_insert = ""; $sql_insert .= " INSERT INTO ".MAIN_DB_PREFIX."cfdimx_estatus"; $sql_insert .= " ("; $sql_insert .= " uuid, facid, entity, estado, escancelable, message, fk_user, fecha, hora"; $sql_insert .= " )"; $sql_insert .= " VALUES"; $sql_insert .= " ("; $sql_insert .= "'".$_REQUEST['uuid_c']."',"; $sql_insert .= " 0,"; $sql_insert .= "'".$conf->entity."',"; $sql_insert .= "'".$db->escape(utf8_decode($result_status_factura["return"]["estado"]))."',"; $sql_insert .= "'".$db->escape(utf8_decode($escancelable))."',"; $sql_insert .= "'".$db->escape(utf8_decode($result_status_factura["return"]["message"]))."',"; $sql_insert .= "'".$user->id."',"; $sql_insert .= " now(), now()"; $sql_insert .= " )"; $res_insert = $db->query($sql_insert); print ''; } } if($action == "confirm_clasificar_pago" && GETPOST('confirm') == "yes"){ $nota = (GETPOST('close_note') != '' ? trim(GETPOST('close_note')) : 'Complemento de pago cancelado'); $sql_cancela_pago = "UPDATE ".MAIN_DB_PREFIX."paiement SET note='".$nota."' WHERE rowid = ".$id; // print $sql_cancela_pago.'
'; $res_cancela_pago = $db->query($sql_cancela_pago); $sql_cancela_rec_pago = "UPDATE ".MAIN_DB_PREFIX."cfdimx_recepcion_pagos SET cancelado = 1 WHERE fk_paiement = ".$id; // print $sql_cancela_rec_pago.'
'; $res_cancela_rec_pago = $db->query( $sql_cancela_rec_pago); print ''; } if($action == "add_doc_rel"){ $pago_static = new ComplementoPagos($db); $pago_static->id_doli = GETPOST("lista_pagos"); $pago_static->fetch(0, $pago_static->id_doli); $complemento_pagos->datos_complemento["tipo_relacion"] = GETPOST("tipo_relacion"); $complemento_pagos->cfdi_relacionado["fk_pago_rel"] = GETPOST("lista_pagos"); $complemento_pagos->cfdi_relacionado["uuid"] = $pago_static->datos_complemento["uuid"]; $res = $complemento_pagos->createCFDIRelacionado(); if($res == 0){ // setEventMessage("Se agrego el CFDI Relacionado (".$complemento_pagos->cfdi_relacionado["uuid"].").", 'mesgs'); // setEventMessage($complemento_pagos->mensaje_error, 'mesgs'); }else{ // setEventMessage($complemento_pagos->mensaje_error, 'errors'); } $_SESSION["msg_ayuda_add_cfdi"] = $complemento_pagos->mensaje_error; print ""; } if($action == "save_info_pago"){ $complemento_pagos->datos_complemento["fk_facture"] = 0; $complemento_pagos->datos_complemento["fecha_pago"] = GETPOST("fecha_pago")." ".GETPOST("hora_pago"); $complemento_pagos->datos_complemento["forma_pago"] = trim(GETPOST("forma_pago")); $complemento_pagos->datos_complemento["moneda"] = trim(GETPOST("moneda")); $complemento_pagos->datos_complemento["tipo_cambio"] = trim(GETPOST("tipocambio")); $complemento_pagos->datos_complemento["monto"] = trim(GETPOST("monto")); $complemento_pagos->datos_complemento["numero_operacion"] = trim(GETPOST("numero_operacion")); $complemento_pagos->datos_complemento["rfc_cta_ordenante"] = trim(GETPOST("rfc_cta_ordenante")); $complemento_pagos->datos_complemento["nom_banco_ordenante"] = trim(GETPOST("nom_banco_ordenante")); $complemento_pagos->datos_complemento["cta_ordenante"] = trim(GETPOST("cta_ordenante")); $complemento_pagos->datos_complemento["rfc_cta_beneficiario"] = trim(GETPOST("rfc_cta_beneficiario")); $complemento_pagos->datos_complemento["cta_beneficiario"] = trim(GETPOST("cta_beneficiario")); $complemento_pagos->datos_complemento["tipo_cadena_pago"] = trim(GETPOST("tipo_cadena_pago")); $complemento_pagos->datos_complemento["certificado_pago"] = trim(GETPOST("certificado_pago")); $complemento_pagos->datos_complemento["cadena_original_comprobante_pago"] = trim(GETPOST("cadena_original_comprobante_pago")); $complemento_pagos->datos_complemento["sello_pago"] = trim(GETPOST("sello_pago")); $res = $complemento_pagos->update(); print ""; } if($action == "save_doc_rel"){ $complemento_pagos->doc_relacionado["rowid"] = GETPOST("rowid_doc_rel"); $complemento_pagos->doc_relacionado["uuid"] = GETPOST("uuid"); $complemento_pagos->doc_relacionado["moneda"] = GETPOST("moneda"); $complemento_pagos->doc_relacionado["tipo_cambio"] = GETPOST("tipo_cambio"); $complemento_pagos->doc_relacionado["parcialidad"] = GETPOST("parcialidad"); $complemento_pagos->doc_relacionado["importe_anterior"] = GETPOST("importe_anterior"); $complemento_pagos->doc_relacionado["importe_pagado"] = GETPOST("importe_pagado"); $complemento_pagos->doc_relacionado["importe_insoluto"] = GETPOST("importe_insoluto"); if(strcmp($conf->global->CFDIMX_VERSION_SAT, "4.0") == 0){ $complemento_pagos->doc_relacionado["equivalencia"] = GETPOST("equivalencia"); // "impuestos" => array() if(!is_null(GETPOST("base")) && is_array(GETPOST("base")) && count(GETPOST("base")) > 0){ foreach (GETPOST("base") as $key => $value) { // print '
key :: '.$key.'
'; // print_r($value); // print '
'; $complemento_pagos->doc_relacionado["impuestos"][] = array( "rowid" => GETPOST("rowid_impuesto")[$key], "tipo" => GETPOST("tipo".$key), "base" => GETPOST("base")[$key], "impuesto" => GETPOST("impuesto")[$key], "tipo_factor" => GETPOST("tipo_factor")[$key], "tasa_o_cuota" => GETPOST("tasa_o_cuota")[$key], "importe" => GETPOST("importe")[$key] ); } } }else{ $complemento_pagos->doc_relacionado["metodo_pago"] = GETPOST("metodo_pago"); } $res = $complemento_pagos->updateDocumentoRel(); print ""; } if($action == "del_info_pago"){ $sql1="SELECT rowid FROM ".MAIN_DB_PREFIX."cfdimx_recepcion_pagos WHERE fk_facture=0 AND fk_paiement=".$id." AND entity=".$conf->entity; $resq=$db->query($sql1); $resultado=$db->fetch_object($resq); $del_head_pago = "DELETE FROM ".MAIN_DB_PREFIX."cfdimx_recepcion_pagos"; $del_head_pago .= " WHERE rowid =".$resultado->rowid; $res_del_head_pago = $db->query($del_head_pago); $del_pago_rel_fac = "DELETE FROM ".MAIN_DB_PREFIX."cfdimx_recepcion_pagos_relacion_facturas"; $del_pago_rel_fac .= " WHERE fk_relacion_pagos =".$resultado->rowid; $res_del_pago_rel_fac = $db->query($del_pago_rel_fac); $del_docto_rel = "DELETE FROM ".MAIN_DB_PREFIX."cfdimx_recepcion_pagos_docto_relacionado"; $del_docto_rel .= " WHERE fk_recepago=".$resultado->rowid; $res_del_docto_rel = $db->query($del_docto_rel); $del_impuestos_pago = "DELETE FROM ".MAIN_DB_PREFIX."cfdimx_pagos_impuestos"; $del_impuestos_pago .= " WHERE fk_pago=".$id; $res_impuestos_pago = $db->query($del_impuestos_pago); $del_uuid_rel = "DELETE FROM ".MAIN_DB_PREFIX."cfdimx_cfdi_relacionados_pagos"; $del_uuid_rel .= " WHERE fk_pago=".$id; $res_del_uuid_rel = $db->query($del_uuid_rel); print ""; } if(!is_null(GETPOST("msg_add_cfdi")) && GETPOST("msg_add_cfdi") != "" && in_array((int)GETPOST("msg_add_cfdi"), array(0, 1))){ if(GETPOST("msg_add_cfdi") == 0){ setEventMessage($_SESSION["msg_ayuda_add_cfdi"], 'mesgs'); }else{ setEventMessage($_SESSION["msg_ayuda_add_cfdi"], 'errors'); } } if(!is_null(GETPOST("msg_dl_cfdi")) && GETPOST("msg_dl_cfdi") != "" && in_array((int)GETPOST("msg_dl_cfdi"), array(0, 1))){ if(GETPOST("msg_dl_cfdi") == 1){ setEventMessage("Se elimino correctamente el CFDI Relacionado seleccionado.", 'mesgs'); }else{ setEventMessage("Error: No se elimino correctamente el CFDI Relacionado seleccionado.", 'errors'); } } if(!is_null(GETPOST("msg_update_pago")) && GETPOST("msg_update_pago") != "" && in_array((int)GETPOST("msg_update_pago"), array(0, 1))){ if(GETPOST("msg_update_pago") == 1){ setEventMessage("Se actualizo correctamente la Información del Pago.", 'mesgs'); }else{ setEventMessage("Error: No se actualizo correctamente la Información del Pago.", 'errors'); } } if(!is_null(GETPOST("msg_update_doc_rel")) && GETPOST("msg_update_doc_rel") != "" && in_array((int)GETPOST("msg_update_doc_rel"), array(0, 1))){ if(GETPOST("msg_update_doc_rel") == 1){ setEventMessage("Se actualizo correctamente la Información del Documento Relacionado.", 'mesgs'); }else{ setEventMessage("Error: No se actualizo correctamente la Información del Documento Relacionado.", 'errors'); } } if (GETPOST("msgerr") == 1 && $_SESSION["errorCFDIP"] != "") { // dol_htmloutput_errors($_SESSION["errorCFDIP"]); setEventMessage($_SESSION["errorCFDIP"], 'errors'); $_SESSION["errorCFDIP"] = ""; if($conf->global->CFDIMX_DEBUG_TIMBRADO == 1){ $complemento_pagos->log($object->ref); print '
header
'; print_r($_SESSION['header']); print '
'; print '
conceptos
'; print_r($_SESSION['conceptos']); print '
'; print '
emisor
'; print_r($_SESSION['emisor']); print '
'; print '
receptor
'; print_r($_SESSION['receptor']); print '
'; print '
rfc_emisor
'; print_r($_SESSION['rfc_emisor']); print '
'; print '
passwd_timbrado
'; print_r($_SESSION['passwd_timbrado']); print '
'; print '
adicionales
'; print_r($_SESSION['adicionales']); print '
'; print '
resultado
'; print_r($_SESSION['resultado']); print '
'; } } if(GETPOST('commit') == 1){ setEventMessage("Complemento de Pago Timbrado correctamente.", 'mesgs'); } if(!is_null(GETPOST("msg_preview_pdf")) && GETPOST("msg_preview_pdf") != "" && in_array((int)GETPOST("msg_preview_pdf"), array(0, 1))){ setEventMessage("PDF Previo generado correctamente.", 'mesgs'); } if(!is_null(GETPOST("msg_regen_pdf")) && GETPOST("msg_regen_pdf") != "" && in_array((int)GETPOST("msg_regen_pdf"), array(0, 1))){ setEventMessage("PDF Regenerado correctamente.", 'mesgs'); } if ($action == 'success_pago_clasificado') { setEventMessage("Complemento de pago Clasificado como Cancelado correctamente.", 'mesgs'); } if ($action == 'success_msg') { setEventMessage("Complemento de pago cancelado correctamente.", 'mesgs'); } if ($action == 'error_msg') { $msg_error = GETPOST('msg'); setEventMessage($msg_error, 'errors'); } if(GETPOST('reinicio_pago') == 1){ setEventMessage("Se elimino correctamente la Información del Pago.", 'mesgs'); } if($conf->global->CFDIMX_ALERTA_TIMBRES == 1){ if($complemento_pagos->folios["disponibles"] <= $conf->global->CFDIMX_MIN_TIMBRES){ $url_config = 'Configuración'; print '
'; print ''; print '  '; print 'Alerta de Timbres'; print '

'; if($complemento_pagos->folios["disponibles"] == $conf->global->CFDIMX_MIN_TIMBRES){ print 'Actualmente tienes '.$complemento_pagos->folios["disponibles"].' folios disponibles que es la cantidad ('.$conf->global->CFDIMX_MIN_TIMBRES.') minima establecida en la '.$url_config.'.'; }else{ print 'Actualmente tienes '.$complemento_pagos->folios["disponibles"].' folios disponibles que es la cantidad ('.$conf->global->CFDIMX_MIN_TIMBRES.') minima por debajo de la establecida en la '.$url_config.'.'; } print '

'; print 'Contacta a tu Proveedor de Timbres para adquirir más.'; print '
'; } } /********************* TERMINA CONFIRM ACTIONS ***********************/ /* * View * * Put here all code to build page */ $form = new Form($db); $formconfirm = ''; // $arrayofjs = array('/cfdimx/js/paiement.js.php'); llxHeader('', $object->ref.' - Complemento de Pago 2.0'); /********************* INICIA VIEW ************************/ $head = payment_prepare_head($object); print dol_get_fiche_head($head, 'tabcomplementopago', $langs->trans("PaymentCustomerInvoice"), -1, 'payment'); $linkback = ''.$langs->trans("BackToList").''; dol_banner_tab($object, 'ref', $linkback, 1, 'ref', 'ref', ''); $formconfirm = ''; if($action == "del_cfdi_rel"){ $id = GETPOST('id') != "" ? GETPOST('id') : 0; $titulo = ""; $pregunta = "¿Desea eliminar el CFDI Relacionado seleccionado?"; $formquestion = array( array('type' => 'hidden', 'name' => 'rowid_cfdi', 'value' => GETPOST("rowid_cfdi")) ); $formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$id, $pregunta, '', 'confirm_del_cfdi_rel', $formquestion, 0, 1, 220, 450); } if ($action == 'presend') { $titulo_head = $langs->trans('Pago asociado a varias facturas'); $form_questions = array( array('type'=> 'select', 'name'=> 'id_factura_seleccionada', 'values'=> $complemento_pagos->lista_facturas_correo, 'label' => "Factura", 'select_show_empty' => 0) ); $formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?id='.GETPOST('id'), $titulo_head, "", 'confirm_send_facture_mail', $form_questions, 0, 1, 200, 550); } if ($action == "cancel"){ $id = GETPOST('id') != "" ? GETPOST('id') : GETPOST('facid'); $uuid = GETPOST('uuid'); $rfc_emisor = GETPOST('rfc_emisor'); $text="¿Está seguro que desea cancelar este complemento de pago?"; $lista_motivos = array( '-1' => 'Selecciona el Motivo de Cancelación                                                ', '01' => '01 - Comprobantes emitidos con errores con relación.', '02' => '02 - Comprobantes emitidos con errores sin relación.', '03' => '03 - No se llevó a cabo la operación.', '04' => '04 - Operación nominativa relacionada en una factura global.' ); $titulo = "
El Folio de Sustitución es obligatorio cuando el motivo es 01."; $titulo .= "

Nota: Se considera una solicitud de cancelación exitosa cuando regresa un valor de 200, sin embargo esto no asegura su cancelación."; $pregunta = "¿Desea enviar la solicitud de Cancelación de este Complemento de Pagos?"; $formquestion = array( array('type' => 'hidden', 'name' => 'uuid_cancelar', 'id'=>'uuid_cancelar', 'value' => GETPOST("uuid")), array('type' => 'hidden', 'name' => 'action', 'value' => 'confirm_cancel'), array('type' => 'select', 'name' => 'motivo', 'label' => 'Motivo', 'values' => $lista_motivos, 'select_show_empty' => 0), array('type' => 'text', 'name' => 'uuid_sustitucion', 'id'=>'uuid_sustitucion', 'label' =>'Folio de Sustitución', 'moreattr' => 'placeholder="d0645efd-4abb-4c24-a0d7-7986e82cfedf"', 'size' => 35), array('type' => 'onecolumn', 'value' => $titulo) ); $formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$id.'&uuid='.$uuid.'&rfc='.$rfc_emisor, $pregunta, '', 'confirm_cancel', $formquestion, 0, 1, 320, 650); } if($action == "clasificar_pago"){ $titulo_head = "Clasificar Complemento de Pago"; $pregunta = "¿Desea cancelar el Complemento de Pago ".$object->ref."?"; $formquestion = array( array('type' => 'onecolumn', 'value' => '¿Desea cancelar el Complemento de Pago '.$object->ref.'?'), array('type' => 'onecolumn', 'value' => ' '), array('type' => 'text', 'name' => 'close_note', 'label' => $langs->trans("Comment"), 'value' => 'Complemento de Pago Cancelado', 'morecss' => 'minwidth300') // array('type' => 'hidden', 'name' => 'action', 'id' => 'action', 'value' => 'confirm_clasificar_pago') ); $formconfirm = $form->formconfirm($_SERVER['PHP_SELF'].'?id='.$id, $titulo_head, '', 'confirm_clasificar_pago', $formquestion, "yes", 1, 200, 500); } if ($action == 'consultar_estatus') { $factura_tmp = new Facture($db); $factura_tmp->fetch($id); $pago = new Paiement($db); $pago->fetch($id); $amount_header = $pago->amount; if($conf->global->MAIN_MODULE_MULTICURRENCY){ if($pago->amount > $pago->multicurrency_amount){ $amount_header = $pago->multicurrency_amount; } } $sql = "SELECT * FROM ".MAIN_DB_PREFIX."cfdimx_recepcion_pagos WHERE fk_facture = 0 AND fk_paiement=".$_REQUEST['id']; $req = $db->query($sql); $uuid_consulta = ""; $nmr = $db->num_rows($req); if($nmr>0){ $val = $db->fetch_object($req); if($val->uuid!=NULL && $val->uuid!=null && trim($val->uuid)!=""){ $uuid_consulta=$val->uuid; } } $pagos_busqueda = new ComplementoPagos($db); $obj_pagos_info = $pagos_busqueda->getDatosXML($pago->ref, $uuid_consulta); $titulo = "Consultar Estatus CFDI"; $emisor = "Emisor: ".$obj_pagos_info["emisor_rfc"]; $receptor = "Receptor: ".$obj_pagos_info["receptor_rfc"]; $factura = "Pago: ".$pago->ref; $uuid = "UUID: ".$uuid_consulta; $total = "Total: ".number_format($amount_header, 2); $pregunta = "¿Son correctos los Datos para la Consulta del Estatus del Complemento de Pagos?"; $formquestion = array( array('type' => 'onecolumn', 'value' => $emisor), array('type' => 'hidden', 'name' => 'emisor', 'value' => $obj_pagos_info["emisor_rfc"]), array('type' => 'onecolumn', 'value' => $receptor), array('type' => 'hidden', 'name' => 'receptor', 'value' => $obj_pagos_info["receptor_rfc"]), array('type' => 'onecolumn', 'value' => $factura), array('type' => 'onecolumn', 'value' => $uuid), array('type' => 'hidden', 'name' => 'uuid_c', 'value' => $uuid_consulta), array('type' => 'onecolumn', 'value' => $total), array('type' => 'hidden', 'name' => 'total', 'value' => number_format($amount_header, 2)), array('type' => 'hidden', 'name' => 'action_post', 'value' => 'confirm_estatus'), array('type' => 'onecolumn', 'value' => $pregunta) ); $formconfirm = $form->formconfirm($_SERVER["PHP_SELF"] . '?id=' . $id, $titulo, '', 'confirm_estatus', $formquestion, 0, 1, 320, 600); if($obj_pagos_info == null) { $msg_error = "Error 9001: No se encontró la información para la Consulta del Complemento."; setEventMessage($msg_error, 'errors'); } } print $formconfirm; if($validacion_docs_rel == 0){ ##Inicia Datos del Pago / Datos Bancarios // print dol_fiche_head(); print '
'; print '
'; print '
'; print ''; print ''; print ''; print ''; // Date payment print ''; print ''; print ''; print ''; // Amount $amount_header = $object->amount; $amount_multi_header = $object->multicurrency_amount; $moneda_header = ""; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; if($complemento_pagos->status_cdfi == 2 && !is_null($object->note) && $object->note != ""){ print ''; print ''; print ''; print ''; } if(!is_null($complemento_pagos->datos_complemento["uuid"]) && $complemento_pagos->datos_complemento["uuid"] != ""){ print ''; print ''; print ''; print ''; } print '
'; print ' '; print 'Datos del Pago'; print '
'.$langs->trans("Date").''; print $form->editfieldval("Date", 'datep', $object->date, $object, $user->rights->facture->paiement, 'datehourpicker', '', null, $langs->trans('PaymentDateUpdateSucceeded')); print '
'.$langs->trans('Amount').''.price($amount_header,0,'',1,-1,-1,$conf->currency).'
Uso CFDI'; print $complemento_pagos->obtener_catalogo($conf->global->CFDIMX_USOCFDI_PAGOS, 'usocfdi', 1, 1); if($conf->global->CFDIMX_USOCFDI_PAGOS == -1){ print '
'; print ' '; print ''; print 'Es necesario configurar el Uso CFDI, '; print 'da click aquí para configurarlo.'; print ''; print '
'; } print '
Estatus'; if($complemento_pagos->status_cdfi == 0){ print 'Borrador'; }elseif($complemento_pagos->status_cdfi == 1){ print 'Timbrado'; }elseif($complemento_pagos->status_cdfi == 2){ print 'Cancelado'; } print '
'.$langs->trans("Comment").''; print $object->note; print '
Códgio QR'; $societe_cfdi->getDatosXML($object->ref, $complemento_pagos->datos_complemento["uuid"], 1); $ruta = $object->ref.'/Pago_'.$complemento_pagos->datos_complemento["uuid"].'.png'; $titulo = "Consultar el Estatus del Pago (".$complemento_pagos->datos_complemento["uuid"].") en el Portal del SAT."; $url_sat = 'https://verificacfdi.facturaelectronica.sat.gob.mx/default.aspx?id='.$complemento_pagos->datos_complemento["uuid"].'&re='.$societe_cfdi->datos_xml["emisor_rfc"].'&rr='.$societe_cfdi->datos_xml["receptor_rfc"].'&tt=0&fe='.substr($complemento_pagos->datos_complemento["selloCFD"],-8); print ''; print ''; print ''; print '
'; print '
'; print '
'; print ''; $disable_delete = 0; // Bank account if (! empty($conf->banque->enabled)){ if ($object->fk_account > 0){ $bankline=new AccountLine($db); $bankline->fetch($object->bank_line); print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; } } print '
'; print ' '; print 'Datos Bancarios'; print '
'.$langs->trans('BankAccount').''; $accountstatic=new Account($db); $accountstatic->fetch($bankline->fk_account); print $accountstatic->getNomUrl(1); print '
'.$langs->trans('BankTransactionLine').''; print $bankline->getNomUrl(1,0,'showconciliated'); print '
'; print '
'; print '
'; ##Termina Datos del Pago / Datos Bancarios ##Inicia CFDI Relacionados if($conf->global->CFDIMX_PAGOS_CFDI_REL == 1){ if($complemento_pagos->status_cdfi == 0){ print '
'; print '
'; if((int)DOL_VERSION > 15){ print ''; } print ''; print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; $sql_restriccion = implode(",", $complemento_pagos->omitir_pagos); print ''; print ''; print ''; print ''; print '
'; print ' '; print 'CFDI Relacionados'; print '
Tipo de Relación'; print $complemento_pagos->obtener_rel_pagos($complemento_pagos->datos_complemento["tipo_relacion"], 'tipo_relacion', 1); print '
Lista de Pagos'; print $complemento_pagos->obtener_rel_pagos($lista_pagos, 'lista_pagos', 2, 0, $sql_restriccion); print '  '; print ''; print '
'; print '
'; print '
'; print '
'; print '
'; } if(!is_null($complemento_pagos->lista_cfdi_relacionados) && count($complemento_pagos->lista_cfdi_relacionados) > 0){ print '
'; print ''; if($complemento_pagos->status_cdfi != 0){ print ''; print ''; print ''; print ''; } print ''; print ''; print ''; print ''; print ''; print ''; print ''; if($complemento_pagos->status_cdfi == 0){ print ''; } print ''; foreach ($complemento_pagos->lista_cfdi_relacionados as $key => $value) { $pago_static = new Paiement($db); $pago_static->fetch($value->fk_pago_rel); print ''; print ''; print ''; print ''; if($complemento_pagos->status_cdfi == 0){ print ''; } print ''; } print '
Tipo de Relación'; print $complemento_pagos->obtener_rel_pagos($complemento_pagos->datos_complemento["tipo_relacion"], 'tipo_relacion', 1, 1); print '
'; print ' '; print 'Lista de CFDI Relacionados'; print '
#PagoUUID 
'.($key + 1).''; print $pago_static->getNomUrl(1); print ''; print $value->uuid; print ''; $url_rel = $_SERVER["PHP_SELF"].'?id='.$id.'&action=del_cfdi_rel&rowid_cfdi='.$value->rowid; if((int)DOL_VERSION > 15){ $url_rel .= "&token=".newToken(); } print ''; print ''; print ''; print '
'; print '
'; } } ##Termina CFDI Relacionados ##Inicia Informacion del Pago print '
'; print '
'; if((int)DOL_VERSION > 15){ print ''; } print ''; print '
'; print ''; print ''; print ''; print ''; print '
'; print ' '; print 'Datos del Complemento de Pago'; print '
'; print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; if(!is_null($complemento_pagos->datos_complemento["rfc_cta_ordenante"]) && trim($complemento_pagos->datos_complemento["rfc_cta_ordenante"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; } if(!is_null($complemento_pagos->datos_complemento["cta_ordenante"]) && trim($complemento_pagos->datos_complemento["cta_ordenante"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; } if(!is_null($complemento_pagos->datos_complemento["cta_beneficiario"]) && trim($complemento_pagos->datos_complemento["cta_beneficiario"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; } if(!is_null($complemento_pagos->datos_complemento["certificado_pago"]) && trim($complemento_pagos->datos_complemento["certificado_pago"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; } if(!is_null($complemento_pagos->datos_complemento["certificado_pago"]) && trim($complemento_pagos->datos_complemento["certificado_pago"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; } print '
Fecha'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; print ''; }else{ print $complemento_pagos->datos_complemento["fecha_pago"]; } print '
Moneda'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ if($complemento_pagos->numero_monedas > 0){ print $complemento_pagos->obtener_catalogo($complemento_pagos->datos_complemento["moneda"], 'moneda', 3); }else{ print $complemento_pagos->obtener_catalogo($complemento_pagos->datos_complemento["moneda"], 'moneda', 4); } }else{ print $complemento_pagos->datos_complemento["moneda"]; } print '
Tipo de cambio'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ if($complemento_pagos->datos_complemento["tipo_cambio"] > 0){ print price($complemento_pagos->datos_complemento["tipo_cambio"], 0, '', 1, -1, -1, $complemento_pagos->datos_complemento["moneda"]); }else{ print ' '; } } print '
RFC Emisor Cuenta Ordenante'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ print $complemento_pagos->datos_complemento["rfc_cta_ordenante"]; } print '
Cuenta Ordenante'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ print $complemento_pagos->datos_complemento["cta_ordenante"]; } print '
Cuenta Beneficiario'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ print $complemento_pagos->datos_complemento["cta_beneficiario"]; } print '
Certificado del Pago'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ print $complemento_pagos->datos_complemento["certificado_pago"]; } print '
Sello Pago'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ print $complemento_pagos->datos_complemento["sello_pago"]; } print '
'; print '
'; print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; if(!is_null($complemento_pagos->datos_complemento["numero_operacion"]) && trim($complemento_pagos->datos_complemento["numero_operacion"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; } if(!is_null($complemento_pagos->datos_complemento["nom_banco_ordenante"]) && trim($complemento_pagos->datos_complemento["nom_banco_ordenante"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; } if(!is_null($complemento_pagos->datos_complemento["rfc_cta_beneficiario"]) && trim($complemento_pagos->datos_complemento["rfc_cta_beneficiario"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; } if(!is_null($complemento_pagos->datos_complemento["tipo_cadena_pago"]) && trim($complemento_pagos->datos_complemento["tipo_cadena_pago"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; }else{ print $complemento_pagos->datos_complemento["tipo_cadena_pago"]; } print ''; } if(!is_null($complemento_pagos->datos_complemento["cadena_original_comprobante_pago"]) && trim($complemento_pagos->datos_complemento["cadena_original_comprobante_pago"]) != "" || $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; } print '
Forma de Pago'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print $complemento_pagos->obtener_catalogo($complemento_pagos->datos_complemento["forma_pago"], 'forma_pago', 2); }else{ print $complemento_pagos->obtener_catalogo($complemento_pagos->datos_complemento["forma_pago"], 'forma_pago', 2, 1); } print '
Monto'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ if($amount_header != $amount_multi_header){ print $complemento_pagos->obtener_catalogo($complemento_pagos->datos_complemento["monto"], 'monto', 7, 0, $id); }else{ print ''; } }else{ print $complemento_pagos->datos_complemento["monto"]; } print '
Numero de operacion'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ print $complemento_pagos->datos_complemento["numero_operacion"]; } print '
Nom. Banco Ordenante (Ext)'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ print $complemento_pagos->datos_complemento["nom_banco_ordenante"]; } print '
RFC Emisor Cuenta Beneficiario'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ print $complemento_pagos->datos_complemento["rfc_cta_beneficiario"]; } print '
Tipo Cadena de Pago'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print '
Cadena Original del comprobante pago'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; }else{ print $complemento_pagos->datos_complemento["cadena_original_comprobante_pago"]; } print '
'; print '
'; if($complemento_pagos->status_cdfi == 0 && $action == "view_edit_info_pago"){ print ''; print ''; print ''; print ''; print '
'; print ''; print '
'; } print '
'; print '
'; print '
'; ##Termina Informacion del Pago // $conf->global->CFDIMX_VERSION_SAT = 9; ##Inicia Documentos Relacionados if(!is_null($complemento_pagos->lista_doc_relacionados) && count($complemento_pagos->lista_doc_relacionados) > 0){ print '
'; print '
'; print '
'; if($action == "edit_doc_rel"){ if((int)DOL_VERSION > 15){ print ''; } print ''; print ''; } print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; if(strcmp($conf->global->CFDIMX_VERSION_SAT, "4.0") == 0){ print ''; print ''; } print ''; print ''; $num_reg = 1; foreach ($complemento_pagos->lista_doc_relacionados as $key => $value) { $factura_static = new Facture($db); $factura_static->fetch($value->fk_facture); $form_static = new Form($db); if(strcmp($conf->global->CFDIMX_VERSION_SAT, "4.0") == 0){ $impuestos = ""; if(!is_null($value->impuestos) && count($value->impuestos) > 0){ $impuestos .='
'; print ' '; print 'Documentos Relacionados ('.count($complemento_pagos->lista_doc_relacionados).')'; print '
  Importe 
#FacturaParcialidadAnteriorPagadoInsolutoEquivalenciaImpuestos 
'; $impuestos .=''; $impuestos .=''; $impuestos .=''; $impuestos .=''; $impuestos .=''; $impuestos .=''; $impuestos .=''; $impuestos .=''; foreach($value->impuestos as $key2 => $value2){ $impuestos .= ''; $impuestos .= ''; $impuestos .= ''; $impuestos .= ''; $impuestos .= ''; $impuestos .= ''; $impuestos .= ''; $impuestos .= ''; } $impuestos .='
TipoBaseImpuestoTipo FactorTasa o CuotaImporte
'; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ $impuestos .= $complemento_pagos->obtener_catalogo($value2->tipo, 'tipo'.$key2, 9); }else{ if($value2->tipo == 1){ $impuestos .= ''.$langs->trans("TipoImp1").''; }else{ $impuestos .= ''.$langs->trans("TipoImp2").''; } } $impuestos .= ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ $impuestos .= ''; $impuestos .= ''; }else{ $impuestos .= $value2->base; } $impuestos .= ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ $impuestos .= ''; }else{ $impuestos .= $value2->impuesto; } $impuestos .= ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ $impuestos .= ''; }else{ $impuestos .= $value2->tipo_factor; } $impuestos .= ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ $impuestos .= ''; }else{ $impuestos .= $value2->tasa_o_cuota; } $impuestos .= ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ $impuestos .= ''; }else{ $impuestos .= $value2->importe; } $impuestos .= '
'; }else{ $impuestos .= '
'; $impuestos .= 'Sin Impuestos'; $impuestos .= '
'; } } print ''; print ''.$num_reg.''; print ''; print ''.$factura_static->getNomUrl(1).'
'; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ print 'UUID:
'; print 'Moneda:
'; if(strcmp($conf->global->CFDIMX_VERSION_SAT, "4.0") == 0){ }else{ print 'Método de Pago:
'; } print 'Tipo de Cambio:
'; }else{ if(!is_null($value->idDocumento) && $value->idDocumento != ""){ print 'UUID: '.$value->idDocumento.'
'; } if(!is_null($value->monedaDR) && $value->monedaDR != ""){ print 'Moneda: '.$value->monedaDR.'
'; } if(strcmp($conf->global->CFDIMX_VERSION_SAT, "4.0") == 0){ }else{ if(!is_null($value->metodoDePagoDR) && $value->metodoDePagoDR != ""){ print 'Método de Pago: '.$value->metodoDePagoDR.'
'; } } if(!is_null($value->tipoCambioDR) && $value->tipoCambioDR != ""){ print 'Tipo de Cambio: '.$value->tipoCambioDR.'
'; } } print ''; print ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ print ''; }else{ print $value->numParcialidad; } print ''; print ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ print ''; }else{ print $value->impSaldoAnt; } print ''; print ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ print ''; }else{ print $value->impPagado; } print ''; print ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ print ''; }else{ print $value->impSaldoInsoluto; } print ''; if(strcmp($conf->global->CFDIMX_VERSION_SAT, "4.0") == 0){ print ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ print ''; }else{ print $value->equivalencia; } print ''; print ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ print $impuestos; }else{ print $form_static->textwithpicto('', $impuestos, 1, 'list','', 0, 0, ''); } print ''; } if($complemento_pagos->status_cdfi == 0){ print ''; if($action == "edit_doc_rel" && $value->rowid == GETPOST("rowid_doc_rel")){ print ''; }else{ print 'rowid.'">'; print ''; print ''; } print ''; }else{ print ' '; } print ''; $num_reg++; } print ''; print '
'; print '
'; } ##Termina Documentos Relacionados // $complemento_pagos->getArchivosVinculados($id); ##Inicia Archivos Vinculados , Estatus Complemento y botones de acciones print '
'; print '
'; ##Botones para estatus Borrador if($complemento_pagos->status_cdfi == 0){ if($user->rights->cfdimx->delete_reg_comp_pagos == 1){ $titulo_btn_del = "Permite eliminar la información registrada del Complemento de Pago."; print '
'; print '
'; if((int)DOL_VERSION > 15){ print ''; } print ''; print ''; print '
'; print '
'; } if($action != "view_edit_info_pago"){ $titulo_btn_del = "Permite modificar la información registrada en el apartado Datos del Complemento de Pago"; print '
'; print '
'; if((int)DOL_VERSION > 15){ print ''; } print ''; print ''; print '
'; print '
'; } if($complemento_pagos->folios["disponibles"] > 0){ if(strcmp($conf->global->CFDIMX_VERSION_SAT, "4.0") == 0){ print '
'; print '
'; if((int)DOL_VERSION > 15){ print ''; } print ''; print ''; print '
'; print '
'; print '
'; print '
'; if((int)DOL_VERSION > 15){ print ''; } print ''; print ''; print ''; print ''; print '
'; print '
'; } } }else{ ##Botones para estatus Timbrado o Cancelado if ($user->rights->cfdimx->send_mailsend) { print ''; } if ($user->rights->cfdimx->delete == 1) { print '
'; print 'Regenerar PDF'; print '
'; if($complemento_pagos->datos_complemento["cancelado"] == 0){ print '
'; print 'Solicitar Cancelación CFDI'; print '
'; } if($complemento_pagos->num_solicitudes_cancelacion > 0 && $complemento_pagos->datos_complemento["cancelado"] == 0){ print '
'; print '
'; if((int)DOL_VERSION > 15){ print ''; } print ''; print ''; print ''; print '
'; print '
'; } } } print '
'; print '
'; print '
'; print '
'; print ''; #Datos de timbrado if((int)DOL_VERSION == 10){ print ''; print ''; print ''; }else{ print ''; print ''; print ''; } print ''; print ''; print ''; print '
'; print ' '; print 'Datos de Timbrado'; print '
'; print ' '; print 'Datos de Timbrado'; print '
'; print ''; if($complemento_pagos->status_cdfi == 0){ print ''; print ''; print ''; print ''; }else{ if($complemento_pagos->info_estatus["registro"] > 0){ print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; $titulo_consulta = "Consultar el Estatus del Complemento de Pagos '".$complemento_pagos->datos_complemento["uuid"]."'"; print ''; print ''; print ''; print ''; }else{ $titulo_consulta = "Consultar el Estatus del Complemento de Pagos '".$complemento_pagos->datos_complemento["uuid"]."'"; print ''; print ''; print ''; print ''; } } print ''; print ''; print ''; print ''; $modo_timbrado_desc = ($complemento_pagos->conf_ws["modo_timbrado"] == 1) ? "Producción" : "Pruebas"; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print '
Estado CFDISin Timbrar
Estado CFDI'.$complemento_pagos->info_estatus["estado_cfdi"].'
Estatus de cancelación'.$complemento_pagos->info_estatus["estatus_cancelacion"].'
Última Consulta de Estatus'; print '
'; if((int)DOL_VERSION > 15){ print ''; } print $complemento_pagos->info_estatus["fecha_consulta_estatus"]; print ''; print ''; print ''; print '
'; print '
Consultar Estatus'; print '
'; if((int)DOL_VERSION > 15){ print ''; } print $complemento_pagos->info_estatus["fecha_consulta_estatus"]; print ''; print ''; print ''; print '
'; print '
UUID:'.$complemento_pagos->datos_complemento["uuid"].'
Modo de Timbrado Activo:'.$modo_timbrado_desc.'
Versión de CFDI Activa:'.$conf->global->CFDIMX_VERSION_SAT.'
Folios Timbrados:'.$complemento_pagos->folios["timbrados"].'
Folios Disponibles:'.$complemento_pagos->folios["disponibles"].'
'; print '
'; print '
'; print '
'; if(!is_null($complemento_pagos->lista_archivo_vinculados) && is_array($complemento_pagos->lista_archivo_vinculados) && count($complemento_pagos->lista_archivo_vinculados) > 0){ print '
'; print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print '
'; print '
Archivos vinculados
'; print '
'; print '
'; print ''; print ''; print ''; print ''; print ''; // print '
';
									// 	print_r($complemento_pagos->lista_archivo_vinculados);
									// print '
'; foreach ($complemento_pagos->lista_archivo_vinculados as $key => $value) { $form_file_static = new FormFile($db); $url_archivo = DOL_URL_ROOT.'/document.php?modulepart=facture&file='.$value['level1name'].'/'.$value['name']; $url_archivo_view = DOL_URL_ROOT.'/document.php?modulepart=facture&attachment=0&file='.$value['level1name'].'/'.$value['name']; $separa_extension = explode(".", $value['name']); // $ext = $aux_ext[1]; // if (in_array($ext, array("pdf"))){ // $out_lupa = ''; // }else { // $out_lupa = ""; // } print ''; print ''; print ''; print ''; print ''; // if (in_array($ext, array("pdf"))){ // $out_lupa = ''; // }else { // $out_lupa = ""; // } // $out_files.= ''; // //Ruta antigua para eliminar // // // $out_files.=' // // //
'; print '
'; print ' '; print 'Documentos '; print '
'; print '
'; print img_mime($value["name"], $langs->trans("File").': '.$value["name"]); print ''; print dol_trunc($value["name"], 60); print ''; if (in_array($separa_extension[1], array("pdf"))){ print ''; print ''; print ''; } print ''; print dol_print_size(dol_filesize($value['fullname']), 1, 1); print ''; print dol_print_date($value["date"], 'dayhour', 'tzuser'); print '
// '.$file['name'].' // '.$out_lupa.' // '.filesize($file['fullname']).' Bytes'; print '
'; print '
'; print '
'; print '
'; } print '
'; print '
'; if($complemento_pagos->num_solicitudes_cancelacion > 0){ print '
'; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print ''; print '
'; print ' '; print ' '; print 'Solicitud de Cancelación'; print '
UUID'.$complemento_pagos->solicitud_cancelacion["uuid"].'
Estatus'.$complemento_pagos->solicitud_cancelacion["uuidStatusCode"].'
Acuse'; $ruta = DOL_URL_ROOT.'/document.php?modulepart=facture&file='.$object->ref.'/'; $ruta .= $complemento_pagos->solicitud_cancelacion["archivo"]; print ''; print ''; print $complemento_pagos->solicitud_cancelacion["archivo"]; print ''; print '
Fecha'.$complemento_pagos->solicitud_cancelacion["fechahora"].'
'; print '
'; } print '
'; ##Termina Archivos Vinculados , Estatus Complemento y botones de acciones }else{ print '
'; // print ''; print ''; print '  '; print 'Error: Se requiere que las Facturas Asociadas al Pago '.$object->getNomUrl(1).' esten timbradas.

'; print 'A continuación se muestran las Facturas con su Estatus.

'; print ''; print ''; print '  '; print 'Factura Timbrada'; print '      '; print '      '; print ''; print '  '; print 'Factura No Timbrada'; print ''; print '

'; // print '
'; print ''; print ''; print ''; print ''; print ''; print ''; foreach ($complemento_pagos->lista_val_doc_rel as $key => $value) { $facture_static = new Facture($db); $facture_static->fetch($value["facid"]); print ''; print ''; print ''; print ''; print ''; } print '
#FacturaEstatus
'.($key+1).''; print $facture_static->getNomUrl(1); print ''; print $value["icono"]; print '
'; print '
'; } /********************* TERMINA VIEW ***********************/ /********************* INICIA MENSAJES de ACTIONS ***********************/ /********************* TERMINA MENSAJES de ACTIONS ***********************/ /********************* INICIA ACTIONS ************************/ /********************* TERMINA ACTIONS ***********************/ // End of page llxFooter(); $db->close();