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 Fecha As DateTime
Public Property LimiteCredito As Double Public Property LimiteCredito As Double
Public Property ConvenioPagoElectronico As String Public Property ConvenioPagoElectronico As String
Public Property ConvenioPagoElectronicoNomina As String
Public Property UsaLayout As Boolean Public Property UsaLayout As Boolean
Public Property UsaLayoutGrupos As Boolean Public Property UsaLayoutGrupos As Boolean
@@ -138,6 +139,7 @@ Public Class ClsBancos
Public Property NumeroSucursal As String Public Property NumeroSucursal As String
#End Region #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" #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 Public Property ComplementoSerieFolio As String
@@ -420,6 +422,7 @@ Public Class ClsBancos
Me.Usuario = Data.Rows(0)("Usuario").ToString Me.Usuario = Data.Rows(0)("Usuario").ToString
Me.LimiteCredito = Data.Rows(0)("LimiteCredito").ToString.ToDouble Me.LimiteCredito = Data.Rows(0)("LimiteCredito").ToString.ToDouble
Me.ConvenioPagoElectronico = Data.Rows(0)("ConvenioPagoElectronico").ToString 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.UsaLayout = If(Data.Rows(0)("UsaLayout").ToString = "True", True, False)
Me.UsaLayoutGrupos = If(Data.Rows(0)("UsaLayoutGrupos").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) 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, 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, 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, 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 Dim Retorno As Boolean = False
DataAdapter("PA_Banc_BancosCuentasAdd") DataAdapter("PA_Banc_BancosCuentasAdd")
@@ -482,6 +485,7 @@ Public Class ClsBancos
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveCuenta", SqlDbType.Int).Direction = ParameterDirection.Output .Add("@CveCuenta", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@ConvenioPagoElectronico", SqlDbType.VarChar).Value = ConvenioPagoElectronico .Add("@ConvenioPagoElectronico", SqlDbType.VarChar).Value = ConvenioPagoElectronico
.Add("@ConvenioPagoElectronicoNomina", SqlDbType.VarChar).Value = ConvenioPagoElectronicoNomina
.Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout .Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout
.Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta .Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta
.Add("@SaldoInicial", SqlDbType.Money).Value = SaldoInicial .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, 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, 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, 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 Dim Retorno As Boolean = False
DataAdapter("PA_Banc_BancosCuentasUpdate") DataAdapter("PA_Banc_BancosCuentasUpdate")
@@ -533,6 +537,7 @@ Public Class ClsBancos
.Add("@Estatus", SqlDbType.Bit).Value = Estatus .Add("@Estatus", SqlDbType.Bit).Value = Estatus
.Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta .Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta
.Add("@ConvenioPagoElectronico", SqlDbType.VarChar).Value = ConvenioPagoElectronico .Add("@ConvenioPagoElectronico", SqlDbType.VarChar).Value = ConvenioPagoElectronico
.Add("@ConvenioPagoElectronicoNomina", SqlDbType.VarChar).Value = ConvenioPagoElectronicoNomina
.Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout .Add("@UsaLayout", SqlDbType.Bit).Value = UsaLayout
.Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta .Add("@UsaTarjeta", SqlDbType.Bit).Value = UsaTarjeta
.Add("@UsaLayoutGrupos", SqlDbType.Bit).Value = UsaLayoutGrupos .Add("@UsaLayoutGrupos", SqlDbType.Bit).Value = UsaLayoutGrupos
@@ -3110,9 +3115,9 @@ Public Class ClsBancos
Return Retorno Return Retorno
End Function 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 Dim Retorno As Integer = -1
SecuenciaLayout = 0
DataAdapter("PA_Banc_LayoutEnviosAdd") DataAdapter("PA_Banc_LayoutEnviosAdd")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
@@ -3121,11 +3126,17 @@ Public Class ClsBancos
.Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta .Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta
.Add("@PorGrupos", SqlDbType.Bit).Value = PorGrupos .Add("@PorGrupos", SqlDbType.Bit).Value = PorGrupos
.Add("@CveLayoutEnvio", SqlDbType.Int).Direction = ParameterDirection.Output .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 End With
Try Try
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)
Retorno = SqlAdapter.SelectCommand.Parameters("@CveLayoutEnvio").Value.ToString.ToEntero Retorno = SqlAdapter.SelectCommand.Parameters("@CveLayoutEnvio").Value.ToString.ToEntero
SecuenciaLayout = SqlAdapter.SelectCommand.Parameters("@Secuencia").Value.ToString.ToEntero
Catch ex As Exception Catch ex As Exception
OnError("Ocurrió un error al agregar el LayoutEnvio", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) OnError("Ocurrió un error al agregar el LayoutEnvio", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try End Try

View File

@@ -32,7 +32,7 @@ Public Class ClsPagoScotia
Public Property TotalPagos As Integer = 0 Public Property TotalPagos As Integer = 0
Public Property NombreArchivo As String = "" 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(); 'ConvenioPagoElectronico = get_GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa: UsuarioActual.CveEmpresa).FiltroPrimeroValor("ConvenioPagoElectronico", $" CveCuenta = {DdlCuenta.SelectedValue}").ToString();
Dim TamanoBloque As Integer = 5000 ' pagos por bloque Dim TamanoBloque As Integer = 5000 ' pagos por bloque
@@ -57,6 +57,10 @@ Public Class ClsPagoScotia
End If End If
Dim NumeroConvenio As String = DTPendientes.Rows(0)("ConvenioPagoElectronico").ToString 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 If NumeroConvenio.Trim.Length = 0 Then
LayouErrorStr = "El campo NumeroConvenio (ConvenioPagoElectronico) no está definido en los datos de la cuenta." LayouErrorStr = "El campo NumeroConvenio (ConvenioPagoElectronico) no está definido en los datos de la cuenta."
ErrorLayout = True ErrorLayout = True
@@ -85,9 +89,9 @@ Public Class ClsPagoScotia
Dim ha As New StringBuilder() Dim ha As New StringBuilder()
ha.Append("EE") ' 1‑2 Tipo Archivo ha.Append("EE") ' 1‑2 Tipo Archivo
ha.Append("HA") ' 3‑4 Tipo Registro ha.Append("HA") ' 3‑4 Tipo Registro
ha.Append(NumeroConvenio.PadLeft(5, "0"c)) ' 5‑9 Nº Convenio ha.Append(NumeroConvenio.PadLeft(5, CERO)) ' 5‑9 Nº Convenio
ha.Append("01") ' 10‑11 Secuencia fija "01" ha.Append(Secuencia.ToString.PadLeft(2, CERO)) ' 10‑11 Secuencia fija "01"
ha.Append("00000000") ' 12‑19 Fecha generación ha.Append("00000000") ' 12‑19 Fecha generación
ha.Append("00000000") ' 20‑27 Fecha inicial (opcional) ha.Append("00000000") ' 20‑27 Fecha inicial (opcional)
ha.Append("00000000") ' 28‑35 Fecha final (opcional) ha.Append("00000000") ' 28‑35 Fecha final (opcional)
ha.Append("000") ' 36‑38 Código status "000" ha.Append("000") ' 36‑38 Código status "000"
@@ -331,35 +335,35 @@ Public Class ClsPagoScotia
NombreArchivo = $"pagos_{ClsPaginas.NowADS.ToString("ddMMyyyy")}_001.txt" NombreArchivo = $"pagos_{ClsPaginas.NowADS.ToString("ddMMyyyy")}_001.txt"
'"pagos_03062025_001.txt" '"pagos_03062025_001.txt"
If InsertaEnDB Then 'If InsertaEnDB Then
Dim ObjBancos As New ClsBancos ' Dim ObjBancos As New ClsBancos
ObjBancos.IniciaTransacSQL() ' 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 ' If CveLayoutEnvio > 0 Then
For Each dr As DataRow In DTPendientes.Rows ' For Each dr As DataRow In DTPendientes.Rows
If dr("CveProveedor").ToString <> "" Or dr("CvePersonal").ToString <> "" Then ' 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 ' If Not ObjBancos.AddLayoutEnviosDetalle(CveLayoutEnvio, dr("CveIE").ToString.ToEntero, dr("CveProveedor").ToString.ToEntero, dr("CvePersonal").ToString.ToEntero, 1, "Observaciones") Then
ErrorLayout = True ' ErrorLayout = True
Exit For ' Exit For
End If ' End If
End If ' End If
Next ' Next
Else ' Else
ErrorLayout = True ' ErrorLayout = True
End If ' End If
If ErrorLayout Then ' If ErrorLayout Then
ObjBancos.RollBack() ' ObjBancos.RollBack()
ObjBancos.Dispose() ' ObjBancos.Dispose()
Else ' Else
ObjBancos.Commit() ' ObjBancos.Commit()
ObjBancos.Dispose() ' ObjBancos.Dispose()
End If ' End If
End If 'End If
Dim path As String = String.Format("{0}Layout\{1}", UsuarioActual.Empresa.Ruta, NombreArchivo) Dim path As String = String.Format("{0}Layout\{1}", UsuarioActual.Empresa.Ruta, NombreArchivo)
Dim pathDirectorio As String = String.Format("{0}Layout\", UsuarioActual.Empresa.Ruta) 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 Optional MovimientoDefault As Char = "P"c ' P =pago, cambia si usas A/C/B
) As Boolean ) As Boolean
Dim objBanco As New ClsBancos 'Dim objBanco As New ClsBancos
objBanco.IniciaTransacSQL()
ErrorLayout = False ErrorLayout = False
LayoutStr = "" LayoutStr = ""
@@ -473,6 +477,9 @@ Public Class ClsPagoScotia
ErrorLayout = True ErrorLayout = True
End If End If
Dim sb As New StringBuilder Dim sb As New StringBuilder
'============================================================= '=============================================================
@@ -482,17 +489,17 @@ Public Class ClsPagoScotia
'Dim hora As String = Now.ToString("HHmmss") 'Dim hora As String = Now.ToString("HHmmss")
Dim Header As New StringBuilder() Dim Header As New StringBuilder()
Header.Append(TipoArchivo.PadRight(2, Space)) 'TIPO ARCHIVO (2) Header.Append(TipoArchivo.PadRight(2, Space)) 'TIPO ARCHIVO (2)
Header.Append("HA") 'TIPO REGISTRO (2) Header.Append("HA") 'TIPO REGISTRO (2)
Header.Append("JDF") 'SISTEMA-CENTRAL (3) 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(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(ClsPaginas.NowADS.ToString("yyyyMMdd")) 'FECHA-SOLICITUD (8)
Header.Append("001") 'SECUENCIA (3) Header.Append(Secuencia.ToString().PadLeft(3, Cero)) 'SECUENCIA (3)
Header.Append("M") 'MANTENIMIENTO-O-CONSULTA (1) Header.Append("M") 'MANTENIMIENTO-O-CONSULTA (1)
Header.Append(" ".PadLeft(8, Space)) 'FECHA GENERACIÓN ARCHIVO (8) *** Respusta de ScotiaBank *** 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(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(3, Space)) 'CÓDIGO-RESPUESTA (3) *** Respusta de ScotiaBank ***
Header.Append(" ".PadLeft(97, Space)) 'FILLER (97) Header.Append(" ".PadLeft(97, Space)) 'FILLER (97)
sb.AppendLine(Header.ToString) sb.AppendLine(Header.ToString)
@@ -646,39 +653,8 @@ Public Class ClsPagoScotia
LayoutStr = sb.ToString() LayoutStr = sb.ToString()
If Not ErrorLayout Then
objBanco.Commit()
Else
objBanco.RollBack()
End If
Return If(ErrorLayout, False, True) 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 End Function

View File

@@ -113,6 +113,11 @@
<td> <td>
<asp:TextBox ID="TxtConvenio" runat="server" MaxLength="18" Width="200px"></asp:TextBox></td> <asp:TextBox ID="TxtConvenio" runat="server" MaxLength="18" Width="200px"></asp:TextBox></td>
</tr> </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"> <tr runat="server" id="trFinicial">
<td> <td>
<asp:Literal runat="server" ID="LtFInicial" Text="Folio Inicial:"></asp:Literal> <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 LblFecha.Text = ObjCuentasBancariasDetalle.Fecha.ToShortDateString
LblUsuario.Text = ObjCuentasBancariasDetalle.Usuario LblUsuario.Text = ObjCuentasBancariasDetalle.Usuario
TxtConvenio.Text = ObjCuentasBancariasDetalle.ConvenioPagoElectronico.ToString TxtConvenio.Text = ObjCuentasBancariasDetalle.ConvenioPagoElectronico.ToString
TxtConvenioNomina.Text = ObjCuentasBancariasDetalle.ConvenioPagoElectronicoNomina
ChkLayout.Checked = ObjCuentasBancariasDetalle.UsaLayout ChkLayout.Checked = ObjCuentasBancariasDetalle.UsaLayout
ChkLayoutGrupos.Checked = ObjCuentasBancariasDetalle.UsaLayoutGrupos ChkLayoutGrupos.Checked = ObjCuentasBancariasDetalle.UsaLayoutGrupos
ChkUsaTarjeta.Checked = ObjCuentasBancariasDetalle.UsaTarjeta 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, 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, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, If(ChkLayout.Checked, TxtConvenio.Text, ""), ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked,
TieneTerminal:=ChkTieneTerminal.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 ViewState("CveCuenta") = ObjCuentasBancariasDetalle.TCveCuenta
Else Else
ErrorUsuarios = True 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, 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, TxtLimiteCredito.Text.Trim.ToDouble, "", ChkEstatus.Checked, CveCuenta, TxtConvenio.Text,
ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked, TieneTerminal:=ChkTieneTerminal.Checked, 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() 'CargaDatos()
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
GlobalDTBancosCuentasGral(UsuarioActual.CveEmpresa) = Nothing GlobalDTBancosCuentasGral(UsuarioActual.CveEmpresa) = Nothing
@@ -688,8 +691,10 @@ Partial Class Bancos_CuentasBancariasDetalle
Private Sub InicializaConvenio() Private Sub InicializaConvenio()
If ChkLayout.Checked Then If ChkLayout.Checked Then
TrConvenio.Visible = True TrConvenio.Visible = True
TrConvenioNomina.Visible = True
Else Else
TrConvenio.Visible = False TrConvenio.Visible = False
TrConvenioNomina.Visible = False
End If End If
End Sub End Sub
Protected Sub ChkLayout_CheckedChanged(sender As Object, e As EventArgs) 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.Entity
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports System.IO Imports System.IO
Imports System.Runtime.ConstrainedExecution
Imports System.Runtime.Remoting Imports System.Runtime.Remoting
Imports AjaxControlToolkit.AsyncFileUpload.Constants Imports AjaxControlToolkit.AsyncFileUpload.Constants
Imports Extensiones Imports Extensiones
@@ -656,9 +657,11 @@ Partial Class Bancos_PagoElectronico
End If End If
End Sub End Sub
Protected Sub LBRegenerar_Click(sender As Object, e As EventArgs) Protected Sub LBRegenerar_Click(sender As Object, e As EventArgs)
Dim CveBLE As Integer = CType(sender, LinkButton).CommandArgument.ToEntero Dim CveBLE As Integer = CType(sender, LinkButton).CommandArgument.ToEntero
Dim DtRegenerar As New DataTable Dim DtRegenerar As New DataTable
Dim ObjBancos As New ClsBancos Dim ObjBancos As New ClsBancos
If ObjBancos.GetLayoutPagos(CveCuenta, CveBLE, "-1") Then If ObjBancos.GetLayoutPagos(CveCuenta, CveBLE, "-1") Then
DtRegenerar = ObjBancos.DtResultados DtRegenerar = ObjBancos.DtResultados
@@ -676,11 +679,16 @@ Partial Class Bancos_PagoElectronico
End If End If
If OpBancos = 3 Then If OpBancos = 3 Then
If DtRegenerar IsNot Nothing 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 Dim ErrorScotia As Boolean = False
Using objScotia As New ClsPagoScotia 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 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 fechaHoy As String = DateTime.Today.ToString("MM/dd/yyyy")
Dim ErrorCuentas As Boolean = False 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 Dim objBancos As New ClsBancos
DVDescargaReporte.Visible = False objBancos.IniciaTransacSQL()
LblCuentas.Text = "Cuentas Bajio"
DVDescargaCuentas1.Visible = True Dim NombreArchivoAltas = $"altacuentasScotia_{NowADS():ddMMyyyy}_001.txt"
LnkDescargaCuentas1.Text = objPagoScotia.NombreArchivo Dim CveLayoutEnvio As Integer = objBancos.AddLayoutEnvios(NombreArchivoAltas, ClsPaginas.NowADS(), DdlCuenta.SelectedValue.ToEntero, PorGrupos:=True, GenSecuencia:=True, AltaCuenta:=True)
RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});") Dim Secuencia As Integer = objBancos.SecuenciaLayout
UpModalDescarga.Update()
Else If CveLayoutEnvio > 0 AndAlso Secuencia > 0 Then
Alert($"Errores detectados <br>{objPagoScotia.LayouErrorStr.ToString}", TipoMensaje.MsgAdvertencia) Using objPagoScotia As New ClsPagoScotia
ErrorCuentas = True If objPagoScotia.AltaCuentasScotia(DTPendientes.FiltraParametros($" EstatusPagoElectronicoScotia = False Or FechaEliminacion < #{fechaHoy}#"), UsuarioActual, Secuencia:=Secuencia) Then
End If
End Using 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}#")) '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 DTPendientes.FiltraParametros("EstatusPagoElectronicoScotia = 'True' AND EstatusCtaDeposito = 'True'").Rows.Count > 0 Then
Dim errorScotia As Boolean = False 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 Dim CveLayoutEnvio As Integer = ObjBancos.AddLayoutEnvios(NombreArchivoPagos, ClsPaginas.NowADS(), CveCuenta, PorGrupos:=False, GenSecuencia:=True, AltaCuenta:=False)
DVDescargaCuentas1.Visible = False Dim SecuenciaLayout As Integer = ObjBancos.SecuenciaLayout
DVDescargaReporte.Visible = True
DT_PagosReporte = DTPendientes.Copy If CveLayoutEnvio > 0 AndAlso SecuenciaLayout > 0 Then
LnkDescarga.Text = objScotia.NombreArchivo For Each dr As DataRow In DTPendientes.Rows
RegistraScript("$('#ModalDescarga').modal({ backdrop: 'static', keyboard: false});") If dr("CveProveedor").ToString <> "" Or dr("CvePersonal").ToString <> "" Then
UpModalDescarga.Update() 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 Else
Alert($"Errores detectados <br>{objScotia.LayouErrorStr.ToString}", TipoMensaje.MsgAdvertencia)
errorScotia = True errorScotia = True
Alert("Error al generar el pago de ScotiaBank. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If 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 If Not errorScotia Then
CargaDatos() CargaDatos()

View File

@@ -10835,9 +10835,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
} }
else if (DdlCuenta.SelectedItem.Text.ToUpper().Contains("SCOTIA")) else if (DdlCuenta.SelectedItem.Text.ToUpper().Contains("SCOTIA"))
{ {
DivModalLayoutBancosFecha.Visible = false; //DivModalLayoutBancosFecha.Visible = false;
Banco = Bancos.ScotiaBank; Banco = Bancos.ScotiaBank;
PreparaLayoutBancosScotiaBank(); //PreparaLayoutBancosScotiaBank();
} }
else 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 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 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(); 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, //CASE WHEN LEN(BC.NumCuenta) > 0 THEN BC.NumCuenta ELSE BC.CLABE END AS CLABEOrigen,
@@ -11309,6 +11310,11 @@ public partial class Nomina_Nomina2 : ClsPaginas
DTResultados.Columns.Add("ConvenioPagoElectronico", typeof(string)); DTResultados.Columns.Add("ConvenioPagoElectronico", typeof(string));
} }
if (!DTResultados.Columns.Contains("ConvenioPagoElectronicoNomina"))
{
DTResultados.Columns.Add("ConvenioPagoElectronicoNomina", typeof(string));
}
if (!DTResultados.Columns.Contains("CLABEOrigen")) if (!DTResultados.Columns.Contains("CLABEOrigen"))
{ {
DTResultados.Columns.Add("CLABEOrigen", typeof(string)); DTResultados.Columns.Add("CLABEOrigen", typeof(string));
@@ -11322,7 +11328,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
foreach (DataRow dRow in DTResultados.Rows) foreach (DataRow dRow in DTResultados.Rows)
{ {
dRow["ConvenioPagoElectronico"] = ConvenioPagoElectronicoScotia; 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(); dRow["Observaciones"] = dRow["CveNominaDetalle"].ToString();
} }
@@ -11358,22 +11365,58 @@ public partial class Nomina_Nomina2 : ClsPaginas
CvePersonal 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.Clear();
Response.Buffer = true; Response.Buffer = true;
Response.ContentType = "text/plain"; Response.ContentType = "text/plain";
Response.AddHeader("Content-Disposition", "attachment;filename=" + objPagoScotia.NombreArchivo); Response.AddHeader("Content-Disposition", "attachment;filename=" + objPagoScotiaNombreArchivo);
Response.Write(objPagoScotia.LayoutStr); Response.Write(objPagoScotiaLayoutStr);
Response.Flush(); Response.Flush();
Response.End(); Response.End();
} }
else else
{ {
Alert(objPagoScotia.LayouErrorStr, TipoMensaje.MsgAdvertencia); ObjBancos.RollBack();
RegistraScript("$('#ModalLayoutBancos').modal('show');");
} }
ObjBancos.Dispose();
} }
} }
else{ else{