This commit is contained in:
2022-08-12 11:04:58 -07:00
54 changed files with 3442 additions and 2300 deletions

View File

@@ -5957,19 +5957,31 @@ Partial Class Compras_Compras
ErrorPrepoliza = True
End If
If TipoCreditoInteres Then
If importeMovimiento <> 0 Then
Dim Pago As New CompraPago
Pago.ImportePago = importeMovimiento
Pago.CveIE = CveIE
Pago.CveMonedaPago = 1
Pago.CveCompraAmortizacion = -1
Pago.CveCreditoDetalle = CveCreditoDetalle
Dim importeMovimientoIn As Decimal = ImporteIECredito - importeMovimiento
Dim importeMNIn As Decimal = importeMovimientoIn * tipoCambioActual * Multiplicador
ErrorMovtosCxP = AplicaPrePolizaPago(CompraActual, Pago, CvePrePoliza, ObjConta)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimientoIn, importeMNIn, 41, Referencia, Concepto, CtaProveedorAcreedores, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimientoIn), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimientoIn, importeMNIn, 50, Referencia, Concepto, ViewState("IdCtaContDocsXPagar").ToString.ToEntero(), CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimientoIn), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
End If
End If
'If TipoCreditoInteres Then
' Dim importeMovimientoIn As Decimal = ImporteIECredito - importeMovimiento
' Dim importeMNIn As Decimal = importeMovimientoIn * tipoCambioActual * Multiplicador
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimientoIn, importeMNIn, 41, Referencia, Concepto, CtaProveedorAcreedores, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimientoIn), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
' ErrorPrepoliza = True
' End If
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimientoIn, importeMNIn, 50, Referencia, Concepto, ViewState("IdCtaContDocsXPagar").ToString.ToEntero(), CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimientoIn), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
' ErrorPrepoliza = True
' End If
'End If
End If
importeMovimiento = 0 : importeMN = 0
If TipoCambioCompra > 1 AndAlso DdlMoneda.SelectedValue.ToEntero <> 1 Then Concepto += $" TC{TipoCambioCompra} ${importeMovimiento.FormatoNumero(2)}"

View File

@@ -223,7 +223,28 @@ Partial Class PopUpVerFactura
End If
End If
End If
End Sub
Private Sub DescargaArchivoDirecto(RutaArchivo As String)
If RutaArchivo <> "" Then
'Dim Path As String = String.Format("{0}\{1}", UsuarioActual.Empresa.Ruta, RutaArchivo)
Dim Archivo As New System.IO.FileInfo(RutaArchivo)
If Archivo.Exists Then
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.ContentType = "application/octet-stream"
HttpContext.Current.Response.AppendHeader("Content-disposition", String.Format("attachment; filename={0}", Archivo.Name))
HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
HttpContext.Current.Response.TransmitFile(RutaArchivo)
'HttpContext.Current.Response.Flush()
HttpContext.Current.Response.End()
End If
Archivo = Nothing
End If
End Sub
Private Sub ReciboAgropecuaria()
@@ -972,6 +993,12 @@ Partial Class PopUpVerFactura
DescargaFactura(UrlParametros)
End If
If UrlParametros("OP").ToString = "File" Then
DescargaArchivoDirecto(UrlParametros("FILE").ToString)
End If
'DESCARGA DOCUMENTO XML O PDF DE LA FACTURA VENTA
If UrlParametros("OP").ToString = "FactVta" Then
DescargaFacturaVenta(UrlParametros)
@@ -1258,6 +1285,13 @@ Partial Class PopUpVerFactura
End If
End If
'IMPRIME ENTREGAS POR REALIZAR
If UrlParametros("OP").ToString = "FILE" Then
If UrlParametros("CVEASIGNACIONENTREGA") IsNot Nothing And UrlParametros("USUARIOENTREGA") IsNot Nothing Then
ImprimeEntregasPorRealizar(UrlParametros("CVEASIGNACIONENTREGA").ToString.ToLong, UrlParametros("USUARIOENTREGA").ToString)
End If
End If
End Sub
Private Function Parametros(Cadena As String) As Hashtable
@@ -3048,6 +3082,16 @@ Partial Class PopUpVerFactura
CartaPorte = New Modelos.MSubReportData()
CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False"))
End If
Else
If UsuarioActual.CveEmpresa = 13 AndAlso Vta.TipoDocto = "Egs" Then
CartaPorte = New Modelos.MSubReportData()
CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False"))
End If
End If
Else
If UsuarioActual.CveEmpresa = 13 AndAlso Vta.TipoDocto = "Egs" Then
CartaPorte = New Modelos.MSubReportData()
CartaPorte.Parametros.Add(New ReportParameter($"TieneCartaPorte", "False"))
End If
End If

View File

@@ -63,8 +63,8 @@
<asp:LinkButton ID="lbDescargar" runat="server"><i class="fa fa-download"></i>
Descarga Facturas SAT</asp:LinkButton>
</li>--%>
<li>
<asp:LinkButton ID="LnkShowSolicitudes" OnClick="LnkShowSolicitudes_Click" runat="server">Solicitudes SAT</asp:LinkButton>
<li>
<asp:LinkButton ID="LnkShowSolicitudes" OnClick="LnkShowSolicitudes_Click" runat="server"> <i class="fa fa-external-link"></i> Solicitudes SAT</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkBitacotaFacturas" runat="server" OnClick="LnkBitacotaFacturas_Click"><i class="fa fa-book" ></i> Bitácora Facturas</asp:LinkButton>
@@ -1008,202 +1008,275 @@
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="ModalViewSolicitudes" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UPModalViewSolicitudes" class="modal-dialog rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
<contenttemplate>
<div id="ModalViewSolicitudes" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UPModalViewSolicitudes" class="modal-dialog rowpadding xspadding" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Solicitudes CFDI</h4>
</div>
<div class="modal-body">
<br />
<div class="portlet light xspadding bordered " id="PnlAgregar">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Solicitar información al sat</span>
</div>
<div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
<div class="row">
<div class="col-md-12" style="text-align: right">
<asp:LinkButton ID="LnkAgregarSolictud" runat="server" data-toggle="tooltip" data-placement="right" OnClick="LnkAgregarSolictud_Click" title="Agregar Solicitud." CssClass="btn btn-circle btn-default" Text="<i class='fa fa-plus'></i> Agregar Solicitud"></asp:LinkButton>
</div>
<div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom " style="display: none">
<div class="row">
<div class="col-md-4">
</div>
<asp:Label runat="server" Text="Fecha Inicio" AssociatedControlID="txtFechaIAdd"></asp:Label>
</div>
<div class="col-md-4">
<asp:Label runat="server" Text="Fecha Fin" AssociatedControlID="txtFechaFAdd"></asp:Label>
</div>
</div>
<div class="row">
<div class="col-md-4">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="txtFechaIAdd" CssClass="form-control input-sm ADSMaskDate" Style="" runat="server"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaIAdd" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:maskededitextender id="MEEFechaIAdd" runat="server" targetcontrolid="txtFechaIAdd" mask="99/99/9999" masktype="Date" displaymoney="Left" acceptnegative="Left"></ajax:maskededitextender>
<ajax:calendarextender runat="server" id="CalendarExtender1" targetcontrolid="txtFechaIAdd" popupbuttonid="LnkFechaIAdd" popupposition="BottomRight" enabled="True"></ajax:calendarextender>
<asp:RequiredFieldValidator ID="rfvFechaIAdd" runat="server" ControlToValidate="txtFechaIAdd" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="VGAdd"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaIAdd" runat="server" ControlToValidate="txtFechaIAdd" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:validatorcalloutextender id="ValidatorCalloutExtender3" runat="server" highlightcssclass="vco" targetcontrolid="rfvFechaIAdd" width="350px"></ajax:validatorcalloutextender>
<ajax:validatorcalloutextender id="ValidatorCalloutExtender4" runat="server" highlightcssclass="vco" targetcontrolid="cvFechaIAdd" width="350px"></ajax:validatorcalloutextender>
<ajax:TabContainer runat="server" ID="TabPanel" ActiveTabIndex="0">
<ajax:TabPanel runat="server" HeaderText="Pendientes" ID="TabPendientes">
<ContentTemplate>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GVSolicitudesPendientes" runat="server" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" AutoGenerateColumns="False"
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
DataKeyNames="CveSolicitud,CveSolicitudCFDI,CveSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa,ArchivoXML,idSolicitud,CveSolicitudDetalle,Folio,CveTipoSolicitud">
<Columns>
<asp:TemplateField HeaderText="Folio">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Folio")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Inicio">
<ItemTemplate>
<asp:Label ID="lblfechaInicio" runat="server" Text='<%# Eval("FechaInicio", "{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Fin">
<ItemTemplate>
<asp:Label ID="lblfechaFin" runat="server" Text='<%# Eval("FechaFin", "{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus">
<ItemTemplate>
<asp:Label ID="lblestatus" runat="server" Text='<%# Eval("EstatusText")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Observaciones">
<ItemTemplate>
<asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("Observaciones")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tipo" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label runat="server" ID="lBLTipoDescarga" Text='<%# Eval("TipoDescarga")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha solicitud">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FechaIng", "{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Solicitó">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("UsuarioIng")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
<div class="col-md-4">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 138px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="txtFechaFAdd" CssClass="form-control input-sm ADSMaskDate" Style="" runat="server"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="LnkFechaFAdd" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:maskededitextender id="MEEFechaFAdd" runat="server" targetcontrolid="txtFechaFAdd" mask="99/99/9999" masktype="Date" displaymoney="Left" acceptnegative="Left"></ajax:maskededitextender>
<ajax:calendarextender runat="server" id="CalendarExtender2" targetcontrolid="txtFechaFAdd" popupbuttonid="LnkFechaFAdd" popupposition="BottomRight" enabled="True"></ajax:calendarextender>
<asp:RequiredFieldValidator ID="rfvFechaFAdd" runat="server" ControlToValidate="txtFechaFAdd" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="VGAdd"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaFAdd" runat="server" ControlToValidate="txtFechaFAdd" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:validatorcalloutextender id="ValidatorCalloutExtender5" runat="server" highlightcssclass="vco" targetcontrolid="rfvFechaFAdd" width="350px"></ajax:validatorcalloutextender>
<ajax:validatorcalloutextender id="ValidatorCalloutExtender6" runat="server" highlightcssclass="vco" targetcontrolid="cvFechaFAdd" width="350px"></ajax:validatorcalloutextender>
</div>
</div>
<div class="col-md-4">
<div class="text-right">
<asp:LinkButton ID="LnkSolicitarSat" CssClass="btn btn-primary" OnClick="LnkSolicitarSat_Click" runat="server">Solicitar</asp:LinkButton>
<div class="row">
<div class="col-md-12" style="text-align: center">
<asp:LinkButton ID="LnkverificarSolicitudes" CssClass="btn btn-primary" OnClick="LnkverificarSolicitudes_Click" runat="server">Verificar pendientes</asp:LinkButton>
</div>
</div>
</div>
</div>
</div>
<div class="portlet light xspadding bordered " id="PnlPendientes">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">Solicitudes pendientes de respuesta del SAT </span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom ">
<asp:GridView ID="GVSolicitudesPendientes" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
DataKeyNames="CveSolicitud,CveSolicitudCFDI,CveSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa">
<columns>
<asp:TemplateField HeaderText="Folio">
<itemtemplate>
<asp:Label runat="server" Text='<%# Eval("CveSolicitud")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Inicio">
<itemtemplate>
<asp:Label ID="lblfechaInicio" runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Fin">
<itemtemplate>
<asp:Label ID="lblfechaFin" runat="server" Text='<%# Eval("FechaFin","{0:dd/MM/yyyy}")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus">
<itemtemplate>
<asp:Label ID="lblestatus" runat="server" Text='<%# Eval("EstatusText")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Observaciones">
<itemtemplate>
<asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("Observaciones")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha solicitud">
<itemtemplate>
<asp:Label runat="server" Text='<%# Eval("FechaIng","{0:dd/MM/yyyy HH:mm}")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Solicitó">
<itemtemplate>
<asp:Label runat="server" Text='<%# Eval("UsuarioIng")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
</columns>
</asp:GridView>
</div>
</div>
<div class="portlet light xspadding bordered " id="PnlTerminads">
<div class="portlet-title">
<div class="caption ">
<i class="fa fa-bookmark font-yellow-gold"></i>
<span class="caption-subject font-yellow-gold bold uppercase">solicitudes respondidas por el sat</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom ">
<asp:GridView ID="GVSolicitudesNominas" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
DataKeyNames="CveSolicitud,idSolicitudCFDI,idSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa">
<columns>
<asp:TemplateField HeaderText="Folio">
<itemtemplate>
<asp:Label runat="server" Text='<%# Eval("CveSolicitud")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Inicio">
<itemtemplate>
<asp:Label ID="lblfechaInicio" runat="server" Text='<%# Eval("FechaInicio","{0:dd/MM/yyyy}")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Fin">
<itemtemplate>
<asp:Label ID="lblfechaFin" runat="server" Text='<%# Eval("FechaFin","{0:dd/MM/yyyy}")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="No CFDI">
<itemtemplate>
<asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("numeroCFDIs")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Observaciones">
<itemtemplate>
<asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("Observaciones")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha solicitud">
<itemtemplate>
<asp:Label runat="server" Text='<%# Eval("FechaIng","{0:dd/MM/yyyy HH:mm}")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Solicitó">
<itemtemplate>
<asp:Label runat="server" Text='<%# Eval("UsuarioIng")%>'></asp:Label>
</itemtemplate>
</asp:TemplateField>
</columns>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel runat="server" HeaderText="Historial" ID="TabHistorial">
<ContentTemplate>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GVSolicitudesNominas" runat="server" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn" AutoGenerateColumns="False" OnRowDataBound="GVSolicitudesNominas_RowDataBound"
ShowHeaderWhenEmpty="true" EmptyDataText="No se encontraron registros"
DataKeyNames="CveSolicitudDetalle,CveSolicitud,idSolicitudCFDI,idSolicitudMetadata,Estatus,Observaciones,FechaInicio,FechaFin,FechaIng,CveUsuarioIng,CveEmpresa,ArchivoXML,Folio,CveTipoSolicitud,TipoDescargaStr">
<Columns>
<asp:TemplateField HeaderText="Folio">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Folio")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Inicio">
<ItemTemplate>
<asp:Label ID="lblfechaInicio" runat="server" Text='<%# Eval("FechaInicio", "{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha Fin">
<ItemTemplate>
<asp:Label ID="lblfechaFin" runat="server" Text='<%# Eval("FechaFin", "{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="No CFDI" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Label ID="LblnumeroCFDIs" runat="server" Text='<%# Eval("numeroCFDIs")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Observaciones">
<ItemTemplate>
<asp:Label ID="lblobservaciones" runat="server" Text='<%# Eval("Observaciones")%>' ItemStyle-Width="150px" ControlStyle-Width="150px" CssClass="truncate" ></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Tipo" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Label runat="server" ID="lBLTipoDescarga" Text='<%# Eval("TipoDescarga")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Fecha solicitud">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FechaIng", "{0:dd/MM/yyyy}")%>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Solicitó" ItemStyle-Width="100px" ControlStyle-Width="100px">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("UsuarioIng")%>' CssClass="truncate"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="50px" HeaderText="XML">
<ItemTemplate>
<asp:LinkButton ID="LnkDescargaXML" CssClass="btn btn-circle btn-sm blue" OnClick="LnkDescargaXML_Click" runat="server" ToolTip="Descargar archivo"
Text="<i class='fa fa-download' style='color:white' title='Descargar Documento'></i>" CausesValidation="False" Visible="false" />
</ItemTemplate>
</asp:TemplateField>
<%--
<asp:TemplateField HeaderText="R Nombres" Visible="false">
<ItemTemplate>
<asp:LinkButton ID="LnkRenombrarArchivos" CssClass="btn btn-circle btn-sm blue" OnClick="LnkRenombrarArchivos_Click" runat="server" ToolTip="Renombrar Archivos"
Text="Renombrar" />
</ItemTemplate>
</asp:TemplateField>--%>
</Columns>
</asp:GridView>
</div>
</div>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabContainer>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LnkverificarSolicitudes" CssClass="btn btn-primary" OnClick="LnkverificarSolicitudes_Click" runat="server">Verificar pendientes</asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
</contenttemplate>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div id="ModalAgregarSolicitud" class="modal ADS fade" role="dialog">
<asp:UpdatePanel ID="UPModalViewSolicitudesAgregar" class="modal-dialog rowpadding" tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Agregar Solicitud CFDI</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright" style="width: 125px!important;height:28px!important">
<asp:TextBox ID="txtFechaIAdd" CssClass="form-control" MaxLength="20" runat="server" Width="100px" Height="28px"></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: -5px;">
<asp:LinkButton ID="LnkFechaIAdd" class="btn default" Style="margin-top: 15px; margin-left: 6px" Text="<i Style='margin-left: -6px;margin-top: -5px' class='fa fa-calendar'></i>" runat="server" Width="25px" Height="27px" ></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaIAdd" runat="server" TargetControlID="txtFechaIAdd" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="txtFechaIAdd" PopupButtonID="LnkFechaIAdd" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaIAdd" runat="server" ControlToValidate="txtFechaIAdd" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpAddSolicitud"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaIAdd" runat="server" ControlToValidate="txtFechaIAdd" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpAddSolicitud"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaIAdd" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaIAdd" Width="350px"></ajax:ValidatorCalloutExtender>
<label for="<%= txtFechaIAdd.ClientID.ToString() %>" style="margin-top: -6px">Fecha Inicio:</label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright" style="width: 125px!important">
<asp:TextBox ID="txtFechaFAdd" CssClass="form-control" MaxLength="20" runat="server" Width="100px" Height="28px"></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: -5px;">
<asp:LinkButton ID="LnkFechaFAdd" class="btn default" Style="margin-top: 15px; margin-left: 6px" Text="<i Style='margin-left: -6px;margin-top: -5px' class='fa fa-calendar'></i>" runat="server" Width="25px" Height="27px" ></asp:LinkButton>
</span>
<ajax:MaskedEditExtender ID="MEEFechaFAdd" runat="server" TargetControlID="txtFechaFAdd" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender2" TargetControlID="txtFechaFAdd" PopupButtonID="LnkFechaFAdd" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaFAdd" runat="server" ControlToValidate="txtFechaFAdd" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="GrpAddSolicitud"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaFAdd" runat="server" ControlToValidate="txtFechaFAdd" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpAddSolicitud"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender5" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaFAdd" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender6" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaFAdd" Width="350px"></ajax:ValidatorCalloutExtender>
<label for="<%= txtFechaFAdd.ClientID.ToString() %>" style="margin-top: -6px">Fecha Fin:</label>
</div>
</div>
<div class="col-md-4" runat="server" visible="false">
<asp:CheckBox runat="server" ID="ChkMetaDatos" Text="Validación de Estatus" />
</div>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LnkSolicitarSat" CssClass="btn btn-primary" OnClick="LnkSolicitarSat_Click" runat="server" ValidationGroup="GrpAddSolicitud">Solicitar</asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>

View File

@@ -1537,23 +1537,27 @@ Partial Class Compras_eFacturas
Dim sOnlyFilename As String
For Each filePath In fileEntries
ArchivoExtension = IO.Path.GetExtension(String.Format("{0}", filePath)).Replace(".", "")
sOnlyFilename = System.IO.Path.GetFileName(filePath)
If ArchivoExtension.ToUpper = "RAR" Or ArchivoExtension.ToUpper = "ZIP" Then
ListaComprimidos.Add(filePath)
'CREO DIRECTORIO ALEATORIO
Dim Aleatorio As New Random
Dim TempDirectorio As String = String.Format("{0}{1}\{2}{3}", UsuarioActual.Empresa.Ruta, "Temp\Facturas", Date.Now.Ticks, Aleatorio.Next(100, 999))
Directory.CreateDirectory(TempDirectorio)
ListaDirectoriosTemporales.Add(TempDirectorio)
'AGREGA DIRECTORIO A LA LISTA
ListDirectorios.Add(TempDirectorio)
'DESCOMPRIME RAR
DescomprimeFacturas(filePath, TempDirectorio)
'AGREGA XML A LA LISTA
ListXML.AddRange(Directory.GetFiles(TempDirectorio))
End If
If ArchivoExtension.ToUpper = "RAR" Or ArchivoExtension.ToUpper = "ZIP" Then
'ListaComprimidos.Add(filePath)
''CREO DIRECTORIO ALEATORIO
'Dim Aleatorio As New Random
'Dim TempDirectorio As String = String.Format("{0}{1}\{2}{3}", UsuarioActual.Empresa.Ruta, "Temp\Facturas", Date.Now.Ticks, Aleatorio.Next(100, 999))
'Directory.CreateDirectory(TempDirectorio)
'ListaDirectoriosTemporales.Add(TempDirectorio)
''AGREGA DIRECTORIO A LA LISTA
'ListDirectorios.Add(TempDirectorio)
''DESCOMPRIME RAR
'DescomprimeFacturas(filePath, TempDirectorio)
''AGREGA XML A LA LISTA
'ListXML.AddRange(Directory.GetFiles(TempDirectorio))
ListXML.Add(filePath)
End If
Next
@@ -2548,51 +2552,160 @@ Partial Class Compras_eFacturas
DTConceptos.Columns.Add("Total", GetType(Double))
End Sub
#End Region
#Region "Sat descargamasiva"
Private Sub cargasolicitudes()
LnkverificarSolicitudes.Visible = False
Using nom As ClsNominas = New ClsNominas()
If nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, 2) Then
GVSolicitudesPendientes.DataSource = nom.DtResultados.FiltraParametros("Estatus =0")
If nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud:=2, Estatus:=0, Top:=50) Then
GVSolicitudesPendientes.DataSource = nom.DtResultados
If nom.DtResultados.Rows.Count > 0 Then
LnkverificarSolicitudes.Visible = True
End If
GVSolicitudesPendientes.DataBind()
GVSolicitudesNominas.DataSource = nom.DtResultados.FiltraParametros("Estatus =1")
End If
If nom.SolicitudesGet(-1, UsuarioActual.CveEmpresa, CveTipoSolicitud:=2, Estatus:=1, Top:=50) Then
GVSolicitudesNominas.DataSource = nom.DtResultados
GVSolicitudesNominas.DataBind()
End If
End Using
UPModalViewSolicitudes.Update()
End Sub
Protected Sub LnkShowSolicitudes_Click(ByVal sender As Object, ByVal e As EventArgs)
TabPanel.ActiveTabIndex = 0
cargasolicitudes()
Me.RegistraScript("$('#ModalViewSolicitudes').modal();")
End Sub
'Protected Sub LnkSolicitarSat_Click(ByVal sender As Object, ByVal e As EventArgs)
' 'Dim idSolicitudCFDI As Integer = 0
' 'Dim idSolicitudMetadata As Integer = 0
' 'Dim estatus As Integer = 0
' 'Dim observaciones As String = ""
' 'Dim fechaInicio As DateTime = txtFechaIAdd.Text.ToDateTime()
' 'Dim fechaFin As DateTime = txtFechaFAdd.Text.ToDateTime()
' 'Dim cveUsuarioIng As Integer = UsuarioActual.CveUsuario
' 'Dim cveEmpresa As Integer = UsuarioActual.CveEmpresa
' 'Dim Continuar As Boolean = False
' 'Using nom As ClsNominas = New ClsNominas()
' ' Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, 2)
' ' Dim api = New GeneralesAPIeFacturas()
' ' api.GeneraSolicitud()
' ' api.VerificaSolicitudesNominas()
' 'End Using
' 'If Continuar Then
' ' txtFechaIAdd.Text = ""
' ' txtFechaFAdd.Text = ""
' ' Me.RegistraScript("$('#DModalSolicitudesNominas').modal('hide');")
' ' cargasolicitudes()
' ' Me.Alert("se a envia la solicitud al sat, le enviaremos un correo en cuanto tengamos una respuesta", ModExtensiones.TipoMensaje.ToastInformacion)
' 'End If
' Dim idSolicitudCFDI As Integer = 0
' Dim idSolicitudMetadata As Integer = 0
' Dim estatus As Integer = 0
' Dim observaciones As String = ""
' Dim fechaInicio As DateTime = txtFechaIAdd.Text.ToDateTime()
' Dim fechaFin As DateTime = txtFechaFAdd.Text.ToDateTime()
' Dim cveUsuarioIng As Integer = UsuarioActual.CveUsuario
' Dim cveEmpresa As Integer = UsuarioActual.CveEmpresa
' Dim Continuar As Boolean = False
' Using nom As ClsNominas = New ClsNominas()
' Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, CveTipoSolicitud:=3)
' End Using
' If Continuar Then
' Dim sbResultado As StringBuilder = New StringBuilder()
' Dim api = New GeneralesAPIeFacturas()
' Dim ObjApiSolicitud As JToken = CType(api.GeneraSolicitud(UsuarioActual.CveEmpresa, 3), JToken)
' Dim resultSolicitud As List(Of String) = New List(Of String)()
' Dim resultVerificacion As List(Of String) = New List(Of String)()
' Dim ResultadoVerificaionOK = False
' Dim SeVerifico = False
' Dim TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
' Dim ResultadoSolicitudOK = False
' If Not (ObjApiSolicitud Is Nothing) Then
' resultSolicitud = ObjApiSolicitud.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
' ResultadoSolicitudOK = Boolean.Parse(resultSolicitud(0))
' Else
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' If ResultadoSolicitudOK Then
' Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 3), JToken)
' If Not (ObjApiVerificacion Is Nothing) Then
' resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
' ResultadoVerificaionOK = Boolean.Parse(resultVerificacion(0))
' SeVerifico = True
' Else
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' End If
' If resultSolicitud.Count = 4 Then
' If ResultadoSolicitudOK Then
' If resultSolicitud(1).ToString().Trim().Length > 0 Then
' sbResultado.Append($"{resultSolicitud(1)}<br/>")
' Else
' sbResultado.Append($"Solicitud Generada Correctamente")
' sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(1)} <br>")
' End If
' Else
' sbResultado.Append($"{resultSolicitud(1)}")
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' Else
' sbResultado.AppendLine("Se presento un error al generar la solicitud (API) <br/>")
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' If SeVerifico AndAlso resultVerificacion.Count = 4 Then
' If ResultadoVerificaionOK Then
' sbResultado.Append($"{resultVerificacion(1)}<br>")
' Else
' sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(1)}<br>")
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' Else
' sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) <br/>")
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' Alert(sbResultado.ToString(), TipoMensaje)
' End If
' If Continuar Then
' txtFechaIAdd.Text = ""
' txtFechaFAdd.Text = ""
' Me.RegistraScript("$('#ModalViewSolicitudes').modal('hide');")
' cargasolicitudes()
' End If
'End Sub
Protected Sub LnkSolicitarSat_Click(ByVal sender As Object, ByVal e As EventArgs)
'Dim idSolicitudCFDI As Integer = 0
'Dim idSolicitudMetadata As Integer = 0
'Dim estatus As Integer = 0
'Dim observaciones As String = ""
'Dim fechaInicio As DateTime = txtFechaIAdd.Text.ToDateTime()
'Dim fechaFin As DateTime = txtFechaFAdd.Text.ToDateTime()
'Dim cveUsuarioIng As Integer = UsuarioActual.CveUsuario
'Dim cveEmpresa As Integer = UsuarioActual.CveEmpresa
'Dim Continuar As Boolean = False
'Using nom As ClsNominas = New ClsNominas()
' Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, 2)
' Dim api = New GeneralesAPIeFacturas()
' api.GeneraSolicitud()
' api.VerificaSolicitudesNominas()
'End Using
'If Continuar Then
' txtFechaIAdd.Text = ""
' txtFechaFAdd.Text = ""
' Me.RegistraScript("$('#DModalSolicitudesNominas').modal('hide');")
' cargasolicitudes()
' Me.Alert("se a envia la solicitud al sat, le enviaremos un correo en cuanto tengamos una respuesta", ModExtensiones.TipoMensaje.ToastInformacion)
'End If
Dim sbResultado As StringBuilder = New StringBuilder()
Dim idSolicitudCFDI As Integer = 0
Dim idSolicitudMetadata As Integer = 0
Dim estatus As Integer = 0
@@ -2601,20 +2714,23 @@ Partial Class Compras_eFacturas
Dim fechaFin As DateTime = txtFechaFAdd.Text.ToDateTime()
Dim cveUsuarioIng As Integer = UsuarioActual.CveUsuario
Dim cveEmpresa As Integer = UsuarioActual.CveEmpresa
Dim Continuar As Boolean = False
Dim CveSolicitudAgregada As Integer = -1
Dim Folio As Integer = -1
Using nom As ClsNominas = New ClsNominas()
Continuar = nom.SolicitudesAdd(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, CveTipoSolicitud:=3)
Dim CveTipoSolicitud As Integer = If(ChkMetaDatos.Checked, 202, 2)
CveSolicitudAgregada = nom.SolicitudesAdd2(idSolicitudCFDI, idSolicitudMetadata, estatus, observaciones, fechaInicio, fechaFin, cveUsuarioIng, cveEmpresa, CveTipoSolicitud:=CveTipoSolicitud)
If CveSolicitudAgregada > 0 Then
Folio = nom.FolioSolicitud
End If
End Using
If Continuar Then
Dim sbResultado As StringBuilder = New StringBuilder()
If CveSolicitudAgregada > 0 Then
Dim api = New GeneralesAPIeFacturas()
Dim ObjApiSolicitud As JToken = CType(api.GeneraSolicitud(UsuarioActual.CveEmpresa, 3), JToken)
Dim ObjApiSolicitud As JToken = CType(api.GeneraSolicitud(UsuarioActual.CveEmpresa, 2, CveSolicitudAgregada), JToken)
Dim resultSolicitud As List(Of String) = New List(Of String)()
Dim resultVerificacion As List(Of String) = New List(Of String)()
Dim ResultadoVerificaionOK = False
Dim SeVerifico = False
Dim TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
Dim ResultadoSolicitudOK = False
@@ -2626,134 +2742,246 @@ Partial Class Compras_eFacturas
End If
If ResultadoSolicitudOK Then
Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 3), JToken)
If Not (ObjApiVerificacion Is Nothing) Then
resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
ResultadoVerificaionOK = Boolean.Parse(resultVerificacion(0))
SeVerifico = True
Else
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
End If
If resultSolicitud.Count = 4 Then
If ResultadoSolicitudOK Then
If resultSolicitud(1).ToString().Trim().Length > 0 Then
sbResultado.Append($"{resultSolicitud(1)}<br/>")
Else
sbResultado.Append($"Solicitud Generada Correctamente")
sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(1)} <br>")
End If
Else
sbResultado.Append($"{resultSolicitud(1)}")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
sbResultado.Append($"Solicitud registrada. {resultSolicitud(1)}<br> Folio: {Folio}")
Else
sbResultado.AppendLine("Se presento un error al generar la solicitud (API) <br/>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
If SeVerifico AndAlso resultVerificacion.Count = 4 Then
If ResultadoVerificaionOK Then
sbResultado.Append($"{resultVerificacion(1)}<br>")
If ObjApiSolicitud IsNot Nothing AndAlso resultSolicitud.Count = 4 Then
sbResultado.Append($"Solicitud registrada, pendiente de verificar en SAT <br> Folio: {Folio} <br>({resultSolicitud(1)})<br>")
Else
sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(1)}<br>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
sbResultado.Append($"Solicitud registrada, pendiente de verificar en SAT <br> Folio: {Folio}")
End If
Else
sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) <br/>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Alert(sbResultado.ToString(), TipoMensaje)
Else
Alert("No se puedo registrar la solictud".ToString(), ModExtensiones.TipoMensaje.MsgAdvertencia)
End If
If Continuar Then
If CveSolicitudAgregada > 0 Then
txtFechaIAdd.Text = ""
txtFechaFAdd.Text = ""
Me.RegistraScript("$('#ModalViewSolicitudes').modal('hide');")
ChkMetaDatos.Checked = False
Me.RegistraScript("$('#ModalAgregarSolicitud').modal('hide');")
cargasolicitudes()
End If
End Sub
'Protected Sub LnkverificarSolicitudes_Click(ByVal sender As Object, ByVal e As EventArgs)
' Dim sbResultado As StringBuilder = New StringBuilder()
' Dim api = New GeneralesAPIeFacturas()
' Dim ObjApiSolicitud As JToken = CType(api.GeneraSolicitud(UsuarioActual.CveEmpresa, 3), JToken)
' Dim resultSolicitud As List(Of String) = New List(Of String)()
' Dim resultVerificacion As List(Of String) = New List(Of String)()
' Dim ResultadoVerificaionOK = False
' Dim SeVerifico = False
' Dim TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
' Dim ResultadoSolicitudOK = False
' If Not (ObjApiSolicitud Is Nothing) Then
' resultSolicitud = ObjApiSolicitud.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
' ResultadoSolicitudOK = Boolean.Parse(resultSolicitud(0))
' Else
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' If ResultadoSolicitudOK Then
' Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 3), JToken)
' If Not (ObjApiVerificacion Is Nothing) Then
' resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
' ResultadoVerificaionOK = Boolean.Parse(resultVerificacion(0))
' SeVerifico = True
' Else
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' End If
' If resultSolicitud.Count = 4 Then
' If ResultadoSolicitudOK Then
' If resultSolicitud(2).ToString().Trim().Length > 0 Then
' sbResultado.Append($"{resultSolicitud(2)}<br/>")
' Else
' sbResultado.Append($"Solicitud Generada Correctamente")
' sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(1)} <br>")
' End If
' Else
' sbResultado.Append($"{resultSolicitud(1)}")
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' Else
' sbResultado.AppendLine("Se presento un error al generar la solicitud (API) <br/>")
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' If SeVerifico AndAlso resultVerificacion.Count = 4 Then
' If ResultadoVerificaionOK Then
' sbResultado.Append($"{resultVerificacion(1)}<br>")
' Else
' sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(1)}<br>")
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' Else
' sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) <br/>")
' TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
' End If
' Alert(sbResultado.ToString(), TipoMensaje)
' cargasolicitudes()
'End Sub
Protected Sub LnkverificarSolicitudes_Click(ByVal sender As Object, ByVal e As EventArgs)
Try
Dim sbResultado As StringBuilder = New StringBuilder()
For Each GvRow As GridViewRow In GVSolicitudesPendientes.Rows
Dim CveSolicitudActual As Integer = GvRow.DataKey("CveSolicitud").ToEntero()
Dim idSolicitud As String = GvRow.DataKey("idSolicitud").Trim()
Dim CveTipoSolicitud As Integer = GvRow.DataKey("CveTipoSolicitud").ToEntero()
Dim Folio As Integer = GvRow.DataKey("Folio").ToEntero()
Dim resultSolicitud As List(Of String) = New List(Of String)()
Dim resultVerificacion As List(Of String) = New List(Of String)()
Dim ResultadoVerificaionOK = False
Dim SeVerifico = False
Dim TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
Dim ResultadoSolicitudOK = False
Dim api = New GeneralesAPIeFacturas()
If idSolicitud.Length = 0 Then
Dim ObjApiSolicitud As JToken = CType(api.GeneraSolicitud(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual), JToken)
Dim sbResultado As StringBuilder = New StringBuilder()
Dim api = New GeneralesAPIeFacturas()
Dim ObjApiSolicitud As JToken = CType(api.GeneraSolicitud(UsuarioActual.CveEmpresa, 3), JToken)
Dim resultSolicitud As List(Of String) = New List(Of String)()
Dim resultVerificacion As List(Of String) = New List(Of String)()
Dim ResultadoVerificaionOK = False
Dim SeVerifico = False
Dim TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
Dim ResultadoSolicitudOK = False
If Not (ObjApiSolicitud Is Nothing) Then
resultSolicitud = ObjApiSolicitud.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
ResultadoSolicitudOK = Boolean.Parse(resultSolicitud(0))
Else
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
If ResultadoSolicitudOK Then
Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, 3), JToken)
If Not (ObjApiVerificacion Is Nothing) Then
resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
ResultadoVerificaionOK = Boolean.Parse(resultVerificacion(0))
SeVerifico = True
Else
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
End If
If resultSolicitud.Count = 4 Then
If ResultadoSolicitudOK Then
If resultSolicitud(2).ToString().Trim().Length > 0 Then
sbResultado.Append($"{resultSolicitud(2)}<br/>")
If Not (ObjApiSolicitud Is Nothing) Then
resultSolicitud = ObjApiSolicitud.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
ResultadoSolicitudOK = Boolean.Parse(resultSolicitud(0))
sbResultado.Append($"Solicitud {Folio} solicitada a SAT.<br>")
Else
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
sbResultado.Append($"Solicitud Generada Correctamente")
sbResultado.Append($"Se presento un error al verificar las solicitudes <br/> {resultSolicitud(1)} <br>")
resultSolicitud = New List(Of String)()
resultSolicitud.Add("true")
resultSolicitud.Add("")
resultSolicitud.Add("")
resultSolicitud.Add("")
ResultadoSolicitudOK = True
End If
Else
sbResultado.Append($"{resultSolicitud(1)}")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
sbResultado.AppendLine("Se presento un error al generar la solicitud (API) <br/>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
If SeVerifico AndAlso resultVerificacion.Count = 4 Then
If ResultadoSolicitudOK Then
Dim ObjApiVerificacion As JToken = CType(api.VerificaSolicitudesNominas(UsuarioActual.CveEmpresa, CveTipoSolicitud, CveSolicitudActual), JToken)
If ResultadoVerificaionOK Then
sbResultado.Append($"{resultVerificacion(1)}<br>")
Else
sbResultado.Append($"Se presento un error al verificar las solicitudes {resultVerificacion(1)}<br>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
sbResultado.AppendLine("Se presento un error al verificar las solicitudes (API) <br/>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
If Not (ObjApiVerificacion Is Nothing) Then
resultVerificacion = ObjApiVerificacion.[Select](Function(token) token.Values().Aggregate(Function(i, j) $"{i}|{j}").Value(Of String)()).ToList()
ResultadoVerificaionOK = Boolean.Parse(resultVerificacion(0))
SeVerifico = True
Else
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
Alert(sbResultado.ToString(), TipoMensaje)
cargasolicitudes()
If resultSolicitud.Count = 4 Then
sbResultado.Append($"({resultSolicitud(1)})<br> Folio:{Folio} <br> ")
Else
sbResultado.Append($"Solicitud pendiente de verificar en SAT <br> Folio:{Folio} <br>")
End If
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
If SeVerifico AndAlso resultVerificacion.Count = 4 Then
If ResultadoVerificaionOK Then
sbResultado.Append($"Solicitud procesada.<br> Folio: {Folio} <br> {resultVerificacion(1)}")
Else
sbResultado.Append($"Solicitud no verificada <br> Folio: {Folio}{resultVerificacion(1)}.<br>")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Else
sbResultado.Append($"Se presento un error al verificar la solicitud <br> Folio: {Folio}.")
TipoMensaje = ModExtensiones.TipoMensaje.MsgAdvertencia
End If
Alert(sbResultado.ToString(), TipoMensaje)
Next
cargasolicitudes()
Catch ex As Exception
Alert(ex.StackTrace)
End Try
End Sub
Protected Sub LnkAgregarSolictud_Click(ByVal sender As Object, ByVal e As EventArgs)
txtFechaIAdd.Text = ""
txtFechaFAdd.Text = ""
ChkMetaDatos.Checked = False
UPModalViewSolicitudesAgregar.Update()
Me.RegistraScript("$('#ModalAgregarSolicitud').modal('show');")
End Sub
Protected Sub GVSolicitudesNominas_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DataKey("ArchivoXML").Length > 0 Then
Dim UrlDescarga = $"{UsuarioActual.Empresa.Ruta}NomXMLSAT\\Descargas\\{e.Row.DataKey("ArchivoXML")}"
If System.IO.File.Exists(UrlDescarga) Then
Dim LnkDescargaXML As LinkButton = e.Row.FCLinkButton("LnkDescargaXML")
ScriptManager.GetCurrent(Me).RegisterPostBackControl(LnkDescargaXML)
LnkDescargaXML.Visible = True
End If
End If
Dim lblobservaciones As Label = e.Row.FCLabel("lblobservaciones")
Dim lBLTipoDescarga As Label = e.Row.FCLabel("lBLTipoDescarga")
lblobservaciones.Attributes.Add("data-html", "true")
lblobservaciones.Attributes.Add("data-toggle", "tooltip")
lblobservaciones.Attributes.Add("data-placement", "top")
lblobservaciones.Attributes.Add("title", e.Row.DataKey("Observaciones"))
lBLTipoDescarga.Attributes.Add("data-html", "true")
lBLTipoDescarga.Attributes.Add("data-toggle", "tooltip")
lBLTipoDescarga.Attributes.Add("data-placement", "top")
lBLTipoDescarga.Attributes.Add("title", e.Row.DataKey("TipoDescargaStr"))
End If
End Sub
Protected Sub LnkDescargaXML_Click(ByVal sender As Object, ByVal e As EventArgs)
Dim GvRow As GridViewRow = CType((CType(sender, LinkButton)).NamingContainer, GridViewRow)
Dim UrlDescarga = $"{UsuarioActual.Empresa.Ruta}NomXMLSAT\\Descargas\\{GvRow.DataKey("ArchivoXML")}"
Dim Archivo = New System.IO.FileInfo(UrlDescarga)
If Archivo.Exists Then
Response.Clear()
Response.AddHeader("Content-Disposition", "attachment; filename=" & Archivo.Name)
Response.AddHeader("Content-Length", Archivo.Length.ToString())
Response.ContentType = "text/octet-stream"
Response.Flush()
Response.TransmitFile(Archivo.FullName)
Response.[End]()
End If
End Sub
#End Region
#Region "D E S C A R G A R - F A C T U R A "
'Protected Sub lbDescargar_Click(sender As Object, e As EventArgs) Handles lbDescargar.Click
@@ -4192,8 +4420,6 @@ Partial Class Compras_eFacturas
Alert("no se pudo procesar el archivo xml")
End If
End Sub
Private Sub VinculacionMasivaComplementos()
Dim CountVinculados As Integer = 0
@@ -4542,15 +4768,10 @@ Partial Class Compras_eFacturas
End Sub
Protected Sub LnkVinculacionMasivaComplementos_Click(sender As Object, e As EventArgs)
VinculacionMasivaComplementos()
End Sub
#Region "TRASLADOS"
@@ -4729,7 +4950,6 @@ Partial Class Compras_eFacturas
#End Region
Protected Sub LnkModalPersonalizar_Click(sender As Object, e As EventArgs)
GvD.Columns(11).Visible = ChkModalPersonalzarFolioFiscal.Checked
@@ -4744,9 +4964,6 @@ Partial Class Compras_eFacturas
RegistraScript("$('#DvmodalPersonalizar').modal('hide');")
End Sub
Protected Sub LnkPersonalizar_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DvmodalPersonalizar').modal('show');")
@@ -4764,12 +4981,12 @@ Public Class GeneralesAPIeFacturas
MyBase.New(domainApi, token)
End Sub
Public Function GeneraSolicitud(CveEmpresa As Integer, CveTipoSolicitud As Integer) As Object
Return getData(Of Object)($"GeneraSolicitud/{CveEmpresa}/{CveTipoSolicitud}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
Public Function GeneraSolicitud(CveEmpresa As Integer, CveTipoSolicitud As Integer, CveSolicitud As Integer) As Object
Return getData(Of Object)($"GeneraSolicitud/{CveEmpresa}/{CveTipoSolicitud}/{CveSolicitud}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
End Function
Public Function VerificaSolicitudesNominas(CveEmpresa As Integer, CveTipoSolicitud As Integer) As Object
Return getData(Of Object)($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
Public Function VerificaSolicitudesNominas(CveEmpresa As Integer, CveTipoSolicitud As Integer, CveSolicitud As Integer) As Object
Return getData(Of Object)($"VerificaSolicitudesNominas/{CveEmpresa}/{CveTipoSolicitud}/{CveSolicitud}", Nothing, ADSNetLibraryzdE.HelpersE.ConexionesE.SIGAPIE.requestMethod.[GET], False)
End Function
End Class