diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index 60e55b897..b47b3d317 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -1496,6 +1496,34 @@ Public Class ClsGenerales Return Retorno End Function + Public Function UpdateCuentasDepositosEstatusPagoElectronicoGrupos(CveCuentaDeposito As Integer, EstatusPagoElectronicoGrupos As Boolean) As Boolean + + Dim Retorno As Boolean = False + + DataAdapter("PA_Gral_CuentasDepositosUpdateEstatusPagoElectronicoGrupos") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCuentaDeposito", SqlDbType.VarChar).Value = CveCuentaDeposito + .Add("@EstatusPagoElectronicoGrupos", SqlDbType.Bit).Value = EstatusPagoElectronicoGrupos + End With + + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + If Ex1.Message.Contains("Número: 2627;") Then + Alert("Ya existe un registro con el mismo nombre", TipoMensaje.MsgAdvertencia) + Else + Me.OnError("Ocurrió un error al guardar los cambios", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + Catch ex As Exception + OnError("Ocurrió un error al guardar los cambios.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + #End Region #Region "T I P O - C A M B I O" diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index 4bc6ba35a..4541aa752 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -1817,7 +1817,7 @@ Public Class ClsInventarios CveAlmacen As Integer, Optional CveSeccionAlmacen As Integer = -1, Optional CveTipoAlmacen As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional FechaMovto As String = "-1", Optional SerieLote As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1, Optional ExcluyeAdelantado As Integer = -1, Optional PendientePorSurtir As Integer = -1, Optional Lote As String = "-1", Optional Batch As String = "-1", - Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1) As Boolean + Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1, Optional Caducidad As Date = MinFecha) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Inv_ExistenciasGet") @@ -1839,6 +1839,7 @@ Public Class ClsInventarios .Add("@PendientePorSurtir", SqlDbType.Int).Value = PendientePorSurtir .Add("@ExcluyeApartados", SqlDbType.Int).Value = ExcluyeApartados .Add("@RestringirAlmacenes", SqlDbType.Int).Value = RestringirAlmacenes + .Add("@Caducidad", SqlDbType.Date).Value = Caducidad .Add("@Existencia", SqlDbType.Money).Direction = ParameterDirection.Output End With Try @@ -4922,6 +4923,28 @@ Public Class ClsInventarios Return Retorno End Function + +#Region "SUGERENCIAS SALIDA DE ALMACEN" + + Public Function GetSugerenciasSalidaAlmacen(CveVenta As Integer, CveAlmacen As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Inv_SugerenciasSalidasGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveVenta", SqlDbType.Int).Value = CveVenta + .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener las sugerencias para la salida de almacen.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + +#End Region + #Region " IDisposable Support " ' IDisposable Protected Overridable Sub Dispose(ByVal disposing As Boolean) diff --git a/Bancos/PagoElectronicoGrupos.aspx b/Bancos/PagoElectronicoGrupos.aspx index 521e5853c..e8c9384e9 100644 --- a/Bancos/PagoElectronicoGrupos.aspx +++ b/Bancos/PagoElectronicoGrupos.aspx @@ -166,7 +166,7 @@ -
+ <%--
@@ -216,7 +216,7 @@
-
+
--%> diff --git a/Bancos/PagoElectronicoGrupos.aspx.vb b/Bancos/PagoElectronicoGrupos.aspx.vb index 0e89dec64..40f10f8f6 100644 --- a/Bancos/PagoElectronicoGrupos.aspx.vb +++ b/Bancos/PagoElectronicoGrupos.aspx.vb @@ -374,24 +374,25 @@ Partial Class Bancos_PagoElectronicoGrupos fs.Close() Return True - End Function - Private Function GuardaTXT() As Boolean - Dim Retorno = True - Try - Dim Ruta = "" - Dim FileName As String = Path.GetFileName(FUTxt.PostedFile.FileName) - NombreArchivo = FileName - Dim Extension As String = Path.GetExtension(FUTxt.PostedFile.FileName) - Dim FolderPath As String = String.Format("{0}Empresas\", Request.ApplicationPath) - Dim FilePath As String = Server.MapPath(FolderPath + FileName) - FUTxt.SaveAs(FilePath) - NombreArchivo = FilePath - Catch ex As Exception - Retorno = False - End Try - - Return Retorno End Function + + 'Private Function GuardaTXT() As Boolean + ' Dim Retorno = True + ' Try + ' Dim Ruta = "" + ' Dim FileName As String = Path.GetFileName(FUTxt.PostedFile.FileName) + ' NombreArchivo = FileName + ' Dim Extension As String = Path.GetExtension(FUTxt.PostedFile.FileName) + ' Dim FolderPath As String = String.Format("{0}Empresas\", Request.ApplicationPath) + ' Dim FilePath As String = Server.MapPath(FolderPath + FileName) + ' FUTxt.SaveAs(FilePath) + ' NombreArchivo = FilePath + ' Catch ex As Exception + ' Retorno = False + ' End Try + + ' Return Retorno + 'End Function #End Region #Region " TAB PRINCIPAL " @@ -544,9 +545,11 @@ Partial Class Bancos_PagoElectronicoGrupos DtCuentasPendientesTemp.CaseSensitive = False - Dim DtCuentasPendientesBancomer As DataTable = DtCuentasPendientesTemp.FiltraParametros($" (EstatusPagoElectronicoGrupos IS NULL OR EstatusPagoElectronicoGrupos = False) AND (BancoNombre like '%BBVA%' OR BancoNombre like '%BANCOMER%' ) ", "", {"BancoNombre", "CLABEDestino", "Abreviatura", "RazonSocial", "CveProveedor", "CveBanco", "Cuenta", "BBVAAlias"}) - Dim DtCuentasPendientesInterbancarias As DataTable = DtCuentasPendientesTemp.FiltraParametros($" (EstatusPagoElectronicoGrupos IS NULL OR EstatusPagoElectronicoGrupos = False) AND (BancoNombre not like '%BBVA%' AND BancoNombre not like '%BANCOMER%' ) ", "", {"BancoNombre", "CLABEDestino", "Abreviatura", "RazonSocial", "CveProveedor", "CveBanco", "Cuenta", "BBVAAlias"}) - 'CLABEDestino + Dim DtCuentasPendientesBancomer As DataTable = DtCuentasPendientesTemp.FiltraParametros($" (EstatusPagoElectronicoGrupos IS NULL OR EstatusPagoElectronicoGrupos = False) AND (BancoNombre like '%BBVA%' OR BancoNombre like '%BANCOMER%' ) ", "", {"CveCuentaDeposito", "BancoNombre", "CLABEDestino", "Abreviatura", "RazonSocial", "CveProveedor", "CveBanco", "Cuenta", "BBVAAlias"}) + Dim DtCuentasPendientesInterbancarias As DataTable = DtCuentasPendientesTemp.FiltraParametros($" (EstatusPagoElectronicoGrupos IS NULL OR EstatusPagoElectronicoGrupos = False) AND (BancoNombre not like '%BBVA%' AND BancoNombre not like '%BANCOMER%' ) ", "", {"CveCuentaDeposito", "BancoNombre", "CLABEDestino", "Abreviatura", "RazonSocial", "CveProveedor", "CveBanco", "Cuenta", "BBVAAlias"}) + + + Dim ObjGrales As New ClsGenerales If DtCuentasPendientesBancomer.Rows.Count > 0 Then For Each dRow As DataRow In DtCuentasPendientesBancomer.Rows @@ -591,6 +594,7 @@ Partial Class Bancos_PagoElectronicoGrupos If Not ErrorLineaBancomer Then RegistrosAltaBancomer.Append(SBTmpBancomer.ToString) + ObjGrales.UpdateCuentasDepositosEstatusPagoElectronicoGrupos(dRow("CveCuentaDeposito").ToString.ToEntero, True) Else SBErroresBancomer.Append("
") SBErrores.AppendLine(SBErroresBancomer.ToString) @@ -667,6 +671,7 @@ Partial Class Bancos_PagoElectronicoGrupos If Not ErrorLineaInterbancaria Then RegistrosAltaInterbancario.Append(SBTmpInterbancarias.ToString) + ObjGrales.UpdateCuentasDepositosEstatusPagoElectronicoGrupos(dRow("CveCuentaDeposito").ToString.ToEntero, True) Else SBErroresInterBancario.Append("
") SBErrores.AppendLine(SBErroresInterBancario.ToString) @@ -683,6 +688,7 @@ Partial Class Bancos_PagoElectronicoGrupos End If + ObjGrales.Dispose() Dim Mensaje As New StringBuilder @@ -711,6 +717,7 @@ Partial Class Bancos_PagoElectronicoGrupos End If + CargaDatos() End Sub @@ -1327,240 +1334,240 @@ Partial Class Bancos_PagoElectronicoGrupos DtAlta.Columns.Add("MensajeAdicional", GetType(String)) DtAlta.Columns.Add("Moneda", GetType(String)) - 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 + + + '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" @@ -1580,315 +1587,315 @@ Partial Class Bancos_PagoElectronicoGrupos DtPago.Columns.Add("FechaOperacion", GetType(String)) - 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 + + + '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 @@ -1921,10 +1928,15 @@ Partial Class Bancos_PagoElectronicoGrupos DtCuentasPendientesTemp.CaseSensitive = False - Dim DtCuentasPendientesBancomer As DataTable = DtCuentasPendientesTemp.FiltraParametros($" (EstatusPagoElectronicoGrupos IS NULL OR EstatusPagoElectronicoGrupos = False) AND (BancoNombre like '%BBVA%' OR BancoNombre like '%BANCOMER%' ) ", "", {"BancoNombre", "CLABEDestino", "Abreviatura", "RazonSocial", "CvePersonal", "CveBanco", "Cuenta", "BBVAAlias"}) - Dim DtCuentasPendientesInterbancarias As DataTable = DtCuentasPendientesTemp.FiltraParametros($" (EstatusPagoElectronicoGrupos IS NULL OR EstatusPagoElectronicoGrupos = False) AND (BancoNombre not like '%BBVA%' AND BancoNombre not like '%BANCOMER%' ) ", "", {"BancoNombre", "CLABEDestino", "Abreviatura", "RazonSocial", "CvePersonal", "CveBanco", "Cuenta", "BBVAAlias"}) + + + + Dim DtCuentasPendientesBancomer As DataTable = DtCuentasPendientesTemp.FiltraParametros($" (EstatusPagoElectronicoGrupos IS NULL OR EstatusPagoElectronicoGrupos = False) AND (BancoNombre like '%BBVA%' OR BancoNombre like '%BANCOMER%' ) ", "", {"CveCuentaDeposito", "BancoNombre", "CLABEDestino", "Abreviatura", "RazonSocial", "CvePersonal", "CveBanco", "Cuenta", "BBVAAlias"}) + Dim DtCuentasPendientesInterbancarias As DataTable = DtCuentasPendientesTemp.FiltraParametros($" (EstatusPagoElectronicoGrupos IS NULL OR EstatusPagoElectronicoGrupos = False) AND (BancoNombre not like '%BBVA%' AND BancoNombre not like '%BANCOMER%' ) ", "", {"CveCuentaDeposito", "BancoNombre", "CLABEDestino", "Abreviatura", "RazonSocial", "CvePersonal", "CveBanco", "Cuenta", "BBVAAlias"}) 'CLABEDestino + Dim ObjGrales As New ClsGenerales + If DtCuentasPendientesBancomer.Rows.Count > 0 Then For Each dRow As DataRow In DtCuentasPendientesBancomer.Rows @@ -1974,6 +1986,7 @@ Partial Class Bancos_PagoElectronicoGrupos If Not ErrorLineaBancomer Then RegistrosAltaBancomer.Append(SBTmpBancomer.ToString) + ObjGrales.UpdateCuentasDepositosEstatusPagoElectronicoGrupos(dRow("CveCuentaDeposito").ToString.ToEntero, True) Else SBErroresBancomer.Append("
    ") SBErrores.AppendLine(SBErroresBancomer.ToString) @@ -2057,6 +2070,7 @@ Partial Class Bancos_PagoElectronicoGrupos If Not ErrorLineaInterbancaria Then RegistrosAltaInterbancario.Append(SBTmpInterbancarias.ToString) + ObjGrales.UpdateCuentasDepositosEstatusPagoElectronicoGrupos(dRow("CveCuentaDeposito").ToString.ToEntero, True) Else SBErroresInterBancario.Append("
    ") SBErrores.AppendLine(SBErroresInterBancario.ToString) @@ -2073,6 +2087,7 @@ Partial Class Bancos_PagoElectronicoGrupos End If + ObjGrales.Dispose() Dim Mensaje As New StringBuilder @@ -2100,238 +2115,238 @@ Partial Class Bancos_PagoElectronicoGrupos Alert(Mensaje.ToString, TipoMensaje.MsgInformacion) End If - + CargaDatos() End Sub - Private Sub CargaFyE() - Dim ObjBancos As New ClsBancos - - If ObjBancos.GetLayoutFyE(DdlCuenta.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, PorGrupos:=True) Then - DTFyE = ObjBancos.DtResultados.FiltraParametros("LEN(RFC) IN (13)") - Else - DTFyE = Nothing - End If - ObjBancos.Dispose() - - If DTFyE.Rows.Count > 0 Then - GvProveedores.DataSource = DTFyE - End If - GvProveedores.DataBind() - - 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:", 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 + Private Sub CargaFyE() + Dim ObjBancos As New ClsBancos + + If ObjBancos.GetLayoutFyE(DdlCuenta.SelectedValue.ToEntero, UsuarioActual.CveEmpresa, PorGrupos:=True) Then + DTFyE = ObjBancos.DtResultados.FiltraParametros("LEN(RFC) IN (13)") + Else + DTFyE = Nothing + End If + ObjBancos.Dispose() + + If DTFyE.Rows.Count > 0 Then + GvProveedores.DataSource = DTFyE + End If + GvProveedores.DataBind() + + 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:", 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 diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 2609cc2f7..8cf504255 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -1207,6 +1207,9 @@ Partial Class PopUpVerFactura CveMovimientoRelacionado = ObjInventarios.DtResultados.Rows(0)("CveMtoRel").ToString().ToEntero() End If + Dim CantidadProductos As Decimal = 0 + Dim CantidadUsados As Decimal = 0 + If CveConcepto = 3 Or CveConcepto = 18 Or CveConcepto = 30 Or CveConcepto = 34 Or CveConcepto = 35 Or CveConcepto = 16 Or CveConcepto = 7 Then 'SALIDA Y DEVOLUCION DEL CLIENTE If ObjInventarios.GetMovimientosDetalleImpresion(CveMovimiento, UsuarioActual.CveEmpresa) Then DtMovimientos = ObjInventarios.DtResultados @@ -1221,7 +1224,7 @@ Partial Class PopUpVerFactura Else If ObjInventarios.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then DtMovimientos = ObjInventarios.DtResultados.Copy() - + CantidadProductos = DtMovimientos.SUM("Cantidad").ToDecimal() If UsuarioActual.CveEmpresa = 140 AndAlso CveMovimientoRelacionado > 0 Then If ObjInventarios.GetMovimientos(CveMovimientoRelacionado, -1, -1, UsuarioActual.CveEmpresa) Then Dim CveAlmacenRelacionado As Integer = ObjInventarios.CveAlmacen @@ -1231,6 +1234,7 @@ Partial Class PopUpVerFactura If CveTipoAlmacenRelacionado = 24 Then If ObjInventarios.GetMovimientosDetalle(CveMovimientoRelacionado, UsuarioActual.CveEmpresa) Then Dim DtUsados As DataTable = ObjInventarios.DtResultados.Copy() + CantidadUsados = DtUsados.SUM("Cantidad").ToDecimal() Dim IndexInicialUsados As Integer = DtMovimientos.Rows.Count + 1 For Each Dr As DataRow In DtUsados.Rows @@ -1268,7 +1272,8 @@ Partial Class PopUpVerFactura Remision, Proveedor, CalleOrigen, NoExtOrigen, ColoniaOrigen, LocalidadOrigen, MunicipioOrigen, EstadoOrigen, PaisOrigen, CPOrigen, CalleDestino, NoExtDestino, ColoniaDestino, LocalidadDestino, MunicipioDestino, EstadoDestino, PaisDestino, CPDestino, FechaMovimiento, NombreCapturo, PuestoRecibio, - PuestoEnrego, RazonSocial, ResponsableCarga, ResponsableRecibio, NombreCliente) + PuestoEnrego, RazonSocial, ResponsableCarga, ResponsableRecibio, NombreCliente, + CantidadProductos:=CantidadProductos, CantidadUsados:=CantidadUsados) End Sub Private Sub PUanacExtr(CveMoneda As Integer) 'preciounitario a moneda nacional o extranjera @@ -1285,7 +1290,7 @@ Partial Class PopUpVerFactura Remision As String, Proveedor As String, CalleOrigen As String, NoExtOrigen As String, ColoniaOrigen As String, LocalidadOrigen As String, MunicipioOrigen As String, EstadoOrigen As String, PaisOrigen As String, CPOrigen As String, CalleDestino As String, NoExtDestino As String, ColoniaDestino As String, LocalidadDestino As String, MunicipioDestino As String, EstadoDestino As String, PaisDestino As String, CPDestino As String, FechaMovimiento As Date, NombreCapturo As String, PuestoRecibio As String, PuestoEntrego As String, - RazonSocial As String, ResponsableCarga As String, ResponsableRecibio As String, NombreCliente As String) + RazonSocial As String, ResponsableCarga As String, ResponsableRecibio As String, NombreCliente As String, Optional CantidadProductos As Decimal = 0, Optional CantidadUsados As Decimal = 0) Select Case CveConcepto @@ -1937,6 +1942,7 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("Accion", "RECIBE")) 'Antes Trasladó params.Add(New ReportParameter("Observaciones", Observaciones)) + Dim DTCliente As New DataTable Dim SBDireccionO As New StringBuilder() Dim SBDireccionD As New StringBuilder() @@ -2025,13 +2031,31 @@ Partial Class PopUpVerFactura Dim Archivo As New System.IO.FileInfo(String.Format(RutaFormato, UsuarioActual.Empresa.Ruta)) - If Archivo.Exists Then - params.Add(New ReportParameter("Observaciones", Observaciones)) 'TxtObservaciones.Text - params.Add(New ReportParameter("CveAlmacen", DtMovimientos(0)("CveTipoAlmacen").ToString)) - params.Add(New ReportParameter("CveTipoAlmacenDestino", DtMovimientos(0)("CveTipoAlmacenDestino").ToString)) - params.Add(New ReportParameter("CveVentaDetalle", DtMovimientos(0)("CveVentaDetalle").ToString)) - params.Add(New ReportParameter("FacturadoA", DtMovimientos(0)("Nombre").ToString)) - params.Add(New ReportParameter("Factura", DtMovimientos(0)("SerieFolio").ToString)) + If Archivo.Exists Then + If UsuarioActual.CveEmpresa = 140 Then + Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) + Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) + + If Imagen.Exists Then + params.Add(New ReportParameter("LogoPath", logouri)) + Else + params.Add(New ReportParameter("LogoPath", "")) + End If + params.Add(New ReportParameter("Origen", Almacen)) + params.Add(New ReportParameter("Destino", AlmacenDestino)) + params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy"))) + params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre)) + params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa)) + params.Add(New ReportParameter("CantidadProductos", CantidadProductos.ToString())) + params.Add(New ReportParameter("CantidadUsados", CantidadUsados.ToString())) + Else + params.Add(New ReportParameter("Observaciones", Observaciones)) 'TxtObservaciones.Text + params.Add(New ReportParameter("CveAlmacen", DtMovimientos(0)("CveTipoAlmacen").ToString)) + params.Add(New ReportParameter("CveTipoAlmacenDestino", DtMovimientos(0)("CveTipoAlmacenDestino").ToString)) + params.Add(New ReportParameter("CveVentaDetalle", DtMovimientos(0)("CveVentaDetalle").ToString)) + params.Add(New ReportParameter("FacturadoA", DtMovimientos(0)("Nombre").ToString)) + params.Add(New ReportParameter("Factura", DtMovimientos(0)("SerieFolio").ToString)) + End If If UsuarioActual.CveEmpresa = 72 Or UsuarioActual.CveEmpresa = 119 Then params.Add(New ReportParameter("FechaImpresion", DateTime.Now.ToString("dd/MM/yyyy"))) diff --git a/Empresas/140/Formatos/Traslado.rdlc b/Empresas/140/Formatos/Traslado.rdlc new file mode 100644 index 000000000..8ed80cf00 --- /dev/null +++ b/Empresas/140/Formatos/Traslado.rdlc @@ -0,0 +1,1717 @@ + + + + + + + + + 1.94437cm + + + 3.27787cm + + + 2.19837cm + + + 9.27592cm + + + 1.41521cm + + + 1.45633cm + + + + + 0.43067cm + + + + + true + true + + + + + Cant. + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Código + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Unidad Medida + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Descripción + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Costo + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Valor + + + + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.30367cm + + + + + true + true + + + + + =Fields!Cantidad.Value + + + + + + + Cantidad + + + Bottom + 2pt + 2pt + =IIf(rownumber(nothing) = 1, "2pt", "0pt") + + + + + + + + true + true + + + + + =Fields!Codigo.Value + + + + + + + Codigo + + + Bottom + 2pt + 2pt + =IIf(rownumber(nothing) = 1, "2pt", "0pt") + + + + + + + + true + true + + + + + =Fields!UnidadMedida.Value + + + + + + + UnidadMedida + + + Bottom + 2pt + 2pt + =IIf(rownumber(nothing) = 1, "2pt", "0pt") + + + + + + + + true + true + true + + + + + =Fields!PS.Value + + + + + + + PS + + + Bottom + 2pt + 2pt + =IIf(rownumber(nothing) = 1, "2pt", "0pt") + + + + + + + + true + true + + + + + =Fields!PU.Value + + + + + + + PU + + + Bottom + 2pt + 2pt + =IIf(rownumber(nothing) = 1, "2pt", "0pt") + + + + + + + + true + true + + + + + =Fields!Total.Value + + + + + + + Total + + + Bottom + 2pt + 2pt + =IIf(rownumber(nothing) = 1, "2pt", "0pt") + + + + + + + + + + + + + + + + + + + + + + After + + + + + + + + + + DsInventarios + 0.07056cm + 0.00711cm + 0.73434cm + 19.56807cm + + + + + + true + true + + + + + Total Productos : + + + + =Parameters!CantidadProductos.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Total Usados: + + + + =Parameters!CantidadUsados.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 0.72418in + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Fecha.Value + + + + + + + Textbox4 + 4.48094cm + 17.3888cm + 0.6cm + 1.76305cm + 1 + + + 2pt + 2pt + + + + true + true + + + + + Fecha: + + + + + + + Textbox5 + 4.48092cm + 16.27404cm + 0.6cm + 1.11476cm + 2 + + + 2pt + 2pt + + + + true + true + + + + + =Parameters!Folio.Value + + + + + + 2pt + 2pt + + + + true + true + + + + + FOLIO: + + + + Textbox5 + 0.03803cm + 17.07518cm + 0.6cm + 1.18203cm + 4 + + + Bottom + 2pt + 2pt + + + + true + true + + + + + =iif(Parameters!CveConcepto.Value = 8, "AVISO", "RECEPCIÓN") & " DE TRASLADO" + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!SubProyecto.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Origen 2: + + + + =Parameters!Origen.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Destino: + + + + =Parameters!Destino.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + External + =Parameters!LogoPath.Value + FitProportional + 0.03803cm + 0.1121cm + 2.53711cm + 4.08574cm + 9 + + + + + + + + + + + 6.45758cm + true + true + + + true + true + + + + + =Parameters!NombreEntrego.Value + + + + Textbox21 + 1.87056cm + 2.54cm + 0.63472cm + 5.79375cm + + =iif(Parameters!CveConcepto.Value = 9,true,false) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!NombreAccion.Value + + + + Textbox21 + 1.87056cm + 11.25481cm + 0.63528cm + 5.78664cm + 1 + + =iif(Parameters!CveConcepto.Value = 9,true,false) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ___________________________ + + + + + + Firma + + + + Textbox21 + 3.82353cm + 2.54795cm + 1.2cm + 5.78664cm + 2 + + =iif(Parameters!CveConcepto.Value = 9,true,false) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ___________________________ + + + + + + Nombre y Firma + + + + Textbox21 + 3.82354cm + 11.26191cm + 1.2cm + 5.78664cm + 3 + + =iif(Parameters!CveConcepto.Value = 9,true,false) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + OBSERVACIONES: + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Observaciones.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 1.37639cm + 0.00626cm + 0cm + 19.57518cm + 6 + + + + + + 0.17639cm + 0cm + 19.57518cm + 7 + + + + + + true + true + + + + + ENTREGA + + + + + + + Textbox22 + 1.41167cm + 2.54795cm + 0.6cm + 5.78664cm + 8 + + =iif(Parameters!CveConcepto.Value = 9,true,false) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Accion.Value + + + + + + + Textbox22 + 1.37639cm + 11.26191cm + 0.6cm + 5.78664cm + 9 + + =iif(Parameters!CveConcepto.Value = 9,true,false) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =IIF(Parameters!NombreAccion.Value=-1,"",Parameters!NombreAccion.Value) + + + + Textbox21 + 1.87cm + 6.89031cm + 0.63528cm + 5.78664cm + 10 + + =iif(Parameters!CveConcepto.Value = 8, True, False) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ___________________________ + + + + + + Nombre y Firma + + + + Textbox21 + 3.82298cm + 6.89741cm + 1.2cm + 5.78664cm + 11 + + =iif(Parameters!CveConcepto.Value = 8, True, False) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Accion.Value + + + + + + + Textbox22 + 1.37583cm + 6.89741cm + 0.6cm + 5.78664cm + 12 + + =iif(Parameters!CveConcepto.Value = 8, True, False) + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Usuario: + + + + =Parameters!UsuarioImprimio.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Fecha Impresión: + + + + =Parameters!FechaImpresion.Value + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + ="Página " & Globals.PageNumber & " de " & Globals.TotalPages + + + + + + + Textbox35 + 5.90548cm + 17.07518cm + 0.41981cm + 2.5cm + 15 + + + 2pt + 2pt + 2pt + 2pt + + + + 5.70264cm + 0.00313cm + 0cm + 19.57518cm + 16 + + + + + + + + + + 25cm + 21.59cm + 1cm + 0cm + 1cm + 1cm + 0.13cm +