diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index 64e685e71..b5225cd7b 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -138,6 +138,8 @@ Public Class ClsBancos Public Property LimiteCredito As Double Public Property ConvenioPagoElectronico As String Public Property UsaLayout As Boolean + Public Property UsaLayoutGrupos As Boolean + Public Property UsaTarjeta As Boolean #End Region @@ -424,6 +426,7 @@ Public Class ClsBancos Me.LimiteCredito = Data.Rows(0)("LimiteCredito").ToString.ToDouble Me.ConvenioPagoElectronico = Data.Rows(0)("ConvenioPagoElectronico").ToString Me.UsaLayout = If(Data.Rows(0)("UsaLayout").ToString = "True", True, False) + Me.UsaLayoutGrupos = If(Data.Rows(0)("UsaLayoutGrupos").ToString = "True", True, False) Me.UsaTarjeta = If(Data.Rows(0)("UsaTarjeta").ToString = "True", True, False) End If @@ -457,7 +460,9 @@ Public Class ClsBancos Return Retorno + 1 End Function - Public Function AddBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer, LimiteCredito As Double, IdCtaContable As Integer, IdCtaContableComplementaria As Integer, FormatoCheque As String, CveUsuario As Integer, CveEmpresa As Integer, ConvenioPagoElectronico As String, UsaLayout As Boolean, UsaTarjeta As Boolean, Optional SaldoInicial As Double = 0) As Boolean + Public Function AddBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer, + LimiteCredito As Double, IdCtaContable As Integer, IdCtaContableComplementaria As Integer, FormatoCheque As String, CveUsuario As Integer, CveEmpresa As Integer, ConvenioPagoElectronico As String, + UsaLayout As Boolean, UsaTarjeta As Boolean, Optional SaldoInicial As Double = 0, Optional UsaLayoutGrupos As Boolean = False) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_BancosCuentasAdd") @@ -483,6 +488,10 @@ Public Class ClsBancos .Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout .Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta .Add("@SaldoInicial", SqlDbType.Money).Value = SaldoInicial + .Add("@UsaLayoutGrupos", SqlDbType.Bit).Value = UsaLayoutGrupos + + + End With Try @@ -502,7 +511,9 @@ Public Class ClsBancos Return Retorno End Function - Public Function UpdateBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer, LimiteCredito As Double, IdCtaContable As Integer, IdCtaContableComplementaria As Integer, FormatoCheque As String, Estatus As Boolean, CveCuenta As Integer, ConvenioPagoElectronico As String, UsaLayout As Boolean, UsaTarjeta As Boolean) As Boolean + Public Function UpdateBancosCuentas(CveBanco As Integer, CveTipoCuenta As Integer, NumCuenta As String, CLABE As String, CveMoneda As Integer, DiaCorte As Integer, FInicial As Integer, FActual As Integer, FFinal As Integer, + LimiteCredito As Double, IdCtaContable As Integer, IdCtaContableComplementaria As Integer, FormatoCheque As String, Estatus As Boolean, CveCuenta As Integer, ConvenioPagoElectronico As String, + UsaLayout As Boolean, UsaTarjeta As Boolean, Optional UsaLayoutGrupos As Boolean = False) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_BancosCuentasUpdate") @@ -526,6 +537,9 @@ Public Class ClsBancos .Add("@ConvenioPagoElectronico", SqlDbType.VarChar).Value = ConvenioPagoElectronico .Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout .Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta + .Add("@UsaLayoutGrupos", SqlDbType.Bit).Value = UsaLayoutGrupos + + End With Try @@ -3065,7 +3079,7 @@ Public Class ClsBancos Return Retorno End Function - Public Function UpdateLayoutEnviosDetalle(CveLayoutEnvioDetalle As Integer, CveLayoutEnvio As Integer, CveIE As Integer, CveProveedor As Integer, Estatus As Integer, Observaciones As String) As Boolean + Public Function UpdateLayoutEnviosDetalle(CveLayoutEnvioDetalle As Integer, CveLayoutEnvio As Integer, CveIE As Integer, CveProveedor As Integer, Estatus As Integer, Observaciones As String, Optional Confirmado As Boolean = False) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_LayoutEnviosDetalleUpdate") @@ -3077,6 +3091,7 @@ Public Class ClsBancos .Add("@Estatus", SqlDbType.SmallInt).Value = Estatus .Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones .Add("@CveLayoutEnvioDetalle", SqlDbType.Int).Value = CveLayoutEnvioDetalle + .Add("@Confirmado", SqlDbType.Bit).Value = Confirmado End With Try @@ -3089,6 +3104,29 @@ Public Class ClsBancos Return Retorno End Function + + Public Function UpdateBancos_IEFolio(CveIE As Integer, NuevoFolio As String, Comprobante As String) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Banc_LayoutIEFolioUpdate") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveIE", SqlDbType.Int).Value = CveIE + .Add("@NuevoFolio", SqlDbType.Char).Value = NuevoFolio + .Add("@Comprobante", SqlDbType.Char).Value = Comprobante + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar El movimiento Bancario", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + 'ESTE SE PUEDE ELIMINAR YA NO SE USA 'Public Function UpdateProveedorPagoElectronico(CveProveedor As Integer, CveEmpresa As Integer) As Boolean ' Dim Retorno As Boolean = False diff --git a/Bancos/CuentasBancariasDetalle.aspx b/Bancos/CuentasBancariasDetalle.aspx index 034177278..3862302b9 100644 --- a/Bancos/CuentasBancariasDetalle.aspx +++ b/Bancos/CuentasBancariasDetalle.aspx @@ -88,6 +88,11 @@ Layout: + + + Layout Grupos: + + Convenio: diff --git a/Bancos/CuentasBancariasDetalle.aspx.vb b/Bancos/CuentasBancariasDetalle.aspx.vb index f4395d31a..698e4aab8 100644 --- a/Bancos/CuentasBancariasDetalle.aspx.vb +++ b/Bancos/CuentasBancariasDetalle.aspx.vb @@ -147,10 +147,12 @@ Partial Class Bancos_CuentasBancariasDetalle TxtCLABE.Text = ObjCuentasBancariasDetalle.CLABE DdlMoneda.SelectedValue = ObjCuentasBancariasDetalle.CveMoneda.ToString ChkEstatus.Checked = If((ObjCuentasBancariasDetalle.Estatus) = "Activo", True, False) + ChkEstatus.Checked = If((ObjCuentasBancariasDetalle.Estatus) = "Activo", True, False) LblFecha.Text = ObjCuentasBancariasDetalle.Fecha.ToShortDateString LblUsuario.Text = ObjCuentasBancariasDetalle.Usuario TxtConvenio.Text = ObjCuentasBancariasDetalle.ConvenioPagoElectronico.ToString ChkLayout.Checked = ObjCuentasBancariasDetalle.UsaLayout + ChkLayoutGrupos.Checked = ObjCuentasBancariasDetalle.UsaLayoutGrupos ChkUsaTarjeta.Checked = ObjCuentasBancariasDetalle.UsaTarjeta ChkUsaTarjeta_CheckedChanged(Nothing, Nothing) @@ -187,7 +189,7 @@ Partial Class Bancos_CuentasBancariasDetalle If ObjCuentasBancariasDetalle.AddBancosCuentas(DdlBanco.SelectedValue.ToEntero, DdlTipoCuenta.SelectedValue.ToEntero, TxtNumCuenta.Text.Trim, TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0, TxtLimiteCredito.Text.Trim.ToDouble, DDlCuentaContable.SelectedValue.ToEntero, - DdlCuentaContableComplementaria.SelectedValue.ToEntero, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, If(ChkLayout.Checked, TxtConvenio.Text, ""), ChkLayout.Checked, ChkUsaTarjeta.Checked) Then + DdlCuentaContableComplementaria.SelectedValue.ToEntero, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, If(ChkLayout.Checked, TxtConvenio.Text, ""), ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked) Then ViewState("CveCuenta") = ObjCuentasBancariasDetalle.TCveCuenta Else ErrorUsuarios = True @@ -217,7 +219,7 @@ Partial Class Bancos_CuentasBancariasDetalle End If Else - If ObjCuentasBancariasDetalle.UpdateBancosCuentas(DdlBanco.SelectedValue.ToEntero, DdlTipoCuenta.SelectedValue.ToEntero, TxtNumCuenta.Text.Trim, TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0, TxtLimiteCredito.Text.Trim.ToDouble, DDlCuentaContable.SelectedValue.ToEntero, DdlCuentaContableComplementaria.SelectedValue.ToEntero, "", ChkEstatus.Checked, CveCuenta, TxtConvenio.Text, ChkLayout.Checked, ChkUsaTarjeta.Checked) Then + If ObjCuentasBancariasDetalle.UpdateBancosCuentas(DdlBanco.SelectedValue.ToEntero, DdlTipoCuenta.SelectedValue.ToEntero, TxtNumCuenta.Text.Trim, TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0, TxtLimiteCredito.Text.Trim.ToDouble, DDlCuentaContable.SelectedValue.ToEntero, DdlCuentaContableComplementaria.SelectedValue.ToEntero, "", ChkEstatus.Checked, CveCuenta, TxtConvenio.Text, ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked) Then 'CargaDatos() If ObjCuentasBancariasDetalle.GetBancosCuentasUsuarios(-1) Then GlobalDTBancosCuentas(-1) = ObjCuentasBancariasDetalle.DtResultados diff --git a/Bancos/PagoElectronicoGrupos.aspx b/Bancos/PagoElectronicoGrupos.aspx index f9242d7a1..b82c69218 100644 --- a/Bancos/PagoElectronicoGrupos.aspx +++ b/Bancos/PagoElectronicoGrupos.aspx @@ -15,6 +15,7 @@ + @@ -262,35 +263,7 @@ -
-
- Layouts Enviados -
- - - - - - - - - - <%----%> - - - <%----%> - - - - - <%----%> - - - - - - -
+
@@ -305,59 +278,10 @@ - <%-- - -
-
-
-
    -
  • Cuenta: - -
  • -
  • Estatus: - - - - - - -
  • -
  • Fecha.I.: - - - - - - - - -
  • -
  • Fecha.F.: - - - - - - - - -
  • -
-
-
- -
-
-
-
-
--%> - - - +
@@ -424,56 +348,12 @@
- <%--
-
- - -
-
-
Cuenta:
-
-
- -
Estatus:
-
-
-
Fecha I:
-
-
-
Fecha F:
-
-
-
-
- -
- -
--%>
-
-
- <%-- - - - - - - - - - - - - - -
Cuenta:Estatus: Fecha.I.:  - -  Fecha.F.:  - -
+ +
-
--%> +

@@ -578,6 +458,186 @@
+ + + + + + + + + + +
+
+
+ + "> + +
+
+
    +
  • Cuenta + +
  • + +
  • Estatus + + + + + + +
  • +
  • F.I.   +
    + + + + + + + + + + + + + <%--
    +
  • +
  • F.F    +
    + + + + + + + + + + + + + + + +
    +
  • +
+
+ +
+
+ +
+ + + + +
+
+ + + + +
+
+ +
+
+ Prefijo Folio: +
+
+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + + + +
+
+ + + + +
@@ -651,13 +711,17 @@ + - + + + + <%--________________________________________________________--%> @@ -682,6 +746,103 @@ + + + + + + + +
@@ -693,5 +854,19 @@ function fncp() { $get('BtnReportePago').click(); } + + + function PrefijoFolioEnviados(TxtPrefijo) { + + + $(`.CSSPrefijo`).each(function () { + $(this).val(TxtPrefijo.value) + }); + + + + } + + diff --git a/Bancos/PagoElectronicoGrupos.aspx.vb b/Bancos/PagoElectronicoGrupos.aspx.vb index b7dca6fdc..c5138aa39 100644 --- a/Bancos/PagoElectronicoGrupos.aspx.vb +++ b/Bancos/PagoElectronicoGrupos.aspx.vb @@ -172,6 +172,26 @@ Partial Class Bancos_PagoElectronicoGrupos ViewState("TipoMasiva") = value End Set End Property + + Private Property NombreArchivoBancomer As String + Get + Return ViewState("NombreArchivoBancomer").ToString + End Get + Set(value As String) + ViewState("NombreArchivoBancomer") = value + End Set + End Property + Private Property NombreArchivoInterbancario As String + Get + Return ViewState("NombreArchivoInterbancario").ToString + End Get + Set(value As String) + ViewState("NombreArchivoInterbancario") = value + End Set + End Property + + + #End Region Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load @@ -194,7 +214,6 @@ Partial Class Bancos_PagoElectronicoGrupos CargaProveedores() InicializaDatosGenerales() - End If @@ -210,6 +229,12 @@ Partial Class Bancos_PagoElectronicoGrupos DdlCuentaReportes.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltraParametros("UsaLayoutGrupos = 1") DdlCuentaReportes.DataBind() UpFiltrosReporte.Update() + + + DdlCuentaEnviados.DataSource = GlobalDTBancosCuentas(UsuarioActual.CveUsuario).FiltraParametros("UsaLayoutGrupos = 1") + DdlCuentaEnviados.DataBind() + UpFiltroEnviados.Update() + End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) CveCuenta = DdlCuenta.SelectedValue.ToEntero @@ -223,13 +248,10 @@ Partial Class Bancos_PagoElectronicoGrupos DTPendientes = ObjBancos.DtResultados Else DTPendientes = Nothing - End If - - If ObjBancos.GetLayoutPagosEnviados(CveCuenta, 1, DdlTipoGeneracion.SelectedValue, "-1", "-1", PorGrupos:=True) Then - DTEnviadas = ObjBancos.DtResultados - Else - DTEnviadas = Nothing - End If + End If + + + ObjBancos.Dispose() @@ -237,10 +259,8 @@ Partial Class Bancos_PagoElectronicoGrupos If DTPendientes IsNot Nothing AndAlso DTPendientes.Rows.Count > 0 Then CargaDatosInformativos() Else - LbNumeroMovimientos.Text = "0" LbImporteMovimientos.Text = "0" - UpComandosGeneracion.Update() End If @@ -249,14 +269,11 @@ Partial Class Bancos_PagoElectronicoGrupos If DTPendientes IsNot Nothing AndAlso DTPendientes.Rows.Count > 0 Then GvPendientes.DataSource = DTPendientes End If - GvPendientes.DataBind() - - 'Carga GvEnviadas - If DTEnviadas IsNot Nothing AndAlso DTEnviadas.Rows.Count > 0 Then - GvEnviadas.DataSource = DTEnviadas - End If - GvEnviadas.DataBind() + GvPendientes.DataBind() + UpEnviados.Update() + + UpGVDatos.Update() @@ -352,7 +369,7 @@ Partial Class Bancos_PagoElectronicoGrupos Response.ContentType = "application/zip" Response.End() End Sub - Private Function CreaArchivo(Tipo As Integer, Optional MismoBanco As Boolean = True) As Boolean + Private Function CreaArchivo(Tipo As Integer, Optional MismoBanco As Boolean = True, Optional NombreArchivoEnviado As String = "") As Boolean System.Threading.Thread.Sleep(1000) 'Un segundo de diferencia Para doferentes tipos de bancos @@ -367,7 +384,9 @@ Partial Class Bancos_PagoElectronicoGrupos NombreArchivo = String.Format("{2}{1}{0}{3}.txt", UsuarioActual.CveUsuario, Date.Now.ToString("yyyyMMdd-HH-mm-ss"), "LAYOUTALTA", If(MismoBanco, "BANCOMER", "INTERBANCARIO")) End If - + If NombreArchivoEnviado.Length > 0 Then + NombreArchivo = NombreArchivoEnviado + End If Dim path As String = String.Format("{0}Layout\{1}", UsuarioActual.Empresa.Ruta, NombreArchivo) Dim fs As FileStream = File.Create(path) @@ -442,23 +461,33 @@ Partial Class Bancos_PagoElectronicoGrupos End Sub - Protected Sub GvEnviadas_RowDataBound(sender As Object, e As GridViewRowEventArgs) + Protected Sub GvEnviadas_RowDataBound(sender As Object, e As GridViewRowEventArgs) + If e.Row.RowType = DataControlRowType.DataRow Then 'Colorea GV If e.Row.DBCampo("CveIE").ToString = "" Then - e.Row.BackColor = Drawing.Color.LightGray - - - 'Si la fecha de generacion del archivo es diferente de hoy activamos el boton REGENERAR - 'If e.Row.DBCampo("Fecha").ToDate.ToShortDateString <> Date.Now.ToShortDateString Then - ' e.Row.FCLinkButton("LBRegenerar").Visible = True - 'End If + e.Row.BackColor = Drawing.Color.LightGray + + + e.Row.FCLabel("LblArchivo").Visible = True + e.Row.FCLabel("LblArchivo").Text = e.Row.DataKey("Archivo") + + 'Si la fecha de generacion del archivo es diferente de hoy activamos el boton REGENERAR + 'If e.Row.DBCampo("Fecha").ToDate.ToShortDateString <> Date.Now.ToShortDateString Then + ' e.Row.FCLinkButton("LBRegenerar").Visible = True + 'End If If DTEnviadas.MAX("FueConciliado", String.Format("CveLayoutEnvio = {0}", e.Row.DBCampo("CveLayoutEnvio"))).ToEntero > 0 Then e.Row.ToolTip = "El movimiento no se puede regenerar ya que alguno de sus movimientos ya fue conciliado" Else e.Row.FCLinkButton("LBRegenerar").Visible = True End If + + e.Row.FCTextBox("TxtFolio").Visible = False + e.Row.FCLinkButton("ImgUpload").Visible = False + e.Row.FCLinkButton("LnkGvCancelar").Visible = False + e.Row.FCLinkButton("LnkGvConfirmar").Visible = False + Else If e.Row.DBCampo("FueConciliado") = "1" Then @@ -471,17 +500,36 @@ Partial Class Bancos_PagoElectronicoGrupos Else e.Row.FCHyperLink("HLProveedor").NavigateUrl = String.Format("/RH/Personal.aspx?CvePersonal={0}", e.Row.DBCampo("CvePersonal")) End If - e.Row.FCHyperLink("HLDetalle").NavigateUrl = String.Format("IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE")) + e.Row.FCHyperLink("HLDetalle").NavigateUrl = String.Format("IE.aspx?CveIE={0}", e.Row.DBCampo("CveIE")) + + + If e.Row.DataKey("Estatus").ToEntero = 3 Then + + e.Row.FCLinkButton("ImgUpload").Visible = False + e.Row.FCLinkButton("LnkGvCancelar").Visible = False + e.Row.FCLinkButton("LnkGvConfirmar").Visible = False + e.Row.FCTextBox("TxtFolio").Visible = False + + End If + End If + + + End If + End Sub Protected Sub LBRegenerar_Click(sender As Object, e As EventArgs) + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + Dim CveBLE = CType(sender, LinkButton).CommandArgument.ToEntero - Dim DtRegenerar As New DataTable - + Dim DtRegenerar As New DataTable + + Dim NombreDelArchivo As String = GvRow.DataKey("Archivo") + Dim ObjBancos As New ClsBancos - If ObjBancos.GetLayoutPagos(CveCuenta, CveBLE, "-1", PorGrupos:=True) Then + If ObjBancos.GetLayoutPagos(DdlCuentaEnviados.SelectedValue.ToEntero, CveBLE, "-1", PorGrupos:=True) Then DtRegenerar = ObjBancos.DtResultados Else DtRegenerar = Nothing @@ -489,7 +537,7 @@ Partial Class Bancos_PagoElectronicoGrupos ObjBancos.Dispose() If DtRegenerar IsNot Nothing Then - GeneraPago(DtRegenerar, False) + GeneraPago(DtRegenerar, False, NombreDelArchivo) Else Alert("Ocurrió un error al obtener los datos para generar el archivo. Por favor vuelva a intentar.", TipoMensaje.MsgError) End If @@ -533,15 +581,15 @@ Partial Class Bancos_PagoElectronicoGrupos Private Sub AltaProveedores(Optional DtCuentasPendientesTemp As DataTable = Nothing) - + NombreArchivoBancomer = "" + NombreArchivoInterbancario = "" NombreArchivo = "" Dim RegistrosAltaBancomer As New StringBuilder Dim RegistrosAltaInterbancario As New StringBuilder Dim SBErrores As New StringBuilder - Dim NombreArchivoBancomer As String = "" - Dim NombreArchivoInterbancario As String = "" + Dim CeroRelleno As Char = "0"c Dim EspacioRelleno As Char = Chr(32) @@ -704,15 +752,24 @@ Partial Class Bancos_PagoElectronicoGrupos Dim Mensaje As New StringBuilder - Mensaje.Append("Descarga Layouts

") + 'Mensaje.Append("Descarga Layouts

") + + DVDescargaPagos.Visible = False + + If NombreArchivoBancomer.Trim.Length > 0 Then - Mensaje.Append($"Cuentas Bancomer Descarga Archivo cuentas Bancomer

") + + DVDescargaCuentas1.Visible = True + ' Mensaje.Append($"Cuentas Bancomer Descarga Archivo cuentas Bancomer

") + End If If NombreArchivoInterbancario.Trim.Length > 0 Then - Mensaje.Append($"Cuentas Interbancarias Descarga Archivo cuentas Bancomer

") + DVDescargaCuentas2.Visible = True + 'Mensaje.Append($"Cuentas Interbancarias Descarga Archivo cuentas Bancomer

") + End If @@ -724,7 +781,15 @@ Partial Class Bancos_PagoElectronicoGrupos End If If NombreArchivoBancomer.Length > 0 Or NombreArchivoInterbancario.Length > 0 Then - Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) + + + LnkDescargaCuentas1.Text = NombreArchivoBancomer + LnkDescargaCuentas2.Text = NombreArchivoInterbancario + RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});") + + UpModalDescarga.Update() + + Else Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia) End If @@ -940,7 +1005,7 @@ Partial Class Bancos_PagoElectronicoGrupos End If End Sub - Private Sub GeneraPago(DTPendientesTemp As DataTable, Optional InsertaEnDB As Boolean = True) + Private Sub GeneraPago(DTPendientesTemp As DataTable, Optional InsertaEnDB As Boolean = True, Optional NombreArchivoEnviado As String = "") Dim RegistrosPago As New StringBuilder Dim MENSAJEError As New StringBuilder @@ -1061,8 +1126,10 @@ Partial Class Bancos_PagoElectronicoGrupos Dim NombreArchivoPago As String = "" TextoCompleto = RegistrosPago.ToString - If CreaArchivo(1) Then - NombreArchivoPago = NombreArchivo + + If CreaArchivo(1, NombreArchivoEnviado:=NombreArchivoEnviado) Then + 'NombreArchivoPago = NombreArchivo + NombreArchivoPago = NombreArchivoEnviado End If @@ -1107,12 +1174,29 @@ Partial Class Bancos_PagoElectronicoGrupos Mensaje.Append("Descarga Layout
") - If NombreArchivoPago.Trim.Length > 0 Then - Mensaje.Append($"Pagos Descarga {NombreArchivoPago}

") + + If NombreArchivoEnviado.Length > 0 Then + NombreArchivoPago = NombreArchivoEnviado End If + 'If NombreArchivoPago.Trim.Length > 0 Then + + ' Mensaje.Append($"Pagos Descarga
{NombreArchivoPago}

") + + 'End If + + If NombreArchivoPago.Length > 0 Then - Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) + + + DVDescargaPagos.Visible = True + DVDescargaCuentas1.Visible = False + DVDescargaCuentas2.Visible = False + + LnkDescarga.Text = NombreArchivoPago + RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});") + UpModalDescarga.Update() + End If CargaDatos() @@ -1369,237 +1453,7 @@ Partial Class Bancos_PagoElectronicoGrupos End Sub - 'Protected Sub BtnCargarAlta_Click(sender As Object, e As EventArgs) - ' Dim ErrorArchivo = False - ' If FUTxt.HasFile Then - ' If Not GuardaTXT() Then - ' Alert("Ocurrio un error al cargar el archivo", TipoMensaje.MsgError) - ' Exit Sub - ' End If - ' Else - ' Alert("No tiene ningun archivo", TipoMensaje.MsgAdvertencia) - ' Exit Sub - ' End If - - - ' 'LEE TXT - ' Dim Texto As String - - ' Dim sr As New System.IO.StreamReader(NombreArchivo) - ' Texto = sr.ReadToEnd() - ' sr.Close() - - ' Dim TextoArreglo() = Texto.Split(CChar(vbCrLf)) - - ' 'Alert(TextoArreglo.Length.ToString) - - ' 'LEE LINEA POR LINEA - ' Dim RespuestaHeader = "", RespuestaDetalle = "", RespuestaTrailer = "", CveCuentasDeposito = "" - ' CreaDtAlta() - ' Dim ObjGrales As New ClsGenerales - ' Dim Row As DataRow = Nothing - ' Dim TipoCuentaDeposito = "" - - ' For i = 0 To TextoArreglo.Length - 1 Step 1 - ' 'Valida que el primer renglon sea el HEADER - ' If i = 0 Then - ' If TextoArreglo(i).Substring(0, 1) <> "H" Then - ' ErrorArchivo = True - ' Exit For - ' Else - ' RespuestaHeader = TextoArreglo(i).Substring(50, 2) - ' End If - ' Else - ' 'LEE DETALLE - ' If TextoArreglo(i).Length > 1 Then - ' If TextoArreglo(i).Substring(1, 1) = "D" Then - - ' 'If i > 1 Then - ' ' RespuestaDetalle += vbCrLf - ' 'End If - - ' 'RespuestaDetalle += String.Format("{0}{1}", If(TextoArreglo(i).Substring(197, 1) = "M", TextoArreglo(i).Substring(198, 50).Trim, TextoArreglo(i).Substring(268, 60).Trim), (TextoArreglo(i).Substring(599, 30))) - - ' ''Guardo CveCuentaDeposito cuando la operacion salio exitosa para actualizar en la DB - ' If TextoArreglo(i).Substring(597, 2) = "00" Or TextoArreglo(i).Substring(597, 2) = "34" Then - ' CveCuentasDeposito += If(CveCuentasDeposito <> "", ",", "") - ' CveCuentasDeposito += TextoArreglo(i).Substring(3, 30).ToEntero.ToString - ' End If - - - ' ''LLENA DT PARA REPORTE - ' Row = DtAlta.NewRow() - - ' Row("Proveedor") = If(TextoArreglo(i).Substring(197, 1) = "M", TextoArreglo(i).Substring(198, 50).Trim, TextoArreglo(i).Substring(268, 60).Trim) - - ' 'BANCO - ' If ObjGrales.GetCuentasDepositos(CveCuentaDeposito:=TextoArreglo(i).Substring(3, 30).ToEntero) Then - ' If ObjGrales.DtResultados.Rows.Count = 1 Then - ' Row("Banco") = ObjGrales.DtResultados.Rows(0)("BancoNombre").ToString - ' Else - ' ErrorArchivo = True - ' Exit For - ' End If - ' Else - ' ErrorArchivo = True - ' Exit For - ' End If - - ' 'CUENTA - ' If TextoArreglo(i).Substring(41, 2).Trim <> "" Then - ' Row("Cuenta") = String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c)) - ' ElseIf TextoArreglo(i).Substring(81, 2).Trim <> "" Then - ' Row("Cuenta") = String.Format("{0}", TextoArreglo(i).Substring(83, 35).TrimStart("0"c)) - ' Row("TipoCuenta") = "CLABE" - ' Else - ' ErrorArchivo = True - ' Exit For - ' End If - - ' 'TIPO CUENTA - ' If Row("TipoCuenta").ToString = "" Then - ' If String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c)).Length = 8 Then - ' Row("TipoCuenta") = "CIE" - ' ElseIf String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c)).Length = 10 Or String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c)).Length = 9 Then - ' Row("TipoCuenta") = "Cuenta" - ' ElseIf String.Format("{0}", TextoArreglo(i).Substring(43, 35).TrimStart("0"c)).Length = 18 Then - ' Row("TipoCuenta") = "CLABE" - ' End If - ' End If - - ' Row("Estatus") = TextoArreglo(i).Substring(599, 30) - - ' DtAlta.Rows.Add(Row) - - ' ''LLENA PARA ALERT - ' 'If i > 1 Then - ' ' RespuestaDetalle += vbCrLf - ' 'End If - - ' 'RespuestaDetalle += String.Format("{0}{1}", If(TextoArreglo(i).Substring(197, 1) = "M", TextoArreglo(i).Substring(198, 50).Trim, TextoArreglo(i).Substring(268, 60).Trim), (TextoArreglo(i).Substring(599, 30))) - - - ' 'LEE TRAILER - ' ElseIf TextoArreglo(i).Substring(1, 1) = "T" Then - ' RespuestaTrailer = TextoArreglo(i).Substring(32, 10) - ' RespuestaTrailer += vbCrLf - ' RespuestaTrailer += TextoArreglo(i).Substring(42, 10) - ' RespuestaTrailer += vbCrLf - ' RespuestaTrailer += TextoArreglo(i).Substring(52, 10) - ' Exit For - ' Else - ' ErrorArchivo = True - ' Exit For - ' End If - ' End If - ' End If - ' Next - ' ObjGrales.Dispose() - - - ' Dim Respuesta As New StringBuilder - ' 'LEE ARCHIVO - ' If Not ErrorArchivo Then - ' 'TRADUCE CODIGO RESPUESTA HEADER - ' If RespuestaHeader = "01" Then - ' RespuestaHeader = "ACEPTADO TOTAL" - ' ElseIf RespuestaHeader = "02" Then - ' RespuestaHeader = "ACEPTADO PARCIAL" - ' ElseIf RespuestaHeader = "03" Then - ' RespuestaHeader = "RECHAZADO" - ' End If - - ' 'DIVIDE DETALLE - ' Dim Detalle() = RespuestaDetalle.Split(CChar(vbCrLf)) - - ' 'DIVIDE TRAILER - ' Dim Trailer() = RespuestaTrailer.Split(CChar(vbCrLf)) - - ' 'ARMADO DE RESPUESTA - ' Respuesta.AppendFormat("
Resumen de respuesta: {0}
", RespuestaHeader) - ' Respuesta.AppendFormat("Numero de movimientos: {0}


", DtAlta.Rows.Count) - ' Respuesta.Append("------------------------------ Detalle de los movimientos ------------------------------
") - - ' Respuesta.Append("") - ' 'For i = 0 To Detalle.Length - 1 - ' ' Respuesta.AppendFormat("{1}", i + 1, Detalle(i).Trim) - ' 'Next - ' Dim i = 1 - ' Dim Style = "" - ' Dim TotalExitos = 0, TotalFracasos = 0 - ' For Each dr As DataRow In DtAlta.Rows - - ' If dr("estatus").ToString.Trim.Contiene("OPERACION EXITOSA", "ALTA TERCERO EXITOSO") Then - ' Style = "" - ' TotalExitos += 1 - ' Else - ' Style = "style=""background-color:#FF5F5F;"" " - ' TotalFracasos += 1 - ' End If - - ' Respuesta.AppendFormat("", i, dr("Proveedor"), dr("Banco"), dr("TipoCuenta"), dr("Cuenta"), dr("estatus"), Style) - ' i += 1 - ' Next - - ' Respuesta.Append("
#ProveedorBancoTipo CuentaCuentaEstatus
{0}
{0}{1}{2}{3}{4}{5}
-------------------------------------------------------------------------------------
") - - ' Respuesta.AppendFormat("Total de movimientos exitosos: {0}
", TotalExitos) - ' Respuesta.AppendFormat("Total de movimientos NO exitosos: {0}
", TotalFracasos) - - ' 'LEE DESDE EL LAYOUT - ' 'Respuesta.AppendFormat("Total de altas rechazadas: {0}
", Trailer(0).ToString.ToEntero) - ' 'Respuesta.AppendFormat("Total de bajas rechazadas: {0}
", Trailer(1).ToString.ToEntero) - ' 'Respuesta.AppendFormat("Total de cambios rechazados: {0}
", Trailer(2).ToString.ToEntero) - - ' End If - - ' If Not ErrorArchivo Then - - ' If CveCuentasDeposito <> "" Then - ' Dim ObjIE As New ClsBancos - ' Dim ErrorDB = False - ' ObjIE.IniciaTransacSQL() - ' Dim ArrayCuentasDeposito() = CveCuentasDeposito.Split(","c) - - ' For index = 0 To ArrayCuentasDeposito.Length - 1 - ' If Not ObjIE.UpdateCuentaDepositoPagoElectronico(ArrayCuentasDeposito(index).ToEntero) Then - ' ErrorDB = True - ' End If - ' Next - - ' If Not ErrorDB Then - ' ObjIE.Commit() - ' Respuesta.Append("

NOTA: El archivo se analizo correctamente y se efectuaron todos los cambios en el sistema.") - ' 'Respuesta.AppendFormat("
Descargar reporte", NombreArchivo) - ' Respuesta.AppendFormat("
  • Descargar Reporte
  • ", NombreArchivo) - - ' Alert(Respuesta.ToString, TipoMensaje.MsgInformacion) - ' Else - ' ObjIE.RollBack() - ' Respuesta.Append("

    NOTA: El archivo se analizo correctamente pero ocurrio un problema al efectuar los cambios en el sistema. Por favor vuelta a intentar.") - ' Alert(Respuesta.ToString, TipoMensaje.MsgError) - ' End If - - ' ObjIE.Dispose() - ' Else - ' Respuesta.AppendFormat("

    NOTA: El archivo se analizo correctamente pero ningun movimiento fue exitoso.") - ' 'Respuesta.AppendFormat("
    Descargar reporte", NombreArchivo) - ' Respuesta.AppendFormat("
  • Descargar Reporte
  • ", NombreArchivo) - - ' Alert(Respuesta.ToString, TipoMensaje.MsgAdvertencia) - ' End If - - ' Else - ' Alert("Ocurrio un problema al leer el archivo. Por favor revise que el archivo sea el correcto e intente de nuevo.", TipoMensaje.MsgError) - ' End If - - ' 'ELIMINA TXT - ' My.Computer.FileSystem.DeleteFile(NombreArchivo) - - ' RecargaDatos() - - 'End Sub #End Region #Region "CARGA PAGO PROVEEDORES" @@ -1622,312 +1476,7 @@ Partial Class Bancos_PagoElectronicoGrupos End Sub - 'Protected Sub BtnCargarPago_Click(sender As Object, e As System.EventArgs) - ' Dim ErrorArchivo = False - ' Dim TextoErrorArchivo = "Ocurrió un problema al leer el archivo, por favor revise que el archivo sea el correcto e intente de nuevo." - ' If FUTxt.HasFile Then - ' If Not GuardaTXT() Then - ' Alert("Ocurrio un error al cargar el archivo", TipoMensaje.MsgError) - ' Exit Sub - ' End If - ' Else - ' Alert("No tiene ningun archivo", TipoMensaje.MsgAdvertencia) - ' Exit Sub - ' End If - - - ' 'LEE TXT - ' Dim Texto As String - ' Dim sr As New System.IO.StreamReader(NombreArchivo) - ' Texto = sr.ReadToEnd() - ' sr.Close() - ' Dim TextoArreglo() = Texto.Split(CChar(vbCrLf)) - - ' 'INICIALIZA VARIABLES - ' Dim ObjBancos As New ClsBancos - ' Dim RespuestaHeader = "", RespuestaDetalle = "", RespuestaTrailer = "", Proveedor = "", CuentaAbono = "", Estatus = "", CveIEs = "", EstatusIEs = "", FechaMovto = "", Correos = "" - ' Dim Row As DataRow = Nothing - ' Dim Convenio = "" - ' CreaDtPago() - - ' 'LEE LINEA POR LINEA - ' For i = 0 To TextoArreglo.Length - 1 - ' 'Valida que el primer renglon sea el HEADER - ' If i = 0 Then - ' If TextoArreglo(i).Substring(0, 1) <> "H" Then - ' ErrorArchivo = True - ' Exit For - ' Else - ' ' Codigo de respuesta | Cuenta cargo - ' RespuestaHeader = String.Format("{0}|{1}", TextoArreglo(i).Substring(52, 2), TextoArreglo(i).Substring(77, 35)) - ' Convenio = TextoArreglo(i).Substring(2, 9) - ' End If - ' Else - ' If TextoArreglo(i).Length > 1 Then - - ' 'LEE DETALLE - ' If TextoArreglo(i).Substring(1, 1) = "D" Then - ' If i > 1 Then - ' RespuestaDetalle += vbCrLf - ' End If - - ' 'TRUENA PORQUE AHORA ES LA CVECUENTADEPOSITO - ' 'Proveedor = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveProveedor = {0}", TextoArreglo(i).Substring(24, 30).ToEntero)).Rows(0)("RazonSocial").ToString - - ' Correos += If(Correos <> "", "|", "") - - ' If ObjBancos.GetProveedorCuentaDeposito(TextoArreglo(i).Substring(24, 30).ToDouble.ToEntero) Then - ' If ObjBancos.DtResultados.Rows.Count > 0 Then - - ' Proveedor = ObjBancos.DtResultados.Rows(0)("RazonSocial").ToString - - ' 'Correos += If(TextoArreglo(i).Substring(477, 50).Trim = "", "-1", TextoArreglo(i).Substring(477, 50).Trim) - ' Correos += String.Format("{0};{1}", ObjBancos.DtResultados.Rows(0)("NotificarA").ToString, ObjBancos.DtResultados.Rows(0)("ContactoMailCobranza").ToString) - - - ' ''SELECCIONA CUENTA ABONO PARA CORREO - ' Select Case TextoArreglo(i).Substring(57, 1).ToEntero - ' Case 1 - ' CuentaAbono = "NO APLICA" - ' Case 2 - ' CuentaAbono = If(ObjBancos.DtResultados.Rows(0)("Cuenta").ToString <> "", ObjBancos.DtResultados.Rows(0)("Cuenta").ToString, ObjBancos.DtResultados.Rows(0)("CLABE").ToString) - ' Case 3 - ' CuentaAbono = ObjBancos.DtResultados.Rows(0)("CIE").ToString - ' Case 4 - ' CuentaAbono = ObjBancos.DtResultados.Rows(0)("SWIFT").ToString - ' Case 5, 6, 7 - ' CuentaAbono = ObjBancos.DtResultados.Rows(0)("CLABE").ToString - ' End Select - - ' Else - ' Proveedor = "PROVEEDOR NO ENCONTRADO" - ' End If - ' Else - ' Proveedor = "PROVEEDOR NO ENCONTRADO" - ' End If - - ' Estatus = If(TextoArreglo(i).Substring(1325, 2) = "00", "OPERACION EXITOSA: ", "OPERACION FALLIDA: ") - ' ' Proveedor | Importe | Descripcion estatus - ' RespuestaDetalle += String.Format("{0}{1}.{2} {5}{3}{4}", Proveedor, TextoArreglo(i).Substring(445, 13).ToDouble.ToEntero, TextoArreglo(i).Substring(458, 2).ToEntero, Estatus, TextoArreglo(i).Substring(1327, 30), TextoArreglo(i).Substring(420, 3)) - - ' ''Guardo CveIE cuando la operacion salio exitosa para actualizar en la DB el IE - ' 'If TextoArreglo(i).Substring(1325, 2) = "00" Then - ' CveIEs += If(CveIEs <> "", ",", "") - ' 'VIEJO IE EN CAMPO 9 - ' 'CveIEs += TextoArreglo(i).Substring(83, 10).Trim - ' CveIEs += TextoArreglo(i).Substring(123, 32).Trim - - ' 'SI VIENE SIN RESPUESTA ES ERROR DE ARCHIVO - ' If TextoArreglo(i).Substring(1325, 2).Trim = "" Then - ' ErrorArchivo = True - ' TextoErrorArchivo = "El archivo que se intento procesar no es de respuesta. Por favor verifique cargar el archivo correcto." - ' Exit For - ' End If - - ' EstatusIEs += If(EstatusIEs <> "", ",", "") - ' EstatusIEs += If(TextoArreglo(i).Substring(1325, 2) = "00", "2", "3") - - ' FechaMovto += If(FechaMovto <> "", ",", "") - ' FechaMovto += TextoArreglo(i).Substring(540, 10) - - ' 'If Proveedor = "PROVEEDOR NO ENCONTRADO" Or CuentaAbono = "" Then - ' ' Continue For - ' 'End If - - - ' ''LLENA DTPAGOS PARA CORREO - ' Row = DtPago.NewRow() - ' Row("NumeroConvenio") = Convenio - ' Row("ClaveProveedor") = TextoArreglo(i).Substring(24, 30) - ' Row("Proveedor") = Proveedor - ' Row("ReferenciaPago") = TextoArreglo(i).Substring(4, 20) - ' Row("Cuenta") = CuentaAbono - - ' Select Case TextoArreglo(i).Substring(57, 1).ToEntero - ' Case 1 - ' Row("TipoPago") = "1 .- ABONO EN VENTANILLA" - ' Case 2 - ' Row("TipoPago") = "2 .- ABONO A CUENTAS BANCOMER" - ' Case 3 - ' Row("TipoPago") = "3 .- ABONO A CONVENIO CIE" - ' Case 4 - ' Row("TipoPago") = "4 .- ABONO A CUENTA INTERNACIONAL VIA SWIFT" - ' Case 5 - ' Row("TipoPago") = "5 .- ABONO A CUENTA INTERBANCARIA DIA SIGUIENTE" - ' Case 6 - ' Row("TipoPago") = "6 .- ABONO A CUENTA INTERBANCARIA MISMO DIA" - ' Case 7 - ' Row("TipoPago") = "7 .- ABONO A CUENTA INTERNACIONAL VIA ACH" - ' End Select - - ' Try - ' Row("Cuenta") = If(Row("Cuenta").ToString = "", String.Format("******{0}", CuentaAbono.Substring(CuentaAbono.Length - 4, 4)), Row("Cuenta").ToString) - ' Catch ex As Exception - ' Row("Cuenta") = "******" - ' End Try - - ' Row("Importe") = String.Format("{0}.{1}", TextoArreglo(i).Substring(445, 13), TextoArreglo(i).Substring(458, 2)).ToDecimal.ToString - ' Row("FechaOperacion") = TextoArreglo(i).Substring(540, 10) - ' Row("Observaciones") = TextoArreglo(i).Substring(605, 700).Trim - ' DtPago.Rows.Add(Row) - - ' 'End If - - ' 'LEE TRAILER - ' ElseIf TextoArreglo(i).Substring(1, 1) = "T" Then - - ' 'PARA BCOM, YA QUE TRUNCA EL STRING CUANDO SOLO ES MXP - ' If TextoArreglo(i).Length < 1367 Then - ' TextoArreglo(i) = TextoArreglo(i).PadRight(1367) - ' End If - - ' RespuestaTrailer += "------------------------------------------------------------ RESUMEN ------------------------------------------------------------" - ' RespuestaTrailer += String.Format("") - ' RespuestaTrailer += String.Format("", TextoArreglo(i).Substring(77, 10).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(327, 10).ToDouble.ToEntero.ToString) - ' RespuestaTrailer += String.Format("", TextoArreglo(i).Substring(87, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(100, 2).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(337, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(350, 2).ToDouble.ToEntero.ToString) - ' RespuestaTrailer += String.Format("", TextoArreglo(i).Substring(177, 10).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(302, 10).ToDouble.ToEntero.ToString) - ' RespuestaTrailer += String.Format("
    ConceptoPesos (MXP)Dolares (USD)
    Total registros rechazados:{0}{1}
    Total Importe rechazado: $:{0}.{1}{2}.{3}
    Total registros aceptados:{0}{1}
    Total Importe aceptado $:{0}.{1}{2}.{3}
    ", TextoArreglo(i).Substring(187, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(200, 2).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(312, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(325, 2).ToDouble.ToEntero.ToString) - - ' 'RespuestaTrailer += String.Format("Total registros rechazados: {1}{0} Total Importe rechazado: $ {2}.{3}{0} Total registros aceptados: {4}{0} Total Importe aceptado: $ {5}.{6}{0}", "
    ", TextoArreglo(i).Substring(77, 10).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(87, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(100, 2).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(177, 10).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(187, 13).ToDouble.ToEntero.ToString, TextoArreglo(i).Substring(200, 2).ToEntero.ToString) - ' Else - ' ErrorArchivo = True - ' Exit For - ' End If - ' End If - ' End If - ' Next - - ' ObjBancos.Dispose() - - ' Dim Respuesta As New StringBuilder - ' If Not ErrorArchivo Then - - ' 'DIVIDE HEADER - ' Dim Header() = RespuestaHeader.Split(CChar("|")) - ' 'TRADUCE CODIGO RESPUESTA HEADER - ' If Header(0) = "01" Then - ' RespuestaHeader = "ACEPTADO TOTAL" - ' ElseIf Header(0) = "02" Then - ' RespuestaHeader = "ACEPTADO PARCIAL" - ' ElseIf Header(0) = "03" Then - ' RespuestaHeader = "RECHAZADO" - ' End If - ' RespuestaHeader += String.Format("
    Cuenta Cargo: {0}", Header(1)) - - ' 'DIVIDE DETALLE - ' Dim Detalle() = RespuestaDetalle.Split(CChar(vbCrLf)) - - ' 'ARMADO DE RESPUESTA - ' Respuesta.AppendFormat("
    Resumen de respuesta: {0}
    ", RespuestaHeader) - ' Respuesta.AppendFormat("Numero de movimientos: {0}

    ", Detalle.Length.ToString) - ' Respuesta.Append("----------------------------------------------------- Detalle de los movimientos --------------------------------------------------
    ") - ' Respuesta.Append("") - ' For i = 0 To Detalle.Length - 1 - ' Respuesta.AppendFormat("{1}", i + 1, Detalle(i).Trim) - ' Next - ' Respuesta.Append("
    #ProveedorImporte($)MonedaEstatus
    {0}
    ----------------------------------------------------------------------------------------------------------------------
    ") - ' Respuesta.AppendFormat(RespuestaTrailer) - - - ' End If - - ' If Not ErrorArchivo Then - ' If CveIEs <> "" Then - ' Dim ObjIE As New ClsBancos - ' Dim ErrorDB = False - ' ObjIE.IniciaTransacSQL() - ' Dim ArrayCveIEs() = CveIEs.Split(","c) - ' Dim ArrayEstatusIEs() = EstatusIEs.Split(","c) - ' Dim ArrayFechasMovto() = FechaMovto.Split(","c) - ' Dim ArrayCorreos() = Correos.Split("|"c) - - ' Dim ArregloHilos As New Generic.List(Of System.Threading.Thread) - ' Dim ArregloParametros As New Generic.List(Of List(Of String)) - - ' For index = 0 To ArrayCveIEs.Length - 1 - ' If ObjIE.UpdatePagoElectronicoCarga(ArrayCveIEs(index).ToEntero, ArrayEstatusIEs(index).ToEntero) Then - - ' 'Cuando salio exitoso actualizamos el IE - ' If ArrayEstatusIEs(index).ToEntero = 2 Then - ' If ObjIE.UpdateIEPagoElectronico(ArrayCveIEs(index).ToEntero, ArrayFechasMovto(index).ToDate, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then 'DESPROGRAMA LAS COMPRAS RELACIONADAS EN ESTE PA - - ' 'Cambiamos estatus notificación - ' If ObjIE.UpdateBancos_IENotificaciones(2, "-1", "-1", ArrayCveIEs(index).ToEntero) Then - - ' 'Obtenemos los correos del movimiento - ' If ArrayCorreos(index) <> "-1" Or ArrayCorreos(index) <> "" Then - - ' 'Dim CorreosMovto() = ArrayCorreos(index).Split(";"c) - ' 'For index2 = 0 To CorreosMovto.Length - 1 - ' ' If CorreosMovto(index2).Length > 5 Then - ' ' End If - ' 'Next - - ' Dim Param As New List(Of String) - - ' Param.Add(ArrayCorreos(index)) 'Para - ' Param.Add("Notificación de Pago") 'Asunto - ' Param.Add(GeneraCorreo2(DtPago.Rows(index), ObjIE, ArrayCveIEs(index).ToEntero)) 'Body - - ' Dim Hilo As New Threading.Thread(AddressOf MandaCorreo) - ' ArregloHilos.Add(Hilo) - ' ArregloParametros.Add(Param) - ' End If - ' Else - ' ErrorDB = True - ' End If - - ' Else - ' ErrorDB = True - ' End If - ' Else - - ' 'Cuando salio NO exitoso cancelamos el IE - ' If Not ObjIE.CancelarBancos_IE(UsuarioActual.CveUsuario, ArrayCveIEs(index).ToEntero, False, -1, -1) Then - ' ErrorDB = True - ' End If - ' End If - - ' Else - ' ErrorDB = True - ' End If - ' Next - - ' If Not ErrorDB Then - ' ObjIE.Commit() - ' 'ObjIE.RollBack() - - ' 'EMPIEZA A ENVIAR CORREO POR HILOS - ' For index = 0 To ArregloHilos.Count - 1 - ' ArregloHilos(index).Start(ArregloParametros(index)) - ' Next - - ' Respuesta.Append("

    NOTA: El archivo se analizo correctamente y se efectuaron todos los cambios en el sistema.") - ' Alert(Respuesta.ToString, TipoMensaje.MsgInformacion) - - ' CargaDatos() - ' Else - ' ObjIE.RollBack() - ' Respuesta.Append("

    NOTA: El archivo se analizo correctamente pero ocurrió un problema al efectuar los cambios en el sistema. Por favor vuelva a intentar.") - ' Alert(Respuesta.ToString, TipoMensaje.MsgError) - ' End If - - ' ObjIE.Dispose() - ' Else - ' Respuesta.AppendFormat("

    NOTA: El archivo se analizo correctamente pero ningun movimiento fue exitoso.") - ' Alert(Respuesta.ToString, TipoMensaje.MsgAdvertencia) - ' End If - ' Else - ' Alert(TextoErrorArchivo, TipoMensaje.MsgError) - ' End If - - ' 'ELIMINA TXT - ' My.Computer.FileSystem.DeleteFile(NombreArchivo) - - ' RecargaDatos() - - 'End Sub #End Region @@ -1939,13 +1488,17 @@ Partial Class Bancos_PagoElectronicoGrupos NombreArchivo = "" + NombreArchivoBancomer = "" + NombreArchivoInterbancario = "" + NombreArchivo = "" + + Dim RegistrosAltaBancomer As New StringBuilder Dim RegistrosAltaInterbancario As New StringBuilder Dim SBErrores As New StringBuilder - Dim NombreArchivoBancomer As String = "" - Dim NombreArchivoInterbancario As String = "" + Dim CeroRelleno As Char = "0"c Dim EspacioRelleno As Char = Chr(32) @@ -2127,24 +1680,38 @@ Partial Class Bancos_PagoElectronicoGrupos Mensaje.Append("Descarga Layouts

    ") If NombreArchivoBancomer.Trim.Length > 0 Then - Mensaje.Append($"Cuentas Bancomer Descarga Archivo cuentas Bancomer

    ") + DVDescargaCuentas1.Visible = True + 'Mensaje.Append($"Cuentas Bancomer Descarga Archivo cuentas Bancomer

    ") End If If NombreArchivoInterbancario.Trim.Length > 0 Then - Mensaje.Append($"Cuentas Interbancarias Descarga Archivo cuentas Bancomer

    ") + DVDescargaCuentas2.Visible = True + ' Mensaje.Append($"Cuentas Interbancarias Descarga Archivo cuentas Bancomer

    ") End If If SBErrores.ToString.Length > 0 Then + Mensaje.Append("Errores Cuentas
    ") Mensaje.Append("
    ") + End If If NombreArchivoBancomer.Length > 0 Or NombreArchivoInterbancario.Length > 0 Then - Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) + + DVDescargaPagos.Visible = False + LnkDescargaCuentas1.Text = NombreArchivoBancomer + LnkDescargaCuentas2.Text = NombreArchivoInterbancario + RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});") + + UpModalDescarga.Update() + + 'Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) + + End If CargaDatos() @@ -2170,214 +1737,7 @@ Partial Class Bancos_PagoElectronicoGrupos UpProveedores.Update() End Sub - 'Private Sub GeneraAltaFyE() - ' Dim DtTemp As DataTable = Nothing - ' 'REINICIA PROPIEDAS - ' HeaderTexto = "" - ' DetalleTexto = "" - ' TrailerTexto = "" - ' TotalAcumulado = 0 - ' CreaDtAlta() - - ' DtTemp = DTFyE - - ' ''VALIDA CUENTAS DEPOSITOS - ' Dim ErrorCuenta = False - ' Dim FyEError As StringBuilder = New StringBuilder - ' FyEError.AppendFormat("") - - ' Dim TotalDetalles As Integer = 0 - ' Dim EsBancomer = False - ' For Each gvr As DataRow In DtTemp.Rows - ' If gvr("CvePersonal").ToString <> "" AndAlso gvr("EstatusPagoElectronico").ToString <> "True" AndAlso gvr("AltaCuenta").ToString = "1" Then - ' DTPendienteActual = DtTemp.FiltraParametros(String.Format("CveCuentaDeposito = {0}", gvr("CveCuentaDeposito").ToString)) - ' ErrorCuenta = False - ' EsBancomer = False - - ' If DTPendienteActual(0)("BancoNombre").ToString.ToUpper.Contains("BBVA") Or DTPendienteActual(0)("BancoNombre").ToString.ToUpper.Contains("BANCOMER") Or (DTPendienteActual(0)("CLABE").ToString.Length = 18 AndAlso DTPendienteActual(0)("CLABE").ToString.Substring(0, 3) = "012") Then - ' EsBancomer = True - ' End If - - ' 'CLABE SIEMPRE OBLIGATORIA SI NO ES BANCOMER - ' If Not ErrorCuenta Then - ' If DTPendienteActual(0)("CLABE").ToString.Trim.Length <> 18 And DTPendienteActual(0)("CLABE").ToString.Trim.Length = 0 And Not EsBancomer Then - ' FyEError.AppendFormat("", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString) - ' ErrorCuenta = True - ' End If - ' End If - - ' 'SI CUENTA TIENE ALGO Y BANCO BANCOMER DEBE TENER UNA LOGITUD EXACTA DE 10 - ' If Not ErrorCuenta Then - ' If DTPendienteActual(0)("Cuenta").ToString.Trim.Length <> 0 AndAlso DTPendienteActual(0)("Cuenta").ToString.Trim.Length <> 10 AndAlso EsBancomer Then - ' FyEError.AppendFormat("", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString) - ' ErrorCuenta = True - ' End If - ' End If - - ' 'SI CLABE TIENE ALGO DEBE TENER UNA LOGITUD EXACTA DE 18 - ' If Not ErrorCuenta Then - ' If DTPendienteActual(0)("CLABE").ToString.Trim.Length <> 0 AndAlso DTPendienteActual(0)("CLABE").ToString.Trim.Length <> 18 Then - ' FyEError.AppendFormat("", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString) - ' ErrorCuenta = True - ' End If - ' End If - - ' 'SI CIE TIENE ALGO DEBE TENER REFERENCIA OBLIGATORIA - ' If Not ErrorCuenta Then - ' If DTPendienteActual(0)("CIE").ToString.Trim.Length <> 0 And DTPendienteActual(0)("Referencia").ToString.Trim.Length < 3 Then - ' FyEError.AppendFormat("", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString) - ' ErrorCuenta = True - ' End If - ' End If - - ' 'CUANDO SEA "BBVA" O "BANCOMER" DEBE TENER "CIE" O "CUENTA" - ' If Not ErrorCuenta Then - ' If EsBancomer AndAlso Not (DTPendienteActual(0)("Cuenta").ToString.Trim.Length = 10 Or DTPendienteActual(0)("CIE").ToString.Trim.Length <> 0) Then - ' FyEError.AppendFormat("", DTPendienteActual(0)("RazonSocial").ToString, DTPendienteActual(0)("BancoNombre").ToString) - ' ErrorCuenta = True - ' End If - ' End If - - ' If Not ErrorCuenta Then - ' If TotalDetalles > 0 Then - ' DetalleTexto &= vbCrLf - ' End If - ' GeneraAltaDetalleFyE() - ' TotalDetalles += 1 - ' End If - - ' End If - ' Next - ' FyEError.AppendFormat("
    PersonalCuentaError
    {0}{1}CLABE ES OBLIGATORIA
    {0}{1}NUMERO DE CUENTA CON FORMATO INCORRECTO
    {0}{1}CLABE CON FORMATO INCORRECTO
    {0}{1}CIE CON FORMATO INCORRECTO
    {0}{1}CUENTA BANCOMER SIN CUENTA O CIE
    ") - - - ' If TotalDetalles > 0 Then - ' FormarTextoAltaFyE(TotalDetalles) - ' CreaArchivo(2) - - ' Dim Descargas As New StringBuilder() - ' Descargas.AppendFormat("
  • TXT
  • ", NombreArchivo) - ' 'Descargas.AppendFormat("
  • Reporte
  • ", NombreArchivo) - ' Descargas.AppendFormat("
  • Descargar Reporte
  • ", NombreArchivo) - - - ' Dim TextoErrorProveedores = "" - ' If FyEError.Length > 160 Then TextoErrorProveedores = String.Format("


    Proveedores con Error:

    ------------------------------------------------------------------
    {0}

    ", FyEError.ToString) - - ' Alert(String.Format("
    El Layout fue creado satisfactoriamente.{1}
    Descargas:
      {0}
    ", Descargas, TextoErrorProveedores), TipoMensaje.MsgInformacion) - - ' 'NombreArchivo = "LayoutAltaProveedores" - ' 'DescargarArchivo() - ' Else - ' Alert("No hay proveedores que dar de alta", TipoMensaje.MsgInformacion) - ' End If - - - 'End Sub - - 'Private Sub GeneraAltaDetalleFyE() - ' Dim Resultado = True - ' Dim CuentaDeposito As String = "" - ' Dim TipoCuentaDeposito As String = "" - ' Dim TipoCuenta As String = "" - - ' ''''' LLENADO DE DETALLE - ' 'Campos #1-4 del Detalle - ' DetalleTexto &= String.Format("DA{0}N ", DTPendienteActual(0)("CveCuentaDeposito").ToString.ToUpper.PadLeft(30, PadCeros)) - - ' 'Banco BBVA - ' If DTPendienteActual(0)("BancoNombre").ToString.ToUpper.Contains("BBVA") Or DTPendienteActual(0)("BancoNombre").ToString.ToUpper.Contains("BANCOMER") Then - ' 'Llenamos datos de BBVA - ' 'Campo #5-7 del detalle - - ' 'Busca que cuenta sera la asignada para el proveedor - ' If DTPendienteActual(0)("CIE").ToString <> "" Then - ' CuentaDeposito = String.Format("02{0}", DTPendienteActual(0)("CIE").ToString.PadLeft(8, PadCeros)) - ' TipoCuenta = "50" - ' TipoCuentaDeposito = "CIE" - ' ElseIf DTPendienteActual(0)("Cuenta").ToString.Length = 10 Then - ' CuentaDeposito = DTPendienteActual(0)("Cuenta").ToString - ' TipoCuenta = "99" - ' TipoCuentaDeposito = "Cuenta" - ' ElseIf DTPendienteActual(0)("CLABE").ToString.Length = 18 Then - ' CuentaDeposito = DTPendienteActual(0)("CLABE").ToString - ' TipoCuenta = "40" - ' TipoCuentaDeposito = "CLABE" - ' End If - - - ' DetalleTexto &= String.Format("{0}{1}{2}", DTPendienteActual(0)("Abreviatura").ToString, TipoCuenta, CuentaDeposito.PadLeft(35, PadCeros)) - - ' 'Llenamos en blanco datos de otros bancos - ' 'Campos 8-17 del detalle --- 64 de otros bancos y 45 para FILLER --- Fecha de Alta - ' DetalleTexto &= String.Format("{0}{1}", Vacio.PadLeft(109), DateTime.Now().ToString("yyyy-MM-dd")) - - - ' 'Otros Bancos NACIONAL!! - ' Else - - ' CuentaDeposito = DTPendienteActual(0)("CLABE").ToString - ' TipoCuentaDeposito = "CLABE" - - ' 'Llenamos en blanco datos de BBVA - ' DetalleTexto &= Vacio.PadRight(40) - - ' 'Llenamos datos de otros bancos - ' 'Campos 8- 17 del detalle --- 44 de otros bancos --- 20 de internacional --- 45 Filler -- Fecha de Alta - ' DetalleTexto &= String.Format("{0}40{1}{2}{3}{4}{5}", DTPendienteActual(0)("Abreviatura").ToString, DTPendienteActual(0)("CLABE").ToString.PadLeft(35, PadCeros), DTPendienteActual(0)("CLABE").ToString.Substring(0, 3).PadLeft(4, PadCeros), Vacio.PadRight(20), Vacio.PadRight(45), DateTime.Now().ToString("yyyy-MM-dd")) - ' End If - - ' 'Llenamos datos de Tipo de Persona - Fisica - ' ' nombres Primer apellido Segundo apellido - ' DetalleTexto &= String.Format("F{0}{1}{2}{3}", Vacio.PadRight(70), DTPendienteActual(0)("Nombres").ToString.PadRight(20).Substring(0, 20), DTPendienteActual(0)("APaterno").ToString.PadRight(20).Substring(0, 20), DTPendienteActual(0)("AMaterno").ToString.PadRight(20).Substring(0, 20)) - - ' 'Campo 25-26 del detalle -- Fecha Nacimiento -- RFC - ' DetalleTexto &= String.Format("{0}{1}", DTPendienteActual(0)("FechaNacimiento").ToString.ToDate.ToString("yyyy-MM-dd"), DTPendienteActual(0)("RFC").ToString.ToUpper.PadRight(14)) - - ' 'Campos 27-32 --- Fillers --- datos de otros bancos (internacional) - ' DetalleTexto &= Vacio.PadLeft(153) - - ' 'Campos 33-36 --- Datos de confirmacion - ' DetalleTexto &= String.Format("{0}02{1}", Vacio.PadRight(40), CorreoNotificacionesEmpresa.ToUpper.PadRight(50)) - - ' 'If DTPendienteActual(0)("ContactoMail").ToString.Length > 0 Then - ' ' 'DetalleTexto &= String.Format("{0}02{1}", Vacio.PadRight(40), DTPendienteActual(0)("ContactoMail").ToString.ToUpper.PadRight(50)) - ' 'ElseIf DTPendienteActual(0)("ContactoMail").ToString.Length <= 0 Then - ' ' DetalleTexto &= String.Format("{0}00{1}", Vacio.PadRight(40), Vacio.PadRight(50)) - ' 'End If - - ' 'Campos 37-39 -- FILLER - ' DetalleTexto &= String.Format("00{0}", Vacio.PadRight(38)) - - - ' ''LLENA DT PARA REPORTE - ' Dim Row = DtAlta.NewRow() - ' Row("Proveedor") = DTPendienteActual(0)("RazonSocial").ToString - ' Row("Banco") = DTPendienteActual(0)("BancoNombre").ToString - ' Row("TipoCuenta") = TipoCuentaDeposito - ' Row("Cuenta") = String.Format("{0}", CuentaDeposito) - ' DtAlta.Rows.Add(Row) - 'End Sub - - 'Protected Sub FormarTextoAltaFyE(Registros As Integer) - ' '''''' LLENADO HEADER - ' Dim convenio As String = DTPendienteActual(0)("ConvenioPagoElectronico").ToString - ' 'Campos #1-4 del Header - ' HeaderTexto = String.Format("H{0}{1}GRUPO01 ", convenio.PadLeft(9, PadCeros), DateTime.Now().ToString("yyyy-MM-dd")) - ' 'Campo #5 del Header - ' HeaderTexto &= String.Format("{0}{1}", UsuarioActual.CveUsuario, DateTime.Now().ToString("yyyyMMdd")).PadRight(20) - ' 'Campos #6-8 del Header - ' HeaderTexto &= String.Format("00").PadRight(586) - ' Dim HeaderLength = HeaderTexto.Length - - ' ''''' LLENADO DE TRAILER - ' TrailerTexto = String.Format("T{0}{1}{2}", Registros.ToString.PadLeft(10, PadCeros), Vacio.PadRight(50, PadCeros), Vacio.PadRight(575)) - - ' ''''' ARMADO DEL TEXTO COMPLETO - ' TextoCompleto = String.Format("{1}{0}{2}{0}{3}{0}", vbCrLf, HeaderTexto, DetalleTexto, TrailerTexto) - ' 'TxtAltas.Text = TextoCompleto - 'End Sub #End Region @@ -2496,15 +1856,10 @@ Partial Class Bancos_PagoElectronicoGrupos Dim Mail As New ClsSisMail() Dim Para As String = Parametros(0) Dim Asunto As String = Parametros(1) - Dim Body As String = Parametros(2) - - 'NO SE OCUPAN - 'Dim CveIE As Integer = Parametros(3).ToEntero - 'Dim CveTipoTransaccion As Integer = Parametros(4).ToEntero - 'Dim Estatus As Integer = If(CveTipoTransaccion = 2, 2, 1) ' cuando es transferencia, no lo pasa por entregar - - ' Mail.MandaCorreo(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body) + Dim Body As String = Parametros(2) + Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body) + End Sub Private Function GeneraCorreo(CveIE As Integer, objIE As ClsBancos) As String @@ -2656,6 +2011,7 @@ Partial Class Bancos_PagoElectronicoGrupos Return strBody.ToString End Function + #End Region #Region " GENERA CORREO 2" @@ -3146,6 +2502,470 @@ Partial Class Bancos_PagoElectronicoGrupos End Sub + Protected Sub BtnConsultaEnviados_Click(sender As Object, e As EventArgs) + CargaEnviados() + End Sub + + Private Sub CargaEnviados() + + Dim ObjBancos As New ClsBancos + Dim FechaI = If(IsDate(txtFechaIEnviados.Text.Trim()), txtFechaIEnviados.Text.Trim(), "-1") + Dim FechaF = If(IsDate(txtFechaFEnviados.Text.Trim()), txtFechaFEnviados.Text.Trim(), "-1") + + If ObjBancos.GetLayoutPagosEnviados(DdlCuentaEnviados.SelectedValue.ToEntero, DdlEstatusEnviados.SelectedValue.ToEntero, "-1", FechaI, FechaF, PorGrupos:=True) Then + DTEnviadas = ObjBancos.DtResultados + Else + DTEnviadas = Nothing + End If + + ObjBancos.Dispose() + + 'Carga GvEnviadas + If DTEnviadas IsNot Nothing AndAlso DTEnviadas.Rows.Count > 0 Then + GvEnviadas.DataSource = DTEnviadas + End If + + GvEnviadas.DataBind() + UpEnviados.Update() + + End Sub + + Property CveIEPagoActual As Integer + Get + If ViewState("CveIEPagoActual") Is Nothing Then + Return -1 + Else + Return ViewState("CveIEPagoActual").ToString.ToEntero + End If + End Get + Set(value As Integer) + ViewState("CveIEPagoActual") = value + End Set + End Property + + Property CveLayoutEnvioDetalleActual As Integer + Get + If ViewState("CveLayoutEnvioDetalleActual") Is Nothing Then + Return -1 + Else + Return ViewState("CveLayoutEnvioDetalleActual").ToString.ToEntero + End If + End Get + Set(value As Integer) + ViewState("CveLayoutEnvioDetalleActual") = value + End Set + End Property + + Property GvIndexActual As Integer + Get + If ViewState("GvIndexActual") Is Nothing Then + Return -1 + Else + Return ViewState("GvIndexActual").ToString.ToEntero + End If + End Get + Set(value As Integer) + ViewState("GvIndexActual") = value + End Set + End Property + + + Protected Sub ImgUpload_Click(sender As Object, e As EventArgs) + + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + CveIEPagoActual = GvRow.DataKey("CveIE").ToEntero + + ' HFComprobanteActual = GvRow.FCHiddenField("HFComprobante") + + GvIndexActual = GvRow.RowIndex + + + RegistraScript("$('#ModalUploadComprobante').modal({ backdrop: 'static', keyboard: false});") + + End Sub + + Protected Sub btnUploadFileComprobante_Click(sender As Object, e As EventArgs) + + Dim FileExtension As String = "-1" + Dim Filesgral As List(Of Archivo) = TxtFileComprobante.getfiles().Archivos + Dim Filename As String = "" + Dim ErrorProceso As Boolean = False + + + For Each fileItem As Archivo In Filesgral + + Try + + FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "") + Dim tempArray() As String + tempArray = fileItem.filename.ToString().Split("-".ToCharArray()) + + + If Not ErrorProceso Then + + Dim DirectorioDestino As String = UsuarioActual.Empresa.Ruta & $"..\Temp\" + Dim rutaDestino As String = UsuarioActual.Empresa.Ruta & $"..\Temp\{CveIEPagoActual}.{FileExtension}" + + + If Not Directory.Exists(DirectorioDestino) Then + Directory.CreateDirectory(DirectorioDestino) + End If + + Try + + If System.IO.File.Exists(rutaDestino) Then + System.IO.File.Delete(rutaDestino) + End If + + GvEnviadas.Rows(GvIndexActual).FCTextBox("TxtComprobante").Text = $"{CveIEPagoActual}.{FileExtension}" + + + System.IO.File.Move(fileItem.FileUrl, rutaDestino) + + Catch ex As Exception + Alert("Error al cargar al", TipoMensaje.MsgAdvertencia) + GuardaLog($"Error al gaurdar documento (moviendo archivo digital) --> Error{ ex.StackTrace}") + ErrorProceso = True + End Try + End If + + + TxtFileComprobante.Text = "" + + + + + UPModalUploadComprobante.Update() + + Catch ex As Exception + OnError("Error al cargar archivo", ex) + End Try + + Next + + If Not ErrorProceso Then + RegistraScript("$('#ModalUploadComprobante').modal('hide')", "hidemodal3") + UpEnviados.Update() + End If + + + + + + End Sub + + + Protected Sub LnkGvConfirmar_Click(sender As Object, e As EventArgs) + + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + CveIEPagoActual = GvRow.DataKey("CveIE").ToEntero + Dim Comprobante As String = If(GvRow.FCTextBox("TxtComprobante").Text.Trim = "", "-1", GvRow.FCTextBox("TxtComprobante").Text.Trim) + Dim NuevoFolio As String = If(GvRow.FCTextBox("TxtFolio").Text.Trim = "", "-1", GvRow.FCTextBox("TxtFolio").Text.Trim) + + Dim ErrorProceso As Boolean = False + Dim ObjBanco As New ClsBancos + 'ObjBanco.IniciaTransacSQL() + + Dim CveLayoutEnvioDetalle As Integer = GvRow.DataKey("CveLayoutEnvioDetalle").ToEntero + Dim CveLayoutEnvio As Integer = GvRow.DataKey("CveLayoutEnvio").ToEntero + Dim CveIE As Integer = GvRow.DataKey("CveIE").ToEntero + Dim CveProveedor As Integer = GvRow.DataKey("CveProveedor").ToEntero + + + If Not ObjBanco.UpdateLayoutEnviosDetalle(CveLayoutEnvioDetalle, CveLayoutEnvio, CveIE, CveProveedor, 2, "", True) Then + ErrorProceso = True + End If + + + If NuevoFolio <> "-1" Or Comprobante <> "-1" And Not ErrorProceso Then + If Not ObjBanco.UpdateBancos_IEFolio(CveIE, NuevoFolio, Comprobante) Then + ErrorProceso = True + End If + End If + + + If Comprobante <> "-1" And Not ErrorProceso Then + + Try + + Dim FOrigen As String = $"{UsuarioActual.Empresa.Ruta}..\Temp\{Comprobante}" + Dim FDestino As String = $"{UsuarioActual.Empresa.Ruta}\IE\{Comprobante}" + + If File.Exists(FDestino) Then + File.Delete(FDestino) + End If + + File.Move(FOrigen, FDestino) + + Catch ex As Exception + ErrorProceso = True + Alert("Error al guardar comprobante.", TipoMensaje.MsgError) + End Try + + End If + + + + If ErrorProceso Then + ObjBanco.RollBack() + Else + ObjBanco.Commit() + Alert("Confirmado Correctamente") + End If + + + ObjBanco.Dispose() + + End Sub + + + + + Protected Sub LnkGvCancelar_Click(sender As Object, e As EventArgs) + + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + CveIEPagoActual = GvRow.DataKey("CveIE").ToEntero + + + Dim ErrorProceso As Boolean = False + Dim ObjBanco As New ClsBancos + + + Dim CveLayoutEnvioDetalle As Integer = GvRow.DataKey("CveLayoutEnvioDetalle").ToEntero + Dim CveLayoutEnvio As Integer = GvRow.DataKey("CveLayoutEnvio").ToEntero + Dim CveIE As Integer = GvRow.DataKey("CveIE").ToEntero + Dim CveProveedor As Integer = GvRow.DataKey("CveProveedor").ToEntero + Dim IDPoliza As Integer = -1 + Dim CvePrePoliza As Integer + Dim FechaDocumento As Date + + If Not ObjBanco.UpdateLayoutEnviosDetalle(CveLayoutEnvioDetalle, CveLayoutEnvio, CveIE, CveProveedor, 3, "", False) Then '3 es cancelacion + ErrorProceso = False + End If + + 'Dim NumComplementos As Integer + 'Dim Conciliado As Integer + + If ObjBanco.GetBancosIE(CveIE, UsuarioActual.CveEmpresa) And Not ErrorProceso Then + + + If ObjBanco.DtResultados(0)("NumComplementos").ToString.ToEntero > 0 Then + ErrorProceso = True + Alert("El Moviento tiene Complementos", TipoMensaje.MsgAdvertencia) + End If + + If ObjBanco.FueConciliado Then + ErrorProceso = True + Alert("El Moviento Esta conciliado", TipoMensaje.MsgAdvertencia) + End If + + + IDPoliza = ObjBanco.IDPoliza + CvePrePoliza = ObjBanco.DtResultados.Rows(0)("CvePrePoliza").ToString.ToEntero + FechaDocumento = ObjBanco.FechaDocumento + + End If + ObjBanco.Dispose() + + + If Not ErrorProceso Then + + + + Dim Banc As New ClsBancos + Dim ObjConta As New ClsContabilidad(Banc.IniciaTransacSQL()) + + Dim ObjAC As ClsContPAQi = Nothing + If UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1" Then + ObjAC = New ClsContPAQi(UsuarioActual.Empresa) + ObjAC.IniciaTransacSQL() + End If + + Dim FechaCancelacion As Date = Now + + Dim ErrorCancelar = False + Dim MensajeError = "" + Dim IdPolizaNueva = -1 + Dim FolioPolizaNueva = -1 + + If (IDPoliza > 0 AndAlso (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.Funcionalidad(200).ToString = "1")) Then + + If ObjAC Is Nothing Then + ErrorCancelar = True + End If + + If Not ErrorCancelar Then + Dim dt As DataTable + + If ObjAC.GetPoliza(IDPoliza, -1, -1, -1, -1) AndAlso ObjAC.DtResultados.Rows.Count > 0 Then + dt = ObjAC.DtResultados + + ' MES ANTERIOR, MOVIMIENTOS CONTRARIOS (NEGATIVOS) + If dt.Rows(0)("FechaPol").ToString.ToDate < FechaCancelacion.FirstDayOfMonth Then 'dt.Rows(0)("FechaPol").ToString.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or dt.Rows(0)("FechaPol").ToString.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then + IdPolizaNueva = ObjAC.AddPoliza(dt.Rows(0)("CodigoTipoPoliza").ToString.ToEntero, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), 0, 0, UsuarioActual.CveUsuario, FechaCancelacion) + If IdPolizaNueva > 0 Then + FolioPolizaNueva = ObjAC.Folio + + 'CREA POLIZA NEGATIVA + For Each dr As DataRow In dt.Rows + If Not ObjAC.AddMovimiento(IdPolizaNueva, dr("IdCuenta").ToString.ToEntero, dr("TipoMovto").ToString = "True", dr("Importe").ToString.ToDecimal * -1, dr("Referencia").ToString, String.Format("Cancelacion: {0}", dt.Rows(0)("Concepto").ToString), dr("IdSegNeg").ToString.ToEntero, FechaCancelacion, "") Then + ErrorCancelar = True + MensajeError = "Error al crear poliza negativa" + Exit For + End If + Next + + 'AJUSTA POLIZA + If Not ErrorCancelar Then + If Not ObjAC.AjustaPoliza(IdPolizaNueva) Then + ErrorCancelar = True + MensajeError = "Error al ajustar poliza negativa" + End If + End If + + 'CANCELA IE + If Not ErrorCancelar Then + If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then + ErrorCancelar = True + MensajeError = "Error al cancelar IE" + End If + End If + + Else + ErrorCancelar = True + End If + + Else + + If ObjAC.RemovePoliza(IDPoliza) Then + If Not ObjConta.DesvincularPrePolizaContabilizada(IDPoliza, UsuarioActual.CveEmpresa) Then + ErrorCancelar = True + MensajeError = "Error al desvincular poliza." + End If + Else + ErrorCancelar = True + MensajeError = "Error al eliminar poliza." + End If + + If Not ErrorCancelar Then + If Not ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then + ErrorCancelar = True + MensajeError = "Error al desbloquear prepoliza." + End If + End If + + 'CANCELA IE + If Not ErrorCancelar Then + If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then + ErrorCancelar = True + MensajeError = "Error al cancelar IE" + End If + End If + + If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjAC) Then + ErrorCancelar = True + MensajeError = "Error al contabilizar poliza" + End If + + End If + Else + ErrorCancelar = True + MensajeError = "Error al obtener la poliza" + End If + End If + + Else + + ' If TxtFechaDocumento.Text.ToDate.Month < TxtFechaCancelacion.Text.ToDate.Month Or TxtFechaDocumento.Text.ToDate.Year < TxtFechaCancelacion.Text.ToDate.Year Then + If FechaDocumento < FechaCancelacion.FirstDayOfMonth Then + 'CANCELA IE MES ANTERIOR + If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, True, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then + ErrorCancelar = True + MensajeError = "Error al cancelar IE MES ANTERIOR" + End If + Else + 'CANCELA IE MES ACTUAL + If Not Banc.CancelarBancos_IE(UsuarioActual.CveUsuario, CveIE, False, IdPolizaNueva, FolioPolizaNueva, FechaCancelacion) Then + ErrorCancelar = True + MensajeError = "Error al cancelar IE MES ACTUAL" + End If + End If + End If + + + + If Not ErrorCancelar Then + + + + If ObjAC IsNot Nothing Then ObjAC.Commit() + Banc.Commit() + Dim Msg As New StringBuilder + + If IdPolizaNueva > 0 Then + Msg.AppendFormat("

    Ver Póliza de cancelación", IdPolizaNueva) + Else + Msg.Append("Pago Cancelado Correctamente.") + End If + + Alert(Msg.ToString, TipoMensaje.MsgInformacion) + + Else + + If ObjAC IsNot Nothing Then ObjAC.RollBack() + Banc.RollBack() + Alert("El movimiento bancario no se pudo cancelar. Por favor vuelva a intentar.", TipoMensaje.MsgError) + GuardaLog(MensajeError + " | CANCELAR IE") + + End If + + If ObjAC IsNot Nothing Then ObjAC.Dispose() + Banc.Dispose() + ObjConta.Dispose() + + + End If + + End Sub + + + + + + + + + Protected Sub LnkDescarga_Click(sender As Object, e As EventArgs) + + Dim FileName As String = NombreArchivo + Dim FilePath As String = $"{UsuarioActual.Empresa.Ruta}Layout\{NombreArchivo}" + Response.Clear() + Response.ContentType = "application/octet-stream" + Response.AddHeader("Content-Disposition", "attachment; filename=" & FileName) + Response.TransmitFile(FilePath) + Response.End() + + End Sub + + + Protected Sub LnkDescargaCuentas1_Click(sender As Object, e As EventArgs) + Dim FileName As String = NombreArchivoBancomer + Dim FilePath As String = $"{UsuarioActual.Empresa.Ruta}Layout\{NombreArchivoBancomer}" + Response.Clear() + Response.ContentType = "application/octet-stream" + Response.AddHeader("Content-Disposition", "attachment; filename=" & FileName) + Response.TransmitFile(FilePath) + Response.End() + End Sub + Protected Sub LnkDescargaCuentas2_Click(sender As Object, e As EventArgs) + Dim FileName As String = NombreArchivo + Dim FilePath As String = $"{UsuarioActual.Empresa.Ruta}Layout\{NombreArchivo}" + Response.Clear() + Response.ContentType = "application/octet-stream" + Response.AddHeader("Content-Disposition", "attachment; filename=" & FileName) + Response.TransmitFile(FilePath) + Response.End() + End Sub End Class diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 552b2f736..be19367d4 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -2162,9 +2162,9 @@ Partial Class Compras_Compras DdlRetIVAConcepto.Items.Add(New ListItem("Arrendamiento", "4")) - If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then - DdlRetIVAConcepto.Items.Add(New ListItem("Ret IVA Servicios", "5")) - End If + 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then + DdlRetIVAConcepto.Items.Add(New ListItem("Ret IVA Servicios", "5")) + 'End If End If @@ -2313,23 +2313,23 @@ Partial Class Compras_Compras 'ASIGNA VALORES ORIGINALES PARA GUARDAR AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total) - If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then + 'If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then - If RetencionIVA = 0 And IVAOriginal > 0 Then - For Each dRow As DataRow In TmpDT.Rows - If dRow("CveTipoPS").ToString.ToEntero = 1 Then + ' If RetencionIVA = 0 And IVAOriginal > 0 Then + ' For Each dRow As DataRow In TmpDT.Rows + ' If dRow("CveTipoPS").ToString.ToEntero = 1 Then - 'comentado para reubicar el boton - 'tdIVA6.Visible = True + ' 'comentado para reubicar el boton + ' 'tdIVA6.Visible = True - Exit For - End If - Next - End If + ' Exit For + ' End If + ' Next + ' End If - End If + 'End If End Sub @@ -6043,7 +6043,12 @@ Partial Class Compras_Compras End If - If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then + 'Codigo anterior + 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero + 'End If + + If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero End If @@ -8853,11 +8858,14 @@ Partial Class Compras_Compras End If - If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then + 'If UsuarioActual.Empresa.Funcionalidad(577).ToEntero = 1 Then + ' IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero + 'End If + + If DdlRetIVAConcepto.SelectedValue.ToEntero = 5 Then IdCtaContable = UsuarioActual.Empresa.Funcionalidad(578).ToEntero End If - End If End If @@ -15254,6 +15262,9 @@ Partial Class Compras_Compras If Math.Abs(SubTotalGV - SubTotalCompra) < DiferenciaPermitida Then LbSubTotalDif.Visible = False Vinculacion() + ElseIf Math.Abs(SubTotalGV - SubTotalCompra) > DiferenciaPermitida And LblAmortizacion.Text.ToDecimal > 0 Then '2020-06-08 Oscar Permitir vincular cuando hay amortizacion de NC + LbSubTotalDif.Visible = False + Vinculacion() ElseIf Math.Abs(SubTotalGV - (SubTotalCompra - LbAnticiposOC2.Text.ToDecimal)) < DiferenciaPermitida Then LbSubTotalDif.Visible = False Vinculacion() @@ -17521,23 +17532,23 @@ Partial Class Compras_Compras GuardaAC() End If - If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then + 'If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then - 'If UsuarioActual.CveRol = 1 Then - ' Alert($"Ok funcionalidad 577 RetencionIVA { RetencionIVA} IVAOriginal {IVAOriginal}") - 'End If + ' 'If UsuarioActual.CveRol = 1 Then + ' ' Alert($"Ok funcionalidad 577 RetencionIVA { RetencionIVA} IVAOriginal {IVAOriginal}") + ' 'End If - If RetencionIVA = 0 And IVAOriginal > 0 Then - For Each dRow As DataRow In TmpDT.Rows - If dRow("CveTipoPS").ToString.ToEntero = 1 Then - 'Comnetado para reubicar el boton - 'tdIVA6.Visible = True - Exit For - End If - Next - End If + ' If RetencionIVA = 0 And IVAOriginal > 0 Then + ' For Each dRow As DataRow In TmpDT.Rows + ' If dRow("CveTipoPS").ToString.ToEntero = 1 Then + ' 'Comnetado para reubicar el boton + ' 'tdIVA6.Visible = True + ' Exit For + ' End If + ' Next + ' End If - End If + 'End If