Ajustes Layout Scotia

This commit is contained in:
Oscar Irigoyen
2025-07-15 23:33:50 -07:00
parent 3e75367772
commit 5339ee8aea
6 changed files with 224 additions and 118 deletions

View File

@@ -128,6 +128,7 @@ Public Class ClsBancos
Public Property Fecha As DateTime
Public Property LimiteCredito As Double
Public Property ConvenioPagoElectronico As String
Public Property ConvenioPagoElectronicoNomina As String
Public Property UsaLayout As Boolean
Public Property UsaLayoutGrupos As Boolean
@@ -138,6 +139,7 @@ Public Class ClsBancos
Public Property NumeroSucursal As String
#End Region
Public Property SecuenciaLayout As Integer = 0
#Region " P R O P I E D A D E S - C O M P L E M E N T O P A G O"
Public Property ComplementoSerieFolio As String
@@ -420,6 +422,7 @@ Public Class ClsBancos
Me.Usuario = Data.Rows(0)("Usuario").ToString
Me.LimiteCredito = Data.Rows(0)("LimiteCredito").ToString.ToDouble
Me.ConvenioPagoElectronico = Data.Rows(0)("ConvenioPagoElectronico").ToString
Me.ConvenioPagoElectronicoNomina = Data.Rows(0)("ConvenioPagoElectronicoNomina").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)
@@ -461,7 +464,7 @@ Public Class ClsBancos
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, 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, Optional TieneTerminal As Boolean = False,
Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1, Optional NumeroSucursal As String = "-1") As Boolean
Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1, Optional NumeroSucursal As String = "-1", Optional ConvenioPagoElectronicoNomina As String = "") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_BancosCuentasAdd")
@@ -482,6 +485,7 @@ Public Class ClsBancos
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveCuenta", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@ConvenioPagoElectronico", SqlDbType.VarChar).Value = ConvenioPagoElectronico
.Add("@ConvenioPagoElectronicoNomina", SqlDbType.VarChar).Value = ConvenioPagoElectronicoNomina
.Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout
.Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta
.Add("@SaldoInicial", SqlDbType.Money).Value = SaldoInicial
@@ -513,7 +517,7 @@ Public Class ClsBancos
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, FormatoCheque As String, Estatus As Boolean, CveCuenta As Integer, ConvenioPagoElectronico As String,
UsaLayout As Boolean, UsaTarjeta As Boolean, Optional UsaLayoutGrupos As Boolean = False, Optional TieneTerminal As Boolean = False,
Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1, Optional NumeroSucursal As String = "-1") As Boolean
Optional CveCuentaPadre As Integer = Nothing, Optional CveSubProyecto As Integer = -1, Optional NumeroSucursal As String = "-1", Optional ConvenioPagoElectronicoNomina As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Banc_BancosCuentasUpdate")
@@ -533,6 +537,7 @@ Public Class ClsBancos
.Add("@Estatus", SqlDbType.Bit).Value = Estatus
.Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta
.Add("@ConvenioPagoElectronico", SqlDbType.VarChar).Value = ConvenioPagoElectronico
.Add("@ConvenioPagoElectronicoNomina", SqlDbType.VarChar).Value = ConvenioPagoElectronicoNomina
.Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout
.Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta
.Add("@UsaLayoutGrupos", SqlDbType.Bit).Value = UsaLayoutGrupos
@@ -3110,9 +3115,9 @@ Public Class ClsBancos
Return Retorno
End Function
Public Function AddLayoutEnvios(Archivo As String, Fecha As Date, CveCuenta As Integer, Optional PorGrupos As Boolean = False) As Integer
Public Function AddLayoutEnvios(Archivo As String, Fecha As Date, CveCuenta As Integer, Optional PorGrupos As Boolean = False, Optional GenSecuencia As Boolean = False, Optional AltaCuenta As Boolean = False) As Integer
Dim Retorno As Integer = -1
SecuenciaLayout = 0
DataAdapter("PA_Banc_LayoutEnviosAdd")
With SqlAdapter.SelectCommand.Parameters
@@ -3121,11 +3126,17 @@ Public Class ClsBancos
.Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta
.Add("@PorGrupos", SqlDbType.Bit).Value = PorGrupos
.Add("@CveLayoutEnvio", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@GenSecuencia", SqlDbType.Bit).Value = GenSecuencia
.Add("@AltaCuenta", SqlDbType.Bit).Value = AltaCuenta
.Add("@Secuencia", SqlDbType.Int).Direction = ParameterDirection.Output
End With
Try
SqlAdapter.Fill(Data)
Retorno = SqlAdapter.SelectCommand.Parameters("@CveLayoutEnvio").Value.ToString.ToEntero
SecuenciaLayout = SqlAdapter.SelectCommand.Parameters("@Secuencia").Value.ToString.ToEntero
Catch ex As Exception
OnError("Ocurrió un error al agregar el LayoutEnvio", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try

View File

@@ -32,7 +32,7 @@ Public Class ClsPagoScotia
Public Property TotalPagos As Integer = 0
Public Property NombreArchivo As String = ""
Public Function GeneraPagoScotiaBank(ByVal DTPendientes As DataTable, InsertaEnDB As Boolean, CveCuenta As Integer, UsuarioActual As Usuario) As Boolean
Public Function GeneraPagoScotiaBank(ByVal DTPendientes As DataTable, InsertaEnDB As Boolean, CveCuenta As Integer, UsuarioActual As Usuario, Secuencia As Integer, Optional EsNomina As Boolean = False) As Boolean
'ConvenioPagoElectronico = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("ConvenioPagoElectronico", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
Dim TamanoBloque As Integer = 5000 ' pagos por bloque
@@ -57,6 +57,10 @@ Public Class ClsPagoScotia
End If
Dim NumeroConvenio As String = DTPendientes.Rows(0)("ConvenioPagoElectronico").ToString
If EsNomina Then
NumeroConvenio = DTPendientes.Rows(0)("ConvenioPagoElectronicoNomina").ToString
End If
If NumeroConvenio.Trim.Length = 0 Then
LayouErrorStr = "El campo NumeroConvenio (ConvenioPagoElectronico) no está definido en los datos de la cuenta."
ErrorLayout = True
@@ -85,9 +89,9 @@ Public Class ClsPagoScotia
Dim ha As New StringBuilder()
ha.Append("EE") ' 1‑2 Tipo Archivo
ha.Append("HA") ' 3‑4 Tipo Registro
ha.Append(NumeroConvenio.PadLeft(5, "0"c)) ' 5‑9 Nº Convenio
ha.Append("01") ' 10‑11 Secuencia fija "01"
ha.Append("00000000") ' 12‑19 Fecha generación
ha.Append(NumeroConvenio.PadLeft(5, CERO)) ' 5‑9 Nº Convenio
ha.Append(Secuencia.ToString.PadLeft(2, CERO)) ' 10‑11 Secuencia fija "01"
ha.Append("00000000") ' 12‑19 Fecha generación
ha.Append("00000000") ' 20‑27 Fecha inicial (opcional)
ha.Append("00000000") ' 28‑35 Fecha final (opcional)
ha.Append("000") ' 36‑38 Código status "000"
@@ -331,35 +335,35 @@ Public Class ClsPagoScotia
NombreArchivo = $"pagos_{ClsPaginas.NowADS.ToString("ddMMyyyy")}_001.txt"
'"pagos_03062025_001.txt"
If InsertaEnDB Then
'If InsertaEnDB Then
Dim ObjBancos As New ClsBancos
ObjBancos.IniciaTransacSQL()
' Dim ObjBancos As New ClsBancos
' ObjBancos.IniciaTransacSQL()
Dim CveLayoutEnvio As Integer = ObjBancos.AddLayoutEnvios(NombreArchivo, ClsPaginas.NowADS(), CveCuenta, PorGrupos:=True)
' Dim CveLayoutEnvio As Integer = ObjBancos.AddLayoutEnvios(NombreArchivo, ClsPaginas.NowADS(), CveCuenta, PorGrupos:=False)
If CveLayoutEnvio > 0 Then
For Each dr As DataRow In DTPendientes.Rows
If dr("CveProveedor").ToString <> "" Or dr("CvePersonal").ToString <> "" Then
If Not ObjBancos.AddLayoutEnviosDetalle(CveLayoutEnvio, dr("CveIE").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, 1, "Observaciones") Then
ErrorLayout = True
Exit For
End If
End If
Next
Else
ErrorLayout = True
End If
' If CveLayoutEnvio > 0 Then
' For Each dr As DataRow In DTPendientes.Rows
' If dr("CveProveedor").ToString <> "" Or dr("CvePersonal").ToString <> "" Then
' If Not ObjBancos.AddLayoutEnviosDetalle(CveLayoutEnvio, dr("CveIE").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, 1, "Observaciones") Then
' ErrorLayout = True
' Exit For
' End If
' End If
' Next
' Else
' ErrorLayout = True
' End If
If ErrorLayout Then
ObjBancos.RollBack()
ObjBancos.Dispose()
Else
ObjBancos.Commit()
ObjBancos.Dispose()
End If
' If ErrorLayout Then
' ObjBancos.RollBack()
' ObjBancos.Dispose()
' Else
' ObjBancos.Commit()
' ObjBancos.Dispose()
' End If
End If
'End If
Dim path As String = String.Format("{0}Layout\{1}", UsuarioActual.Empresa.Ruta, NombreArchivo)
Dim pathDirectorio As String = String.Format("{0}Layout\", UsuarioActual.Empresa.Ruta)
@@ -418,8 +422,8 @@ Public Class ClsPagoScotia
Optional MovimientoDefault As Char = "P"c ' P =pago, cambia si usas A/C/B
) As Boolean
Dim objBanco As New ClsBancos
objBanco.IniciaTransacSQL()
'Dim objBanco As New ClsBancos
ErrorLayout = False
LayoutStr = ""
@@ -473,6 +477,9 @@ Public Class ClsPagoScotia
ErrorLayout = True
End If
Dim sb As New StringBuilder
'=============================================================
@@ -482,17 +489,17 @@ Public Class ClsPagoScotia
'Dim hora As String = Now.ToString("HHmmss")
Dim Header As New StringBuilder()
Header.Append(TipoArchivo.PadRight(2, Space)) 'TIPO ARCHIVO (2)
Header.Append("HA") 'TIPO REGISTRO (2)
Header.Append("JDF") 'SISTEMA-CENTRAL (3)
Header.Append(NumeroConvenio.PadLeft(7, Cero)) 'NUMERO DE CONTRATO (7) ' ocupa 5 dígitos pero en el layout se usa 7
Header.Append(ClsPaginas.NowADS.ToString("yyyyMMdd")) 'FECHA-SOLICITUD (8)
Header.Append("001") 'SECUENCIA (3)
Header.Append("M") 'MANTENIMIENTO-O-CONSULTA (1)
Header.Append(" ".PadLeft(8, Space)) 'FECHA GENERACIÓN ARCHIVO (8) *** Respusta de ScotiaBank ***
Header.Append(" ".PadLeft(6, Space)) 'Hora GENERACIÓN ARCHIVO (6) *** Respusta de ScotiaBank ***
Header.Append(" ".PadLeft(3, Space)) 'CÓDIGO-RESPUESTA (3) *** Respusta de ScotiaBank ***
Header.Append(" ".PadLeft(97, Space)) 'FILLER (97)
Header.Append(TipoArchivo.PadRight(2, Space)) 'TIPO ARCHIVO (2)
Header.Append("HA") 'TIPO REGISTRO (2)
Header.Append("JDF") 'SISTEMA-CENTRAL (3)
Header.Append(NumeroConvenio.PadLeft(7, Cero)) 'NUMERO DE CONTRATO (7) ' ocupa 5 dígitos pero en el layout se usa 7
Header.Append(ClsPaginas.NowADS.ToString("yyyyMMdd")) 'FECHA-SOLICITUD (8)
Header.Append(Secuencia.ToString().PadLeft(3, Cero)) 'SECUENCIA (3)
Header.Append("M") 'MANTENIMIENTO-O-CONSULTA (1)
Header.Append(" ".PadLeft(8, Space)) 'FECHA GENERACIÓN ARCHIVO (8) *** Respusta de ScotiaBank ***
Header.Append(" ".PadLeft(6, Space)) 'Hora GENERACIÓN ARCHIVO (6) *** Respusta de ScotiaBank ***
Header.Append(" ".PadLeft(3, Space)) 'CÓDIGO-RESPUESTA (3) *** Respusta de ScotiaBank ***
Header.Append(" ".PadLeft(97, Space)) 'FILLER (97)
sb.AppendLine(Header.ToString)
@@ -646,39 +653,8 @@ Public Class ClsPagoScotia
LayoutStr = sb.ToString()
If Not ErrorLayout Then
objBanco.Commit()
Else
objBanco.RollBack()
End If
Return If(ErrorLayout, False, True)
'If SBErrores.Length > 0 Then
' LayouErrorStr = "Errores encontrados al generar el layout de ScotiaBank:<br>" & SBErrores.ToString
' ErrorLayout = True
'Else
' If CreaArchivo(sb.ToString, NombreArchivo, UsuarioActual:=UsuarioActual) Then
' DVDescargaPagos.Visible = False
' DVDescargaReporte.Visible = False
' LblCuentas.Text = "Cuentas Bajio"
' 'NombreArchivoBancomer = "" 'No usamos estos para scotia
' 'NombreArchivoInterbancario = ""
' 'NombreArchivoCIE = ""
' 'NombreArchivo = NombreArchivoEnviado
' DVDescargaCuentas1.Visible = True
' LnkDescargaCuentas1.Text = NombreArchivo
' RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});")
' UpModalDescarga.Update()
' End If
'End If
'CargaDatos()
End Function

View File

@@ -113,6 +113,11 @@
<td>
<asp:TextBox ID="TxtConvenio" runat="server" MaxLength="18" Width="200px"></asp:TextBox></td>
</tr>
<tr id="TrConvenioNomina" runat="server" visible="false">
<td>Convenio:</td>
<td>
<asp:TextBox ID="TxtConvenioNomina" runat="server" MaxLength="18" Width="200px"></asp:TextBox></td>
</tr>
<tr runat="server" id="trFinicial">
<td>
<asp:Literal runat="server" ID="LtFInicial" Text="Folio Inicial:"></asp:Literal>

View File

@@ -216,6 +216,7 @@ Partial Class Bancos_CuentasBancariasDetalle
LblFecha.Text = ObjCuentasBancariasDetalle.Fecha.ToShortDateString
LblUsuario.Text = ObjCuentasBancariasDetalle.Usuario
TxtConvenio.Text = ObjCuentasBancariasDetalle.ConvenioPagoElectronico.ToString
TxtConvenioNomina.Text = ObjCuentasBancariasDetalle.ConvenioPagoElectronicoNomina
ChkLayout.Checked = ObjCuentasBancariasDetalle.UsaLayout
ChkLayoutGrupos.Checked = ObjCuentasBancariasDetalle.UsaLayoutGrupos
ChkUsaTarjeta.Checked = ObjCuentasBancariasDetalle.UsaTarjeta
@@ -296,7 +297,8 @@ Partial Class Bancos_CuentasBancariasDetalle
TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0, TxtLimiteCredito.Text.Trim.ToDouble,
"", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, If(ChkLayout.Checked, TxtConvenio.Text, ""), ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked,
TieneTerminal:=ChkTieneTerminal.Checked,
CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim) Then
CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim,
ConvenioPagoElectronicoNomina:=TxtConvenioNomina.Text) Then
ViewState("CveCuenta") = ObjCuentasBancariasDetalle.TCveCuenta
Else
ErrorUsuarios = True
@@ -331,7 +333,8 @@ Partial Class Bancos_CuentasBancariasDetalle
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, "", ChkEstatus.Checked, CveCuenta, TxtConvenio.Text,
ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked, TieneTerminal:=ChkTieneTerminal.Checked,
CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim) Then
CveCuentaPadre:=DdlCuentaPadre.SelectedValue.ToEntero, CveSubProyecto:=DdlSubProyectos.SelectedValue.ToEntero, NumeroSucursal:=TxtNumeroSucursal.Text.Trim,
ConvenioPagoElectronicoNomina:=TxtConvenioNomina.Text) Then
'CargaDatos()
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
GlobalDTBancosCuentasGral(UsuarioActual.CveEmpresa) = Nothing
@@ -688,8 +691,10 @@ Partial Class Bancos_CuentasBancariasDetalle
Private Sub InicializaConvenio()
If ChkLayout.Checked Then
TrConvenio.Visible = True
TrConvenioNomina.Visible = True
Else
TrConvenio.Visible = False
TrConvenioNomina.Visible = False
End If
End Sub
Protected Sub ChkLayout_CheckedChanged(sender As Object, e As EventArgs)

View File

@@ -8,6 +8,7 @@ Imports System.Data
Imports System.Data.Entity
Imports System.Data.SqlClient
Imports System.IO
Imports System.Runtime.ConstrainedExecution
Imports System.Runtime.Remoting
Imports AjaxControlToolkit.AsyncFileUpload.Constants
Imports Extensiones
@@ -656,9 +657,11 @@ Partial Class Bancos_PagoElectronico
End If
End Sub
Protected Sub LBRegenerar_Click(sender As Object, e As EventArgs)
Dim CveBLE As Integer = CType(sender, LinkButton).CommandArgument.ToEntero
Dim DtRegenerar As New DataTable
Dim ObjBancos As New ClsBancos
If ObjBancos.GetLayoutPagos(CveCuenta, CveBLE, "-1") Then
DtRegenerar = ObjBancos.DtResultados
@@ -676,11 +679,16 @@ Partial Class Bancos_PagoElectronico
End If
If OpBancos = 3 Then
If DtRegenerar IsNot Nothing Then
Dim Secuencia As Integer = DtRegenerar.Rows(0)("Secuencia").ToString.ToEntero
Secuencia = If(Secuencia <= 0, 1, Secuencia)
Dim ErrorScotia As Boolean = False
Using objScotia As New ClsPagoScotia
If objScotia.GeneraPagoScotiaBank(DtRegenerar, False, CveCuenta, UsuarioActual) Then
If objScotia.GeneraPagoScotiaBank(DtRegenerar, False, CveCuenta, UsuarioActual, Secuencia) Then
If objScotia.ErrorLayout = False And objScotia.TotalPagos > 0 Then
@@ -748,21 +756,41 @@ Partial Class Bancos_PagoElectronico
Dim fechaHoy As String = DateTime.Today.ToString("MM/dd/yyyy")
Dim ErrorCuentas As Boolean = False
Using objPagoScotia As New ClsPagoScotia
If objPagoScotia.AltaCuentasScotia(DTPendientes.FiltraParametros($" EstatusPagoElectronicoScotia = False Or FechaEliminacion < #{fechaHoy}#"), UsuarioActual) Then
DVDescargaPagos.Visible = False
DVDescargaReporte.Visible = False
LblCuentas.Text = "Cuentas Bajio"
DVDescargaCuentas1.Visible = True
LnkDescargaCuentas1.Text = objPagoScotia.NombreArchivo
RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});")
UpModalDescarga.Update()
Else
Alert($"Errores detectados <br>{objPagoScotia.LayouErrorStr.ToString}", TipoMensaje.MsgAdvertencia)
ErrorCuentas = True
End If
End Using
Dim objBancos As New ClsBancos
objBancos.IniciaTransacSQL()
Dim NombreArchivoAltas = $"altacuentasScotia_{NowADS():ddMMyyyy}_001.txt"
Dim CveLayoutEnvio As Integer = objBancos.AddLayoutEnvios(NombreArchivoAltas, ClsPaginas.NowADS(), DdlCuenta.SelectedValue.ToEntero, PorGrupos:=True, GenSecuencia:=True, AltaCuenta:=True)
Dim Secuencia As Integer = objBancos.SecuenciaLayout
If CveLayoutEnvio > 0 AndAlso Secuencia > 0 Then
Using objPagoScotia As New ClsPagoScotia
If objPagoScotia.AltaCuentasScotia(DTPendientes.FiltraParametros($" EstatusPagoElectronicoScotia = False Or FechaEliminacion < #{fechaHoy}#"), UsuarioActual, Secuencia:=Secuencia) Then
DVDescargaPagos.Visible = False
DVDescargaReporte.Visible = False
LblCuentas.Text = "Cuentas Bajio"
DVDescargaCuentas1.Visible = True
LnkDescargaCuentas1.Text = objPagoScotia.NombreArchivo
RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});")
UpModalDescarga.Update()
Else
Alert($"Errores detectados <br>{objPagoScotia.LayouErrorStr.ToString}", TipoMensaje.MsgAdvertencia)
ErrorCuentas = True
End If
End Using
End If
If Not ErrorCuentas Then
objBancos.Commit()
Else
objBancos.RollBack()
Alert("Se presento un error al gennerar el layout.")
End If
objBancos.Dispose()
'AltaCuentasScotia(DTPendientes.FiltraParametros($" EstatusPagoElectronicoScotia = False Or FechaEliminacion < #{fechaHoy}#"))
@@ -1130,30 +1158,68 @@ Partial Class Bancos_PagoElectronico
DTPendientes.FiltraParametros("EstatusPagoElectronicoScotia = 'True' AND EstatusCtaDeposito = 'True'").Rows.Count > 0 Then
Dim errorScotia As Boolean = False
Using objScotia As New ClsPagoScotia
If objScotia.GeneraPagoScotiaBank(DTPendientes.FiltraParametros("EstatusPagoElectronicoScotia = 'True' AND EstatusCtaDeposito = 'True'"), True, CveCuenta, UsuarioActual) Then
Dim NombreArchivoPagos = $"pagos_{ClsPaginas.NowADS.ToString("ddMMyyyy")}_001.txt"
If objScotia.ErrorLayout = False And objScotia.TotalPagos > 0 Then
Dim ObjBancos As New ClsBancos
ObjBancos.IniciaTransacSQL()
DVDescargaPagos.Visible = True
DVDescargaCuentas1.Visible = False
DVDescargaReporte.Visible = True
DT_PagosReporte = DTPendientes.Copy
LnkDescarga.Text = objScotia.NombreArchivo
RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});")
UpModalDescarga.Update()
Dim CveLayoutEnvio As Integer = ObjBancos.AddLayoutEnvios(NombreArchivoPagos, ClsPaginas.NowADS(), CveCuenta, PorGrupos:=False, GenSecuencia:=True, AltaCuenta:=False)
Dim SecuenciaLayout As Integer = ObjBancos.SecuenciaLayout
If CveLayoutEnvio > 0 AndAlso SecuenciaLayout > 0 Then
For Each dr As DataRow In DTPendientes.Rows
If dr("CveProveedor").ToString <> "" Or dr("CvePersonal").ToString <> "" Then
If Not ObjBancos.AddLayoutEnviosDetalle(CveLayoutEnvio, dr("CveIE").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, 1, "Observaciones") Then
errorScotia = True
Exit For
End If
End If
Next
Else
errorScotia = True
End If
'Dim objScotiaNombreArchivo As String = ""
If Not errorScotia AndAlso CveLayoutEnvio > 0 AndAlso SecuenciaLayout > 0 Then
Using objScotia As New ClsPagoScotia
If objScotia.GeneraPagoScotiaBank(DTPendientes.FiltraParametros("EstatusPagoElectronicoScotia = 'True' AND EstatusCtaDeposito = 'True'"), True, CveCuenta, UsuarioActual, SecuenciaLayout) Then
If objScotia.ErrorLayout = False And objScotia.TotalPagos > 0 Then
DVDescargaPagos.Visible = True
DVDescargaCuentas1.Visible = False
DVDescargaReporte.Visible = True
DT_PagosReporte = DTPendientes.Copy
LnkDescarga.Text = objScotia.NombreArchivo
RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});")
UpModalDescarga.Update()
Else
Alert($"Errores detectados <br>{objScotia.LayouErrorStr.ToString}", TipoMensaje.MsgAdvertencia)
errorScotia = True
End If
Else
Alert($"Errores detectados <br>{objScotia.LayouErrorStr.ToString}", TipoMensaje.MsgAdvertencia)
errorScotia = True
Alert("Error al generar el pago de ScotiaBank. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
End Using
End If
If Not errorScotia Then
ObjBancos.Commit()
Else
ObjBancos.RollBack()
End If
ObjBancos.Dispose()
Else
errorScotia = True
Alert("Error al generar el pago de ScotiaBank. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
End Using
If Not errorScotia Then
CargaDatos()

View File

@@ -10835,9 +10835,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
else if (DdlCuenta.SelectedItem.Text.ToUpper().Contains("SCOTIA"))
{
DivModalLayoutBancosFecha.Visible = false;
//DivModalLayoutBancosFecha.Visible = false;
Banco = Bancos.ScotiaBank;
PreparaLayoutBancosScotiaBank();
//PreparaLayoutBancosScotiaBank();
}
else
{
@@ -11300,6 +11300,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
string ConvenioPagoElectronicoScotia = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("ConvenioPagoElectronico", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
string ConvenioPagoElectronicoNomina = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("ConvenioPagoElectronicoNomina", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
string NumCuentaOrigen = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("NumCuenta", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
string CLABEOrigen = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("CLABE", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
//CASE WHEN LEN(BC.NumCuenta) > 0 THEN BC.NumCuenta ELSE BC.CLABE END AS CLABEOrigen,
@@ -11307,7 +11308,12 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (!DTResultados.Columns.Contains("ConvenioPagoElectronico"))
{
DTResultados.Columns.Add("ConvenioPagoElectronico", typeof(string));
}
}
if (!DTResultados.Columns.Contains("ConvenioPagoElectronicoNomina"))
{
DTResultados.Columns.Add("ConvenioPagoElectronicoNomina", typeof(string));
}
if (!DTResultados.Columns.Contains("CLABEOrigen"))
{
@@ -11322,7 +11328,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
foreach (DataRow dRow in DTResultados.Rows)
{
dRow["ConvenioPagoElectronico"] = ConvenioPagoElectronicoScotia;
dRow["CLABEOrigen"] = NumCuentaOrigen.Length > 0 ? NumCuentaOrigen : CLABEOrigen; // Si no tiene numero de cuenta, se usa la CLABE
dRow["CLABEOrigen"] = NumCuentaOrigen.Length > 0 ? NumCuentaOrigen : CLABEOrigen; // Si no tiene numero de cuenta, se usa la CLABE4
dRow["ConvenioPagoElectronicoNomina"] = ConvenioPagoElectronicoNomina;
dRow["Observaciones"] = dRow["CveNominaDetalle"].ToString();
}
@@ -11358,22 +11365,58 @@ public partial class Nomina_Nomina2 : ClsPaginas
CvePersonal
*/
ClsBancos ObjBancos = new ClsBancos();
bool errorScotia = false;
ObjBancos.IniciaTransacSQL();
if (objPagoScotia.GeneraPagoScotiaBank(DTResultados, false, DdlCuenta.SelectedValue.ToEntero(), UsuarioActual))
string NombreArchivoPagos = $"pagos_{ClsPaginas.NowADS().ToString("ddMMyyyy")}_001.txt";
int CveLayoutEnvio = ObjBancos.AddLayoutEnvios(NombreArchivoPagos, ClsPaginas.NowADS(), DdlCuenta.SelectedValue.ToEntero(), PorGrupos: false, GenSecuencia: true, AltaCuenta: false);
int SecuenciaLayout = ObjBancos.SecuenciaLayout;
string objPagoScotiaNombreArchivo = "";
string objPagoScotiaLayoutStr = "";
if (CveLayoutEnvio > 0 && SecuenciaLayout > 0)
{
if (objPagoScotia.GeneraPagoScotiaBank(DTResultados, false, DdlCuenta.SelectedValue.ToEntero(), UsuarioActual, Secuencia:SecuenciaLayout,EsNomina:true))
{
objPagoScotiaNombreArchivo = objPagoScotia.NombreArchivo;
objPagoScotiaLayoutStr = objPagoScotia.LayoutStr;
}
else
{
Alert(objPagoScotia.LayouErrorStr, TipoMensaje.MsgAdvertencia);
RegistraScript("$('#ModalLayoutBancos').modal('show');");
}
}
else
{
errorScotia = true;
}
if (!errorScotia)
{
ObjBancos.Commit();
Response.Clear();
Response.Buffer = true;
Response.ContentType = "text/plain";
Response.AddHeader("Content-Disposition", "attachment;filename=" + objPagoScotia.NombreArchivo);
Response.Write(objPagoScotia.LayoutStr);
Response.AddHeader("Content-Disposition", "attachment;filename=" + objPagoScotiaNombreArchivo);
Response.Write(objPagoScotiaLayoutStr);
Response.Flush();
Response.End();
}
else
{
Alert(objPagoScotia.LayouErrorStr, TipoMensaje.MsgAdvertencia);
RegistraScript("$('#ModalLayoutBancos').modal('show');");
ObjBancos.RollBack();
}
ObjBancos.Dispose();
}
}
else{