This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2022-07-12 02:41:42 -07:00
17 changed files with 1025 additions and 759 deletions

View File

@@ -7,10 +7,10 @@ Imports Extensiones
Public Class ClsAcumuladores
Implements IDisposable
Implements IDisposable
#Region "Campos"
'SQL
'SQL
Private SqlConexion As SqlConnection
Private SqlAdapter As SqlDataAdapter
Private SqlTransacc As SqlTransaction
@@ -51,7 +51,7 @@ Public Class ClsAcumuladores
If TransaccionCompartida Is Nothing Then
SqlConexion = New SqlConnection
SqlConexion.ConnectionString = CadenaConexion() ' ConfigurationManager.ConnectionStrings("Conexion").ConnectionString
SqlConexion.ConnectionString = CadenaConexion() ' ConfigurationManager.ConnectionStrings("Conexion").ConnectionString
SqlAdapter = New SqlDataAdapter("", SqlConexion)
Try
@@ -68,9 +68,9 @@ Public Class ClsAcumuladores
SqlAdapter = New SqlDataAdapter("", SqlConexion)
ConexionAdd()
End Sub
End Sub
#Region "Conexiones"
Private Sub ConexionAdd()
If Not EsTransaccionCompartida AndAlso ConfigurationManager.AppSettings("RegistraConexion") IsNot Nothing AndAlso ConfigurationManager.AppSettings("RegistraConexion").ToString() = "1" Then
Try
@@ -103,18 +103,18 @@ Public Class ClsAcumuladores
CveConexion = 0
End If
End Sub
End Sub
#End Region
Public ReadOnly Property DtResultados() As DataTable
Get
DtResultados = Data
End Get
End Property
End Property
#End Region
#Region " TAMAÑOS "
Public Function TamañoGet(CveTamaño As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -245,38 +245,38 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
Public Function EntradasUsadosGet(CveEmpresa As Integer, CveAlmacen As Integer, FechaInicial As Date, FechaFinal As Date) As Boolean
Dim retorno As Boolean = False
SqlDataAdapter("PA_Acum_EntradasUsadosResumenRep")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
.Add("@FechaInicial", SqlDbType.Date).Value = FechaInicial
.Add("@FechaFinal", SqlDbType.Date).Value = FechaFinal
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al traerse el reporte de usados.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
End Function
Public Function EntradasUsadosGet(CveEmpresa As Integer, CveAlmacen As Integer, FechaInicial As Date, FechaFinal As Date) As Boolean
Dim retorno As Boolean = False
SqlDataAdapter("PA_Acum_EntradasUsadosResumenRep")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
.Add("@FechaInicial", SqlDbType.Date).Value = FechaInicial
.Add("@FechaFinal", SqlDbType.Date).Value = FechaFinal
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al traerse el reporte de usados.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
#End Region
#Region " TIPOS DEFECTO "
Public Function TiposDefectoGet(CveTipoDefecto As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -375,12 +375,12 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
#End Region
#Region " TIPOS USO "
Public Function TiposUsoGet(CveTipoUso As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -479,12 +479,12 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
#End Region
#Region " FOLIOS GARANTÍA "
Public Function FoliosGarantiaGet(CveFolioGarantia As Integer, CveEmpresa As Integer, Optional Estatus As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional TipoFolio As String = "-1", Optional Area As Integer = 1) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -492,11 +492,11 @@ Public Class ClsAcumuladores
SqlDataAdapter("PA_Acum_FoliosGarantiaGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
.Add("@Estatus", SqlDbType.Int).Value = Estatus
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@tipoFolio", SqlDbType.VarChar).Value = TipoFolio
.Add("@tipoFolio", SqlDbType.VarChar).Value = TipoFolio
.Add("@Area", SqlDbType.Int).Value = Area
End With
@@ -526,7 +526,7 @@ Public Class ClsAcumuladores
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@TipoFolio", SqlDbType.VarChar).Value = TipoFolio
.Add("@Limite", SqlDbType.Int).Value = Limite
.Add("@Limite", SqlDbType.Int).Value = Limite
.Add("@Area", SqlDbType.Int).Value = Area
End With
@@ -594,27 +594,27 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
Public Function GetNuevoConsecutivoFolio(CveFolioGarantia As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter(String.Format("SELECT MAX(dbo.FNC_Numero(Consecutivo)) AS NuevoConsecutivo FROM Acum_GarantiasDetalle d WHERE d.CveFolioGarantia = {0}", CveFolioGarantia), CommandType.Text)
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError(String.Format("Ocurrió un error al consultar un nuevo consecutivo para el folio {0}", CveFolioGarantia), ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
End Function
Public Function GetNuevoConsecutivoFolio(CveFolioGarantia As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter(String.Format("SELECT MAX(dbo.FNC_Numero(Consecutivo)) AS NuevoConsecutivo FROM Acum_GarantiasDetalle d WHERE d.CveFolioGarantia = {0}", CveFolioGarantia), CommandType.Text)
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError(String.Format("Ocurrió un error al consultar un nuevo consecutivo para el folio {0}", CveFolioGarantia), ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
#End Region
#Region " GARANTÍAS MESES "
Public Function GarantiasMesesGet(CveGarantiaMes As Integer, CveEmpresa As Integer, Optional CveMarca As Integer = -1, Optional CveTipoUso As Integer = -1, Optional Mes As Integer = -1) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -720,12 +720,12 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
#End Region
#Region "GARANTIAS DETALLES"
Public Function AddGarantiasDetalle(CveVentaDetalle As Integer, CvePS As Integer, CveFolioGarantia As Integer, CveTipoUso As Integer,
CodigoEnsamble As String, CodigoLinea As String, CodigoInspeccion As String,
CveTipoDefecto As Integer, CodigoTD As String, TipoComprobante As Integer, Comprobante As String, Importe As Double,
@@ -741,18 +741,18 @@ Public Class ClsAcumuladores
.Add("@CodigoEnsamble", SqlDbType.VarChar).Value = CodigoEnsamble
.Add("@CodigoLinea", SqlDbType.VarChar).Value = CodigoLinea
.Add("@CodigoInspeccion", SqlDbType.VarChar).Value = CodigoInspeccion
.Add("@CveTipoDefecto", SqlDbType.Int).Value = CveTipoDefecto
.Add("@CodigoTD", SqlDbType.VarChar).Value = CodigoTD
.Add("@CveTipoDefecto", SqlDbType.Int).Value = CveTipoDefecto
.Add("@CodigoTD", SqlDbType.VarChar).Value = CodigoTD
.Add("@TipoComprobante", SqlDbType.TinyInt).Value = TipoComprobante
.Add("@Comprobante", SqlDbType.VarChar).Value = Comprobante
.Add("@Importe", SqlDbType.Float).Value = Importe
.Add("@Consecutivo", SqlDbType.VarChar).Value = Consecutivo
.Add("@FechaAjuste", SqlDbType.DateTime).Value = FechaAjuste
.Add("@Consecutivo", SqlDbType.VarChar).Value = Consecutivo
.Add("@FechaAjuste", SqlDbType.DateTime).Value = FechaAjuste
.Add("@PorcentajeAjuste", SqlDbType.Float).Value = PorcentajeAjuste
.Add("@CveBCIAjuste", SqlDbType.Int).Value = CveBCIAjuste
.Add("@Etiqueta", SqlDbType.VarChar).Value = Etiqueta
.Add("@CveClienteDistribuidor", SqlDbType.Int).Value = CveClienteDistribuidor
.Add("@CveModeloAuto", SqlDbType.Int).Value = CveModeloAuto
.Add("@CveBCIAjuste", SqlDbType.Int).Value = CveBCIAjuste
.Add("@Etiqueta", SqlDbType.VarChar).Value = Etiqueta
.Add("@CveClienteDistribuidor", SqlDbType.Int).Value = CveClienteDistribuidor
.Add("@CveModeloAuto", SqlDbType.Int).Value = CveModeloAuto
.Add("@Año", SqlDbType.VarChar).Value = Año
End With
Try
@@ -762,9 +762,9 @@ Public Class ClsAcumuladores
OnError("Ocurrió un al agregar la garantia detalle. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
Public Function GetGarantiasDetalle(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasDetalleGet")
@@ -778,7 +778,7 @@ Public Class ClsAcumuladores
OnError("Ocurrió un al obtener la garantía detalle. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
Public Function GetGarantiasPolizaVirtual(CveVenta As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasPolizaVirtualGet")
@@ -793,8 +793,8 @@ Public Class ClsAcumuladores
OnError("Ocurrió un al obtener la información de poliza virtual.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
Public Function UpdateGarantiasDetallePoliza(CveVenta As Integer, FolioPolizaVirtual As String) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasDetallePolizaUpdate")
@@ -809,8 +809,8 @@ Public Class ClsAcumuladores
OnError("Ocurrió un error a actualizar folio de garantia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
Public Function EliminarGarantiasDetalle(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasDetallePolizaRemove")
@@ -824,13 +824,13 @@ Public Class ClsAcumuladores
OnError("Ocurrió un error a eliminar de garantia.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
#End Region
#Region "P O L I Z A - V I R T U A L"
#Region "P O L I Z A - V I R T U A L"
Public Function AddPolizaVirtual(CveVenta As Integer, CveVentaDetalle As Integer, CvePS As Integer, Cantidad As Decimal, PU As Decimal, Descuento As Decimal, Total As Decimal,
TipoServicio As Integer, TipoPoliza As Integer, CveModeloAuto As Integer, AnioVehiculo As Integer, TieneUsado As Boolean, FechaUsado As DateTime,
CvePSUsado As Integer, CveBCIUsado As Integer, CveMarcaUsado As Integer) As Boolean
@@ -841,16 +841,16 @@ Public Class ClsAcumuladores
.Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@Cantidad", SqlDbType.Float).Value = Cantidad
.Add("@PU", SqlDbType.Money).Value = PU
.Add("@Descuento", SqlDbType.Money).Value = Descuento
.Add("@PU", SqlDbType.Money).Value = PU
.Add("@Descuento", SqlDbType.Money).Value = Descuento
.Add("@Total", SqlDbType.Money).Value = Total
.Add("@TipoServicio", SqlDbType.Int).Value = TipoServicio
.Add("@TipoPoliza", SqlDbType.Int).Value = TipoPoliza
.Add("@TipoServicio", SqlDbType.Int).Value = TipoServicio
.Add("@TipoPoliza", SqlDbType.Int).Value = TipoPoliza
.Add("@CveModeloAuto", SqlDbType.Int).Value = CveModeloAuto
.Add("@AnioVehiculo", SqlDbType.Int).Value = AnioVehiculo
.Add("@TieneUsado", SqlDbType.Bit).Value = TieneUsado
.Add("@FechaUsado", SqlDbType.DateTime).Value = FechaUsado
.Add("@CvePSUsado", SqlDbType.Int).Value = CvePSUsado
.Add("@CvePSUsado", SqlDbType.Int).Value = CvePSUsado
.Add("@CveBCIUsado", SqlDbType.Int).Value = CveBCIUsado
.Add("@CveMarcaUsado", SqlDbType.Int).Value = CveMarcaUsado
End With
@@ -861,7 +861,7 @@ Public Class ClsAcumuladores
OnError("Ocurrió un al agregar la poliza virtual. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
Public Function GetPolizasVirtuales(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Vta_PolizaVirtualGet")
@@ -875,14 +875,14 @@ Public Class ClsAcumuladores
OnError("Ocurrió un al obtener la poliza virtual. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
Public Function UpdatePolizaVirtual(CvePolizaVirtual As Integer, CveMarca As Integer, FechaUsado As DateTime) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Vta_PolizaVirtualUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePolizaVirtual", SqlDbType.Int).Value = CvePolizaVirtual
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
.Add("@CvePolizaVirtual", SqlDbType.Int).Value = CvePolizaVirtual
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
.Add("@FechaUsado", SqlDbType.DateTime).Value = FechaUsado
End With
Try
@@ -892,15 +892,15 @@ Public Class ClsAcumuladores
OnError("Ocurrió un al actualizar el envio de la poliza virtual. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
Public Function UpdateEnvioPolizaVirtual(CvePolizaVirtual As Integer, Envio As Boolean, FechaEnvio As DateTime, CodigoUnico As String, RespuestaEnvio As String) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Vta_PolizaVirtualEnvioUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePolizaVirtual", SqlDbType.Int).Value = CvePolizaVirtual
.Add("@Envio", SqlDbType.TinyInt).Value = Envio
.Add("@FechaEnvio", SqlDbType.DateTime).Value = FechaEnvio
.Add("@CodigoUnico", SqlDbType.VarChar).Value = CodigoUnico
.Add("@CvePolizaVirtual", SqlDbType.Int).Value = CvePolizaVirtual
.Add("@Envio", SqlDbType.TinyInt).Value = Envio
.Add("@FechaEnvio", SqlDbType.DateTime).Value = FechaEnvio
.Add("@CodigoUnico", SqlDbType.VarChar).Value = CodigoUnico
.Add("@RespuestaEnvio", SqlDbType.VarChar).Value = RespuestaEnvio
End With
Try
@@ -910,8 +910,8 @@ Public Class ClsAcumuladores
OnError("Ocurrió un al actualizar el envio de la poliza virtual. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
Public Function EliminarPolizaVirtual(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Vta_PolizaVirtualRemove")
@@ -925,11 +925,12 @@ Public Class ClsAcumuladores
OnError("Ocurrió un al eliminar poliza virtual. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#End Region
End Function
#End Region
Public Function DistribuidorMovtosAdd(CveCliente As Integer, Cantidad As Decimal, CveTamaño As Integer, CveConcepto As Integer, CveVenta As Integer, CveUsuario As Integer,
CveEmpresa As Integer, ImporteCompras As Decimal, Observaciones As String, FechaIng As DateTime, Optional CveMovimiento As Integer = -1) As Boolean
CveEmpresa As Integer, ImporteCompras As Decimal, Observaciones As String, FechaIng As DateTime, Optional CveMovimiento As Integer = -1,
Optional CveVentaBonificacion As Integer = -1, Optional FacturadoBonificacion As Boolean = False) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -947,6 +948,8 @@ Public Class ClsAcumuladores
.Add("@Observaciones", SqlDbType.VarChar).Value = Observaciones
.Add("@CveMovimiento", SqlDbType.Int).Value = CveMovimiento
.Add("@FechaIng", SqlDbType.DateTime).Value = FechaIng
.Add("@CveVentaBonificacion", SqlDbType.Int).Value = CveVentaBonificacion
.Add("@FacturadoBonificacion", SqlDbType.Bit).Value = FacturadoBonificacion
End With
Try
@@ -983,8 +986,8 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
Public Function GetMovimientosDistribuidorResumen(CveCliente As Integer, CveEmpresa As Integer, Optional FechaI As Date = MinFecha, Optional FechaF As Date = MaxFecha) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -1076,8 +1079,8 @@ Public Class ClsAcumuladores
OnError("Ocurrió un error al consultar el reporte de usados. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
End Function
Public Function EntradasUsadosClientesRep(CveAlmacen As Integer, FechaI As Date, FechaF As Date, CveUsuario As Integer, CveEmpresa As Integer, Optional CveCliente As Integer = -1) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -1085,10 +1088,10 @@ Public Class ClsAcumuladores
SqlDataAdapter("PA_Acum_EntradasUsadosClientesGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
.Add("@FechaInicio", SqlDbType.Date).Value = FechaI
.Add("@FechaFin", SqlDbType.Date).Value = FechaF
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@FechaFin", SqlDbType.Date).Value = FechaF
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
@@ -1104,8 +1107,8 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
Public Function EntradasUsadosClientesDetalleRep(EsDistribuidor As Boolean, CveCliente As Integer, CvePS As Integer, FechaInicio As Date, FechaFin As Date, CveAlmacen As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -1116,10 +1119,10 @@ Public Class ClsAcumuladores
.Add("@EsDistribuidor", SqlDbType.Bit).Value = If(EsDistribuidor, 1, 0)
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
.Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
@@ -1133,25 +1136,25 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
Public Function GetRepIndicadorDiario(FechaInicio As Date, FechaFin As Date, CveSubProyecto As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
End Function
Public Function GetRepIndicadorDiario(FechaInicio As Date, FechaFin As Date, CveSubProyecto As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_RepIndicadorDiarioGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
Try
SqlAdapter.Fill(Data)
Retorno = True
@@ -1162,25 +1165,25 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
Public Function GetRepIndicadorDiarioDetalle(FechaInicio As Date, FechaFin As Date, Opcion As Integer, CveSubProyecto As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
End Function
Public Function GetRepIndicadorDiarioDetalle(FechaInicio As Date, FechaFin As Date, Opcion As Integer, CveSubProyecto As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_RepIndicadorDiarioDetalleGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@Opcion", SqlDbType.Int).Value = Opcion
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@Opcion", SqlDbType.Int).Value = Opcion
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
Try
SqlAdapter.Fill(Data)
Retorno = True
@@ -1191,22 +1194,22 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
Public Function GetUsadosClasificacionVentas(CveCliente As Integer, CvePS As Integer, FechaInicio As String, FechaFin As String) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_UsadosClasificacionVentas")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
End Function
Public Function GetUsadosClasificacionVentas(CveCliente As Integer, CvePS As Integer, FechaInicio As String, FechaFin As String) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_UsadosClasificacionVentas")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
End With
Try
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As SqlException
@@ -1214,15 +1217,15 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
Public Function GetFoliosGarantiasDetalle(CveFolioGarantia As Integer, Optional CveGarantiaDetalle As Integer = -1, Optional CveEstatusConsecutivo As Integer = -1, Optional Consec As Integer = -1) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasDetalleFolioGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
.Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia
.Add("@CveGarantiaDetalle", SqlDbType.Int).Value = CveGarantiaDetalle
.Add("@CveEstatusConsecutivo", SqlDbType.Int).Value = CveEstatusConsecutivo
.Add("@Consec", SqlDbType.Int).Value = Consec
@@ -1236,8 +1239,8 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
Public Function UpdateGarantiaCancelacion(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
@@ -1255,17 +1258,17 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
Public Function GetSabanaVenta(Fecha As Date, CveOpcion As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_SabanaVentaGet")
With SqlAdapter.SelectCommand.Parameters
With SqlAdapter.SelectCommand.Parameters
.Add("@Fecha", SqlDbType.Date).Value = Fecha
.Add("@Opcion", SqlDbType.Int).Value = CveOpcion
.Add("@Opcion", SqlDbType.Int).Value = CveOpcion
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
@@ -1278,19 +1281,19 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
Public Function GetPolizaVirtualRep(FechaInicio As Date, FechaFin As Date, Opcion As Integer, CveEmpresa As Integer, CveSubProyecto As Integer, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Vta_PolizaVirtualRepGet")
With SqlAdapter.SelectCommand.Parameters
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@Opcion", SqlDbType.Int).Value = Opcion
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Opcion", SqlDbType.Int).Value = Opcion
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
@@ -1304,20 +1307,20 @@ Public Class ClsAcumuladores
End Try
Return Retorno
End Function
End Function
#Region " IDisposable Support "
' IDisposable
' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
If Not disposedValue Then
If disposing Then
If Not Data Is Nothing Then Data.Dispose() : Data = Nothing
If Not DSet Is Nothing Then DSet.Dispose() : DSet = Nothing
If Not SqlAdapter Is Nothing Then SqlAdapter.Dispose() : SqlAdapter = Nothing
If Not SqlTransacc Is Nothing Then SqlTransacc.Dispose() : SqlTransacc = Nothing
If SqlConexion.State <> ConnectionState.Closed Then SqlConexion.Close()
If disposing Then
If Not Data Is Nothing Then Data.Dispose() : Data = Nothing
If Not DSet Is Nothing Then DSet.Dispose() : DSet = Nothing
If Not SqlAdapter Is Nothing Then SqlAdapter.Dispose() : SqlAdapter = Nothing
If Not SqlTransacc Is Nothing Then SqlTransacc.Dispose() : SqlTransacc = Nothing
If SqlConexion.State <> ConnectionState.Closed Then SqlConexion.Close()
If Not SqlConexion Is Nothing Then SqlConexion.Dispose() : SqlConexion = Nothing
End If
@@ -1334,7 +1337,7 @@ Public Class ClsAcumuladores
ConexionClose()
Dispose(True)
GC.SuppressFinalize(Me)
End Sub
End Sub
#End Region
End Class

View File

@@ -4324,6 +4324,7 @@ Public Class ClsPaginas
PaginaDict.Add("/OC/OCPendientes.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/Registro.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/WizardRegistro.aspx".ToUpper(), -1)
PaginaDict.Add("/Sistemas/ListadoReportes.aspx".ToUpper(), 702)
PaginaDict.Add("/Ventas/VentasRene.aspx".ToUpper(), -1)
PaginaDict.Add("/Contratos/Contrato2.aspx".ToUpper(), -1)
PaginaDict.Add("/Flotillas/CatMantenimientos.aspx".ToUpper(), -1)
@@ -6962,7 +6963,8 @@ Public Class ClsPaginas
' GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
' End Try
'End Sub
Public Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True, Optional SubReportData As Modelos.MSubReportData = Nothing) As Byte()
Public Function PdfFactura(ByRef Vta As Modelos.Factura, Optional AplicaPagare As String = "0", Optional Guardar As Boolean = True, Optional SubReportData As Modelos.MSubReportData = Nothing, Optional UsarStimulsoft As Boolean = False) As Byte()
Dim retorno As Byte() = Nothing
' Dim ObjVentas As New ClsVentas
@@ -7789,46 +7791,52 @@ Public Class ClsPaginas
Next
End If
Dim Archivo As New System.IO.FileInfo(RutaFormato)
If Archivo.Exists Then
'If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
' RutaFormato = RutaFormato.Replace(".rdlc", ".mrt")
' retorno = StreamBytesStimulsoft("Facturas", RutaFormato, lrds, params, NombreArchivo:=NombreArchivo, Formato:="PDF")
'Else
' retorno = StreamPDF(RutaFormato, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
'End If
retorno = StreamPDF(RutaFormato, lrds, params, NombreArchivo, "PDF", MR:=Nothing, SubReportData:=SubReportData)
If Not UsarStimulsoft Then
Dim Archivo As New System.IO.FileInfo(RutaFormato)
If Archivo.Exists Then
'If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
' RutaFormato = RutaFormato.Replace(".rdlc", ".mrt")
' retorno = StreamBytesStimulsoft("Facturas", RutaFormato, lrds, params, NombreArchivo:=NombreArchivo, Formato:="PDF")
'Else
' retorno = StreamPDF(RutaFormato, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
'End If
retorno = StreamPDF(RutaFormato, lrds, params, NombreArchivo, "PDF", MR:=Nothing, SubReportData:=SubReportData)
Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio))
If Guardar Then
If Not ArchivoPDF.Exists Then
Try
DirectoryExistsCreate(String.Format("{0}PDF", UsuarioActual.Empresa.Ruta))
DirectoryExistsCreate(String.Format("{0}PDF\{1}", UsuarioActual.Empresa.Ruta, Vta.TipoDocto))
File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno)
Catch ex As Exception
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
End Try
Else
Try
ArchivoPDF.Delete()
File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno)
Catch ex As Exception
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
End Try
Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio))
If Guardar Then
If Not ArchivoPDF.Exists Then
Try
DirectoryExistsCreate(String.Format("{0}PDF", UsuarioActual.Empresa.Ruta))
DirectoryExistsCreate(String.Format("{0}PDF\{1}", UsuarioActual.Empresa.Ruta, Vta.TipoDocto))
File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno)
Catch ex As Exception
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
End Try
Else
Try
ArchivoPDF.Delete()
File.WriteAllBytes(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio), retorno)
Catch ex As Exception
Alert("Ocurrió un error al generar el PDF", TipoMensaje.MsgAdvertencia)
End Try
End If
End If
Else
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC))
'If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
' RutaFormato = RutaFormato.Replace(".rdlc", ".mrt")
' retorno = StreamBytesStimulsoft("Facturas", RutaFormatoDefault, lrds, params, NombreArchivo:=NombreArchivo, Formato:="PDF")
'Else
' retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
'End If
retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing, SubReportData:=SubReportData)
End If
Else
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC))
'If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
' RutaFormato = RutaFormato.Replace(".rdlc", ".mrt")
' retorno = StreamBytesStimulsoft("Facturas", RutaFormatoDefault, lrds, params, NombreArchivo:=NombreArchivo, Formato:="PDF")
'Else
' retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
'End If
retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing, SubReportData:=SubReportData)
RutaFormato = RutaFormato.Replace(".rdlc", ".mrt")
retorno = StreamBytesStimulsoft("Facturas", RutaFormato, lrds, params, NombreArchivo:=NombreArchivo, Formato:="PDF")
End If
Catch ex As Exception
GuardaLog(String.Format("Ocurrio un error al generar el reporte RLDC {0}", ex))
End Try
@@ -7864,9 +7872,12 @@ Public Class ClsPaginas
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
End If
Dim urlHost As String = "http://localhost:2202/"
If EsProduccion Then
urlHost = "http://sig.adssistemas.mx:6599/"
End If
'SITIO DE PRUEBA EN IIS
Dim Url = New Uri(String.Format("{0}{1}", "http://localhost:2202/", Opcion))
Dim Url = New Uri(String.Format("{0}{1}", urlHost, Opcion))
Try
Dim dataSourceArray As New JArray()
@@ -7883,6 +7894,7 @@ Public Class ClsPaginas
Dim payload As New JObject(
New JProperty("formato", Formato),
New JProperty("ruta", RutaReporte),
New JProperty("UsarFormatoCompilado", false),
New JProperty("parametros", paramsArray),
New JProperty("dataSource", dataSourceArray)
)

View File

@@ -379,7 +379,7 @@ Namespace Modelos
End If
Timbre = New CFDITimbre
End Sub
Public Sub New(UsuarioActual As Usuario, CveVenta As Integer, CveEmpresa As Integer, Optional DirectorioServidor As String = "", Optional EsCancelacion As Boolean = False, Optional CargaDTDetalle As Boolean = True, Optional CargaDatosCliente As Boolean = True, Optional CargaDatosRelacionados As Boolean = True)
Public Sub New(UsuarioActual As Usuario, CveVenta As Integer, CveEmpresa As Integer, Optional DirectorioServidor As String = "", Optional EsCancelacion As Boolean = False, Optional CargaDTDetalle As Boolean = True, Optional CargaDatosCliente As Boolean = True, Optional CargaDatosRelacionados As Boolean = True, Optional VerificaAlmacen As Boolean = True)
Me.UsuarioActual = UsuarioActual
Me.CveVenta = CveVenta
Me.CveEmpresa = CveEmpresa
@@ -391,7 +391,7 @@ Namespace Modelos
IniciaValores()
Dim ObjVentas As New ClsVentas()
If ObjVentas.GetVenta(CveVenta, CveEmpresa) Then
If ObjVentas.GetVenta(CveVenta, CveEmpresa, VerificaAlmacen:=VerificaAlmacen) Then
If ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
setValues(ObjVentas.DtResultados.Rows(0))
@@ -2101,21 +2101,34 @@ Namespace Modelos
Case "Egs"
CveConcepto = 6
End Select
'SI ES FACTURA,NC,DEV O ES RNC DE CARGO, CANCELAR MOVIMIENTOS
If factura.TipoDocto.Contiene("Ing", "Dev", "Egs") OrElse factura.TipoDocto.Contiene("RNC") AndAlso factura.Num1 = 1 Then
If ObjAcum.DistribuidorMovtosGet(factura.CveCliente, UsuarioActual.CveEmpresa, CveVentaRNCCargo:=factura.CveVenta, CveConcepto:=CveConcepto) Then
Dim DtMovimientos As DataTable = ObjAcum.DtResultados.FiltraParametros("Cantidad > 0")
If DtMovimientos IsNot Nothing AndAlso DtMovimientos.Rows.Count > 0 Then
For Each RowSalida As DataRow In DtMovimientos.Rows
Dim Cantidad As Decimal = RowSalida("Cantidad").ToString().ToDecimal() * -1
If ObjAcum.DistribuidorMovtosGet(factura.CveCliente, UsuarioActual.CveEmpresa, CveVentaRNCCargo:=factura.CveVenta, CveConcepto:=CveConcepto) Then
Dim DtMovimientos As DataTable = ObjAcum.DtResultados.FiltraParametros("Cantidad > 0")
If DtMovimientos IsNot Nothing AndAlso DtMovimientos.Rows.Count > 0 Then
For Each RowSalida As DataRow In DtMovimientos.Rows
Dim Cantidad As Decimal = RowSalida("Cantidad").ToString().ToDecimal() * -1
Dim FacturadoBonificacion = False
Dim CveVentaBonificacion As Integer = -1
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Cantidad, RowSalida("CveTamaño").ToString.ToEntero, CveConcepto, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0D, "", factura.Fecha) Then
Retorno = False
Exit For
End If
Next
DtMovimientos.Dispose()
If factura.TipoDocto = "RNC" Then
CveVentaBonificacion = RowSalida("CveVentaBonificacion").ToString().ToEntero()
FacturadoBonificacion = CBool(RowSalida("FacturadoBonificacion").ToString())
End If
If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Cantidad, RowSalida("CveTamaño").ToString.ToEntero, CveConcepto, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0D, "", factura.Fecha, CveVentaBonificacion:=CveVentaBonificacion, FacturadoBonificacion:=FacturadoBonificacion) Then
Retorno = False
Exit For
End If
Next
DtMovimientos.Dispose()
End If
End If
Else
End If
Return Retorno
End Function
@@ -2217,7 +2230,7 @@ Namespace Modelos
End Function
Private Function CancelarInventarioUsado(factura As Modelos.Factura, CveAlmacenUsado As Integer, CveMovimientoEntrada As Integer, ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad) As Integer
Private Function CancelarInventarioUsado(factura As Modelos.Factura, CveAlmacenUsado As Integer, CveMovimientoEntrada As Integer, ByRef ObjInventario As ClsInventarios, ByRef ObjConta As ClsContabilidad, Optional GenerarPrePoliza As Boolean = True) As Integer
Dim CveMovimiento As Integer = -1
Try
Dim CveConceptoSalidaUsado As Integer = 45
@@ -2240,7 +2253,7 @@ Namespace Modelos
End If
Next
If CveMovimiento > 0 Then
If GenerarPrePoliza AndAlso CveMovimiento > 0 Then
Dim Concepto As String = "Cancelación Usado" & factura.SerieFolio
Dim CvePrePoliza = ObjConta.AddPrePolizas("Mod/CancSalUsados", 74, DtMovimientosEntrada.SUMD("Total"), DtMovimientosEntrada.SUMD("Total"), 1, tFecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
@@ -2498,7 +2511,7 @@ Namespace Modelos
Dim TipoMovto68 = TipoMovimiento
'SI ES CANCELACION DEBE GENERAR EL MOVIMIENTO DE SALIDA DE USADOS
If ValorMultiplicador = -1 Then
CveMovimientoReferencia = CancelarInventarioUsado(ObjFactura, CveAlmacen, CveMovimiento, ObjInventario, ObjConta)
CveMovimientoReferencia = CancelarInventarioUsado(ObjFactura, CveAlmacen, CveMovimiento, ObjInventario, ObjConta, GenerarPrePoliza:=False)
Else
CveMovimientoReferencia = CveMovimiento
End If
@@ -5675,6 +5688,11 @@ Namespace Modelos
If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
DtMovRemision = ObjInventario.DtResultados.FiltraParametros("CveTipoAlmacen = 10")
CveAlmacenGeneral = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CveTipoAlmacen = 1").ToString().ToEntero()
'SI ES SERVICIO A DOMICILIO DEBE REGRESAR A ESTE TIPO DE ALMACEN
If Me.ServicioDomicilio Then
CveAlmacenGeneral = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CveTipoAlmacen = 29").ToString().ToEntero()
End If
CveAlmacenExA = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CveTipoAlmacen = 10").ToString().ToEntero()
CveMovimientoUsado = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", "CvePS IS NULL AND CveConcepto = 42").ToEntero()

View File

@@ -3483,6 +3483,14 @@ Public Class Timbrado
End If
If ObjCFDITimbre.Comprobante.TipoComprobante = "T" Then
Dim objGrales As New ClsGenerales
If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC, "3.3") Then
Retorno = ""
Else
Retorno = "Error"
End If
objGrales.Dispose()
Using ObjInv As New ClsInventarios()
If ObjInv.UpdateMovimientoTimbrado(Ventas.Inv_CveMovimiento, 1, FolioFiscal, MinFecha) Then
Retorno = ""
@@ -5706,6 +5714,14 @@ Public Class Timbrado
End If
If ObjCFDITimbre.Comprobante.TipoComprobante = "T" Then
Dim objGrales As New ClsGenerales
If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC, "4.0") Then
Retorno = ""
Else
Retorno = "Error"
End If
objGrales.Dispose()
Using ObjInv As New ClsInventarios()
If ObjInv.UpdateMovimientoTimbrado(Ventas.Inv_CveMovimiento, 1, FolioFiscal, MinFecha) Then
Retorno = ""

View File

@@ -1082,7 +1082,9 @@ Partial Class PopUpVerFactura
Dim AplicaPagare As String = If(UrlParametros("PAG") IsNot Nothing AndAlso UrlParametros("PAG").ToString <> "", UrlParametros("PAG").ToString, "0")
Dim Guardar As Boolean = UrlParametros("GUARDAR") IsNot Nothing AndAlso UrlParametros("GUARDAR").ToString() = "1"
Dim RegenerarPDF As Boolean = UrlParametros("REGENERAR") IsNot Nothing AndAlso UrlParametros("REGENERAR").ToString() = "1"
imprimirFacturaVenta(UrlParametros("CVEVENTA").ToString.ToEntero, AplicaPagare, GuardarPDF:=Guardar, RegenerarPDF:=RegenerarPDF)
Dim STIMULSOFT As Boolean = UrlParametros("STIMULSOFT") IsNot Nothing AndAlso UrlParametros("STIMULSOFT").ToString() = "1"
imprimirFacturaVenta(UrlParametros("CVEVENTA").ToString.ToEntero, AplicaPagare, GuardarPDF:=Guardar, RegenerarPDF:=RegenerarPDF, UsarStimulsoft:=STIMULSOFT)
End If
End If
@@ -2697,7 +2699,7 @@ Partial Class PopUpVerFactura
Archivo = Nothing
End If
End Sub
Public Sub imprimirFacturaVenta(CveVenta As Integer, AplicaPagare As String, Optional GuardarPDF As Boolean = False, Optional RegenerarPDF As Boolean = False)
Public Sub imprimirFacturaVenta(CveVenta As Integer, AplicaPagare As String, Optional GuardarPDF As Boolean = False, Optional RegenerarPDF As Boolean = False, Optional UsarStimulsoft As Boolean = False)
Dim ObjVentas As New ClsVentas
Dim Vta As Modelos.Factura = Nothing
@@ -2726,7 +2728,7 @@ Partial Class PopUpVerFactura
Dim Archivo As New System.IO.FileInfo(PathArchivo)
'SI EL ARCHIVO NO EXISTE O SE VA REGENERA EL PDF, SE DEBEN LLENAR LOS DATOS
If Not Archivo.Exists OrElse RegenerarPDF Then
If Not Archivo.Exists OrElse RegenerarPDF OrElse UsarStimulsoft Then
Vta.MonedaAbreviatura = dtVentas(0)("Abreviatura").ToString
'se rellena la sucursal
'Vta.Subproyecto = ObjVentas.DtResultados.Rows(0).DataRowToObject(Of Modelos.SucursalModel)
@@ -3031,7 +3033,7 @@ Partial Class PopUpVerFactura
Dim CveTimbreCartaPorteVenta As Integer = -1
Dim CartaPorte As Modelos.MSubReportData = Nothing
'SI EL ARCHIVO NO EXISTE O SE VA REGENERA EL PDF, SE DEBEN LLENAR LOS DATOS
If Not Archivo.Exists OrElse RegenerarPDF Then
If Not Archivo.Exists OrElse RegenerarPDF OrElse UsarStimulsoft Then
If UsuarioActual.CveEmpresa = 13 AndAlso Vta.TipoDocto = "Ing" Then
Using ObjGral As New ClsGenerales
If ObjGral.GetGralTimbre(-1, "Ing", MinFecha, MaxFecha, 0, UsuarioActual.CveEmpresa, -1, CveVenta:=CveVenta) AndAlso ObjGral.DtResultados.Rows.Count > 0 Then
@@ -3049,37 +3051,42 @@ Partial Class PopUpVerFactura
End If
End If
If Archivo.Exists Then
If RegenerarPDF Then
Archivo.Delete()
If UsarStimulsoft Then
ImprimirbytesPDF(PdfFactura(Vta, AplicaPagare:=AplicaPagare, Guardar:=True, SubReportData:=CartaPorte, UsarStimulsoft:=UsarStimulsoft), Vta.SerieFolio, "PDF")
Else
If Archivo.Exists Then
If RegenerarPDF Then
Archivo.Delete()
If UsuarioActual.Empresa.CvePlataforma = 2 Then
GeneraPDFVtaPyMe(Vta, "PDF")
Else
ImprimirbytesPDF(PdfFactura(Vta, AplicaPagare:=AplicaPagare, Guardar:=True, SubReportData:=CartaPorte), Vta.SerieFolio, "PDF")
Vta = Nothing
End If
Else
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.ContentType = If(IO.Path.GetExtension(Archivo.Name) = ".txt", "text/plain", "application/pdf")
HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment; filename=" & Archivo.Name)
HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
HttpContext.Current.Response.TransmitFile(PathArchivo)
'HttpContext.Current.Response.Flush()
HttpContext.Current.Response.End()
Archivo = Nothing
End If
Else
'04/05/2018 - Se agrega seccion pruebas para generar factura venta .mrt para PyME
If UsuarioActual.Empresa.CvePlataforma = 2 Then
GeneraPDFVtaPyMe(Vta, "PDF")
Else
ImprimirbytesPDF(PdfFactura(Vta, AplicaPagare:=AplicaPagare, Guardar:=True, SubReportData:=CartaPorte), Vta.SerieFolio, "PDF")
ImprimirbytesPDF(PdfFactura(Vta, AplicaPagare:=AplicaPagare, Guardar:=Guardar, SubReportData:=CartaPorte), Vta.SerieFolio, "PDF")
Vta = Nothing
End If
Else
HttpContext.Current.Response.Clear()
HttpContext.Current.Response.ClearContent()
HttpContext.Current.Response.ContentType = If(IO.Path.GetExtension(Archivo.Name) = ".txt", "text/plain", "application/pdf")
HttpContext.Current.Response.AppendHeader("Content-disposition", "attachment; filename=" & Archivo.Name)
HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
HttpContext.Current.Response.TransmitFile(PathArchivo)
'HttpContext.Current.Response.Flush()
HttpContext.Current.Response.End()
Archivo = Nothing
End If
Else
'04/05/2018 - Se agrega seccion pruebas para generar factura venta .mrt para PyME
If UsuarioActual.Empresa.CvePlataforma = 2 Then
GeneraPDFVtaPyMe(Vta, "PDF")
Else
ImprimirbytesPDF(PdfFactura(Vta, AplicaPagare:=AplicaPagare, Guardar:=Guardar, SubReportData:=CartaPorte), Vta.SerieFolio, "PDF")
Vta = Nothing
End If
End If
End If
End Sub

View File

@@ -1188,7 +1188,7 @@ Partial Class ContabilidadC_RegPrePoliza
Dim Concepto As String = row.FCTextBox("TxtConcepto").Text
Dim CveSubProyecto As Integer = row.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero()
Dim CtaContable As Integer = row.FCDropDownList("DdlCtaContable").SelectedValue.ToEntero()
Dim TipoMovto As Boolean = If(row.FCTextBox("TxtCargo").Text.ToDecimal() <> 0, False, True)
Dim TipoMovto As Boolean = If(row.FCTextBox("TxtAbono").Text.ToDecimal() <> 0, True, False)
Dim TipoMovtoOld As Boolean = (row.DataKey("TipoMovto").ToString = "True")
Dim ImporteMN As Decimal = If(row.FCTextBox("TxtCargo").Text.ToDecimal() <> 0, row.FCTextBox("TxtCargo").Text.ToDecimal(), row.FCTextBox("TxtAbono").Text.ToDecimal())
Dim CveTipoGastonew As Integer = If(DdlTipoGasto.Visible, row.FCDropDownList("DdlTipoGasto").SelectedValue.ToEntero(), row.DataKey("CveTipoGasto").ToEntero())

View File

@@ -24,6 +24,24 @@ Partial Class Inventarios_Consignaciones
End Set
End Property
Public Property DtRecepcion() As DataTable
Get
If ViewState("DtRecepcion") Is Nothing Then
ViewState("DtRecepcion") = New DataTable
End If
Return CType(ViewState("DtRecepcion"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtRecepcion") = value
End Set
End Property
Public Property CveConsignacion() As Integer
Get
Return ViewState("CveConsignacion").ToString.ToEntero
@@ -1298,17 +1316,18 @@ Partial Class Inventarios_Consignaciones
End Sub
Private Sub CargaRecepcion()
Dim ObjInventarios As New ClsInventarios
Dim Dt As DataTable = Nothing
DtRecepcion = New DataTable
If ObjInventarios.GetMovimientosTransitorios(DdlAlmacenRecepcion.SelectedValue.ToEntero, 4, DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero, -1, If(TxtFolioRecepcion.Text = "", -1, TxtFolioRecepcion.Text.ToEntero), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
Dt = ObjInventarios.DtResultados
DtRecepcion = ObjInventarios.DtResultados
Else
Alert("Ocurrió un error al consultar los movimientos transitorios. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
ObjInventarios.Dispose()
If Dt IsNot Nothing Then
GvDatosRecepcion.DataSource = Dt
If DtRecepcion IsNot Nothing Then
GvDatosRecepcion.DataSource = DtRecepcion
GvDatosRecepcion.DataBind()
End If
@@ -1318,7 +1337,7 @@ Partial Class Inventarios_Consignaciones
BtnRecibir.Visible = True
End If
Dt.Dispose()
UpDatosRecepcion.Update()
End Sub
@@ -1455,7 +1474,41 @@ Partial Class Inventarios_Consignaciones
' End If
' End If
'End If
'End If
If Not ErrorMovInv Then
Dim ImportePrePoliza As Decimal = DtRecepcion.SUMD("Importe", "CveMovimientoDetalle > 0")
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL)
Dim Concepto As String = "Recepcion Traspaso"
Dim CvePrePoliza = ObjConta.AddPrePolizas("Recepcion/Consignacion", 53, ImportePrePoliza, ImportePrePoliza, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImportePrePoliza, "Recepcion Traspaso", 68, "Recepcion Traspaso", Fecha, -1, -1, CveVenta:=-1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ImportePrePoliza, CveSubProyecto:=-1, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImportePrePoliza, "Recepcion Traspason", 68, "Recepcion Traspaso", Fecha, -1, -1, CveVenta:=-1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ImportePrePoliza, Contabilizable:=False) Then
ErrorMovInv = True
End If
If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 6) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Consig | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
ErrorMovInv = True
End If
End If
End If
If Not ErrorMovInv Then

View File

@@ -721,9 +721,10 @@ Partial Class Inventarios_EntradasSalidas
LbTipoCambio.Text = DtMov.Rows(0)("TipoCambio").ToString
End If
Dim TMDsTR = DtMov.Rows(0)("CveMtoRel").ToString
If DtMov.Rows(0)("CveMtoRel").ToString.Length > 0 Then
If TMDsTR.Length > 0 Then
RowMtoRel.Visible = True
lnkMtoRelacionado.NavigateUrl = "/Inventarios/EntradasSalidas.aspx?CveMovimiento=" & DtMov.Rows(0)("CveMtoRel").ToString
lnkMtoRelacionado.NavigateUrl = "/Inventarios/EntradasSalidas.aspx?CveMovimiento=" & TMDsTR
CveMovimientoRelacionado = TMDsTR.ToEntero
End If
If Mov.CveMovimientoVirtual > 0 Then
@@ -3725,6 +3726,7 @@ Partial Class Inventarios_EntradasSalidas
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & DdlConcepto.SelectedValue).ToEntero
If OrigenMov = 1 Then MovAlmacen = False Else MovAlmacen = True
CveMovimientoRelacionado = ObjInventario.DtResultados.Rows(0)("CveMtoRel").ToString.ToEntero
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
DtCostos = ObjInventario.DtResultados
@@ -3772,70 +3774,75 @@ Partial Class Inventarios_EntradasSalidas
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 205, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompra, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
ElseIf ObjInventario.Modulo.Contiene("RE/G5", "EA/G5") Then
Contabilizable = True
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 331, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompra, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
If ObjInventario.Modulo.Contiene("M/CU") Then
If ObjInventario.Modulo.Contiene("M/CU", "RU/G") Then
Contabilizable = True
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 278, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveCompra:=CveCompra, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, HplVenta.Text, 278, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveCompra:=CveCompra, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
If ObjInventario.Modulo.Contiene("TA/G1", "Recons") Then
Contabilizable = False
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 289, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
Contabilizable = False
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 289, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
If ObjInventario.Modulo.Contiene("Consig") Then
Contabilizable = False
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 95, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
If ObjInventario.Modulo = "ASA/G1" Then
If ObjInventario.Modulo.Contiene("ASA/G1", "Vta/E4", "ARMPAQ1", "RE/GSC3") Then
Contabilizable = False
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoRelacionado, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
If DdlConcepto.SelectedValue.Contiene("6", "22", "23", "7", "16", "21", "24") Then
'genero las prepolizas manuales
Dim tCveConcepto As Integer = 95
Dim CveCuenta As Integer
If UsuarioActual.CveEmpresa = 119 Then CveCuenta = 55519
IdCtaContable = 1
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total"), Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=-1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total"), CveSubProyecto:=-1, CveCuenta:=CveCuenta, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue.ToEntero}").ToEntero
Dim tCveConcepto As Integer = 69
If DdlConcepto.SelectedValue = "30" Then
tCveConcepto = 181
IdCtaContable = UsuarioActual.Empresa.Funcionalidad(342).ToEntero
End If
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal.RoundSQL
If tCveConcepto = 69 Then
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto) Then
'genero las prepolizas manuales
Dim tCveConcepto As Integer = 95
Dim CveCuenta As Integer
If UsuarioActual.CveEmpresa = 119 Then CveCuenta = 55519
IdCtaContable = 1
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, DtCostos.SUMD("Total"), Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=-1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total"), CveSubProyecto:=-1, CveCuenta:=CveCuenta, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
Exit For
End If
Next
Else
Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue.ToEntero}").ToEntero
Dim tCveConcepto As Integer = 69
If DdlConcepto.SelectedValue = "30" Then
tCveConcepto = 181
IdCtaContable = UsuarioActual.Empresa.Funcionalidad(342).ToEntero
End If
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal.RoundSQL
If tCveConcepto = 69 Then
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, tCveConcepto, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto) Then
ErrorMovInv = True
Exit For
End If
Next
End If
End If
End If
End If
End If
End If
End If
End If
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={DdlAlmacen.SelectedValue.ToEntero}").ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, DtCostos.SUMD("Total").RoundSQL, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUMD("Total").RoundSQL, Contabilizable:=Contabilizable) Then

View File

@@ -2067,6 +2067,49 @@ Partial Class Inventarios_EntregaAlmacen
Next
End If
Dim ImportePrePoliza As Decimal = 0D
If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
ImportePrePoliza = ObjInventario.DtResultados.SUMD("Total")
End If
Dim MovAlmacen As Boolean = True
Dim OrigenMov As Integer = GlobalDTInvConceptos.FiltroPrimeroValor("Origen", "CveConcepto = " & 9).ToEntero
If OrigenMov = 1 Then
MovAlmacen = True
Else
MovAlmacen = False
End If
Dim ObjConta2 As New ClsContabilidad(ObjInventario.IniciaTransacSQL)
Dim Concepto As String = "ARMPAQ2"
Dim CvePrePoliza = ObjConta2.AddPrePolizas("RE/GSC1/GSC3/RE/G4", 74, ImportePrePoliza, ImportePrePoliza, 1, TxtFecha.Text.ToDate, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
'Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero
If Not ObjConta2.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ImportePrePoliza, "RE/G4", 68, "RE/G4", TxtFecha.Text.ToDate, -1, -1, CveVenta:=-1, CveMovimientoAlmacen:=CveMovimientoEntradaApartado, ImporteMX:=ImportePrePoliza, CveSubProyecto:=-1, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta2.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, ImportePrePoliza, "RE/GSC1/GSC3", 68, "RE/GSC1/GSC3", TxtFecha.Text.ToDate, -1, -1, CveVenta:=-1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ImportePrePoliza, Contabilizable:=False) Then
ErrorMovInv = True
End If
If ObjConta2.ValidacionPrePolizaCuadre(CvePrePoliza, 6) Then
If ObjConta2.ValorPolizaDescuadre > 0 Then
GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta2.MensajePolizaDescuadre} Diferencia:{ObjConta2.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
ErrorMovInv = True
End If
End If
End If
If Not ErrorMovInv Then

View File

@@ -2278,7 +2278,7 @@ Partial Class Inventarios_RecepcionUsados
Me.ObjFactura = Nothing
End If
Me.ObjFactura = New Modelos.Factura(UsuarioActual, CveRemisionRecibida, UsuarioActual.CveEmpresa, DirectorioServidor:=ModExtensiones.DirectorioBaseEmpresas, CargaDatosCliente:=False, CargaDatosRelacionados:=False)
Me.ObjFactura = New Modelos.Factura(UsuarioActual, CveRemisionRecibida, UsuarioActual.CveEmpresa, DirectorioServidor:=ModExtensiones.DirectorioBaseEmpresas, CargaDatosCliente:=False, CargaDatosRelacionados:=False, VerificaAlmacen:=False)
If Me.ObjFactura IsNot Nothing Then

View File

@@ -979,11 +979,8 @@ Partial Class Inventarios_TraspasoAlmacen
ErrorExistencia = True
dr("EstatusExistencia") = "-1"
dr("Cantidad") = Existencia
'If Existencia <= 0 Then
TextoExistencia.AppendFormat("- #{0} {1}<br/>", dr("No").ToString, dr("PS").ToString)
'Else
'Alert(String.Format("Solo hay en existencia: {0}", Existencia), TipoMensaje.MsgError)
'End If
End If
Next
Else
@@ -1016,17 +1013,9 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Dim TotalCantidad As Decimal = DtMovimientos.SUMD("Cantidad")
''[IPP-1Noviembre2018] SE COMENTA PORQUE NO TIENE NI PIES NI CABEZA. LE FALTA DESARROLLO
'If (TipoAlmacenOrigen = 14 Or TipoAlmacenDestino = 14) And TipoAlmacenOrigen <> TipoAlmacenDestino Then
' ObjInventario.Dispose()
' 'es consumo interno
' ConsumoInterno(TipoAlmacenOrigen, TipoAlmacenDestino)
'End If
'Inicia la transacción
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim CveMovimientoSalida = 0
Dim CveMovimientoSalida As Integer = 0
Dim CveMovimientoEntrada = 0
Dim IDPoliza As Integer = 0
Dim FolioSalida = 0
@@ -1034,13 +1023,16 @@ Partial Class Inventarios_TraspasoAlmacen
Dim CveMovimientoVirtualSalida As Integer = 0
Dim FolioVirtualEntrada As Integer = 0
Dim FolioVirtualSalida As Integer = 0
Dim FolioEntrada = 0
Dim AlmacenEntrada = -1
Dim FolioEntrada As Integer = 0
Dim Fecha As Date = TxtFecha.Text.ToDate
Dim ErrorMovInv As Boolean = False
Dim ErrorAC As Boolean = False
Dim TextoError = ""
Dim TipoMovimientoSalida As Integer = 26 'If(ChkTransitorio.Checked, 26, If(TipoAlmacenOrigen = 24, 26, 26))
Dim TipoMovimientoSalida As Integer = 26
Dim CveAlmacenEntrada As Integer = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
Dim CveConceptoEntrada As Integer = 27
If Not ChkTransitorio.Checked Then CveConceptoEntrada = 27 Else CveConceptoEntrada = 9
'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, TipoMovimientoSalida, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
@@ -1066,15 +1058,69 @@ Partial Class Inventarios_TraspasoAlmacen
Next
End If
'ENTRADA
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacenEntrada, CveConceptoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G3")
FolioEntrada = ObjInventario.Folio
If CveMovimientoEntrada <= 0 Then
TextoError = "Ocurrió un error al generar el movimiento de entrada"
ErrorMovInv = True
Else
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim Cont As Integer = 0
Dim dttSalida As DataTable = ObjInventario.DtResultados
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
Dim CostoEntrada As Decimal = If(TipoAlmacenDestino = 26, 0, Dr("PU").ToString.ToDecimal())
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, CostoEntrada, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=DdlSeccionAlmacenDestino.SelectedValue.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Observaciones:=Dr("Observaciones").ToString) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
Exit For
End If
Cont += 1
Next
'VIRTUAL SALIDA
If RealizarMovimientoVirtual AndAlso CveAlmacenVirtualSalida > 0 Then
Dim Concepto As String = TxtObservaciones.Text
If Concepto = "" Then Concepto = "Traspaso"
'If TipoAlmacenOrigen = 27 Then
' CveAlmacenVirtual = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 25).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyectoOrigen}").ToEntero()
'Else
' CveAlmacenVirtual = GlobalDTAlmacen(UsuarioActual.CveEmpresa, 24).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyectoOrigen}").ToEntero()
'End If
'AGREGAMOS PREPOLIZAS TRASPASO DIRECTO:
If Not ErrorMovInv Then
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
Dim importe As Decimal = dttSalida.SUMD("Total").RoundSQL
Dim Contabilizable As Boolean = False
If TipoAlmacenOrigen = 26 AndAlso TipoAlmacenDestino <> 26 Then Contabilizable = True 'IdCtaContableOrigen = IdCtaContableDestino AndAlso
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
'si el tipo de almacen de entrada es Almacen sin costo, se registra al costo, la salida.
If TipoAlmacenOrigen <> 26 AndAlso TipoAlmacenDestino = 26 Then
Dim tCveClasificacion As Integer = DtMovimientos.MAX("CveClasificacion").ToEntero
Dim dr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=tCveClasificacion).FiltroPrimero("")
Dim IdCuentaCostos As Integer = -1
If dr IsNot Nothing Then IdCuentaCostos = dr("IdCuentaCostos").ToString.ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 69, TxtObservaciones.Text, Fecha, IdCuentaCostos, -1, CveClasificacion:=tCveClasificacion, CveSubProyecto:=CveSubProyectoOrigen, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
Contabilizable = False
importe = 0
End If
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableDestino, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
End If
End If
End If
'VIRTUAL SALIDA/ENTRADA
If RealizarMovimientoVirtual AndAlso CveAlmacenVirtualSalida > 0 AndAlso Not ErrorMovInv Then
Dim dtvirtual As DataTable = Nothing
@@ -1085,157 +1131,72 @@ Partial Class Inventarios_TraspasoAlmacen
If dtvirtual.Rows.Count > 0 Then
CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtualSalida, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/V", CveMovimientoRelacionado:=CveMovimientoSalida, CveAlmacenDestino:=CveAlmacenVirtualEntrada)
FolioVirtualSalida = ObjInventario.Folio
Dim Contabilizable As Boolean = False
Dim Concepto As String = TxtObservaciones.Text
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString.ToDecimal
Dim PU As Decimal = RowVirtual("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If CveMovimientoVirtualSalida > 0 Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString.ToDecimal
Dim PU As Decimal = RowVirtual("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
'SALIDA VIRTUAL
Dim importevirtual As Decimal = 0
CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtualSalida, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/S3", CveMovimientoRelacionado:=CveMovimientoEntrada, CveAlmacenDestino:=CveAlmacenVirtualEntrada)
FolioVirtualEntrada = ObjInventario.Folio
If CveMovimientoVirtualEntrada > 0 Then
Dim DtCostosVirtual As DataTable
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtualSalida, UsuarioActual.CveEmpresa) Then
DtCostosVirtual = ObjInventario.DtResultados
importevirtual = DtCostosVirtual.SUMD("Total").RoundSQL
For Each RowVirtual As DataRow In DtCostosVirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString.ToDecimal
Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
Else
ErrorMovInv = True
End If
Else
TextoError = "Ocurrió un error al generar el movimiento de salida virtual"
ErrorMovInv = True
Exit For
End If
Next
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TAVirt", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importevirtual, importevirtual, 68, TxtObservaciones.Text, TxtObservaciones.Text, IdCtaContableOrigen, CveMovimientoAlmacen:=CveMovimientoVirtualSalida, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importevirtual, importevirtual, 68, TxtObservaciones.Text, TxtObservaciones.Text, IdCtaContableDestino, CveMovimientoAlmacen:=CveMovimientoVirtualEntrada, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
Else
TextoError = "Ocurrió un error al generar el movimiento de salida virtual"
ErrorMovInv = True
End If
End If
Else
ErrorMovInv = True
End If
End If
AlmacenEntrada = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
Dim TipoMovimientoEntrada As Integer = 27
If Not ChkTransitorio.Checked Then TipoMovimientoEntrada = 27 Else TipoMovimientoEntrada = 9
CveMovimientoEntrada = ObjInventario.AddMovimiento(AlmacenEntrada, TipoMovimientoEntrada, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, "-1"),
CveAlmacenDestino:=If(ChkTransitorio.Checked, DdlAlmacenDestino.SelectedValue.ToEntero, -1), CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="TA/G3")
FolioEntrada = ObjInventario.Folio
If CveMovimientoEntrada <= 0 Then
TextoError = "Ocurrió un error al generar el movimiento de entrada"
ErrorMovInv = True
Else
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim Cont As Integer = 0
For Each Dr As DataRow In ObjInventario.DtResultados.Rows
Dim CostoEntrada As Decimal = If(TipoAlmacenDestino = 26, 0, Dr("PU").ToString.ToDecimal())
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, CostoEntrada, CveAF:=Dr("CveAF").ToString.ToEntero, CveSeccionAlmacen:=DdlSeccionAlmacenDestino.SelectedValue.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString.ToEntero, Observaciones:=Dr("Observaciones").ToString) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de entrada"
Exit For
End If
Cont += 1
Next
End If
End If
'AGREGAMOS LA ENTRADA
If Not ChkTransitorio.Checked Then 'SI NO ES TRANSITORIO SE HACE LA RECEPCION DE INMEDIATO
If Not ErrorMovInv Then
'VIRTUAL ENTRADA
If RealizarMovimientoVirtual AndAlso CveAlmacenVirtualEntrada > 0 Then
Dim dtvirtual As DataTable = Nothing
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
dtvirtual = ObjInventario.DtResultados
If dtvirtual.Rows.Count > 0 Then
''hay que verificar que se se tengan movimeintos por registrar
CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtualEntrada, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/S3")
FolioVirtualEntrada = ObjInventario.Folio
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Double = RowVirtual("Cantidad").ToString().ToDouble()
Dim PU As Decimal = RowVirtual("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
End If
Else
ErrorMovInv = True
End If
End If
Dim Concepto As String = TxtObservaciones.Text
If Concepto = "" Then Concepto = "Traspaso"
'AGREGAMOS PREPOLIZAS TRASPASO DIRECTO:
If Not ErrorMovInv Then
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim resultado As DataTable = ObjInventario.DtResultados
Dim importe As Decimal = resultado.SUMD("Total").RoundAD
Dim Contabilizable As Boolean = False
If TipoAlmacenOrigen = 26 AndAlso TipoAlmacenDestino <> 26 Then Contabilizable = True 'IdCtaContableOrigen = IdCtaContableDestino AndAlso
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableOrigen, -1, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
'si el tipo de almacen de entrada es Almacen sin costo, se registra al costo, la salida.
If TipoAlmacenOrigen <> 26 AndAlso TipoAlmacenDestino = 26 Then
Dim tCveClasificacion As Integer = DtMovimientos.MAX("CveClasificacion").ToEntero
Dim dr As DataRow = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveClasificacion:=tCveClasificacion).FiltroPrimero("")
Dim IdCuentaCostos As Integer = -1
If dr IsNot Nothing Then
IdCuentaCostos = dr("IdCuentaCostos").ToString.ToEntero
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 69, TxtObservaciones.Text, Fecha, IdCuentaCostos, -1, CveClasificacion:=tCveClasificacion, CveSubProyecto:=CveSubProyectoOrigen, CveMovimientoAlmacen:=CveMovimientoSalida, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
Contabilizable = False
importe = 0
End If
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContableDestino, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, Contabilizable:=Contabilizable, ImporteMX:=importe) Then
ErrorMovInv = True
End If
End If
End If
End If
Else
If Not ErrorMovInv Then
Dim Concepto As String = TxtObservaciones.Text
If Concepto = "" Then Concepto = "Traspaso"
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen2", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
Dim resultado As DataTable = ObjInventario.DtResultados
Dim importe As Decimal = resultado.SUMD("Total").RoundAD
Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorio.SelectedValue.ToEntero)).ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
End If
End If
End If
''[IPP-1Noviembre2018] SE COMENTA PORQUE NO TIENE NI PIES NI CABEZA. LE FALTA DESARROLLO
''CONSUMO INTERNO
'If Not ErrorMovInv Then
' If (TipoAlmacenOrigen = 14 Or TipoAlmacenDestino = 14) And TipoAlmacenOrigen <> TipoAlmacenDestino Then
' ConsumoInterno(TipoAlmacenOrigen, TipoAlmacenDestino)
' End If
'End If
Dim SerieInsertadaTimbre As String = ""
Dim FolioInsertadoTimbre As Integer = -1
Dim CveTimbre As Integer = -1
@@ -1292,18 +1253,9 @@ Partial Class Inventarios_TraspasoAlmacen
Alert(MensajeAlert.ToString, TipoMensaje.MsgInformacion, "")
If ChkTransitorio.Checked AndAlso UsuarioActual.CveEmpresa.Contiene(72, 80) Then
RegistraScript(String.Format("AbrirVentana('/General/PopUpPaqueteriasGuias.aspx?CveMovimiento={0}',800,620);", CveMovimientoSalida))
End If
'If UsuarioActual.CveEmpresa.Contiene(72, 80) Then
' Dim Correo As String = "jorgegonzalez@compuproveedores.com"
' If GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacenDestino.SelectedValue.ToEntero}").ToEntero = 16 Then
' MandaCorreo(CveMovimientoSalida, Correo)
' End If
'End If
LimpiaMovimiento()
Else
@@ -1322,97 +1274,97 @@ Partial Class Inventarios_TraspasoAlmacen
ObjInventario.Dispose()
End Sub
Function ConsumoInterno(TipoAlmacenOrigen As Integer, TipoAlmacenDestino As Integer) As Boolean
Dim Retorno As Boolean = False
Dim ErrorMovInv As Boolean = False
Dim TextoError As String = ""
Dim Fecha As Date = TxtFecha.Text.ToDate
'Function ConsumoInterno(TipoAlmacenOrigen As Integer, TipoAlmacenDestino As Integer) As Boolean
' Dim Retorno As Boolean = False
' Dim ErrorMovInv As Boolean = False
' Dim TextoError As String = ""
' Dim Fecha As Date = TxtFecha.Text.ToDate
Dim ObjInventario As New ClsInventarios
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim CveMovimiento As Integer = 0
Dim TipoMovto = If(TipoAlmacenOrigen = 14, -1, 1)
Dim CveConceptoInventario As Integer = 8
' Dim ObjInventario As New ClsInventarios
' Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
' Dim CveMovimiento As Integer = 0
' Dim TipoMovto = If(TipoAlmacenOrigen = 14, -1, 1)
' Dim CveConceptoInventario As Integer = 8
Dim CveAlmacenCI = If(TipoAlmacenOrigen = 14, DdlAlmacenOrigen.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
Dim DtCostos As DataTable = Nothing
Dim ValorInventario As Decimal = 0
' Dim CveAlmacenCI = If(TipoAlmacenOrigen = 14, DdlAlmacenOrigen.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
' Dim DtCostos As DataTable = Nothing
' Dim ValorInventario As Decimal = 0
'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, CveConceptoInventario, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, ""),
GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble, Modulo:="TA/G4")
Dim FolioMov As Integer = ObjInventario.Folio
' 'AGREGAMOS LA SALIDA DEL ALMACEN ORIGEN
' CveMovimiento = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, CveConceptoInventario, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
' Observaciones:=TxtObservaciones.Text.Trim, Recibio:=If(ChkTransitorio.Checked, TxtResponsable.Text.Trim, ""),
' GastoIndirecto:=If(ChkTransitorio.Checked And TxtGastoIndirecto.Text.ToDouble > 0, TxtGastoIndirecto.Text, "-1").ToDouble, Modulo:="TA/G4")
' Dim FolioMov As Integer = ObjInventario.Folio
If CveMovimiento <= 0 Then
TextoError = "No se pudo generar el movimiento de salida correctamente"
ErrorMovInv = True
Else
' If CveMovimiento <= 0 Then
' TextoError = "No se pudo generar el movimiento de salida correctamente"
' ErrorMovInv = True
' Else
For Each Dr As DataRow In DtMovimientos.Rows
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, Dr("CveAF").ToString.ToEntero, -1, Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate) Then
ErrorMovInv = True
TextoError = "Ocurrió un error al guardar los movimientos de salida"
Exit For
End If
Next
End If
' For Each Dr As DataRow In DtMovimientos.Rows
' If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, 0, Dr("CveAF").ToString.ToEntero, -1, Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate) Then
' ErrorMovInv = True
' TextoError = "Ocurrió un error al guardar los movimientos de salida"
' Exit For
' End If
' Next
' End If
If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
DtCostos = ObjInventario.DtResultados
Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
Dim IdCtaContable As Integer = 0
Dim CveCuenta As Integer = 0
' If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then
' DtCostos = ObjInventario.DtResultados
' Dim tmpCostos As DataTable = DtCostos.FiltraParametros("", "", {"CveClasificacion"})
' Dim IdCtaContable As Integer = 0
' Dim CveCuenta As Integer = 0
If tmpCostos.Rows.Count > 0 Then
Dim Concepto As String = $"Consumo Interno: {ObjInventario.Folio} - {TxtObservaciones.Text}"
Dim CvePrePoliza = ObjConta.AddPrePolizas("Inv/ConsumoInterno", 53, DtCostos.SUM("Total") * TipoMovto, DtCostos.SUM("Total") * TipoMovto, 1, TxtFecha.Text.ToDate, $"Consumo Interno: {TxtObservaciones.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
' If tmpCostos.Rows.Count > 0 Then
' Dim Concepto As String = $"Consumo Interno: {ObjInventario.Folio} - {TxtObservaciones.Text}"
' Dim CvePrePoliza = ObjConta.AddPrePolizas("Inv/ConsumoInterno", 53, DtCostos.SUM("Total") * TipoMovto, DtCostos.SUM("Total") * TipoMovto, 1, TxtFecha.Text.ToDate, $"Consumo Interno: {TxtObservaciones.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorInventario * TipoMovto, Concepto, 181, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario * TipoMovto, CveCuenta:=CveCuenta) Then
ErrorMovInv = True
Exit For
End If
Next
' For Each RowInv As DataRow In tmpCostos.Rows
' ValorInventario = DtCostos.SUM("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").ToString.ToDecimal
' IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
' CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorInventario * TipoMovto, Concepto, 181, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=ValorInventario * TipoMovto, CveCuenta:=CveCuenta) Then
' ErrorMovInv = True
' Exit For
' End If
' Next
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacenCI}").ToEntero
' IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", $"CveAlmacen={CveAlmacenCI}").ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DtCostos.SUM("Total").ToDecimal * TipoMovto, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUM("Total").ToDecimal * TipoMovto) Then
ErrorMovInv = True
End If
' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, DtCostos.SUM("Total").ToDecimal * TipoMovto, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimiento, ImporteMX:=DtCostos.SUM("Total").ToDecimal * TipoMovto) Then
' ErrorMovInv = True
' End If
End If
End If
' End If
' End If
If Not ErrorMovInv Then
' If Not ErrorMovInv Then
ObjInventario.Commit()
Dim Mensaje As StringBuilder = New StringBuilder
' ObjInventario.Commit()
' Dim Mensaje As StringBuilder = New StringBuilder
Mensaje.Append("Se realizó el consumo interno.")
' Mensaje.Append("Se realizó el consumo interno.")
Mensaje.AppendFormat("<br/> Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", FolioMov, CveMovimiento)
' Mensaje.AppendFormat("<br/> Folio: <b><a href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={1}"" target=""_blank"">{0}</a></b>", FolioMov, CveMovimiento)
Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
Mensaje.Clear()
' Alert(Mensaje.ToString, TipoMensaje.MsgInformacion)
' Mensaje.Clear()
LimpiaMovimiento()
' LimpiaMovimiento()
Else
ObjInventario.RollBack()
Alert(TextoError, TipoMensaje.MsgError)
RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
End If
' Else
' ObjInventario.RollBack()
' Alert(TextoError, TipoMensaje.MsgError)
' RegistraScript("playsonidito(''142608__autistic-lucario__error.wav'')")
' End If
Return Retorno
' Return Retorno
End Function
'End Function
#End Region
@@ -2141,7 +2093,6 @@ Partial Class Inventarios_TraspasoAlmacen
CveMovimientoSalidaTransitorio = ObjInventario.AddMovimiento(CveAlmacenSalida, 8, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Observaciones:=TxtObservacionesRecepcion.Text.Trim, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/G11")
If CveMovimientoSalidaTransitorio <= 0 Then
TextoError = "No se pudo generar el movimiento de salida correctamente"
ErrorMovInv = True
@@ -2203,6 +2154,7 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Cont += 1
Next
If Not ErrorMovInv Then
Dim Concepto As String = TxtObservacionesRecepcion.Text
If Concepto = "" Then Concepto = "Recepción Traspaso"
@@ -2213,14 +2165,11 @@ Partial Class Inventarios_TraspasoAlmacen
Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero)).ToEntero
Dim tCveConcepto As Integer = 68
'If CveMovimientoSalidaTransitorio = 0 Then
' tCveConcepto = 289
'End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, tCveConcepto, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoSalidaTransitorio, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=importe, Contabilizable:=False) Then
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
End If
@@ -2229,9 +2178,9 @@ Partial Class Inventarios_TraspasoAlmacen
'VIRTUAL ENTRADA
Dim CveMovimientoVirtualEntrada As Integer = 0
Dim FolioVirtualEntrada As Integer = 0
If RealizarMovimientoVirtual Then
Dim CveMovimientoVirtualEntrada, CveMovimientoVirtualSalida As Integer
Dim FolioVirtualEntrada, FolioVirtualSalida As Integer
If RealizarMovimientoVirtual AndAlso Not ErrorMovInv Then
Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacenEntrada).FiltroPrimeroValor("CveAlmacenVirtual", "").ToEntero()
@@ -2239,18 +2188,19 @@ Partial Class Inventarios_TraspasoAlmacen
Dim dtvirtual As DataTable = Nothing
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntrada, UsuarioActual.CveEmpresa) Then
If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
dtvirtual = ObjInventario.DtResultados
If dtvirtual.Rows.Count > 0 Then
CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/S2")
FolioVirtualEntrada = ObjInventario.Folio
CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtual, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalidaTransitorio, Modulo:="TA/S22")
FolioVirtualSalida = ObjInventario.Folio
For Each RowVirtual As DataRow In dtvirtual.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString().ToDecimal()
Dim PU As Decimal = RowVirtual("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
@@ -2260,17 +2210,31 @@ Partial Class Inventarios_TraspasoAlmacen
Dim Concepto As String = TxtObservaciones.Text
If Concepto = "" Then Concepto = "Traspaso"
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/TA22", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtualEntrada, UsuarioActual.CveEmpresa) Then
If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtualSalida, UsuarioActual.CveEmpresa) Then
Dim resultado As DataTable = ObjInventario.DtResultados
Dim importe As Decimal = resultado.SUMD("Total").RoundAD
CveMovimientoVirtualEntrada = ObjInventario.AddMovimiento(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/S23")
FolioVirtualEntrada = ObjInventario.Folio
For Each RowVirtual As DataRow In resultado.Rows
Dim CvePS = RowVirtual("CvePS").ToString().ToEntero()
Dim CantidadUsado As Decimal = RowVirtual("Cantidad").ToString().ToDecimal()
Dim PU As Decimal = RowVirtual("PU").ToString().ToDecimal()
Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualEntrada, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
ErrorMovInv = True
Exit For
End If
Next
Dim importe As Decimal = resultado.SUMD("Total").RoundSQL
Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorio.SelectedValue.ToEntero)).ToEntero
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoVirtualEntrada, ImporteMX:=importe, Contabilizable:=False) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoVirtualSalida, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoVirtualEntrada, ImporteMX:=importe, Contabilizable:=False) Then
If Not ErrorMovInv AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1, CveMovimientoAlmacen:=CveMovimientoVirtualEntrada, ImporteMX:=importe, Contabilizable:=False) Then
ErrorMovInv = True
End If
End If
@@ -2288,67 +2252,6 @@ Partial Class Inventarios_TraspasoAlmacen
End If
End If
''AGREGAMOS LA ENTRADA
'If Not ErrorMovInv Then
' CveMovimientoEntrada = ObjInventario.AddMovimiento(GvDatosRecepcion.Rows(0).DataKey("CveAlmacenDestino").ToEntero, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
' Observaciones:=TxtObservacionesRecepcion.Text.Trim, Recibio:=TxtRecibio.Text, CveAlmacenDestino:=GvDatosRecepcion.Rows(0).DataKey("CveAlmacenSalida").ToEntero, CveMovimientoRelacionado:=CveMovimientoSalida)
' Folio = ObjInventario.Folio
' If CveMovimientoEntrada <= 0 Then
' TextoError = "No se pudo generar el movimiento de entrada correctamente"
' ErrorMovInv = True
' Else
' 'COSTO INDIRECTO
' Dim GastoIndirectoTotal As Double = GvDatosRecepcion.Rows(0).DataKey("GastoIndirectoSalida").ToDouble
' Dim Importe As Double = GvDatosRecepcion.Rows(0).DataKey("Importe").ToDouble
' If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
' Dim CostoIndirecto As Double
' For Each Dr As DataRow In ObjInventario.DtResultados.Rows
' CostoIndirecto = 0
' If GastoIndirectoTotal > 0 Then
' 'PRORRATEAMOS EL GASTO INDIRECTO
' CostoIndirecto = ((Dr("Total").ToString.ToDouble * GastoIndirectoTotal) / Importe) / Dr("Cantidad").ToString.ToDouble
' End If
' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("Serie").ToString, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString, CostoIndirecto:=CostoIndirecto) Then
' ErrorMovInv = True
' TextoError = "Ocurrió un error al guardar los movimientos de entrada"
' Exit For
' End If
' Next
' End If
' End If
'End If
'AGREGAMOS LA ENTRADA VIEJO
'If Not ErrorMovInv Then
' 'Folio = ObjInventario.GetFolioSiguiente(9, UsuarioActual.CveEmpresa)
' CveMovimientoEntrada = ObjInventario.AddMovimiento(GvDatosRecepcion.Rows(0).DataKey("CveAlmacenDestino").ToEntero, 9, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1)
' If CveMovimientoEntrada <= 0 Then
' TextoError = "No se pudo generar el movimiento de entrada correctamente"
' ErrorMovInv = True
' Else
' If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then
' For Each Dr As DataRow In ObjInventario.DtResultados.Rows
' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero) Then
' ErrorMovInv = True
' TextoError = "Ocurrió un error al guardar los movimientos de salida"
' Exit For
' End If
' Next
' End If
' End If
'End If
If Not ErrorMovInv Then

View File

@@ -0,0 +1,81 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="ListadoReportes.aspx.cs" Inherits="Sistemas_ListadoReportes" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
Listado de reportes de Stimulsoft
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UPDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-4">
<div class="portlet light smmallpadding traspasorow bordered">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 1;">Listado de formatos</span>
</div>
<div class="actions">
<div class="btn-group">
<div class="row" style="margin-left: 0px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusqueda1" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda1','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron formatos" DataKeyNames="RutaReporte"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" GridLines="None" Width="100%">
<Columns>
<asp:BoundField HeaderText="Formato" DataField="Reporte" ItemStyle-Width="80%" />
<asp:TemplateField HeaderText="Editar" ItemStyle-Width="20%" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton runat="server" ID="BtnEditar" OnClick="BtnEditar_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea editar el formato?" data-btn-ok-label="si"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
function openWindow(url) {
var form = document.createElement("form");
form.target = "_blank";
form.method = "POST";
form.action = url;
form.style.display = "none";
//for (var key in data) {
// var input = document.createElement("input");
// input.type = "hidden";
// input.name = key;
// input.value = data[key];
// form.appendChild(input);
//}
document.body.appendChild(form);
form.submit();
document.body.removeChild(form);
}
</script>
</asp:Content>

View File

@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using static Extensiones.ModExtensiones;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
public partial class Sistemas_ListadoReportes : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
CargaDatos();
}
}
private void CargaDatos()
{
string RutaReportes = string.Format("{0}/Formatos", UsuarioActual.Empresa.Ruta);
string[] allfiles = Directory.GetFiles(RutaReportes, "*.mrt", SearchOption.AllDirectories);
GvDatos.DataSource = (from Reporte in allfiles
let file = new FileInfo(Reporte)
select new { RutaReporte = file.FullName, Reporte = file.Name.Replace(".mrt","") }).QueryToDataTable(true);
GvDatos.DataBind();
UPDatos.Update();
}
protected void BtnEditar_Click(object sender, EventArgs e)
{
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
var RutaReporteEncriptada = Encripta(GvRow.DataKey("RutaReporte"));
var hostURL = "https://localhost:7162";
if (UsuarioActual.Empresa.FacturaProduccion)
{
hostURL = "http://sig.adssistemas.mx:6599";
}
var strURL = $"{hostURL}/Designer/EditReport?P={RutaReporteEncriptada}";
RegistraScript($"openWindow('{strURL}');");
}
}

View File

@@ -211,8 +211,6 @@
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright" id="DvTamanio" runat="server" visible="false">
<asp:DropDownList ID="DdlTamanio" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" CausesValidation="true" DataTextField="Tamaño" DataValueField="CveTamaño" Width="350px">
<asp:ListItem Value="-1">Seleccione</asp:ListItem>
@@ -228,13 +226,13 @@
<label for="<%= DdlSATPS.ClientID.ToString()%>">Producto Servicio SAT:</label>
<i></i>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivPSAdicionalVigencia" visible="false">
<ADS:Dropdownlost runat="server" ID="DdlPSAdicionalVigencia" CssStyle="width: 46%;" CssClass="form-control input-sm select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
<label for="<%= DdlPSAdicionalVigencia.ClientID.ToString()%>"><asp:Literal runat="server" Text="Producto de vigencia:" ID="LtlPSAdicionalVigencia"></asp:Literal> </label>
<i></i>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivClasificacion2" visible="false">
<asp:DropDownList ID="DdlClasificacion2" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="false" CausesValidation="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="350px" Enabled="true">
</asp:DropDownList>
@@ -249,12 +247,11 @@
<label for="<%= DdlMarca.ClientID.ToString()%>">Marca:</label>
<i></i>
</div>
<div class="form-group form-md-line-input input-iconright col-xs-3">
<asp:TextBox ID="TxtVentaMinima" CssClass="form-control " runat="server"></asp:TextBox>
<%--<ajax:FilteredTextBoxExtender ID="FTBETVentaMinima" TargetControlID="TxtVentaMinima" FilterType="Numbers" runat="server" ValidChars=".," />--%>
<label class="truncate" style="padding-left: 16px;" for="<%= TxtVentaMinima.ClientID.ToString()%>">Venta Mínima:</label>
<label class="truncate" style="padding-left: 1px;" for="<%= TxtVentaMinima.ClientID.ToString()%>">Venta Mínima:</label>
<i></i>
</div>
@@ -272,94 +269,57 @@
</div>
</div>
<br />
<div class="row">
<div class=" col-md-4">
<div class="row" runat="server" id="divRowRSCO" visible="false" >
<div class=" col-md-6">
<div runat="server" id="DivRegistroRSCO1" class="form-group form-md-line-input input-iconright" visible="false" style="width:100%!important">
<asp:TextBox ID="TxtRegistroRSCO" CssClass="form-control" runat="server" MaxLength="50"></asp:TextBox>
<label for="<%= TxtRegistroRSCO.ClientID.ToString()%>">Registro RSCO:</label>
<label for="<%= TxtRegistroRSCO.ClientID.ToString()%>" style="margin-top:-6px" >Registro RSCO:</label>
<%--<asp:RequiredFieldValidator runat="server" ID="RfvTxtRegistroRSCO" ControlToValidate="TxtRegistroRSCO" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Registro RSCO''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>--%>
<i></i>
</div>
</div>
<div class=" col-md-4" runat="server" id="DivRegistroRSCO2" visible="false">
<div class=" col-md-3" runat="server" id="DivRegistroRSCO2" visible="false">
<div class="form-group form-md-line-input input-iconright" runat="server" style="width: 200px">
<div class="form-group form-md-line-input input-iconright" runat="server" style="width: 125px">
<asp:CheckBox ID="ChkFechaIndeterminadaRSCO" runat="server" CssClass="form-control" OnCheckedChanged="ChkFechaIndeterminadaRSCO_CheckedChanged" AutoPostBack="true" />
<label for="<%= ChkFechaIndeterminadaRSCO.ClientID.ToString()%>">Fecha Indeterminada:</label>
<label for="<%= ChkFechaIndeterminadaRSCO.ClientID.ToString()%>" style="margin-top:-6px" >F. Indeterminada:</label>
</div>
</div>
<div class=" col-md-4">
<div class=" col-md-3">
<div class="form-group form-md-line-input input-iconright" style="width: 160px!important" runat="server" id="DivRegistroRSCO3" visible="false">
<div class="form-group form-md-line-input input-iconright" style="width: 125px!important" runat="server" id="DivRegistroRSCO3" visible="false">
<asp:TextBox ID="TxtFechaVigenciaRSCO" CssClass="form-control" MaxLength="50" runat="server" Width="130px"></asp:TextBox>
<asp:TextBox ID="TxtFechaVigenciaRSCO" CssClass="form-control" MaxLength="20" runat="server" Width="100px"></asp:TextBox>
<span class="input-group-btn " style="position: absolute; right: 41px; top: -5px;">
<asp:LinkButton ID="LnkTxtFechaVigenciaRSCO" class="btn default" Style="margin-top: 15px; margin-left: 6px" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<ajax:CalendarExtender runat="server" ID="CETxtFechaVigenciaRSCO" TargetControlID="TxtFechaVigenciaRSCO" PopupButtonID="LnkTxtFechaVigenciaRSCO" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<ajax:MaskedEditExtender ID="METxtFechaVigenciaRSCO" runat="server" TargetControlID="TxtFechaVigenciaRSCO" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<asp:CompareValidator ID="CvTxtFechaVigenciaRSCO" runat="server" ControlToValidate="TxtFechaVigenciaRSCO" Display="None"
ErrorMessage="El campo <b>''Fecha de Cierre''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpGuardar"></asp:CompareValidator>
<%--<asp:RequiredFieldValidator ID="RfvTxtFechaVigenciaRSCO" runat="server" ControlToValidate="TxtFechaVigenciaRSCO" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha de Cierre''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>--%>
<ajax:ValidatorCalloutExtender ID="CvcTxtFechaVigenciaRSCO" runat="server" HighlightCssClass="vco" TargetControlID="CvTxtFechaVigenciaRSCO" Width="300px"></ajax:ValidatorCalloutExtender>
<%--<ajax:ValidatorCalloutExtender ID="VCETxtFechaVigenciaRSCO" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtFechaVigenciaRSCO" Width="300px"></ajax:ValidatorCalloutExtender>--%>
<label for="<%= TxtFechaVigenciaRSCO.ClientID.ToString() %>">Fecha de Vigencia:</label>
<ajax:ValidatorCalloutExtender ID="CvcTxtFechaVigenciaRSCO" runat="server" HighlightCssClass="vco" TargetControlID="CvTxtFechaVigenciaRSCO" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtFechaVigenciaRSCO.ClientID.ToString() %>" style="margin-top:-6px" >Fecha de Vigencia:</label>
</div>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright col-xs-3" id="divLitraje" visible="false" runat="server">
<asp:TextBox ID="TxtLitraje" CssClass="form-control " runat="server" ></asp:TextBox>
<%--<ajax:FilteredTextBoxExtender ID="FTBETVentaMinima" TargetControlID="TxtVentaMinima" FilterType="Numbers" runat="server" ValidChars=".," />--%>
<label class="truncate" style="padding-left: 16px;" for="<%= TxtLitraje.ClientID.ToString()%>">Litraje:</label>
<label class="truncate" style="padding-left: 16px;" for="<%= TxtLitraje.ClientID.ToString()%>">Litraje:</label>
<i></i>
</div>
<br />
<br />
<br />
<br />
<div class="form-group">
<label>Aplica para Venta:</label>
<asp:CheckBox ID="ChkAplicaParaVenta" CssClass="make-switchsd" data-size="small" runat="server" Checked="True" />
</div>
<%-- <div class="form-group">
<label>Aplica para Concepto en la factura:</label>
<asp:CheckBox ID="ChkAplicaParaConcepto" CssClass="make-switchsd" data-size="small" runat="server" Checked="true" />
</div>--%>
</div>
</div>
</div>

View File

@@ -1028,6 +1028,10 @@ Partial Class ProductosyServicios
Else
TxtFechaVigenciaRSCO.Text = ObjProductosServicios.DtResultados.Rows(0)("FechaVigenciaRSCO").ToString.ToDate.ToString("dd/MM/yyyy")
DivRegistroRSCO3.Visible = True
If TxtFechaVigenciaRSCO.Text = "01/01/1900" Then
TxtFechaVigenciaRSCO.Text = ""
End If
End If
@@ -1948,8 +1952,7 @@ Partial Class ProductosyServicios
PS.Dispose()
DdlCompuesto.DataBind()
divRowRSCO.Visible = True
End If
End Sub

View File

@@ -200,6 +200,12 @@
<li>
<asp:HyperLink ID="HplDownPDF" Target="_blank" runat="server" Visible="false"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Imprimir PDF</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="HplRenerarPDF" Target="_blank" runat="server" Visible="false"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Regenerar PDF</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="HplImprimirPDFStimulsoft" Target="_blank" runat="server" Visible="false"> <i class="fa fa-file-pdf-o" style="font-weight:bold;"></i> Imprimir PDF Stimulsoft</asp:HyperLink>
</li>
<li>
<asp:HyperLink ID="ImgDownCancelacion" Target="_blank" ToolTip="Descarga Acuse Cancelación" Visible="false" runat="server"><i class="fa fa-ad-pdf"></i> Imprimir Acuse Cancelación</asp:HyperLink>
</li>
@@ -282,8 +288,8 @@
<asp:LinkButton ID="LkbRetiro" runat="server" OnClick="LkbRetiro_Click" Visible="false"> <i class="fa fa-ad-excel"></i> Retiro de Efectivo</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkUUIDRelacionados" runat="server" CausesValidation="False" Text="<i class='fa fa-pencil'></i> UUID Relacionados" OnClick="LnkUUIDRelacionados_Click" Visible="false" />
<li>
<asp:LinkButton ID="LnkUUIDRelacionados" runat="server" CausesValidation="False" Text="<i class='fa fa-pencil'></i> UUID Relacionados" OnClick="LnkUUIDRelacionados_Click" Visible="false" />
</li>
<li>
<asp:LinkButton ID="LBCancelarPedido" runat="server" CausesValidation="False" CommandName="Delete" Text="<i class='fa fa-ban'></i> Cancelar Pedido" OnClick="LBCancelarPedido_Click" data-toggle="confirmation" data-popout="true" data-original-title="¿Estás seguro que deseas cancelar el Pedido?" data-btn-ok-label="si" Visible="false" />
@@ -7788,17 +7794,20 @@
</div>
<div class="actions">
<div class="btn-group">
<div class="row" style="margin-left: 0px; text-align: right" align="left">
<div style="margin-right: 15px">
<input type="text" id="TxtBusquedaNCCargos" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaNCCargos','{0}')", GvDescNCCargos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaNCCargos','{0}')", GvDescNCCargos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
</div>
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
<%-- <a href="javascript:;" class="collapse"></a>--%>
</div>
</div>
<div class="portlet-body form-horizontal form-row-sepe formnombottom">
<div class="row" style="margin-right: 10px;" align="right">
<input type="text" id="TxtBusquedaNCCargos" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaNCCargos','{0}')", GvDescNCCargos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusquedaNCCargos','{0}')", GvDescNCCargos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<div class="row">
<div class="col-md-12" style="max-height: 440px; overflow: auto">
<asp:GridView ID="GvDescNCCargos" runat="server" AutoGenerateColumns="False"
@@ -9439,19 +9448,19 @@
$('#<%= TxtTotal.ClientID %>').prop('readonly', DisabledTxtTotal);
$('#C_Tab_TabComplementos_TxtFechaLlegadaCP').datetimepicker({
dayOfWeekStart: 1,
lang: 'es',
format: 'd/m/Y H:i',
formatDate: 'd/m/Y H:i',
step: 30
$('#C_Tab_TabComplementos_TxtFechaLlegadaCP').datetimepicker({
dayOfWeekStart: 1,
lang: 'es',
format: 'd/m/Y H:i',
formatDate: 'd/m/Y H:i',
step: 30
});
$('#C_Tab_TabComplementos_TxtFechaEntregaCP').datetimepicker({
dayOfWeekStart: 1,
lang: 'es',
format: 'd/m/Y H:i',
formatDate: 'd/m/Y H:i',
step: 30
$('#C_Tab_TabComplementos_TxtFechaEntregaCP').datetimepicker({
dayOfWeekStart: 1,
lang: 'es',
format: 'd/m/Y H:i',
formatDate: 'd/m/Y H:i',
step: 30
});
}

View File

@@ -8905,6 +8905,13 @@ Partial Class Ventas
If (Archivo.Exists Or Archivo2.Exists) And IfNull(CveVenta, 0).ToString().ToEntero() > 0 Then
HplDownPDF.Visible = True
HplDownPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta)))
If UsuarioActual.CveRol = 1 Then
HplRenerarPDF.Visible = True
HplRenerarPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1&REGENERAR=1", CveVenta)))
HplImprimirPDFStimulsoft.Visible = True
HplImprimirPDFStimulsoft.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=0&STIMULSOFT=1", CveVenta)))
End If
End If
'NO DEBE IMPRIMIR PDF DE COTIZACION
@@ -19242,22 +19249,28 @@ Partial Class Ventas
End If
If UsuarioActual.Empresa.Funcionalidad(558) = "1" AndAlso ListaDescuentos IsNot Nothing AndAlso ListaDescuentos.Count > 0 Then
TxtObsFact.Text = ""
Dim Titulo As String = ListaDescuentos.FirstOrDefault().NombrePromo
Dim strPromos As New StringBuilder
If Not String.IsNullOrEmpty(Titulo) Then
For Each Promo As Descuentos In ListaDescuentos
strPromos.AppendFormat("{0}, ", Promo.ObsDescuento)
If Not String.IsNullOrEmpty(Promo.ObsDescuento) Then
strPromos.AppendFormat("{0}, ", Promo.ObsDescuento)
End If
Next
If strPromos.Length > 2 Then
strPromos.Remove(strPromos.Length - 2, 2)
End If
If strPromos.Length > 0 Then
TxtObsFact.Text = ""
TxtObsFact.Text = String.Format("{0} {1}", Titulo, strPromos.ToString())
End If
End If
TxtObsFact.Text = String.Format("{0} {1}", Titulo, strPromos.ToString())
End If
UPObservaciones.Update()
@@ -23827,7 +23840,36 @@ Partial Class Ventas
', "document.location.href=""/Ventas/Ventas.aspx?CveVenta=" & CveVenta
End If
ObjVentas.Dispose()
ElseIf DdlTipoComprobante.SelectedValue.Contiene("RNC") Then
LblCancelarDocumento.Text = "¿Desea cancelar la remisión de nota de crédito?<br/>"
Dim sbExtra As New StringBuilder
Using ObjAcum As New ClsAcumuladores
If ObjAcum.DistribuidorMovtosGet(Me.CveCliente, UsuarioActual.CveEmpresa, CveVentaRNCCargo:=Me.CveVenta, CveConcepto:=1) Then
Dim DtBon As DataTable = ObjAcum.DtResultados.FiltraParametros("CveVentaBonificacion > 0", DistinctColumns:={"SerieFolioBonificacion", "CveVentaBonificacion"})
If DtBon IsNot Nothing AndAlso DtBon.Rows.Count > 0 Then
sbExtra.Append("<b>*Se cancelaran las siguientes remisiones de nota de crédito de bonificación.</b><br/>")
For Each RowBon As DataRow In DtBon.Rows
sbExtra.AppendFormat("&nbsp;&nbsp;&nbsp;&nbsp;&nbsp<b><a class='Texto' target='_blank' href=""/Ventas/Ventas.aspx?CveVenta={0}"">{1}</a></b><br/>", RowBon("CveVentaBonificacion"), RowBon("SerieFolioBonificacion"))
Next
DtBon.Dispose()
End If
End If
End Using
LbCancelarDescripcion.Text = sbExtra.ToString()
DivRelacionadasCancelacion.Visible = False
BtnCancelarDocumento.Visible = True
DivMotivoCancelacion.Visible = False
DivMotivoCancelacionTxt.Visible = False
DivCanRem.Visible = False
DivDevAlm.Visible = False
UpCancelarDocumento.Update()
RegistraScript("$('#ModalCancelarDocumento').modal();")
Else
CancelarDocumento()
End If
@@ -23997,7 +24039,7 @@ Partial Class Ventas
Dim ObjFacturaCancelacion As New Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:=True)
Try
Dim resp As Modelos.Factura.MCancelacionVentaMensaje = Nothing
Dim strMensaje As New StringBuilder()
If ObjFacturaCancelacion IsNot Nothing AndAlso ObjFacturaCancelacion.CveVenta > 0 Then
Dim SWatch As New Stopwatch
SWatch.Start()
@@ -24010,6 +24052,7 @@ Partial Class Ventas
'ObjE.Dispose()
resp = ObjFacturaCancelacion.CancelarPorRefacturacion(DdlMotivoRefacturacion.SelectedValue.ToEntero(), TxtMotivoRefac.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion)
strMensaje.Append(resp.Mensaje)
Else
Dim ListaRemisionesCancelar As New List(Of Integer)
If ChkCanRem.Checked Then
@@ -24027,6 +24070,41 @@ Partial Class Ventas
End If
resp = ObjFacturaCancelacion.CancelarFactura(ChkDevAlm.Checked, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion)
strMensaje.Append(resp.Mensaje)
Dim DtBonificaciones As DataTable = Nothing
'SI ES RNC DE CARGO DEBE CANCELAR LAS BON
If Not resp.HuboError AndAlso ObjFacturaCancelacion.TipoDocto.Contiene("RNC") AndAlso ObjFacturaCancelacion.Num1 = 1 Then
Using ObjAcum As New ClsAcumuladores
If ObjAcum.DistribuidorMovtosGet(ObjFacturaCancelacion.CveCliente, UsuarioActual.CveEmpresa, CveVentaRNCCargo:=ObjFacturaCancelacion.CveVenta, CveConcepto:=1) Then
DtBonificaciones = ObjAcum.DtResultados.FiltraParametros("CveVentaBonificacion > 0", DistinctColumns:={"CveVentaBonificacion"})
End If
End Using
If DtBonificaciones IsNot Nothing AndAlso DtBonificaciones.Rows.Count > 0 Then
For Each RowBon As DataRow In DtBonificaciones.Rows
Try
'VERIFICA SI TIENE RNC DE BONIFICACION
Dim Bon = New Modelos.Factura(UsuarioActual, RowBon("CveVentaBonificacion").ToString().ToEntero(), UsuarioActual.CveEmpresa, VerificaAlmacen:=False)
Dim respBon = Bon.CancelarFactura(False, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim(), CveEstadoCancelacion:=Me.CveEstadoCancelacion)
If respBon.HuboError Then
strMensaje.AppendFormat("<br/>Ocurrió un error al cancelar la remisión de NC de bonificación <b> {0} </b>.", Bon.SerieFolio)
Else
strMensaje.AppendFormat("<br/> La remisión de nota de credito de bonificación <b> {0}</b> fue cancelada correctamente.", Bon.SerieFolio)
End If
strMensaje.AppendFormat("<br/> {0}", resp.Mensaje)
Catch ex As Exception
OnError("Ocurrió un error al cancelar la bonificación", ex)
strMensaje.Append("<br/> Ocurrió un error al cancelar la bonificación")
End Try
Next
DtBonificaciones.Dispose()
End If
End If
End If
SWatch.Stop()
@@ -24039,10 +24117,10 @@ Partial Class Ventas
End If
If resp.HuboError Then
Alert(resp.Mensaje, resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
Alert(strMensaje.ToString(), resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
Else
If resp.CveEstatus = 5 AndAlso Not EsRefacturacion Then
Alert(resp.Mensaje, resp.TipoMensaje, JSBtnAceptar:=$"BtnEnviarMailCancelacion({CveVenta});", TextoConfirmacion:="&nbsp;&nbsp;&nbsp;&nbsp;Si&nbsp;&nbsp;&nbsp;&nbsp;", TextoCancelacion:="&nbsp;&nbsp;&nbsp;&nbsp;<a onclick='Recargar()'>No</>&nbsp;&nbsp;&nbsp;&nbsp;")
Alert(strMensaje.ToString(), resp.TipoMensaje, JSBtnAceptar:=$"BtnEnviarMailCancelacion({CveVenta});", TextoConfirmacion:="&nbsp;&nbsp;&nbsp;&nbsp;Si&nbsp;&nbsp;&nbsp;&nbsp;", TextoCancelacion:="&nbsp;&nbsp;&nbsp;&nbsp;<a onclick='Recargar()'>No</>&nbsp;&nbsp;&nbsp;&nbsp;")
Else
If EsRefacturacion Then
If resp.CveEstatus = 20 Then
@@ -24050,10 +24128,10 @@ Partial Class Ventas
ElseIf resp.CveEstatus.Contiene(4, 5, 23) Then
LigaRedirigir = $"Ventas.aspx?CveDevolucion={CveVenta}&NuevaFactura=1"
Else
Alert(resp.Mensaje, resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
Alert(strMensaje.ToString(), resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
End If
Else
Alert(resp.Mensaje, resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
Alert(strMensaje.ToString(), resp.TipoMensaje, JSBtnAceptar:="BtnRefrescarPagina();")
End If
End If
End If
@@ -26925,14 +27003,15 @@ Partial Class Ventas
End If
GvDescNCCargos.DataBind()
Dim SaldoMaximoUtilizable As Decimal = 0
Dim SaldoMaximoCliente As Decimal = 0
Dim SaldoEntregado As Decimal = 0
If CargarSoloGarantias Then
Dim SaldoMaximo As Decimal = DtNC.SUMD("Saldo", "TipoRNC = 1 AND EsGarantia = True")
If SaldoMaximo > 0 Then
SaldoMaximoUtilizable = SaldoMaximo
SaldoMaximoCliente = SaldoMaximo
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
Else
Dim ObjAcum As New ClsAcumuladores
@@ -26942,25 +27021,32 @@ Partial Class Ventas
Dim SaldoMaximo As Decimal = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
If SaldoMaximo > 0 Then
SaldoMaximoUtilizable = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
SaldoMaximoCliente = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
Dim RowEntregado As DataRow = ObjAcum.DtResultados.Rows(1)
SaldoEntregado = RowEntregado("ValorConImpuestos").ToString().ToDecimal()
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
ObjAcum.Dispose()
End If
Dim SaldoMaximoUsadosFactura As Decimal = Me.TmpDT.SUM("Total", "EsCargo = True").ToDecimal() + Me.TmpDT.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
If SaldoMaximoUtilizable < SaldoMaximoUsadosFactura Then
If SaldoMaximoCliente > 0 AndAlso SaldoMaximoCliente < SaldoMaximoUsadosFactura Then
SaldoMaximoUsadosFactura = SaldoMaximoCliente
End If
Dim SaldoMaximoUtilizable = If(SaldoMaximoUsadosFactura < SaldoEntregado, SaldoMaximoUsadosFactura, SaldoEntregado)
If SaldoMaximoUtilizable > 0 Then
HdnSaldoMaximoUsados.Value = SaldoMaximoUtilizable.ToString()
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUtilizable)
Else
HdnSaldoMaximoUsados.Value = SaldoMaximoUsadosFactura.ToString()
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUsadosFactura)
HdnSaldoMaximoUsados.Value = "0"
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", 0)
End If
Else
@@ -27076,14 +27162,14 @@ Partial Class Ventas
End If
GvDescNCCargosDetalle.DataBind()
Dim SaldoMaximoUtilizable As Decimal = 0
Dim SaldoMaximoCliente As Decimal = 0
Dim SaldoEntregado As Decimal = 0
If CargarSoloGarantias Then
Dim SaldoMaximo As Decimal = TmpDTRNCDetalle.SUMD("Saldo", "TipoRNC = 1 AND EsGarantia = True")
If SaldoMaximo > 0 Then
SaldoMaximoUtilizable = SaldoMaximo
SaldoMaximoCliente = SaldoMaximo
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
Else
Dim ObjAcum As New ClsAcumuladores
@@ -27093,27 +27179,36 @@ Partial Class Ventas
Dim SaldoMaximo As Decimal = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
If SaldoMaximo > 0 Then
SaldoMaximoUtilizable = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
SaldoMaximoCliente = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
Dim RowEntregado As DataRow = ObjAcum.DtResultados.Rows(1)
SaldoEntregado = RowEntregado("ValorConImpuestos").ToString().ToDecimal()
Else
SaldoMaximoUtilizable = 0
SaldoMaximoCliente = 0
End If
ObjAcum.Dispose()
End If
Dim SaldoMaximoUsados As Decimal = Me.TmpDT.SUM("Total", "EsCargo = True").ToDecimal() + Me.TmpDT.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
Dim SaldoMaximoUsadosFactura As Decimal = Me.TmpDT.SUM("Total", "EsCargo = True").ToDecimal() + Me.TmpDT.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
If SaldoMaximoUtilizable < SaldoMaximoUsados Then
If SaldoMaximoCliente > 0 AndAlso SaldoMaximoCliente < SaldoMaximoUsadosFactura Then
SaldoMaximoUsadosFactura = SaldoMaximoCliente
End If
Dim SaldoMaximoUtilizable = If(SaldoMaximoUsadosFactura < SaldoEntregado, SaldoMaximoUsadosFactura, SaldoEntregado)
If SaldoMaximoUtilizable > 0 Then
HdnSaldoMaximoUsados.Value = SaldoMaximoUtilizable.ToString()
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUtilizable)
Else
HdnSaldoMaximoUsados.Value = SaldoMaximoUsados.ToString()
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUsados)
HdnSaldoMaximoUsados.Value = "0"
LblSaldoMaximoUsados.Text = String.Format("{0:N2}", 0)
End If
UpDescNC.Update()
End Sub
Private Sub CargaRNCDetalleBonificacion(Optional CveVentaUsado As Integer = -1)
@@ -27861,8 +27956,17 @@ Partial Class Ventas
DtImpuestos = query.QueryToDataTable(False)
DtImpuestosBonificacion = queryBonificacion.QueryToDataTable(False)
Dim TieneMultiplesSubProyectos As Boolean = False
'VERIFICA SI EN LA FACTURA ACTUAL TUVO MULTIPLES SUBPROYECTOS, PARA CUADRAR AL FINAL EL IMPORTE ACUMULADO
If Not AplicaNCMasiva AndAlso AplicoNCFacturaActual Then
TieneMultiplesSubProyectos = TmpDT.FiltraParametros("", "", {"CveSubProyecto"}).COUNT("CveSubProyecto", "CveSubProyecto > 0") > 1
If TieneMultiplesSubProyectos Then
AcumuladoNC = TxtNCImporte.Text.Trim.ToDecimal
End If
End If
'ASUSTO LA DIFERENCIA EN EL ÚLTIMO CONCEPTO
If TipoDoctoNC = "Egs" AndAlso (Not AplicaNuevoDocumento) AndAlso AplicaNCMasiva AndAlso (Not NCDescuento) AndAlso AcumuladoNC > 0 Then
If TipoDoctoNC = "Egs" AndAlso (Not AplicaNuevoDocumento) AndAlso (AplicaNCMasiva OrElse TieneMultiplesSubProyectos) AndAlso (Not NCDescuento) AndAlso AcumuladoNC > 0 Then
'CODIGO PARA AJUSTE DE CENTAVO, SI EL IMPORTE TOTAL NO CUADRA CON LOS TOTALES
Dim ImporteNC As Decimal = DtImpuestos.SUMD("ImporteTotal") + DtImpuestos.SUMD("ImporteIVA") + DtImpuestos.SUMD("ImporteIEPS") - DtImpuestos.SUMD("ImporteRetIVA") - DtImpuestos.SUMD("ImporteRetISR")
@@ -28642,8 +28746,9 @@ Partial Class Ventas
End If
Dim AplicaRedondeo As Boolean = True
Dim TieneMultiplesSubProyectos As Boolean = TmpDT.FiltraParametros("", "", {"CveSubProyecto"}).COUNT("CveSubProyecto", "CveSubProyecto > 0") > 1
If AplicaNCMasiva AndAlso Not NCDescuento Then
If AplicaNCMasiva AndAlso Not NCDescuento OrElse TieneMultiplesSubProyectos Then
AplicaRedondeo = False
End If