diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb
index 8882bb2d9..bd46e3ba4 100644
--- a/App_Code/ClsBancos.vb
+++ b/App_Code/ClsBancos.vb
@@ -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
diff --git a/App_Code/ClsPagoScotia.vb b/App_Code/ClsPagoScotia.vb
index 377f7f3b4..e67737b7f 100644
--- a/App_Code/ClsPagoScotia.vb
+++ b/App_Code/ClsPagoScotia.vb
@@ -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:
" & 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
diff --git a/Bancos/CuentasBancariasDetalle.aspx b/Bancos/CuentasBancariasDetalle.aspx
index 3dfb2c2d0..15cccd443 100644
--- a/Bancos/CuentasBancariasDetalle.aspx
+++ b/Bancos/CuentasBancariasDetalle.aspx
@@ -113,6 +113,11 @@