diff --git a/App_Code/CFDITimbre.vb b/App_Code/CFDITimbre.vb
index 42ef21c81..61a215271 100644
--- a/App_Code/CFDITimbre.vb
+++ b/App_Code/CFDITimbre.vb
@@ -472,7 +472,7 @@ Public Class CFDIComplementoPagosDocsRelacionados
Public Property Folio As String = ""
Public Property MonedaDR As String = ""
Public Property MetodoDePagoDR As String = ""
- Public Property TipoCambioDR As Double
+ Public Property TipoCambioDR As Decimal
Public Property NumParcialidad As Integer = 1
Public Property ImpSaldoAnt As Double
Public Property ImpPagado As Double
diff --git a/App_Code/ClsClientes.vb b/App_Code/ClsClientes.vb
index b7b8d93d5..60c2d2a48 100644
--- a/App_Code/ClsClientes.vb
+++ b/App_Code/ClsClientes.vb
@@ -1455,14 +1455,15 @@ Public Class ClsClientes
OnError("Ocurrió un error eliminar la Clasificación.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
- End Function
-
+ End Function
+
#End Region
-
-
+
+
#Region "D I R E C C I O N D E E N V I O "
Public Function DireccionEnvioAdd(CveCliente As Integer, EnvioDireccion As String, EnvioNoExt As String, EnvioNoInt As String, EnvioColonia As String, EnvioCiudad As String, EnvioEstado As String,
- EnvioCP As Integer, EnvioContacto As String, CveUsuario As Integer, Estatus As Integer, Optional CveClienteSucursal As Integer = -1, Optional EnvioDepartamento As String = "-1", Optional EnvioTel As String = "-1") As Integer
+ EnvioCP As Integer, EnvioContacto As String, CveUsuario As Integer, Estatus As Integer, Optional CveClienteSucursal As Integer = -1, Optional EnvioDepartamento As String = "-1", Optional EnvioTel As String = "-1",
+ Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveLocalidad As Integer = -1, Optional CveColonia As Integer = -1) As Integer
Dim Retorno As Integer = -1
DataAdapter("PA_Vta_ClientesDireccionesEnvioAdd")
@@ -1481,6 +1482,13 @@ Public Class ClsClientes
.Add("@EnvioTel", SqlDbType.VarChar).Value = EnvioTel
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@Estatus", SqlDbType.Int).Value = Estatus
+
+ .Add("@CvePais", SqlDbType.Int).Value = CvePais
+ .Add("@CveEstado", SqlDbType.Int).Value = CveEstado
+ .Add("@CveMunicipio", SqlDbType.Int).Value = CveMunicipio
+ .Add("@CveLocalidad", SqlDbType.Int).Value = CveLocalidad
+ .Add("@CveColonia", SqlDbType.Int).Value = CveColonia
+
.Add("@CveDireccionEnvio", SqlDbType.Int).Direction = ParameterDirection.Output
End With
@@ -1514,7 +1522,8 @@ Public Class ClsClientes
End Function
Public Function DireccionEnvioUpdate(CveCliente As Integer, EnvioDireccion As String, EnvioNoExt As String, EnvioNoInt As String, EnvioColonia As String, EnvioCiudad As String, EnvioEstado As String,
- EnvioCP As Integer, EnvioContacto As String, CveUsuario As Integer, Estatus As Integer, CveDireccionEnvio As Integer, Optional EnvioDepartamento As String = "-1", Optional CveClienteSucursal As Integer = -1, Optional EnvioTel As String = "-1") As Boolean
+ EnvioCP As Integer, EnvioContacto As String, CveUsuario As Integer, Estatus As Integer, CveDireccionEnvio As Integer, Optional EnvioDepartamento As String = "-1", Optional CveClienteSucursal As Integer = -1, Optional EnvioTel As String = "-1",
+ Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveLocalidad As Integer = -1, Optional CveColonia As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ClientesDireccionesEnvioUpdate")
@@ -1534,6 +1543,13 @@ Public Class ClsClientes
.Add("@EnvioTel", SqlDbType.VarChar).Value = EnvioTel
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@Estatus", SqlDbType.Int).Value = Estatus
+
+ .Add("@CvePais", SqlDbType.Int).Value = CvePais
+ .Add("@CveEstado", SqlDbType.Int).Value = CveEstado
+ .Add("@CveMunicipio", SqlDbType.Int).Value = CveMunicipio
+ .Add("@CveLocalidad", SqlDbType.Int).Value = CveLocalidad
+ .Add("@CveColonia", SqlDbType.Int).Value = CveColonia
+
End With
Try
diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb
index c693d37a3..939808c43 100644
--- a/App_Code/ClsGenerales.vb
+++ b/App_Code/ClsGenerales.vb
@@ -20,6 +20,7 @@ Public Class ClsGenerales
'REGISTRAR CONEXIONES ABIERTAS
Private CveConexion As Integer = 0
Private EsTransaccionCompartida As Boolean = False
+
#End Region
#Region "Propiedades"
@@ -49,6 +50,10 @@ Public Class ClsGenerales
DtResultados = Data
End Get
End Property
+
+ Public Property FolioInsertado As Integer
+
+ Public Property SerieInsertada As String
#End Region
Public Function IniciaTransacSQL() As SqlTransaction
@@ -3036,7 +3041,7 @@ Public Class ClsGenerales
Return Retorno
End Function
- Public Function AsignarEntregasPorRealizar(CvePaqueteriaGuia As Integer, CvePersonal As Integer, Optional CveAsignacionEntrega As Long = -1, Optional CveMotivoRechazoPaqueteria As Integer = -1) As Boolean
+ Public Function AsignarEntregasPorRealizar(CvePaqueteriaGuia As Integer, CvePersonal As Integer, Optional CveAsignacionEntrega As Long = -1, Optional CveMotivoRechazoPaqueteria As Integer = -1, Optional Orden As Integer = 0) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Gral_AsignarEntregasPorRealizar")
With SqlAdapter.SelectCommand.Parameters
@@ -3044,6 +3049,7 @@ Public Class ClsGenerales
.Add("@CveUsuarioAsignado", SqlDbType.Int).Value = CvePersonal
.Add("@CveAsignacionEntrega", SqlDbType.BigInt).Value = CveAsignacionEntrega
.Add("@CveMotivoRechazoPaqueteria", SqlDbType.Int).Value = CveMotivoRechazoPaqueteria
+ .Add("@Orden", SqlDbType.Int).Value = Orden
End With
Try
SqlAdapter.Fill(Data)
@@ -3598,5 +3604,173 @@ Public Class ClsGenerales
Return Retorno
End Function
#End Region
+
+
+
+
+#Region "GRAL TIMBRES"
+
+
+ Public Function AddGralTimbre(TipoDocto As String, Serie As String, Folio As Integer, FolioFiscal As String, Fecha As Date, CvePaqueteriaGuia As Integer, CveMovimientoAlmacen As Integer, CveUsuario As Integer, CveEmpresa As Integer,
+ Estatus As Integer, CvePAC As Integer, AplicaCP As Boolean, CveSubProyectoOrigen As Integer, CveDireccionOrigen As Integer, CveDireccionDestino As Integer, CveChofer As Integer, CveCamion As Integer, FechaEntrega As Date) As Integer
+ Dim Retorno As Integer = -1
+ DataAdapter("PA_Gral_TimbreAdd")
+
+ With SqlAdapter.SelectCommand.Parameters
+
+ .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto
+ .Add("@Serie", SqlDbType.VarChar).Value = Serie
+ .Add("@Folio", SqlDbType.Int).Value = Folio
+ .Add("@FolioFiscal", SqlDbType.VarChar).Value = FolioFiscal
+ .Add("@Fecha", SqlDbType.Date).Value = Fecha
+ .Add("@CvePaqueteriaGuia", SqlDbType.Int).Value = CvePaqueteriaGuia
+ .Add("@CveMovimientoAlmacen", SqlDbType.Int).Value = CveMovimientoAlmacen
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@Estatus", SqlDbType.Int).Value = Estatus
+ .Add("@CvePAC", SqlDbType.Int).Value = CvePAC
+ .Add("@AplicaCP", SqlDbType.Bit).Value = AplicaCP
+ .Add("@CveSubProyectoOrigen", SqlDbType.Int).Value = CveSubProyectoOrigen
+ .Add("@CveDireccionOrigen", SqlDbType.Int).Value = CveDireccionOrigen
+ .Add("@CveDireccionDestino", SqlDbType.Int).Value = CveDireccionDestino
+ .Add("@CveChofer", SqlDbType.Int).Value = CveChofer
+ .Add("@CveCamion", SqlDbType.Int).Value = CveCamion
+ .Add("@FechaEntrega", SqlDbType.DateTime).Value = FechaEntrega
+
+ .Add("@CveTimbre", SqlDbType.Int).Direction = ParameterDirection.Output
+ .Add("@FolioInsertado", SqlDbType.Int).Direction = ParameterDirection.Output
+ .Add("@SerieInsertada", SqlDbType.VarChar, 5).Direction = ParameterDirection.Output
+
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+
+ FolioInsertado = SqlAdapter.SelectCommand.Parameters("@FolioInsertado").Value.ToString.ToEntero
+ SerieInsertada = SqlAdapter.SelectCommand.Parameters("@SerieInsertada").Value.ToString
+
+ Retorno = SqlAdapter.SelectCommand.Parameters("@CveTimbre").Value.ToString.ToEntero
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al agregar el timbre", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+ End Function
+
+ Public Function GetGralTimbre(CveTimbre As Integer, TipoDocto As String, Serie As String, Folio As Integer, FechaI As Date, FechaF As Date, Estatus As Integer, CveEmpresa As Integer, CveMovimiento As Integer, CvePaqueteriaGuia As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Gral_TimbreGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveTimbre", SqlDbType.Int).Value = CveTimbre
+ .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto
+ .Add("@Serie", SqlDbType.VarChar).Value = Serie
+ .Add("@Folio", SqlDbType.Int).Value = Folio
+ .Add("@FechaI", SqlDbType.Date).Value = FechaI
+ .Add("@FechaF", SqlDbType.Date).Value = FechaF
+ .Add("@Estatus", SqlDbType.Int).Value = Estatus
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
+ .Add("@CvePaqueteriaGuia", SqlDbType.Int).Value = CvePaqueteriaGuia
+
+
+
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los timbres.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function UpdateGralTimbre(CveTimbre As Integer, TipoDocto As String, Serie As String, Folio As Integer, FolioFiscal As String, Fecha As Date, CvePaqueteriaGuia As Integer, CveMovimientoAlmacen As Integer, CveUsuario As Integer, CveEmpresa As Integer,
+ Estatus As Integer, CvePAC As Integer, CvePACCancelacion As Integer, FechaCancelacion As Date, AplicaCP As Boolean, CveSubProyectoOrigen As Integer, CveDireccionOrigen As Integer, CveDireccionDestino As Integer,
+ CveChofer As Integer, CveCamion As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Gral_TimbreUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+
+ .Add("@CveTimbre", SqlDbType.Int).Value = CveTimbre
+ .Add("@TipoDocto", SqlDbType.VarChar).Value = TipoDocto
+ .Add("@Serie", SqlDbType.VarChar).Value = Serie
+ .Add("@Folio", SqlDbType.Int).Value = Folio
+ .Add("@FolioFiscal", SqlDbType.VarChar).Value = FolioFiscal
+ .Add("@Fecha", SqlDbType.Date).Value = Fecha
+ .Add("@CvePaqueteriaGuia", SqlDbType.Int).Value = CvePaqueteriaGuia
+ .Add("@CveMovimientoAlmacen", SqlDbType.Int).Value = CveMovimientoAlmacen
+ .Add("@Estatus", SqlDbType.Int).Value = Estatus
+ .Add("@CvePAC", SqlDbType.Int).Value = CvePAC
+ .Add("@CvePACCancelacion", SqlDbType.Int).Value = CvePACCancelacion
+ .Add("@FechaCancelacion", SqlDbType.DateTime).Value = FechaCancelacion
+ .Add("@AplicaCP", SqlDbType.Bit).Value = AplicaCP
+ .Add("@CveSubProyectoOrigen", SqlDbType.Int).Value = CveSubProyectoOrigen
+ .Add("@CveDireccionOrigen", SqlDbType.Int).Value = CveDireccionOrigen
+ .Add("@CveDireccionDestino", SqlDbType.Int).Value = CveDireccionDestino
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveChofer", SqlDbType.Int).Value = CveChofer
+ .Add("@CveCamion", SqlDbType.Int).Value = CveCamion
+
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al actualizar el timbre", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+ End Function
+
+
+
+ Public Function RemoveGralTimbre(CveTimbre As Integer, CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Gral_TimbreRemove")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveTimbre", SqlDbType.Int).Value = CveTimbre
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al eliminar Timbre", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return Retorno
+ End Function
+
+ Public Function GetGralMovimientosDetalleTimbre(CveTimbre As Integer, CveEmpresa As Integer) As Boolean
+
+
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_Gral_MovimientosDetalleTimbreGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveTimbre", SqlDbType.Int).Value = CveTimbre
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los movimientos del timbre", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+
+ End Function
+
+
+#End Region
+
End Class
diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb
index eecdcfd14..34bdd0d95 100644
--- a/App_Code/ClsInventarios.vb
+++ b/App_Code/ClsInventarios.vb
@@ -1285,7 +1285,7 @@ Public Class ClsInventarios
Optional CveSeccionAlmacen As Integer = -1, Optional Serie As String = "", Optional Lote As String = "", Optional FechaCaducidad As Date = MinFecha,
Optional Observaciones As String = "", Optional CveMovimientoDetalleEntrada As Integer = -1, Optional PUTC As Decimal = -1,
Optional CostoIndirecto As Decimal = 0, Optional CveCompraDetalle As Integer = -1, Optional CveOrdenCompraDetalle As Integer = -1, Optional CveVentaDetalle As Integer = -1,
- Optional CveContratoDetalle As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional EsInterno As Integer = -1, Optional CveVentaDetallePadre As Integer = -1) As Boolean
+ Optional CveContratoDetalle As Integer = -1, Optional CveUsuarioModifico As Integer = -1, Optional EsInterno As Integer = -1, Optional CveVentaDetalleRemision As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_MovimientosDetalleAdd")
@@ -1311,7 +1311,7 @@ Public Class ClsInventarios
.Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle
.Add("@CveUsuarioModifico", SqlDbType.Int).Value = CveUsuarioModifico
.Add("@EsInterno", SqlDbType.Int).Value = EsInterno
- .Add("@CveVentaDetallePadre", SqlDbType.Int).Value = CveVentaDetallePadre
+ .Add("@CveVentaDetalleRemision", SqlDbType.Int).Value = CveVentaDetalleRemision
.Add("@CveMovimientoDetalle", SqlDbType.Int).Direction = ParameterDirection.Output
End With
@@ -1646,7 +1646,7 @@ Public Class ClsInventarios
End Function
Public Function GetProductosCaducidad(CveProveedor As Integer, FechaInicio As Date, FechaFin As Date, CveSubProyecto As Integer, CveClasificacion As Integer, CvePS As Integer,
- FiltroFecha As Integer, CvesAlmacenes As String, CveUsuario As Integer, CveEmpresa As Integer, Optional Opcion As Integer = 1) As Boolean
+ CvesAlmacenes As String, CveUsuario As Integer, CveEmpresa As Integer, Optional Opcion As Integer = 1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_ProductosCaducidadGet")
@@ -1658,7 +1658,6 @@ Public Class ClsInventarios
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CvePS", SqlDbType.Int).Value = CvePS
- .Add("@FiltroFecha", SqlDbType.SmallInt).Value = FiltroFecha
.Add("@CvesAlmacenes", SqlDbType.VarChar).Value = CvesAlmacenes
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
@@ -2907,13 +2906,14 @@ Public Class ClsInventarios
Return Retorno
End Function
- Public Function GetInventarioFisicoResultados(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional GPO As Integer = 1) As Boolean
+ Public Function GetInventarioFisicoResultados(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional GPO As Integer = 1, Optional Opcion As Integer = 1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_InventarioFisicoResultadosGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveInventarioFisico", SqlDbType.Int).Value = CveInventarioFisico
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@GPO", SqlDbType.Int).Value = GPO
+ .Add("@Opcion", SqlDbType.Int).Value = Opcion
End With
Try
SqlAdapter.Fill(Data)
@@ -2924,13 +2924,14 @@ Public Class ClsInventarios
Return Retorno
End Function
- Public Function GetInventarioFisicoResultadosAvance(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional GPO As Integer = 1) As Boolean
+ Public Function GetInventarioFisicoResultadosAvance(CveInventarioFisico As Integer, CveEmpresa As Integer, Optional GPO As Integer = 1, Optional Opcion As Integer = 1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_InventarioFisicoResultadoAvance")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveInventarioFisico", SqlDbType.Int).Value = CveInventarioFisico
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@GPO", SqlDbType.Int).Value = GPO
+ .Add("@Opcion", SqlDbType.Int).Value = Opcion
End With
Try
SqlAdapter.Fill(Data)
diff --git a/App_Code/ClsMovimientos.vb b/App_Code/ClsMovimientos.vb
index 680fbc2ae..c0ab586d4 100644
--- a/App_Code/ClsMovimientos.vb
+++ b/App_Code/ClsMovimientos.vb
@@ -376,6 +376,67 @@ Public Class ClsMovimientos
OnError("Ocurrió un error al obtener el Reporte de CxC Detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
+ Return Retorno
+ End Function
+
+ Public Function AddNotificacionEdoCuentaCliente(CveCliente As Integer, Fecha As DateTime) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Sis_NotificacionesEdoCuentaClienteAdd")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
+ .Add("@Fecha", SqlDbType.DateTime).Value = Fecha
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As SqlException
+ OnError("Ocurrió un error al agregar notificaciones del estado de cuenta del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function GetNotificacionEdoCuentaCliente(CveEmpresa As Integer, CveCliente As Integer, Fecha As DateTime) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Sis_NotificacionesEdoCuentaClienteGet")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveCliente", SqlDbType.Int).Value = CveCliente
+ .Add("@Fecha", SqlDbType.DateTime).Value = Fecha
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As SqlException
+ OnError("Ocurrió un error al obtener notificaciones del estado de cuenta del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
+ Return Retorno
+ End Function
+
+ Public Function UpdateNotificacionEdoCuentaCliente(CveNotificacionBitacora As Integer, Notifico As Boolean) As Boolean
+ Dim Retorno As Boolean = False
+
+ DataAdapter("PA_Sis_NotificacionesEdoCuentaClienteUpdate")
+
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveNotificacionBitacora", SqlDbType.Int).Value = CveNotificacionBitacora
+ .Add("@Notifico", SqlDbType.Bit).Value = Notifico
+ End With
+
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As SqlException
+ OnError("Ocurrió un error al actualizar notificaciones del estado de cuenta del Cliente.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+
Return Retorno
End Function
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 40ca553a3..389ad3700 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -6844,7 +6844,8 @@ Public Class ClsPaginas
Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar()
CBB.GenerarCBB(UsuarioActual.Empresa.RFC, RFCReceptor, Vta.Total.ToString.ToDecimal, Vta.FolioFiscal, RutaCBB)
End If
- ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio)
+ 'ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme.Replace("https", "http"), Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, Vta.SerieFolio)
+
'Dim CadenaOriginals As String = "||1.0|" + Vta.FolioFiscal + "|" + Vta.FechaCertificacion.ToString("yyyy-MM-dd") + "T" + Vta.FechaCertificacion.ToString("HH:mm:ss") + "|" + Vta.SelloCFDi + "|" + Vta.NoSerieCertificado + "||"
Dim CadenaOriginals As String = String.Format("||{0}|{1}|{2}T{3}|{4}|{5}||", If(Vta.Version = "3.3", "1.1", "1.0"), Vta.FolioFiscal, Vta.FechaCertificacion.ToString("yyyy-MM-dd"), Vta.FechaCertificacion.ToString("HH:mm:ss"), Vta.SelloCFDi, Vta.NoSerieCertificado)
@@ -6852,6 +6853,11 @@ Public Class ClsPaginas
Dim RutaFormato As String = ""
Dim RutaFormatoDefault As String = ""
+
+ ImgCBB = $"file://{ImagenCBB.FullName}"
+
+
+
'AQUI EMPIEZA LOS PARAMETROS
Try
Dim params As New List(Of ReportParameter)
@@ -6903,6 +6909,8 @@ Public Class ClsPaginas
params.Add(New ReportParameter("CadenaSAT", CadenaOriginals))
params.Add(New ReportParameter("SelloSAT", Vta.SelloSAT))
+ 'Net.ServicePointManager.SecurityProtocol = Net.ServicePointManager.SecurityProtocol Or Net.SecurityProtocolType.Tls Or Net.SecurityProtocolType.Tls11 Or Net.SecurityProtocolType.Tls12
+
params.Add(New ReportParameter("QR", ImgCBB))
params.Add(New ReportParameter("Moneda", Vta.Moneda))
params.Add(New ReportParameter("TipoCambio", Vta.TipoCambio.ToString))
@@ -7276,8 +7284,8 @@ Public Class ClsPaginas
RutaFormatoDefault = String.Format("Empresas\Grales\Formatos\{0}.rdlc", NombreArchivo)
Case "Tra"
NombreArchivo = "Traspaso"
- NombreArchivoDescarga = "Traspaso"
- TipoDocumento = "Traspaso"
+ NombreArchivoDescarga = "Traslado"
+ TipoDocumento = "Traslado"
Dim ObjInv As New ClsInventarios
Dim AlmOrigen As String = ""
@@ -7834,14 +7842,19 @@ Public Class ClsPaginas
End If
'params.Add(New ReportParameter("FechaOC", ObjOC.Fecha.ToShortDateString))
Dim RutaFisicaSol As String = String.Format("Empresas\{0}\Firmas\{1}.png", EmpresaActual.CveEmpresa, CveUsuarioSol)
- Dim RutaVirtuaSol As String = String.Format("{0}://{1}:{2}/ashx/sigfiles.ashx?P={0}", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, Encripta(RutaFisicaSol))
+ Dim RutaVirtuaSol As String = String.Format("{0}://{1}:{2}/ashx/sigfiles.ashx?P={3}", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, Encripta(RutaFisicaSol))
Dim FirmaSol As New System.IO.FileInfo(String.Format("{0}Firmas\{1}.png", EmpresaActual.Ruta, CveUsuarioSol))
- params.Add(New ReportParameter("FirmaSolicito", If(FirmaSol.Exists, RutaVirtuaSol, "")))
+ 'params.Add(New ReportParameter("FirmaSolicito", If(FirmaSol.Exists, RutaVirtuaSol, "")))
+ params.Add(New ReportParameter("FirmaSolicito", If(FirmaSol.Exists, ImageToBase64(Drawing.Image.FromFile(FirmaSol.FullName), Drawing.Imaging.ImageFormat.Png), "")))
Dim RutaFisicaAut As String = String.Format("Empresas\{0}\Firmas\{1}.png", EmpresaActual.CveEmpresa, CveUsuarioAut)
Dim RutaVirtuaAut As String = String.Format("{0}://{1}:{2}/ashx/sigfiles.ashx?P={3}", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, Encripta(RutaFisicaAut))
Dim FirmaAut As New System.IO.FileInfo(String.Format("{0}Firmas\{1}.png", EmpresaActual.Ruta, CveUsuarioAut))
- params.Add(New ReportParameter("FirmaAutorizo", If(FirmaAut.Exists, RutaVirtuaAut, "")))
+ 'params.Add(New ReportParameter("FirmaAutorizo", If(FirmaAut.Exists, RutaVirtuaAut, "")))
+ params.Add(New ReportParameter("FirmaAutorizo", If(FirmaAut.Exists, ImageToBase64(Drawing.Image.FromFile(FirmaAut.FullName), Drawing.Imaging.ImageFormat.Png), "")))
+
+
+
If Archivo.Exists Then
bytes = StreamPDF(String.Format("{0}Formatos\OC.rdlc", EmpresaActual.Ruta), DtDetalle, params, $"OC_{ObjOC.Folio.ToString}", RDSName:="DsOC", MR:=MR)
@@ -7910,6 +7923,26 @@ Public Class ClsPaginas
Return bytes
End Function
+
+
+ Public Function ImageToBase64(ByVal image As System.Drawing.Image, ByVal format As System.Drawing.Imaging.ImageFormat) As String
+ Dim base64String As String = ""
+
+
+ Try
+ Using ms As New System.IO.MemoryStream()
+ image.Save(ms, format)
+ Dim imageBytes As Byte() = ms.ToArray()
+ base64String = Convert.ToBase64String(imageBytes)
+ End Using
+ Catch ex As Exception
+ GuardaLog(String.Format("Ocurrio un error al generar convertir la imagen a Base64 {0}", ex.Message))
+ End Try
+
+ Return base64String
+ End Function
+
+
Public Function NewGeneraOCCotizacion(tCveOrdenCompra As Integer, Optional MR As ReportViewer = Nothing, Optional ConBitacora As Boolean = False) As Byte()
Dim bytes As Byte() = Nothing
Dim CveEmpresaActual As Integer
diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb
index a78a05d7c..452c26b47 100644
--- a/App_Code/ClsRH.vb
+++ b/App_Code/ClsRH.vb
@@ -125,6 +125,68 @@ Public Class ClsRH
End Sub
#End Region
+ Public Function AgroOrigenGet(CveEmpresa As Int32, CveOrigen As Integer, Estatus As Integer, CveTipoNomina As Integer, CveSubProyecto As Integer, GPO As Integer) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Agro_OrigenGet", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveOrigen", SqlDbType.Int).Value = CveOrigen
+ .Add("@Estatus", SqlDbType.Int).Value = Estatus
+ .Add("@CveTipoNomina", SqlDbType.Int).Value = CveTipoNomina
+ .Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
+ .Add("@GPO", SqlDbType.Int).Value = GPO
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al obtener los agro departamentos.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los agro departamentos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return retorno
+ End Function
+ Public Function AgroDepartamentosGet(CveEmpresa As Int32, CveDepartamento As Integer, CveTipoTrabajador As Integer) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Agro_DepartamentosGet", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveDepartamento", SqlDbType.Int).Value = CveDepartamento
+ .Add("@CveTipoTrabajador", SqlDbType.Int).Value = CveTipoTrabajador
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al obtener los agro departamentos.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los agro departamentos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return retorno
+ End Function
+
+ Public Function AgroDepartamentoPersonalUp(CveEmpresa As Int32, CveDepartamento As Integer, CvePersonal As Integer, CharolaForanea As Integer) As Boolean
+ Dim retorno As Boolean = False
+ DataAdapter("PA_Agro_DepartamentoPersonalUP", CommandType.StoredProcedure)
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveDepartamento", SqlDbType.Int).Value = CveDepartamento
+ .Add("@CharolaForanea", SqlDbType.Int).Value = CharolaForanea
+ .Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ retorno = True
+ Catch Ex1 As SqlException
+
+ Me.OnError("Ocurrió un error al obtener los agro departamentos.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener los agro departamentos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ End Try
+ Return retorno
+ End Function
#Region "DiasFestivos"
Public Function DiasFestivosGet(CveEmpresa As Int32) As Boolean
@@ -138,9 +200,9 @@ Public Class ClsRH
retorno = True
Catch Ex1 As SqlException
- Me.OnError("Ocurrió un error al obtener los días festivos", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ Me.OnError("Ocurrió un error al obtener los días festivos.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
- OnError("Ocurrió un error al Guardar el Tipo de A-I", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
+ OnError("Ocurrió un error al obtener los días festivos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
diff --git a/App_Code/ClsSubProyectos.vb b/App_Code/ClsSubProyectos.vb
index 97c8bd94d..803ab02de 100644
--- a/App_Code/ClsSubProyectos.vb
+++ b/App_Code/ClsSubProyectos.vb
@@ -368,7 +368,8 @@ Public Class ClsSubProyectos
.Add("@CvePrecioLista", SqlDbType.Int).Value = CvePrecioLista
.Add("@Telefono", SqlDbType.VarChar).Value = Telefono
.Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen
- .Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal
+ .Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal
+ .Add("@CveLocalidad", SqlDbType.Int).Value = CveLocalidad
.Add("@CveSubProyecto", SqlDbType.Int).Direction = ParameterDirection.Output
End With
diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index 28c446361..a23c7af68 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -3989,12 +3989,17 @@ Namespace Modelos
'COMIENZA: VENTADETALLE
'CUANDO SEA SALIDA VA POR LA VENTA DETALLE DE LA FACTURA DE LA REMISION - OJO!! SOLO FUNCIONA HASTA ORITA QUE SE HACE SALIDA SOLO CUANDO SE FACTURA LA REMISION
Dim CveVentaDetalle = If(ConceptoEntrada.Contiene(3, 40), DtDetalle.FiltroPrimeroValor("CveVentaDetalle", $"Consec={Consec}").ToEntero, MovDet("CveVentaDetalle").ToString.ToEntero)
+
+ Dim CveVentaDetalleRemision As Integer = -1
+ If ConceptoEntrada = 40 AndAlso MovDet("CveVentaDetalle").ToString().ToEntero() > 0 Then
+ CveVentaDetalleRemision = MovDet("CveVentaDetalle").ToString().ToEntero()
+ End If
+
'CUANDO LA VENTADETALLE NO TENGA VALOR DEBE MARCAR ERROR, NUEVA RESTRICCION DE ALMACEN
If CveVentaDetalle < 0 Then
OcurrioError = True
Exit For
End If
- 'TERMINA: VENTADETALLE
If Cantidad < 0 Then
ErrorList.Add("Ocurrió un Error al generar los movimientos de almacén. Por favor comuniquese con atención SIG.")
@@ -4002,7 +4007,7 @@ Namespace Modelos
Exit For
End If
- If ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Serie, CveVentaDetalle:=CveVentaDetalle) Then
+ If ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, PU, -1, Serie:=Serie, CveVentaDetalle:=CveVentaDetalle, CveVentaDetalleRemision:=CveVentaDetalleRemision) Then
ContadorMovtosDetalles += 1
Else
OcurrioError = True
@@ -5128,7 +5133,12 @@ Namespace Modelos
End If
End If
- If Not ObjInventario.AddMovimientoDetalle(CveMovimientoDevolucion, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, FechaCaducidad:=FechaCaducidad) Then
+ Dim CveVentaDetalleRemision As Integer = -1
+ If CveConceptoMovimiento = 41 Then
+ CveVentaDetalleRemision = Dr("CveVentaDetalleRemision").ToString.ToEntero()
+ End If
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoDevolucion, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, -1, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, FechaCaducidad:=FechaCaducidad, CveVentaDetalleRemision:=CveVentaDetalleRemision) Then
ErrorCancelar = True
MensajeError = "Ocurrió un error al procesar los conceptos de salida. Por favor vuelva a intentar."
Exit For
@@ -7191,25 +7201,34 @@ Namespace Modelos
HttpContext.Current.Application("GlobalDTEmpresas") = value
End Set
End Property
- Property GlobalDTClasificaciones(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1, Optional UsoClasificacion As Integer = -1) As DataTable
+ Property GlobalDTClasificaciones(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1, Optional UsoClasificacion As Integer = -1, Optional CveClasificacion As Integer = -1) As DataTable
Get
+ Dim AppNombre As String = String.Format("GlobalDTClasificaciones-{0}", CveEmpresa)
+ 'sino existe, recarga los datos
+ If HttpContext.Current.Application(AppNombre) Is Nothing Then
+ Dim ObjClasificaciones As New ClsClasificaciones
+ If ObjClasificaciones.GetClasificaciones(CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjClasificaciones.DtResultados
+ ObjClasificaciones.Dispose()
+ End If
If CveEmpresa <> -1 Then
Dim Str As New StringBuilder
Str.AppendFormat("CveEmpresa = {0}", CveEmpresa)
If CveCategoria <> -1 Then Str.AppendFormat(" AND CveCategoria = {0}", CveCategoria)
If UsoClasificacion <> -1 Then Str.AppendFormat(" AND UsoClasificacion IN ({0},3) ", UsoClasificacion)
- Dim Dv As New DataView(DirectCast(HttpContext.Current.Application("GlobalDTClasificaciones"), DataTable), Str.ToString(), "", DataViewRowState.CurrentRows)
+ If CveClasificacion <> -1 Then Str.AppendFormat(" AND CveClasificacion = {0}", CveClasificacion)
+ Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), Str.ToString(), "", DataViewRowState.CurrentRows)
GlobalDTClasificaciones = Dv.ToTable
Dv.Dispose()
Else
- GlobalDTClasificaciones = DirectCast(HttpContext.Current.Application("GlobalDTClasificaciones"), DataTable)
+ GlobalDTClasificaciones = DirectCast(HttpContext.Current.Application(AppNombre), DataTable)
End If
End Get
Set(value As DataTable)
- HttpContext.Current.Application("GlobalDTClasificaciones") = value
+ Dim AppNombre As String = String.Format("GlobalDTClasificaciones-{0}", CveEmpresa)
+ HttpContext.Current.Application(AppNombre) = value
End Set
End Property
Property GlobalDTClasificaciones2(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1) As DataTable
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index 3fafd9f2e..e6d226c83 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -1908,6 +1908,7 @@ Public Class Timbrado
' cfdi.saltarValidacion("bNtMuvZockPVhEjaPj0E")
'cfdi.Decimales = 4
+ cfdi.QuitarCerosDecimalDerecha = True ' no limita a 2 decimales, el atributo, de cantidad y precio unitario
#Region "Certificado"
cfdi.CertificadoArchivo(ArchivoCertificado)
#End Region
@@ -1962,7 +1963,7 @@ Public Class Timbrado
If ObjCFDITimbre.Conceptos IsNot Nothing AndAlso ObjCFDITimbre.Conceptos.Count > 0 Then
For Each concep As CFDIConceptos In ObjCFDITimbre.Conceptos
- cfdi.Concepto(concep.ClaveProdServ, concep.Noidentificacion, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Descripcion, concep.ValorUnitario, concep.Importe, concep.Descuento)
+ cfdi.Concepto(concep.ClaveProdServ, concep.Noidentificacion, concep.Cantidad.ToString("0.00####"), concep.ClaveUnidad, concep.Unidad, concep.Descripcion, concep.ValorUnitario.ToString("0.00####"), concep.Importe, concep.Descuento)
For Each imp As CFDIConceptosImpuestos In concep.Impuestos
If imp.TrasladooRetencion = "T" Then
cfdi.ImpuestoConceptoTraslado(imp.Base, imp.Impuesto, imp.TipoFactor, imp.TasaOCuota, imp.Importe)
@@ -2158,8 +2159,8 @@ Public Class Timbrado
cfdi.CartaPorteMercancias(Carta.Mercancias.PesoBrutoTotal, Carta.Mercancias.UnidadPeso, Carta.Mercancias.PesoNetoTotal, Carta.Mercancias.NumTotalMercancias, Carta.Mercancias.CargoporTasacion)
If Carta.Mercancias IsNot Nothing AndAlso Carta.Mercancias.Mercancias.Count > 0 Then
For Each concep As CFDICartaPorteMercancia In Carta.Mercancias.Mercancias
- cfdi.CartaPorteMercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, concep.Embalaje, concep.DescripEmbalaje, concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt)
- Next
+ cfdi.CartaPorteMercancia(concep.BienesTransp, concep.ClaveSTCC, concep.Descripción, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Dimensiones, concep.MaterialPeligroso, concep.ClaveMaterialPeligroso, If(concep.ClaveMaterialPeligroso <> "", concep.Embalaje, ""), concep.DescripEmbalaje, concep.PesoenKg, concep.ValorMercancia, concep.Moneda, concep.FraccionArrancelaria, concep.UUIDComercioExt)
+ Next
End If
End If
@@ -2184,8 +2185,9 @@ Public Class Timbrado
If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then
For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores
- cfdi.CartaPorteOperador(concep.RFCOperador, concep.NumLicencia, concep.NombreOperador, concep.NumRegidTribOperador, concep.ResidenciaFiscalOperador)
- Next
+ cfdi.CartaPorteOperador(concep.RFCOperador, concep.NumLicencia, concep.NombreOperador, concep.NumRegidTribOperador, concep.ResidenciaFiscalOperador)
+ cfdi.CartaPorteOperadorDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP)
+ Next
End If
End If
@@ -3711,8 +3713,8 @@ Public Class Timbrado
End If
ComPag.Pago(0).DoctoRelacionado(i).Folio = doc.Folio
ComPag.Pago(0).DoctoRelacionado(i).MonedaDR = doc.MonedaDR
- ComPag.Pago(0).DoctoRelacionado(i).TipoCambioDRSpecified = If(doc.TipoCambioDR.ToDecimal = 0, False, True)
- ComPag.Pago(0).DoctoRelacionado(i).TipoCambioDR = doc.TipoCambioDR.ToDecimal
+ ComPag.Pago(0).DoctoRelacionado(i).TipoCambioDRSpecified = If(doc.TipoCambioDR = 0, False, True)
+ ComPag.Pago(0).DoctoRelacionado(i).TipoCambioDR = doc.TipoCambioDR
ComPag.Pago(0).DoctoRelacionado(i).MetodoDePagoDR = doc.MetodoDePagoDR
ComPag.Pago(0).DoctoRelacionado(i).NumParcialidad = doc.NumParcialidad.ToString
@@ -3784,9 +3786,8 @@ Public Class Timbrado
''DATOS GENERALES
Dim ComCartaPorte = New ProfactCartaPorte.CartaPorte()
- Dim Transp As ProfactCartaPorte.CartaPorteTranspInternac
- ComCartaPorte.TranspInternac = If(Carta.TranspInternac = "No", Transp.No, Transp.Sí)
- ComCartaPorte.EntradaSalidaMercSpecified = False
+ ComCartaPorte.TranspInternac = CType([Enum].Parse(GetType(ProfactCartaPorte.CartaPorteTranspInternac), Carta.TranspInternac), ProfactCartaPorte.CartaPorteTranspInternac)
+ ComCartaPorte.EntradaSalidaMercSpecified = False
ComCartaPorte.ViaEntradaSalidaSpecified = False
ComCartaPorte.TotalDistRecSpecified = False
@@ -3875,11 +3876,13 @@ Public Class Timbrado
If concep.ClaveMaterialPeligroso <> "" Then
ComCartaPorte.Mercancias.Mercancia(i).MaterialPeligrosoSpecified = True
ComCartaPorte.Mercancias.Mercancia(i).CveMaterialPeligrosoSpecified = True
- End If
- If concep.Embalaje <> "" Then
+ 'si lleva material pelgroso, debe llevar embalaje
ComCartaPorte.Mercancias.Mercancia(i).EmbalajeSpecified = True
ComCartaPorte.Mercancias.Mercancia(i).Embalaje = CType([Enum].Parse(GetType(ProfactCartaPorte.c_TipoEmbalaje), "Item" & concep.Embalaje), ProfactCartaPorte.c_TipoEmbalaje)
+
End If
+
+
ComCartaPorte.Mercancias.Mercancia(i).DescripEmbalaje = concep.DescripEmbalaje
ComCartaPorte.Mercancias.Mercancia(i).PesoEnKg = concep.PesoenKg
ComCartaPorte.Mercancias.Mercancia(i).ValorMercanciaSpecified = False
diff --git a/Ashx/SigFiles.ashx b/Ashx/SigFiles.ashx
index bb4a91d48..3ab1e80ad 100644
--- a/Ashx/SigFiles.ashx
+++ b/Ashx/SigFiles.ashx
@@ -33,7 +33,9 @@ public class SigFiles : IHttpHandler
{
mimeType = MimeMapping.GetMimeMapping(path);
}
- catch (Exception) { }//si truena no existe el arhivo
+ catch (Exception ex) {
+ this.GuardaLog(ex.ToString());
+ }//si truena no existe el arhivo
context.Response.Clear();
context.Response.ClearHeaders();
context.Response.ClearContent();
diff --git a/Ashx/TareasProgramadas.ashx b/Ashx/TareasProgramadas.ashx
index 8171b5431..7ab7d8c50 100644
--- a/Ashx/TareasProgramadas.ashx
+++ b/Ashx/TareasProgramadas.ashx
@@ -8,9 +8,59 @@ Imports Newtonsoft.Json.Linq
Imports Extensiones
Imports System.IO
Imports CrystalDecisions.CrystalReports.Engine
-Imports CrystalDecisions.Shared
+Imports CrystalDecisions.Shared
+Imports Microsoft.Reporting.WebForms
-Public Class TareasProgramadas : Implements IHttpHandler
+Public Class TareasProgramadas : Implements IHttpHandler
+
+
+ Private ReadOnly Property GlobalDTUsuariosE140(Optional CveUsuario As Integer = -1, Optional CveCliente As Integer = -1, Optional CveProveedor As Integer = -1) As DataTable
+ Get
+ Dim CveEmpresa As Integer = 140
+ Dim Str As New StringBuilder
+ If CveUsuario <> -1 Then Str.AppendFormat("CveUsuario = {0}", CveUsuario)
+ If CveEmpresa <> -1 Then Str.AppendFormat(" {0} CveEmpresa = {1}", If(Str.Length > 0, "AND", ""), CveEmpresa)
+ If CveCliente <> -1 Then Str.AppendFormat(" {0} CveCliente = {1}", If(Str.Length > 0, "AND", ""), CveCliente)
+ If CveProveedor <> -1 Then Str.AppendFormat(" {0} CveProveedor = {1}", If(Str.Length > 0, "AND", ""), CveProveedor)
+
+ If CveUsuario <> -1 OrElse CveEmpresa <> -1 Then
+ Dim Dv As New DataView(DirectCast(HttpContext.Current.Application("GlobalDTUsuarios"), DataTable), Str.ToString, "", DataViewRowState.CurrentRows)
+ GlobalDTUsuariosE140 = Dv.ToTable
+ Dv.Dispose()
+ Else
+ GlobalDTUsuariosE140 = DirectCast(HttpContext.Current.Application("GlobalDTUsuarios"), DataTable)
+ End If
+ End Get
+ End Property
+
+ Public Shared ReadOnly Property GlobalDTSubProyectosE140(CveProyecto As Integer, Optional CveSubProyecto As Integer = -1, Optional Estatus As Integer = 1) As DataTable
+ Get
+ Dim CveEmpresa As Integer = 140
+ Dim AppNombre As String = String.Format("GlobalDTSubProyectos-{0}", CveEmpresa)
+ 'sino existe, recarga los datos
+ If DirectCast(HttpContext.Current.Application(AppNombre), DataTable) Is Nothing Or (DirectCast(HttpContext.Current.Application(AppNombre), DataTable) IsNot Nothing AndAlso DirectCast(HttpContext.Current.Application(AppNombre), DataTable).Rows.Count = 0) Then
+ Dim P As New ClsSubProyectos
+ If P.GetSubProyectos(CveEmpresa:=CveEmpresa) Then HttpContext.Current.Application(AppNombre) = P.DtResultados
+ P.Dispose()
+ End If
+
+ If CveProyecto <> -1 OrElse CveSubProyecto <> -1 OrElse CveEmpresa <> -1 OrElse Estatus <> -1 Then
+ Dim StrSQL As New StringBuilder
+ If CveProyecto <> -1 Then StrSQL.AppendFormat(" AND CveProyecto = {0}", CveProyecto)
+ If CveSubProyecto <> -1 Then StrSQL.AppendFormat(" AND CveSubProyecto = {0}", CveSubProyecto)
+ If Estatus <> -1 Then StrSQL.AppendFormat(" AND CveEstatus = {0}", Estatus)
+ If CveEmpresa <> -1 Then StrSQL.AppendFormat(" AND CveEmpresa = {0}", CveEmpresa)
+
+ Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), StrSQL.ToString.Trim.TrimStart("A"c, "N"c, "D"c), "", DataViewRowState.CurrentRows)
+ GlobalDTSubProyectosE140 = Dv.ToTable
+ Dv.Dispose()
+
+ Else
+ GlobalDTSubProyectosE140 = DirectCast(HttpContext.Current.Application(AppNombre), DataTable)
+ End If
+
+ End Get
+ End Property
Private currentcontext As HttpContext
Private URLParametros As New Hashtable
@@ -20,6 +70,8 @@ Public Class TareasProgramadas : Implements IHttpHandler
Dim retorno As String = "no se encontro la variable"
Try
Dim metodo As String = ""
+ Dim FechaActual As DateTime = Now
+ Dim FechaEnvio As DateTime = FechaActual
If context.Request("var") IsNot Nothing Then
URLParametros = Parametros(context.Request("var"))
@@ -36,6 +88,9 @@ Public Class TareasProgramadas : Implements IHttpHandler
End Using
ElseIf context.Request("metodo") IsNot Nothing Then
metodo = context.Request("metodo").ToString()
+ If context.Request("FechaEnvio") IsNot Nothing Then
+ FechaEnvio = context.Request("FechaEnvio").ToString().ToDateTime()
+ End If
End If
Select Case metodo
@@ -46,7 +101,10 @@ Public Class TareasProgramadas : Implements IHttpHandler
context.Response.Write(retorno)
Case "EstadosCuenta"
'CargaEstadosCuenta(context, 119, 227774)
- CargaEstadosCuenta(context, 119, -1)
+ CargaEstadosCuenta(context, 119, -1, FechaEnvio, FechaActual)
+
+ Case "ScoreCard"
+ CargaScoreCard(context, 140, FechaEnvio)
End Select
Catch ex As Exception
ex.GuardaLog(ex.ToString())
@@ -270,7 +328,7 @@ Public Class TareasProgramadas : Implements IHttpHandler
#Region "E S T A D O S D E C U E N T A"
- Private Sub CargaEstadosCuenta(ByVal context As HttpContext, pCveEmpresa As Integer, pCveCliente As Integer)
+ Private Sub CargaEstadosCuenta(ByVal context As HttpContext, pCveEmpresa As Integer, pCveCliente As Integer, FechaEnvio As DateTime, FechaActual As DateTime)
Dim Retorno As New JArray()
Dim DtEmpresas As DataTable = Nothing
Using ObjEmpresas As New ClsSisEmpresas()
@@ -282,7 +340,7 @@ Public Class TareasProgramadas : Implements IHttpHandler
If DtEmpresas IsNot Nothing Then
For Each Row As DataRow In DtEmpresas.Rows
Dim Usuario = ValidaUsuarioSistema(Row("CveEmpresa").ToString().ToEntero())
- Dim obj = EjecutarEnvioEstadoCuenta(Usuario, pCveCliente:=pCveCliente)
+ Dim obj = EjecutarEnvioEstadoCuenta(Usuario, FechaEnvio, FechaActual, pCveCliente:=pCveCliente)
Retorno.Add(obj)
Next
@@ -331,7 +389,7 @@ Public Class TareasProgramadas : Implements IHttpHandler
End Sub
- Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, Optional pCveCliente As Integer = -1) As JObject
+ Private Function EjecutarEnvioEstadoCuenta(UsuarioActual As Usuario, FechaEnvio As DateTime, FechaActual As DateTime, Optional pCveCliente As Integer = -1) As JObject
Dim ClientesSinEnviar As New JArray()
Dim ClientesEdoEnviado As New JArray()
@@ -341,78 +399,133 @@ Public Class TareasProgramadas : Implements IHttpHandler
New JProperty("Fecha", DateTime.Now.ToString("dd/MM/yyy HH:mm:ss"))
)
Dim DTClientes As DataTable = Nothing
+ Dim EnviarPendientes As Boolean = False
- 'Using ObjCliente As New ClsClientes
- ' If ObjCliente.GetClientes(pCveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, TipoCliente:=-1, Estatus:=1) Then
- ' If ObjCliente.DtResultados.Rows.Count > 0 Then
- ' DTClientes = ObjCliente.DtResultados.Copy()
- ' End If
- ' End If
- 'End Using
+ If FechaActual <> FechaEnvio Then
+ EnviarPendientes = True
+ End If
- Using ObjMov As New ClsMovimientos
- Dim FechaI As String = "-1"
- Dim FechaF As String = "-1"
- Dim FechaVI As String = "-1"
- Dim FechaVF As String = "-1"
- Dim TCEspecifico = -1
+ If Not EnviarPendientes Then
+ Using ObjMov As New ClsMovimientos
+ Dim FechaI As String = "-1"
+ Dim FechaF As String = "-1"
+ Dim FechaVI As String = "-1"
+ Dim FechaVF As String = "-1"
+ Dim TCEspecifico = -1
- Dim CveCobranzaEstatus As Integer = -1
- Dim CveClienteClasificacion As Integer = -1
- Dim CveCliente As Integer = -1
- Dim AplicaAnticipos As Integer = 0
+ Dim CveCobranzaEstatus As Integer = -1
+ Dim CveClienteClasificacion As Integer = -1
+ Dim CveCliente As Integer = -1
+ Dim AplicaAnticipos As Integer = 0
- Dim CveSubProyecto As Integer = -1
- Dim CveVendedor As Integer = -1
- Dim Grupo As Integer = 5
- Dim TipoCambio As Integer = 1
- Dim TipoDocto As String = "-1"
- Dim FechaCorte As DateTime = New DateTime(Now.Year, 12, 31)
+ Dim CveSubProyecto As Integer = -1
+ Dim CveVendedor As Integer = -1
+ Dim Grupo As Integer = 5
+ Dim TipoCambio As Integer = 1
+ Dim TipoDocto As String = "-1"
+ Dim FechaCorte As DateTime = New DateTime(Now.Year, 12, 31)
- If ObjMov.GetCxC(FechaI, FechaF, CveCliente, CveSubProyecto, CveVendedor, -1, -1, "-1", UsuarioActual.CveEmpresa, Grupo, -1, TipoCambio, TCEspecifico, TipoDocto, FechaVI, FechaVF, FechaCorte:=FechaCorte,
- EstatusCliente:=1, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveCobranzaEstatus:=CveCobranzaEstatus, CveClienteClasificacion:=-1, TipoCliente:=-1, AplicaAnticiposPagados:=AplicaAnticipos) Then
- DTClientes = ObjMov.DtResultados.FiltraParametros("CveCliente > 0", DistinctColumns:={"CveCliente"})
- End If
+ If ObjMov.GetCxC(FechaI, FechaF, CveCliente, CveSubProyecto, CveVendedor, -1, -1, "-1", UsuarioActual.CveEmpresa, Grupo, -1, TipoCambio, TCEspecifico, TipoDocto, FechaVI, FechaVF, FechaCorte:=FechaCorte,
+ EstatusCliente:=1, CveUsuarioConsulta:=UsuarioActual.CveUsuario, CveCobranzaEstatus:=CveCobranzaEstatus, CveClienteClasificacion:=-1, TipoCliente:=-1, AplicaAnticiposPagados:=AplicaAnticipos) Then
+ DTClientes = ObjMov.DtResultados.FiltraParametros("CveCliente > 0", DistinctColumns:={"CveCliente"})
+ End If
- End Using
+ End Using
+ End If
- If DTClientes IsNot Nothing Then
+
+ If DTClientes IsNot Nothing OrElse EnviarPendientes Then
'DTClientes = DTClientes.FiltraParametros("CveCliente IN (227289,227429,227733,227838,228181,228544,229176,229481,230029,230432,230860,230911,230918,231197,231576,232173,232185,233055,233295,233357,233588,236379,236460,237161,237635,238285,238530,238622,238724,239033,239099,239865,239895,239903,240202,240235,240236,240238,240303,240340,262404,262517,264765,264806,264825,264848,264930,265063,265180,265213,265214,265236,265344,265492,265555,265669,265797,265952,265963,266156,266182,268346,268396,268488,268535,268539,268558,268562,268706,268726,268787,268868,268889,268910,268925,269023,269081,269089,272066,272070,272657,273080,273084,275627,276259,276587,281115,283110,284664,285392,287653,288711,291374,292444,295578,296375,296598,302728,303936,306897,307183,311007,320060,320685,320800,323520,323772,325237,326996,327801,330630,331741,332118,337105,340502,341796,342807,343858,355862,358123,365794,371524,375391,377122,377948,378267,380167,381210,381878,383098,383250,383339,383650,384472,385321,385585,386630,387114,388987,396341,396405,396541,401995,404175,408306,416386,416819,420275,438732,447566,447636,450284,464150,464376,468051,475172,475932,476984,477997,478426)")
+ Dim DtNotificaciones As DataTable = Nothing
- For Each RowCliente As DataRow In DTClientes.Rows
-
- Dim CveCliente As Integer = RowCliente("CveCliente").ToString().ToEntero()
- Dim Cliente As New Modelos.ClienteModel(CveCliente, UsuarioActual.CveEmpresa)
+ Dim TieneErrorRegistro As Boolean = False
- If Cliente IsNot Nothing Then
- Dim Correo As String = Cliente.CobranzaCorreo '"japmx95@gmail.com" 'RowCliente("CobranzaCorreo").ToString()
+ Dim ObjMovimientos As New ClsMovimientos
+ ObjMovimientos.IniciaTransacSQL()
- Dim Envio As Boolean = False
- If Not String.IsNullOrEmpty(Correo) Then
- Envio = EnviarEstadoCuenta(UsuarioActual, Correo, Cliente)
- End If
+ If Not EnviarPendientes Then
+ Try
+ For Each RowCliente As DataRow In DTClientes.Rows
+ If Not ObjMovimientos.AddNotificacionEdoCuentaCliente(RowCliente("CveCliente").ToString().ToEntero(), FechaEnvio) Then
+ GuardaLog("Ocurrio un error al agregar las notificaciones de edo cuenta. CveCliente: " + RowCliente("CveCliente").ToString())
+ TieneErrorRegistro = True
+ Exit For
+ End If
+ Next
+ Catch ex As Exception
+ GuardaLog("Ocurrio un error al agregar las notificaciones de edo cuenta" + ex.ToString())
+ TieneErrorRegistro = True
+ End Try
+ End If
- If Envio Then
-
- ClientesEdoEnviado.Add(New JObject(
- New JProperty("CveCliente", Cliente.CveCliente),
- New JProperty("Cliente", Cliente.Nombre)
- ))
-
- Using ObjBitacora As New ClsOIEventos
- ObjBitacora.AddEventoBitacora("Se envió correo con el estado de cuenta del cliente", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=Cliente.CveCliente)
- End Using
- Else
- ClientesSinEnviar.Add(New JObject(
- New JProperty("CveCliente", Cliente.CveCliente),
- New JProperty("Cliente", Cliente.Nombre)
- ))
- End If
+ If Not TieneErrorRegistro Then
+ If ObjMovimientos.GetNotificacionEdoCuentaCliente(UsuarioActual.CveEmpresa, -1, FechaEnvio) Then
+ DtNotificaciones = ObjMovimientos.DtResultados.Copy()
+ Else
+ TieneErrorRegistro = True
End If
-
- Next
- DTClientes.Dispose()
+ End If
+
+
+ If Not TieneErrorRegistro Then
+ ObjMovimientos.Commit()
+ Else
+ ObjMovimientos.RollBack()
+ If DtNotificaciones IsNot Nothing Then
+ DtNotificaciones.Clear()
+ DtNotificaciones = Nothing
+ End If
+ End If
+ ObjMovimientos.Dispose()
+ DTClientes.Dispose()
+
+ Try
+ If DtNotificaciones IsNot Nothing Then
+ For Each Row As DataRow In DtNotificaciones.Rows
+ Dim CveCliente As Integer = Row("CveCliente").ToString().ToEntero()
+ Dim Cliente As New Modelos.ClienteModel(CveCliente, UsuarioActual.CveEmpresa)
+
+ If Cliente IsNot Nothing Then
+ Dim Correo As String = Cliente.CobranzaCorreo
+
+ Dim Envio As Boolean = False
+ If Not String.IsNullOrEmpty(Correo) Then
+ Envio = EnviarEstadoCuenta(UsuarioActual, Correo, Cliente)
+ End If
+
+ If Envio Then
+
+ Using ObjMov As New ClsMovimientos
+ ObjMov.UpdateNotificacionEdoCuentaCliente(Row("CveNotificacionBitacora").ToString().ToEntero(), Notifico:=True)
+ End Using
+
+ ClientesEdoEnviado.Add(New JObject(
+ New JProperty("CveCliente", Cliente.CveCliente),
+ New JProperty("Cliente", Cliente.Nombre)
+ ))
+
+ Using ObjBitacora As New ClsOIEventos
+ ObjBitacora.AddEventoBitacora("Se envió correo con el estado de cuenta del cliente", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCliente:=Cliente.CveCliente)
+ End Using
+ Else
+ ClientesSinEnviar.Add(New JObject(
+ New JProperty("CveCliente", Cliente.CveCliente),
+ New JProperty("Cliente", Cliente.Nombre)
+ ))
+ End If
+ End If
+ Next
+ End If
+
+ Catch ex As Exception
+ GuardaLog("Ocurrio un error al agregar las notificaciones de edo cuenta. " + ex.ToString())
+ End Try
+
+ If DtNotificaciones IsNot Nothing Then
+ DtNotificaciones.Dispose()
+ End If
+
End If
Json.Add(New JProperty("ClientesSinEnviar", ClientesSinEnviar))
Json.Add(New JProperty("ClientesEdoEnviado", ClientesEdoEnviado))
@@ -422,244 +535,245 @@ Public Class TareasProgramadas : Implements IHttpHandler
Private Function EnviarEstadoCuenta(UsuarioActual As Usuario, Correo As String, Cliente As Modelos.ClienteModel) As Boolean
Dim Retorno As Boolean = True
-
- Dim ArchivoPDF As Byte() = Nothing
-
- Dim Formato As String = "PDF"
- Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepClientesCxC.rpt", UsuarioActual.Empresa.Ruta))
- 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", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa)
- 'OBTENEMOS LOS DATOS
- Dim DtCxCFact As DataTable = Nothing
-
- Dim SaldoIngDolares As Double = 0
- Dim SaldoIngPesos As Double = 0
- Dim SaldoIngDolaresPesos As Double = 0
- Dim TotalIng As Double = 0
- Dim SaldoAntDolares As Double = 0
- Dim SaldoAntPesos As Double = 0
- Dim SaldoAntDolaresPesos As Double = 0
- Dim TotalAnt As Double = 0
- Dim ContaIng As Integer = 0
- Dim ContaAnt As Integer = 0
- Dim FechaCorte As Date = ("9999/01/01").ToDate
-
- Dim TipoDocto2 As String = "'Ing','NC','Dev'"
- Dim FechaVencimientoI As String = "-1"
- Dim FechaVencimientoF As String = "-1"
- Dim FI As String = "-1"
- Dim FF As String = "-1"
- Dim dtt As DataTable = Nothing
-
Try
- Using ObjMovtos As New ClsMovimientos()
- If ObjMovtos.GetCxCClienteDetalle(Cliente.CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, CveClienteSucursal:=-1) Then
- DtCxCFact = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "TipoDocto")
- 'cargo los anticipos NC
- DtCxCFact.Columns.Add("SaldoAnticipo", GetType(Decimal))
- If ObjMovtos.GetAnticiposNCIxCCliente(Cliente.CveCliente, -1, -1) Then
- dtt = ObjMovtos.DtResultados.FiltraParametros("Saldo > 0 AND SaldoVentaAnticipo = 0 AND ((Tipo = 'IxC' AND CveIE > 0) OR (Tipo = 'Ant' AND CveVenta > 0) OR (Tipo = 'NC' AND CveVenta > 0) OR (Tipo = 'Egs' AND CveVenta > 0) )")
- End If
- End If
- End Using
- Catch ex As Exception
- Retorno = False
- dtt = Nothing
- OnError("Ocurrió un erro al obtener el CxC", ex)
- End Try
+ Dim ArchivoPDF As Byte() = Nothing
- If Not Retorno Then
- Return Retorno
- End If
+ Dim Formato As String = "PDF"
+ Dim Archivo As New System.IO.FileInfo(String.Format("{0}Formatos/RepClientesCxC.rpt", UsuarioActual.Empresa.Ruta))
+ 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", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa)
+ 'OBTENEMOS LOS DATOS
+ Dim DtCxCFact As DataTable = Nothing
- Try
- If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 Then
- For Each drt As DataRow In dtt.Rows
- Dim drr As DataRow = DtCxCFact.NewRow
- drr("TipoDocto") = drt("Tipo")
- drr("SerieFolio") = drt("Folio")
- drr("Original") = drt("Original")
- drr("TipoCambio") = drt("TipoCambio")
- drr("Saldo") = 0
- drr("SaldoAnticipo") = drt("Saldo")
- drr("Fecha") = drt("Fecha")
- drr("Moneda") = drt("Moneda")
- drr("CveMoneda") = drt("CveMoneda")
- DtCxCFact.Rows.Add(drr)
- Next
- End If
+ Dim SaldoIngDolares As Double = 0
+ Dim SaldoIngPesos As Double = 0
+ Dim SaldoIngDolaresPesos As Double = 0
+ Dim TotalIng As Double = 0
+ Dim SaldoAntDolares As Double = 0
+ Dim SaldoAntPesos As Double = 0
+ Dim SaldoAntDolaresPesos As Double = 0
+ Dim TotalAnt As Double = 0
+ Dim ContaIng As Integer = 0
+ Dim ContaAnt As Integer = 0
+ Dim FechaCorte As Date = ("9999/01/01").ToDate
- If DtCxCFact IsNot Nothing Then
- For Each Row As DataRow In DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})").Rows
- If Row("TipoDocto").ToString = "Ing" Or Row("TipoDocto").ToString = "Rem" Or (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble > 0) Then 'Ingresos
- ContaIng = ContaIng + 1
- If Row("CveMoneda").ToString.ToEntero = 1 Then
- SaldoIngPesos = SaldoIngPesos + Row("Saldo").ToString.ToDouble
- ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then
- SaldoIngDolares = SaldoIngDolares + Row("Saldo").ToString.ToDouble
- SaldoIngDolaresPesos = SaldoIngDolaresPesos + (Row("Saldo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble)
- End If
+ Dim TipoDocto2 As String = "'Ing','NC','Dev'"
+ Dim FechaVencimientoI As String = "-1"
+ Dim FechaVencimientoF As String = "-1"
+ Dim FI As String = "-1"
+ Dim FF As String = "-1"
+ Dim dtt As DataTable = Nothing
- ElseIf (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble = 0) Or Row("TipoDocto").ToString = "IxC" Or Row("TipoDocto").ToString = "NC" Or Row("TipoDocto").ToString = "Dev" Then 'Anticipos, NC, IxC
- ContaAnt = ContaAnt + 1
- If Row("CveMoneda").ToString.ToEntero = 1 Then
- If Row("TipoDocto").ToString = "Dev" Then
- SaldoAntPesos = SaldoAntPesos + Row("Saldo").ToString.ToDouble
- Else
- SaldoAntPesos = SaldoAntPesos + Row("SaldoAnticipo").ToString.ToDouble
- End If
- ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then
- SaldoAntDolares = SaldoAntDolares + Row("Saldo").ToString.ToDouble
- SaldoAntDolaresPesos = SaldoAntDolaresPesos + (Row("SaldoAnticipo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble)
+ Try
+ Using ObjMovtos As New ClsMovimientos()
+ If ObjMovtos.GetCxCClienteDetalle(Cliente.CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, CveClienteSucursal:=-1) Then
+ DtCxCFact = ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "TipoDocto")
+ 'cargo los anticipos NC
+ DtCxCFact.Columns.Add("SaldoAnticipo", GetType(Decimal))
+ If ObjMovtos.GetAnticiposNCIxCCliente(Cliente.CveCliente, -1, -1) Then
+ dtt = ObjMovtos.DtResultados.FiltraParametros("Saldo > 0 AND SaldoVentaAnticipo = 0 AND ((Tipo = 'IxC' AND CveIE > 0) OR (Tipo = 'Ant' AND CveVenta > 0) OR (Tipo = 'NC' AND CveVenta > 0) OR (Tipo = 'Egs' AND CveVenta > 0) )")
End If
End If
- Next
- End If
-
- TotalIng = SaldoIngPesos + SaldoIngDolaresPesos
- TotalAnt = SaldoAntPesos + SaldoAntDolaresPesos
-
- If TotalIng.RoundSQL(2) = 0 AndAlso TotalAnt.RoundSQL(2) = 0 Then
+ End Using
+ Catch ex As Exception
Retorno = False
+ dtt = Nothing
+ GuardaLog("Ocurrió un erro al obtener el CxC. " + ex.ToString())
+ End Try
+
+ If Not Retorno Then
Return Retorno
End If
- Dim DtCxCFact2 As DataTable = DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})")
-
- 'INGRESOS
- If SaldoIngPesos > 0 Then
- Dim drr As DataRow = DtCxCFact2.NewRow
- drr("SerieFolio") = "Total Ing Pesos"
- drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
- drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
- drr("Saldo") = SaldoIngPesos
- drr("CveMoneda") = 1
- DtCxCFact2.Rows.Add(drr)
- End If
- If SaldoIngDolares > 0 Then
- Dim drr As DataRow = DtCxCFact2.NewRow
- drr("SerieFolio") = "Total Ing Dólares"
- drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
- drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
- drr("Saldo") = SaldoIngDolares
- drr("CveMoneda") = 2
- DtCxCFact2.Rows.Add(drr)
- End If
-
- 'ANTICIPOS
- If SaldoAntPesos > 0 Then
- Dim drr As DataRow = DtCxCFact2.NewRow
- drr("SerieFolio") = "Total Pesos"
- drr("SaldoAnticipo") = SaldoAntPesos
- drr("CveMoneda") = 1
- DtCxCFact2.Rows.Add(drr)
- End If
- If SaldoAntDolares > 0 Then
- Dim drr As DataRow = DtCxCFact2.NewRow
- drr("SerieFolio") = "Total Dólares"
- drr("SaldoAnticipo") = SaldoAntDolares
- drr("CveMoneda") = 2
- DtCxCFact2.Rows.Add(drr)
- End If
-
- If DtCxCFact2 IsNot Nothing AndAlso DtCxCFact2.Rows.Count > 0 Then
- Dim dr As DataRow = DtCxCFact2.Rows(0)
- Dim lista = New List(Of CrystalParametro)
- lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
- lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo"))
- lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre))
- lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI)))
- lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF)))
- lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre))
- lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia)))
- lista.Add(New CrystalParametro("ClienteCP", Cliente.CP))
- lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad))
- lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC))
- lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono))
- lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza))
- lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito))
- lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito - DtCxCFact2(0)("Saldo").ToString.ToDouble).FormatoNumero))
- lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero))
- lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero))
- lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero))
- lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero))
- lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero))
- lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero))
- lista.Add(New CrystalParametro("ContaIng", ContaIng))
- lista.Add(New CrystalParametro("ContaAnt", ContaAnt))
-
- If Imagen.Exists Then
- lista.Add(New CrystalParametro("LogoPath", logouri))
- Else
- lista.Add(New CrystalParametro("LogoPath", ""))
+ Try
+ If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 Then
+ For Each drt As DataRow In dtt.Rows
+ Dim drr As DataRow = DtCxCFact.NewRow
+ drr("TipoDocto") = drt("Tipo")
+ drr("SerieFolio") = drt("Folio")
+ drr("Original") = drt("Original")
+ drr("TipoCambio") = drt("TipoCambio")
+ drr("Saldo") = 0
+ drr("SaldoAnticipo") = drt("Saldo")
+ drr("Fecha") = drt("Fecha")
+ drr("Moneda") = drt("Moneda")
+ drr("CveMoneda") = drt("CveMoneda")
+ DtCxCFact.Rows.Add(drr)
+ Next
End If
- Try
+ If DtCxCFact IsNot Nothing Then
+ For Each Row As DataRow In DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})").Rows
+ If Row("TipoDocto").ToString = "Ing" Or Row("TipoDocto").ToString = "Rem" Or (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble > 0) Then 'Ingresos
+ ContaIng = ContaIng + 1
+ If Row("CveMoneda").ToString.ToEntero = 1 Then
+ SaldoIngPesos = SaldoIngPesos + Row("Saldo").ToString.ToDouble
+ ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then
+ SaldoIngDolares = SaldoIngDolares + Row("Saldo").ToString.ToDouble
+ SaldoIngDolaresPesos = SaldoIngDolaresPesos + (Row("Saldo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble)
+ End If
+
+ ElseIf (Row("TipoDocto").ToString = "Ant" And Row("Saldo").ToString.ToDouble = 0) Or Row("TipoDocto").ToString = "IxC" Or Row("TipoDocto").ToString = "NC" Or Row("TipoDocto").ToString = "Dev" Then 'Anticipos, NC, IxC
+ ContaAnt = ContaAnt + 1
+ If Row("CveMoneda").ToString.ToEntero = 1 Then
+ If Row("TipoDocto").ToString = "Dev" Then
+ SaldoAntPesos = SaldoAntPesos + Row("Saldo").ToString.ToDouble
+ Else
+ SaldoAntPesos = SaldoAntPesos + Row("SaldoAnticipo").ToString.ToDouble
+ End If
+ ElseIf Row("CveMoneda").ToString.ToEntero = 2 Then
+ SaldoAntDolares = SaldoAntDolares + Row("Saldo").ToString.ToDouble
+ SaldoAntDolaresPesos = SaldoAntDolaresPesos + (Row("SaldoAnticipo").ToString.ToDouble * Row("TipoCambio").ToString.ToDouble)
+ End If
+ End If
+ Next
+ End If
+
+ TotalIng = SaldoIngPesos + SaldoIngDolaresPesos
+ TotalAnt = SaldoAntPesos + SaldoAntDolaresPesos
+
+ If TotalIng.RoundSQL(2) = 0 AndAlso TotalAnt.RoundSQL(2) = 0 Then
+ Retorno = False
+ Return Retorno
+ End If
+
+ Dim DtCxCFact2 As DataTable = DtCxCFact.FiltraParametros($"TipoDocto IN ({TipoDocto2})")
+
+ 'INGRESOS
+ If SaldoIngPesos > 0 Then
+ Dim drr As DataRow = DtCxCFact2.NewRow
+ drr("SerieFolio") = "Total Ing Pesos"
+ drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
+ drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
+ drr("Saldo") = SaldoIngPesos
+ drr("CveMoneda") = 1
+ DtCxCFact2.Rows.Add(drr)
+ End If
+ If SaldoIngDolares > 0 Then
+ Dim drr As DataRow = DtCxCFact2.NewRow
+ drr("SerieFolio") = "Total Ing Dólares"
+ drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
+ drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 2").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
+ drr("Saldo") = SaldoIngDolares
+ drr("CveMoneda") = 2
+ DtCxCFact2.Rows.Add(drr)
+ End If
+
+ 'ANTICIPOS
+ If SaldoAntPesos > 0 Then
+ Dim drr As DataRow = DtCxCFact2.NewRow
+ drr("SerieFolio") = "Total Pesos"
+ drr("SaldoAnticipo") = SaldoAntPesos
+ drr("CveMoneda") = 1
+ DtCxCFact2.Rows.Add(drr)
+ End If
+ If SaldoAntDolares > 0 Then
+ Dim drr As DataRow = DtCxCFact2.NewRow
+ drr("SerieFolio") = "Total Dólares"
+ drr("SaldoAnticipo") = SaldoAntDolares
+ drr("CveMoneda") = 2
+ DtCxCFact2.Rows.Add(drr)
+ End If
+
+ If DtCxCFact2 IsNot Nothing AndAlso DtCxCFact2.Rows.Count > 0 Then
+ Dim dr As DataRow = DtCxCFact2.Rows(0)
+ Dim lista = New List(Of CrystalParametro)
+ lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
+ lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo"))
+ lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre))
+ lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI)))
+ lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF)))
+ lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre))
+ lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia)))
+ lista.Add(New CrystalParametro("ClienteCP", Cliente.CP))
+ lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad))
+ lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC))
+ lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono))
+ lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza))
+ lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito))
+ lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito - DtCxCFact2(0)("Saldo").ToString.ToDouble).FormatoNumero))
+ lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero))
+ lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero))
+ lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero))
+ lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero))
+ lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero))
+ lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero))
+ lista.Add(New CrystalParametro("ContaIng", ContaIng))
+ lista.Add(New CrystalParametro("ContaAnt", ContaAnt))
+
+ If Imagen.Exists Then
+ lista.Add(New CrystalParametro("LogoPath", logouri))
+ Else
+ lista.Add(New CrystalParametro("LogoPath", ""))
+ End If
+
+ Try
+ If Archivo.Exists Then
+ ArchivoPDF = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
+ Else
+ ArchivoPDF = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
+ End If
+
+ Catch ex As Exception
+ ArchivoPDF = Nothing
+ GuardaLog("Ocurrió un erro al obtener el CxC" + ex.ToString())
+ End Try
+ Else
+ Dim lista = New List(Of CrystalParametro)
+ lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
+ lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo"))
+ lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre))
+ lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI)))
+ lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF)))
+ lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre))
+ lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia)))
+ lista.Add(New CrystalParametro("ClienteCP", Cliente.CP))
+ lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad))
+ lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC))
+ lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono))
+ lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza))
+ lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito))
+ lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito).FormatoNumero))
+
+ lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero))
+ lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero))
+ lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero))
+ lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero))
+ lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero))
+ lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero))
+ lista.Add(New CrystalParametro("ContaIng", ContaIng))
+ lista.Add(New CrystalParametro("ContaAnt", ContaAnt))
+
+ If Imagen.Exists Then
+ lista.Add(New CrystalParametro("LogoPath", logouri))
+ Else
+ lista.Add(New CrystalParametro("LogoPath", ""))
+ End If
+
+ Dim drr As DataRow = DtCxCFact2.NewRow
+ drr("SerieFolio") = "Total Ing Pesos"
+ drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
+ drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
+ drr("Saldo") = 0
+ drr("SaldoAnticipo") = 0
+ drr("CveMoneda") = 1
+ DtCxCFact2.Rows.Add(drr)
+
If Archivo.Exists Then
ArchivoPDF = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
Else
ArchivoPDF = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
End If
-
- Catch ex As Exception
- OnError("Ocurrió error al mandar MAIL de Orden de Compra", ex)
- End Try
- Else
- Dim lista = New List(Of CrystalParametro)
- lista.Add(New CrystalParametro("Empresa", UsuarioActual.Empresa.Empresa))
- lista.Add(New CrystalParametro("TipoCuentas", "Con Saldo"))
- lista.Add(New CrystalParametro("NombreCliente", Cliente.Nombre))
- lista.Add(New CrystalParametro("FechaInicio", If(FI = "-1", "-", FI)))
- lista.Add(New CrystalParametro("FechaFin", If(FF = "-1", DateTime.Now.ToShortDateString, FF)))
- lista.Add(New CrystalParametro("UsuarioImprimio", UsuarioActual.Nombre))
- lista.Add(New CrystalParametro("DireccionCliente", String.Format("Calle {0} #{1} Colonia {2}", Cliente.Direccion, If(Cliente.NoExt = "", "S/N", Cliente.NoExt), Cliente.Colonia)))
- lista.Add(New CrystalParametro("ClienteCP", Cliente.CP))
- lista.Add(New CrystalParametro("ClienteCiudad", Cliente.Ciudad))
- lista.Add(New CrystalParametro("ClienteRFC", Cliente.RFC))
- lista.Add(New CrystalParametro("ClienteTelefono", Cliente.Telefono))
- lista.Add(New CrystalParametro("DiasCredito", Cliente.PlazoCobranza))
- lista.Add(New CrystalParametro("LimiteCredito", Cliente.LimiteCredito))
- lista.Add(New CrystalParametro("SaldoDisponible", (Cliente.LimiteCredito).FormatoNumero))
-
- lista.Add(New CrystalParametro("SaldoIngDolares", SaldoIngDolares.FormatoNumero))
- lista.Add(New CrystalParametro("SaldoIngPesos", SaldoIngPesos.FormatoNumero))
- lista.Add(New CrystalParametro("TotalIng", TotalIng.FormatoNumero))
- lista.Add(New CrystalParametro("SaldoAntDolares", SaldoAntDolares.FormatoNumero))
- lista.Add(New CrystalParametro("SaldoAntPesos", SaldoAntPesos.FormatoNumero))
- lista.Add(New CrystalParametro("TotalAnt", TotalAnt.FormatoNumero))
- lista.Add(New CrystalParametro("ContaIng", ContaIng))
- lista.Add(New CrystalParametro("ContaAnt", ContaAnt))
-
- If Imagen.Exists Then
- lista.Add(New CrystalParametro("LogoPath", logouri))
- Else
- lista.Add(New CrystalParametro("LogoPath", ""))
End If
- Dim drr As DataRow = DtCxCFact2.NewRow
- drr("SerieFolio") = "Total Ing Pesos"
- drr("Original") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Original", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
- drr("Abonado") = DtCxCFact2.FiltraParametros("CveMoneda = 1").SUM("Abonado", "TipoDocto IN ('Ing','Rem') OR (TipoDocto = 'Ant' AND Saldo > 0)")
- drr("Saldo") = 0
- drr("SaldoAnticipo") = 0
- drr("CveMoneda") = 1
- DtCxCFact2.Rows.Add(drr)
+ Catch ex As Exception
+ GuardaLog("Ocurrió un error al generar el pdf" + ex.ToString())
+ ArchivoPDF = Nothing
+ End Try
- If Archivo.Exists Then
- ArchivoPDF = ImprimirPDFCrystal($"{UsuarioActual.Empresa.Ruta}Formatos/RepClientesCxC.rpt", DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
- Else
- ArchivoPDF = ImprimirPDFCrystal(HttpContext.Current.Server.MapPath("~/Empresas/Grales/Formatos/RepClientesCxC.rpt"), DtCxCFact2.FiltraParametros("", "CveMoneda,Fecha"), lista, "Estado de cuenta", Formato)
- End If
- End If
-
- Catch ex As Exception
- OnError("Ocurrió un error al generar el pdf", ex)
- ArchivoPDF = Nothing
- End Try
-
- If ArchivoPDF IsNot Nothing Then
- Try
- Dim Cuerpo As String = String.Format("Estimado cliente {0}, al presente del correo se anexa su estado actual de cartera en {1}.
+ If ArchivoPDF IsNot Nothing Then
+ Try
+ Dim Cuerpo As String = String.Format("Estimado cliente {0}, al presente del correo se anexa su estado actual de cartera en {1}.
Quedamos a sus ordenes para cualquier duda o aclaración con su agente de Ventas.
@@ -668,16 +782,18 @@ Public Class TareasProgramadas : Implements IHttpHandler
ESTE CORREO SE GENERO EN FORMA AUTOMATICA.", Cliente.NombreComercial, UsuarioActual.Empresa.Empresa)
- Dim Hilo As New System.Threading.Thread(Sub() MandaCorreo(ArchivoPDF, Correo, $"Estado Actual de Cartera {UsuarioActual.Empresa.Empresa}", Cuerpo))
- Hilo.Start()
- Retorno = True
- Catch ex As Exception
+ Retorno = MandaCorreo(ArchivoPDF, Correo, $"Estado Actual de Cartera {UsuarioActual.Empresa.Empresa}", Cuerpo)
+ Catch ex As Exception
+ Retorno = False
+ GuardaLog("Ocurrió error al mandar el correo de estado de cuenta. " + ex.ToString())
+ End Try
+ Else
Retorno = False
- OnError("Ocurrió error al mandar el correo de estado de cuenta", ex)
- End Try
- Else
+ End If
+ Catch ex As Exception
Retorno = False
- End If
+ GuardaLog("Ocurrió error al mandar el correo de estado de cuenta" + ex.ToString())
+ End Try
Return Retorno
End Function
@@ -749,7 +865,7 @@ Public Class TareasProgramadas : Implements IHttpHandler
Return Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, Body, Archivos:=LSRutasMail)
Catch ex As Exception
- OnError("Ocurrió un error al enviar el correo de edo cuenta", ex)
+ GuardaLog("Ocurrió error al mandar el correo de estado de cuenta. " + ex.ToString())
Return False
End Try
@@ -780,4 +896,430 @@ Public Class TareasProgramadas : Implements IHttpHandler
End Sub
#End Region
+#Region "S C O R E C A R D"
+ Private Sub CargaScoreCard(ByVal context As HttpContext, pCveEmpresa As Integer, FechaEnvio As DateTime)
+ Dim Usuario = ValidaUsuarioSistema(pCveEmpresa)
+ Dim obj = EjecutarEnvioScoreCard(Usuario, FechaEnvio)
+
+ End Sub
+
+ Private Function EjecutarEnvioScoreCard(UsuarioActual As Usuario, FechaEnvio As DateTime) As Boolean
+ Dim DtGrupoVendedores As DataTable = Nothing
+ Dim DtGrupoSucursales As DataTable = Nothing
+ Dim DtGrupoEmpresa As DataTable = Nothing
+
+ Using ObjVentas As New ClsVentas
+ 'VENDEDORES
+ If ObjVentas.GetRepMetasVendedores(FechaEnvio, UsuarioActual.CveEmpresa, -1, -1,
+ -1, -1, -1,
+ -1, -1, GrupoSuperior:=0) Then
+ DtGrupoVendedores = ObjVentas.DtResultados.Copy
+ End If
+ 'SUCURSAL
+ If ObjVentas.GetRepMetasVendedores(FechaEnvio, UsuarioActual.CveEmpresa, -1, -1,
+ -1, -1, -1,
+ -1, -1, GrupoSuperior:=1) Then
+ DtGrupoSucursales = ObjVentas.DtResultados.Copy
+ End If
+ 'EMPRESA
+ If ObjVentas.GetRepMetasVendedores(FechaEnvio, UsuarioActual.CveEmpresa, -1, -1,
+ -1, -1, -1,
+ -1, -1, GrupoSuperior:=2) Then
+ DtGrupoEmpresa = ObjVentas.DtResultados.Copy
+ End If
+ End Using
+
+ Dim DtUsuarios As DataTable = GlobalDTUsuariosE140()
+
+ Dim ListaDirectivos As New List(Of MUsuarioEnviar)
+ 'OSCAR FERNANDO LOPEZ CARRASCO
+ ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2138}"), TipoUsuarioEnviar.Directivo) With
+ {
+ .SubProyecto = "Todos",
+ .ReporteEnviar = New MReporteEnviar() With
+ {
+ .Empresa = True, .Sucursal = True, .Vendedor = True
+ }
+ })
+ 'ANA IVETTE LOPEZ CARRASCO
+ ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2292}"), TipoUsuarioEnviar.Directivo) With
+ {
+ .SubProyecto = "Todos",
+ .ReporteEnviar = New MReporteEnviar() With
+ {
+ .Empresa = True, .Sucursal = True, .Vendedor = True
+ }
+ })
+ 'FERNANDO MENDOZA LAMADRID
+ ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2275}"), TipoUsuarioEnviar.Directivo) With
+ {
+ .SubProyecto = "Todos",
+ .ReporteEnviar = New MReporteEnviar() With
+ {
+ .Empresa = True, .Sucursal = True, .Vendedor = True
+ }
+ })
+ 'CARLOS ARMANDO MORENO GONZALEZ
+ ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2763}"), TipoUsuarioEnviar.Directivo) With
+ {
+ .SubProyecto = "Todos",
+ .ReporteEnviar = New MReporteEnviar() With
+ {
+ .Empresa = True, .Sucursal = True, .Vendedor = True
+ }
+ })
+ 'EMMANUEL LOPEZ FIMBRES
+ ListaDirectivos.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3099}"), TipoUsuarioEnviar.Directivo) With
+ {
+ .SubProyecto = "Todos",
+ .ReporteEnviar = New MReporteEnviar() With
+ {
+ .Empresa = True, .Sucursal = True, .Vendedor = True
+ }
+ })
+
+ Dim PDFEmpresa As Byte() = GenerarScoredCardDirectivo(UsuarioActual, DtGrupoEmpresa)
+ Dim PDFSucursales As Byte() = GenerarScoredCardDirectivo(UsuarioActual, DtGrupoSucursales)
+ Dim PDFVendedores As Byte() = GenerarScoredCardDirectivo(UsuarioActual, DtGrupoVendedores)
+
+ For Each UsuarioEnviar In ListaDirectivos
+ Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
+
+ If UsuarioEnviar.ReporteEnviar.Empresa Then
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With
+ {
+ .ArchivoBinario = PDFEmpresa,
+ .NombreArchivo = "ScoreCardEmpresa.pdf"
+ })
+ End If
+
+ If UsuarioEnviar.ReporteEnviar.Sucursal Then
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With
+ {
+ .ArchivoBinario = PDFSucursales,
+ .NombreArchivo = "ScoreCardSucursales.pdf"
+ })
+ End If
+
+ If UsuarioEnviar.ReporteEnviar.Vendedor Then
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With
+ {
+ .ArchivoBinario = PDFVendedores,
+ .NombreArchivo = "ScoreCardVendedores.pdf"
+ })
+ End If
+
+ If LSRutasMail.Count > 0 Then
+ EnviarCorreoFactura(UsuarioActual, UsuarioEnviar, LSRutasMail)
+ End If
+
+ Next
+
+ Dim ListaVendedores As New List(Of MUsuarioEnviar)
+ 'LUIS FERNADO GRIJALVA COTA
+ ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3236} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor))
+ 'FERNANDO GRIJALVA
+ ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3293} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor))
+ 'ADRIAN MURRIETA
+ ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3352} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor))
+ 'BRAYAM URIEL CORRALES
+ ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {2700} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor))
+ 'DANIEL GASTELUM
+ ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3360} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor))
+ 'ALEJANDRA QUINTERO
+ ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3336} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor))
+ 'RICARDO FUENTES
+ ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3363} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor))
+ 'GERMAN LUNA
+ ListaVendedores.Add(New MUsuarioEnviar(DtUsuarios.FiltroPrimero($"CveUsuario = {3354} AND CveSubProyecto > 0"), TipoUsuarioEnviar.Vendedor))
+
+ For Each UsuarioEnviar In ListaVendedores
+ Dim LSRutasMail As New List(Of ClsSisMail.ArchivoMail)
+ Dim DtReporteVendedor As DataTable = Nothing
+
+ If UsuarioEnviar.CveSubProyecto > 0 AndAlso UsuarioEnviar.CveVendedor > 0 Then
+
+ Using ObjVentas As New ClsVentas
+ If ObjVentas.GetRepMetasVendedores(FechaEnvio, UsuarioActual.CveEmpresa, UsuarioEnviar.CveVendedor, -1,
+ -1, -1, -1, UsuarioEnviar.CveSubProyecto, -1, GrupoSuperior:=1) Then
+ DtReporteVendedor = ObjVentas.DtResultados.Copy
+ End If
+ End Using
+
+ LSRutasMail.Add(New ClsSisMail.ArchivoMail With
+ {
+ .ArchivoBinario = GenerarScoredCard(UsuarioActual, UsuarioEnviar, DtReporteVendedor),
+ .NombreArchivo = "ScoreCardSucursales.pdf"
+ })
+
+ If LSRutasMail.Count > 0 Then
+ EnviarCorreoFactura(UsuarioActual, UsuarioEnviar, LSRutasMail)
+ End If
+
+ End If
+ Next
+
+ Return False
+ End Function
+
+ Private Sub EnviarCorreoFactura(UsuarioActual As Usuario, UsuarioEnviar As MUsuarioEnviar, LSRutasMail As List(Of ClsSisMail.ArchivoMail))
+ Dim ObjMail As New ClsSisMail()
+ Dim Mail As String = "jonathan.perez@adssistemas.mx"
+ Dim MailCC As String = "rene.molina@adssistemas.mx"
+
+ Dim ExistePDF As Boolean = False
+
+ If Not String.IsNullOrEmpty(Mail) Then
+ Try
+ Dim Asunto As String = $"ScoreCard: {Now.ToString("dd/MM/yyyy")}"
+ Dim Cuerpo As String = String.Empty
+ Dim ResultadoMail As Integer = 0
+
+ If ObjMail.SendMail(ClsPaginas.EmpresaNotificaciones, Mail, Asunto, Cuerpo, If(String.IsNullOrEmpty(MailCC), "", MailCC), LSRutasMail) Then
+ ResultadoMail = 1
+ End If
+
+ Catch ex As Exception
+ OnError("Ocurrió error al mandar el Mail", ex)
+ End Try
+ End If
+ End Sub
+
+ Protected Function GenerarScoredCard(UsuarioActual As Usuario, UsuarioEnviar As MUsuarioEnviar, DtDatos As DataTable) As Byte()
+ 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", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa)
+
+ Dim params As New List(Of ReportParameter)
+ params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa))
+ If Imagen.Exists Then
+ params.Add(New ReportParameter("pImg", logouri))
+ Else
+ params.Add(New ReportParameter("pImg", ""))
+ End If
+ params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
+ params.Add(New ReportParameter("FechaImpresion", Today))
+ params.Add(New ReportParameter("SubProyecto", UsuarioEnviar.SubProyecto))
+ params.Add(New ReportParameter("Agente", UsuarioEnviar.Agente))
+
+
+ Dim lrds As New List(Of ReportDataSource)
+ Dim rds As New ReportDataSource
+ rds.Name = "DataSet1"
+ rds.Value = DtDatos
+ lrds.Add(rds)
+
+ Return StreamPDF(UsuarioActual, "Empresas/Grales/Formatos/MetasVendedores.rdlc", lrds, params, "Rep. Metas por vendedores", "PDF")
+ End Function
+
+ Protected Function GenerarScoredCardDirectivo(UsuarioActual As Usuario, DtDatos As DataTable) As Byte()
+ 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", HttpContext.Current.Request.Url.Scheme, HttpContext.Current.Request.Url.Host, HttpContext.Current.Request.Url.Port, UsuarioActual.CveEmpresa)
+
+ Dim params As New List(Of ReportParameter)
+ params.Add(New ReportParameter("pEmp", UsuarioActual.Empresa.Empresa))
+ If Imagen.Exists Then
+ params.Add(New ReportParameter("pImg", logouri))
+ Else
+ params.Add(New ReportParameter("pImg", ""))
+ End If
+ params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Usuario))
+ params.Add(New ReportParameter("FechaImpresion", Today))
+ params.Add(New ReportParameter("SubProyecto", "Todos"))
+ params.Add(New ReportParameter("Agente", "Todos"))
+
+
+ Dim lrds As New List(Of ReportDataSource)
+ Dim rds As New ReportDataSource
+ rds.Name = "DataSet1"
+ rds.Value = DtDatos
+ lrds.Add(rds)
+
+ Return StreamPDF(UsuarioActual, "Empresas/Grales/Formatos/MetasVendedores.rdlc", lrds, params, "Rep. Metas por vendedores", "PDF")
+ End Function
+
+ Public Enum TipoUsuarioEnviar
+ Directivo
+ Vendedor
+ End Enum
+
+ Public Class MUsuarioEnviar
+
+ Sub New(RowUsuario As DataRow, Tipo As TipoUsuarioEnviar)
+ If RowUsuario IsNot Nothing Then
+ Me.CveUsuario = RowUsuario("CveUsuario").ToString().ToEntero()
+ Me.Nombre = RowUsuario("Nombre").ToString()
+ Me.Correo = RowUsuario("Correo").ToString()
+ Me.CveSubProyecto = RowUsuario("CveSubProyecto").ToString().ToEntero()
+ Me.CveVendedor = RowUsuario("CveVendedor").ToString().ToEntero()
+ Me.Tipo = Tipo
+
+ If Me.Tipo = TipoUsuarioEnviar.Vendedor Then
+ Me.Agente = Me.Nombre
+ Else
+ Me.Agente = "Todos"
+ End If
+
+ If String.IsNullOrEmpty(SubProyecto) AndAlso CveSubProyecto > 0 Then
+ Me.SubProyecto = GlobalDTSubProyectosE140(-1, CveSubProyecto:=Me.CveSubProyecto).FiltroPrimeroValor("SubProyecto")
+ End If
+ End If
+
+ End Sub
+
+ Public Property CveUsuario As Integer
+ Public Property Nombre As String
+ Public Property Tipo As TipoUsuarioEnviar
+ Public Property ReporteEnviar As MReporteEnviar
+ Public Property CveSubProyecto As Integer
+ Public Property SubProyecto As String
+ Public Property Correo As String
+ Public Property CveVendedor As Integer
+ Public Property Agente As String
+
+ End Class
+
+ Public Class MReporteEnviar
+ Public Property Empresa As Boolean = False
+ Public Property Sucursal As Boolean = False
+ Public Property Vendedor As Boolean = False
+ End Class
+
+ Public Function StreamPDF(UsuarioActual As Usuario, RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte()
+ 'limpio ReportViwer
+ Dim sw As New System.Diagnostics.Stopwatch()
+ sw.Start()
+ Dim Bytes As Byte() = Nothing
+
+ Dim CveUsuario As Integer = 0
+ Dim CveEmpresa As Integer = 0
+ Dim RutaEmpresa As String = ""
+
+ If UsuarioActual IsNot Nothing Then
+ CveUsuario = UsuarioActual.CveUsuario
+ CveEmpresa = UsuarioActual.CveEmpresa
+ RutaEmpresa = UsuarioActual.Empresa.RutaArchivos
+ End If
+
+ Dim bdir As String = If(RutaReporte.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory)
+
+ 'TOMAR LA RUTA BASE PARA EL DIRECTORIO DE LA EMPRESA
+ If Not String.IsNullOrEmpty(RutaEmpresa) AndAlso Not RutaReporte.Contains("Grales") Then
+ bdir = RutaEmpresa.Replace($"{CveEmpresa}/", "")
+ End If
+
+ RutaReporte.Replace("/", "\")
+
+ If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
+ RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
+ End If
+
+ Dim EsProduccion As Boolean = UsuarioActual.Empresa.FacturaProduccion
+
+ If EsProduccion Then
+
+ Dim wsreport As New WSRDLC.WebServiceSoapClient
+ Dim params As New List(Of WSRDLC.ReportParameter)
+ Dim ds As New DataSet
+ For Each rpds As ReportDataSource In DataSource
+ Dim dt As DataTable = DirectCast(rpds.Value, Data.DataTable)
+ If dt Is Nothing Then
+ dt = New DataTable()
+ Else
+ dt = dt.Copy()
+ End If
+ dt.TableName = rpds.Name
+ ds.Tables.Add(dt)
+ Next
+ For Each rpds As ReportParameter In Parametros
+ Dim param As New WSRDLC.ReportParameter
+ param.Name = rpds.Name
+ param.Values = {rpds.Values(0)}
+ params.Add(param)
+ Next
+ Bytes = wsreport.StreamPDFBytes(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario)
+ wsreport = Nothing
+ params = Nothing
+ ds.Dispose() : ds = Nothing
+ Else
+ If IsNothing(MR) Then MR = New ReportViewer
+ Try
+ ' MasterReporteador.LocalReport.DataSources.Clear()
+ For Each RDS As ReportDataSource In DataSource
+ MR.LocalReport.DataSources.Add(RDS)
+ Next
+
+ MR.LocalReport.ReportPath = RutaReporte
+ MR.ProcessingMode = ProcessingMode.Local
+ MR.LocalReport.EnableExternalImages = True
+ MR.LocalReport.SetParameters(Parametros)
+ MR.LocalReport.Refresh()
+ Dim Warnings As Warning() = Nothing
+ Dim StreamIds As String() = Nothing
+ Dim MimeType As String = Nothing
+ Dim Encoding As String = Nothing
+ Dim Extension As String = Nothing
+ Bytes = MR.LocalReport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds, Warnings)
+ Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException
+ GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
+ 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
+ 'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
+ Catch ex As Exception
+ GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
+ 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
+ 'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
+ End Try
+ MR.Dispose()
+ MR = Nothing
+ 'Dim ruta = wsreport.StreamPDF(RutaReporte, ds, params.ToArray(), NombreArchivo, Formato, CveEmpresa, CveUsuario)
+ 'If File.Exists(ruta) Then
+ ' Bytes = File.ReadAllBytes(ruta)
+ ' File.Delete(ruta)
+ 'End If
+ 'Dim setup As AppDomainSetup = New AppDomainSetup
+ 'With setup
+ ' .ApplicationBase = Environment.CurrentDirectory
+ ' .LoaderOptimization = LoaderOptimization.MultiDomainHost
+ 'End With
+ 'setup.SetCompatibilitySwitches({"NetFx40_LegacySecurityPolicy"})
+ 'Dim _casPolicyEnabledDomain As AppDomain = AppDomain.CreateDomain("Full Trust", Nothing, setup)
+ 'Dim fllreport As ADSReportLib.FullTrustReportviewer = Nothing
+ 'Try
+
+ ' fllreport = CType(_casPolicyEnabledDomain.CreateInstanceFromAndUnwrap(GetType(ADSReportLib.FullTrustReportviewer).Assembly.CodeBase, GetType(ADSReportLib.FullTrustReportviewer).FullName), ADSReportLib.FullTrustReportviewer)
+
+ ' fllreport.Initialize("DisplayName", RutaReporte, Parametros.AsEnumerable(), New List(Of String()), True)
+ ' For Each RDS As ReportDataSource In DataSource
+ ' fllreport.AddDataSources(RDS.Name, DirectCast(RDS.Value, DataTable))
+ ' Next
+ ' Dim Warnings As Warning() = Nothing
+ ' Dim StreamIds As String() = Nothing
+ ' Dim MimeType As String = Nothing
+ ' Dim Encoding As String = Nothing
+ ' Dim Extension As String = Nothing
+ ' Bytes = fllreport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds)
+ ' fllreport = Nothing
+ 'Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException
+ ' GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
+ ' 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
+ ' 'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
+ 'Catch ex As Exception
+ ' GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
+ ' 'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
+ ' 'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
+ 'Finally
+ ' AppDomain.Unload(_casPolicyEnabledDomain)
+ 'End Try
+ 'If fllreport IsNot Nothing Then fllreport.liberarecursos()
+
+ End If
+ sw.Stop()
+
+ If sw.Elapsed.TotalSeconds > 5 Then
+ GuardaLog($"Reporte:{RutaReporte} | Tiempo Renderizado Milisegundos: {sw.ElapsedMilliseconds},Total Segundos: {sw.Elapsed.TotalSeconds} ")
+ End If
+
+ Return Bytes
+ End Function
+#End Region
+
End Class
\ No newline at end of file
diff --git a/Bancos/Creditos.aspx.vb b/Bancos/Creditos.aspx.vb
index b82881c22..6cf2c2d90 100644
--- a/Bancos/Creditos.aspx.vb
+++ b/Bancos/Creditos.aspx.vb
@@ -1115,6 +1115,9 @@ Partial Class Bancos_Creditos
Dim Row As DataRow = Nothing
DTAmortizacion.Rows.Clear()
+
+ Dim MensajeImportesIncorrectos As Boolean = False
+
For i = 1 To TxtPlazo.Text.ToEntero
Row = DTAmortizacion.NewRow()
@@ -1130,15 +1133,29 @@ Partial Class Bancos_Creditos
Else
Row("Intereses") = IPmt(Tasa, i.ToString.ToDouble, TxtPlazo.Text.ToDouble, TxtTotalCredito.Text.ToDouble) * -1
Row("Capital") = PPmt(Tasa, i, TxtPlazo.Text.ToDouble, TxtTotalCredito.Text.ToDouble) * -1 'TxtMensualidad.Text.ToDouble - Row("Intereses").ToString.ToDouble
+ 'Row("Capital") = TxtMensualidad.Text.ToDouble - Row("Intereses").ToString.ToDouble
' Row("IVA") = 0.0
End If
Row("SaldoInsoluto") = If(i > 1, DTAmortizacion(i - 2)("SaldoInsoluto").ToString.ToDouble, TxtTotalCredito.Text.ToDouble) - If(i > 1, DTAmortizacion(i - 2)("Capital").ToString.ToDouble, 0)
+
Row("IVACapital") = Row("Capital").ToString.ToDouble * TxtIVA.Text.ToDouble / 100
Row("IVAIntereses") = Row("Intereses").ToString.ToDouble * TxtIVA.Text.ToDouble / 100
Row("IVASeguro") = Row("Seguro").ToString.ToDouble * TxtIVA.Text.ToDouble / 100
+
Row("ImportePago") = 0
+ Row("Mensualidad") = Row("Capital").ToString.ToDecimal + Row("Intereses").ToString.ToDecimal + Row("Seguro").ToString.ToDecimal + Row("IVACapital").ToString.ToDecimal + Row("IVAIntereses").ToString.ToDecimal + Row("IVASeguro").ToString.ToDecimal
+
+ Dim ImporteMensualidad As Decimal = Row("Capital").ToString.ToDecimal + Row("Intereses").ToString.ToDecimal + Row("Seguro").ToString.ToDecimal + Row("IVACapital").ToString.ToDecimal + Row("IVAIntereses").ToString.ToDecimal + Row("IVASeguro").ToString.ToDecimal
+
+ Dim diferencia As Decimal = Math.Abs(ImporteMensualidad - TxtMensualidad.Text.ToDecimal)
+ If diferencia > 1 And Not MensajeImportesIncorrectos Then
+ Alert("El calculo de la mensualiadad Capital, Interes, seguro, IVA Capital, IVA Interes, IVA Seguro no coincide.", TipoMensaje.MsgAdvertencia)
+ MensajeImportesIncorrectos = True
+ End If
+
+
DTAmortizacion.Rows.Add(Row)
Next
diff --git a/Bin/GoCfdi.dll b/Bin/GoCfdi.dll
index 0fb132ef3..0e4145017 100644
Binary files a/Bin/GoCfdi.dll and b/Bin/GoCfdi.dll differ
diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb
index e304c226a..398a7575e 100644
--- a/Compras/PopUpVerFactura.aspx.vb
+++ b/Compras/PopUpVerFactura.aspx.vb
@@ -379,8 +379,8 @@ Partial Class PopUpVerFactura
End If
If UrlParametros("OP").ToString = "CARPOTIMBRE" Then
- If UrlParametros("CVEMOV") IsNot Nothing AndAlso UrlParametros("CVEMOV").ToString.ToEntero > 0 Then
- ImprimeFormatoCartaPorteTimbrado(UrlParametros("CVEMOV").ToString.ToEntero)
+ If UrlParametros("CVETIMBRE") IsNot Nothing AndAlso UrlParametros("CVETIMBRE").ToString.ToEntero > 0 Then
+ ImprimeFormatoCartaPorteTimbrado(UrlParametros("CVETIMBRE").ToString.ToEntero)
End If
End If
@@ -670,8 +670,10 @@ Partial Class PopUpVerFactura
#Region "OP = 'CONG' - IMPRIME GASTO DE CONTRATO"
Private Sub ImprimeGastoContrato(CveContrato As Integer, CveContratoGasto As Integer)
+
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)
+
Dim Dr As DataRow = Nothing
Dim ObjContratos As New ClsContratos
If Not ObjContratos.GetContratos(CveContrato, UsuarioActual.CveEmpresa) Or Not ObjContratos.DtResultados.Rows.Count > 0 Then
@@ -841,12 +843,19 @@ Partial Class PopUpVerFactura
If Dt.Rows.Count > 0 Then
Dim params As New List(Of ReportParameter)
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
+ Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa)
+
+
+ params.Add(New ReportParameter("LogoPath", If(Imagen.Exists, ImageToBase64(Drawing.Image.FromFile(Imagen.FullName), Drawing.Imaging.ImageFormat.Png), "")))
+
+ 'If Imagen.Exists Then
+ ' params.Add(New ReportParameter("LogoPath", logouri))
+
+
+ 'Else
+ ' params.Add(New ReportParameter("LogoPath", ""))
+ 'End If
+
params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
params.Add(New ReportParameter("FechaImpresion", Now.ToDateTime.ToShortDateString))
@@ -888,8 +897,8 @@ Partial Class PopUpVerFactura
End If
End Function
- Private Sub ImprimeFormatoCartaPorteTimbrado(CveMovimiento As Integer)
- If CveMovimiento > 0 Then
+ Private Sub ImprimeFormatoCartaPorteTimbrado(CveTimbre As Integer)
+ If CveTimbre > 0 Then
'01 Autotransporte Federal
'02 Transporte Marítimo
@@ -935,13 +944,14 @@ Partial Class PopUpVerFactura
Dim SelloCFDi As String = ""
Dim SelloSAT As String = ""
- Dim ObjInv As New ClsInventarios
- If ObjInv.GetMovimientos(CveMovimiento, -1, -1, UsuarioActual.CveEmpresa) Then
+ Dim ObjInv As New ClsGenerales
+
+ If ObjInv.GetGralTimbre(CveTimbre, "-1", "-1", -1, MinFecha, MaxFecha, -1, UsuarioActual.CveEmpresa, -1, -1) Then
If ObjInv.DtResultados.Rows.Count > 0 Then
Dim Dr As DataRow = ObjInv.DtResultados.Rows(0)
If Dr IsNot Nothing Then
- SerieFolio = Dr("Folio").ToString
- Telefono = Dr("Telefono1").ToString
+ SerieFolio = Dr("SerieFolio").ToString
+ Telefono = Dr("ChrTelefono").ToString
End If
End If
End If
@@ -973,7 +983,7 @@ Partial Class PopUpVerFactura
DtOperadores.Columns.Add(New DataColumn("NombreOperador", GetType(String)))
Dim XMLDoc As New XmlDocument
- Dim Path As String = String.Format("{0}\{1}\{2}\{3}.{4}", UsuarioActual.Empresa.Ruta, "XML", "Tra", String.Format("Tra-{0}", SerieFolio), "xml")
+ Dim Path As String = String.Format("{0}\{1}\{2}\{3}.{4}", UsuarioActual.Empresa.Ruta, "XML", "Tra", String.Format("{0}", SerieFolio), "xml")
Dim Archivo As New System.IO.FileInfo(Path)
If Archivo.Exists Then
@@ -992,7 +1002,7 @@ Partial Class PopUpVerFactura
If XMLDoc IsNot Nothing AndAlso Archivo.Exists Then
- Dim RutaCBB As String = String.Format("{0}\CBB\Tra-{1}.jpg", UsuarioActual.Empresa.Ruta, SerieFolio)
+ Dim RutaCBB As String = String.Format("{0}\CBB\{1}.jpg", UsuarioActual.Empresa.Ruta, SerieFolio)
Dim ImagenCBB As New System.IO.FileInfo(RutaCBB)
Dim nodo As XmlNode = XMLDoc.DocumentElement
@@ -1141,7 +1151,7 @@ Partial Class PopUpVerFactura
CBB.GenerarCBB(UsuarioActual.Empresa.RFC, ClienteRFC, Total, FolioFiscal, RutaCBB)
End If
- ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/Tra-{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, SerieFolio)
+ ImgCBB = String.Format("{0}://{1}:{2}/Empresas/{3}/CBB/{4}.jpg", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa, SerieFolio)
End If
If DtConceptos.Rows.Count > 0 Then
diff --git a/Compras/RepProductosServicios.aspx.vb b/Compras/RepProductosServicios.aspx.vb
index bed86756b..b3d4480b2 100644
--- a/Compras/RepProductosServicios.aspx.vb
+++ b/Compras/RepProductosServicios.aspx.vb
@@ -191,6 +191,13 @@ Partial Class Compras_RepProductosServicios
DdlGrupo.Items.Insert(7, New ListItem("Proveedor", "10"))
DdlGrupo.Items.Insert(8, New ListItem("Usuario", "11"))
DdlGrupo.Items.Insert(9, New ListItem("Estatus Fact.", "12"))
+
+ 'Agrega el grupo si es una empresa Agricola
+ If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
+ DdlGrupo.Items.Insert(9, New ListItem("Cultivo", "15"))
+ End If
+
+
DdlGrupo.DataBind()
DdlGrupo.SelectedValueExist("8")
End Sub
@@ -296,7 +303,7 @@ Partial Class Compras_RepProductosServicios
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
- If DdlGrupo.SelectedValue.ToEntero < 13 Then
+ If DdlGrupo.SelectedValue.ToEntero < 13 Or DdlGrupo.SelectedValue.ToEntero = 15 Then
If e.Row.DBCampo("GpoID") = "1" Then
e.Row.Cells(0).Text = e.Row.DBCampo("Moneda")
e.Row.CssClass = "Totales"
diff --git a/Compras/RepProductosServiciosDetalle.aspx.vb b/Compras/RepProductosServiciosDetalle.aspx.vb
index 9e444510f..879869d8f 100644
--- a/Compras/RepProductosServiciosDetalle.aspx.vb
+++ b/Compras/RepProductosServiciosDetalle.aspx.vb
@@ -296,6 +296,12 @@ Partial Class Compras_RepProductosServiciosDetalle
DdlGrupo.Items.Insert(7, New ListItem("Proveedor", "10"))
DdlGrupo.Items.Insert(8, New ListItem("Usuario", "11"))
DdlGrupo.Items.Insert(9, New ListItem("Estatus Fact.", "12"))
+
+ 'Agrega el grupo si es una empresa Agricola
+ If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
+ DdlGrupo.Items.Insert(9, New ListItem("Cultivo", "15"))
+ End If
+
DdlGrupo.DataBind()
DdlGrupo.SelectedValueExist("8")
End Sub
diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb
index 322ac5493..481b142a8 100644
--- a/Compras/eFacturas.aspx.vb
+++ b/Compras/eFacturas.aspx.vb
@@ -3282,43 +3282,52 @@ Partial Class Compras_eFacturas
For Each dRow As DataRow In DTGVPagosVinculacion.Rows
-
If HdnIdDocumento.Value = dRow("IdDocumento").ToString Then 'And dRow("CveIE").ToString.ToEntero <= 0
dRow("CveIE") = HdnCveIE.Value.ToEntero
Dim ObjIE As New ClsBancos()
- 'If ObjIE.GetBancosIE(HdnCveIE.Value.ToEntero, UsuarioActual.CveEmpresa) Then
- ' Try
- ' dRow("FolioPago") = ObjIE.Folio
- ' dRow("ImportePago") = dRow("ImpPagado")
- ' dRow("FechaPago") = ObjIE.FechaDocumento
- ' dRow("Tipo") = "E"
- ' ' dRow("Diferencia") = 0D
- ' dRow("Manual") = True
-
- ' Catch ex As Exception
-
- ' End Try
-
- 'End If
-
Dim ObjCompras As New ClsCompras
If ObjCompras.GetCompararComplementoPago(CveProveedor, -1, "", UsuarioActual.CveEmpresa, HdnCveIE.Value.ToEntero) Then
- Try
- dRow("FolioPago") = ObjCompras.DtResultados(0)("FolioIE")
- dRow("ImportePago") = dRow("ImpPagado")
- dRow("FechaPago") = ObjCompras.DtResultados(0)("Fecha").ToString.ToDate
- dRow("CvePrePolizaDetalle") = ObjCompras.DtResultados(0)("CvePrePolizaDetalle").ToString.ToEntero
- dRow("Tipo") = "E"
- ' dRow("Diferencia") = 0D
- dRow("Manual") = True
- Catch ex As Exception
- End Try
+ Dim CompraEncontrada As Boolean = False
+
+
+ For Each drowComparar As DataRow In ObjCompras.DtResultados.Rows
+
+ If drowComparar("CveCompraPrePoliza").ToString.ToEntero > 0 AndAlso (dRow("CveCompra").ToString.ToEntero = drowComparar("CveCompraPrePoliza").ToString.ToEntero) Then
+ dRow("FolioPago") = drowComparar("FolioIE")
+ dRow("ImportePago") = dRow("ImpPagado")
+ dRow("FechaPago") = drowComparar("Fecha").ToString.ToDate
+ dRow("CvePrePolizaDetalle") = drowComparar("CvePrePolizaDetalle").ToString.ToEntero
+ dRow("Tipo") = "E"
+ dRow("Manual") = True
+ CompraEncontrada = True
+ Exit For
+ End If
+
+ Next
+
+
+ If Not CompraEncontrada Then
+
+ Try
+ dRow("FolioPago") = ObjCompras.DtResultados(0)("FolioIE")
+ dRow("ImportePago") = dRow("ImpPagado")
+ dRow("FechaPago") = ObjCompras.DtResultados(0)("Fecha").ToString.ToDate
+ dRow("CvePrePolizaDetalle") = ObjCompras.DtResultados(0)("CvePrePolizaDetalle").ToString.ToEntero
+ dRow("Tipo") = "E"
+ dRow("Manual") = True
+ Catch ex As Exception
+
+ End Try
+
+ End If
+
+
End If
ObjCompras.Dispose()
@@ -3341,89 +3350,6 @@ Partial Class Compras_eFacturas
ValidaTablaDeVinculacion()
- Exit Sub
-
- '**********************************************************************************************************************
-
-
-
-
-
- 'If HdnCveIE.Value <> "-1" AndAlso IsNumeric(HdnCveIE.Value) AndAlso HdnCveIE.Value.ToEntero > 0 Then
-
- ' Dim ImportePago As Double = 0
- ' Dim ImporteIES As Double = 0
- ' Dim SerieFolioIE As String = ""
- ' Dim ObjCompras As New ClsCompras
- ' Dim ErrorVinculacion = True
-
- ' If ObjCompras.GetCompararComplementoPago(CveProveedor, -1, "", UsuarioActual.CveEmpresa, HdnCveIE.Value.ToEntero) Then
-
- ' For Each Drow As DataRow In ObjCompras.DtResultados.Rows
- ' For Each GvRow As GridViewRow In GVPDocumentosRelacionadosPagos.Rows
-
- ' If GvRow.RowType = DataControlRowType.DataRow Then
-
- ' If Drow("CveCompra").ToString.ToEntero = GvRow.DataKey("CveCompra").ToEntero Then
-
- ' GvRow.FCLabel("LblCveIE").Text = Drow("CveIE").ToString.ToEntero.ToString
- ' GvRow.FCLabel("LblCvePrePolizaDetalle").Text = Drow("CvePrePolizaDetalle").ToString.ToEntero.ToString
-
- ' End If
-
- ' End If
-
- ' Next
- ' Next
-
-
- ' For Each GvRow As GridViewRow In GVPDocumentosRelacionadosPagos.Rows
- ' If GvRow.RowType = DataControlRowType.DataRow Then
-
- ' If GvRow.FCLabel("LblCveIE").Text.ToEntero > 0 And GvRow.FCLabel("LblCvePrePolizaDetalle").Text.ToEntero > 0 Then
- ' ErrorVinculacion = False
-
- ' Else
-
- ' If ObjCompras.DtResultados.Rows.Count > 0 Then
- ' GvRow.FCLabel("LblCveIE").Text = ObjCompras.DtResultados(0)("CveIE").ToString.ToEntero.ToString
- ' GvRow.FCLabel("LblCvePrePolizaDetalle").Text = ObjCompras.DtResultados(0)("CvePrePolizaDetalle").ToString.ToEntero.ToString
- ' Else
- ' ErrorVinculacion = True
- ' Exit For
- ' End If
-
- ' End If
- ' End If
-
- ' Next
-
-
- ' Else
- ' ErrorVinculacion = True
- ' End If
-
- ' If Not ErrorVinculacion Then
- ' ImporteIES = ObjCompras.DtResultados.FiltraParametros("CveIE > 0").SUM("Importe")
- ' ObjCompras.Dispose()
-
- ' BtnVincularPago.Visible = True
-
- ' LblSerieFolioPago.Text = $"{SeriePago}-{FolioPago}"
- ' LblImportePago.Text = ImportePago.FormatoNumero
- ' 'LblSerieFolioIE.Text = SerieFolioIE
- ' LblImporteIE.Text = ImporteIES.FormatoNumero
-
- ' GvVincularPago.DataBind()
- ' UpVincularPago.Update()
- ' ObjCompras.Dispose()
-
- ' Else
- ' Alert("No se pudo realizar la vinculacion manual", TipoMensaje.MsgAdvertencia)
- ' End If
-
-
- 'End If
End Sub
diff --git a/Contabilidad/RepEstadoResultadosPorSegmento.aspx.vb b/Contabilidad/RepEstadoResultadosPorSegmento.aspx.vb
index a62d5c72a..f1953d5d4 100644
--- a/Contabilidad/RepEstadoResultadosPorSegmento.aspx.vb
+++ b/Contabilidad/RepEstadoResultadosPorSegmento.aspx.vb
@@ -269,9 +269,10 @@ Partial Class Contabilidad_RepEstadoResultadosPorSegmento
If DSDatos IsNot Nothing AndAlso DSDatos.Tables.Count = 2 Then
Try
-
HDSegmentos.Value = DSDatos.Tables(2).Rows(0)(0).ToString
+
liLnkDescarPersonalizado.Visible = True
+
Catch ex As Exception
End Try
diff --git a/Contabilidad2/CatCuentasAsignaciones.aspx b/Contabilidad2/CatCuentasAsignaciones.aspx
index 4d4a155cd..c48771d03 100644
--- a/Contabilidad2/CatCuentasAsignaciones.aspx
+++ b/Contabilidad2/CatCuentasAsignaciones.aspx
@@ -69,13 +69,15 @@
-
+
+
+
diff --git a/Contabilidad2/CatCuentasAsignaciones.aspx.vb b/Contabilidad2/CatCuentasAsignaciones.aspx.vb
index 70d115657..8acd80a65 100644
--- a/Contabilidad2/CatCuentasAsignaciones.aspx.vb
+++ b/Contabilidad2/CatCuentasAsignaciones.aspx.vb
@@ -39,16 +39,21 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
Dim ObjConta As New ClsContabilidad
If ObjConta.GetCuentasAsignacionesSistema(UsuarioActual.CveEmpresa, DdlTipo.SelectedValue.ToEntero, DdlOpcion.SelectedValue.ToEntero) Then
GvDatos.DataSource = ObjConta.DtResultados
- End If
+ End If
+ GvDatos.Columns(4).Visible = ObjConta.DtResultados.MAX("CveSubProyecto").ToEntero > 0
+ GvDatos.Columns(5).Visible = ObjConta.DtResultados.MAX("PorcentajeIVA").ToDecimal > 0
If ObjConta.GetCuentasGlobales(UsuarioActual.CveEmpresa) Then
GvGlobal.DataSource = ObjConta.DtResultados
- End If
-
+ End If
+
+
ObjConta.Dispose()
GvDatos.DataBind()
GvGlobal.DataBind()
UpDatos.Update()
+
+
End Sub
@@ -80,6 +85,7 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
DdlActivoFijo.DataSource = GlobalDTActivoFijos(UsuarioActual.CveEmpresa)
DdlSubProyectos.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
+ DdlSubProyectos.Items.Insert(0, New ListItem("-", "0"))
Dim ObjBancos As New ClsBancos
If ObjBancos.GetBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) Then
@@ -129,6 +135,7 @@ Partial Class Contabilidad2_CatCuentasAsignaciones
TxtIdCuentaContable.Text = GvRow.DataKey("IdCuenta")
TxtPorcentajeIVA.Text = GvRow.DataKey("PorcentajeIVA")
DdlCuentaBancaria.SelectedValueExist(GvRow.DataKey("CveBancoCuenta"))
+ DdlSubProyectos.SelectedValueExist(GvRow.DataKey("CveSubProyecto").ToEntero)
Dim CveCliente As Integer = GvRow.DataKey("CveCliente").ToEntero
Dim CvePersonal As Integer = GvRow.DataKey("CvePersonal").ToEntero
diff --git a/Contabilidad2/RepEstadoActividades.aspx.vb b/Contabilidad2/RepEstadoActividades.aspx.vb
index c9d8051e6..4f11a4492 100644
--- a/Contabilidad2/RepEstadoActividades.aspx.vb
+++ b/Contabilidad2/RepEstadoActividades.aspx.vb
@@ -254,8 +254,8 @@ Partial Class AC_RepEstadoActividades
End If
If e.Row.DBCampo("CtaMayor").ToString.ToEntero > 0 Then
- e.Row.FCHyperLink("HLActual").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString)
- e.Row.FCHyperLink("HLAnterior").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString)
+ e.Row.FCHyperLink("HLActual").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1&CveSubProyecto={3}", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString, DdlSubproyecto.SelectedValue)
+ e.Row.FCHyperLink("HLAnterior").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1&CveSubProyecto={3}", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString, DdlSubproyecto.SelectedValue)
End If
@@ -283,8 +283,8 @@ Partial Class AC_RepEstadoActividades
End If
If e.Row.DBCampo("CtaMayor").ToString.ToEntero > 0 Then
- e.Row.FCHyperLink("HLActual").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString)
- e.Row.FCHyperLink("HLAnterior").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString)
+ e.Row.FCHyperLink("HLActual").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1&CveSubProyecto={3}", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString, DdlSubproyecto.SelectedValue)
+ e.Row.FCHyperLink("HLAnterior").NavigateUrl = String.Format("/Contabilidad2/RepAnexoCatalogo.aspx?CveCuenta={0}&FF={1}&FI={2}&ER=1&CveSubProyecto={3}", e.Row.DBCampo("CveCuenta"), e.Row.DBCampo("FechaFActual").ToDate.ToShortDateString, e.Row.DBCampo("FechaInicial").ToDate.ToShortDateString, DdlSubproyecto.SelectedValue)
End If
If e.Row.DBCampo("ImporteActual").ToString.ToDouble < 0 Then
diff --git a/Empresas/1/Formatos/Traspaso.rdlc b/Empresas/1/Formatos/Traspaso.rdlc
index 6b8926333..189c9fe92 100644
--- a/Empresas/1/Formatos/Traspaso.rdlc
+++ b/Empresas/1/Formatos/Traspaso.rdlc
@@ -13,8 +13,7 @@
"Este documento es una representación impresa de un CFDI"
@@ -28,16 +27,14 @@
Folio fiscal: =Parameters!FolioFiscal.Value
@@ -49,32 +46,28 @@
Fecha y hora de certificación: =Parameters!FechaCertificacion.Value Número de serie del Certificado de Sello Digital: =Parameters!CertificadoContribuyente.Value
@@ -86,16 +79,14 @@
Sello digital del CFDI: Número de serie del Certificado de Sello Digital del SAT: =Parameters!SerieCertificadoSAT.Value
@@ -107,8 +98,7 @@
=Parameters!SelloCFDI.Value
@@ -120,8 +110,7 @@
@@ -133,8 +122,7 @@
Cadena original del complemento de certificación digital del SAT:
@@ -146,8 +134,7 @@
=Parameters!CadenaOriginal.Value
@@ -159,8 +146,7 @@
@@ -172,8 +158,7 @@
Sello digital del SAT:
@@ -185,8 +170,7 @@
=Parameters!SelloSAT.Value
@@ -255,7 +239,7 @@
- Agroquímicos JAM, S.A. de C.V.
+ BDH BATERIAS , SA DE CV
@@ -351,7 +334,6 @@
TIPO DE DOCUMENTO:
@@ -359,7 +341,6 @@
=Parameters!Tipo.Value
@@ -374,7 +355,6 @@
@@ -382,7 +362,6 @@
Serie:
@@ -390,7 +369,6 @@
=Parameters!Serie.Value
@@ -398,7 +376,6 @@
Folio:
@@ -406,7 +383,6 @@
=Parameters!Folio.Value
@@ -421,7 +397,6 @@
Fecha:
@@ -429,7 +404,6 @@
@@ -437,7 +411,6 @@
= Parameters!Fecha.Value
@@ -461,7 +433,6 @@
Regimen General de Ley Personas Morales
@@ -469,7 +440,6 @@
@@ -483,7 +453,7 @@
Textbox40.05022in4.90719in
- 1.62345in
+ 1.00267in3.35633in2
@@ -544,7 +515,14 @@
- #008204
+
+ Black
+
+
+
+ Black
+
+ 2pt2pt2pt
@@ -564,10 +542,8 @@
UNIDAD
@@ -579,7 +555,54 @@
- #008204
+
+ Black
+
+
+
+ Black
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
+
+
+
+ true
+ true
+
+
+
+
+ CÓDIGO
+
+
+
+
+
+
+ Textbox9
+
+
+
+ Black
+
+
+
+ Black
+
+ 2pt2pt2pt
@@ -599,10 +622,8 @@
CLAVE SAT
@@ -616,7 +637,14 @@
- #008204
+
+ Black
+
+
+
+ Black
+
+ 2pt2pt2pt
@@ -636,10 +664,8 @@
DESCRIPCIÓN
@@ -653,7 +679,14 @@
- #008204
+
+ Black
+
+
+
+ Black
+
+ 2pt2pt2pt
@@ -678,14 +711,14 @@
=Fields!Cantidad.Value
@@ -713,14 +746,13 @@
=Fields!UM.Value
@@ -737,6 +769,40 @@
+
+
+
+ true
+ true
+
+
+
+
+ =Fields!Noidentificacion.Value
+
+
+
+
+
+
+ Noidentificacion
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+
@@ -748,7 +814,6 @@
=Fields!SATClaveProdServ.Value
@@ -783,7 +848,6 @@
=Fields!PS.Value & " " & Fields!Obs.Value
@@ -815,6 +879,7 @@
+
@@ -831,7 +896,7 @@
2.25503in0.04048in0.34081in
- 8.27504in
+ 8.27505in3
- #0082042pt2pt2pt
@@ -894,7 +958,6 @@
- #0082042pt2pt2pt
@@ -925,7 +988,6 @@
- #0082042pt2pt2pt
@@ -967,7 +1029,7 @@
Embedded
- jam3
+ LogoFitProportional0.13104cm0.08425cm
@@ -980,6 +1042,149 @@
+
+ true
+ true
+
+
+
+
+ Almacén Origen:
+
+
+
+ =Parameters!AlmOrigen.Value
+
+
+
+
+
+
+ Textbox39
+ 3.26512cm
+ 4.27242cm
+ 0.45889cm
+ 8.13969cm
+ 9
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ Almacén Destino:
+
+
+
+ =Parameters!AlmDestino.Value
+
+
+
+
+
+
+ Textbox37
+ 3.25808cm
+ 12.46426cm
+ 0.46593cm
+ 8.38415cm
+ 10
+
+ =Microsoft.VisualBasic.Interaction.IIF(Parameters!AlmDestino.Value = "", True, False)
+
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ =Parameters!DireccionOrigen.Value
+
+
+
+
+
+
+ Textbox9
+ 3.75929cm
+ 4.29416cm
+ 0.99688cm
+ 8.13969cm
+ 11
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+
+
+ true
+ true
+
+
+
+
+ =Parameters!DireccionDestino.Value
+
+
+
+
+
+
+ Textbox11
+ 3.75929cm
+ 12.46913cm
+ 0.99688cm
+ 8.38415cm
+ 12
+
+
+ 2pt
+ 2pt
+ 2pt
+ 2pt
+
+ 12.81558cm