invoiceone.mx
Open in
urlscan Pro
200.78.252.10
Public Scan
Submitted URL: https://invoiceone.ws/
Effective URL: https://invoiceone.mx:8443/aplicativocfdi/
Submission: On August 26 via automatic, source certstream-suspicious — Scanned from DE
Effective URL: https://invoiceone.mx:8443/aplicativocfdi/
Submission: On August 26 via automatic, source certstream-suspicious — Scanned from DE
Form analysis
1 forms found in the DOMPOST https://invoiceone.mx:8443/aplicativocfdi/
<form method="post" action="https://invoiceone.mx:8443/aplicativocfdi/" id="Form1" enctype="multipart/form-data" target="" encoding="multipart/form-data">
<div class="aspNetHidden">
<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="">
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="">
</div>
<script type="text/javascript">
//<![CDATA[
var theForm = document.forms['Form1'];
if (!theForm) {
theForm = document.Form1;
}
function __doPostBack(eventTarget, eventArgument) {
if (!theForm.onsubmit || (theForm.onsubmit() != false)) {
theForm.__EVENTTARGET.value = eventTarget;
theForm.__EVENTARGUMENT.value = eventArgument;
theForm.submit();
}
}
//]]>
</script>
<div class="aspNetHidden">
<input type="hidden" name="__VIEWSTATEGENERATOR" id="__VIEWSTATEGENERATOR" value="76D26056">
<input type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="/wEdAAIS+FMj3sNWbvEx9dR74fa+Wl5APERVpzEAFON01Y9EvSQnGVW12U3uGQH3L9F/ptUiLDwd+Som1p0n8hEwKsOF">
</div>
<div id="dLogo" class="LogoDefault">
</div>
<div id="SessionUUIDHidden_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="SessionUUIDHidden" name="SessionUUIDHidden" class=" x-form-hidden x-form-field" value="fdd21bed-c2b8-4830-908d-101573339244">
</div>
<div id="NominaEmpleados_Cargado_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="NominaEmpleados_Cargado" name="NominaEmpleados_Cargado" class=" x-form-hidden x-form-field">
</div>
<div id="NominaGeneracion_Cargado_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="NominaGeneracion_Cargado" name="NominaGeneracion_Cargado" class=" x-form-hidden x-form-field">
</div>
<div id="NominaConsulta_Cargado_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="NominaConsulta_Cargado" name="NominaConsulta_Cargado" class=" x-form-hidden x-form-field">
</div>
<script type="text/javascript">
Ext.override(Ext.Window, {
constrainHeader: true
});
function CambiarLogo(gratuito) {
var divLogo = document.getElementById('dLogo');
if (divLogo != 'undefined') {
if (gratuito != 'undefined') {
if (gratuito == true) {
divLogo.className = "LogoGratuito";
} else {
divLogo.className = "LogoPremium";
}
}
}
}
function getX() {
return "{DX}-1500";
}
function getY() {
return "{DX}-700";
}
/* ----------------------------------------- */
/* Actualiza el titulo del menu */
/* ----------------------------------------- */
var updateTitle = function(desktop, title) {
var menu = desktop.getDesktop().taskbar.startMenu;
if (menu.rendered) menu.setTitle(title);
else menu.title = title;
};
/* ----------------------------------------- */
/* Registro de la empresa */
/* ----------------------------------------- */
function validaFormRegistro(mostrarMensaje) {
var rValido = rTabInfoEmisorFormPL.getForm().isValid();
if (false == rValido) {
rUsuarioTabPL.setActiveTab(rTabInfoEmisorFormPL);
rTabInfoEmisorFormPL.getForm().isValid(); //FIX para la posicion de los indicadores
if (mostrarMensaje) {
Ext.Msg.show({
title: "Paso 1: Información de la Empresa",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos de la empresa por validar, por favor ingrese la información solicitada."
});
}
}
if (rValido) //tab de informacion fiscal
{
rValido = rTabRegimenFormPL.getForm().isValid();
if (false == rValido) {
rUsuarioTabPL.setActiveTab(rTabRegimenFormPL);
rTabRegimenFormPL.getForm().isValid(); //FIX
if (mostrarMensaje) {
Ext.Msg.show({
title: "Paso 2: Información Fiscal",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos de la empresa por validar, por favor ingrese la información solicitada."
});
}
}
}
if (rValido) //check del contrato
{
rValido = rAceptoContratoCheckBox.getValue();
if (false == rValido) {
rUsuarioTabPL.setActiveTab(rContratpFormPL);
if (mostrarMensaje) {
Ext.Msg.show({
title: "Paso 4: Contrato",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Debe aceptar el contrato."
});
}
}
}
return rValido;
}
/* ---------------------------------------------*/
/* Editar info de la empresa */
/* -------------------------------------------- */
function validaFormEditarEmpresa(mostrarMensaje) {
var rValido = eEmTabInfoEmisorFormPL.getForm().isValid();
if (false == rValido) {
eEmTabPanel.setActiveTab(eEmTabInfoEmisorFormPL);
eEmTabInfoEmisorFormPL.getForm().isValid(); //FIX
if (mostrarMensaje) {
Ext.Msg.show({
title: "Información de la Empresa",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos de la empresa por validar, por favor ingrese la información solicitada."
});
}
}
if (rValido) {
rValido = eEmTabRegimenFormPL.getForm().isValid();
if (false == rValido) {
eEmTabPanel.setActiveTab(eEmTabRegimenFormPL);
eEmTabRegimenFormPL.getForm().isValid(); //FIX
if (mostrarMensaje) {
Ext.Msg.show({
title: "Información Fiscal",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos de la empresa por validar, por favor ingrese la información solicitada."
});
}
}
}
if (rValido) {
rValido = panelNomina.getForm().isValid();
if (false == rValido) {
eEmTabPanel.setActiveTab(panelNomina);
panelNomina.getForm().isValid(); //FIX
if (mostrarMensaje) {
Ext.Msg.show({
title: "Nómina",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos de la empresa por validar, por favor ingrese la información solicitada."
});
}
//ticket R-4215
} else {
var nominaHabilitada = chkNominaHabilitada.checked;
var nominaHabilitadaAnt = chkNominaHabilitadaAnt.checked;
if (nominaHabilitada != nominaHabilitadaAnt) {
var res = window.confirm("Ha realizado cambios en la configuración de Nómina para la Empresa. Todas las pantallas de nómina se actualizarán. ¿Desea continuar ?");
return res;
}
//ticket R-4215
}
}
return rValido;
}
/* ---------------------------------------------*/
/* Editar info del receptor */
/* -------------------------------------------- */
function validaFormEditarReceptor(mostrarMensaje) {
var rValido = eRTabInfoReceptorFormPL.getForm().isValid();
if (false == rValido) {
if (mostrarMensaje) {
Ext.Msg.show({
title: "Información del Cliente",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos del cliente por validar, por favor ingrese la información solicitada."
});
}
}
return rValido;
}
/* ---------------------------------------------*/
/* Editar info del impuesto */
/* -------------------------------------------- */
function validaFormEditarImpuesto() {
var rValido = eImpuestoTabInfoEmisorFormPL.getForm().isValid();
if (false == rValido) {
Ext.Msg.show({
title: "Información del Impuesto",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos del impuesto por validar, por favor ingrese la información solicitada."
});
}
return rValido;
}
/* ---------------------------------------------*/
/* Editar info de la Serie */
/* -------------------------------------------- */
function validaFormEditarSerie() {
var rValido = eSTabInfoEmisorFormPL.getForm().isValid();
if (false == rValido) {
Ext.Msg.show({
title: "Información de la Serie",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos de la Serie por validar, por favor ingrese la información solicitada."
});
}
return rValido;
}
/* ---------------------------------------------*/
/* Editar info del Producto */
/* -------------------------------------------- */
function validaFormEditarProductos() {
var rValido = ePTabInfoEmisorFormPL.getForm().isValid();
if (false == rValido) {
Ext.Msg.show({
title: "Información del Producto",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos del Producto por validar, por favor ingrese la información solicitada."
});
}
return rValido;
}
//AMM
/* ---------------------------------------------*/
/* Editar info de la Oficina */
/* -------------------------------------------- */
function validaFormEditarOficinas(mostrarMensaje) {
var rValido = eOficinaTabInfoOficinaFormPL.getForm().isValid();
if (false == rValido) {
if (mostrarMensaje) {
Ext.Msg.show({
title: "Información Expedido En",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos de Expedido En por validar, por favor ingrese la información solicitada."
});
}
}
return rValido;
}
//FIN AMM
//AMM
/* ---------------------------------------------*/
/* cambioar contraseña */
/* -------------------------------------------- */
function validaFormcambiarContraseñas(mostrarMensaje) {
var rValido = cambiarContraseñasFormPL.getForm().isValid();
if (false == rValido) {
if (mostrarMensaje) {
Ext.Msg.show({
title: "Información de cambio de contraseñas",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos por validar, por favor ingrese la información solicitada."
});
}
}
return rValido;
}
//FIN AMM
</script>
<div id="x-desktop" style="height: 1170px;">
<dl id="x-shortcuts">
<dt id="winEmpresasDesktopModule-shortcut" style="left: -5px; top: 10px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-EditarEmpresa"><div class="x-shortcut-text"></div></a></dt>
<dt id="winOficinasDesktopModule-shortcut" style="left: -5px; top: 84px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Oficinas"><div class="x-shortcut-text"></div></a></dt>
<dt id="winImpuestosDesktopModule-shortcut" style="left: -5px; top: 158px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Impuestos"><div class="x-shortcut-text"></div></a></dt>
<dt id="winSeriesDesktopModule-shortcut" style="left: -5px; top: 232px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Series"><div class="x-shortcut-text"></div></a></dt>
<dt id="winUsuariosDesktopModule-shortcut" style="left: -5px; top: 306px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Usuarios"><div class="x-shortcut-text"></div></a></dt>
<dt id="winReceptoresDesktopModule-shortcut" style="left: -5px; top: 380px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Receptores"><div class="x-shortcut-text"></div></a></dt>
<dt id="winProductosDesktopModule-shortcut" style="left: -5px; top: 454px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Producto"><div class="x-shortcut-text"></div></a></dt>
<dt id="winServiciosDesktopModule-shortcut" style="left: -5px; top: 528px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Servicios"><div class="x-shortcut-text"></div></a></dt>
<dt id="winCrearCFDIDesktopModule-shortcut" style="left: -5px; top: 602px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-CrearCfdi"><div class="x-shortcut-text"></div></a></dt>
<dt id="winCrearCFDI40DesktopModule-shortcut" style="left: -5px; top: 676px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-CrearCfdi40"><div class="x-shortcut-text"></div></a></dt>
<dt id="winSeleccionarCfdiModule-shortcut" ext:custom="true" style="left: -5px; top: 750px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-ListarCfdi"><div class="x-shortcut-text"></div></a></dt>
<dt id="winCfdiCENACEModule-shortcut" style="left: -5px; top: 824px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-ListarCfdi"><div class="x-shortcut-text"></div></a></dt>
<dt id="nomEmpleados-shortcut" style="left: -5px; top: 898px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-nominaempleado"><div class="x-shortcut-text"></div></a></dt>
<dt id="nomGenerarRecibos-shortcut" style="left: -5px; top: 972px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-nominagenerarrecibo"><div class="x-shortcut-text"></div></a></dt>
<dt id="nomConsultarRecibos-shortcut" style="left: -5px; top: 1046px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-nominaconsultarrecibo"><div class="x-shortcut-text"></div></a></dt>
<dt id="winContratarDesktopModule-shortcut" style="left: 63px; top: 10px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-comprar"><div class="x-shortcut-text"></div></a></dt>
<dt id="winCompraFoliosDesktopModule-shortcut" style="left: 63px; top: 84px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-mis-compras"><div class="x-shortcut-text"></div></a></dt>
<dt id="winCodigoConfirmacionDesktopModule-shortcut" style="left: 63px; top: 158px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-claves-de-confirmacion"><div class="x-shortcut-text"></div></a></dt>
<dt id="winChatDesktopModule-shortcut" style="left: 63px; top: 232px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-SoporteEnLInea"><div class="x-shortcut-text"></div></a></dt>
<dt id="winiTopDesktopModule-shortcut" style="left: 63px; top: 306px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-SoporteEnITop"><div class="x-shortcut-text"></div></a></dt>
<dt id="winMapeadoresDesktopModule-shortcut" style="left: 63px; top: 380px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Map"><div class="x-shortcut-text">Mapeadores (WebService)</div></a></dt>
<dt id="winTimbradoDesktopModule-shortcut" style="left: 63px; top: 454px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Timbrado"><div class="x-shortcut-text">Cuenta de Timbrado</div></a></dt>
<dt id="winCFDIConsolidadoDesktopModule-shortcut" style="left: 63px; top: 528px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Consolidado"><div class="x-shortcut-text">Listado CFDI Consolidado</div></a></dt>
<dt id="winIntegradoresDesktopModule-shortcut" style="left: 63px; top: 602px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Integradores"><div class="x-shortcut-text">Integradores</div></a></dt>
<dt id="winCambiarTemaDesktopModule-shortcut" style="left: 63px; top: 676px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Tema"><div class="x-shortcut-text"></div></a></dt>
<dt id="winCambiarContrasenaDesktopModule-shortcut" style="left: 63px; top: 750px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-CambiarContrasenia"><div class="x-shortcut-text"></div></a></dt>
<dt id="winCambiarEmpresaDesktopModule-shortcut" style="left: 63px; top: 824px;" class=" x-hidden">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-SwitchEmpresa"><div class="x-shortcut-text"></div></a></dt>
<dt id="winIniciarSesionDesktopModule-shortcut" ext:x="{DX}-90" ext:y="{DY}-90" style="left: 1495px; top: 1080px;">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Login"><div class="x-shortcut-text"></div></a></dt>
<dt id="winRegistroDesktopModule-shortcut" ext:x="{DX}-90" ext:y="{DY}-170" style="left: 1495px; top: 1000px;">
<a href="#"><img src="/aplicativocfdi/extjs/resources/images/default/s-gif/ext.axd" class="shortcut-icon icon-Registro"><div class="x-shortcut-text"></div></a></dt>
</dl>
<div class="x-window-proxy" id="ext-gen355" style="display: none; width: 578px; height: 578px; left: 510px; top: 295px; opacity: 0.5; x: 510; y: 295;"></div>
<div class="ext-el-mask" id="ext-gen356" style="display: block; width: 1600px; height: 1200px; z-index: 9010;"></div>
<div class="x-shadow" id="ext-gen365" style="z-index: 9012; left: 506px; top: 313px; width: 588px; height: 580px; display: block;">
<div class="xst">
<div class="xstl"></div>
<div class="xstc" style="width: 576px;"></div>
<div class="xstr"></div>
</div>
<div class="xsc" style="height: 568px;">
<div class="xsml"></div>
<div class="xsmc" style="width: 576px;"></div>
<div class="xsmr"></div>
</div>
<div class="xsb">
<div class="xsbl"></div>
<div class="xsbc" style="width: 576px;"></div>
<div class="xsbr"></div>
</div>
</div>
<div id="winIniciarSesion" class=" x-window" style="position: absolute; z-index: 9013; visibility: visible; left: 510px; top: 310px; width: 580px; display: block;">
<div class="x-window-tl">
<div class="x-window-tr">
<div class="x-window-tc">
<div class="x-window-header x-unselectable x-panel-icon icon-user x-window-draggable" id="ext-gen348">
<div class="x-tool x-tool-close" id="ext-gen353"> </div><span class="x-window-header-text" id="ext-gen357">Iniciar Sesión [ InvoiceONE - Proveedor Autorizado de Certificación 57203 ] V.2023.40</span>
</div>
</div>
</div>
</div>
<div class="x-window-bwrap" id="ext-gen349">
<div class="x-window-ml">
<div class="x-window-mr">
<div class="x-window-mc" id="ext-gen352">
<div class="x-window-body" id="ext-gen350" style="padding: 5px; width: 556px; height: 538px;">
<div id="Panel15" class=" x-panel" style="width: 556px;">
<div class="x-panel-bwrap" id="ext-gen359">
<div class="x-panel-body x-panel-body-noheader" id="ext-gen360" style="overflow: auto; position: relative; width: 554px; height: 536px;"><iframe id="Panel15_IFrame" name="Panel15_IFrame" class=""
src="/aplicativocfdi/paginas/IniciarSesion.aspx?1724691410090" frameborder="0" style="width: 554px; height: 536px;"></iframe></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="x-window-bl x-panel-nofooter" id="ext-gen351">
<div class="x-window-br">
<div class="x-window-bc"></div>
</div>
</div>
</div><a href="#" class="x-dlg-focus" tabindex="-1" id="ext-gen354"> </a>
</div>
</div>
<div id="ux-taskbar" class=" x-border-layout-ct" style="overflow: hidden; margin: 0px; border: 0px none;">
<div id="ux-taskbar-start" class=" x-border-panel" style="width: 87px; left: 0px; top: 0px; height: 30px;">
<table cellspacing="0" class="x-btn x-btn-text-icon" id="ext-gen11" style="width: auto;">
<tbody>
<tr>
<td class="ux-startbutton-left"><i> </i></td>
<td class="ux-startbutton-center"><em class=" unselectable=" on"=""><button class=" x-btn-text start-button" type="BUTTON" style="height:30px;" id="ext-gen12">Inicio</button></em></td>
<td class="ux-startbutton-right"><i> </i></td>
</tr>
</tbody>
</table>
</div>
<div id="ux-taskbuttons-panel" class=" x-border-panel" style="overflow: auto; left: 95px; top: 0px; width: 1505px; height: 30px;">
<div class="ux-taskbuttons-strip-wrap" id="ext-gen13" style="width: 1505px;">
<ul class="ux-taskbuttons-strip" id="ext-gen15">
<li id="ext-gen362">
<table cellspacing="0" class="x-btn x-btn-text-icon active-win" id="ext-gen363" style="width: auto;">
<tbody>
<tr>
<td class="ux-taskbutton-left"><i> </i></td>
<td class="ux-taskbutton-center"><em class=" unselectable=" on"=""><button class=" x-btn-text icon-user" type="BUTTON" style="height: 28px; width: 78px;" id="ext-gen364">Iniciar S...</button></em></td>
<td class="ux-taskbutton-right"><i> </i></td>
</tr>
</tbody>
</table>
</li>
<li class="ux-taskbuttons-edge" id="ext-gen16"></li>
<div class="x-clear" id="ext-gen17"></div>
</ul>
</div>
<div class="ux-taskbuttons-strip-spacer" id="ext-gen14"></div>
<div id="infoTimbres" style="top: 1px; height: 27px; right: 0px; color: white; font-weight: bold; position: absolute; width: 150px; overflow:hidden;">
<div>Timbres disponibles<br>? / 9999999</div>
</div>
</div>
<div class="x-clear"></div>
<div class="x-layout-split x-layout-split-west x-splitbar-h" id="TaskBarStart-xsplit" style="left: 87px; top: 0px; height: 30px;"> </div>
</div>
<div id="HCvePromo_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="HCvePromo" name="HCvePromo" class=" x-form-hidden x-form-field">
</div>
<div id="sessionPL_Content" class="x-hidden">
<div id="contratImg_Container" style="display:inline;">
<img id="contratImg" src="Imagenes/contrataciones/nuevo/titulo1-3.png" style="border: none;">
</div>
</div>
<div id="contratacionFieldSet_Content" class="x-hidden">
<div id="Image2_Container" style="display:inline;">
<img id="Image2" src="Imagenes/contrataciones/nuevo/titulo2-3.png" style="border: none;">
</div>
</div>
<div id="contratacionDaFieldSet_Content" class="x-hidden">
<div id="Image3_Container" style="display:inline;">
<img id="Image3" src="Imagenes/contrataciones/nuevo/titulo3-3.png" style="border: none;">
</div>
</div>
<div id="contratacionSelPlanFieldSet_Content" class="x-hidden">
<div id="Image6_Container" style="display:inline;">
<img id="Image6" src="Imagenes/contrataciones/consesion/titulo2-2.png" style="border: none;">
</div>
</div>
<div id="PromoSelPlanFieldSet_Content" class="x-hidden">
<div id="ctl166_Container" style="display:inline;">
<span class="x-label" id="ctl166"><img src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="x-label-icon " style="display: none;"><span class="x-label-value" id="ext-gen88"> </span></span>
</div>
</div>
<div id="contratHidden_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="contratHidden" name="contratHidden" class=" x-form-hidden x-form-field" value="0">
</div>
<div id="EsPromocionGratuita_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="EsPromocionGratuita" name="EsPromocionGratuita" class=" x-form-hidden x-form-field" value="0">
</div>
<div id="registroInfoLabel_Content" class="x-hidden">
<br>
</div>
<div id="Label7_Content" class="x-hidden">
<br>
</div>
<div id="cambiarContraseñasInfoLabel_Content" class="x-hidden">
<br>
</div>
<div id="cCBuscarReceptorHidden_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="cCBuscarReceptorHidden" name="cCBuscarReceptorHidden" class=" x-form-hidden x-form-field x-hide-display" value="false">
</div>
<div id="Panel7_Content" class="x-hidden">
<span> </span>
</div>
<div id="cCBuscarProductoHidden_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="cCBuscarProductoHidden" name="cCBuscarProductoHidden" class=" x-form-hidden x-form-field x-hide-display" value="0">
</div>
<div id="cCCrearProductoHidden_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="cCCrearProductoHidden" name="cCCrearProductoHidden" class=" x-form-hidden x-form-field x-hide-display" value="false">
</div>
<div id="ccMiltipleProductoHidden_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="ccMiltipleProductoHidden" name="ccMiltipleProductoHidden" class=" x-form-hidden x-form-field x-hide-display" value="1">
</div>
<script type="text/javascript">
var registro = null;
function guarda_Complemento_Iedu() {
var ieduStore = new Ext.data.JsonStore({
id: 'NumeroIndex',
fields: [{
name: 'NumeroIndex',
type: 'int'
}, {
name: 'Version',
type: 'string'
}, {
name: 'Nombre',
type: 'string'
}, {
name: 'Curp',
type: 'string'
}, {
name: 'NivelEducativo',
type: 'string'
}, {
name: 'Autorizacion',
type: 'string'
}, {
name: 'RFC',
type: 'string'
}, {
name: 'Incluir',
type: 'string'
}]
});
var ieduType = ieduStore.recordType;
var numeroIndex = cIeduPL.getBody().cph_Viewport1.findById('cph_eDnNumeroIndexHidden').getValue();
var nuevo = new ieduType({
NumeroIndex: numeroIndex,
Version: '1.0',
Nombre: cIeduPL.getBody().cph_Viewport1.findById('cph_eDnNomAlumnoTF').getValue(),
Curp: cIeduPL.getBody().cph_Viewport1.findById('cph_eDnNomCurpTF').getValue(),
NivelEducativo: cIeduPL.getBody().cph_Viewport1.findById('cph_eDnCNivelEdCB').getValue(),
Autorizacion: cIeduPL.getBody().cph_Viewport1.findById('cph_eDnAutorizTF').getValue(),
Rfc: cIeduPL.getBody().cph_Viewport1.findById('cph_eDnRFCTF').getValue(),
Incluir: cIeduPL.getBody().cph_Viewport1.findById('cph_eDnInclCB').getValue()
});
ieduStore.add(nuevo);
var datos = Ext.encode(Ext.pluck(ieduStore.data.items, 'data'));
var rIndice = cCConceptosGridPL.getStore().find('NumeroIndex', numeroIndex);
if (-1 != rIndice) {
var cfdireg = cCConceptosGridPL.getStore().getAt(rIndice);
if (null != cfdireg) cfdireg.data.Comp_Iedu = datos;
}
cIeduWindow.hide();
}
function descripcionTrigger(el, trigger, tag) {
cCConceptosGridPL.stopEditing();
PickWindow.show();
registro = el.gridEditor.record.data;
var titulo = "Concepto: #" + registro.NumeroIndex.toString() + " (Descripción del Concepto)";
PickWindow.setTitle(titulo);
cCEditorHtml.setValue(registro.Descripcion);
cCEditorHtml.focus();
}
function guardaDescripcionConcepto() {
if (null != registro) {
registro.Descripcion = cCEditorHtml.getValue().replace('\n', '<BR />');
cCConceptosGridPL.stopEditing();
cCConceptosGridPL.getView().refresh();
cCEditorHtml.setValue('');
}
}
</script>
<script type="text/javascript">
function botonSiguienteClick(tipoBoton, tabPanel, botonAnterior, botonSiguiente) {
var tabSeleccionado = tabPanel.items.indexOf(tabPanel.activeTab);
if ('Siguiente' == tipoBoton) tabSeleccionado += 1;
else tabSeleccionado -= 1;
if (tabSeleccionado >= tabPanel.items.length) tabPanel.setActiveTab(tabPanel.items.length - 1);
else {
if (tabSeleccionado <= 0) tabPanel.setActiveTab(0);
else tabPanel.setActiveTab(tabSeleccionado);
}
}
function cCSeleccionarProductoTriggerField(el, trigger, tag) {
cCBuscarProductoHidden.setValue(el.gridEditor.record.data.NumeroIndex.toString());
switch (tag) {
case "agregar":
cCCrearProductoHidden.setValue(true);
productosAgregarButton.fireEvent("click");
break;
case "seleccionar":
cCCrearProductoHidden.setValue(false);
cCBuscarProductoWindow.show();
ccMiltipleProductoHidden.setValue('0');
cCProductosGridPL.getColumnModel().setHidden(1, true);
cCProductosGridPL.getColumnModel().setHidden(2, true);
break;
}
};
function cCSeleccionarProductoTriggerFieldCFDI40(el, trigger, tag) {
cCBuscarProductoHidden.setValue(el.gridEditor.record.data.NumeroIndex.toString());
switch (tag) {
case "agregar":
cCCrearProductoHidden.setValue(true);
productosAgregarButton.fireEvent("click");
break;
case "seleccionar":
cCCrearProductoHidden.setValue(false);
cCBuscarProductoWindow.show();
ccMiltipleProductoHidden.setValue('0');
cCProductosGridPL.getColumnModel().setHidden(1, true);
cCProductosGridPL.getColumnModel().setHidden(2, true);
break;
}
};
function cCActualizaGridProducto(indice, objProducto) {
var storeConceptosGrid = cCConceptosGridPL.getStore();
var conceptoIndice = storeConceptosGrid.find('NumeroIndex', indice);
var concepto = storeConceptosGrid.getAt(conceptoIndice);
concepto.data['Codigo'] = objProducto.Codigo;
concepto.data['ClaveProdServ'] = objProducto.Codigo;
concepto.data['Unidad'] = objProducto.UnidadNombre;
concepto.data['Descripcion'] = objProducto.Descripcion;
concepto.data['PrecioUnitario'] = objProducto.ValorUnitario;
cCConceptosGridPL.getView().refresh();
calculaTotales(true, true, true);
}
function cCActualizaGridProductocfdi40(indice, objProducto) {
var storeConceptosGrid = GridPanelConceptosCFDI40.getStore();
var conceptoIndice = storeConceptosGrid.find('NumeroIndex', indice);
var concepto = storeConceptosGrid.getAt(conceptoIndice);
concepto.data['Codigo'] = objProducto.Codigo;
concepto.data['ClaveProdServ'] = objProducto.Codigo;
concepto.data['Unidad'] = objProducto.UnidadNombre;
concepto.data['Descripcion'] = objProducto.Descripcion;
concepto.data['PrecioUnitario'] = objProducto.ValorUnitario;
GridPanelConceptosCFDI40.getView().refresh();
calculaTotales(true, true, true);
}
function cCActualizaGridProductoMultiple(objProducto) {
var storeConceptosGrid = cCConceptosGridPL.getStore();
var totalItem = storeConceptosGrid.recordType;
var productoIndice = 0;
for (productoIndice = 0; productoIndice <= objProducto.length - 1; productoIndice++) {
var producto = objProducto[productoIndice];
var nuevo = new totalItem({
NumeroIndex: storeConceptosGrid.getCount() + 1,
EsComentario: false,
Codigo: producto.Codigo,
Unidad: producto.UnidadNombre,
Descripcion: producto.Descripcion,
PrecioUnitario: producto.ValorUnitario,
Cantidad: producto.Cantidad,
Importe: 0,
ExtraInfo: '[]',
ExtraTipo: 0,
Editable: true,
Comp_Iedu: 0,
ClaveProdServ: producto.ClaveProdServ,
ClaveUnidad: producto.ClaveUnidad,
Descuento: 0
});
storeConceptosGrid.add(nuevo);
storeConceptosGrid.commitChanges();
}
cCConceptosGridPL.getView().refresh();
calculaTotales(true, true, true);
}
//-------------------------------------------------------------------
// Filtros para buscar cfdi: Receptores
//-------------------------------------------------------------------
var seleccionarCfdiAplicaFiltroReceptores = function(field) {
var store = seleccionarCfdiStore;
store.suspendEvents();
store.filterBy(seleccionarCfdiObtenerFiltroReceptores());
store.resumeEvents();
seleccionarCfdiReceptoresGridPL.getView().refresh(false);
};
var seleccionarCfdiLimpiarFiltroReceptores = function() {
seleccionarCfdiRfcTF.reset();
seleccionarCfdiNombreTF.reset();
seleccionarCfdiCalleTF.reset();
seleccionarCfdiNumExteriorTF.reset();
seleccionarCfdiNumInteriorTF.reset();
seleccionarCfdiColoniaTF.reset();
seleccionarCfdiLocalidadTF.reset();
seleccionarCfdiReferenciaTF.reset();
seleccionarCfdiCodigoPostalTF.reset();
seleccionarCfdiContactoPostalTF.reset();
seleccionarCfdiCorreoTF.reset();
seleccionarCfdiTelefonoTF.reset();
seleccionarCfdiPaginaWebTF.reset();
seleccionarCfdiFechaTF.reset();
seleccionarCfdiPaisTF.reset();
seleccionarCfdiEstadoTF.reset();
seleccionarCfdiMunicipioTF.reset();
seleccionarCfdiStore.clearFilter();
}
var filtroStringEncabezado = function(value, dataIndex, record) {
var val = record.get(dataIndex);
if (typeof val != "string") {
return value.length == 0;
}
return val.toLowerCase().indexOf(value.toLowerCase()) > -1;
};
var seleccionarCfdiObtenerFiltroReceptores = function() {
var f = [];
//rfc
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiRfcTF.getValue(), "RFC", record);
}
});
//nombre o razon social
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiNombreTF.getValue(), "Nombre", record);
}
});
//calle
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiCalleTF.getValue(), "Calle", record);
}
});
//Numero exterior
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiNumExteriorTF.getValue(), "NumExterior", record);
}
});
//Numero interiorts
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiNumInteriorTF.getValue(), "NumInterior", record);
}
});
//Colonia
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiColoniaTF.getValue(), "Colonia", record);
}
});
//Localidad
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiLocalidadTF.getValue(), "Localidad", record);
}
});
//Referencia
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiReferenciaTF.getValue(), "Referencia", record);
}
});
//Codigo Postal
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiCodigoPostalTF.getValue(), "CodigoPostal", record);
}
});
//Contacto
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiContactoPostalTF.getValue(), "Contacto", record);
}
});
//Correo electronico
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiCorreoTF.getValue(), "Correo", record);
}
});
//Telefono
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiTelefonoTF.getValue(), "Telefono", record);
}
});
//PaginaWeb
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiPaginaWebTF.getValue(), "PaginaWeb", record);
}
});
//Fecha de r
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiFechaTF.getValue(), "Fec_Movto", record);
}
});
//Pais
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiPaisTF.getValue(), "Pais", record);
}
});
//Estado
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiEstadoTF.getValue(), "Estado", record);
}
});
//Municipio
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiMunicipioTF.getValue(), "Municipio", record);
}
});
var len = f.length;
return function(record) {
for (var i = 0; i < len; i++) {
if (!f[i].filter(record)) {
return false;
}
}
return true;
};
};
//-------------------------------------------------------------------
// Filtros para buscar cfdi: Cfdi
//-------------------------------------------------------------------
var seleccionarCfdiAplicaFiltroCfdi = function(field) {
var store = seleccionarCfdiGridPL.getStore();
store.suspendEvents();
store.filterBy(seleccionarCfdiObtenerFiltroCfdis());
store.resumeEvents();
seleccionarCfdiGridPL.getView().refresh(false);
};
var seleccionarCfdiLimpiarFiltroCfdis = function() {
seleccionarCfdiVersionTF.reset();
seleccionarCfdiSerieTF.reset();
seleccionarCfdiFolioTF.reset();
seleccionarCfdiUuidTF.reset();
seleccionarCfdiNombreRTF.reset();
seleccionarCfdiRfcReceptorTF.reset();
seleccionarCfdiFechaEmisionTF.reset();
seleccionarCfdiTotalTF.reset();
seleccionarCfdiFechaTFDTF.reset();
seleccionarCfdiMonedaTF.reset();
seleccionarCfdiTipoDoctoTF.reset();
seleccionarCfdiFormaPagoTF.reset();
seleccionarCfdiExpEnTF.reset();
seleccionarCfdiUsuarioTF.reset();
seleccionarCfdiEstatusTF.reset();
seleccionarCfdiGridPL.getStore().clearFilter();
}
var seleccionarCfdiObtenerFiltroCfdis = function() {
var f = [];
//version
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiVersionTF.getValue(), "Version", record);
}
});
//rfc
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiSerieTF.getValue(), "Serie", record);
}
});
//Folio
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiFolioTF.getValue(), "Folio", record);
}
});
//Uuid
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiUuidTF.getValue(), "Uuid", record);
}
});
//Nombre Receptor
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiNombreRTF.getValue(), "ReceptorNombre", record);
}
});
//rfc receptor
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiRfcReceptorTF.getValue(), "ReceptorRFC", record);
}
});
//Fecha de emision
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiFechaEmisionTF.getValue(), "FechaEmision", record);
}
});
//Total
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiTotalTF.getValue(), "Total", record);
}
});
//Fecha timbre
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiFechaTFDTF.getValue(), "FechaTimbre", record);
}
});
//Moneda
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiMonedaTF.getValue(), "Moneda", record);
}
});
//Tipo de documento
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiTipoDoctoTF.getValue(), "TipoCfdi", record);
}
});
//Forma de pago
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiFormaPagoTF.getValue(), "FormaPago", record);
}
});
//Expedido en
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiExpEnTF.getValue(), "ExpEn", record);
}
});
//Usuario
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiUsuarioTF.getValue(), "Usuario", record);
}
});
//estatus
f.push({
filter: function(record) {
return filtroStringEncabezado(seleccionarCfdiEstatusTF.getValue(), "EstatusNombre", record);
}
});
var len = f.length;
return function(record) {
for (var i = 0; i < len; i++) {
if (!f[i].filter(record)) {
return false;
}
}
return true;
};
};
//-------------------------------------------------------------------
// Filtros para buscar cfdi: Cfdi(CENACE)
//-------------------------------------------------------------------
var CENACECfdiAplicaFiltroCfdi = function(field) {
var store = CENACECfdiGridPL.getStore();
store.suspendEvents();
store.filterBy(CENACECfdiObtenerFiltroCfdis());
store.resumeEvents();
CENACECfdiGridPL.getView().refresh(false);
};
var CENACECfdiLimpiarFiltroCfdis = function() {
C_CfdiVersionTF.reset();
C_CfdiSerieTF.reset();
C_CfdiFolioTF.reset();
C_CfdiUuidTF.reset();
C_CfdiNombreRTF.reset();
C_CfdiRfcReceptorTF.reset();
C_CfdiFechaEmisionTF.reset();
C_CfdiTotalTF.reset();
C_CfdiFechaTFDTF.reset();
// Ext.get("C_CfdiMonedaTF").reset();
C_CfdiTipoDoctoTF.reset();
C_CfdiFormaPagoTF.reset();
// Ext.get("C_CfdiExpEnTF").reset();
//Ext.get("C_CfdiUsuarioTF").reset();
C_CfdiEstatusTF.reset();
CENACECfdiGridPL.getStore().clearFilter();
}
var CENACECfdiObtenerFiltroCfdis = function() {
var f = [];
//version
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiVersionTF.getValue(), "Version", record);
}
});
//rfc
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiSerieTF.getValue(), "Serie", record);
}
});
//Folio
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiFolioTF.getValue(), "Folio", record);
}
});
//Uuid
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiUuidTF.getValue(), "Uuid", record);
}
});
//Nombre Receptor
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiNombreRTF.getValue(), "ReceptorNombre", record);
}
});
//rfc receptor
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiRfcReceptorTF.getValue(), "ReceptorRFC", record);
}
});
//Fecha de emision
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiFechaEmisionTF.getValue(), "FechaEmision", record);
}
});
//Total
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiTotalTF.getValue(), "Total", record);
}
});
//Fecha timbre
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiFechaTFDTF.getValue(), "FechaTimbre", record);
}
});
//Moneda
// f.push({
// filter: function (record) {
// return filtroStringEncabezado(Ext.get("C_CfdiMonedaTF").getValue(), "Moneda", record);
// }
// });
//Tipo de documento
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiTipoDoctoTF.getValue(), "TipoCfdi", record);
}
});
//Forma de pago
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiFormaPagoTF.getValue(), "FormaPago", record);
}
});
//Expedido en
// f.push({
// filter: function (record) {
// return filtroStringEncabezado(Ext.get("C_CfdiExpEnTF").getValue(), "ExpEn", record);
// }
// });
// //Usuario
// f.push({
// filter: function (record) {
// return filtroStringEncabezado(Ext.get("C_CfdiUsuarioTF").getValue(), "Usuario", record);
// }
// });
//estatus
f.push({
filter: function(record) {
return filtroStringEncabezado(C_CfdiEstatusTF.getValue(), "EstatusNombre", record);
}
});
var len = f.length;
return function(record) {
for (var i = 0; i < len; i++) {
if (!f[i].filter(record)) {
return false;
}
}
return true;
};
};
var filtroStringEncabezado = function(value, dataIndex, record) {
var val = record.get(dataIndex);
if (typeof val != "string") {
return value.length == 0;
}
return val.toLowerCase().indexOf(value.toLowerCase()) > -1;
};
//-------------------------------------------------------------------
// Filtros para buscar cfdi: Receptor (en crear cfdi)
//-------------------------------------------------------------------
var cCBuscarReceptorAplicaFiltroReceptores = function(field) {
var store = cCReceptoresGridPL.getStore();
store.suspendEvents();
store.filterBy(cCBuscarReceptorObtenerFiltroReceptores());
store.resumeEvents();
cCReceptoresGridPL.getView().refresh(false);
};
var cCBuscarReceptorLimpiarFiltroReceptores = function() {
cCBuscarReceptorRfcTF.reset();
cCBuscarReceptorCodigoTF.reset();
cCBuscarReceptorNombreTF.reset();
cCBuscarReceptorCalleTF.reset();
cCBuscarReceptorNumExteriorTF.reset();
cCBuscarReceptorNumInteriorTF.reset();
cCBuscarReceptorColoniaTF.reset();
cCBuscarReceptorLocalidadTF.reset();
cCBuscarReceptorReferenciaTF.reset();
cCBuscarReceptorCodigoPostalTF.reset();
cCBuscarReceptorContactoPostalTF.reset();
cCBuscarReceptorCorreoTF.reset();
cCBuscarReceptorTelefonoTF.reset();
cCBuscarReceptorPaginaWebTF.reset();
cCBuscarReceptorFechaTF.reset();
cCBuscarReceptorEstadoTF.reset();
cCBuscarReceptorPaisTF.reset();
cCBuscarReceptorMunicipioTF.reset();
Ext.get("cCBuscarReceptorNumCuentaTF").reset();
cCReceptoresGridPL.getStore().clearFilter();
}
var cCBuscarReceptorObtenerFiltroReceptores = function() {
var f = [];
//rfc
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorRfcTF.getValue(), "RFC", record);
}
});
//nombre o razon social
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorCodigoTF.getValue(), "Codigo", record);
}
});
//nombre o razon social
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorNombreTF.getValue(), "Nombre", record);
}
});
//calle
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorCalleTF.getValue(), "Calle", record);
}
});
//Numero exterior
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorNumExteriorTF.getValue(), "NumExterior", record);
}
});
//Numero interiorts
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorNumInteriorTF.getValue(), "NumInterior", record);
}
});
//Colonia
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorColoniaTF.getValue(), "Colonia", record);
}
});
//Localidad
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorLocalidadTF.getValue(), "Localidad", record);
}
});
//Referencia
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorReferenciaTF.getValue(), "Referencia", record);
}
});
//Codigo Postal
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorCodigoPostalTF.getValue(), "CodigoPostal", record);
}
});
//Contacto
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorContactoPostalTF.getValue(), "Contacto", record);
}
});
//Correo electronico
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorCorreoTF.getValue(), "Correo", record);
}
});
//Telefono
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorTelefonoTF.getValue(), "Telefono", record);
}
});
//PaginaWeb
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorPaginaWebTF.getValue(), "PaginaWeb", record);
}
});
//Fecha de r
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorFechaTF.getValue(), "Fec_Movto", record);
}
});
//Pais
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorPaisTF.getValue(), "Pais", record);
}
});
//Estado
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorEstadoTF.getValue(), "Estado", record);
}
});
//Municipio
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarReceptorMunicipioTF.getValue(), "Municipio", record);
}
});
var len = f.length;
return function(record) {
for (var i = 0; i < len; i++) {
if (!f[i].filter(record)) {
return false;
}
}
return true;
};
};
//-------------------------------------------------------------------
// Filtros para buscar cfdi: Productos
//-------------------------------------------------------------------
var cCBuscarProductosAplicaFiltro = function(field) {
var store = cCProductosStore;
store.suspendEvents();
store.filterBy(cCBuscarProductosObtenerFiltro());
store.resumeEvents();
cCProductosGridPL.getView().refresh(false);
};
var seleccionarProductoLimpiarFiltroProductos = function() {
cCBuscarProductoCodigoTF.reset();
cCBuscarProductoUnidadTF.reset();
cCBuscarProductoDescripcionTF.reset();
cCBuscarProductoValorUnitarioTF.reset();
cCBuscarProductoFechaTF.reset();
cCProductosStore.clearFilter();
}
var cCBuscarProductosObtenerFiltro = function() {
var f = [];
//Codigo
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarProductoCodigoTF.getValue(), "Codigo", record);
}
});
//tipo
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarProductoUnidadTF.getValue(), "UnidadNombre", record);
}
});
//descripcion
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarProductoDescripcionTF.getValue(), "Descripcion", record);
}
});
//valor unitario
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarProductoValorUnitarioTF.getValue(), "ValorUnitario", record);
}
});
//fecha
f.push({
filter: function(record) {
return filtroStringEncabezado(cCBuscarProductoFechaTF.getValue(), "Fec_Movto", record);
}
});
var len = f.length;
return function(record) {
for (var i = 0; i < len; i++) {
if (!f[i].filter(record)) {
return false;
}
}
return true;
};
};
</script>
<div id="txtwinSeleccionarCfdiCount_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="txtwinSeleccionarCfdiCount" name="txtwinSeleccionarCfdiCount" class=" x-form-hidden x-form-field">
</div>
<div id="contratacionServiciosTipoTimbradoHidden_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="contratacionServiciosTipoTimbradoHidden" name="contratacionServiciosTipoTimbradoHidden" class=" x-form-hidden x-form-field">
</div>
<div id="procesandoCfdiWindow_Content" class="x-hidden">
<div id="creandoCfdiImage_Container" style="display:inline;">
<img id="creandoCfdiImage" src="Imagenes/Cfdi/procesando.jpg" style="border: none;">
</div>
</div>
<div id="gratuitoDesktopWindow_Content" class="x-hidden">
<img id="gratuitoImage" src="Imagenes/Cfdi/creating_cfdiopt.png">
</div>
<div id="RutaPremiumOneHidden_Container" style="display:inline;">
<input type="hidden" size="20" autocomplete="off" id="RutaPremiumOneHidden" name="RutaPremiumOneHidden" class=" x-form-hidden x-form-field">
</div>
<script type="text/javascript">
function abrirFichaOpenPay() {
var valor = document.getElementById("CompraFoliosePLigaOpenPayHidden").value;
window.open(valor, '_blank');
return false;
}
function abrirXML() {
var valor = document.getElementById("CompraFoliosePXMLHidden").value;
var nombreArchivo = document.getElementById("CompraFoliosePUUIDHidden").value;
descargarArchivo(generarXml(valor), nombreArchivo + '.xml');
return false;
}
function generarXml(datos) {
var texto = [];
texto.push(document.getElementById("CompraFoliosePXMLHidden").value);
return new Blob(texto, {
type: 'application/xml'
});
};
function descargarArchivo(contenidoEnBlob, nombreArchivo) {
var reader = new FileReader();
reader.onload = function(event) {
var save = document.createElement('a');
save.href = event.target.result;
save.target = '_blank';
save.download = nombreArchivo || 'archivo.dat';
var clicEvent = new MouseEvent('click', {
'view': window,
'bubbles': true,
'cancelable': true
});
save.dispatchEvent(clicEvent);
(window.URL || window.webkitURL).revokeObjectURL(save.href);
};
reader.readAsDataURL(contenidoEnBlob);
};
</script>
<script type="text/javascript">
function seleccionarProducto(v, p, record) {
return (record.data.Tipo == 1 ? "Producto" : "Servicio");
}
function seleccionarCfdiEstatusRenderer(v, p, record) {
return (record.data.Estatus == true ? "<span style='color:green'><strong>" + record.data.EstatusNombre + "</strong></span>" : "<span style='color:red'><strong>" + record.data.EstatusNombre + "</strong></span>");
}
function seleccionarCfdiCheckboxRenderer(v, p, record) {
if (record.data.Estatus == false) return "";
return '<div class="x-grid3-row-checker" />';
};
function seleccionarCfdiCancelarIndividualRenderer(grid, commands, record, row) {
if ("cancelarCfdi" == commands.command) {
if (record.data.Estatus == false) {
commands.hidden = true;
}
}
if ('bajarTxtCancelacion' == commands.command) {
if ((record.data.Estatus == false) && (record.data.CanTxt == '1')) {
commands.hidden = false;
} else commands.hidden = true;
}
if ("bajarAcuseCancelacion" == commands.command) {
if (record.data.Estatus != false) {
commands.hidden = true;
}
}
if ("invertirPagada" == commands.command) {
commands.text = record.data.PagadaNombre;
}
};
function contratacionServiciosEliminarCarrito(command, record) {
Ext.net.DirectMethods.ctl00.contratacionServiciosEliminarCarrito(record.data.id_Servicio);
}
</script>
<script type="text/javascript">
var addTab = function(tabPL, id, url, titulo, setfocus) {
var tab = tabPL.getComponent(id);
if (!tab) {
tab = tabPL.add({
id: id,
title: titulo,
closable: true,
autoLoad: {
showMask: true,
url: url,
mode: "iframe",
maskMsg: "Cargando ..."
}
});
}
if (setfocus) tabPL.setActiveTab(tab);
}
</script>
<script type="text/javascript">
var loadPage = function(tabPanel, node) {
var tab = tabPL.getItem(node.id);
if (!tab) {
tab = tabPL.add({
id: node.id,
title: node.text,
closable: true,
autoLoad: {
showMask: true,
url: node.attributes.href,
mode: "iframe",
maskMsg: "Cargando ..."
},
listeners: {
update: {
fn: function(tab, cfg) {
cfg.iframe.setHeight(cfg.iframe.getSize().height - 20);
},
scope: this,
single: true
}
}
});
}
tabPL.setActiveTab(tab);
}
</script>
<script type="text/javascript">
function propColor(a, b, c, d, e) {
var cmbObj = Ext.getCmp("cb_" + c.id.replace("ppn_", ""));
var rec = cmbObj.getStore().query("Propiedad", a, true);
if (rec.length > 0) {
if ('CL' == rec.items[0].data.Tipo.trim()) {
if (null != b) {
b.style = "width: 100%; background-color: " + a;
}
return a;
}
}
return a;
}
///Cambia los campos requeridos dependiendo de la version
function eEmisorCambiaRequeridos() {
var version = eEmVersionComboBox.value;
if (3 == version || 4 == version) {
eEmNombreEmTF.allowBlank = false;
eEmCalleTF.allowBlank = false;
eEmRegimenFiscalGridPL.hide();
} else {
eEmNombreEmTF.allowBlank = true;
eEmCalleTF.allowBlank = true;
eEmRegimenFiscalGridPL.show();
}
eEmTabInfoEmisorFormPL.getForm().isValid();
}
///Cambia los campos requeridos dependiendo de la version
function rCambiaRequeridos() {
var version = rVersionComboBox.value;
if (3 == version || 4 == version) {
rNombreEmTF.allowBlank = false;
rCalleTF.allowBlank = false;
rCodigoPostalTF.allowBlank = false;
municipiosComboBox.allowBlank = false;
rRegimenFiscalGridPL.hide();
} else {
rNombreEmTF.allowBlank = true;
rCalleTF.allowBlank = true;
rCodigoPostalTF.allowBlank = true;
municipiosComboBox.allowBlank = true;
rRegimenFiscalGridPL.show();
}
rTabInfoEmisorFormPL.getForm().isValid();
rTabRegimenFormPL.getForm().isValid();
}
</script>
<script type="text/javascript">
function CrearCfdiMensajeR() {
Ext.Msg.show({
title: "Sin Cliente",
buttons: Ext.Msg.OK,
msg: "Es necesario seleccionar un Cliente para cargar un CFDI."
});
}
function preguntaLimpiar() {
Ext.Msg.show({
title: "Limpiar pantalla",
buttons: Ext.Msg.YESNO,
fn: limpiarPantalla,
icon: Ext.Msg.QUESTION,
msg: "¿ Desea limpiar la pantalla ? <BR/>Seleccione SI para limpiar la pantalla, de lo contrario seleccione NO para conservar los datos."
});
}
function colapsarCFDI() {
if ((false == winSeleccionarCfdi.hidden) && (true == winSeleccionarReceptorPL.collapsed) && (seleccionarCfdiFiltrosPL.collapsed)) {
seleccionarCfdiFiltrosPL.un('collapse', colapsarCFDI);
seleccionarCfdiFiltrosPL.show();
setTimeout('seleccionarCfdiFiltrosPL.expand();', 200);
}
}
function limpiarPantalla(btn) {
if ('yes' == btn) {
Ext.net.DirectMethods.ctl00.cCLimpiarPantallaCfdi({
success: function(result) {
Ext.Msg.notify("Limpiar pantalla", "La pantalla se limpió correctamente.");
},
eventMask: {
showMask: true,
minDelay: 500,
msg: 'Limpiando la pantalla, por favor espere...'
}
});
} else {
Ext.Msg.notify("Reutilizar información", "El usuario reutilizará la informacíon de la pantalla.");
}
}
function limpiarPantallaCFDI40(btn) {
if ('yes' == btn) {
Ext.net.DirectMethods.ctl00.cCLimpiarPantallaCfdi40({
success: function(result) {
Ext.Msg.notify("Limpiar pantalla", "La pantalla se limpió correctamente.");
},
eventMask: {
showMask: true,
minDelay: 500,
msg: 'Limpiando la pantalla, por favor espere...'
}
});
} else {
Ext.Msg.notify("Reutilizar información", "El usuario reutilizará la informacíon de la pantalla.");
}
}
var detalleActual = null;
var infoAduaneraActual = null;
var infoParteActual = null;
var tipsCFDI = null;
function ejecutaDetalleImpuestos() {
if ('' == cCTiposCfdiComboBox.getValue()) {
cCDetalleCk.setValue(false);
alert('Seleccione un Tipo de Documento en el paso numero 4.');
} else {
cargaImpuestos(cCTiposCfdiComboBox.getStore().getAt(cCTiposCfdiComboBox.selectedIndexField.value), null, null, cCDetalleCk.getValue());
}
}
function cargaImpuestos(record, descuento, motivoDescuento, mostrarDetalle) {
if (null == descuento) descuento = 0;
if (null == motivoDescuento) motivoDescuento = '';
var gridTotales = totalGridPL;
var store = gridTotales.getStore();
store.clearData();
var totalItem = store.recordType;
var nuevo = new totalItem({
Id_ImpuestosAplicables: -1,
ImpuestoNombre: 'SUBTOTAL',
Descuento: 'Motivo del descuento:',
Importe: 0,
TasaOCuota: 0,
EfectoNombre: ''
});
store.add(nuevo);
// nuevo = new totalItem({
// Id_ImpuestosAplicables: 0,
// ImpuestoNombre: 'DESCUENTO',
// Descuento: motivoDescuento,
// Importe: descuento,
// Tasa: 0,
// EfectoNombre: ''
// });
// store.add(nuevo);
// var tipoIndex = 0;
//
// if (mostrarDetalle)
// {
// var traslados = false;
// for (tipoIndex = 0; tipoIndex <= tipsCFDI.length-1; tipoIndex++)
// {
// if (tipsCFDI[tipoIndex].Id_TipoCFDI == record.data.Id_TipoCFDI)
// {
// if ('Traslado' == tipsCFDI[tipoIndex].EfectoNombre)
// {
// traslados = true;
// nuevo = new totalItem({
// Id_ImpuestosAplicables: tipsCFDI[tipoIndex].Id_ImpuestosAplicables,
// ImpuestoNombre: tipsCFDI[tipoIndex].ImpuestoNombre,
// Importe: 0,
// Tasa: tipsCFDI[tipoIndex].Tasa,
// EfectoNombre: tipsCFDI[tipoIndex].EfectoNombre
// });
// store.add(nuevo);
// }
// }
// }
//
// if (traslados)
// {
// nuevo = new totalItem({
// Id_ImpuestosAplicables: -9999,
// ImpuestoNombre: 'Subtotal',
// Importe: 0,
// Tasa: 0,
// EfectoNombre: ''
// });
// store.add(nuevo);
// }
//
// for (tipoIndex = 0; tipoIndex <= tipsCFDI.length-1; tipoIndex++)
// {
// if (tipsCFDI[tipoIndex].Id_TipoCFDI == record.data.Id_TipoCFDI)
// {
// if ('Retenido' == tipsCFDI[tipoIndex].EfectoNombre)
// {
// nuevo = new totalItem({
// Id_ImpuestosAplicables: tipsCFDI[tipoIndex].Id_ImpuestosAplicables,
// ImpuestoNombre: tipsCFDI[tipoIndex].ImpuestoNombre,
// Importe: 0,
// Tasa: tipsCFDI[tipoIndex].Tasa,
// EfectoNombre: tipsCFDI[tipoIndex].EfectoNombre
// });
// store.add(nuevo);
// }
// }
// }
// }
// else
// {
// for (tipoIndex = 0; tipoIndex <= tipsCFDI.length-1; tipoIndex++){
// if (tipsCFDI[tipoIndex].Id_TipoCFDI == record.data.Id_TipoCFDI){
//
// nuevo = new totalItem({
// Id_ImpuestosAplicables: tipsCFDI[tipoIndex].Id_ImpuestosAplicables,
// ImpuestoNombre: tipsCFDI[tipoIndex].ImpuestoNombre,
// Importe: 0,
// Tasa: tipsCFDI[tipoIndex].Tasa,
// EfectoNombre: tipsCFDI[tipoIndex].EfectoNombre
// });
// store.add(nuevo);
// }
// }
// }
nuevo = new totalItem({
Id_ImpuestosAplicables: -2,
ImpuestoNombre: 'TOTAL',
Importe: 0,
Tasa: 0,
EfectoNombre: ''
});
store.add(nuevo);
gridTotales.getView().refresh(false);
calculaTotales(true, true, true);
}
function cargaImpuestos40(record, descuento, motivoDescuento, mostrarDetalle) {
if (null == descuento) descuento = 0;
if (null == motivoDescuento) motivoDescuento = '';
var gridTotales = GridPanelTotalCFDI40;
var store = gridTotales.getStore();
store.clearData();
var totalItem = store.recordType;
var nuevo = new totalItem({
Id_ImpuestosAplicables: -1,
ImpuestoNombre: 'SUBTOTAL',
Descuento: 'Motivo del descuento:',
Importe: 0,
TasaOCuota: 0,
EfectoNombre: ''
});
store.add(nuevo);
nuevo = new totalItem({
Id_ImpuestosAplicables: -2,
ImpuestoNombre: 'TOTAL',
Importe: 0,
Tasa: 0,
EfectoNombre: ''
});
store.add(nuevo);
gridTotales.getView().refresh(false);
calculaTotalesCFDI40(true, true, true);
}
function verificaBotonEliminar(grid, commands, record, row) {
if (false == record.data.Editable) commands.hidden = true;
else
if (record.data.Id_ImpuestosAplicables < 1) commands.hidden = true;
}
function verificaBotonEditarExtraInfo(grid, commands, record, row) {
if (false == record.data.Editable) commands.hidden = true;
else
if (true == record.data.EsComentario) commands.hidden = true;
}
function verificaBotonEliminarConcepto(grid, commands, record, row) {
if (false == record.data.Editable) commands.hidden = true;
}
function imprimePorcentaje(value, metadata, record) {
switch (record.data.TipoFactor) {
case "TASA": {
return 'Tasa: ' + value + " %";
}
break;
case "CUOTA": {
return 'Cuota: ' + Ext.util.Format.usMoney(value);
}
break;
case "EXENTO": {
return "";
}
break;
}
return "";
}
function imprimeCantidad(value, metadata, record) {
if (null != value)
if ("" != value) return value;
else return 1;
else return 1;
}
function elipsisDescripcionConcepto(valorHtml) {
var texto = Ext.util.Format.stripTags(valorHtml);
if (texto.length > 200) return Ext.util.Format.substr(texto, 0, 200) + '...';
else return texto;
}
function imprimeMonedaPrecioUnitario(value, metadata, record) {
if (null != value) {
var datos = value.toString();
if ("" != datos) return Ext.util.Format.usMoney(datos);
else return Ext.util.Format.usMoney(0);
} else return Ext.util.Format.usMoney(0);
}
function imprimeMonedaDescuento(value, metadata, record) {
if (null != value) {
var datos = value.toString();
if ("" != datos) return Ext.util.Format.usMoney(datos);
else return Ext.util.Format.usMoney(0);
} else return Ext.util.Format.usMoney(0);
}
function imprimeMonedaPrecioImporte(value, metadata, record) {
if (null != value) {
var datos = value.toString();
if ("" != datos) return Ext.util.Format.usMoney(datos);
else return Ext.util.Format.usMoney(0);
} else return Ext.util.Format.usMoney(0);
}
function eliminarTotal(comando, record) {
if ("EliminarImpuesto" == comando) {
var preguntar = confirm('Quitar el impuesto: ' + record.data.ImpuestoNombre + ' (' + record.data.EfectoNombre + ') ?');
if (preguntar) {
var storeGrid = totalGridPL.getStore();
storeGrid.remove(record);
if (storeGrid.getCount() == 3) //3 por que es: Subtotal, descuento, total.
alert("Este documento no tiene ningún impuesto.");
calculaTotales(true, true, true);
}
}
}
function verificaCeldas(e) {
//debugger;
return null == e.record.data.Tasa;
if (false == e.record.data.Editable) return false;
else {
if (3 == e.column) {
if (0 == e.row) return false;
else return true;
} else {
if (1 == e.column) {
return (0 == e.record.data.Id_ImpuestosAplicables);
} else if (2 == e.column) {
return (-9999 == e.record.data.Id_ImpuestosAplicables);
} else if (4 == e.column) {
return ((e.record.data.Id_ImpuestosAplicables > 0) && ('Traslado' == e.record.data.EfectoNombre));
} else {
return (e.record.data.Id_ImpuestosAplicables > 0);
}
}
}
}
function verificaCeldaEditable(e) {
//debugger;
if (e.column >= 5 && e.column <= 7) return e.record.data.Editable;
else
if (e.column == 1) return e.record.data.Editable;
else return true;
}
function validaDescuento(roweditor) {
if ("Importe" == roweditor.field) {
if (1 == roweditor.row) {
var subtotal = 0;
var storeGrid = cCConceptosGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
subtotal += storeGrid.getAt(i).data['Importe'];
}
if (roweditor.value >= subtotal) {
alert('El descuento no puede ser igual o mayor al subtotal.');
return false;
}
}
}
return true;
}
function guardarDetalleImpuestos() {
//debugger;
var winDetalleImpuestos = Ext.getCmp('winDetalleImpuestos');
var impuestosTrasladosGridPL = winDetalleImpuestos.findById('impuestosTrasladosGridPL');
var storeimpuestosTrasladosGrid = impuestosTrasladosGridPL.getStore();
var NumImpuestosTraslados = storeimpuestosTrasladosGrid.getCount();
if (0 != NumImpuestosTraslados) {
var TotalImpuestosTraslados = 0;
for (var i = 0; i < NumImpuestosTraslados; i++) {
TotalImpuestosTraslados += storeimpuestosTrasladosGrid.getAt(i).data['Importe'];
}
detalleActual.data.ImpuestosTraslados = Ext.encode(storeimpuestosTrasladosGrid.getRecordsValues());
detalleActual.data.TotalImpuestosTraslados = TotalImpuestosTraslados;
} else {
detalleActual.data.ImpuestosTraslados = null;
detalleActual.data.TotalImpuestosTraslados = null;
}
var impuestosRetenidosGridPL = winDetalleImpuestos.findById('impuestosRetenidosGridPL');
var storeimpuestosRetenidosGrid = impuestosRetenidosGridPL.getStore();
var NumImpuestosRetenidos = storeimpuestosRetenidosGrid.getCount();
if (0 != NumImpuestosRetenidos) {
var TotalImpuestosRetenidos = 0;
for (var i = 0; i < NumImpuestosRetenidos; i++) {
TotalImpuestosRetenidos += storeimpuestosRetenidosGrid.getAt(i).data['Importe'];
}
detalleActual.data.ImpuestosRetenidos = Ext.encode(storeimpuestosRetenidosGrid.getRecordsValues());
detalleActual.data.TotalImpuestosRetenidos = TotalImpuestosRetenidos;
} else {
detalleActual.data.ImpuestosRetenidos = null;
detalleActual.data.TotalImpuestosRetenidos = null;
}
calculaTotales(true, true, true);
winDetalleImpuestos.hide();
}
function guardarDetalleImpuestosCFDI40() {
//debugger;
var winDetalleImpuestos = Ext.getCmp('DesktopWindowDetalleImpuestosCFDI40');
var impuestosTrasladosGridPL = winDetalleImpuestos.findById('impuestosTrasladosGridPLCFDI40');
var storeimpuestosTrasladosGrid = impuestosTrasladosGridPL.getStore();
var NumImpuestosTraslados = storeimpuestosTrasladosGrid.getCount();
if (0 != NumImpuestosTraslados) {
var TotalImpuestosTraslados = 0;
for (var i = 0; i < NumImpuestosTraslados; i++) {
TotalImpuestosTraslados += storeimpuestosTrasladosGrid.getAt(i).data['Importe'];
}
detalleActual.data.ImpuestosTraslados = Ext.encode(storeimpuestosTrasladosGrid.getRecordsValues());
detalleActual.data.TotalImpuestosTraslados = TotalImpuestosTraslados;
} else {
detalleActual.data.ImpuestosTraslados = null;
detalleActual.data.TotalImpuestosTraslados = null;
}
var impuestosRetenidosGridPL = winDetalleImpuestos.findById('impuestosRetenidosGridPLCFDI40');
var storeimpuestosRetenidosGrid = impuestosRetenidosGridPL.getStore();
var NumImpuestosRetenidos = storeimpuestosRetenidosGrid.getCount();
if (0 != NumImpuestosRetenidos) {
var TotalImpuestosRetenidos = 0;
for (var i = 0; i < NumImpuestosRetenidos; i++) {
TotalImpuestosRetenidos += storeimpuestosRetenidosGrid.getAt(i).data['Importe'];
}
detalleActual.data.ImpuestosRetenidos = Ext.encode(storeimpuestosRetenidosGrid.getRecordsValues());
detalleActual.data.TotalImpuestosRetenidos = TotalImpuestosRetenidos;
} else {
detalleActual.data.ImpuestosRetenidos = null;
detalleActual.data.TotalImpuestosRetenidos = null;
}
calculaTotalesCFDI40(true, true, true);
winDetalleImpuestos.hide();
}
function guardarDetalle() {
var winDetalle = Ext.getCmp('detallesWindow');
var aduanasTab = winDetalle.findById('aduanasTab');
var selectedIndexTabAduanas = aduanasTab.items.indexOf(aduanasTab.getActiveTab());
var esValido = false;
switch (selectedIndexTabAduanas) {
case 0:
esValido = validaStoreAduanas();
break;
case 1:
esValido = validaStoreAduanas();
break;
case 2:
esValido = true;
break;
case 3:
esValido = true;
break;
case 4:
esValido = true;
break;
}
if (esValido) {
var info = "";
switch (selectedIndexTabAduanas) {
case 0:
var aduanasGridPanel = winDetalle.findById('aduanasGridPL');
var storeAduanaGrid = aduanasGridPL.getStore();
if (null != storeAduanaGrid.getRecordsValues()) info = Ext.encode(storeAduanaGrid.getRecordsValues());
break;
case 1:
var partesGridPanel = winDetalle.findById('partesGridPL');
var storeParteGrid = partesGridPL.getStore();
if (null != storeParteGrid.getRecordsValues()) info = Ext.encode(storeParteGrid.getRecordsValues());
break;
case 2:
info = winDetalle.findById('predialTextArea').getValue()
break;
case 3:
var impuestosTrasladosGridPanel = winDetalle.findById('impuestosTrasladosGridPL');
var storeimpuestosTrasladosGrid = impuestosTrasladosGridPL.getStore();
if (null != storeimpuestosTrasladosGrid.getRecordsValues()) info = Ext.encode(storeimpuestosTrasladosGrid.getRecordsValues());
break;
case 4:
var impuestosRetenidosGridPanel = winDetalle.findById('impuestosRetenidosGridPL');
var storeimpuestosRetenidosGrid = impuestosRetenidosGridPL.getStore();
if (null != storeimpuestosRetenidosGrid.getRecordsValues()) info = Ext.encode(storeimpuestosRetenidosGrid.getRecordsValues());
break;
}
//Setea la info
detalleActual.data.ExtraInfo = info;
detalleActual.data.ExtraTipo = selectedIndexTabAduanas;
detalleActual = null;
infoAduaneraActual = null;
winDetalle.hide();
}
}
function guardarDetalleCFDI40() {
var winDetalle = Ext.getCmp('detallesWindowCFDI40');
var aduanasTab = winDetalle.findById('aduanasTabCFDI40');
var selectedIndexTabAduanas = aduanasTab.items.indexOf(aduanasTab.getActiveTab());
var esValido = false;
switch (selectedIndexTabAduanas) {
case 0:
esValido = validaStoreAduanasCFDI40();
break;
case 1:
esValido = validaStoreAduanasCFDI40();
break;
case 2:
esValido = true;
break;
case 3:
esValido = true;
break;
case 4:
esValido = true;
break;
case 5:
esValido = true;
break;
}
if (esValido) {
var info = "";
switch (selectedIndexTabAduanas) {
case 0:
var aduanasGridPanel = winDetalle.findById('aduanasGridPLCFDI40');
var storeAduanaGrid = aduanasGridPLCFDI40.getStore();
if (null != storeAduanaGrid.getRecordsValues()) info = Ext.encode(storeAduanaGrid.getRecordsValues());
break;
case 1:
var partesGridPanel = winDetalle.findById('partesGridPLCFDI40');
var storeParteGrid = partesGridPLCFDI40.getStore();
if (null != storeParteGrid.getRecordsValues()) info = Ext.encode(storeParteGrid.getRecordsValues());
break;
case 2:
info = winDetalle.findById('RFCCuentaTerceros').getValue();
info = info + "|" + winDetalle.findById('RSCuentaTerceros').getValue();
info = info + "|" + winDetalle.findById('CPCuentaTerceros').getValue();
info = info + "|" + winDetalle.findById('CBRegFisCuentaTerceros').getValue();
break;
case 3:
info = winDetalle.findById('predialTextAreaCFDI40').getValue();
break;
case 4:
var impuestosTrasladosGridPanel = winDetalle.findById('impuestosTrasladosGridPLCFDI40');
var storeimpuestosTrasladosGrid = impuestosTrasladosGridPLCFDI40.getStore();
if (null != storeimpuestosTrasladosGrid.getRecordsValues()) info = Ext.encode(storeimpuestosTrasladosGrid.getRecordsValues());
break;
case 5:
var impuestosRetenidosGridPanel = winDetalle.findById('impuestosRetenidosGridPLCFDI40');
var storeimpuestosRetenidosGrid = impuestosRetenidosGridPLCFDI40.getStore();
if (null != storeimpuestosRetenidosGrid.getRecordsValues()) info = Ext.encode(storeimpuestosRetenidosGrid.getRecordsValues());
break;
}
//Setea la info
detalleActual.data.ExtraInfo = info;
detalleActual.data.ExtraTipo = selectedIndexTabAduanas;
detalleActual = null;
infoAduaneraActual = null;
winDetalle.hide();
}
}
function guardarInfoAduaneraDetalle() {
if (validaParteStoreAduanas()) {
var win = Ext.getCmp('infoParteAduaneraWindow');
var infoAduaneraParteGridPanel = win.findById('infoAduaneraParteGridPL');
var storeAduanaGrid = infoAduaneraParteGridPL.getStore();
if (null != storeAduanaGrid.getRecordsValues()) infoParteActual.data.InformacionAduaneraExtra = Ext.encode(storeAduanaGrid.getRecordsValues());
infoAduaneraParteGridPL.getView().refresh(false);
infoParteActual = null;
win.hide();
}
}
function guardarInfoAduaneraDetalleCFDI40() {
if (validaParteStoreAduanasCFDI40()) {
var win = Ext.getCmp('DesktopWindowAduanasDeLaParteCFDI40');
var infoAduaneraParteGridPanel = win.findById('infoAduaneraParteGridPLCFDI40');
var storeAduanaGrid = infoAduaneraParteGridPLCFDI40.getStore();
if (null != storeAduanaGrid.getRecordsValues()) infoParteActual.data.InformacionAduaneraExtra = Ext.encode(storeAduanaGrid.getRecordsValues());
infoAduaneraParteGridPLCFDI40.getView().refresh(false);
infoParteActual = null;
win.hide();
}
}
function eliminarParteInfoAduanera(comando, record) {
if ("eliminarParteInfoAduanera" == comando) {
var preguntar = confirm('Eliminar la aduana: ' + record.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = infoAduaneraParteGridPL.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
infoAduaneraParteGridPL.getView().refresh();
}
}
}
function eliminarParteInfoAduaneraCFDI40(comando, record) {
if ("eliminarParteInfoAduanera" == comando) {
var preguntar = confirm('Eliminar la aduana: ' + record.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = infoAduaneraParteGridPLCFDI40.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
infoAduaneraParteGridPLCFDI40.getView().refresh();
}
}
}
function CalculaImpuesto(record) {
//debugger;
switch (record.data.TipoFactor) {
case 'TASA': {
record.data.Importe = redondear(record.data.CantidadBase * (record.data.TasaOCuota / 100.0));
}
break;
case 'CUOTA': {
record.data.Importe = redondear(record.data.TasaOCuota);
}
break;
case 'EXENTO': {
record.data.Importe = 0;
record.data.TasaOCuota = 0;
}
break;
}
}
function CalculaImpuestoCFDI40(record) {
//debugger;
switch (record.data.TipoFactor) {
case 'TASA': {
record.data.Importe = redondear(record.data.CantidadBase * (record.data.TasaOCuota / 100.0));
}
break;
case 'CUOTA': {
record.data.Importe = redondear(record.data.TasaOCuota);
}
break;
case 'EXENTO': {
record.data.Importe = 0;
record.data.TasaOCuota = 0;
}
break;
}
}
function ejecutarComandoConceptos(comando, record) {
detalleActual = record;
//debugger;
if ('EditarDetalleImpuestos' == comando) {
document.getElementById("ValorImporteProducto_Hidden").value = Ext.decode(detalleActual.data.Importe) - Ext.decode(detalleActual.data.Descuento);
var winDetalleImpuestos = Ext.getCmp('winDetalleImpuestos');
var impuestosTrasladosGridPL = winDetalleImpuestos.findById('impuestosTrasladosGridPL');
var storeimpuestosTrasladosGrid = impuestosTrasladosGridPL.getStore();
storeimpuestosTrasladosGrid.clearData();
if (
(null != detalleActual.data.ImpuestosTraslados) && ('' != detalleActual.data.ImpuestosTraslados)) {
var impuestosTraslados = Ext.decode(detalleActual.data.ImpuestosTraslados);
var item = storeimpuestosTrasladosGrid.recordType;
for (var indice = 0; indice <= impuestosTraslados.length - 1; indice++) {
var nuevo = new item({
NumeroIndex: impuestosTraslados[indice].NumeroIndex,
CantidadBase: impuestosTraslados[indice].CantidadBase,
TipoImpuesto: impuestosTraslados[indice].TipoImpuesto,
TipoFactor: impuestosTraslados[indice].TipoFactor,
TasaOCuota: impuestosTraslados[indice].TasaOCuota,
Importe: impuestosTraslados[indice].Importe
});
storeimpuestosTrasladosGrid.add(nuevo);
}
storeimpuestosTrasladosGrid.commitChanges();
}
impuestosTrasladosGridPL.getView().refresh(false);
var impuestosRetenidosGridPL = winDetalleImpuestos.findById('impuestosRetenidosGridPL');
var storeimpuestosRetenidosGrid = impuestosRetenidosGridPL.getStore();
storeimpuestosRetenidosGrid.clearData();
if (
(null != detalleActual.data.ImpuestosRetenidos) && ('' != detalleActual.data.ImpuestosRetenidos)) {
var impuestosRetenidos = Ext.decode(detalleActual.data.ImpuestosRetenidos);
var item = storeimpuestosRetenidosGrid.recordType;
for (var indice = 0; indice <= impuestosRetenidos.length - 1; indice++) {
var nuevo = new item({
NumeroIndex: impuestosRetenidos[indice].NumeroIndex,
CantidadBase: impuestosRetenidos[indice].CantidadBase,
TipoImpuesto: impuestosRetenidos[indice].TipoImpuesto,
TipoFactor: impuestosRetenidos[indice].TipoFactor,
TasaOCuota: impuestosRetenidos[indice].TasaOCuota,
Importe: impuestosRetenidos[indice].Importe
});
storeimpuestosRetenidosGrid.add(nuevo);
}
storeimpuestosRetenidosGrid.commitChanges();
}
impuestosRetenidosGridPL.getView().refresh(false);
winDetalleImpuestos.show();
} else if ('EditarDetalles' == comando) {
var winDetalle = Ext.getCmp('detallesWindow');
if (null != winDetalle) {
var aduanasTab = winDetalle.findById('aduanasTab');
var selectedIndexTabAduanas = aduanasTab.items.indexOf(aduanasTab.getActiveTab());
var aduanasGridPanel = winDetalle.findById('aduanasGridPL');
var storeAduanaGrid = aduanasGridPL.getStore();
storeAduanaGrid.clearData();
var partesGridPanel = winDetalle.findById('partesGridPL');
var storeParteGrid = partesGridPL.getStore();
storeParteGrid.clearData();
winDetalle.findById('predialTextArea').setValue("");
winDetalle.setTitle('Detalle del concepto #' + detalleActual.data.NumeroIndex);
switch (detalleActual.data.ExtraTipo) {
case 0:
//ADUANAS
var aduanas = null;
if (null != detalleActual.data.ExtraInfo && '' != detalleActual.data.ExtraInfo) {
aduanas = Ext.decode(detalleActual.data.ExtraInfo);
var conceptoItem = storeAduanaGrid.recordType;
var indice = 0;
for (indice = 0; indice <= aduanas.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: aduanas[indice].NumeroIndex,
//Aduana: aduanas[indice].Aduana,
//FechaEntrega: new Date(aduanas[indice].FechaEntrega.replace(/-/g, "/").replace(/T00:00:00/g, "")),
Numero: aduanas[indice].Numero
});
storeAduanaGrid.add(nuevo);
}
storeAduanaGrid.commitChanges();
}
break;
case 1:
//PARTES
var partes = null;
if (null != detalleActual.data.ExtraInfo && '' != detalleActual.data.ExtraInfo) {
partes = Ext.decode(detalleActual.data.ExtraInfo);
var conceptoItem = storeParteGrid.recordType;
var indice = 0;
for (indice = 0; indice <= partes.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: partes[indice].NumeroIndex,
Cantidad: partes[indice].Cantidad,
Unidad: partes[indice].Unidad,
Codigo: partes[indice].Codigo,
Descripcion: partes[indice].Descripcion,
ValorUnitario: partes[indice].ValorUnitario,
Importe: partes[indice].Importe,
InformacionAduaneraExtra: partes[indice].InformacionAduaneraExtra
});
storeParteGrid.add(nuevo);
}
storeParteGrid.commitChanges();
}
break;
case 2:
//PREDIAL
winDetalle.findById('predialTextArea').setValue(detalleActual.data.ExtraInfo);
winDetalle.setTitle('Partida #' + detalleActual.data.NumeroIndex + ': Aduanas, Partes y Numero Predial');
break;
case 3:
//Traslados en Conceptos
var impuestosTraslados = null;
if (null != detalleActual.data.ExtraInfo && '' != detalleActual.data.ExtraInfo) {
impuestosTraslados = Ext.decode(detalleActual.data.ExtraInfo);
var conceptoItem = storeimpuestosTrasladosGrid.recordType;
var indice = 0;
for (indice = 0; indice <= impuestosTraslados.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: impuestosTraslados[indice].NumeroIndex,
CantidadBase: impuestosTraslados[indice].CantidadBase,
TipoImpuesto: impuestosTraslados[indice].TipoImpuesto,
TipoFactor: impuestosTraslados[indice].TipoFactor,
TasaOCuota: impuestosTraslados[indice].TasaOCuota,
Importe: impuestosTraslados[indice].Importe
});
storeimpuestosTrasladosGrid.add(nuevo);
}
storeimpuestosTrasladosGrid.commitChanges();
}
break;
case 4:
//Traslados en Conceptos
var impuestosRetenidos = null;
if (null != detalleActual.data.ExtraInfo && '' != detalleActual.data.ExtraInfo) {
impuestosRetenidos = Ext.decode(detalleActual.data.ExtraInfo);
var conceptoItem = storeimpuestosRetenidosGrid.recordType;
var indice = 0;
for (indice = 0; indice <= impuestosRetenidos.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: impuestosRetenidos[indice].NumeroIndex,
CantidadBase: impuestosRetenidos[indice].CantidadBase,
TipoImpuesto: impuestosRetenidos[indice].TipoImpuesto,
TipoFactor: impuestosRetenidos[indice].TipoFactor,
TasaOCuota: impuestosRetenidos[indice].TasaOCuota,
Importe: impuestosRetenidos[indice].Importe
});
storeimpuestosRetenidosGrid.add(nuevo);
}
storeimpuestosRetenidosGrid.commitChanges();
}
break;
}
aduanasGridPL.getView().refresh(false);
partesGridPL.getView().refresh(false);
winDetalle.show();
}
} else {
if ("EliminarConcepto" == comando) {
var preguntar = confirm('¿ Eliminar el concepto: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = cCConceptosGridPL.getStore();
storeGrid.remove(record);
calculaTotales(true, true, true);
}
} else {
if ("LimpiarConcepto" == comando) {
var preguntar = confirm('¿ Limpiar el concepto: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
record.data.Codigo = '';
record.data.Unidad = '';
record.data.Descripcion = '';
record.data.PrecioUnitario = '';
record.data.Cantidad = '';
record.data.Importe = '';
record.data.ExtraInfo = '';
record.data.ExtraTipo = 1;
record.data.Editable = true;
calculaTotales(true, true, true);
}
} else {
if ("Agregar_Comp_Iedu" == comando) {
cIeduPL.autoLoad.params["NumeroIndex"] = record.data.NumeroIndex;
if (null != record.data.Comp_Iedu && "" != record.data.Comp_Iedu && "[]" != record.data.Comp_Iedu) {
var r = Ext.decode(record.data.Comp_Iedu);
cIeduPL.autoLoad.params["Autorizacion"] = r[0].Autorizacion;
cIeduPL.autoLoad.params["Curp"] = r[0].Curp;
cIeduPL.autoLoad.params["NivelEducativo"] = r[0].NivelEducativo;
cIeduPL.autoLoad.params["Nombre"] = r[0].Nombre;
cIeduPL.autoLoad.params["RFC"] = r[0].Rfc;
cIeduPL.autoLoad.params["Version"] = r[0].Version;
cIeduPL.autoLoad.params["Incluir"] = r[0].Incluir;
} else {
cIeduPL.autoLoad.params["Autorizacion"] = '';
cIeduPL.autoLoad.params["Curp"] = '';
cIeduPL.autoLoad.params["NivelEducativo"] = 'Preescolar';
cIeduPL.autoLoad.params["Nombre"] = '';
cIeduPL.autoLoad.params["RFC"] = '';
cIeduPL.autoLoad.params["Incluir"] = 'false';
}
cIeduWindow.show();
Ext.net.DirectMethods.ctl00.abreComplementoIedu();
}
}
}
}
return true;
}
function ejecutarComandoConceptosCFDI40(comando, record) {
detalleActual = record;
//debugger;
if ('EditarDetalleImpuestos' == comando) {
document.getElementById("ValorImporteProducto_HiddenCFDI40").value = Ext.decode(detalleActual.data.Importe) - Ext.decode(detalleActual.data.Descuento);
var winDetalleImpuestos = Ext.getCmp('DesktopWindowDetalleImpuestosCFDI40');
var impuestosTrasladosGridPL = winDetalleImpuestos.findById('impuestosTrasladosGridPLCFDI40');
var storeimpuestosTrasladosGrid = impuestosTrasladosGridPLCFDI40.getStore();
storeimpuestosTrasladosGrid.clearData();
if (
(null != detalleActual.data.ImpuestosTraslados) && ('' != detalleActual.data.ImpuestosTraslados)) {
var impuestosTraslados = Ext.decode(detalleActual.data.ImpuestosTraslados);
var item = storeimpuestosTrasladosGrid.recordType;
for (var indice = 0; indice <= impuestosTraslados.length - 1; indice++) {
var nuevo = new item({
NumeroIndex: impuestosTraslados[indice].NumeroIndex,
CantidadBase: impuestosTraslados[indice].CantidadBase,
TipoImpuesto: impuestosTraslados[indice].TipoImpuesto,
TipoFactor: impuestosTraslados[indice].TipoFactor,
TasaOCuota: impuestosTraslados[indice].TasaOCuota,
Importe: impuestosTraslados[indice].Importe
});
storeimpuestosTrasladosGrid.add(nuevo);
}
storeimpuestosTrasladosGrid.commitChanges();
}
impuestosTrasladosGridPLCFDI40.getView().refresh(false);
var impuestosRetenidosGridPL = winDetalleImpuestos.findById('impuestosRetenidosGridPLCFDI40');
var storeimpuestosRetenidosGrid = impuestosRetenidosGridPLCFDI40.getStore();
storeimpuestosRetenidosGrid.clearData();
if (
(null != detalleActual.data.ImpuestosRetenidos) && ('' != detalleActual.data.ImpuestosRetenidos)) {
var impuestosRetenidos = Ext.decode(detalleActual.data.ImpuestosRetenidos);
var item = storeimpuestosRetenidosGrid.recordType;
for (var indice = 0; indice <= impuestosRetenidos.length - 1; indice++) {
var nuevo = new item({
NumeroIndex: impuestosRetenidos[indice].NumeroIndex,
CantidadBase: impuestosRetenidos[indice].CantidadBase,
TipoImpuesto: impuestosRetenidos[indice].TipoImpuesto,
TipoFactor: impuestosRetenidos[indice].TipoFactor,
TasaOCuota: impuestosRetenidos[indice].TasaOCuota,
Importe: impuestosRetenidos[indice].Importe
});
storeimpuestosRetenidosGrid.add(nuevo);
}
storeimpuestosRetenidosGrid.commitChanges();
}
impuestosRetenidosGridPLCFDI40.getView().refresh(false);
winDetalleImpuestos.show();
} else if ('EditarDetalles' == comando) {
var winDetalle = Ext.getCmp('detallesWindowCFDI40');
if (null != winDetalle) {
var aduanasTab = winDetalle.findById('aduanasTabCFDI40');
var selectedIndexTabAduanas = aduanasTab.items.indexOf(aduanasTab.getActiveTab());
var aduanasGridPanel = winDetalle.findById('aduanasGridPLCFDI40');
var storeAduanaGrid = aduanasGridPLCFDI40.getStore();
storeAduanaGrid.clearData();
var partesGridPanel = winDetalle.findById('partesGridPLCFDI40');
var storeParteGrid = partesGridPLCFDI40.getStore();
storeParteGrid.clearData();
winDetalle.findById('predialTextAreaCFDI40').setValue("");
winDetalle.setTitle('Detalle del concepto #' + detalleActual.data.NumeroIndex);
switch (detalleActual.data.ExtraTipo) {
case 0:
//ADUANAS
var aduanas = null;
if (null != detalleActual.data.ExtraInfo && '' != detalleActual.data.ExtraInfo) {
aduanas = Ext.decode(detalleActual.data.ExtraInfo);
var conceptoItem = storeAduanaGrid.recordType;
var indice = 0;
for (indice = 0; indice <= aduanas.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: aduanas[indice].NumeroIndex,
Numero: aduanas[indice].Numero
});
storeAduanaGrid.add(nuevo);
}
storeAduanaGrid.commitChanges();
}
break;
case 1:
//PARTES
var partes = null;
if (null != detalleActual.data.ExtraInfo && '' != detalleActual.data.ExtraInfo) {
partes = Ext.decode(detalleActual.data.ExtraInfo);
var conceptoItem = storeParteGrid.recordType;
var indice = 0;
for (indice = 0; indice <= partes.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: partes[indice].NumeroIndex,
Cantidad: partes[indice].Cantidad,
Unidad: partes[indice].Unidad,
Codigo: partes[indice].Codigo,
Descripcion: partes[indice].Descripcion,
ValorUnitario: partes[indice].ValorUnitario,
Importe: partes[indice].Importe,
InformacionAduaneraExtra: partes[indice].InformacionAduaneraExtra
});
storeParteGrid.add(nuevo);
}
storeParteGrid.commitChanges();
}
break;
case 2:
//winDetalle.findById('RFCCuentaTerceros').setValue(detalleActual.data.ExtraInfo);
break;
case 3:
//PREDIAL
winDetalle.findById('predialTextAreaCFDI40').setValue(detalleActual.data.ExtraInfo);
winDetalle.setTitle('Partida #' + detalleActual.data.NumeroIndex + ': Aduanas, Partes y Numero Predial');
break;
case 4:
//Traslados en Conceptos
var impuestosTraslados = null;
if (null != detalleActual.data.ExtraInfo && '' != detalleActual.data.ExtraInfo) {
impuestosTraslados = Ext.decode(detalleActual.data.ExtraInfo);
var conceptoItem = storeimpuestosTrasladosGrid.recordType;
var indice = 0;
for (indice = 0; indice <= impuestosTraslados.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: impuestosTraslados[indice].NumeroIndex,
CantidadBase: impuestosTraslados[indice].CantidadBase,
TipoImpuesto: impuestosTraslados[indice].TipoImpuesto,
TipoFactor: impuestosTraslados[indice].TipoFactor,
TasaOCuota: impuestosTraslados[indice].TasaOCuota,
Importe: impuestosTraslados[indice].Importe
});
storeimpuestosTrasladosGrid.add(nuevo);
}
storeimpuestosTrasladosGrid.commitChanges();
}
break;
case 5:
//Traslados en Conceptos
var impuestosRetenidos = null;
if (null != detalleActual.data.ExtraInfo && '' != detalleActual.data.ExtraInfo) {
impuestosRetenidos = Ext.decode(detalleActual.data.ExtraInfo);
var conceptoItem = storeimpuestosRetenidosGrid.recordType;
var indice = 0;
for (indice = 0; indice <= impuestosRetenidos.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: impuestosRetenidos[indice].NumeroIndex,
CantidadBase: impuestosRetenidos[indice].CantidadBase,
TipoImpuesto: impuestosRetenidos[indice].TipoImpuesto,
TipoFactor: impuestosRetenidos[indice].TipoFactor,
TasaOCuota: impuestosRetenidos[indice].TasaOCuota,
Importe: impuestosRetenidos[indice].Importe
});
storeimpuestosRetenidosGrid.add(nuevo);
}
storeimpuestosRetenidosGrid.commitChanges();
}
break;
}
aduanasGridPLCFDI40.getView().refresh(false);
partesGridPLCFDI40.getView().refresh(false);
detallesWindowCFDI40.show();
}
} else {
if ("EliminarConcepto" == comando) {
var preguntar = confirm('¿ Eliminar el concepto: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = GridPanelConceptosCFDI40.getStore();
storeGrid.remove(record);
calculaTotalesCFDI40(true, true, true);
}
} else {
if ("LimpiarConcepto" == comando) {
var preguntar = confirm('¿ Limpiar el concepto: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
record.data.Codigo = '';
record.data.Unidad = '';
record.data.Descripcion = '';
record.data.PrecioUnitario = '';
record.data.Cantidad = '';
record.data.Importe = '';
record.data.ExtraInfo = '';
record.data.ExtraTipo = 1;
record.data.Editable = true;
calculaTotalesCFDI40(true, true, true);
}
} else {
if ("Agregar_Comp_Iedu" == comando) {
cIeduPL.autoLoad.params["NumeroIndex"] = record.data.NumeroIndex;
if (null != record.data.Comp_Iedu && "" != record.data.Comp_Iedu && "[]" != record.data.Comp_Iedu) {
var r = Ext.decode(record.data.Comp_Iedu);
cIeduPL.autoLoad.params["Autorizacion"] = r[0].Autorizacion;
cIeduPL.autoLoad.params["Curp"] = r[0].Curp;
cIeduPL.autoLoad.params["NivelEducativo"] = r[0].NivelEducativo;
cIeduPL.autoLoad.params["Nombre"] = r[0].Nombre;
cIeduPL.autoLoad.params["RFC"] = r[0].Rfc;
cIeduPL.autoLoad.params["Version"] = r[0].Version;
cIeduPL.autoLoad.params["Incluir"] = r[0].Incluir;
} else {
cIeduPL.autoLoad.params["Autorizacion"] = '';
cIeduPL.autoLoad.params["Curp"] = '';
cIeduPL.autoLoad.params["NivelEducativo"] = 'Preescolar';
cIeduPL.autoLoad.params["Nombre"] = '';
cIeduPL.autoLoad.params["RFC"] = '';
cIeduPL.autoLoad.params["Incluir"] = 'false';
}
cIeduWindow.show();
Ext.net.DirectMethods.ctl00.abreComplementoIedu();
}
}
}
}
return true;
}
function eliminarInfoAduanera(comando, record) {
if ("EliminarAduana" == comando) {
var preguntar = confirm('Eliminar la aduana: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = aduanasGridPL.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
aduanasGridPL.getView().refresh();
}
}
}
function eliminarInfoAduaneraCFDI40(comando, record) {
if ("EliminarAduana" == comando) {
var preguntar = confirm('Eliminar la aduana: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = aduanasGridPLCFDI40.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
aduanasGridPLCFDI40.getView().refresh();
}
}
}
function ejecutaComandoParte(comando, record) {
infoParteActual = record;
if ('mostrarParteInfoAduanera' == comando) {
var winDetalleInfo = Ext.getCmp('infoParteAduaneraWindow');
winDetalleInfo.setTitle('Parte #' + infoParteActual.data.NumeroIndex + ': Aduanas');
if (null != winDetalleInfo) {
var detalles = null;
var infoAduaneraParteGridPanel = winDetalleInfo.findById('infoAduaneraParteGridPL');
var storeAduanaGrid = infoAduaneraParteGridPL.getStore();
storeAduanaGrid.clearData();
if (null != infoParteActual.data.InformacionAduaneraExtra && '' != infoParteActual.data.InformacionAduaneraExtra) {
detalles = Ext.decode(infoParteActual.data.InformacionAduaneraExtra);
var conceptoItem = storeAduanaGrid.recordType;
var indice = 0;
for (indice = 0; indice <= detalles.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: detalles[indice].NumeroIndex,
Aduana: detalles[indice].Aduana,
FechaEntrega: new Date(detalles[indice].FechaEntrega.replace(/-/g, "/").replace(/T00:00:00/g, "")),
Numero: detalles[indice].Numero
});
storeAduanaGrid.add(nuevo);
}
storeAduanaGrid.commitChanges();
}
infoAduaneraParteGridPL.getView().refresh(false);
winDetalleInfo.show();
}
} else {
if ("eliminarParte" == comando) {
var preguntar = confirm('Eliminar la parte numero ' + infoParteActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = partesGridPL.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
partesGridPL.getView().refresh();
}
}
}
}
function ejecutaComandoParteCFDI40(comando, record) {
infoParteActual = record;
if ('mostrarParteInfoAduanera' == comando) {
var winDetalleInfo = Ext.getCmp('DesktopWindowAduanasDeLaParteCFDI40');
winDetalleInfo.setTitle('Parte #' + infoParteActual.data.NumeroIndex + ': Aduanas');
if (null != winDetalleInfo) {
var detalles = null;
var infoAduaneraParteGridPanel = winDetalleInfo.findById('infoAduaneraParteGridPLCFDI40');
var storeAduanaGrid = infoAduaneraParteGridPLCFDI40.getStore();
storeAduanaGrid.clearData();
if (null != infoParteActual.data.InformacionAduaneraExtra && '' != infoParteActual.data.InformacionAduaneraExtra) {
detalles = Ext.decode(infoParteActual.data.InformacionAduaneraExtra);
var conceptoItem = storeAduanaGrid.recordType;
var indice = 0;
for (indice = 0; indice <= detalles.length - 1; indice++) {
var nuevo = new conceptoItem({
NumeroIndex: detalles[indice].NumeroIndex,
Aduana: detalles[indice].Aduana,
FechaEntrega: new Date(detalles[indice].FechaEntrega.replace(/-/g, "/").replace(/T00:00:00/g, "")),
Numero: detalles[indice].Numero
});
storeAduanaGrid.add(nuevo);
}
storeAduanaGrid.commitChanges();
}
infoAduaneraParteGridPLCFDI40.getView().refresh(false);
winDetalleInfo.show();
}
} else {
if ("eliminarParte" == comando) {
var preguntar = confirm('Eliminar la parte numero ' + infoParteActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = partesGridPLCFDI40.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
partesGridPLCFDI40.getView().refresh();
}
}
}
}
function agregaParteAduana() {
if (validaParteStoreAduanas()) {
var conceptoItem = infoAduaneraParteGridPL.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: infoAduaneraParteGridPL.getStore().getCount() + 1,
Aduana: '',
FechaEntrega: null,
Numero: ''
});
infoAduaneraParteGridPL.getStore().add(nuevo);
infoAduaneraParteGridPL.startEditing(infoAduaneraParteGridPL.getStore().getCount() - 1, 1);
}
}
function agregaParteAduanaCFDI40() {
if (validaParteStoreAduanasCFDI40()) {
var conceptoItem = infoAduaneraParteGridPLCFDI40.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: infoAduaneraParteGridPLCFDI40.getStore().getCount() + 1,
Aduana: '',
FechaEntrega: null,
Numero: ''
});
infoAduaneraParteGridPLCFDI40.getStore().add(nuevo);
infoAduaneraParteGridPLCFDI40.startEditing(infoAduaneraParteGridPLCFDI40.getStore().getCount() - 1, 1);
}
}
function validaParteStoreAduanas() {
var valido = true;
var storeGrid = infoAduaneraParteGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (null == storeGrid.getAt(i).data['Aduana'] || '' == storeGrid.getAt(i).data['Aduana']) {
valido = false;
infoAduaneraParteGridPL.startEditing(i, 1);
break;
}
if (null == storeGrid.getAt(i).data['FechaEntrega']) {
valido = false;
infoAduaneraParteGridPL.startEditing(i, 2);
break;
}
if (null == storeGrid.getAt(i).data['Numero'] || '' == storeGrid.getAt(i).data['Numero']) {
valido = false;
infoAduaneraParteGridPL.startEditing(i, 3);
break;
}
}
return valido;
}
function validaParteStoreAduanasCFDI40() {
var valido = true;
var storeGrid = infoAduaneraParteGridPLCFDI40.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (null == storeGrid.getAt(i).data['Aduana'] || '' == storeGrid.getAt(i).data['Aduana']) {
valido = false;
infoAduaneraParteGridPLCFDI40.startEditing(i, 1);
break;
}
if (null == storeGrid.getAt(i).data['FechaEntrega']) {
valido = false;
infoAduaneraParteGridPLCFDI40.startEditing(i, 2);
break;
}
if (null == storeGrid.getAt(i).data['Numero'] || '' == storeGrid.getAt(i).data['Numero']) {
valido = false;
infoAduaneraParteGridPLCFDI40.startEditing(i, 3);
break;
}
}
return valido;
}
function eEmisorValidaRegimenStore() {
var valido = true;
var storeGrid = eEmRegimenFiscalGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if ('' == storeGrid.getAt(i).data['Descripcion'].trim()) {
valido = false;
eEmRegimenFiscalGridPL.startEditing(i, 1);
break;
}
}
return valido;
}
function eEmisorAgregarRegimenFiscalEditor() {
if (eEmisorValidaRegimenStore()) {
var conceptoItem = eEmRegimenFiscalGridPL.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: eEmRegimenFiscalGridPL.getStore().getCount() + 1,
Descripcion: ''
});
eEmRegimenFiscalGridPL.getStore().add(nuevo);
eEmRegimenFiscalGridPL.startEditing(eEmRegimenFiscalGridPL.getStore().getCount() - 1, 1);
}
}
function agregaConcepto() {
if (validaStore(false)) {
var conceptoItem = cCConceptosGridPL.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: cCConceptosGridPL.getStore().getCount() + 1,
EsComentario: false,
Codigo: '',
Unidad: '',
Descripcion: '',
Descuento: 0,
PrecioUnitario: 0,
Cantidad: 1,
Importe: 0,
ExtraInfo: '[]',
ExtraTipo: 0,
Editable: true
});
cCConceptosGridPL.getStore().add(nuevo);
cCConceptosGridPL.startEditing(cCConceptosGridPL.getStore().getCount() - 1, 2);
}
}
function agregaConceptoCFDI40() {
if (validaStoreCFDI40(false)) {
var conceptoItem = GridPanelConceptosCFDI40.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: GridPanelConceptosCFDI40.getStore().getCount() + 1,
EsComentario: false,
Codigo: '84111506',
Unidad: 'ACT',
Descripcion: 'Pago',
Descuento: 0,
PrecioUnitario: 0,
Cantidad: 1,
Importe: 0,
ExtraInfo: '[]',
ExtraTipo: 0,
Editable: true,
ObjImpuesto: '01'
});
GridPanelConceptosCFDI40.getStore().add(nuevo);
GridPanelConceptosCFDI40.startEditing(GridPanelConceptosCFDI40.getStore().getCount() - 1, 2);
}
}
function agregaConceptoDePago() {
if (validaStore(false)) {
var conceptoItem = cCConceptosGridPL.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: cCConceptosGridPL.getStore().getCount() + 1,
EsComentario: false,
Codigo: '84111506',
Unidad: 'ACT',
Descripcion: 'Pago',
Descuento: 0,
PrecioUnitario: 0,
Cantidad: 1,
Importe: 0,
ExtraInfo: '[]',
ExtraTipo: 0,
Editable: true
});
cCConceptosGridPL.getStore().add(nuevo);
cCConceptosGridPL.startEditing(cCConceptosGridPL.getStore().getCount() - 1, 2);
}
}
function actualizaTotalComplementoImpLocal(subtotal, total) {
if ('undefined' != typeof(tabImpuestosLoc) && null != tabImpuestosLoc) {
total = tabImpuestosLoc.getBody().reCalculaTotales(subtotal, total);
}
return total;
}
function actualizaTotalComplementoImpLocalCFDI40(subtotal, total) {
if ('undefined' != typeof(tabImpuestosLoc) && null != tabImpuestosLoc) {
total = tabImpuestosLoc.getBody().reCalculaTotalesCFDI40(subtotal, total);
}
return total;
}
function reCalculaTotales(columaEdit) {
calculaTotales(true, true, true);
return;
var gridTotales = totalGridPL;
if (store.getAt(1).data['Importe'] == "") {
store.getAt(1).data['Importe'] = 0;
}
if (1 == columaEdit.row) {
calculaTotales(false, true, true);
} else {
if (((gridTotales.getStore().getCount() - 1) == columaEdit.row) && ('TOTAL' == columaEdit.record.data.ImpuestoNombre)) {
cCTotalTF.setValue(convertirNumLetras(redondear(columaEdit.record.data.Importe)));
} else {
if (4 == columaEdit.column) {
var mensajeError = "";
var subtotal = 0;
var subtotalReal = 0;
var total = 0;
var descuento = 0;
var importeIEPS = 0;
var impuestosTraslados = 0;
var impuestosRetenidos = 0;
//Grid conceptos
var storeGrid = cCConceptosGridPL.getStore();
var store = gridTotales.getStore();
subtotal = store.getAt(0).data['Importe'];
descuento = store.getAt(1).data['Importe'];
if (descuento > subtotal) {
store.getAt(1).data['Importe'] = 0;
descuento = 0;
mensajeError = "El descuento se asigno a 0 por que el descuento era mayor que el subtotal.";
}
//Asigna el subtotal
subtotalReal = subtotal = (subtotal - descuento);
//calculo IEPS para sumarlo al subtotal
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' == store.getAt(i).data['ImpuestoNombre']) {
if (columaEdit.row == i) store.getAt(i).data['Importe'] = (subtotalReal * (store.getAt(i).data['Tasa'] / 100));
importeIEPS += store.getAt(i).data['Importe'];
}
}
}
}
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' != store.getAt(i).data['ImpuestoNombre']) {
if (columaEdit.row == i) store.getAt(i).data['Importe'] = subtotalReal * (store.getAt(i).data['Tasa'] / 100);
impuestosTraslados += store.getAt(i).data['Importe'];
}
} else {
if (columaEdit.row == i) store.getAt(i).data['Importe'] = subtotalReal * (store.getAt(i).data['Tasa'] / 100);
impuestosRetenidos += store.getAt(i).data['Importe'];
}
}
}
//recalcula el total total
total = subtotalReal + importeIEPS + impuestosTraslados - impuestosRetenidos;
//aplica el complemento de impuestos locales
total = actualizaTotalComplementoImpLocal(subtotalReal, total);
store.getAt(store.getCount() - 1).data['Importe'] = total;
gridTotales.getView().refresh(false);
cCTotalTF.setValue(convertirNumLetras(redondear(total)));
if ("" != mensajeError) {
alert(mensajeError);
}
} else {
sumaTotales();
}
}
}
}
function reCalculaTotalesCFDI40(columaEdit) {
calculaTotalesCFDI40(true, true, true);
return;
var gridTotales = GridPanelTotalCFDI40;
if (store.getAt(1).data['Importe'] == "") {
store.getAt(1).data['Importe'] = 0;
}
if (1 == columaEdit.row) {
calculaTotalesCFDI40(false, true, true);
} else {
if (((gridTotales.getStore().getCount() - 1) == columaEdit.row) && ('TOTAL' == columaEdit.record.data.ImpuestoNombre)) {
TSCantidadLetraCFDI40.setValue(convertirNumLetras(redondear(columaEdit.record.data.Importe)));
} else {
if (4 == columaEdit.column) {
var mensajeError = "";
var subtotal = 0;
var subtotalReal = 0;
var total = 0;
var descuento = 0;
var importeIEPS = 0;
var impuestosTraslados = 0;
var impuestosRetenidos = 0;
//Grid conceptos
var storeGrid = GridPanelConceptosCFDI40.getStore();
var store = gridTotales.getStore();
subtotal = store.getAt(0).data['Importe'];
descuento = store.getAt(1).data['Importe'];
if (descuento > subtotal) {
store.getAt(1).data['Importe'] = 0;
descuento = 0;
mensajeError = "El descuento se asigno a 0 por que el descuento era mayor que el subtotal.";
}
//Asigna el subtotal
subtotalReal = subtotal = (subtotal - descuento);
//calculo IEPS para sumarlo al subtotal
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' == store.getAt(i).data['ImpuestoNombre']) {
if (columaEdit.row == i) store.getAt(i).data['Importe'] = (subtotalReal * (store.getAt(i).data['Tasa'] / 100));
importeIEPS += store.getAt(i).data['Importe'];
}
}
}
}
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' != store.getAt(i).data['ImpuestoNombre']) {
if (columaEdit.row == i) store.getAt(i).data['Importe'] = subtotalReal * (store.getAt(i).data['Tasa'] / 100);
impuestosTraslados += store.getAt(i).data['Importe'];
}
} else {
if (columaEdit.row == i) store.getAt(i).data['Importe'] = subtotalReal * (store.getAt(i).data['Tasa'] / 100);
impuestosRetenidos += store.getAt(i).data['Importe'];
}
}
}
//recalcula el total total
total = subtotalReal + importeIEPS + impuestosTraslados - impuestosRetenidos;
//aplica el complemento de impuestos locales
total = actualizaTotalComplementoImpLocalCFDI40(subtotalReal, total);
store.getAt(store.getCount() - 1).data['Importe'] = total;
gridTotales.getView().refresh(false);
TSCantidadLetraCFDI40.setValue(convertirNumLetras(redondear(total)));
if ("" != mensajeError) {
alert(mensajeError);
}
} else {
sumaTotalesCFDI40();
}
}
}
}
function determinaCalculoTotales(columnaEdit) {
calculaTotales(true, true, true);
}
function determinaCalculoTotalesCFDI40(columnaEdit) {
calculaTotalesCFDI40(true, true, true);
}
function calculaTotales(actualizaConceptos, actualizaImpuestos, aplicarImpuestoLocal) {
//debugger;
var mensajeError = "";
var subtotal = 0;
var subtotalReal = 0;
var total = 0;
var descuento = 0;
var impuestosTraslados = 0;
var impuestosRetenidos = 0;
//Suma (Cantidad * Importe)
var storeGrid = cCConceptosGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
if ((null != storeGrid.getAt(i).data['PrecioUnitario'] && storeGrid.getAt(i).data['PrecioUnitario'].toString().length > 0) && (null != storeGrid.getAt(i).data['Cantidad'] && storeGrid.getAt(i).data['Cantidad'].toString().length > 0)) {
if (actualizaConceptos) storeGrid.getAt(i).data['Importe'] = parseFloat(storeGrid.getAt(i).data['PrecioUnitario']) * parseFloat(storeGrid.getAt(i).data['Cantidad']);
if (false == storeGrid.getAt(i).data['EsComentario']) {
subtotal += parseFloat(storeGrid.getAt(i).data['Importe']);
if (storeGrid.getAt(i).data['Descuento'] == "") {
storeGrid.getAt(i).data['Descuento'] = 0;
}
descuento += parseFloat(storeGrid.getAt(i).data['Descuento']);
if (null != storeGrid.getAt(i).data['TotalImpuestosTraslados']) {
impuestosTraslados += parseFloat(storeGrid.getAt(i).data['TotalImpuestosTraslados']);
}
if (null != storeGrid.getAt(i).data['TotalImpuestosRetenidos']) {
impuestosRetenidos += parseFloat(storeGrid.getAt(i).data['TotalImpuestosRetenidos']);
}
}
subtotal = redondear(subtotal);
} else {
if (actualizaConceptos) storeGrid.getAt(i).data['Importe'] = null;
}
}
cCConceptosGridPL.getView().refresh();
//debugger;
subtotalReal = (subtotal - descuento);
total = subtotalReal + impuestosTraslados - impuestosRetenidos;
if (aplicarImpuestoLocal) {
total = actualizaTotalComplementoImpLocal(subtotalReal, total);
}
var gridTotales = totalGridPL;
var store = gridTotales.getStore();
var clsTotal = store.recordType;
store.clearData();
{
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Subtotal",
Importe: subtotal,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
if (0 != descuento) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Descuento",
Importe: descuento,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
var cCDetalleCk = Ext.getCmp('cCDetalleCk');
if (true == cCDetalleCk.getValue()) {
var arrTraslados = {};
var arrRetenidos = {};
for (var i = 0; i < storeGrid.getCount(); i++) {
var impuestosTraslados = Ext.decode(storeGrid.getAt(i).data['ImpuestosTraslados']);
for (var indice = 0; indice <= impuestosTraslados.length - 1; indice++) {
var key = impuestosTraslados[indice].TipoImpuesto + impuestosTraslados[indice].TipoFactor + impuestosTraslados[indice].TasaOCuota;
var ant = arrTraslados[key];
if (null == ant) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: impuestosTraslados[indice].TipoImpuesto,
Importe: impuestosTraslados[indice].Importe,
TipoFactor: impuestosTraslados[indice].TipoFactor,
TasaOCuota: impuestosTraslados[indice].TasaOCuota,
EfectoNombre: "Traslado",
Editable: false
});
arrTraslados[key] = nuevo;
} else {
ant.data.Importe = ant.data.Importe + impuestosTraslados[indice].Importe;
}
}
var impuestosRetenidos = Ext.decode(storeGrid.getAt(i).data['ImpuestosRetenidos']);
for (var indice = 0; indice <= impuestosRetenidos.length - 1; indice++) {
var key = impuestosRetenidos[indice].TipoImpuesto + impuestosRetenidos[indice].TipoFactor + impuestosRetenidos[indice].TasaOCuota;
var ant = arrRetenidos[key];
if (null == ant) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: impuestosRetenidos[indice].TipoImpuesto,
Importe: impuestosRetenidos[indice].Importe,
TipoFactor: impuestosRetenidos[indice].TipoFactor,
TasaOCuota: impuestosRetenidos[indice].TasaOCuota,
EfectoNombre: "Retenido",
Editable: false
});
arrRetenidos[key] = nuevo;
} else {
ant.data.Importe = ant.data.Importe + impuestosRetenidos[indice].Importe;
}
}
}
for (var key in arrTraslados) {
store.add(arrTraslados[key]);
}
for (var key in arrRetenidos) {
store.add(arrRetenidos[key]);
}
} else {
if (0 != impuestosTraslados) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Imp. Trasladados",
Importe: impuestosTraslados,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
if (0 != impuestosRetenidos) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Imp. Retenidos",
Importe: impuestosRetenidos,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
} {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Total",
Importe: total,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
store.commitChanges();
gridTotales.getView().refresh(false);
cCTotalTF.setValue(convertirNumLetras(redondear(total)));
if ("" != mensajeError) {
alert(mensajeError);
}
}
function calculaTotalesCFDI40(actualizaConceptos, actualizaImpuestos, aplicarImpuestoLocal) {
//debugger;
var mensajeError = "";
var subtotal = 0;
var subtotalReal = 0;
var total = 0;
var descuento = 0;
var impuestosTraslados = 0;
var impuestosRetenidos = 0;
//Suma (Cantidad * Importe)
var storeGrid = GridPanelConceptosCFDI40.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
if ((null != storeGrid.getAt(i).data['PrecioUnitario'] && storeGrid.getAt(i).data['PrecioUnitario'].toString().length > 0) && (null != storeGrid.getAt(i).data['Cantidad'] && storeGrid.getAt(i).data['Cantidad'].toString().length > 0)) {
if (actualizaConceptos) storeGrid.getAt(i).data['Importe'] = parseFloat(storeGrid.getAt(i).data['PrecioUnitario']) * parseFloat(storeGrid.getAt(i).data['Cantidad']);
if (false == storeGrid.getAt(i).data['EsComentario']) {
subtotal += parseFloat(storeGrid.getAt(i).data['Importe']);
if (storeGrid.getAt(i).data['Descuento'] == "") {
storeGrid.getAt(i).data['Descuento'] = 0;
}
descuento += parseFloat(storeGrid.getAt(i).data['Descuento']);
if (null != storeGrid.getAt(i).data['TotalImpuestosTraslados']) {
impuestosTraslados += parseFloat(storeGrid.getAt(i).data['TotalImpuestosTraslados']);
}
if (null != storeGrid.getAt(i).data['TotalImpuestosRetenidos']) {
impuestosRetenidos += parseFloat(storeGrid.getAt(i).data['TotalImpuestosRetenidos']);
}
}
subtotal = redondear(subtotal);
} else {
if (actualizaConceptos) storeGrid.getAt(i).data['Importe'] = null;
}
}
GridPanelConceptosCFDI40.getView().refresh();
//debugger;
subtotalReal = (subtotal - descuento);
total = subtotalReal + impuestosTraslados - impuestosRetenidos;
if (aplicarImpuestoLocal) {
total = actualizaTotalComplementoImpLocalCFDI40(subtotalReal, total);
}
var gridTotales = GridPanelTotalCFDI40;
var store = gridTotales.getStore();
var clsTotal = store.recordType;
store.clearData();
{
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Subtotal",
Importe: subtotal,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
if (0 != descuento) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Descuento",
Importe: descuento,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
var cCDetalleCk = Ext.getCmp('CHbCalcularTotalesCFDI40');
if (true == cCDetalleCk.getValue()) {
var arrTraslados = {};
var arrRetenidos = {};
for (var i = 0; i < storeGrid.getCount(); i++) {
var impuestosTraslados = Ext.decode(storeGrid.getAt(i).data['ImpuestosTraslados']);
for (var indice = 0; indice <= impuestosTraslados.length - 1; indice++) {
var key = impuestosTraslados[indice].TipoImpuesto + impuestosTraslados[indice].TipoFactor + impuestosTraslados[indice].TasaOCuota;
var ant = arrTraslados[key];
if (null == ant) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: impuestosTraslados[indice].TipoImpuesto,
Importe: impuestosTraslados[indice].Importe,
TipoFactor: impuestosTraslados[indice].TipoFactor,
TasaOCuota: impuestosTraslados[indice].TasaOCuota,
EfectoNombre: "Traslado",
Editable: false
});
arrTraslados[key] = nuevo;
} else {
ant.data.Importe = ant.data.Importe + impuestosTraslados[indice].Importe;
}
}
var impuestosRetenidos = Ext.decode(storeGrid.getAt(i).data['ImpuestosRetenidos']);
for (var indice = 0; indice <= impuestosRetenidos.length - 1; indice++) {
var key = impuestosRetenidos[indice].TipoImpuesto + impuestosRetenidos[indice].TipoFactor + impuestosRetenidos[indice].TasaOCuota;
var ant = arrRetenidos[key];
if (null == ant) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: impuestosRetenidos[indice].TipoImpuesto,
Importe: impuestosRetenidos[indice].Importe,
TipoFactor: impuestosRetenidos[indice].TipoFactor,
TasaOCuota: impuestosRetenidos[indice].TasaOCuota,
EfectoNombre: "Retenido",
Editable: false
});
arrRetenidos[key] = nuevo;
} else {
ant.data.Importe = ant.data.Importe + impuestosRetenidos[indice].Importe;
}
}
}
for (var key in arrTraslados) {
store.add(arrTraslados[key]);
}
for (var key in arrRetenidos) {
store.add(arrRetenidos[key]);
}
} else {
if (0 != impuestosTraslados) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Imp. Trasladados",
Importe: impuestosTraslados,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
if (0 != impuestosRetenidos) {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Imp. Retenidos",
Importe: impuestosRetenidos,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
} {
var nuevo = new clsTotal({
Id_ImpuestosAplicables: store.getCount(),
Descuento: "",
ImpuestoNombre: "Total",
Importe: total,
TipoFactor: null,
TasaOCuota: null,
EfectoNombre: "",
Editable: false
});
store.add(nuevo);
}
store.commitChanges();
gridTotales.getView().refresh(false);
TSCantidadLetraCFDI40.setValue(convertirNumLetras(redondear(total)));
if ("" != mensajeError) {
alert(mensajeError);
}
}
function sumaTotalesCFDI40() {
calculaTotalesCFDI40(true, true, true);
return;
var mensajeError = "";
var subtotal = 0;
var subtotalReal = 0;
var total = 0;
var descuento = 0;
var importeIEPS = 0;
var impuestosTraslados = 0;
var impuestosRetenidos = 0;
//Suma (Cantidad * Importe)
var storeGrid = GridPanelConceptosCFDI40.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if ((null != storeGrid.getAt(i).data['PrecioUnitario'] && storeGrid.getAt(i).data['PrecioUnitario'].toString().length > 0) && (null != storeGrid.getAt(i).data['Cantidad'] && storeGrid.getAt(i).data['Cantidad'].toString().length > 0)) {
if (false == storeGrid.getAt(i).data['EsComentario']) subtotal += storeGrid.getAt(i).data['Importe'];
}
}
//Descuento
var gridTotales = fitTotalPLCFDI40;
var store = gridTotales.getStore();
descuento = store.getAt(1).data['Importe'];
if (descuento > subtotal) {
store.getAt(1).data['Importe'] = 0;
descuento = 0;
mensajeError = "El descuento se asigno a 0 por que el descuento era mayor que el subtotal.";
}
store.getAt(0).data['Importe'] = subtotal;
subtotalReal = subtotal = (subtotal - descuento);
//calculo IEPS para sumarlo al subtotal
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' == store.getAt(i).data['ImpuestoNombre']) {
importeIEPS += store.getAt(i).data['Importe'];
}
}
}
}
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' != store.getAt(i).data['ImpuestoNombre']) {
impuestosTraslados += store.getAt(i).data['Importe'];
}
} else {
impuestosRetenidos += store.getAt(i).data['Importe'];
}
}
}
total = subtotalReal + importeIEPS + impuestosTraslados - impuestosRetenidos;
//aplica el complemento de impuestos locales
total = actualizaTotalComplementoImpLocalCFDI40(subtotalReal, total);
store.getAt(store.getCount() - 1).data['Importe'] = total;
gridTotales.getView().refresh(false);
TSCantidadLetraCFDI40.setValue(convertirNumLetras(redondear(total)));
if ("" != mensajeError) {
alert(mensajeError);
}
}
function sumaTotales() {
calculaTotales(true, true, true);
return;
var mensajeError = "";
var subtotal = 0;
var subtotalReal = 0;
var total = 0;
var descuento = 0;
var importeIEPS = 0;
var impuestosTraslados = 0;
var impuestosRetenidos = 0;
//Suma (Cantidad * Importe)
var storeGrid = cCConceptosGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if ((null != storeGrid.getAt(i).data['PrecioUnitario'] && storeGrid.getAt(i).data['PrecioUnitario'].toString().length > 0) && (null != storeGrid.getAt(i).data['Cantidad'] && storeGrid.getAt(i).data['Cantidad'].toString().length > 0)) {
if (false == storeGrid.getAt(i).data['EsComentario']) subtotal += storeGrid.getAt(i).data['Importe'];
}
}
//Descuento
var gridTotales = totalGridPL;
var store = gridTotales.getStore();
descuento = store.getAt(1).data['Importe'];
if (descuento > subtotal) {
store.getAt(1).data['Importe'] = 0;
descuento = 0;
mensajeError = "El descuento se asigno a 0 por que el descuento era mayor que el subtotal.";
}
store.getAt(0).data['Importe'] = subtotal;
subtotalReal = subtotal = (subtotal - descuento);
//calculo IEPS para sumarlo al subtotal
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' == store.getAt(i).data['ImpuestoNombre']) {
importeIEPS += store.getAt(i).data['Importe'];
}
}
}
}
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' != store.getAt(i).data['ImpuestoNombre']) {
impuestosTraslados += store.getAt(i).data['Importe'];
}
} else {
impuestosRetenidos += store.getAt(i).data['Importe'];
}
}
}
total = subtotalReal + importeIEPS + impuestosTraslados - impuestosRetenidos;
//aplica el complemento de impuestos locales
total = actualizaTotalComplementoImpLocal(subtotalReal, total);
store.getAt(store.getCount() - 1).data['Importe'] = total;
gridTotales.getView().refresh(false);
cCTotalTF.setValue(convertirNumLetras(redondear(total)));
if ("" != mensajeError) {
alert(mensajeError);
}
}
function reSumaTotales() {
var mensajeError = "";
var subtotal = 0;
var subtotalReal = 0;
var total = 0;
var descuento = 0;
var importeIEPS = 0;
var impuestosTraslados = 0;
var impuestosRetenidos = 0;
//Suma (Cantidad * Importe)
var storeGrid = cCConceptosGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if ((null != storeGrid.getAt(i).data['PrecioUnitario'] && storeGrid.getAt(i).data['PrecioUnitario'].toString().length > 0) && (null != storeGrid.getAt(i).data['Cantidad'] && storeGrid.getAt(i).data['Cantidad'].toString().length > 0)) {
if (false == storeGrid.getAt(i).data['EsComentario']) subtotal += storeGrid.getAt(i).data['Importe'];
}
}
//Descuento
var gridTotales = totalGridPL;
var store = gridTotales.getStore();
descuento = store.getAt(1).data['Importe'];
subtotalReal = subtotal = (subtotal - descuento);
//calculo IEPS para sumarlo al subtotal
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' == store.getAt(i).data['ImpuestoNombre']) {
importeIEPS += store.getAt(i).data['Importe'];
}
}
}
}
for (var i = 2; i <= store.getCount() - 1; i++) {
if (store.getAt(i).data['Id_ImpuestosAplicables'] > 0) {
if ('Traslado' == store.getAt(i).data['EfectoNombre']) {
if ('IEPS' != store.getAt(i).data['ImpuestoNombre']) {
impuestosTraslados += store.getAt(i).data['Importe'];
}
} else {
impuestosRetenidos += store.getAt(i).data['Importe'];
}
}
}
total = subtotalReal + importeIEPS + impuestosTraslados - impuestosRetenidos;
store.getAt(store.getCount() - 1).data['Importe'] = total;
gridTotales.getView().refresh(false);
cCTotalTF.setValue(convertirNumLetras(redondear(total)));
}
function redondear(num) {
var original = parseFloat(num);
var result = Math.round(original * 100) / 100;
return result;
}
function cCValidaReceptor() {
var valido = true;
if (false == infoReceptorFormPL.getForm().isValid()) {
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información del Receptor, por favor ingrese la información solicitada."
});
valido = false;
}
return valido;
}
function cCValidaReceptor40() {
var valido = true;
if (false == FormPanelReceptorCFDI40.getForm().isValid()) {
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información del Receptor, por favor ingrese la información solicitada."
});
valido = false;
}
return valido;
}
function validaCancelacionV4() {
var valido = true;
if ('' == MotivoCancelacion.getValue()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Debe seleccionar un motivo de cancelación."
});
} else if ('01' == MotivoCancelacion.getValue() && '' == UUIDSustituir.getValue()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Debe indicar el UUID a sustituir."
});
}
return valido;
}
function validaStore(validaDatos) {
var valido = true;
var comprobFiscal = false;
var versionCfdi = cCVersionTF.getValue().toString();
var storeGrid = cCConceptosGridPL.getStore();
//alert("validaStore");
for (var i = 0; i < storeGrid.getCount(); i++) {
if (false == storeGrid.getAt(i).data['EsComentario']) comprobFiscal = true;
}
for (var i = 0; i < storeGrid.getCount(); i++) {
if (false == storeGrid.getAt(i).data['EsComentario']) {
if ("3.2" == versionCfdi) {
if ('' == storeGrid.getAt(i).data['Unidad'].trim()) {
valido = false;
cCConceptosGridPL.startEditing(i, 3);
break;
}
}
if ('' == storeGrid.getAt(i).data['Descripcion'].trim()) {
valido = false;
cCConceptosGridPL.startEditing(i, 4);
break;
}
// if (0 >= storeGrid.getAt(i).data['PrecioUnitario']) {
// valido = false;
// cCConceptosGridPL.startEditing(i, 5);
// break;
// }
// if ('0' == storeGrid.getAt(i).data['Cantidad'] || 0 == storeGrid.getAt(i).data['Cantidad']) {
// valido = false;
// cCConceptosGridPL.startEditing(i, 6);
// break;
// }
} else {
if ('' == storeGrid.getAt(i).data['Descripcion'].trim()) {
valido = false;
cCConceptosGridPL.startEditing(i, 4);
break;
}
}
}
if (validaDatos) {
if (valido && ('' == cCId_Num_ReceptorHidden.getValue() || '00000000-0000-0000-0000-000000000000' == cCId_Num_ReceptorHidden.getValue())) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Debe seleccion un Cliente para crear un cfdi."
});
}
if (valido && !infoReceptorFormPL.getForm().isValid()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información del Receptor, por favor ingrese la información solicitada."
});
}
if (valido && !infoComprobanteFormPL.getForm().isValid()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información del Comprobante, por favor ingrese la información solicitada."
});
}
if (valido && !infoAdicionalPL.getForm().isValid()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información Adicional, por favor ingrese la información solicitada."
});
}
if (valido && !formaPagoFormPL.getForm().isValid()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información del Pago, por favor ingrese la información solicitada."
});
}
if (storeGrid.getCount() == 0) {
Ext.Msg.show({
title: "Conceptos Incompletos",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Al menos un Concepto es requerido."
});
return false;
} else {
if (false == comprobFiscal) {
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Todos los Conceptos son de tipo Comentario, debe agregar al menos un Concepto de tipo 'No Comentario'."
});
}
}
return (valido && comprobFiscal);
} else return valido;
}
function validaStoreCFDI40(validaDatos) {
var valido = true;
var comprobFiscal = false;
var versionCfdi = TFEmisorCFDI40Version.getValue().toString();
var storeGrid = GridPanelConceptosCFDI40.getStore();
//alert("validaStore");
for (var i = 0; i < storeGrid.getCount(); i++) {
if (false == storeGrid.getAt(i).data['EsComentario']) comprobFiscal = true;
}
for (var i = 0; i < storeGrid.getCount(); i++) {
if (false == storeGrid.getAt(i).data['EsComentario']) {
if ("4.0" == versionCfdi) {
if ('' == storeGrid.getAt(i).data['Unidad'].trim()) {
valido = false;
GridPanelConceptosCFDI40.startEditing(i, 3);
break;
}
}
if ('' == storeGrid.getAt(i).data['Descripcion'].trim()) {
valido = false;
GridPanelConceptosCFDI40.startEditing(i, 4);
break;
}
} else {
if ('' == storeGrid.getAt(i).data['Descripcion'].trim()) {
valido = false;
GridPanelConceptosCFDI40.startEditing(i, 4);
break;
}
}
}
if (validaDatos) {
if (valido && ('' == Id_Num_ReceptorHiddenCFDI40.getValue() || '00000000-0000-0000-0000-000000000000' == Id_Num_ReceptorHiddenCFDI40.getValue())) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Debe seleccion un Cliente para crear un cfdi."
});
}
if (valido && !FormPanelReceptorCFDI40.getForm().isValid()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información del Receptor, por favor ingrese la información solicitada."
});
}
if (valido && !FormPanelReceptorCFDI40.getForm().isValid()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información del Comprobante, por favor ingrese la información solicitada."
});
}
if (valido && !FPInfoAdicionalCFDI40.getForm().isValid()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información Adicional, por favor ingrese la información solicitada."
});
}
if (valido && !FormPanelInfoPagoCFDI40.getForm().isValid()) {
valido = false;
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Faltan algunos datos en la Información del Pago, por favor ingrese la información solicitada."
});
}
if (storeGrid.getCount() == 0) {
Ext.Msg.show({
title: "Conceptos Incompletos",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Al menos un Concepto es requerido."
});
return false;
} else {
if (false == comprobFiscal) {
Ext.Msg.show({
title: "Información Incompleta",
buttons: Ext.Msg.OK,
icon: Ext.Msg.ERROR,
msg: "Todos los Conceptos son de tipo Comentario, debe agregar al menos un Concepto de tipo 'No Comentario'."
});
}
}
return (valido && comprobFiscal);
} else return valido;
}
/* ADUANAS */
function formatDate(value) {
try {
return value ? value.dateFormat('d/M/Y') : '';
} catch (e) {
return value;
}
}
function agregaAduana() {
if (validaStoreAduanas()) {
var conceptoItem = aduanasGridPL.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: aduanasGridPL.getStore().getCount() + 1,
Aduana: '',
FechaEntrega: null,
Numero: ''
});
aduanasGridPL.getStore().add(nuevo);
aduanasGridPL.startEditing(aduanasGridPL.getStore().getCount() - 1, 1);
}
}
function agregaAduanaCFDI40() {
if (validaStoreAduanasCFDI40()) {
var conceptoItem = aduanasGridPLCFDI40.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: aduanasGridPLCFDI40.getStore().getCount() + 1,
Aduana: '',
FechaEntrega: null,
Numero: ''
});
aduanasGridPLCFDI40.getStore().add(nuevo);
aduanasGridPLCFDI40.startEditing(aduanasGridPLCFDI40.getStore().getCount() - 1, 1);
}
}
function validaStoreAduanas() {
var valido = true;
var storeGrid = aduanasGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
// if (null == storeGrid.getAt(i).data['Aduana'] || '' == storeGrid.getAt(i).data['Aduana']) {
// valido = false;
// aduanasTab.setActiveTab(aduanaTabPL);
// aduanasGridPL.startEditing(i, 1);
// break;
// }
// if (null == storeGrid.getAt(i).data['FechaEntrega']) {
// valido = false;
// aduanasTab.setActiveTab(aduanaTabPL);
// aduanasGridPL.startEditing(i, 2);
// break;
// }
if (null == storeGrid.getAt(i).data['Numero'] || '' == storeGrid.getAt(i).data['Numero']) {
valido = false;
aduanasTab.setActiveTab(aduanaTabPL);
aduanasGridPL.startEditing(i, 3);
break;
}
}
return valido;
}
function validaStoreAduanasCFDI40() {
var valido = true;
var storeGrid = aduanasGridPLCFDI40.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (null == storeGrid.getAt(i).data['Numero'] || '' == storeGrid.getAt(i).data['Numero']) {
valido = false;
aduanasTabCFDI40.setActiveTab(aduanaTabPLCFDI40);
aduanasGridPLCFDI40.startEditing(i, 3);
break;
}
}
return valido;
}
/* FIN ADUANAS */
/* PARTES */
function agregaParte() {
if (validaStorePartes()) {
var conceptoItem = partesGridPL.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: partesGridPL.getStore().getCount() + 1,
Cantidad: 1,
Unidad: '',
Codigo: '',
Descripcion: '',
ValorUnitario: 0,
Importe: 0,
InformacionAduaneraExtra: ''
});
partesGridPL.getStore().add(nuevo);
partesGridPL.startEditing(partesGridPL.getStore().getCount() - 1, 1);
}
}
function agregaParteCFDI40() {
if (validaStorePartesCFDI40()) {
var conceptoItem = partesGridPLCFDI40.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: partesGridPLCFDI40.getStore().getCount() + 1,
Cantidad: 1,
Unidad: '',
Codigo: '',
Descripcion: '',
ValorUnitario: 0,
Importe: 0,
InformacionAduaneraExtra: ''
});
partesGridPLCFDI40.getStore().add(nuevo);
partesGridPLCFDI40.startEditing(partesGridPLCFDI40.getStore().getCount() - 1, 1);
}
}
function validaStorePartes() {
var valido = true;
var storeGrid = partesGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (0 == storeGrid.getAt(i).data['Cantidad']) {
valido = false;
aduanasTab.setActiveTab(partesTabPL);
partesGridPL.startEditing(i, 1);
break;
}
if (null == storeGrid.getAt(i).data['Descripcion'] || '' == storeGrid.getAt(i).data['Descripcion']) {
valido = false;
aduanasTab.setActiveTab(partesTabPL);
partesGridPL.startEditing(i, 4);
break;
}
}
return valido;
}
function validaStorePartesCFDI40() {
var valido = true;
var storeGrid = partesGridPLCFDI40.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (0 == storeGrid.getAt(i).data['Cantidad']) {
valido = false;
aduanasTabCFDI40.setActiveTab(partesTabPLCFDI40);
partesGridPLCFDI40.startEditing(i, 1);
break;
}
if (null == storeGrid.getAt(i).data['Descripcion'] || '' == storeGrid.getAt(i).data['Descripcion']) {
valido = false;
aduanasTabCFDI40.setActiveTab(partesTabPLCFDI40);
partesGridPLCFDI40.startEditing(i, 4);
break;
}
}
return valido;
}
function maxParcialidades() {
var minv = cCDesdeSpinnerField.getValue();
var maxv = cCASpinnerField.getValue();
cCDesdeSpinnerField.setMaxValue(maxv);
if (minv > maxv) {
cCDesdeSpinnerField.setValue(maxv);
}
return false;
}
/* FIN PARTES */
/* Impuestos Traslados Conceptos */
function eliminarimpuestosTraslados(comando, record) {
if ("eliminarTraslado" == comando) {
var preguntar = confirm('Eliminar el traslado: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = impuestosTrasladosGridPL.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
impuestosTrasladosGridPL.getView().refresh();
}
}
}
function eliminarimpuestosTrasladosCFDI40(comando, record) {
if ("eliminarTraslado" == comando) {
var preguntar = confirm('Eliminar el traslado: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = impuestosTrasladosGridPLCFDI40.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
impuestosTrasladosGridPLCFDI40.getView().refresh();
}
}
}
function agregaimpuestosTraslados() {
//debugger;
if (validaStoreimpuestosTraslados()) {
var impuestosTrasladosGridPL = Ext.getCmp("impuestosTrasladosGridPL");
var store = impuestosTrasladosGridPL.getStore();
var conceptoItem = store.recordType;
var nuevo = new conceptoItem({
NumeroIndex: store.getCount() + 1,
CantidadBase: document.getElementById("ValorImporteProducto_Hidden").value,
TipoImpuesto: '',
TipoFactor: '',
TasaOCuota: 0,
Importe: 0
});
store.add(nuevo);
impuestosTrasladosGridPL.startEditing(store.getCount() - 1, 1);
}
}
function agregaimpuestosTrasladosCFDI40() {
//debugger;
if (validaStoreimpuestosTrasladosCFDI40()) {
var impuestosTrasladosGridPL = Ext.getCmp("impuestosTrasladosGridPLCFDI40");
var store = impuestosTrasladosGridPL.getStore();
var conceptoItem = store.recordType;
var nuevo = new conceptoItem({
NumeroIndex: store.getCount() + 1,
CantidadBase: document.getElementById("ValorImporteProducto_HiddenCFDI40").value,
TipoImpuesto: '',
TipoFactor: '',
TasaOCuota: 0,
Importe: 0
});
store.add(nuevo);
impuestosTrasladosGridPL.startEditing(store.getCount() - 1, 1);
}
}
function validaStoreimpuestosTraslados() {
var valido = true;
var storeGrid = impuestosTrasladosGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (0 == storeGrid.getAt(i).data['CantidadBase']) {
valido = false;
winDetalleImpuestosTab.setActiveTab(impuestosTrasladosTabPL);
impuestosTrasladosGridPL.startEditing(i, 1);
break;
}
if (0 >= storeGrid.getAt(i).data['TasaOCuota'] || null == storeGrid.getAt(i).data['TasaOCuota']) {
valido = false;
winDetalleImpuestosTab.setActiveTab(impuestosTrasladosTabPL);
impuestosTrasladosGridPL.startEditing(i, 4);
break;
}
}
return valido;
}
function validaStoreimpuestosTrasladosCFDI40() {
var valido = true;
var storeGrid = impuestosTrasladosGridPLCFDI40.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (0 == storeGrid.getAt(i).data['CantidadBase']) {
valido = false;
winDetalleImpuestosTabCFDI40.setActiveTab(impuestosTrasladosTabPLCFDI40);
impuestosTrasladosGridPLCFDI40.startEditing(i, 1);
break;
}
if (0 >= storeGrid.getAt(i).data['TasaOCuota'] || null == storeGrid.getAt(i).data['TasaOCuota']) {
valido = false;
winDetalleImpuestosTabCFDI40.setActiveTab(impuestosTrasladosTabPLCFDI40);
impuestosTrasladosGridPLCFDI40.startEditing(i, 4);
break;
}
}
return valido;
}
/* Fin Impuestos Traslados Conceptos */
/* Impuestos Retenidos Conceptos */
function eliminarimpuestosRetenidos(comando, record) {
if ("eliminarRetencion" == comando) {
var preguntar = confirm('Eliminar el retencion: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = impuestosRetenidosGridPL.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
impuestosRetenidosGridPL.getView().refresh();
}
}
}
function eliminarimpuestosRetenidosCFDI40(comando, record) {
if ("eliminarRetencion" == comando) {
var preguntar = confirm('Eliminar el retencion: ' + detalleActual.data.NumeroIndex + ' ?');
if (preguntar) {
var storeGrid = impuestosRetenidosGridPLCFDI40.getStore();
storeGrid.remove(record);
for (var i = 0; i < storeGrid.getCount(); i++) {
storeGrid.getAt(i).data['NumeroIndex'] = i + 1;
}
impuestosRetenidosGridPLCFDI40.getView().refresh();
}
}
}
function agregaimpuestosRetenidos() {
//debugger;
if (validaStoreimpuestosRetenidos()) {
var conceptoItem = impuestosRetenidosGridPL.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: impuestosRetenidosGridPL.getStore().getCount() + 1,
CantidadBase: document.getElementById("ValorImporteProducto_Hidden").value,
TipoImpuesto: '',
TipoFactor: '',
TasaOCuota: 0,
Importe: 0
});
impuestosRetenidosGridPL.getStore().add(nuevo);
impuestosRetenidosGridPL.startEditing(impuestosRetenidosGridPL.getStore().getCount() - 1, 1);
}
}
function agregaimpuestosRetenidosCFDI40() {
//debugger;
if (validaStoreimpuestosRetenidosCFDI40()) {
var conceptoItem = impuestosRetenidosGridPLCFDI40.getStore().recordType;
var nuevo = new conceptoItem({
NumeroIndex: impuestosRetenidosGridPLCFDI40.getStore().getCount() + 1,
CantidadBase: document.getElementById("ValorImporteProducto_HiddenCFDI40").value,
TipoImpuesto: '',
TipoFactor: '',
TasaOCuota: 0,
Importe: 0
});
impuestosRetenidosGridPLCFDI40.getStore().add(nuevo);
impuestosRetenidosGridPLCFDI40.startEditing(impuestosRetenidosGridPLCFDI40.getStore().getCount() - 1, 1);
}
}
function validaStoreimpuestosRetenidos() {
var valido = true;
var storeGrid = impuestosRetenidosGridPL.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (0 == storeGrid.getAt(i).data['CantidadBase']) {
valido = false;
winDetalleImpuestosTab.setActiveTab(impuestosRetenidosTabPL);
impuestosRetenidosGridPL.startEditing(i, 1);
break;
}
if (0 >= storeGrid.getAt(i).data['TasaOCuota'] || null == storeGrid.getAt(i).data['TasaOCuota']) {
valido = false;
winDetalleImpuestosTab.setActiveTab(impuestosRetenidosTabPL);
impuestosRetenidosGridPL.startEditing(i, 4);
break;
}
}
return valido;
}
function validaStoreimpuestosRetenidosCFDI40() {
var valido = true;
var storeGrid = impuestosRetenidosGridPLCFDI40.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (0 == storeGrid.getAt(i).data['CantidadBase']) {
valido = false;
DesktopWindowDetalleImpuestosCFDI40.setActiveTab(impuestosRetenidosTabPLCFDI40);
impuestosRetenidosGridPLCFDI40.startEditing(i, 1);
break;
}
if (0 >= storeGrid.getAt(i).data['TasaOCuota'] || null == storeGrid.getAt(i).data['TasaOCuota']) {
valido = false;
DesktopWindowDetalleImpuestosCFDI40.setActiveTab(impuestosRetenidosTabPLCFDI40);
impuestosRetenidosGridPLCFDI40.startEditing(i, 4);
break;
}
}
return valido;
}
/* Fin Impuestos Retenidos Conceptos */
/* Inicia CFDI Relacionados */
function verificaBotonEditarExtraInfoCFDIRelacionado(grid, commands, record, row) {
if (false == record.data.Editable) commands.hidden = true;
else
if (true == record.data.EsComentario) commands.hidden = true;
}
function verificaBotonEliminarConceptoCFDIRelacionado(grid, commands, record, row) {
if (false == record.data.Editable) commands.hidden = true;
}
var detalleActualCFDIRelacionado = null;
function ejecutarComandoConceptosCFDIRelacionados(comando, record) {
detalleActualCFDIRelacionado = record;
if ('EditarDetalleCFDIRelacionados' == comando) {
var winDetalle = Ext.getCmp('detallesWindowCFDIRelacionados');
if (null != winDetalle) {
var CFDIRelacionadoGridPanel = winDetalle.findById('CFDIRelacionadosGridPL2');
var storeCFDIRelacionadoGrid = CFDIRelacionadosGridPL2.getStore();
storeCFDIRelacionadoGrid.clearData();
//CFDIRelacionado
var uuids = null;
if (null != detalleActualCFDIRelacionado.data.UUIDRelacionado && '' != detalleActualCFDIRelacionado.data.UUIDRelacionado) {
uuids = Ext.decode(detalleActualCFDIRelacionado.data.UUIDRelacionado);
var conceptoItem = storeCFDIRelacionadoGrid.recordType;
var indice = 0;
for (indice = 0; indice <= uuids.length - 1; indice++) {
var nuevo = new conceptoItem({
UUIDRelacionado: uuids[indice].UUIDRelacionado
});
storeCFDIRelacionadoGrid.add(nuevo);
}
storeCFDIRelacionadoGrid.commitChanges();
}
CFDIRelacionadosGridPL.getView().refresh(false);
winDetalle.show();
}
} else {
if ("LimpiarConceptoCFDIRelacionados" == comando) {
var preguntar = confirm('¿ Limpiar los UUIDs ?');
if (preguntar) {
record.data.UUIDRelacionado = '';
record.data.ExtraInfo = '';
record.data.ExtraTipo = 1;
record.data.Editable = true;
}
}
}
return true;
}
function ejecutarComandoConceptosCFDIRelacionadosCFDI40(comando, record) {
detalleActualCFDIRelacionado = record;
if ('EditarDetalleCFDIRelacionados' == comando) {
var winDetalle = Ext.getCmp('detallesWindowCFDIRelacionados');
if (null != winDetalle) {
var CFDIRelacionadoGridPanel = winDetalle.findById('CFDIRelacionadosGridPL2');
var storeCFDIRelacionadoGrid = CFDIRelacionadosGridPL2.getStore();
storeCFDIRelacionadoGrid.clearData();
//CFDIRelacionado
var uuids = null;
if (null != detalleActualCFDIRelacionado.data.UUIDRelacionado && '' != detalleActualCFDIRelacionado.data.UUIDRelacionado) {
uuids = Ext.decode(detalleActualCFDIRelacionado.data.UUIDRelacionado);
var conceptoItem = storeCFDIRelacionadoGrid.recordType;
var indice = 0;
for (indice = 0; indice <= uuids.length - 1; indice++) {
var nuevo = new conceptoItem({
UUIDRelacionado: uuids[indice].UUIDRelacionado
});
storeCFDIRelacionadoGrid.add(nuevo);
}
storeCFDIRelacionadoGrid.commitChanges();
}
CFDIRelacionadosGridPLCFDI40.getView().refresh(false);
winDetalle.show();
}
} else {
if ("LimpiarConceptoCFDIRelacionados" == comando) {
var preguntar = confirm('¿ Limpiar los UUIDs ?');
if (preguntar) {
record.data.UUIDRelacionado = '';
record.data.ExtraInfo = '';
record.data.ExtraTipo = 1;
record.data.Editable = true;
}
}
}
return true;
}
function eliminarInfoCFDIRelacionado(comando, record) {
if ("EliminarUUIDRelacionados" == comando) {
var preguntar = confirm('Eliminar el UUID ?');
if (preguntar) {
var storeGrid = CFDIRelacionadosGridPL2.getStore();
storeGrid.remove(record);
CFDIRelacionadosGridPL2.getView().refresh();
}
}
}
function eliminarInfoCFDIRelacionadoCFDI40(comando, record) {
if ("EliminarUUIDRelacionados" == comando) {
var preguntar = confirm('Eliminar el UUID ?');
if (preguntar) {
var storeGrid = CFDIRelacionadosGridPL2.getStore();
storeGrid.remove(record);
CFDIRelacionadosGridPL2.getView().refresh();
}
}
}
function agregaCFDIRelacionado() {
if (validaStoreCFDIRelacionado()) {
var conceptoItem = CFDIRelacionadosGridPL2.getStore().recordType;
var nuevo = new conceptoItem({
UUIDRelacionado: ''
});
CFDIRelacionadosGridPL2.getStore().add(nuevo);
CFDIRelacionadosGridPL2.startEditing(CFDIRelacionadosGridPL2.getStore().getCount() - 1, 1);
}
}
function agregaCFDIRelacionadoCFDI40() {
if (validaStoreCFDIRelacionadoCFDI40()) {
var conceptoItem = CFDIRelacionadosGridPL2.getStore().recordType;
var nuevo = new conceptoItem({
UUIDRelacionado: ''
});
CFDIRelacionadosGridPL2.getStore().add(nuevo);
CFDIRelacionadosGridPL2.startEditing(CFDIRelacionadosGridPL2.getStore().getCount() - 1, 1);
}
}
function validaStoreCFDIRelacionado() {
var valido = true;
var storeGrid = CFDIRelacionadosGridPL2.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (null == storeGrid.getAt(i).data['UUIDRelacionado'] || '' == storeGrid.getAt(i).data['UUIDRelacionado']) {
valido = false;
CFDIRelacionadosTab.setActiveTab(CFDIRelacionadosTabPL);
CFDIRelacionadosGridPL2.startEditing(i, 1);
break;
}
}
return valido;
}
function validaStoreCFDIRelacionadoCFDI40() {
var valido = true;
var storeGrid = CFDIRelacionadosGridPL2.getStore();
for (var i = 0; i < storeGrid.getCount(); i++) {
if (null == storeGrid.getAt(i).data['UUIDRelacionado'] || '' == storeGrid.getAt(i).data['UUIDRelacionado']) {
valido = false;
CFDIRelacionadosTab.setActiveTab(CFDIRelacionadosTabPL);
CFDIRelacionadosGridPL2.startEditing(i, 1);
break;
}
}
return valido;
}
function guardarDetalleCFDIRelacionado() {
var winDetalle = Ext.getCmp('detallesWindowCFDIRelacionados');
var CFDIRelacionadoTab = winDetalle.findById('CFDIRelacionadosTab');
var selectedIndexTabCFDIRelacionado = CFDIRelacionadoTab.items.indexOf(CFDIRelacionadoTab.getActiveTab());
var esValido = false;
esValido = validaStoreCFDIRelacionado();
if (esValido) {
var CFDIRelacionadoGridPanel = winDetalle.findById('CFDIRelacionadosGridPL2');
var storeCFDIRelacionadoGrid = CFDIRelacionadosGridPL2.getStore();
if (null != storeCFDIRelacionadoGrid.getRecordsValues()) {
detalleActualCFDIRelacionado.data.UUIDRelacionado = Ext.encode(storeCFDIRelacionadoGrid.getRecordsValues());
} else {
detalleActualCFDIRelacionado.data.UUIDRelacionado = null;
}
winDetalle.hide();
}
}
function guardarDetalleCFDIRelacionadoCFDI40() {
var winDetalle = Ext.getCmp('detallesWindowCFDIRelacionados');
var CFDIRelacionadoTab = winDetalle.findById('CFDIRelacionadosTab');
var selectedIndexTabCFDIRelacionado = CFDIRelacionadoTab.items.indexOf(CFDIRelacionadoTab.getActiveTab());
var esValido = false;
esValido = validaStoreCFDIRelacionadoCFDI40();
if (esValido) {
var CFDIRelacionadoGridPanel = winDetalle.findById('CFDIRelacionadosGridPL2');
var storeCFDIRelacionadoGrid = CFDIRelacionadosGridPL2.getStore();
if (null != storeCFDIRelacionadoGrid.getRecordsValues()) {
detalleActualCFDIRelacionado.data.UUIDRelacionado = Ext.encode(storeCFDIRelacionadoGrid.getRecordsValues());
} else {
detalleActualCFDIRelacionado.data.UUIDRelacionado = null;
}
winDetalle.hide();
}
}
/* Fin CFDI Relacionados */
</script>
<script language="javascript" type="text/javascript">
/* BASADO EN http://perlenespanol.com/foro/post22866.html#p22866 */
// Función modulo, regresa el residuo de una división
function mod(dividendo, divisor) {
resDiv = dividendo / divisor;
parteEnt = Math.floor(resDiv); // Obtiene la parte Entera de resDiv
parteFrac = resDiv - parteEnt; // Obtiene la parte Fraccionaria de la división
//modulo = parteFrac * divisor; // Regresa la parte fraccionaria * la división (modulo)
modulo = Math.round(parteFrac * divisor)
return modulo;
} // Fin de función mod
// Función ObtenerParteEntDiv, regresa la parte entera de una división
function ObtenerParteEntDiv(dividendo, divisor) {
resDiv = dividendo / divisor;
parteEntDiv = Math.floor(resDiv);
return parteEntDiv;
} // Fin de función ObtenerParteEntDiv
// function fraction_part, regresa la parte Fraccionaria de una cantidad
function fraction_part(dividendo, divisor) {
resDiv = dividendo / divisor;
f_part = Math.floor(resDiv);
return f_part;
} // Fin de función fraction_part
// function string_literal conversion is the core of this program
// converts numbers to spanish strings, handling the general special
// cases in spanish language.
function string_literal_conversion(number) {
// first, divide your number in hundreds, tens and units, cascadig
// trough subsequent divisions, using the modulus of each division
// for the next.
centenas = ObtenerParteEntDiv(number, 100);
number = mod(number, 100);
decenas = ObtenerParteEntDiv(number, 10);
number = mod(number, 10);
unidades = ObtenerParteEntDiv(number, 1);
number = mod(number, 1);
string_hundreds = "";
string_tens = "";
string_units = "";
// cascade trough hundreds. This will convert the hundreds part to
// their corresponding string in spanish.
if (centenas == 1) {
string_hundreds = "ciento ";
}
if (centenas == 2) {
string_hundreds = "doscientos ";
}
if (centenas == 3) {
string_hundreds = "trescientos ";
}
if (centenas == 4) {
string_hundreds = "cuatrocientos ";
}
if (centenas == 5) {
string_hundreds = "quinientos ";
}
if (centenas == 6) {
string_hundreds = "seiscientos ";
}
if (centenas == 7) {
string_hundreds = "setecientos ";
}
if (centenas == 8) {
string_hundreds = "ochocientos ";
}
if (centenas == 9) {
string_hundreds = "novecientos ";
}
// end switch hundreds
// casgade trough tens. This will convert the tens part to corresponding
// strings in spanish. Note, however that the strings between 11 and 19
// are all special cases. Also 21-29 is a special case in spanish.
if (decenas == 1) {
//Special case, depends on units for each conversion
if (unidades == 1) {
string_tens = "once";
}
if (unidades == 2) {
string_tens = "doce";
}
if (unidades == 3) {
string_tens = "trece";
}
if (unidades == 4) {
string_tens = "catorce";
}
if (unidades == 5) {
string_tens = "quince";
}
if (unidades == 6) {
string_tens = "dieciseis";
}
if (unidades == 7) {
string_tens = "diecisiete";
}
if (unidades == 8) {
string_tens = "dieciocho";
}
if (unidades == 9) {
string_tens = "diecinueve";
}
}
//alert("STRING_TENS ="+string_tens);
if (decenas == 2) {
string_tens = "veinti";
}
if (decenas == 3) {
string_tens = "treinta";
}
if (decenas == 4) {
string_tens = "cuarenta";
}
if (decenas == 5) {
string_tens = "cincuenta";
}
if (decenas == 6) {
string_tens = "sesenta";
}
if (decenas == 7) {
string_tens = "setenta";
}
if (decenas == 8) {
string_tens = "ochenta";
}
if (decenas == 9) {
string_tens = "noventa";
}
// Fin de swicth decenas
// cascades trough units, This will convert the units part to corresponding
// strings in spanish. Note however that a check is being made to see wether
// the special cases 11-19 were used. In that case, the whole conversion of
// individual units is ignored since it was already made in the tens cascade.
if (decenas == 1) {
string_units = ""; // empties the units check, since it has alredy been handled on the tens switch
} else {
if (unidades == 1) {
string_units = "un";
}
if (unidades == 2) {
string_units = "dos";
}
if (unidades == 3) {
string_units = "tres";
}
if (unidades == 4) {
string_units = "cuatro";
}
if (unidades == 5) {
string_units = "cinco";
}
if (unidades == 6) {
string_units = "seis";
}
if (unidades == 7) {
string_units = "siete";
}
if (unidades == 8) {
string_units = "ocho";
}
if (unidades == 9) {
string_units = "nueve";
}
// end switch units
} // end if-then-else
//final special cases. This conditions will handle the special cases which
//are not as general as the ones in the cascades. Basically four:
// when you've got 100, you dont' say 'ciento' you say 'cien'
// 'ciento' is used only for [101 >= number > 199]
if (centenas == 1 && decenas == 0 && unidades == 0) {
string_hundreds = "cien ";
}
// when you've got 10, you don't say any of the 11-19 special
// cases.. just say 'diez'
if (decenas == 1 && unidades == 0) {
string_tens = "diez ";
}
// when you've got 20, you don't say 'veinti', which is used
// only for [21 >= number > 29]
if (decenas == 2 && unidades == 0) {
string_tens = "veinte ";
}
// for numbers >= 30, you don't use a single word such as veintiuno
// (twenty one), you must add 'y' (and), and use two words. v.gr 31
// 'treinta y uno' (thirty and one)
if (decenas >= 3 && unidades >= 1) {
string_tens = string_tens + " y ";
}
// this line gathers all the hundreds, tens and units into the final string
// and returns it as the function value.
final_string = string_hundreds + string_tens + string_units;
return final_string;
} //end of function string_literal_conversion()================================
// handle some external special cases. Specially the millions, thousands
// and hundreds descriptors. Since the same rules apply to all number triads
// descriptions are handled outside the string conversion function, so it can
// be re used for each triad.
function convertirNumLetras(number) {
var tipoMonedaSeleccionada = "";
var millions_final_string = "";
var thousands_final_string = "";
var centenas_final_string = "";
var monedaValue = cCMonedaComboBox.value.toString();
var moneda = "";
switch (monedaValue) {
case "1":
tipoMonedaSeleccionada = " M.N. ";
break;
case "2":
tipoMonedaSeleccionada = " € ";
break;
case "3":
tipoMonedaSeleccionada = " USD ";
break;
case "4":
tipoMonedaSeleccionada = " M.N. ";
break;
}
if (number == 0) {
switch (monedaValue) {
case "1":
moneda = " PESO ";
break;
case "2":
moneda = " EURO ";
break;
case "3":
moneda = " DOLAR ";
break;
case "4":
moneda = " PESO ";
break;
}
} else {
switch (monedaValue) {
case "1":
moneda = " PESOS ";
break;
case "2":
moneda = " EUROS ";
break;
case "3":
moneda = " DOLARES ";
break;
case "4":
moneda = " PESOS ";
break;
}
}
if (0 == number) return "CERO " + moneda + " 00/100 " + tipoMonedaSeleccionada;
else number = number.toString();
number1 = number;
cent = number1.split(".");
centavos = cent[1];
//Mind Mod
number = cent[0];
if (centavos == 0 || centavos == undefined) {
centavos = "00";
}
if (number == 0 || number == "") { // if amount = 0, then forget all about conversions,
centenas_final_string = " cero "; // amount is zero (cero). handle it externally, to
// function breakdown
} else {
//R-005585
millions = ObtenerParteEntDiv(number, 1000000); // first, send the millions to the string
number = mod(number, 1000000); // conversion function
if (0 == millions) {
millions_final_string = " ";
} else if (millions == 1) { // if only 1, use 'millon' (million). if
millions_final_string = "un millón "; // > than 1, use 'millones' (millions) as
} else {
descriptor = " millones ";
//miles de millones
thousands = ObtenerParteEntDiv(millions, 1000); // now, send the thousands to the string
millions = mod(millions, 1000); // conversion function.
if (0 == thousands) {
millions_final_string = "";
} else if (thousands == 1) {
millions_final_string = "un mil ";
} else {
millions_final_string = string_literal_conversion(thousands) + " mil ";
}
millions_final_string = millions_final_string + string_literal_conversion(millions) + descriptor;
}
//R-005585
thousands = ObtenerParteEntDiv(number, 1000); // now, send the thousands to the string
number = mod(number, 1000); // conversion function.
if (thousands != 1) { // This condition eliminates the descriptor
thousands_final_string = string_literal_conversion(thousands) + " mil ";
}
if (thousands == 1) {
thousands_final_string = " mil ";
}
if (thousands < 1) {
thousands_final_string = " ";
}
centenas = number;
centenas_final_string = string_literal_conversion(centenas);
if ((millions > 0) && (thousands == 0) && (centenas == 0)) {
millions_final_string = millions_final_string + "de ";
}
}
cad = millions_final_string + thousands_final_string + centenas_final_string;
cad = cad.toUpperCase();
if (centavos.length > 2) {
if (centavos.substring(2, 3) >= 5) {
centavos = centavos.substring(0, 1) + (parseInt(centavos.substring(1, 2)) + 1).toString();
} else {
centavos = centavos.substring(0, 1);
}
}
if (centavos.length == 1) {
centavos = centavos + "0";
}
centavos = centavos + "/100";
if (cad == ' MIL ') {
cad = ' UN MIL ';
}
return cad + moneda + centavos + " " + tipoMonedaSeleccionada;
}
var promoSelectionChanged = function(dv, nodes) {
if (null != nodes && nodes.length > 0) {
Ext.get('rd_' + nodes[0].id).dom.checked = true;
Ext.get('PromoSelHidden').dom.value = nodes[0].id;
} else {
var relsel = Ext.query('input[name=Promo]:checked');
if (relsel.length > 0) {
ImageViewPromo.selectedData = [{
recordID: relsel[0].value
}];
ImageViewPromo.doSelection();
}
}
};
var paqueteSelectionChanged = function(dv, nodes) {
if (null != nodes && nodes.length > 0) {
Ext.get('rd_' + nodes[0].id).dom.checked = true;
Ext.get('PaqSelHidden').dom.value = nodes[0].id;
} else {
var relsel = Ext.query('input[name=Paquete]:checked');
if (relsel.length > 0) {
ImageView.selectedData = [{
recordID: relsel[0].value
}];
ImageView.doSelection();
}
}
};
</script>
<script type="text/javascript">
(function(i, s, o, g, r, a, m) {
i['GoogleAnalyticsObject'] = r;
i[r] = i[r] || function() {
(i[r].q = i[r].q || []).push(arguments)
}, i[r].l = 1 * new Date();
a = s.createElement(o),
m = s.getElementsByTagName(o)[0];
a.async = 1;
a.src = g;
m.parentNode.insertBefore(a, m)
})(window, document, 'script', '//www.google-analytics.com/analytics.js', 'ga');
ga('create', 'UA-32817246-1', 'auto');
ga('send', 'pageview');
</script>
<div class="x-window-proxy" id="ext-gen65"></div>
<div class="ext-el-mask" id="ext-gen66" style="display: none;"></div>
<div id="recordarWindow" class=" x-window x-resizable-pinned" style="position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px; width: 300px;">
<div class="x-window-tl">
<div class="x-window-tr">
<div class="x-window-tc">
<div class="x-window-header x-unselectable x-window-draggable" id="ext-gen56"><span class="x-window-header-text" id="ext-gen67">Recuperar Contraseña</span></div>
</div>
</div>
</div>
<div class="x-window-bwrap" id="ext-gen57">
<div class="x-window-ml">
<div class="x-window-mr">
<div class="x-window-mc" id="ext-gen61">
<div class="x-window-body" id="ext-gen58" style="width: 286px; height: 68px;">
<div id="recuperarCuentaFormPL" class=" x-panel x-form-label-top" style="width: 286px;">
<div class="x-panel-bwrap" id="ext-gen73">
<div class="x-panel-body x-panel-body-noheader x-form" method="POST" id="ext-gen55" style="padding: 5px; width: 274px; height: 56px;">
<div class="x-form-item " tabindex="-1" id="ext-gen75"><label for="recuperarCuentaCorreoTF" style="width:auto;" class="x-form-item-label" id="ext-gen76">Correo electrónico:</label>
<div class="x-form-element" id="x-form-el-recuperarCuentaCorreoTF" style="padding-left:0;"><input type="text" size="20" autocomplete="off" id="recuperarCuentaCorreoTF" name="recuperarCuentaCorreoTF"
class=" x-form-text x-form-field" maxlength="150" style="width: 246px;">
<div class="x-form-indicator icon-accept" style="padding-left: 18px; left: 256px; top: 4px;" id="ext-gen77"></div>
</div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="x-window-bl" id="ext-gen60">
<div class="x-window-br">
<div class="x-window-bc">
<div class="x-window-footer x-panel-btns" id="ext-gen59" style="width: 276px;">
<div id="ext-comp-1012" class="x-panel-fbar x-small-editor x-toolbar-layout-ct" style="width: auto;">
<table cellspacing="0" class="x-toolbar-ct">
<tbody>
<tr>
<td class="x-toolbar-left" align="left">
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-left-row"></tr>
</tbody>
</table>
</td>
<td class="x-toolbar-right" align="right">
<table cellspacing="0" class="x-toolbar-right-ct">
<tbody>
<tr>
<td>
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-right-row">
<td class="x-toolbar-cell" id="ext-gen68">
<table id="recuperarCuentaRecordarButton" cellspacing="0" class="x-btn x-btn-text-icon" style="width: auto;">
<tbody class="x-btn-small x-btn-icon-small-left">
<tr>
<td class="x-btn-tl"><i> </i></td>
<td class="x-btn-tc"></td>
<td class="x-btn-tr"><i> </i></td>
</tr>
<tr>
<td class="x-btn-ml"><i> </i></td>
<td class="x-btn-mc"><em class="" unselectable="on"><button type="button" id="ext-gen69" class=" x-btn-text icon-accept">Recibir Accesos</button></em></td>
<td class="x-btn-mr"><i> </i></td>
</tr>
<tr>
<td class="x-btn-bl"><i> </i></td>
<td class="x-btn-bc"></td>
<td class="x-btn-br"><i> </i></td>
</tr>
</tbody>
</table>
</td>
<td class="x-toolbar-cell" id="ext-gen70">
<table id="Button36" cellspacing="0" class="x-btn x-btn-text-icon" style="width: 75px;">
<tbody class="x-btn-small x-btn-icon-small-left">
<tr>
<td class="x-btn-tl"><i> </i></td>
<td class="x-btn-tc"></td>
<td class="x-btn-tr"><i> </i></td>
</tr>
<tr>
<td class="x-btn-ml"><i> </i></td>
<td class="x-btn-mc"><em class="" unselectable="on"><button type="button" id="ext-gen71" class=" x-btn-text icon-cancel">Cerrar</button></em></td>
<td class="x-btn-mr"><i> </i></td>
</tr>
<tr>
<td class="x-btn-bl"><i> </i></td>
<td class="x-btn-bc"></td>
<td class="x-btn-br"><i> </i></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
<td>
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-extras-row"></tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div class="x-clear" id="ext-gen63"></div>
</div>
</div>
</div>
</div>
</div><a href="#" class="x-dlg-focus" tabindex="-1" id="ext-gen64"> </a>
<div class="x-resizable-handle x-resizable-handle-north x-unselectable x-window-handle" id="ext-gen78"></div>
<div class="x-resizable-handle x-resizable-handle-south x-unselectable x-window-handle" id="ext-gen79"></div>
<div class="x-resizable-handle x-resizable-handle-east x-unselectable x-window-handle" id="ext-gen80"></div>
<div class="x-resizable-handle x-resizable-handle-west x-unselectable x-window-handle" id="ext-gen81"></div>
<div class="x-resizable-handle x-resizable-handle-northeast x-unselectable x-window-handle" id="ext-gen82"></div>
<div class="x-resizable-handle x-resizable-handle-northwest x-unselectable x-window-handle" id="ext-gen83"></div>
<div class="x-resizable-handle x-resizable-handle-southeast x-unselectable x-window-handle" id="ext-gen84"></div>
<div class="x-resizable-handle x-resizable-handle-southwest x-unselectable x-window-handle" id="ext-gen85"></div>
</div>
<div class="x-window-proxy" id="ext-gen96"></div>
<div class="ext-el-mask" id="ext-gen97" style="display: none;"></div>
<div id="wincontraDatFactar" class=" x-window" style="position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px; width: 670px;">
<div class="x-window-tl">
<div class="x-window-tr">
<div class="x-window-tc">
<div class="x-window-header x-unselectable x-panel-icon icon-user x-window-draggable" id="ext-gen90"><span class="x-window-header-text" id="ext-gen98">Datos de Facturación</span></div>
</div>
</div>
</div>
<div class="x-window-bwrap" id="ext-gen91">
<div class="x-window-ml">
<div class="x-window-mr">
<div class="x-window-mc" id="ext-gen94">
<div class="x-window-body" id="ext-gen92" style="padding: 5px; width: 646px; height: 311px;">
<div id="FormPanel7" class=" x-panel" style="padding: 0px; width: 646px;">
<div class="x-panel-bwrap" id="ext-gen100">
<div class="x-panel-body x-panel-body-noheader x-form x-column-layout-ct" method="POST" id="ext-gen89" style="padding: 5px; width: 634px; height: 283px;">
<div id="FormPanel7_Content" class="">
<div id="Image4_Container" style="display:inline;">
<img id="Image4" src="Imagenes/contrataciones/nuevo/titulo-otros-datos.png" style="border: none;">
</div>
</div>
<div class="x-column-inner" id="ext-gen107" style="width: 634px; height: 283px;">
<div id="Panel82" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 634px;">
<div class="x-panel-bwrap" id="ext-gen109">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen110" style="width: 634px; height: 283px;">
<div id="contraDatFactTFDPL" class=" x-panel x-panel-noborder" style="width: 634px;">
<div class="x-panel-bwrap" id="ext-gen112">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder x-column-layout-ct" id="ext-gen113" style="height: 50px; width: 634px;">
<div class="x-column-inner" id="ext-gen124" style="width: 634px; height: 50px;">
<div id="Panel86" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 330px;">
<div class="x-panel-bwrap" id="ext-gen126">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen127" style="padding: 5px; width: 320px; height: 40px;">
<div class="x-form-item " tabindex="-1" id="ext-gen132"><label for="contraDatFactNombreEmTF" style="width:auto;" class="x-form-item-label" id="ext-gen133">Nombre de la Empresa (Razón Social):</label>
<div class="x-form-element" id="x-form-el-contraDatFactNombreEmTF" style="padding-left:0;"><input type="text" size="20" autocomplete="off" id="contraDatFactNombreEmTF" name="contraDatFactNombreEmTF"
class=" x-form-text x-form-field" maxlength="150" style="width: 297px;">
<div class="x-form-indicator icon-accept" style="padding-left: 18px; left: 307px; top: 4px;" id="ext-gen134"></div>
</div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
<div id="contraDatFactRFCPL" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 150px;">
<div class="x-panel-bwrap" id="ext-gen129">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen130" style="padding: 5px; width: 140px; height: 40px;">
<div class="x-form-item " tabindex="-1" id="ext-gen135"><label for="contraDatFactRfcTF" style="width:auto;" class="x-form-item-label" id="ext-gen136">RFC:</label>
<div class="x-form-element" id="x-form-el-contraDatFactRfcTF" style="padding-left:0;"><input type="text" size="20" autocomplete="off" id="contraDatFactRfcTF" name="contraDatFactRfcTF"
class=" x-form-text x-form-field" maxlength="13" style="text-transform: uppercase; width: 117px;">
<div class="x-form-indicator icon-accept" style="padding-left: 18px; left: 127px; top: 4px;" id="ext-gen137"></div>
</div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
<div class="x-clear" id="ext-gen125"></div>
</div>
</div>
</div>
</div>
<div id="Panel93" class=" x-panel x-panel-noborder" style="width: 634px;">
<div class="x-panel-bwrap" id="ext-gen115">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder x-column-layout-ct" id="ext-gen116" style="height: 50px; width: 634px;">
<div class="x-column-inner" id="ext-gen138" style="width: 634px; height: 50px;">
<div id="Panel95" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 330px;">
<div class="x-panel-bwrap" id="ext-gen140">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen141" style="padding: 5px; width: 320px; height: 40px;">
<div class="x-form-item " tabindex="-1" id="ext-gen149"><label for="contraDatFactCalleTF" style="width:auto;" class="x-form-item-label" id="ext-gen150">Calle:</label>
<div class="x-form-element" id="x-form-el-contraDatFactCalleTF" style="padding-left:0;"><input type="text" size="20" autocomplete="off" id="contraDatFactCalleTF" name="contraDatFactCalleTF"
class=" x-form-text x-form-field" maxlength="100" style="padding-left: 5px; width: 295px;">
<div class="x-form-indicator icon-accept" style="padding-left: 18px; left: 307px; top: 4px;" id="ext-gen151"></div>
</div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
<div id="Panel98" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 150px;">
<div class="x-panel-bwrap" id="ext-gen143">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen144" style="padding: 5px; width: 140px; height: 40px;">
<div class="x-form-item " tabindex="-1" id="ext-gen152"><label for="contraDatFactNumeroExteriorTF" style="width:auto;" class="x-form-item-label" id="ext-gen153">Número exterior:</label>
<div class="x-form-element" id="x-form-el-contraDatFactNumeroExteriorTF" style="padding-left:0;"><input type="text" size="20" autocomplete="off" id="contraDatFactNumeroExteriorTF"
name="contraDatFactNumeroExteriorTF" class=" x-form-text x-form-field" maxlength="30" style="width: 132px;"></div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
<div id="Panel99" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 150px;">
<div class="x-panel-bwrap" id="ext-gen146">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen147" style="padding: 5px; width: 140px; height: 40px;">
<div class="x-form-item " tabindex="-1" id="ext-gen154"><label for="contraDatFactNumeroInteriorTF" style="width:auto;" class="x-form-item-label" id="ext-gen155">Número interior:</label>
<div class="x-form-element" id="x-form-el-contraDatFactNumeroInteriorTF" style="padding-left:0;"><input type="text" size="20" autocomplete="off" id="contraDatFactNumeroInteriorTF"
name="contraDatFactNumeroInteriorTF" class=" x-form-text x-form-field" maxlength="30" style="width: 132px;"></div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
<div class="x-clear" id="ext-gen139"></div>
</div>
</div>
</div>
</div>
<div id="Panel103" class=" x-panel x-panel-noborder" style="width: 634px;">
<div class="x-panel-bwrap" id="ext-gen118">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder x-column-layout-ct" id="ext-gen119" style="height: 50px; width: 634px;">
<div class="x-column-inner" id="ext-gen156" style="width: 634px; height: 50px;">
<div id="Panel100" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 170px;">
<div class="x-panel-bwrap" id="ext-gen158">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen159" style="padding: 5px; width: 160px; height: 40px;">
<div class="x-form-item " tabindex="-1" id="ext-gen170"><label for="contraDatFactColoniaTF" style="width:auto;" class="x-form-item-label" id="ext-gen171">Colonia:</label>
<div class="x-form-element" id="x-form-el-contraDatFactColoniaTF" style="padding-left:0;"><input type="text" size="20" autocomplete="off" id="contraDatFactColoniaTF" name="contraDatFactColoniaTF"
class=" x-form-text x-form-field" maxlength="100" style="width: 152px;"></div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
<div id="Panel106" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 160px;">
<div class="x-panel-bwrap" id="ext-gen161">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen162" style="padding: 5px; width: 150px; height: 40px;">
<div class="x-form-item " tabindex="-1" id="ext-gen172"><label for="contratEstadoDatFactComboBox" style="width:auto;" class="x-form-item-label" id="ext-gen173">Estado:</label>
<div class="x-form-element" id="x-form-el-contratEstadoDatFactComboBox" style="padding-left:0;">
<div class="x-form-field-wrap x-form-field-trigger-wrap" id="ext-gen174" style="width: 135px;"><input type="hidden" name="contratEstadoDatFactComboBox_Value" id="ext-gen176" value="0"><input type="text"
size="24" autocomplete="off" id="contratEstadoDatFactComboBox" name="contratEstadoDatFactComboBox" class="x-form-text x-form-field x-trigger-noedit" readonly="" title="" style="width: 110px;"><img
src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="x-form-trigger x-form-arrow-trigger" id="ext-gen175"><input type="hidden" size="20" autocomplete="off"
id="contratEstadoDatFactComboBox_SelIndex" name="contratEstadoDatFactComboBox_SelIndex" class=" x-form-hidden x-form-field" value="0"></div>
<div class="x-form-indicator icon-accept" style="padding-left: 18px; left: 137px; top: 4px;" id="ext-gen177"></div>
</div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
<div id="Panel101" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 150px;">
<div class="x-panel-bwrap" id="ext-gen164">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen165" style="padding: 5px; width: 140px; height: 40px;">
<div class="x-form-item " tabindex="-1" id="ext-gen178"><label for="contratMunDatFactComboBox" style="width:auto;" class="x-form-item-label" id="ext-gen179">Municipio:</label>
<div class="x-form-element" id="x-form-el-contratMunDatFactComboBox" style="padding-left:0;">
<div class="x-form-field-wrap x-form-field-trigger-wrap" id="ext-gen180" style="width: 120px;"><input type="hidden" name="contratMunDatFactComboBox_Value" id="ext-gen182" value=""><input type="text"
size="24" autocomplete="off" id="contratMunDatFactComboBox" name="contratMunDatFactComboBox" class="x-form-text x-form-field x-trigger-noedit" readonly="" title="" style="width: 95px;"><img
src="data:image/gif;base64,R0lGODlhAQABAID/AMDAwAAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" class="x-form-trigger x-form-arrow-trigger" id="ext-gen181"><input type="hidden" size="20" autocomplete="off"
id="contratMunDatFactComboBox_SelIndex" name="contratMunDatFactComboBox_SelIndex" class=" x-form-hidden x-form-field" value="0"></div>
</div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
<div id="Panel96" class=" x-panel x-panel-noborder x-form-label-top x-column" style="width: 150px;">
<div class="x-panel-bwrap" id="ext-gen167">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder" id="ext-gen168" style="padding: 5px; width: 140px; height: 40px;">
<div class="x-form-item " tabindex="-1" id="ext-gen183"><label for="contraDatFactCodigoPostalTF" style="width:auto;" class="x-form-item-label" id="ext-gen184">Código Postal:</label>
<div class="x-form-element" id="x-form-el-contraDatFactCodigoPostalTF" style="padding-left:0;"><input type="text" size="20" autocomplete="off" id="contraDatFactCodigoPostalTF"
name="contraDatFactCodigoPostalTF" class=" x-form-text x-form-field" maxlength="5" style="width: 117px;">
<div class="x-form-indicator icon-accept" style="padding-left: 18px; left: 127px; top: 4px;" id="ext-gen185"></div>
</div>
<div class="x-form-clear-left"></div>
</div>
</div>
</div>
</div>
<div class="x-clear" id="ext-gen157"></div>
</div>
</div>
</div>
</div>
<div id="Panel83" class=" x-panel x-panel-noborder" style="width: 634px;">
<div class="x-panel-bwrap" id="ext-gen121">
<div class="x-panel-body x-panel-body-noheader x-panel-body-noborder x-column-layout-ct" id="ext-gen122" style="width: 634px; height: 70px;">
<div class="x-column-inner" id="ext-gen186" style="width: 634px; height: 70px;"><img id="Image5" src="Imagenes/contrataciones/nuevo/nota-otros-datos.png" class=" x-column"
style="border: none; width: 634px; height: 70px;">
<div class="x-clear" id="ext-gen187"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="x-clear" id="ext-gen108"></div>
</div>
</div>
<div class="x-panel-footer x-panel-btns" id="ext-gen101" style="width: 636px;">
<div id="ext-comp-1020" class="x-panel-fbar x-small-editor x-toolbar-layout-ct" style="width: auto;">
<table cellspacing="0" class="x-toolbar-ct">
<tbody>
<tr>
<td class="x-toolbar-left" align="left">
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-left-row"></tr>
</tbody>
</table>
</td>
<td class="x-toolbar-right" align="right">
<table cellspacing="0" class="x-toolbar-right-ct">
<tbody>
<tr>
<td>
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-right-row">
<td class="x-toolbar-cell" id="ext-gen105"><img id="canDatFisImageButton" src="imagenes/contrataciones/cancelar.png" style="border: none; cursor: pointer;"></td>
<td class="x-toolbar-cell" id="ext-gen106"><img id="regDatFisLinkButton" src="imagenes/contrataciones/guardar.png" style="border: none; cursor: pointer;"></td>
</tr>
</tbody>
</table>
</td>
<td>
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-extras-row"></tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div class="x-clear" id="ext-gen103"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="x-window-bl x-panel-nofooter" id="ext-gen93">
<div class="x-window-br">
<div class="x-window-bc"></div>
</div>
</div>
</div><a href="#" class="x-dlg-focus" tabindex="-1" id="ext-gen95"> </a>
</div>
<div class="x-window-proxy" id="ext-gen197"></div>
<div class="ext-el-mask" id="ext-gen198" style="display: none;"></div>
<div id="winContratPriv" class=" x-window" style="position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px; width: 670px;">
<div class="x-window-tl">
<div class="x-window-tr">
<div class="x-window-tc">
<div class="x-window-header x-unselectable x-panel-icon icon-user x-window-draggable" id="ext-gen188"><span class="x-window-header-text" id="ext-gen199">Datos de Facturación</span></div>
</div>
</div>
</div>
<div class="x-window-bwrap" id="ext-gen189">
<div class="x-window-ml">
<div class="x-window-mr">
<div class="x-window-mc" id="ext-gen193">
<div class="x-window-body" id="ext-gen190" style="padding: 5px; width: 646px; height: 278px;"><textarea style="width: 638px; height: 272px;" autocomplete="off" id="contratPrivTextArea" name="contratPrivTextArea"
class=" x-form-textarea x-form-field"></textarea></div>
</div>
</div>
</div>
<div class="x-window-bl" id="ext-gen192">
<div class="x-window-br">
<div class="x-window-bc">
<div class="x-window-footer x-panel-btns" id="ext-gen191" style="width: 646px;">
<div id="ext-comp-1021" class="x-panel-fbar x-small-editor x-toolbar-layout-ct" style="width: auto;">
<table cellspacing="0" class="x-toolbar-ct">
<tbody>
<tr>
<td class="x-toolbar-left" align="left">
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-left-row"></tr>
</tbody>
</table>
</td>
<td class="x-toolbar-right" align="right">
<table cellspacing="0" class="x-toolbar-right-ct">
<tbody>
<tr>
<td>
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-right-row">
<td class="x-toolbar-cell" id="ext-gen200">
<table id="Button2" cellspacing="0" class="x-btn x-btn-text-icon" style="width: 75px;">
<tbody class="x-btn-small x-btn-icon-small-left">
<tr>
<td class="x-btn-tl"><i> </i></td>
<td class="x-btn-tc"></td>
<td class="x-btn-tr"><i> </i></td>
</tr>
<tr>
<td class="x-btn-ml"><i> </i></td>
<td class="x-btn-mc"><em class="" unselectable="on"><button type="button" id="ext-gen201" class=" x-btn-text icon-cancel">Cerrar</button></em></td>
<td class="x-btn-mr"><i> </i></td>
</tr>
<tr>
<td class="x-btn-bl"><i> </i></td>
<td class="x-btn-bc"></td>
<td class="x-btn-br"><i> </i></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
<td>
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-extras-row"></tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div class="x-clear" id="ext-gen195"></div>
</div>
</div>
</div>
</div>
</div><a href="#" class="x-dlg-focus" tabindex="-1" id="ext-gen196"> </a>
</div>
<div class="x-window-proxy" id="ext-gen210"></div>
<div id="winAgradecimientos" class=" x-window" style="position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px; width: 600px;">
<div class="x-window-tl">
<div class="x-window-tr">
<div class="x-window-tc">
<div class="x-window-header x-unselectable x-panel-icon icon-user x-window-draggable" id="ext-gen203">
<div class="x-tool x-tool-close" id="ext-gen208"> </div><span class="x-window-header-text" id="ext-gen211">Contrataciones [InvoiceOne - Proveedor Autorizado de Certificación CFDI 57203]</span>
</div>
</div>
</div>
</div>
<div class="x-window-bwrap" id="ext-gen204">
<div class="x-window-ml">
<div class="x-window-mr">
<div class="x-window-mc" id="ext-gen207">
<div class="x-window-body" id="ext-gen205" style="padding: 5px; width: 576px; height: 488px;">
<div id="Panel105" class=" x-panel" style="width: 576px;">
<div class="x-panel-bwrap" id="ext-gen213">
<div class="x-panel-body x-panel-body-noheader" id="ext-gen214" style="overflow: auto; position: relative; width: 574px; height: 486px;"></div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="x-window-bl x-panel-nofooter" id="ext-gen206">
<div class="x-window-br">
<div class="x-window-bc"></div>
</div>
</div>
</div><a href="#" class="x-dlg-focus" tabindex="-1" id="ext-gen209"> </a>
</div>
<div class="x-window-proxy" id="ext-gen320"></div>
<div class="ext-el-mask" id="ext-gen321" style="display: none;"></div>
<div id="winAviso" class=" x-window" style="position: absolute; z-index: 11000; visibility: hidden; left: -10000px; top: -10000px; width: 500px;">
<div class="x-window-tl">
<div class="x-window-tr">
<div class="x-window-tc">
<div class="x-window-header x-unselectable x-panel-icon icon-user x-window-draggable" id="ext-gen312">
<div class="x-tool x-tool-close" id="ext-gen318"> </div>
<div class="x-tool x-tool-minimize" id="ext-gen317"> </div><span class="x-window-header-text" id="ext-gen322">Aviso Importante</span>
</div>
</div>
</div>
</div>
<div class="x-window-bwrap" id="ext-gen313">
<div class="x-window-ml">
<div class="x-window-mr">
<div class="x-window-mc" id="ext-gen316">
<div class="x-window-body" id="ext-gen314" style="padding: 5px; width: 476px; height: 208px;">
<div id="pnlMsg" class=" x-panel x-form-label-left" style="width: 476px;">
<div class="x-panel-bwrap" id="ext-gen324">
<div class="x-panel-body x-panel-body-noheader x-form" method="POST" id="ext-gen311" style="width: 474px; height: 168px;">
<div class="x-form-item x-hide-label" tabindex="-1" id="ext-gen331"><label for="txtMensaje" style="width:100px;" class="x-form-item-label" id="ext-gen332"></label>
<div class="x-form-element" id="x-form-el-txtMensaje" style="padding-left:105px"><textarea style="width: 467px; height: 164px; overflow: auto;" autocomplete="off" id="txtMensaje" name="txtMensaje"
class=" x-form-textarea x-form-field" readonly=""></textarea></div>
<div class="x-form-clear-left"></div>
</div>
</div>
<div class="x-panel-footer x-panel-btns" id="ext-gen325" style="width: 466px;">
<div id="ext-comp-1286" class="x-panel-fbar x-small-editor x-toolbar-layout-ct" style="width: auto;">
<table cellspacing="0" class="x-toolbar-ct">
<tbody>
<tr>
<td class="x-toolbar-left" align="left">
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-left-row"></tr>
</tbody>
</table>
</td>
<td class="x-toolbar-right" align="right">
<table cellspacing="0" class="x-toolbar-right-ct">
<tbody>
<tr>
<td>
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-right-row">
<td class="x-toolbar-cell" id="ext-gen329">
<table id="btnCerrarMensaje" cellspacing="0" class="x-btn x-btn-text-icon" style="width: 75px;">
<tbody class="x-btn-small x-btn-icon-small-left">
<tr>
<td class="x-btn-tl"><i> </i></td>
<td class="x-btn-tc"></td>
<td class="x-btn-tr"><i> </i></td>
</tr>
<tr>
<td class="x-btn-ml"><i> </i></td>
<td class="x-btn-mc"><em class="" unselectable="on"><button type="button" id="ext-gen330" class=" x-btn-text icon-accept">Aceptar</button></em></td>
<td class="x-btn-mr"><i> </i></td>
</tr>
<tr>
<td class="x-btn-bl"><i> </i></td>
<td class="x-btn-bc"></td>
<td class="x-btn-br"><i> </i></td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
<td>
<table cellspacing="0">
<tbody>
<tr class="x-toolbar-extras-row"></tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</td>
</tr>
</tbody>
</table>
</div>
<div class="x-clear" id="ext-gen327"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="x-window-bl x-panel-nofooter" id="ext-gen315">
<div class="x-window-br">
<div class="x-window-bc"></div>
</div>
</div>
</div><a href="#" class="x-dlg-focus" tabindex="-1" id="ext-gen319"> </a>
</div>
</form>
Text Content
Mapeadores (WebService) Cuenta de Timbrado Listado CFDI Consolidado Integradores Iniciar Sesión [ InvoiceONE - Proveedor Autorizado de Certificación 57203 ] V.2023.40 Inicio * Iniciar S... * Timbres disponibles ? / 9999999 Recuperar Contraseña Correo electrónico: Recibir Accesos Cerrar Datos de Facturación Nombre de la Empresa (Razón Social): RFC: Calle: Número exterior: Número interior: Colonia: Estado: Municipio: Código Postal: Datos de Facturación Cerrar Contrataciones [InvoiceOne - Proveedor Autorizado de Certificación CFDI 57203] Aviso Importante Aceptar Please wait Loading wallpaper... Aceptar Sí No Cancelar