diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb
index d7134d6b8..c37e75652 100644
--- a/App_Code/ClsAcumuladores.vb
+++ b/App_Code/ClsAcumuladores.vb
@@ -898,7 +898,7 @@ Public Class ClsAcumuladores
End Function
#End Region
- Public Function DistribuidorMovtosAdd(CveCliente As Integer, Cantidad As Integer, CveTamaño As Integer, CveConcepto As Integer, CveVenta As Integer, CveUsuario As Integer,
+ 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, Optional CveMovimiento As Integer = -1) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -907,7 +907,7 @@ Public Class ClsAcumuladores
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
- .Add("@Cantidad", SqlDbType.Int).Value = Cantidad
+ .Add("@Cantidad", SqlDbType.Decimal).Value = Cantidad
.Add("@CveTamaño", SqlDbType.Int).Value = CveTamaño
.Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb
index 0fe3e20d1..277667dc0 100644
--- a/App_Code/ClsCompras.vb
+++ b/App_Code/ClsCompras.vb
@@ -195,7 +195,8 @@ Public Class ClsCompras
AplicaNotaCredito As Boolean, Observaciones As String, CveEstatusCompra As Integer, CvePrePoliza As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional IdPoliza As Integer = -1,
Optional CveOC As Integer = -1, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1, Optional NumeroReembolso As String = "-1", Optional CveProveedorSucursal As Integer = -1,
Optional AplicoPromocion As Boolean = False, Optional PorcentajeIVA As Double = 0, Optional CveMetodoPago As Integer = -1, Optional CveRetIVAConcepto As Integer = -1, Optional CveConceptoContableAlmacen As Integer = -1,
- Optional CveRetISRConcepto As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveTipoCompra As Integer = -1, Optional TotalOriginal As Double = 0, Optional CveTipoConcepto As Integer = 1, Optional CveFactura As Integer = -1) As Boolean
+ Optional CveRetISRConcepto As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveTipoCompra As Integer = -1, Optional TotalOriginal As Double = 0, Optional CveTipoConcepto As Integer = 1, Optional CveFactura As Integer = -1,
+ Optional CveContrato As Integer = -1) As Boolean
Dim Retorno As Boolean = False
@@ -246,6 +247,7 @@ Public Class ClsCompras
.Add("@TotalOriginal", SqlDbType.Money).Value = TotalOriginal
.Add("@CveTipoConcepto", SqlDbType.Int).Value = CveTipoConcepto
.Add("@CveFactura", SqlDbType.Int).Value = CveFactura
+ .Add("@CveContrato", SqlDbType.Int).Value = CveContrato
End With
Try
@@ -267,10 +269,9 @@ Public Class ClsCompras
Return Retorno
End Function
Public Function UpdateCompra(Descripcion As String, FolioSecundario As String, FechaVencimiento As Date, AplicaNotaCredito As Boolean, Observaciones As String, CveEstatusCompra As Integer,
- Descuento As Double, SubTotal As Double, IVA As Double, Total As Double, CveUsuario As Integer,
- CveCompra As Integer, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1,
- Optional CveProveedorSucursal As Integer = -1, Optional PorcentajeIVA As Double = 0,
- Optional NumeroReembolso As String = "", Optional CveTipoCompra As Integer = -1, Optional NoDeducible As Boolean = False, Optional CveFactura As Integer = -1) As Boolean
+ Descuento As Double, SubTotal As Double, IVA As Double, Total As Double, CveUsuario As Integer, CveCompra As Integer, Optional CveCajaChica As Integer = -1, Optional CvePersonal As Integer = -1,
+ Optional CveProveedorSucursal As Integer = -1, Optional PorcentajeIVA As Double = 0, Optional NumeroReembolso As String = "", Optional CveTipoCompra As Integer = -1, Optional NoDeducible As Boolean = False,
+ Optional CveFactura As Integer = -1, Optional CveContrato As Integer = -1) As Boolean
Dim Retorno As Boolean = False
@@ -297,6 +298,7 @@ Public Class ClsCompras
.Add("@CveTipoCompra", SqlDbType.Int).Value = CveTipoCompra
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
.Add("@CveFactura", SqlDbType.Int).Value = CveFactura
+ .Add("@CveContrato", SqlDbType.Int).Value = CveContrato
End With
Try
diff --git a/App_Code/ClsContratos.vb b/App_Code/ClsContratos.vb
index 2f6dc4b60..e7b9a2971 100644
--- a/App_Code/ClsContratos.vb
+++ b/App_Code/ClsContratos.vb
@@ -1007,14 +1007,16 @@ Public Class ClsContratos
End Try
Return Retorno
- End Function
-
-
-
+ End Function
+
+
+
#End Region
-
+
#Region "CONTRATOS DETALLE"
- Public Function AddContratosDetalle(CveContrato As Integer, CvePS As Integer, Cantidad As Double, PU As Double, CveUsuario As Integer, CveTipoPresupuesto As Integer, NoIdentificacion As String, LimitarCantidad As Boolean, OCInterna As String, Optional Observacion As String = "") As Boolean
+
+ Public Function AddContratosDetalle(CveContrato As Integer, CvePS As Integer, Cantidad As Double, PU As Double, CveUsuario As Integer, CveTipoPresupuesto As Integer, NoIdentificacion As String, LimitarCantidad As Boolean, OCInterna As String,
+ Optional Observacion As String = "", Optional CveRubro As Integer = -1, Optional CveActividad As Integer = -1, Optional CveSubTipoActivoFijo As Integer = -1, Optional Dias As Integer = -1) As Boolean
Dim Retorno = False
DataAdapter("PA_Con_ContratosDetalleAdd")
@@ -1029,6 +1031,10 @@ Public Class ClsContratos
.Add("@OCInterna", SqlDbType.VarChar).Value = OCInterna
.Add("@LimitarCantidad", SqlDbType.Bit).Value = If(LimitarCantidad, 1, 0)
.Add("@Observacion", SqlDbType.VarChar).Value = Observacion
+ .Add("@CveRubro", SqlDbType.Int).Value = CveRubro
+ .Add("@CveActividad", SqlDbType.Int).Value = CveActividad
+ .Add("@CveSubTipoActivoFijo", SqlDbType.Int).Value = CveSubTipoActivoFijo
+ .Add("@Dias", SqlDbType.Int).Value = Dias
'NoIdentificacion
End With
@@ -1044,7 +1050,8 @@ Public Class ClsContratos
End Function
- Public Function UpdateContratosDetalle(CveContratoDetalle As Integer, CveContrato As Integer, CvePS As Integer, Cantidad As Double, PU As Double, CveUsuario As Integer, NoIdentificacion As String, LimitarCantidad As Boolean, OCInterna As String, Optional Observacion As String = "") As Boolean
+ Public Function UpdateContratosDetalle(CveContratoDetalle As Integer, CveContrato As Integer, CvePS As Integer, Cantidad As Double, PU As Double, CveUsuario As Integer, NoIdentificacion As String, LimitarCantidad As Boolean, OCInterna As String,
+ Optional Observacion As String = "", Optional CveRubro As Integer = -1, Optional CveActividad As Integer = -1, Optional CveSubTipoActivoFijo As Integer = -1, Optional Dias As Integer = -1) As Boolean
Dim Retorno = False
DataAdapter("PA_Con_ContratosDetalleUpdate")
@@ -1058,7 +1065,11 @@ Public Class ClsContratos
.Add("@NoIdentificacion", SqlDbType.VarChar).Value = NoIdentificacion
.Add("@OCInterna", SqlDbType.VarChar).Value = OCInterna
.Add("@LimitarCantidad", SqlDbType.Bit).Value = If(LimitarCantidad, 1, 0)
- .Add("@Observacion", SqlDbType.VarChar).Value = Observacion
+ .Add("@Observacion", SqlDbType.VarChar).Value = Observacion
+ .Add("@CveRubro", SqlDbType.Int).Value = CveRubro
+ .Add("@CveActividad", SqlDbType.Int).Value = CveActividad
+ .Add("@CveSubTipoActivoFijo", SqlDbType.Int).Value = CveSubTipoActivoFijo
+ .Add("@Dias", SqlDbType.Int).Value = Dias
End With
diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb
index de61d09e9..b89221914 100644
--- a/App_Code/ClsInventarios.vb
+++ b/App_Code/ClsInventarios.vb
@@ -1309,8 +1309,14 @@ Public Class ClsInventarios
Retorno = True
End If
Catch Ex1 As SqlException
+
If Ex1.Message.Contains("50019") Then
Me.OnError(" El producto no tiene existencia.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
+ ElseIf Ex1.Message.Contains("CK_Inv_MovimientosDetalle_MetodoInventario") Then
+
+ Me.OnError("El movimiento debe de tener una Serie.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+
Else
If Ex1.Message.Contains("50021") Then
Me.OnError(" El producto ingresado previamente.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
@@ -1437,7 +1443,7 @@ Public Class ClsInventarios
Return Retorno
End Function
- Public Function GetMovimientosTransitorios(CveAlmacenDestino As Integer, CveTipoAlmacenDestino As Integer, CveAlmacenTransitorio As Integer, CveUsuarioResponsable As Integer, Folio As Integer, CveEmpresa As Integer) As Boolean
+ Public Function GetMovimientosTransitorios(CveAlmacenDestino As Integer, CveTipoAlmacenDestino As Integer, CveAlmacenTransitorio As Integer, CveUsuarioResponsable As Integer, Folio As Integer, CveEmpresa As Integer, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_MovimientosTransitoriosGet")
@@ -1448,6 +1454,7 @@ Public Class ClsInventarios
.Add("@Folio", SqlDbType.Int).Value = Folio
.Add("@CveUsuarioResponsable", SqlDbType.Int).Value = CveUsuarioResponsable
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
@@ -1868,7 +1875,7 @@ Public Class ClsInventarios
Optional Serie As String = "-1", Optional Lote As String = "-1", Optional FechaCaducidad As Date = MinFecha,
Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1,
Optional ExcluyeAdelantado As Integer = -1, Optional PendientePorSurtir As Integer = -1,
- Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1) As Decimal
+ Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1, Optional ExcluyeTransitorios As Integer = -1) As Decimal
Dim Retorno As Decimal = -1
If FechaMovto = "-1" Then
@@ -1893,6 +1900,7 @@ Public Class ClsInventarios
.Add("@ExcluyeAdelantado", SqlDbType.Int).Value = ExcluyeAdelantado
.Add("@PendientePorSurtir", SqlDbType.Int).Value = PendientePorSurtir
.Add("@ExcluyeApartados", SqlDbType.Int).Value = ExcluyeApartados
+ .Add("@ExcluyeTransitorios", SqlDbType.Int).Value = ExcluyeTransitorios
.Add("@RestringirAlmacenes", SqlDbType.Int).Value = RestringirAlmacenes
.Add("@Existencia", SqlDbType.Money).Direction = ParameterDirection.Output
@@ -1920,7 +1928,7 @@ Public Class ClsInventarios
Optional FechaMovto As String = "-1", Optional CveVendedor As Integer = -1, Optional CveCliente As Integer = -1,
Optional Serie As String = "-1", Optional Lote As String = "-1", Optional Caducidad As Date = MinFecha,
Optional ExcluyeAdelantado As Integer = -1, Optional PendientePorSurtir As Integer = -1,
- Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1, Optional TopSelect As Integer = 10000) As Boolean
+ Optional ExcluyeApartados As Integer = 1, Optional RestringirAlmacenes As Integer = -1, Optional ExcluyeTransitorios As Integer = -1, Optional TopSelect As Integer = 10000) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Inv_ExistenciasGet")
@@ -1941,6 +1949,7 @@ Public Class ClsInventarios
.Add("@ExcluyeAdelantado", SqlDbType.Int).Value = ExcluyeAdelantado
.Add("@PendientePorSurtir", SqlDbType.Int).Value = PendientePorSurtir
.Add("@ExcluyeApartados", SqlDbType.Int).Value = ExcluyeApartados
+ .Add("@ExcluyeTransitorios", SqlDbType.Int).Value = ExcluyeTransitorios
.Add("@RestringirAlmacenes", SqlDbType.Int).Value = RestringirAlmacenes
.Add("@TopSelect", SqlDbType.Int).Value = TopSelect
diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb
index 850cbb1c6..be81c310e 100644
--- a/App_Code/ClsPaginas.vb
+++ b/App_Code/ClsPaginas.vb
@@ -634,6 +634,8 @@ Public Class ClsPaginas
Application("GlobalDTEmpresas") = value
End Set
End Property
+
+
Property GlobalDTClasificaciones(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1, Optional UsoClasificacion As Integer = -1, Optional CveClasificacion As Integer = -1) As DataTable
Get
Dim AppNombre As String = String.Format("GlobalDTClasificaciones-{0}", CveEmpresa)
@@ -664,6 +666,41 @@ Public Class ClsPaginas
Application(AppNombre) = value
End Set
End Property
+
+
+
+
+ Property GlobalDTRHActividades(CveEmpresa As Integer) As DataTable
+ Get
+ Dim AppNombre As String = String.Format("GlobalDTRHActividades-{0}", CveEmpresa)
+ 'sino existe, recarga los datos
+ If Application(AppNombre) Is Nothing Then
+
+ Dim ObjRH As New ClsRH
+ If ObjRH.GetActividades(CveEmpresa) Then Application(AppNombre) = ObjRH.DtResultados
+ ObjRH.Dispose()
+
+ End If
+
+ If CveEmpresa <> -1 Then
+ Dim Str As New StringBuilder
+ Str.AppendFormat("CveEmpresa = {0}", CveEmpresa)
+ Dim Dv As New DataView(DirectCast(Application(AppNombre), DataTable), Str.ToString(), "", DataViewRowState.CurrentRows)
+ GlobalDTRHActividades = Dv.ToTable
+ Dv.Dispose()
+ Else
+ GlobalDTRHActividades = DirectCast(Application(AppNombre), DataTable)
+ End If
+
+
+
+ End Get
+ Set(value As DataTable)
+ Dim AppNombre As String = String.Format("GlobalDTRHActividades-{0}", CveEmpresa)
+ Application(AppNombre) = value
+ End Set
+ End Property
+
Property GlobalDTClasificaciones2(Optional CveEmpresa As Integer = -1, Optional CveCategoria As Integer = -1) As DataTable
Get
Dim AppNombre As String = String.Format("GlobalDTClasificaciones2-{0}", CveEmpresa)
diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb
index de7538cf9..9d5bfabce 100644
--- a/App_Code/ClsRH.vb
+++ b/App_Code/ClsRH.vb
@@ -1359,6 +1359,8 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
Public Property CveUniforme As Integer
+ Public Property CveActividad As Integer
+
Public ReadOnly Property DtResultados() As DataTable
Get
@@ -6865,21 +6867,65 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
OnError("Ocurrió un error al eliminar el checador", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
- End Function
+ End Function
#End Region
+
+#Region " A C T I V I D A D E S"
+
+
+ Public Function GetActividades(CveEmpresa As Integer) As Boolean
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_RH_ActividadesGet")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ End With
+ Try
+ SqlAdapter.Fill(Data)
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el listado de actividades ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+
+
+ Public Function AddActividades(Actividad As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
+ CveActividad = -1
+ Dim Retorno As Boolean = False
+ DataAdapter("PA_RH_ActividadesAdd")
+ With SqlAdapter.SelectCommand.Parameters
+ .Add("@Actividad", SqlDbType.VarChar).Value = Actividad
+ .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
+ .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
+ .Add("@CveActividad", SqlDbType.Int).Direction = ParameterDirection.Output
+ End With
+ Try
+ SqlAdapter.Fill(Data)
- 'Public msgsError As New StringBuilder()
- 'Public Sub OnError(Mensaje As String, Exeption As Exception, Optional InfoAdicional As String = "")
- ' GuardaLog(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString, vbCrLf, InfoAdicional))
- ' msgsError.AppendLine(Mensaje)
- ' msgsError.Append(" ")
- ' 'Alert(Obj, Mensaje, TipoMensaje.MsgError)
- ' 'If WebConfigurationManager.AppSettings("SiteName") IsNot Nothing AndAlso WebConfigurationManager.AppSettings("SiteName").ToString = "1" Then MandaCorreoError(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString, vbCrLf, InfoAdicional))
- 'End Sub
-
+ CveActividad = SqlAdapter.SelectCommand.Parameters("@CveActividad").Value.ToString.ToEntero
+ Retorno = True
+ Catch ex As Exception
+ OnError("Ocurrió un error al obtener el listado de ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
+ End Try
+ Return Retorno
+ End Function
+
+
+#End Region
+
+
+ 'Public msgsError As New StringBuilder()
+ 'Public Sub OnError(Mensaje As String, Exeption As Exception, Optional InfoAdicional As String = "")
+ ' GuardaLog(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString, vbCrLf, InfoAdicional))
+ ' msgsError.AppendLine(Mensaje)
+ ' msgsError.Append(" ")
+ ' 'Alert(Obj, Mensaje, TipoMensaje.MsgError)
+ ' 'If WebConfigurationManager.AppSettings("SiteName") IsNot Nothing AndAlso WebConfigurationManager.AppSettings("SiteName").ToString = "1" Then MandaCorreoError(String.Format("{0} DESCRIPCIÓN DETALLADA: {1} {2} {3}", Mensaje, Exeption.ToString, vbCrLf, InfoAdicional))
+ 'End Sub
+
#Region " IDisposable Support "
- ' IDisposable
+ ' IDisposable
Protected Overridable Sub Dispose(ByVal disposing As Boolean)
'If msgsError.ToString().Length > 0 Then
' Alert(msgsError.ToString(), TipoMensaje.MsgError)
diff --git a/App_Code/DtDatos.xsd b/App_Code/DtDatos.xsd
index 59b50901b..60d776208 100644
--- a/App_Code/DtDatos.xsd
+++ b/App_Code/DtDatos.xsd
@@ -233,7 +233,7 @@
-
+
diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb
index 2a0131d71..1dead2777 100644
--- a/App_Code/Modelos.vb
+++ b/App_Code/Modelos.vb
@@ -2886,7 +2886,7 @@ Namespace Modelos
Next
- DT = TmpDTDetalle.FiltraParametros($"CvePS <> {ObjFactura.CvePSAmortizacion}", "", {"CveClasificacion", "CveSubProyecto"})
+ DT = TmpDTDetalle.FiltraParametros($"CvePS <> {ObjFactura.CvePSAmortizacion}", "", {"CveClasificacion", "CveSubProyecto", "PorcentajeIVA"})
If DT.Rows.Count > 0 Then
'Se agrega movimiento separado por la cuenta de ventas (ER)
@@ -2919,7 +2919,7 @@ Namespace Modelos
' CveCuentaContabilizacion = 0
'End If
- If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContableAplicar, Concepto, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVentaAplicar, CveVentaAmortizacion:=CveVentaAmortizacionAplicar, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, CveClasificacion:=Row2("CveClasificacion").ToString.ToEntero, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, CveCuenta:=CveCuenta) Then
+ If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContableAplicar, Concepto, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVentaAplicar, CveVentaAmortizacion:=CveVentaAmortizacionAplicar, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, CveClasificacion:=Row2("CveClasificacion").ToString.ToEntero, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, PorcentajeImpuesto:=Row2("PorcentajeIVA").ToString().ToDecimal) Then
ErrorPrepoliza = True
Else
ObjFactura.SeGuardoPrePoliza = True
@@ -2961,7 +2961,7 @@ Namespace Modelos
End If
- DT = TmpDTDetalle.FiltraParametros($"CvePS <> {ObjFactura.CvePSAmortizacion}", "", {"CveClasificacion", "CveSubProyecto"})
+ DT = TmpDTDetalle.FiltraParametros($"CvePS <> {ObjFactura.CvePSAmortizacion}", "", {"CveClasificacion", "CveSubProyecto", "PorcentajeIVA"})
If DT.Rows.Count > 0 Then
'Se agrega movimiento separado por la cuenta de ventas (ER)
@@ -3006,7 +3006,7 @@ Namespace Modelos
' CveCuentaContabilizacion = 0
'End If
- If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContableAplicar, Concepto, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVentaAplicar, CveVentaAmortizacion:=CveVentaAmortizacionAplicar, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, CveClasificacion:=Row2("CveClasificacion").ToString.ToEntero, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, CveCuenta:=CveCuenta) Then
+ If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContableAplicar, Concepto, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVentaAplicar, CveVentaAmortizacion:=CveVentaAmortizacionAplicar, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, CveClasificacion:=Row2("CveClasificacion").ToString.ToEntero, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, PorcentajeImpuesto:=Row2("PorcentajeIVA").ToString().ToDecimal) Then
ErrorPrepoliza = True
Else
ObjFactura.SeGuardoPrePoliza = True
@@ -5129,7 +5129,7 @@ Namespace Modelos
For Each RowUsado As DataRow In DtPSVirtual.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
- Dim PU As Decimal = RowUsado("PUOriginal").ToString().ToDecimal()
+ Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1) Then
diff --git a/Ashx/E141.ashx b/Ashx/E141.ashx
index 51b154202..ca6e8c319 100644
--- a/Ashx/E141.ashx
+++ b/Ashx/E141.ashx
@@ -49,7 +49,7 @@ Public Class E141 : Implements IHttpHandler
Public ReadOnly Property TokenAutorizacion As String
Get
If EsProduccion Then
- Return "$2y$10$8Mk3YeIkJESilIwD.U5dG.SsA4JloycJKbaGls8TNEw/AKBE1qane"
+ Return "$2y$10$EZlXnFrhUc4aRVwjy5/v0.3JPdFNjyeANDc64YXJ5eHD8pMsv93Q."
Else
Return "$2y$10$8Mk3YeIkJESilIwD.U5dG.SsA4JloycJKbaGls8TNEw/AKBE1qane"
End If
@@ -59,7 +59,7 @@ Public Class E141 : Implements IHttpHandler
Public ReadOnly Property URLBase As String
Get
If EsProduccion Then
- Return "https://econollantas-pruebas.fidelityapps.mx"
+ Return "https://services.fidelityapps.mx/"
Else
Return "https://econollantas-pruebas.fidelityapps.mx/"
End If
@@ -92,28 +92,31 @@ Public Class E141 : Implements IHttpHandler
Else
context.Response.ContentType = "text/html"
- Dim FiltrarTodos = If(context.Request("FiltrarTodos") = Nothing, "", context.Request("FiltrarTodos").ToString())
+ If Not String.IsNullOrEmpty(Metodo) Then
+ Dim FiltrarTodos = If(context.Request("FiltrarTodos") = Nothing, "", context.Request("FiltrarTodos").ToString())
- Dim respuesta As Boolean = False
+ Dim respuesta As Boolean = False
- 'TAREAS PROGRAMADAS
- Select Case Metodo
- Case "CrearActualizarProductos"
- respuesta = CrearActualizarProductos(If(FiltrarTodos = "1", True, False))
- Case "ActualizarPrecios"
- respuesta = ActualizarPrecios(If(FiltrarTodos = "1", True, False))
- Case "ActualizarExistencias"
- respuesta = ActualizarExistencias()
- Case "ActualizarVendedores"
- respuesta = ActualizarVendedores(If(FiltrarTodos = "1", True, False))
- End Select
+ 'TAREAS PROGRAMADAS
+ Select Case Metodo
+ Case "CrearActualizarProductos"
+ respuesta = CrearActualizarProductos(If(FiltrarTodos = "1", True, False))
+ Case "ActualizarPrecios"
+ respuesta = ActualizarPrecios(If(FiltrarTodos = "1", True, False))
+ Case "ActualizarExistencias"
+ respuesta = ActualizarExistencias()
+ Case "ActualizarVendedores"
+ respuesta = ActualizarVendedores(If(FiltrarTodos = "1", True, False))
+ End Select
- If respuesta Then
- retorno = "True"
- Else
- retorno = "False"
+ If respuesta Then
+ retorno = "True"
+ Else
+ retorno = "False"
+ End If
End If
+
End If
context.Response.Write(retorno)
@@ -202,7 +205,7 @@ Public Class E141 : Implements IHttpHandler
Using httpClient = New HttpClient()
httpClient.Timeout = New TimeSpan(0, 5, 0)
Using request = New HttpRequestMessage(HttpMethod.Post, New Uri(url))
- request.Headers.Add("token", TokenAutorizacion)
+ request.Headers.Add("X-PUBLIC-AUTH", TokenAutorizacion)
Using content = New StringContent(payload, Encoding.UTF8, "application/json")
request.Content = content
@@ -607,7 +610,7 @@ Public Class E141 : Implements IHttpHandler
End Select
If VendedorData.Length > 4 Then
- Nombre = String.Concat(VendedorData(VendedorData.Length - 1), " ", VendedorData(VendedorData.Length))
+ Nombre = String.Concat(VendedorData(VendedorData.Length - 2), " ", VendedorData(VendedorData.Length - 1))
Apellido = String.Concat(VendedorData(0), " ", VendedorData(1))
End If
diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb
index d8325a81b..c16a3ca10 100644
--- a/Bancos/ProveedoresAbonar.aspx.vb
+++ b/Bancos/ProveedoresAbonar.aspx.vb
@@ -446,7 +446,7 @@ Partial Class Bancos_ProveedoresAbonar
HlSaldarCuentasSinPagar.Visible = True
End If
- If UsuarioActual.CveEmpresa = 119 And CveUsuarioProgramo <> -1 Then
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) And CveUsuarioProgramo <> -1 Then
LnkPDFSolicitud.Visible = True
LnkExcelSolicitud.Visible = True
End If
@@ -942,6 +942,9 @@ Partial Class Bancos_ProveedoresAbonar
Dim TipoCambioGeneral As Decimal = 0
Dim tipoCambioCompraValuacion As Decimal = 1
+ Dim UsaComplementariaBancos As Boolean = If(UsuarioActual.CveEmpresa.Contiene(119, 158), True, False)
+ Dim UsaComplementariaProveedores As Boolean = If(UsuarioActual.CveEmpresa.Contiene(119, 158), True, False)
+
Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
Dim TipoCambioFluctuacion As Decimal = 1
@@ -1046,7 +1049,7 @@ Partial Class Bancos_ProveedoresAbonar
ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
IdCtaContable = IdCtaContComplementaria
CveCuenta = CveCuentaProveedorExtranjera
- If ImporteMovimiento <> 0 AndAlso (UsuarioActual.CveEmpresa = 119 Or IdCtaContable > 0) Then 'Cuando tiene complementaria lo dividimos en dos
+ If ImporteMovimiento <> 0 AndAlso (UsaComplementariaProveedores Or IdCtaContable > 0) Then 'Cuando tiene complementaria lo dividimos en dos
importeMX = ImporteMovimiento
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0.00D, Referencia, CveConceptoComplementaria, ConceptoMovimiento, FechaMovimiento, IdCtaContable, -1, CveIE, CveCompra:=gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedor, ImporteMX:=Math.Round(ImporteMovimiento * tipoCambioCompraValuacion - ImporteMovimiento, 2, MidpointRounding.AwayFromZero), ImporteME:=ImporteMovimiento, TipoCambio:=tipoCambioCompraValuacion, CveCuenta:=CveCuentaComplementaria) Then
MsgError = "No se pudo insertar la póliza"
@@ -2034,7 +2037,7 @@ Partial Class Bancos_ProveedoresAbonar
If (Not DivTarjeta.Visible Or DdlTarjeta.SelectedValue.ToEntero = -1) Then
If TipoCambioPago > 1 AndAlso CveMoneda = 2 Then
- If UsuarioActual.CveEmpresa = 119 Or (CveCuentaBancariaComplementaria > 0 OrElse IdCuentaBancariaComplementaria > 0) Then
+ If UsaComplementariaBancos Or (CveCuentaBancariaComplementaria > 0 OrElse IdCuentaBancariaComplementaria > 0) Then
If CveMoneda = 2 AndAlso CveMonedaFiltro = 1 Then 'Si la venta viene en pesos y se va a pagar en DOLARES
TipoCambioPago = TxtTCDolares.Text.ToDecimal
ElseIf CveMoneda = 2 AndAlso CveMonedaFiltro = 2 Then
@@ -3121,6 +3124,7 @@ Partial Class Bancos_ProveedoresAbonar
Dim CveMoneda As Integer = gr.DataKey("CveMoneda").ToEntero
Dim FechaCompra As Date = gr.DataKey("Fecha").ToDate
Dim CveSubProyecto As Integer = gr.DataKey("CveSubProyecto").ToEntero
+ Dim UsaComplementariaProveedores As Boolean = If(UsuarioActual.CveEmpresa.Contiene(119, 158), True, False)
Dim CveConceptoContablePago As Integer = 17
If gr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContablePago = 308 'cuando es acreedor
@@ -3141,7 +3145,7 @@ Partial Class Bancos_ProveedoresAbonar
CvePrePoliza = ObjConta.AddPrePolizas("Bancos/ProveedoresAbonar/Saldar", 98, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, TxtFechaIncobrable.Text.ToDate, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
- If CveMoneda > 1 AndAlso (IdCtaContComplementaria > 0 Or UsuarioActual.CveEmpresa = 119) Then
+ If CveMoneda > 1 AndAlso (IdCtaContComplementaria > 0 Or UsaComplementariaProveedores) Then
IdCtaContable = IdCtaContComplementaria
CveCuenta = CveCuentaProveedorExtranjera
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, 0.00D, gr.DataKey("SerieFolio").ToString, CveConceptoContableComplementaria, ConceptoPartida, Now, IdCtaContable:=IdCtaContable, CveIE:=-1, IdSegmentoNegocio:=-1, CveProveedor:=gr.DataKey("CveProveedor").ToEntero, CveCompra:=gr.DataKey("CveCompra").ToEntero, ImporteMX:=Math.Round(Saldo * TCCompra - Saldo, 2, MidpointRounding.AwayFromZero), ImporteME:=Saldo, TipoCambio:=TCCompra, CveCuenta:=CveCuentaComplementaria) Then
diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx
index d0118d925..b5bfea7dd 100644
--- a/Compras/Compras.aspx
+++ b/Compras/Compras.aspx
@@ -80,6 +80,17 @@
+
+
+
+
+
+
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index b3be5f8a9..596aa860d 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -1165,6 +1165,26 @@ Partial Class Compras_Compras
End Set
End Property
+
+ Private Property CveContratoObra As Integer
+ Get
+ If ViewState("CveContratoObra") Is Nothing Then
+ Return -1
+ Else
+ Return ViewState("CveContratoObra").ToString.ToEntero
+ End If
+ End Get
+ Set(value As Integer)
+ ViewState("CveContratoObra") = value
+ End Set
+ End Property
+
+
+
+
+
+
+
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
'ImgBtnBuscarOC.Attributes.Add("data-toggle", "tooltip")
@@ -1186,6 +1206,7 @@ Partial Class Compras_Compras
CveConceptoContableAlmacen = 0
EsNoDeducible = False
CveTipoConcepto = 1
+ CargaContratos()
'******** Prorrateo ********************************************
If UsuarioActual.Empresa.Funcionalidad(117) <> "" Then
btnProrateo.Visible = True
@@ -1314,7 +1335,7 @@ Partial Class Compras_Compras
Dim ObjPersonal As New ClsRH
ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa)
DdlPersonal.DataSource = ObjPersonal.DtResultados
- DdlPersonalReembolso.DataSource = ObjPersonal.DtResultados
+ DdlPersonalReembolso.DataSource = ObjPersonal.DtResultados.FiltraParametros("CveEstatusPersonal = 1")
ObjPersonal.Dispose()
DdlPersonal.DataBind()
DdlPersonalReembolso.DataBind()
@@ -1442,6 +1463,8 @@ Partial Class Compras_Compras
DivEsNoDeducible.Visible = True
DivActualizarVincular.Visible = True
+ 'LiAccionesContratos.Visible = False
+
Else
ViewState("CveProveedor") = -1
@@ -4604,19 +4627,18 @@ Partial Class Compras_Compras
CveEstatusFactura = 6
End If
'hay amortización directa como descuento. RMF Temporal
- If UsuarioActual.CveEmpresa = 119 Then
- 'If LblAmortizacion.Text.ToDouble > 0 AndAlso TxtDescuento.Text.ToDouble = 0 Then
- ' TxtDescuento.Text = LblAmortizacion.Text
- ' LblAmortizacion.Text = "0.00"
- 'End If
- 'o si el descuento es igual a la amortizacion
- 'If LblAmortizacion.Text.ToDouble = TxtDescuento.Text.ToDouble Then
- ' TxtDescuento.Text = LblAmortizacion.Text
- ' LblAmortizacion.Text = "0.00"
- 'End If
+ 'If LblAmortizacion.Text.ToDouble > 0 AndAlso TxtDescuento.Text.ToDouble = 0 Then
+ ' TxtDescuento.Text = LblAmortizacion.Text
+ ' LblAmortizacion.Text = "0.00"
+ 'End If
+
+ 'o si el descuento es igual a la amortizacion
+ 'If LblAmortizacion.Text.ToDouble = TxtDescuento.Text.ToDouble Then
+ ' TxtDescuento.Text = LblAmortizacion.Text
+ ' LblAmortizacion.Text = "0.00"
+ 'End If
- End If
'si el registro es manual, toma el mismo dato
If CveFactura <= 0 Then TotalOriginal = TxtTotal.Text.ToDecimal
@@ -4637,7 +4659,7 @@ Partial Class Compras_Compras
TxtRedondeo.Text.ToDouble, TxtTotal.Text.ToDouble, TxtFecha.Text.Trim.ToDate, DdlMoneda.SelectedValue.ToEntero, TipoCambio, TxtFechaPago.Text.Trim.ToDate, ChkAplicaNotaCredito.Checked, TxtObsFact.Text.Trim, CveEstatusFactura,
CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, IdPoliza, CveCajaChica:=CveCajaChica, CvePersonal:=CvePersonal, NumeroReembolso:=NumeroReembolso, CveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero,
AplicoPromocion:=ChkOCPromocion.Checked, PorcentajeIVA:=PorcentajeIVA, CveMetodoPago:=CveMetodoPago, CveRetIVAConcepto:=If(DdlRetIVAConcepto.Items.Count > 0, DdlRetIVAConcepto.SelectedValue.ToEntero, -1), CveConceptoContableAlmacen:=CveConceptoContableAlmacen,
- CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, TotalOriginal:=TotalOriginal, CveTipoConcepto:=CveTipoConcepto) Then
+ CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, TotalOriginal:=TotalOriginal, CveTipoConcepto:=CveTipoConcepto, CveContrato:=CveContratoObra) Then
ViewState("CveCompra") = ObjCompras.CveCompra
If ObjCompras.DtResultados.Rows.Count > 0 Then ViewState("CompraFolio") = ObjCompras.DtResultados.Rows(0)("vFolio").ToString
@@ -5030,7 +5052,7 @@ Partial Class Compras_Compras
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
- If UsuarioActual.CveEmpresa = 119 AndAlso (DdlPersonalReembolso.SelectedValue.ToEntero > 0 Or DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero > 0 Or DdlTipoComprobante.SelectedValue = "Ant") Then
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso (DdlPersonalReembolso.SelectedValue.ToEntero > 0 Or DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero > 0 Or DdlTipoComprobante.SelectedValue = "Ant") Then
AutoConta = False
End If
@@ -6897,7 +6919,7 @@ Partial Class Compras_Compras
If Not RegistroCuentaPuente AndAlso Not ChkNCInvNC.Checked Then
'GASTO
- If UsuarioActual.CveEmpresa = 119 Then
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) Then
DT = TmpDT
Else
DT = TmpDT.FiltraParametros("ISNULL(AplicaCostoIndirecto,0) <> 1")
@@ -7034,6 +7056,7 @@ Partial Class Compras_Compras
End If
Case 5 'Proveedores
If CveTipoConcepto = 2 Then ConceptoContable = 305 'cuando es acreedor
+ Dim UsaComplementaria As Boolean = UsuarioActual.CveEmpresa.Contiene(119, 158)
If tipoCambioActual <> 1 Then
Select Case ConceptoContable
Case 5
@@ -7059,7 +7082,7 @@ Partial Class Compras_Compras
Else
IdCtaContable = CtaProveedorComplementaria
CveCuenta = CveCuentaProveedorComplementaria
- If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or CveCuenta > 0 Or UsuarioActual.CveEmpresa = 119) Then 'Cuando tiene complementaria lo dividimos en dos Then
+ If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or CveCuenta > 0 OrElse UsaComplementaria) Then 'Cuando tiene complementaria lo dividimos en dos Then
importeMN = importeMovimiento
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Referencia, CveConceptoContableComplementaria, Concepto, FechaMovimiento, IdCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=importeMovimiento * tipoCambioActual - importeMovimiento, ImporteME:=importeMovimiento, CveCuenta:=CveCuenta, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then
ErrorPrepoliza = True
@@ -15228,7 +15251,7 @@ Partial Class Compras_Compras
'SI PUEDE RECIBIR POR OC Y COMPRA
' si usa almacen, si tiene activado que reciba por OC, y que si la compra tipo Proveedor. que lo muestre
- If UsuarioActual.CveEmpresa = 119 AndAlso UsuarioActual.Empresa.UsaInventarios And UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 AndAlso CveTipoConcepto = 1 Then
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso UsuarioActual.Empresa.UsaInventarios And UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 AndAlso CveTipoConcepto = 1 Then
DivOCVinculaInv.Visible = True
End If
@@ -15270,7 +15293,7 @@ Partial Class Compras_Compras
'PROMOCIONES
LtOCPromocion.Text = StrPromos.ToString
- If LtOCPromocion.Text.Length > 0 And UsuarioActual.CveEmpresa = 119 Then
+ If LtOCPromocion.Text.Length > 0 And UsuarioActual.CveEmpresa.Contiene(119, 158) Then
DivOCPromocion.Visible = True
End If
@@ -15544,12 +15567,6 @@ Partial Class Compras_Compras
'If DdlOCVinculaInv.SelectedValue.ToEntero = 237 And Not CveFlete > 0 Then Alert("Necesita vincular un flete si selecciona Factura de Flete", TipoMensaje.MsgAdvertencia) : Exit Sub
'If DdlOCVinculaInv.SelectedValue.ToEntero = 240 And Not CveImportacion > 0 Then Alert("Necesita vincular una Importación si selecciona Factura de Importación", TipoMensaje.MsgAdvertencia) : Exit Sub
- 'If UsuarioActual.CveEmpresa = 119 And DdlTipoComprobante.SelectedValue = "Fac" Then
- ' If Not VerificarProductosCompraConOC() Then
- ' Exit Sub
- ' End If
- 'End If
-
Dim SubTotalGV = 0.0D
Dim Amortizacion As Decimal = TmpDT.SUMD("Total")
If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 Then
@@ -15612,7 +15629,7 @@ Partial Class Compras_Compras
'SI PUEDE RECIBIR POR OC Y COMPRA
- If UsuarioActual.CveEmpresa = 119 AndAlso UsuarioActual.Empresa.UsaInventarios And UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 AndAlso CveTipoConcepto = 1 Then
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso UsuarioActual.Empresa.UsaInventarios And UsuarioActual.Empresa.Funcionalidad(131).ToEntero > 0 AndAlso CveTipoConcepto = 1 Then
If DdlOCVinculaInv.SelectedValue.ToEntero <= 0 Then
Alert("El campo Tipo de recepción almacén es necesario. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia)
@@ -16603,12 +16620,19 @@ Partial Class Compras_Compras
Protected Sub DdlTipoComprobante_SelectedIndexChanged(sender As Object, e As EventArgs)
+ LiAccionesContratos.Visible = False
If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then
If DdlTipoComprobante.SelectedValue = "NC" Then
DivReembolso.Visible = False
RBLPago.Items(2).Enabled = False
+
+
+ If Not CveCompra > 0 Then
+ LiAccionesContratos.Visible = True
+ End If
+
Else
DivReembolso.Visible = True
RBLPago.Items(2).Enabled = True
@@ -16632,6 +16656,8 @@ Partial Class Compras_Compras
End If
+
+ UpAccionesContratos.Update()
UPCondicionesPago.Update()
End Sub
@@ -17275,7 +17301,7 @@ Partial Class Compras_Compras
LblAmortizacion.Text = "0.00"
End If
- If UsuarioActual.CveEmpresa = 119 AndAlso TieneAmortizacion Then
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso TieneAmortizacion Then
Amortizacion = LblAmortizacion.Text.Trim.ToDecimal
TxtSubTotal.Text = (TxtSubTotal.Text.ToDouble + Amortizacion).ToString
End If
@@ -20447,6 +20473,24 @@ Partial Class Compras_Compras
End If
Return True
End Function
+
+
+ Private Sub CargaContratos()
+ DdlContrato.DataSource = GlobalDTContratos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveContratoTipo IN(30,31) ")
+ DdlContrato.DataBind()
+ DdlContrato.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todos", "-1"))
+ End Sub
+
+ Protected Sub BtnModalContratos_Click(sender As Object, e As EventArgs)
+
+ RegistraScript("$('#DvModalContratos').modal('hide');")
+ CveContratoObra = DdlContrato.SelectedValue.ToEntero
+
+
+ End Sub
+ Protected Sub LnkContratos_Click(sender As Object, e As EventArgs)
+ RegistraScript("$('#DvModalContratos').modal('show');")
+ End Sub
End Class
Public Class MMensajeDevolucion
diff --git a/Compras/ProveedoresAuxiliar.aspx.vb b/Compras/ProveedoresAuxiliar.aspx.vb
index 529a6887d..41bcfe68c 100644
--- a/Compras/ProveedoresAuxiliar.aspx.vb
+++ b/Compras/ProveedoresAuxiliar.aspx.vb
@@ -83,7 +83,7 @@ Partial Class Compras_ProveedoresAuxiliar
If ObjConta.GetProveedoresAuxiliar(DdlProveeedores.SelectedValue.ToEntero, -1, txtFechaI.Text.ToDate, txtFechaF.Text.ToDate, UsuarioActual.CveEmpresa,
DdlOpcion.SelectedValue.ToEntero, DdlTipoProveedor.SelectedValue.ToEntero, DdlOpcionContabilizable.SelectedValue.ToEntero) Then
If DdlOpcion.SelectedValue.ToEntero = 2 Then
- GvP.DataSource = ObjConta.DtResultados.FiltraParametros($" IIF(ISNULL(CveConceptoContable,0) = 5 AND Importe >= 0,0,1) = 1 ")
+ GvP.DataSource = ObjConta.DtResultados '.FiltraParametros($" IIF(ISNULL(CveConceptoContable,0) in (5,311) AND Importe >= 0,0,1) = 1 ") 'excluye las provisiones
Else
GvP.DataSource = ObjConta.DtResultados
End If
diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb
index f5d83d58c..4b00fbc2c 100644
--- a/Compras/ReembolsosComprobaciones.aspx.vb
+++ b/Compras/ReembolsosComprobaciones.aspx.vb
@@ -93,33 +93,40 @@ Partial Class Compras_ReembolsosComprobaciones
Dim ObjPersonal As New ClsRH
ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa)
- DdlPersonal.DataSource = ObjPersonal.DtResultados.FiltraParametros("CveEstatusPersonal = 1")
- ObjPersonal.Dispose()
- DdlPersonal.DataBind()
- CargaTipoTransaccion()
-
- If UsuarioActual.Empresa.Funcionalidad(506) = "1" Then
- CbPermitirExcedente.Visible = True
+ If UsuarioActual.CveEmpresa.Contiene(119, 158) Then
+ DdlPersonal.DataSource = ObjPersonal.DtResultados
Else
- CbPermitirExcedente.Visible = False
+ DdlPersonal.DataSource = ObjPersonal.DtResultados.FiltraParametros("CveEstatusPersonal = 1")
End If
- If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then
- rowComisiones.Visible = True
+
+ ObjPersonal.Dispose()
+ DdlPersonal.DataBind()
+
+ CargaTipoTransaccion()
+
+ If UsuarioActual.Empresa.Funcionalidad(506) = "1" Then
+ CbPermitirExcedente.Visible = True
+ Else
+ CbPermitirExcedente.Visible = False
+ End If
+
+ If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then
+ rowComisiones.Visible = True
+ End If
+
+ If UsuarioActual.CveEmpresa = 119 Then
+ ChkReembolsarSinBancos.Visible = True
+ End If
+
+ TxtFechaPrePoliza.Text = Date.Now.ToShortDateString
+
+ 'CargaCuentasDiferencia()
+
+ 'TableDiferencia.Visible = False
End If
- If UsuarioActual.CveEmpresa = 119 Then
- ChkReembolsarSinBancos.Visible = True
- End If
-
- TxtFechaPrePoliza.Text = Date.Now.ToShortDateString
-
- 'CargaCuentasDiferencia()
-
- 'TableDiferencia.Visible = False
- End If
-
End Sub
#Region " FILTROS "
diff --git a/Compras/RepComprasDetalle.aspx.vb b/Compras/RepComprasDetalle.aspx.vb
index e7a5e5439..9e2776116 100644
--- a/Compras/RepComprasDetalle.aspx.vb
+++ b/Compras/RepComprasDetalle.aspx.vb
@@ -291,7 +291,10 @@ Partial Class Compras_RepComprasDetalle
FechaICaptura = If(IsDate(TxtFechaICaptura.Text.Trim()), TxtFechaICaptura.Text.Trim(), "-1")
FechaFCaptura = If(IsDate(TxtFechaFCaptura.Text.Trim()), TxtFechaFCaptura.Text.Trim(), "-1")
-
+ Dim AnioMes As String = If(FechaF <> "-1", "-1", IfNull(Request("AnioMes"), "-1").ToString())
+
+
+
If RblTipoCambio.SelectedValue.ToEntero = 3 And TxtEspecifico.Text <> "" Then
TCEspecifico = TxtEspecifico.Text.ToDouble
Else
@@ -301,7 +304,7 @@ Partial Class Compras_RepComprasDetalle
Dim SubProyectos As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim TipoGasto As String = IIf(DdlTipoGasto.GetSelectedValuesM = "", "-1", DdlTipoGasto.GetSelectedValuesM).ToString
- If ObjCompras.GetRepComprasDetalle(DdlGrupo.SelectedValue.ToEntero, IfNull(Request("Anio"), Now.Year).ToString.ToEntero, IfNull(Request("Mes"), "-1").ToString.ToEntero, IfNull(Request("AnioMes"), "-1").ToString(), IfNull(Request("Fecha"), "-1").ToString(),
+ If ObjCompras.GetRepComprasDetalle(DdlGrupo.SelectedValue.ToEntero, IfNull(Request("Anio"), Now.Year).ToString.ToEntero, IfNull(Request("Mes"), "-1").ToString.ToEntero, AnioMes, IfNull(Request("Fecha"), "-1").ToString(),
DdlProveedores.SelectedValue.ToEntero, CveMoneda, DdlUsuario.SelectedValue.ToEntero, FechaI, FechaF, DDlUsuarioCaptura.SelectedValue.ToEntero,
IfNull(Request("NumeroRemesa"), "-1").ToString.ToEntero, IfNull(Request("CveUsuarioRemesa"), "-1").ToString.ToEntero, FechaICaptura, FechaFCaptura, IfNull(Request("FechaCaptura"), "-1").ToString,
SubProyectos, DdlTipoDocto.SelectedValue, UsuarioActual.CveEmpresa,
diff --git a/Contabilidad/PlantillasPolizasDetalle.aspx b/Contabilidad/PlantillasPolizasDetalle.aspx
index c4351d6ed..294b70ce4 100644
--- a/Contabilidad/PlantillasPolizasDetalle.aspx
+++ b/Contabilidad/PlantillasPolizasDetalle.aspx
@@ -229,16 +229,21 @@
-
+
+
+
+
+
-
+
+
-
+
@@ -246,8 +251,6 @@
-
-
@@ -263,6 +266,7 @@
+
@@ -299,8 +303,18 @@
@@ -308,7 +322,8 @@
-
+
+
diff --git a/Contabilidad/PlantillasPolizasDetalle.aspx.vb b/Contabilidad/PlantillasPolizasDetalle.aspx.vb
index 282658576..d97ccd009 100644
--- a/Contabilidad/PlantillasPolizasDetalle.aspx.vb
+++ b/Contabilidad/PlantillasPolizasDetalle.aspx.vb
@@ -231,9 +231,14 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
If CvePlantillaPoliza > 0 Then
If ObjPlantillaPolizaDetalle.AddConta_PlantillasPolizasDetalles(CvePlantillaPoliza, DdlConcepto.SelectedValue.ToEntero, DdlTipoMovimiento.SelectedValue.ToEntero, DdlCtaContable.SelectedValue.ToEntero, TxtOrden.Text.Trim.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DDLSubProyecto.SelectedValue.ToEntero, DDLProveedor.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero, DdlPorcentajeImpuesto.SelectedValue.ToDecimal) Then
TxtOrden.Text = ""
- updatatos()
- Alert("El nuevo Registro se guardó correctamente.", TipoMensaje.MsgInformacion)
- UpTitulos.Update()
+ If Not ChkSeguirAgregando.Checked Then
+ updatatos()
+ Alert("El nuevo Registro se guardó correctamente.", TipoMensaje.MsgInformacion)
+ Else
+ RegistraScript(String.Format("$('#{0}').modal();", "divAgregarSucursal"))
+ UpModal.Update()
+ End If
+
Else
ErrorDetalle = True
End If
@@ -346,6 +351,29 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
End Sub
Private Sub DdlConcepto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlConcepto.SelectedIndexChanged
+
+ 'cargar la cuenta
+
+ If UsuarioActual.Empresa.TipoContabilizacion = 0 Then
+ 'busco en la cuenta contable, lo que tenga asignado
+ Dim Con As New ClsContabilidad
+ Dim dtt As DataTable
+ If Con.GetCuentas(-1, "-1", -1, UsuarioActual.CveEmpresa) Then
+ dtt = Con.DtResultados
+ End If
+ DdlCtaContable.Visible = False
+ Dim drr As DataRow = dtt.FiltroPrimero(String.Format("CveConceptoAdmin={0}", DdlConcepto.SelectedValue))
+
+ If drr IsNot Nothing Then
+ LblCuenta.Text = drr("CtaCodigo").ToString
+ Else
+ LblCuenta.Text = ""
+ End If
+
+ dtt.Dispose()
+ Con.Dispose()
+ End If
+
If DdlConcepto.SelectedValue.Contiene("130", "29") Then
DdlPersonal.Visible = True
LblPersonal.Visible = True
diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx
index 2418a9532..1d8e59b17 100644
--- a/Contabilidad/RepIVA.aspx
+++ b/Contabilidad/RepIVA.aspx
@@ -298,14 +298,14 @@
diff --git a/Contratos/ContratoObra.aspx.vb b/Contratos/ContratoObra.aspx.vb
index 5d5d25493..f627ea687 100644
--- a/Contratos/ContratoObra.aspx.vb
+++ b/Contratos/ContratoObra.aspx.vb
@@ -595,7 +595,20 @@ Partial Class Contratos_ContratoObra
TmpDT.Columns.Add("NoIdentificacion", GetType(String))
TmpDT.Columns.Add("LimitarCantidad", GetType(Integer))
TmpDT.Columns.Add("OCInterna", GetType(String))
- TmpDT.Columns.Add("Observacion", GetType(String))
+ TmpDT.Columns.Add("Observacion", GetType(String))
+
+
+ TmpDT.Columns.Add("CveRubro", GetType(Integer))
+ TmpDT.Columns.Add("CveActividad", GetType(Integer))
+ TmpDT.Columns.Add("CveSubTipoActivoFijo", GetType(Integer))
+
+ TmpDT.Columns.Add("Rubro", GetType(String))
+ TmpDT.Columns.Add("Actividad", GetType(String))
+ TmpDT.Columns.Add("SubTipoActivoFijo", GetType(String))
+
+ TmpDT.Columns.Add("Dias", GetType(Integer))
+
+
End Sub
Protected Sub Limpiar()
TxtNumeroContrato.Text = ""
@@ -1477,10 +1490,14 @@ Partial Class Contratos_ContratoObra
Row("LimitarCantidad") = False 'If(ChkLimitarVenta.Checked, 1, 0)
Row("Observacion") = "" 'TxtObservacionesDetalles.Text
+ Row("CveRubro") = 1
+
+
+
Dim ObjContratos As New ClsContratos
- If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, False, "", Observacion:=Row("Observacion").ToString) Then
+ If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, False, "", Observacion:=Row("Observacion").ToString, CveRubro:=1) Then
If Autorizado Then
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
@@ -1535,7 +1552,7 @@ Partial Class Contratos_ContratoObra
Dim ObjContratos As New ClsContratos
- If ObjContratos.UpdateContratosDetalle(CveContratoDetalleEditar, CveContrato, CvePS, Cantidad, PU, UsuarioActual.CveUsuario, NoIdentificacion, False, "", Observaciones) Then
+ If ObjContratos.UpdateContratosDetalle(CveContratoDetalleEditar, CveContrato, CvePS, Cantidad, PU, UsuarioActual.CveUsuario, NoIdentificacion, False, "", Observaciones, CveRubro:=1) Then
If Autorizado Then
Dim msj As String = String.Format("Se realizaron los siguientes cambios, el Presupuesto Interno se modificó: {1} {0} {2:C2} a {3} {0} {4:C2}",
@@ -1796,25 +1813,59 @@ Partial Class Contratos_ContratoObra
Dim Row As DataRow = TmpDT.NewRow()
Row("Cantidad") = TxtCantidadInsumos.Text.ToDouble.FormatoNumero
Row("CantidadContratada") = TxtCantidadInsumos.Text.ToDouble.FormatoNumero
- Row("CveUM") = DdlUMInsumos.SelectedValue.ToEntero
- Row("UM") = DdlUMInsumos.SelectedItem
- Row("CveClasificacion") = DdlClasificacionAddInsumos.SelectedValue
- Row("Clasificacion") = DdlClasificacionAddInsumos.SelectedItem
- Row("CvePS") = DdlProductowsInsumos.SelectedValue.ToEntero
- Row("PS") = DdlProductowsInsumos.SelectedText
- Row("CodigoPS") = DdlProductowsInsumos.SelectedText
+
Row("PU") = TxtPUInsumos.Text.ToDouble.FormatoNumero
Row("Total") = (TxtCantidadInsumos.Text.ToDouble * TxtPUInsumos.Text.ToDouble).FormatoNumero
Row("CveTipoPresupuesto") = 1
Row("NoIdentificacion") = "" 'TxtNoIdentificacionvInsumos.Text.Trim
Row("LimitarCantidad") = False
+ Row("CveRubro") = DdlRubro.SelectedValue.ToEntero
+ Row("Rubro") = DdlRubro.SelectedItem.Text
+
+ If DdlRubro.SelectedValue.ToEntero = 3 Then
+ Row("CveActividad") = DdlActividades.SelectedValue.ToEntero
+ Row("Actividad") = DdlActividades.SelectedItem.Text
+ Row("Dias") = TxtDias.Text.ToEntero
+ Row("CveSubTipoActivoFijo") = -1
+
+
+ Row("CveUM") = -1
+ Row("UM") = ""
+ Row("CveClasificacion") = -1
+ Row("Clasificacion") = ""
+ Row("CvePS") = -1
+ Row("PS") = DdlActividades.SelectedItem.Text
+ Row("CodigoPS") = DdlActividades.SelectedItem.Text
+
+ Else
+ Row("CveActividad") = -1
+ Row("Actividad") = ""
+ Row("CveSubTipoActivoFijo") = -1
+ Row("Dias") = 0
+
+
+ Row("CveUM") = DdlUMInsumos.SelectedValue.ToEntero
+ Row("UM") = DdlUMInsumos.SelectedItem
+ Row("CveClasificacion") = DdlClasificacionAddInsumos.SelectedValue
+ Row("Clasificacion") = DdlClasificacionAddInsumos.SelectedItem
+ Row("CvePS") = DdlProductowsInsumos.SelectedValue.ToEntero
+ Row("PS") = DdlProductowsInsumos.SelectedText
+ Row("CodigoPS") = DdlProductowsInsumos.SelectedText
+
+
+
+ End If
+
+
Dim ObjContratos As New ClsContratos
- If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, False, "") Then
- If Autorizado Then
- Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
- guardarBitacora(msj)
- End If
+ If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, False, "",
+ CveRubro:=Row("CveRubro").ToString.ToEntero, CveActividad:=Row("CveActividad").ToString.ToEntero, CveSubTipoActivoFijo:=Row("CveSubTipoActivoFijo").ToString.ToEntero, Dias:=Row("Dias").ToString.ToEntero) Then
+ 'If Autorizado Then
+ ' Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
+ ' guardarBitacora(msj)
+ 'End If
+
Row("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
TmpDT.Rows.Add(Row)
Dim TotalRow = Row("Total").ToString.ToDouble
@@ -1843,22 +1894,34 @@ Partial Class Contratos_ContratoObra
Dim Cantidad, PU As Double
Dim CvePS, CveUM As Integer
- 'Dim NoIdentificacion As String = ""
- 'Dim LimitarCantidad As Boolean
+
+ Dim CveRubro As Integer = DdlRubro.SelectedValue.ToEntero
+
+ Dim CveActividad As Integer = -1
+ Dim CveSubTipoActivoFijo As Integer = -1
+ Dim Dias As Integer = 0
+
+ If CveRubro = 3 Then
+
+ CveActividad = DdlActividades.SelectedValue.ToEntero
+ Dias = TxtDias.Text.ToEntero
+
+ CvePS = -1
+ CveUM = -1
+ Else
+ CvePS = DdlProductowsInsumos.SelectedValue.ToEntero
+ CveUM = DdlUMInsumos.SelectedValue.ToEntero
+ End If
+
Cantidad = TxtCantidadInsumos.Text.ToDouble
PU = TxtPUInsumos.Text.ToDouble
- CvePS = DdlProductowsInsumos.SelectedValue.ToEntero
- CveUM = DdlUMInsumos.SelectedValue.ToEntero
- 'NoIdentificacion = TxtNoIdentificacionvInsumos.Text.Trim
- 'LimitarCantidad = If(ChkLimitarInsumos.Checked, True, False)
+
Dim row = TmpDT.Select(String.Format(" CveContratoDetalle={0}", CveContratoDetalleEditar))(0)
-
-
Dim ObjContratos As New ClsContratos
- If ObjContratos.UpdateContratosDetalle(CveContratoDetalleEditar, CveContrato, CvePS, Cantidad, PU, UsuarioActual.CveUsuario, "", False, "") Then
+ If ObjContratos.UpdateContratosDetalle(CveContratoDetalleEditar, CveContrato, CvePS, Cantidad, PU, UsuarioActual.CveUsuario, "", False, "", CveRubro:=CveRubro, CveActividad:=CveActividad, CveSubTipoActivoFijo:=CveSubTipoActivoFijo, Dias:=Dias) Then
If Autorizado Then
Dim msj As String = String.Format("Se realizaron los siguientes cambios, el Presupuesto Interno se modificó: {1} {0} {2:C2} a {3} {0} {4:C2}",
@@ -2194,9 +2257,6 @@ Partial Class Contratos_ContratoObra
End If
-
-
-
If ObjContratos.GetReporteContratosAvancesDetalleControl(CveContrato, UsuarioActual.CveEmpresa) Then
GvDatosAvanceControl.DataSource = ObjContratos.DtResultados
@@ -4008,17 +4068,10 @@ Partial Class Contratos_ContratoObra
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
LimpiarModalVentas()
- 'CveContratoDetalle,CveUM,CvePS,Cantidad,PU,CveTipoPresupuesto,CveClasificacion,CodigoPS,LimitarCantidad
-
CveContratoDetalleEditar = GvRow.DataKey("CveContratoDetalle").ToEntero
-
- 'TxtOCInterna.Text = GvRow.DataKey("OCInterna")
TxtCantidad.Text = GvRow.DataKey("CantidadContratada").ToDouble.ToString
- 'ChkLimitarVenta.Checked = Boolean.Parse(GvRow.DataKey("LimitarCantidad"))
-
- 'TxtNoIdentificacionv.Text = GvRow.DataKey("NoIdentificacion").ToDouble.ToString
DdlClasificacionAdd.SelectedValueExist(GvRow.DataKey("CveClasificacion").ToEntero)
DdlProductows.txtText.Value = GvRow.DataKey("PS").ToString
@@ -4040,14 +4093,17 @@ Partial Class Contratos_ContratoObra
RegistraScript("$('#ModalVentasAddPS').modal('show')")
End Sub
Protected Sub LnkEditarPresupuestoControlDetalle_Click(sender As Object, e As EventArgs)
+
Dim gvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
+
+ Dim CveRubro As Integer = gvRow.DataKey("CveRubro").ToEntero
+
LimpiarModalControl()
CveContratoDetalleEditar = gvRow.DataKey("CveContratoDetalle").ToEntero
TxtCantidadInsumos.Text = gvRow.DataKey("CantidadContratada").ToDouble.ToString
- 'ChkLimitarInsumos.Checked = Boolean.Parse(gvRow.DataKey("LimitarCantidad"))
- ' TxtNoIdentificacionvInsumos.Text = gvRow.DataKey("NoIdentificacion")
+
DdlClasificacionAddInsumos.SelectedValueExist(gvRow.DataKey("CveClasificacion").ToEntero)
@@ -4059,16 +4115,42 @@ Partial Class Contratos_ContratoObra
DdlUMInsumos.DataBind()
DdlUMInsumos.SelectedValueExist(gvRow.DataKey("CveUM").ToDouble.ToString)
-
-
TxtPUInsumos.Text = gvRow.DataKey("PU").ToDouble.ToString
+ DdlRubro.SelectedValueExist(gvRow.DataKey("CveRubro").ToString)
+
+ If CveRubro = 3 Then
+
+ DVDias.Visible = True
+ DVActividadesRH.Visible = True
+
+ DVClasificacion.Visible = False
+ DVPS.Visible = False
+ DVUM.Visible = False
+
+ DdlActividades.SelectedValueExist(gvRow.DataKey("CveActividad"))
+ TxtDias.Text = gvRow.DataKey("Dias")
+ Else
+ DVDias.Visible = False
+ DVActividadesRH.Visible = False
+
+ DVClasificacion.Visible = True
+ DVPS.Visible = True
+ DVUM.Visible = True
+
+ DdlActividades.SelectedValueExist(-1)
+ TxtDias.Text = "0"
+
+ End If
+
ModalControlPSAdd = False
ChkContinualAgregandoControl.Visible = False
ChkContinualAgregandoControl.Checked = False
+ UpModalControlAddPS.Update()
+
RegistraScript("$('#ModalControlAddPS').modal('show')")
End Sub
@@ -4098,7 +4180,12 @@ Partial Class Contratos_ContratoObra
End Sub
Private Sub LimpiarModalControl()
+ DdlActividades.Items.Clear()
+ DdlActividades.DataSource = GlobalDTRHActividades(UsuarioActual.CveEmpresa)
+ DdlActividades.DataBind()
+
+ DdlActividades.Items.Insert(0, New ListItem("Seleccione una", "-1"))
TxtCantidadInsumos.Text = ""
'ChkLimitarInsumos.Checked = False
@@ -4110,6 +4197,21 @@ Partial Class Contratos_ContratoObra
DdlUMInsumos.SelectedValueExist(-1)
TxtPUInsumos.Text = ""
+ DdlRubro.SelectedValue = "2"
+ ' DdlRubro_SelectedIndexChanged(Nothing, Nothing)
+
+
+ DVClasificacion.Visible = True
+ DVPS.Visible = True
+ DVUM.Visible = True
+
+ DVDias.Visible = False
+ DVActividadesRH.Visible = False
+
+ TxtDias.Text = ""
+ DdlActividades.SelectedValueExist(-1)
+
+
If ModalControlPSAdd = True Then
LtlModalControlPSTitulo.Text = "Agregar Producto Presupuesto Control"
@@ -4126,19 +4228,67 @@ Partial Class Contratos_ContratoObra
Protected Sub BtnCargaPresupuesto_Click(sender As Object, e As EventArgs)
Dim DTCargaPresupuesto As New DataTable
- DTCargaPresupuesto = CargaPreSupuestoExcel()
+ Dim DTCargaPresupuestoInsumos As New DataTable
+ Dim DTCargaPresupuestoManoObra As New DataTable
+ Dim DTCargaPresupuestoFlotillas As New DataTable
+
+
+ If TipoCargaPresupuesto = EnumTipoCargaPresupuesto.Ventas Then
+
+ DTCargaPresupuesto = CargaPreSupuestoExcel("Presupuesto")
+
+ If DTCargaPresupuesto.Rows.Count > 0 Then
+ ProcesaDatosCargaPresupuesto(DTCargaPresupuesto, Nothing, Nothing)
+ Else
+ Alert("No se encintraron partidas en el documento", TipoMensaje.MsgAdvertencia)
+ End If
- If DTCargaPresupuesto.Rows.Count > 0 Then
- ' ProcesaDatosCargaPresupuesto(DTCargaPresupuesto)
Else
- Alert("No se encintraron partidas en el documento", TipoMensaje.MsgAdvertencia)
+
+ DTCargaPresupuesto = CargaPreSupuestoExcel("Insumos")
+ DTCargaPresupuestoManoObra = CargaPreSupuestoExcel("ManoObra")
+ DTCargaPresupuestoFlotillas = CargaPreSupuestoExcel("Flotillas")
+
+ ProcesaDatosCargaPresupuesto(DTCargaPresupuesto, DTCargaPresupuestoManoObra, DTCargaPresupuestoFlotillas)
+
End If
+ TxtModalCargaPresupuesto.Text = ""
+
+ End Sub
+
+ Protected Sub BtnDecargaFormato_Click(sender As Object, e As EventArgs)
+
+
+ Dim FI As New IO.FileInfo($"{Extensiones.DirectorioBaseEmpresas}\Empresas\Grales\Formatos\FormatoPresupuestoObra.xlsx")
+
+ If TipoCargaPresupuesto = EnumTipoCargaPresupuesto.Ventas Then
+ FI = New IO.FileInfo($"{Extensiones.DirectorioBaseEmpresas}\Empresas\Grales\Formatos\FormatoPresupuestoObra.xlsx")
+ Else
+ FI = New IO.FileInfo($"{Extensiones.DirectorioBaseEmpresas}\Empresas\Grales\Formatos\FormatoPresupuestoObraInterno.xlsx")
+ End If
+
+
+ If FI.Exists Then
+
+ Response.ContentType = "application/octet-stream"
+
+ If TipoCargaPresupuesto = EnumTipoCargaPresupuesto.Ventas Then
+ Response.AppendHeader("Content-Disposition", $"attachment; filename=FormatoPresupuestoObra.xlsx")
+ Else
+ Response.AppendHeader("Content-Disposition", $"attachment; filename=FormatoPresupuestoObraInterno.xlsx")
+ End If
+
+ Response.TransmitFile(FI.FullName)
+ Response.End()
+
+ End If
+
+
End Sub
-
- Private Function CargaPreSupuestoExcel() As DataTable
+ Private Function CargaPreSupuestoExcel(Hoja As String) As DataTable
Dim FileExtension As String = "-1"
Dim Filesgral As List(Of Archivo) = TxtModalCargaPresupuesto.getfiles().Archivos
@@ -4160,7 +4310,7 @@ Partial Class Contratos_ContratoObra
tempArray = fileItem.filename.ToString().Split("-".ToCharArray())
SpreadsheetInfo.SetLicense(Extensiones.SerialGemBoxSpreadsheet)
Dim workbook = ExcelFile.Load(fileItem.FileUrl)
- Dim worksheet = workbook.Worksheets(0)
+ Dim worksheet = workbook.Worksheets(Hoja)
DTPS = worksheet.CreateDataTable(New CreateDataTableOptions() With
{
.ColumnHeaders = True,
@@ -4172,7 +4322,7 @@ Partial Class Contratos_ContratoObra
Next
- TxtModalCargaPresupuesto.Text = ""
+
RegistraScript("$('#ModalUploadPresupuesto').modal('hide')")
@@ -4183,179 +4333,334 @@ Partial Class Contratos_ContratoObra
End Function
- 'Private Sub ProcesaDatosCargaPresupuesto(DTPresupuesto As DataTable)
-
- ' Dim DTPS = New DataTable
- ' DTPS.Columns.Add("CveContratoDetalle", GetType(Integer))
- ' DTPS.Columns.Add("Cantidad", GetType(Double))
- ' DTPS.Columns.Add("CantidadContratada", GetType(Double))
- ' DTPS.Columns.Add("CveUM", GetType(Integer))
- ' DTPS.Columns.Add("UM", GetType(String))
- ' DTPS.Columns.Add("CveClasificacion", GetType(Integer))
- ' DTPS.Columns.Add("Clasificacion", GetType(String))
- ' DTPS.Columns.Add("CvePS", GetType(Integer))
- ' DTPS.Columns.Add("PS", GetType(String))
- ' DTPS.Columns.Add("CodigoPS", GetType(String))
- ' DTPS.Columns.Add("PU", GetType(Double))
- ' DTPS.Columns.Add("Total", GetType(Double))
- ' DTPS.Columns.Add("CveTipoPresupuesto", GetType(Integer))
- ' DTPS.Columns.Add("PermitirAvance", GetType(Integer))
- ' DTPS.Columns.Add("PermitirEstimacion", GetType(Integer))
- ' DTPS.Columns.Add("UsuarioAvance", GetType(Integer))
- ' DTPS.Columns.Add("Cantidad_Original", GetType(Double))
- ' DTPS.Columns.Add("PU_Original", GetType(Double))
- ' DTPS.Columns.Add("Total_Original", GetType(Double))
- ' DTPS.Columns.Add("NoIdentificacion", GetType(String))
- ' DTPS.Columns.Add("LimitarCantidad", GetType(Integer))
- ' DTPS.Columns.Add("OCInterna", GetType(String))
- ' DTPS.Columns.Add("Observacion", GetType(String))
-
- ' Dim RowNoEncontrados As String = ""
-
- ' For Each DrowPS As DataRow In DTPresupuesto.Rows
+ Private Sub ProcesaDatosCargaPresupuesto(DTPresupuesto As DataTable, DTCargaPresupuestoManoObra As DataTable, DTCargaPresupuestoFlotillas As DataTable)
- ' Dim StrArray() As String = GetPS("PS", DrowPS("PS").ToString).Split("|"c)
- ' Dim CvePS As Integer
- ' Dim CveUM As Integer
+ If Not DTPresupuesto Is Nothing Then
+ DTPresupuesto.CaseSensitive = False
+ End If
- ' If StrArray.Length > 0 Then
- ' If CBool(StrArray(0)) = True Then
- ' CvePS = StrArray(1).ToEntero
- ' Else
- ' RowNoEncontrados &= StrArray(1) & "<\BR>"
- ' End If
- ' End If
+ If Not DTCargaPresupuestoManoObra Is Nothing Then
+ DTCargaPresupuestoManoObra.CaseSensitive = False
+ End If
- ' If CvePS > 0 And DrowPS("Cantidad").ToString.ToDouble > 0 Then
+ If Not DTCargaPresupuestoFlotillas Is Nothing Then
+ DTCargaPresupuestoFlotillas.CaseSensitive = False
+ End If
- ' CveUM = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveUnidadMedida", "").ToString.ToEntero
-
- ' Dim Row As DataRow = DTPS.NewRow()
- ' Row("Cantidad") = DrowPS("Cantidad").ToString.ToDouble
- ' Row("CantidadContratada") = DrowPS("Cantidad").ToString.ToDouble
- ' Row("CveUM") = CveUM
- ' Row("UM") = ""
- ' Row("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveClasificacion", "").ToString.ToEntero
- ' Row("Clasificacion") = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = '{ Row("CveClasificacion").ToString }'").ToString
- ' Row("CvePS") = CvePS
- ' Row("PS") = DrowPS("PS").ToString
- ' Row("CodigoPS") = DrowPS("PS").ToString
- ' Row("PU") = DrowPS("PU").ToString.ToDouble
- ' Row("Total") = DrowPS("Cantidad").ToString.ToDouble * DrowPS("PU").ToString.ToDouble
-
-
- ' Select Case TipoCargaPresupuesto
- ' Case EnumTipoCargaPresupuesto.Ventas
- ' Row("CveTipoPresupuesto") = 2
- ' Exit Select
- ' Case EnumTipoCargaPresupuesto.Control
- ' Row("CveTipoPresupuesto") = 1
- ' Exit Select
- ' Case Else
- ' Row("CveTipoPresupuesto") = 1
- ' End Select
-
-
- ' Row("NoIdentificacion") = ""
- ' Row("OCInterna") = ""
- ' Row("LimitarCantidad") = 0
- ' Row("Observacion") = ""
-
- ' DTPS.Rows.Add(Row)
-
- ' End If
- ' Next
+ Dim ErrorProceso = False
- ' Dim ErrorProceso = False
- ' Dim ObjContratos As New ClsContratos
- ' Dim TotalRow As Double = 0
- ' ObjContratos.IniciaTransacSQL()
-
- ' For Each Row As DataRow In DTPS.Rows
- ' If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero, Row("NoIdentificacion").ToString, Convert.ToBoolean(Row("LimitarCantidad")), Row("OCInterna").ToString, Observacion:=Row("Observacion").ToString) Then
+ Dim DTPS = New DataTable
+ DTPS.Columns.Add("CveContratoDetalle", GetType(Integer))
+ DTPS.Columns.Add("Cantidad", GetType(Double))
+ DTPS.Columns.Add("CantidadContratada", GetType(Double))
+ DTPS.Columns.Add("CveUM", GetType(Integer))
+ DTPS.Columns.Add("UM", GetType(String))
+ DTPS.Columns.Add("CveClasificacion", GetType(Integer))
+ DTPS.Columns.Add("Clasificacion", GetType(String))
+ DTPS.Columns.Add("CvePS", GetType(Integer))
+ DTPS.Columns.Add("PS", GetType(String))
+ DTPS.Columns.Add("CodigoPS", GetType(String))
+ DTPS.Columns.Add("PU", GetType(Double))
+ DTPS.Columns.Add("Total", GetType(Double))
+ DTPS.Columns.Add("CveTipoPresupuesto", GetType(Integer))
+ DTPS.Columns.Add("PermitirAvance", GetType(Integer))
+ DTPS.Columns.Add("PermitirEstimacion", GetType(Integer))
+ DTPS.Columns.Add("UsuarioAvance", GetType(Integer))
+ DTPS.Columns.Add("Cantidad_Original", GetType(Double))
+ DTPS.Columns.Add("PU_Original", GetType(Double))
+ DTPS.Columns.Add("Total_Original", GetType(Double))
+ DTPS.Columns.Add("NoIdentificacion", GetType(String))
+ DTPS.Columns.Add("LimitarCantidad", GetType(Integer))
+ DTPS.Columns.Add("OCInterna", GetType(String))
+ DTPS.Columns.Add("Observacion", GetType(String))
- ' If Autorizado Then
- ' Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"))
- ' guardarBitacora(msj)
- ' End If
+ DTPS.Columns.Add("CveRubro", GetType(Integer))
+ DTPS.Columns.Add("CveActividad", GetType(Integer))
+ DTPS.Columns.Add("CveSubTipoActivoFijo", GetType(Integer))
- ' Dim NrowTmpDT As DataRow = TmpDT.NewRow
+ DTPS.Columns.Add("Rubro", GetType(String))
+ DTPS.Columns.Add("Actividad", GetType(String))
+ DTPS.Columns.Add("SubTipoActivoFijo", GetType(String))
+ DTPS.Columns.Add("Dias", GetType(Integer))
+
+ Dim RowNoEncontrados As String = ""
+
+ If Not DTPresupuesto Is Nothing Then
+ For Each DrowPS As DataRow In DTPresupuesto.Rows
- ' NrowTmpDT("Cantidad") = Row("Cantidad")
- ' NrowTmpDT("CantidadContratada") = Row("CantidadContratada")
- ' NrowTmpDT("CveUM") = Row("CveUM")
- ' NrowTmpDT("UM") = Row("UM")
- ' NrowTmpDT("CveClasificacion") = Row("CveClasificacion")
- ' NrowTmpDT("Clasificacion") = Row("Clasificacion")
- ' NrowTmpDT("CvePS") = Row("CvePS")
- ' NrowTmpDT("PS") = Row("PS")
- ' NrowTmpDT("CodigoPS") = Row("CodigoPS")
- ' NrowTmpDT("PU") = Row("PU")
- ' NrowTmpDT("Total") = Row("Total")
- ' NrowTmpDT("CveTipoPresupuesto") = Row("CveTipoPresupuesto")
- ' NrowTmpDT("NoIdentificacion") = Row("NoIdentificacion")
- ' NrowTmpDT("OCInterna") = Row("OCInterna")
- ' NrowTmpDT("LimitarCantidad") = Row("LimitarCantidad")
- ' NrowTmpDT("Observacion") = Row("Observacion")
+ Dim StrArray() As String = GetPS("PS", DrowPS("Producto").ToString).Split("|"c)
+ Dim CvePS As Integer
+ Dim CveUM As Integer
-
- ' NrowTmpDT("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
-
- ' TmpDT.Rows.Add(NrowTmpDT)
- ' TmpDT.AcceptChanges()
-
- ' TotalRow = TotalRow + NrowTmpDT("Total").ToString.ToDouble
- ' Else
- ' ErrorProceso = True
- ' Exit For
- ' End If
- ' Next
-
-
- ' If ErrorProceso Then
- ' ObjContratos.RollBack()
- ' Alert("Se presento un error al cargar el presupuesto.", TipoMensaje.MsgError)
- ' Else
-
- ' ObjContratos.Commit()
- ' Alert("Presupuesto Cargado correctamente")
-
-
- ' Select Case TipoCargaPresupuesto
- ' Case EnumTipoCargaPresupuesto.Ventas
- ' CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
- ' UpGV.Update()
- ' Exit Select
- ' Case EnumTipoCargaPresupuesto.Control
- ' CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
- ' UpGVInsumos.Update()
- ' Exit Select
- ' Case Else
-
- ' End Select
-
- ' LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
- ' LblImporte.Text = LbTotalGeneral.Text
- ' UpGral.Update()
-
- ' End If
+ If StrArray.Length > 0 Then
+ If CBool(StrArray(0)) = True Then
+ CvePS = StrArray(1).ToEntero
+ Else
+ RowNoEncontrados &= StrArray(1) & "<\BR>"
+ End If
+ End If
- ' ObjContratos.Dispose()
-
- ' If RowNoEncontrados.Length > 0 Then
- ' Alert($"Productos no encontrados {RowNoEncontrados} ")
- ' End If
+ If CvePS > 0 And DrowPS("Cantidad").ToString.ToDouble > 0 Then
- 'End Sub
+
+ CveUM = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $" UnidadMedida = '{ DrowPS("UnidadMedida").ToString.Trim }' OR Abreviatura = '{ DrowPS("UnidadMedida").ToString.Trim }'").ToEntero
+
+ If CveUM <= 0 Then
+ CveUM = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveUnidadMedida", "").ToString.ToEntero
+ End If
+
+
+ Dim Row As DataRow = DTPS.NewRow()
+
+ Row("Cantidad") = DrowPS("Cantidad").ToString.ToDouble
+ Row("CantidadContratada") = DrowPS("Cantidad").ToString.ToDouble
+ Row("CveUM") = CveUM
+ Row("UM") = ""
+ Row("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveClasificacion", "").ToString.ToEntero
+ Row("Clasificacion") = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = '{ Row("CveClasificacion").ToString }'").ToString
+ Row("CvePS") = CvePS
+ Row("PS") = DrowPS("Producto").ToString
+ Row("CodigoPS") = DrowPS("Producto").ToString
+ Row("PU") = DrowPS("PU").ToString.ToDouble
+ Row("Total") = DrowPS("Cantidad").ToString.ToDouble * DrowPS("PU").ToString.ToDouble
+
+ Select Case TipoCargaPresupuesto
+ Case EnumTipoCargaPresupuesto.Ventas
+
+ Row("CveTipoPresupuesto") = 2
+ Row("CveRubro") = 1
+ Row("CveActividad") = -1
+ Row("CveSubTipoActivoFijo") = -1
+ Row("Dias") = 0
+
+ Exit Select
+ Case EnumTipoCargaPresupuesto.Control
+ Row("CveTipoPresupuesto") = 1
+ Row("CveRubro") = 2
+ Row("CveActividad") = -1
+ Row("CveSubTipoActivoFijo") = -1
+ Row("Dias") = 0
+ Exit Select
+ Case Else
+ Row("CveTipoPresupuesto") = 1
+ Row("CveActividad") = -1
+ Row("CveSubTipoActivoFijo") = -1
+ Row("Dias") = 0
+ End Select
+
+
+ Row("NoIdentificacion") = ""
+ Row("OCInterna") = ""
+ Row("LimitarCantidad") = 0
+ Row("Observacion") = ""
+
+ DTPS.Rows.Add(Row)
+ Else
+ ErrorProceso = True
+ End If
+ Next
+
+ End If
+
+
+
+ If Not DTCargaPresupuestoManoObra Is Nothing And Not ErrorProceso Then
+
+
+ For Each DrowPS As DataRow In DTCargaPresupuestoManoObra.Rows
+
+ Dim CveActividad As Integer = 0
+ Dim Actividad As String
+
+
+ If DrowPS("Actividad").ToString.Trim.Length > 0 Then
+ GlobalDTRHActividades(UsuarioActual.CveEmpresa) = Nothing
+ CveActividad = GlobalDTRHActividades(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveActividad", $" Actividad = '{ DrowPS("Actividad").ToString.Trim }'").ToEntero
+
+ If CveActividad <= 0 Then
+
+
+ Dim ObjRH As New ClsRH()
+
+ If ObjRH.AddActividades(DrowPS("Actividad").ToString.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
+
+ CveActividad = ObjRH.CveActividad
+
+ If CveActividad <= 0 Then
+ ErrorProceso = True
+ End If
+
+ GlobalDTRHActividades(UsuarioActual.CveEmpresa) = Nothing
+
+ Else
+ ErrorProceso = True
+ End If
+
+ ObjRH.Dispose()
+
+ End If
+
+
+ If CveActividad > 0 And DrowPS("Cantidad").ToString.ToDouble > 0 And Not ErrorProceso Then
+
+ Actividad = GlobalDTRHActividades(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Actividad", $" CveActividad = {CveActividad}")
+
+ Dim Row As DataRow = DTPS.NewRow()
+ Row("Cantidad") = DrowPS("Cantidad").ToString.ToDouble
+ Row("CantidadContratada") = DrowPS("Cantidad").ToString.ToDouble
+ Row("CveUM") = -1
+ Row("UM") = "Actividad RH"
+ Row("CveClasificacion") = -1
+ Row("Clasificacion") = ""
+ Row("CvePS") = -1
+ Row("PS") = Actividad
+ Row("CodigoPS") = Actividad
+ Row("PU") = DrowPS("PU").ToString.ToDouble
+ Row("Total") = DrowPS("Cantidad").ToString.ToDouble * DrowPS("PU").ToString.ToDouble
+
+ Row("CveTipoPresupuesto") = 1
+ Row("CveRubro") = 3
+ Row("CveActividad") = CveActividad
+ Row("CveSubTipoActivoFijo") = -1
+ Row("Dias") = DrowPS("Dias").ToString.ToEntero
+
+ Row("NoIdentificacion") = ""
+ Row("OCInterna") = ""
+ Row("LimitarCantidad") = 0
+ Row("Observacion") = ""
+
+ DTPS.Rows.Add(Row)
+
+ End If
+ End If
+
+
+ Next
+
+ End If
+
+ If Not DTCargaPresupuestoFlotillas Is Nothing Then
+
+ End If
+
+
+ If Not ErrorProceso Then
+
+ Dim ObjContratos As New ClsContratos
+ Dim TotalRow As Double = 0
+ ObjContratos.IniciaTransacSQL()
+
+ For Each Row As DataRow In DTPS.Rows
+
+ If ObjContratos.AddContratosDetalle(CveContrato, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, UsuarioActual.CveUsuario, Row("CveTipoPresupuesto").ToString.ToEntero,
+ Row("NoIdentificacion").ToString, Convert.ToBoolean(Row("LimitarCantidad")), Row("OCInterna").ToString, Observacion:=Row("Observacion").ToString, CveRubro:=Row("CveRubro").ToString.ToEntero,
+ CveActividad:=Row("CveActividad").ToString.ToEntero, CveSubTipoActivoFijo:=Row("CveSubTipoActivoFijo").ToString.ToEntero, Dias:=Row("Dias").ToString.ToEntero) Then
+
+ If Autorizado Then
+ Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con rubro {4} con un precio ${3}.", Row("Cantidad"), Row("UM"), Row("PS"), Row("PU"), Row("CveRubro"))
+ guardarBitacora(msj)
+ End If
+
+ Dim NrowTmpDT As DataRow = TmpDT.NewRow
+
+
+ NrowTmpDT("Cantidad") = Row("Cantidad")
+ NrowTmpDT("CantidadContratada") = Row("CantidadContratada")
+ NrowTmpDT("CveUM") = Row("CveUM")
+ NrowTmpDT("UM") = Row("UM")
+ NrowTmpDT("CveClasificacion") = Row("CveClasificacion")
+ NrowTmpDT("Clasificacion") = Row("Clasificacion")
+ NrowTmpDT("CvePS") = Row("CvePS")
+
+
+ NrowTmpDT("PS") = Row("PS")
+ NrowTmpDT("CodigoPS") = Row("CodigoPS")
+
+
+
+
+ NrowTmpDT("PU") = Row("PU")
+ NrowTmpDT("Total") = Row("Total")
+ NrowTmpDT("CveTipoPresupuesto") = Row("CveTipoPresupuesto")
+ NrowTmpDT("NoIdentificacion") = Row("NoIdentificacion")
+ NrowTmpDT("OCInterna") = Row("OCInterna")
+ NrowTmpDT("LimitarCantidad") = Row("LimitarCantidad")
+ NrowTmpDT("Observacion") = Row("Observacion")
+
+ NrowTmpDT("CveRubro") = Row("CveRubro")
+ NrowTmpDT("CveActividad") = Row("CveActividad")
+ NrowTmpDT("CveSubTipoActivoFijo") = Row("CveSubTipoActivoFijo")
+
+ NrowTmpDT("Rubro") = Row("Rubro")
+ NrowTmpDT("Actividad") = Row("Actividad")
+ NrowTmpDT("SubTipoActivoFijo") = Row("SubTipoActivoFijo")
+
+
+ NrowTmpDT("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
+
+ TmpDT.Rows.Add(NrowTmpDT)
+ TmpDT.AcceptChanges()
+
+ TotalRow = TotalRow + NrowTmpDT("Total").ToString.ToDouble
+ Else
+ ErrorProceso = True
+ Exit For
+ End If
+ Next
+
+
+ If ErrorProceso Then
+ ObjContratos.RollBack()
+ Alert("Se presento un error al cargar el presupuesto.", TipoMensaje.MsgError)
+ Else
+
+ ObjContratos.Commit()
+ Alert("Presupuesto Cargado correctamente")
+
+
+ Select Case TipoCargaPresupuesto
+ Case EnumTipoCargaPresupuesto.Ventas
+ CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
+ UpGV.Update()
+ Exit Select
+ Case EnumTipoCargaPresupuesto.Control
+ CargaGVPresupuestosInsumos(TmpDT.FiltraParametros("CveTipoPresupuesto=1"))
+ UpGVInsumos.Update()
+ Exit Select
+ Case Else
+
+ End Select
+
+ LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
+ LblImporte.Text = LbTotalGeneral.Text
+ UpGral.Update()
+
+ End If
+
+ ObjContratos.Dispose()
+
+
+ End If
+
+
+
+ If RowNoEncontrados.Length > 0 Then
+ Alert($"Productos no encontrados {RowNoEncontrados} ")
+ End If
+
+
+
+
+ End Sub
@@ -4588,42 +4893,34 @@ Partial Class Contratos_ContratoObra
Con.Dispose()
- If DTDatos.Rows.Count > 0 Then
+ Try
+ If DTDatos.Rows.Count > 0 Then
- Dim CantidadAvance As Decimal = DTDatos.Rows(0)("Cantidad").ToString.ToDecimal
- Dim ImporteAvance As Decimal = DTDatos.Rows(0)("AvanceImporte").ToString.ToDecimal
- Dim TotalAvancePorcentaje As Decimal = If(ImporteAvance > 0, (ImporteAvance * 100 / TotalAvanceVentas).RoundSQL(2), 0)
+ Dim CantidadAvance As Decimal = DTDatos.Rows(0)("Cantidad").ToString.ToDecimal
+ Dim ImporteAvance As Decimal = DTDatos.Rows(0)("AvanceImporte").ToString.ToDecimal
+ Dim TotalAvancePorcentaje As Decimal = If(ImporteAvance > 0, (ImporteAvance * 100 / TotalAvanceVentas).RoundSQL(2), 0)
- Dim CantidadInterno As Decimal = DTDatos.Rows(0)("CantidadInterno").ToString.ToDecimal
- Dim ImporteInterno As Decimal = DTDatos.Rows(0)("ImporteInterno").ToString.ToDecimal
- Dim TotalFaltantePorcentaje As Decimal = If(ImporteInterno > 0, (ImporteInterno * 100 / TotalAvanceInterno).RoundSQL(2), 0)
+ Dim CantidadInterno As Decimal = DTDatos.Rows(0)("CantidadInterno").ToString.ToDecimal
+ Dim ImporteInterno As Decimal = DTDatos.Rows(0)("ImporteInterno").ToString.ToDecimal
+ Dim TotalFaltantePorcentaje As Decimal = If(ImporteInterno > 0, (ImporteInterno * 100 / TotalAvanceInterno).RoundSQL(2), 0)
- LtlAvanceImporte.Text = $"$ { ImporteAvance.ToString("###,###,###.00") }"
- LtlAvanceImporteProcentaje1.Text = $"{TotalAvancePorcentaje.ToString("###.00")} %"
- LtlAvanceImporteProcentaje2.Text = $"{TotalAvancePorcentaje.ToString("###.00")}%"
- SPAvance1.Attributes.Add("style", $"width:{TotalAvancePorcentaje.ToString.ToEntero}%")
+ LtlAvanceImporte.Text = $"$ { ImporteAvance.ToString("###,###,###.00") }"
+ LtlAvanceImporteProcentaje1.Text = $"{TotalAvancePorcentaje.ToString("###.00")} %"
+ LtlAvanceImporteProcentaje2.Text = $"{TotalAvancePorcentaje.ToString("###.00")}%"
+ SPAvance1.Attributes.Add("style", $"width:{TotalAvancePorcentaje.ToString.ToEntero}%")
- LtlAvanceInternoImporte.Text = $"$ {DTDatos.Rows(0)("ImporteInterno").ToString.ToDecimal.ToString("###,###,###.00")}"
- LtlAvanceInternoImportePorcentaje1.Text = $"{TotalFaltantePorcentaje.ToString("###.00")} %"
- LtlAvanceInternoImportePorcentaje2.Text = $"{TotalFaltantePorcentaje.ToString("###.00")}%"
- SPFaltante.Attributes.Add("style", $"width:{TotalFaltantePorcentaje.ToString.ToEntero}%")
+ LtlAvanceInternoImporte.Text = $"$ {DTDatos.Rows(0)("ImporteInterno").ToString.ToDecimal.ToString("###,###,###.00")}"
+ LtlAvanceInternoImportePorcentaje1.Text = $"{TotalFaltantePorcentaje.ToString("###.00")} %"
+ LtlAvanceInternoImportePorcentaje2.Text = $"{TotalFaltantePorcentaje.ToString("###.00")}%"
+ SPFaltante.Attributes.Add("style", $"width:{TotalFaltantePorcentaje.ToString.ToEntero}%")
- End If
+ End If
+ Catch ex As Exception
- 'Dim TotalContratos As Decimal = DTDatos.SUM("Importe")
- 'Dim TotalAvance As Decimal = DTDatos.SUM("AvanceImporte")
- 'Dim TotalFaltante As Decimal = TotalContratos - TotalAvance
-
-
- 'Dim TotalAvancePorcentaje As Decimal = ((TotalAvance * 100) / TotalContratos).RoundAD(2)
- 'Dim TotalFaltantePorcentaje As Decimal = (100 - TotalAvancePorcentaje).RoundAD(2)
-
-
- ' LtlGrafNumeroContratos.Text = NumeroContratos.ToString
- 'LtlGrafTotal.Text = TotalContratos.ToString("###,###,###.00")
+ End Try
DVGraficas.Visible = True
@@ -4635,6 +4932,29 @@ Partial Class Contratos_ContratoObra
+ Protected Sub DdlRubro_SelectedIndexChanged(sender As Object, e As EventArgs)
+
+
+ If DdlRubro.SelectedValue.ToEntero = 3 Then
+ DVDias.Visible = True
+ DVActividadesRH.Visible = True
+
+ DVClasificacion.Visible = False
+ DVPS.Visible = False
+ DVUM.Visible = False
+ Else
+ DVDias.Visible = False
+ DVActividadesRH.Visible = False
+
+ DVClasificacion.Visible = True
+ DVPS.Visible = True
+ DVUM.Visible = True
+
+ End If
+
+ UpModalControlAddPS.Update()
+
+ End Sub
End Class
diff --git a/Empresas/Grales/Formatos/RepIVA.rpt b/Empresas/Grales/Formatos/RepIVA.rpt
index a9b34948e..299e52f3a 100644
Binary files a/Empresas/Grales/Formatos/RepIVA.rpt and b/Empresas/Grales/Formatos/RepIVA.rpt differ
diff --git a/Inventarios/Consignaciones.aspx.vb b/Inventarios/Consignaciones.aspx.vb
index 8da1e3b5e..43ef04fd9 100644
--- a/Inventarios/Consignaciones.aspx.vb
+++ b/Inventarios/Consignaciones.aspx.vb
@@ -1235,7 +1235,7 @@ Partial Class Inventarios_Consignaciones
Dim ObjInventarios As New ClsInventarios
Dim Dt As DataTable = Nothing
- If ObjInventarios.GetMovimientosTransitorios(DdlAlmacenRecepcion.SelectedValue.ToEntero, 4, DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero, -1, If(TxtFolioRecepcion.Text = "", -1, TxtFolioRecepcion.Text.ToEntero), UsuarioActual.CveEmpresa) Then
+ 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
Else
Alert("Ocurrió un error al consultar los movimientos transitorios. Por favor vuelva a intentar.", TipoMensaje.MsgError)
diff --git a/Inventarios/EntradasSalidas.aspx b/Inventarios/EntradasSalidas.aspx
index 5ab3e99df..7128c409a 100644
--- a/Inventarios/EntradasSalidas.aspx
+++ b/Inventarios/EntradasSalidas.aspx
@@ -260,7 +260,7 @@
diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb
index cb2f16ade..47d5174c7 100644
--- a/Inventarios/EntradasSalidas.aspx.vb
+++ b/Inventarios/EntradasSalidas.aspx.vb
@@ -728,7 +728,13 @@ Partial Class Inventarios_EntradasSalidas
TxtObservaciones.Text = Mov.Observaciones
TxtResponsable.Text = Mov.Recibio
- If Mov.CveAlmacenDestino > 0 Then divDestino.Visible = True : LtlAlmacenDestino.Text = Mov.AlmacenDestino
+ If Mov.CveAlmacenDestino > 0 Then
+ divDestino.Visible = True
+ LtlAlmacenDestino.Text = Mov.AlmacenDestino
+ If DtMov.Rows(0)("Origen").ToString = "1" Then
+ LblDestino.Text = "Origen:"
+ End If
+ End If
CveMovimientoRelacionado = Mov.CveMovimientoRelacionado
FolioRelacionado = Mov.FolioRelacionado
diff --git a/Inventarios/EntregaAlmacen.aspx.vb b/Inventarios/EntregaAlmacen.aspx.vb
index 532f5c204..67bc6e154 100644
--- a/Inventarios/EntregaAlmacen.aspx.vb
+++ b/Inventarios/EntregaAlmacen.aspx.vb
@@ -2709,7 +2709,7 @@ Partial Class Inventarios_EntregaAlmacen
For Each RowUsado As DataRow In DtPSVirtual.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
- Dim PU As Decimal = RowUsado("PU").ToString().ToDecimal()
+ Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU) Then
diff --git a/Inventarios/InventarioFisicoDetalle.aspx.vb b/Inventarios/InventarioFisicoDetalle.aspx.vb
index a5abf5a98..a3a248298 100644
--- a/Inventarios/InventarioFisicoDetalle.aspx.vb
+++ b/Inventarios/InventarioFisicoDetalle.aspx.vb
@@ -328,37 +328,37 @@ Partial Class Inventarios_InventarioFisicoDetalle
End If
FechaCaducidad = If(TxtFechaCaducidad.Text.Length > 0, TxtFechaCaducidad.Text, MinFecha.ToString)
End If
- If AplicaSeccion Then
- Dim ObjInv As New ClsInventarios
- Dim SeccionesAlmacenDelProducto As New DataTable
- If ObjInv.GetProductosServiciosAlmacenSeccion(CveProducto, -1, -1, UsuarioActual.CveEmpresa) Then
- SeccionesAlmacenDelProducto = ObjInv.DtResultados.FiltraParametros(String.Format("CveAlmacen IN ({0})", CveAlmacenes))
- End If
- 'Dim SeccionesAlmacenDelProducto As DataTable = (UsuarioActual.CveEmpresa, -1, CveProducto) '.FiltraParametros(String.Format("CveAlmacen IN ({0})", CveAlmacenes))
- 'Alert(SeccionesAlmacenDelProducto.Rows.Count.ToString)
- If SeccionesAlmacenDelProducto.Rows.Count = 1 Then
- CveSeccionAlmacen = SeccionesAlmacenDelProducto.FiltroPrimeroValor("CveSeccionAlmacen")
- Else
- divSeccion.Visible = AplicaSeccion
- If DdlSeccionAlmacen.Items.Count = 0 Then
- DdlSeccionAlmacen.DataSource = SeccionesAlmacenDelProducto
- DdlSeccionAlmacen.DataBind()
- DdlSeccionAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
- End If
+ 'If AplicaSeccion Then
+ ' Dim ObjInv As New ClsInventarios
+ ' Dim SeccionesAlmacenDelProducto As New DataTable
+ ' If ObjInv.GetProductosServiciosAlmacenSeccion(CveProducto, -1, -1, UsuarioActual.CveEmpresa) Then
+ ' SeccionesAlmacenDelProducto = ObjInv.DtResultados.FiltraParametros(String.Format("CveAlmacen IN ({0})", CveAlmacenes))
+ ' End If
+ ' 'Dim SeccionesAlmacenDelProducto As DataTable = (UsuarioActual.CveEmpresa, -1, CveProducto) '.FiltraParametros(String.Format("CveAlmacen IN ({0})", CveAlmacenes))
+ ' 'Alert(SeccionesAlmacenDelProducto.Rows.Count.ToString)
+ ' If SeccionesAlmacenDelProducto.Rows.Count = 1 Then
+ ' CveSeccionAlmacen = SeccionesAlmacenDelProducto.FiltroPrimeroValor("CveSeccionAlmacen")
+ ' Else
+ ' divSeccion.Visible = AplicaSeccion
+ ' If DdlSeccionAlmacen.Items.Count = 0 Then
+ ' DdlSeccionAlmacen.DataSource = SeccionesAlmacenDelProducto
+ ' DdlSeccionAlmacen.DataBind()
+ ' DdlSeccionAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
+ ' End If
- If DdlSeccionAlmacen.SelectedValue = "-1" Then
- RfvSeccionAlmacen.Enabled = True
- RfvSeccionAlmacen.Visible = True
- RfvSeccionAlmacen.SetFocusOnError = True
- RfvSeccionAlmacen.Validate()
- RfvSeccionAlmacen.ValidationGroup = " "
- Exit Sub
- End If
- CveSeccionAlmacen = DdlSeccionAlmacen.SelectedValue.ToEntero
- End If
- ObjInv.Dispose()
- SeccionAlmacen = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("SeccionAlmacen", String.Format("CveSeccionAlmacen = {0}", CveSeccionAlmacen))
- End If
+ ' If DdlSeccionAlmacen.SelectedValue = "-1" Then
+ ' RfvSeccionAlmacen.Enabled = True
+ ' RfvSeccionAlmacen.Visible = True
+ ' RfvSeccionAlmacen.SetFocusOnError = True
+ ' RfvSeccionAlmacen.Validate()
+ ' RfvSeccionAlmacen.ValidationGroup = " "
+ ' Exit Sub
+ ' End If
+ ' CveSeccionAlmacen = DdlSeccionAlmacen.SelectedValue.ToEntero
+ ' End If
+ ' ObjInv.Dispose()
+ ' SeccionAlmacen = GlobalDTSeccionAlmacen(UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("SeccionAlmacen", String.Format("CveSeccionAlmacen = {0}", CveSeccionAlmacen))
+ 'End If
RFVSerie.ValidationGroup = "GrpIngresar"
RFVSerie.Enabled = False
diff --git a/Inventarios/KardexAlmacenHorizontal.aspx b/Inventarios/KardexAlmacenHorizontal.aspx
index f96654277..767cf5d47 100644
--- a/Inventarios/KardexAlmacenHorizontal.aspx
+++ b/Inventarios/KardexAlmacenHorizontal.aspx
@@ -194,6 +194,7 @@
+
diff --git a/Inventarios/PopUpExistenciasAlmacen.aspx.vb b/Inventarios/PopUpExistenciasAlmacen.aspx.vb
index 9e7fbd992..08d54fcc4 100644
--- a/Inventarios/PopUpExistenciasAlmacen.aspx.vb
+++ b/Inventarios/PopUpExistenciasAlmacen.aspx.vb
@@ -100,7 +100,7 @@ Partial Class Inventarios_Default
If ValidarFiltrosSeleccionados() OrElse CvePS > 0 Then
Dim ObjInventarios As New ClsInventarios()
If ObjInventarios.GetExistenciasProducto(CvePS, -1, UsuarioActual.CveEmpresa, -1, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"),
- ExcluyeApartados:=-1, ExcluyeAdelantado:=1, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero, TopSelect:=100) Then
+ ExcluyeApartados:=-1, ExcluyeAdelantado:=1, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero, ExcluyeTransitorios:=1, TopSelect:=100) Then
Dim dr As Data.DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
If dr IsNot Nothing Then
diff --git a/Inventarios/RecepcionAlmacen.aspx.vb b/Inventarios/RecepcionAlmacen.aspx.vb
index 579a324c4..097e61ba0 100644
--- a/Inventarios/RecepcionAlmacen.aspx.vb
+++ b/Inventarios/RecepcionAlmacen.aspx.vb
@@ -938,12 +938,12 @@ Partial Class Inventarios_RecepcionAlmacen
TotalCompraOC = ObjCompras.DtResultados.Rows(0)("SubTotal").ToString.ToDecimal - ObjCompras.DtResultados.Rows(0)("Descuentos").ToString.ToDecimal
CveTipoCompra = ObjCompras.DtResultados.Rows(0)("CveTipoCompra").ToString.ToEntero
- If TipoMovimiento = 3 Then
- CargaAlmacenes(-1, "21,2", CveTipoCompra)
- ElseIf CveTipoCompra = 9 Then
+ If CveTipoCompra = 9 Then
CargaAlmacenes(-1, "27", CveTipoCompra)
ElseIf CveTipoCompra = 10 Then
CargaAlmacenes(-1, CveTipoCompra:=CveTipoCompra)
+ ElseIf TipoMovimiento = 3 Then
+ CargaAlmacenes(-1, "21,2", CveTipoCompra)
Else
CargaAlmacenes(-1)
End If
@@ -2377,7 +2377,7 @@ Partial Class Inventarios_RecepcionAlmacen
Dim CveVendedorActual = -1
Dim CveClienteActual = -1
- Dim CveAlmacenDestino = CveAlmacen
+ Dim CveAlmacenDestino = CveAlmacenDevolucionProveedor
Dim CveSeccionDestino As Integer = -1
'For Each RowAlmacen As DataRow In DtAlmacenesDevolucion.FiltraParametros("", DistinctColumns:={"CveAlmacenOrignal"}).Rows
@@ -2713,13 +2713,13 @@ Partial Class Inventarios_RecepcionAlmacen
End If
If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 Then
- Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero()
+ 'Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero()
Dim CveTipoAlmacenFiltro As Integer = If(CveTipoCompra = 9, 25, 24)
- Dim CveAlmacenVirutal As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=tCveAlmacen).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=tCveAlmacen).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
- CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirutal, If(TipoMovimiento > 1, 13, 2), 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, CveMovimientoRelacionado:=CveMovimiento, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RA/G4")
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, If(TipoMovimiento > 1, 13, 2), 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, CveMovimientoRelacionado:=CveMovimiento, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RA/G4")
FolioVirtual = ObjInventario.Folio
For Each RowUsado As DataRow In DtPSVirtual.Rows
@@ -2865,11 +2865,11 @@ Partial Class Inventarios_RecepcionAlmacen
Next
If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 Then
- Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero()
+ 'Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacen.SelectedValue}").ToEntero()
- Dim CveAlmacenVirutal As Integer = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 25).FiltroPrimeroValor("CveAlmacen", $"CveSubProyecto={CveSubProyecto}").ToEntero()
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
- CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirutal, If(TipoMovimiento > 1, 13, 2), 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RA/G5")
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, If(TipoMovimiento > 1, 13, 2), 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RA/G5")
FolioVirtual = ObjInventario.Folio
For Each RowUsado As DataRow In DtPSVirtual.Rows
@@ -2884,6 +2884,66 @@ Partial Class Inventarios_RecepcionAlmacen
End If
Next
End If
+
+ If SumarImporteUsados Then
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtual, UsuarioActual.CveEmpresa) Then
+ ImporteIngresoAdicional = ObjInventario.DtResultados.SUMD("TotalOriginal")
+ End If
+ End If
+
+ Else
+ If RealizarMovimientoVirtual Then
+
+ Dim DtPSVirtual As New DataTable("DtTamanios")
+
+ Dim CveMovimientoRef As Integer = -1
+ If RealizarTraspasoAlmacenDevolucion Then
+ CveMovimientoRef = CveMovimientoSalidaTraspaso
+ Else
+ CveMovimientoRef = CveMovimiento
+ End If
+
+ If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoRef, UsuarioActual.CveEmpresa) Then
+ DtPSVirtual = ObjInventario.DtResultados
+ End If
+
+ If DtPSVirtual IsNot Nothing AndAlso DtPSVirtual.Rows.Count > 0 Then
+
+ Dim CveTipoAlmacenFiltro As Integer = 24
+
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacen.SelectedValue.ToEntero()).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
+
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, 13, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompraSurtir, -1, -1, -1, CveMovimientoRelacionado:=CveMovimientoRef, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="RA/VD")
+
+ If CveMovimientoVirtual > 0 Then
+ FolioVirtual = ObjInventario.Folio
+
+ For Each RowUsado As DataRow In DtPSVirtual.Rows
+ Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Decimal = RowUsado("Cantidad").ToString().ToDecimal()
+ Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
+ Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ ErrorMovInv = True
+ Exit For
+ End If
+ Next
+
+ If SumarImporteUsados Then
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtual, UsuarioActual.CveEmpresa) Then
+ ImporteIngresoAdicional = ObjInventario.DtResultados.SUMD("TotalOriginal")
+ End If
+ End If
+
+ Else
+ ErrorMovInv = True
+ End If
+
+ Else
+ ErrorMovInv = True
+ End If
+ End If
End If
End If
diff --git a/Inventarios/RepAnomalias.aspx.vb b/Inventarios/RepAnomalias.aspx.vb
index 12433a1ec..57f6afc1a 100644
--- a/Inventarios/RepAnomalias.aspx.vb
+++ b/Inventarios/RepAnomalias.aspx.vb
@@ -194,9 +194,10 @@ Partial Class Inventarios_RepAnomalias
e.Row.Cells(8).Text = "0"
End If
- If e.Row.Cells(7).Text = MinFecha Then
+ If e.Row.Cells(7).Text = MinFecha.ToString Then
e.Row.Cells(7).Text = ""
End If
+
e.Row.FCLabel("Lblc").Text = e.Row.RowIndex + 1
End If
diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb
index 434eaf4fb..5146a4a86 100644
--- a/Inventarios/TraspasoAlmacen.aspx.vb
+++ b/Inventarios/TraspasoAlmacen.aspx.vb
@@ -882,13 +882,13 @@ Partial Class Inventarios_TraspasoAlmacen
dtvirtual = ObjInventario.DtResultados
If dtvirtual.Rows.Count > 0 Then
- CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtual, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Modulo:="TA/V", CveMovimientoRelacionado:=CveMovimientoSalida)
+ 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)
FolioVirtualSalida = 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("PU").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, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
@@ -899,7 +899,7 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Else
ErrorMovInv = True
- End If
+ End If
End If
AlmacenEntrada = If(ChkTransitorio.Checked, DdlAlmacenTransitorio.SelectedValue.ToEntero, DdlAlmacenDestino.SelectedValue.ToEntero)
@@ -933,27 +933,23 @@ Partial Class Inventarios_TraspasoAlmacen
If Not ChkTransitorio.Checked Then 'SI NO ES TRANSITORIO SE HACE LA RECEPCION DE INMEDIATO
If Not ErrorMovInv Then
-
'VIRTUAL ENTRADA
If RealizarMovimientoVirtual Then
- 'Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {DdlAlmacenDestino.SelectedValue}").ToEntero()
- 'SI EL ALMACEN DESTINO ES DE APOPYO LOGISTICO EL ALMACEN VIRTUAL DEBE SER DE APOYO LOGISTICO
- Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveSubProyectoOrigen).FiltroPrimeroValor("CveAlmacenVirtual", "").ToEntero()
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(CveAlmacenVirtual, 36, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, CveMovimientoRelacionado:=CveMovimientoEntrada, Modulo:="TA/S3")
+ 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("PU").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
@@ -965,70 +961,70 @@ Partial Class Inventarios_TraspasoAlmacen
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").RoundSQL
- 'Dim IdCtaContableSalida As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue.ToEntero)).ToEntero
- 'Dim IdCtaContableEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenDestino.SelectedValue.ToEntero)).ToEntero
- Dim Contabilizable As Boolean = True
-
- If IdCtaContableOrigen = IdCtaContableDestino And TipoAlmacenDestino <> 26 Then Contabilizable = False
-
- 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
+ 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").RoundSQL
+ 'Dim IdCtaContableSalida As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue.ToEntero)).ToEntero
+ 'Dim IdCtaContableEntrada As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenDestino.SelectedValue.ToEntero)).ToEntero
+ Dim Contabilizable As Boolean = True
+
+ If IdCtaContableOrigen = IdCtaContableDestino And TipoAlmacenDestino <> 26 Then Contabilizable = False
+
+ 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").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:=CveMovimientoSalida, ImporteMX:=importe, Contabilizable:=False) 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
+ 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
- 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").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:=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
@@ -1525,7 +1521,7 @@ Partial Class Inventarios_TraspasoAlmacen
FolioBusqueda = If(TxtFolioRecepcion.Text = "", -1, TxtFolioRecepcion.Text.ToEntero)
Dim ObjInventarios As New ClsInventarios
- If ObjInventarios.GetMovimientosTransitorios(DdlAlmacenRecepcion.SelectedValue.ToEntero, -1, DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero, -1, FolioBusqueda, UsuarioActual.CveEmpresa) Then
+ If ObjInventarios.GetMovimientosTransitorios(DdlAlmacenRecepcion.SelectedValue.ToEntero, -1, DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero, -1, FolioBusqueda, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
Dtt = ObjInventarios.DtResultados.FiltraParametros(String.Format("CveTipoAlmacenDestino <> 4"))
Else
Alert("Ocurrió un error al consultar los movimientos transitorios. Por favor vuelva a intentar.", TipoMensaje.MsgAdvertencia)
@@ -1627,7 +1623,7 @@ Partial Class Inventarios_TraspasoAlmacen
End If
Dim CveMovimientoEntrada As Integer = 0
- Dim Folio As Integer = 0
+ Dim tFolio As Integer = 0
Dim ErrorMovInv As Boolean = False
Dim TextoError As String = ""
Dim Fecha As Date = TxtFechaRecepcion.Text.ToDate
@@ -1651,7 +1647,7 @@ Partial Class Inventarios_TraspasoAlmacen
If Concepto = "" Then Concepto = "Cancelación Traspaso"
If Not ErrorMovInv Then
- Folio = ObjInventario.Folio
+ tFolio = ObjInventario.Folio
CvePrePoliza = ObjConta.AddPrePolizas("Inventario/TraspasoAlmacen", 53, 0, 0, 1, Fecha, Concepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CvePrePoliza <= 0 Then
@@ -1743,14 +1739,14 @@ Partial Class Inventarios_TraspasoAlmacen
Dim ImporteDecimal As Decimal = importe.ToDecimal.RoundSQL
Dim IdCtaContable As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", DdlAlmacenTransitorioRecepcion.SelectedValue.ToEntero)).ToEntero
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteDecimal, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1,
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteDecimal, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1,
CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ImporteDecimal) Then
ErrorMovInv = True
TextoError = "Ocurrió un erro al cancelar el traspaso"
End If
- If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteDecimal, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1,
- CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ImporteDecimal) Then
+ If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteDecimal, TxtObservaciones.Text, 68, TxtObservaciones.Text, Fecha, IdCtaContable, -1,
+ CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ImporteDecimal) Then
ErrorMovInv = True
TextoError = "Ocurrió un erro al cancelar el traspaso"
End If
@@ -1772,7 +1768,7 @@ Partial Class Inventarios_TraspasoAlmacen
TxtObservacionesRecepcion.Text = ""
Dim Mensaje As StringBuilder = New StringBuilder
- Mensaje.AppendFormat("Se realizo correctamente la cancelación. Folio de Entrada: {0}", Folio, CveMovimientoEntrada)
+ Mensaje.AppendFormat("Se realizo correctamente la cancelación. Folio de Entrada: {0}", tFolio, CveMovimientoEntrada)
Mensaje.AppendFormat(" Imprimir Reporte", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada))) 'onclick='ImprimirTraslado()'
If CveMovimientoVirtualEntrada > 0 Then Mensaje.AppendFormat(" Folio Virtual: {2} Imprimir Entrada Virtual", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoVirtualEntrada)), CveMovimientoVirtualEntrada, FolioVirtualEntrada)
@@ -1820,7 +1816,7 @@ Partial Class Inventarios_TraspasoAlmacen
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
'' verifica que no se halla recibido previamente, si ya se recibió da salida
- If ObjInventario.GetMovimientosTransitorios(CveAlmacenDestino, -1, CveAlmacenTransitorio, -1, FolioBusqueda, UsuarioActual.CveEmpresa) Then
+ If ObjInventario.GetMovimientosTransitorios(CveAlmacenDestino, -1, CveAlmacenTransitorio, -1, FolioBusqueda, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario) Then
Dtt = ObjInventario.DtResultados.FiltraParametros(String.Format("CveTipoAlmacenDestino <> 4"), "", {"CveMovimientoDetalle", "Codigo", "Cantidad"})
If Dtt IsNot Nothing AndAlso Dtt.FiltraParametros("Cantidad < 0").Rows.Count > 0 Then
@@ -1945,7 +1941,7 @@ Partial Class Inventarios_TraspasoAlmacen
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("PU").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
@@ -2851,7 +2847,7 @@ Partial Class Inventarios_TraspasoAlmacen
Private Function ReadExcelFile(ByVal flatFilePath As String, ByVal firstRowHasHeaders As Boolean) As DataTable
SpreadsheetInfo.SetLicense(ModExtensiones.SerialGemBoxSpreadsheet)
- Dim excelFile As ExcelFile = excelFile.Load(flatFilePath)
+ Dim excelFile As ExcelFile = ExcelFile.Load(flatFilePath)
Dim unnamed As Integer = 0
Dim cols As Integer
diff --git a/Site.master b/Site.master
index 5c6489dad..30390b077 100644
--- a/Site.master
+++ b/Site.master
@@ -1,672 +1,672 @@
-<%@ Master Language="VB" CodeFile="Site.master.vb" Inherits="Site" %>
-
-<%@ Import Namespace="System.Web.Optimization" %>
-
-
-
-
-
- Sistema de Información Gerencial
-
-
-
-
-
-
- <%: Scripts.Render("~/bundles/modernizr") %>
- <%: Styles.Render("~/Content/AjaxControlToolkit/Styles/Bundle") %>
-
-
- <%--
-
- --%>
- <%: Styles.Render("~/Metronic/assets/global/css/css") %>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+ <%: Scripts.Render("~/Metronic/assets/global/scripts/JS") %>
+
+
+
+
+
+
+
+
+
+
diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx
index b168f7b82..2f20bd2b4 100644
--- a/Ventas/Clientes.aspx
+++ b/Ventas/Clientes.aspx
@@ -4179,8 +4179,10 @@
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">
-
-
+
+
+
+
@@ -4290,7 +4292,7 @@
--%>
-
+
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb
index 55ce1f097..a01b7bf92 100644
--- a/Ventas/Clientes.aspx.vb
+++ b/Ventas/Clientes.aspx.vb
@@ -9141,7 +9141,7 @@ Partial Class Clientes
End If
Dim ImporteBonificacion As Decimal = 0
- If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) AndAlso ObjAcum.DtResultados.Rows.Count > 0 Then
+ If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) AndAlso ObjAcum.DtResultados.Rows.Count >= 4 Then
GvUsadosResumen.DataSource = ObjAcum.DtResultados
ImporteBonificacion = ObjAcum.DtResultados.Rows(4)("Valor").ToString().ToDecimal()
End If
diff --git a/Ventas/ClientesAbonar.aspx b/Ventas/ClientesAbonar.aspx
index b3a9d6d14..6887e39d7 100644
--- a/Ventas/ClientesAbonar.aspx
+++ b/Ventas/ClientesAbonar.aspx
@@ -261,7 +261,7 @@
@@ -358,7 +358,15 @@
CveVenta
-
+
+
+
+
+
+
+ Complemento Pago
+
+
diff --git a/Ventas/ClientesAbonar.aspx.vb b/Ventas/ClientesAbonar.aspx.vb
index 98735344f..4a8e19e4e 100644
--- a/Ventas/ClientesAbonar.aspx.vb
+++ b/Ventas/ClientesAbonar.aspx.vb
@@ -636,6 +636,17 @@ Partial Class Ventas_ClientesAbonar
e.Row.FCCheckBox("Chk").Visible = False
End If
+
+ If e.Row.DBCampo("CveVenta").ToEntero > 0 Then
+ If e.Row.DataKey("ClaveMetodoPagoSAT") = "PUE" Then
+ e.Row.FCLinkButton("LnkComplemento").Text = ""
+ e.Row.FCLinkButton("LnkComplemento").CssClass = "text-danger"
+ End If
+ Else
+ e.Row.FCLinkButton("LnkComplemento").Visible = False
+ End If
+
+
End If
End Sub
@@ -2071,8 +2082,13 @@ Partial Class Ventas_ClientesAbonar
Dim SubProyecto = DrSubProyecto("SubProyecto").ToString
Dim Proyecto = DrSubProyecto("Proyecto").ToString
- Dim CveSATNC = "84111506"
- Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, SATClavePS:=CveSATNC, AplicaParaVenta:=1).FiltroPrimero("")
+ Dim CveSATNC As Integer
+ Dim ArrayNC As String() = UsuarioActual.Empresa.Funcionalidad(591).Split(",".ToCharArray())
+ Dim NCBonificacion As Integer = 0
+ If ArrayNC.Length > 6 Then 'CONCEPTO DE PRONTO PAGO
+ CveSATNC = ArrayNC(6).ToEntero()
+ End If
+ Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CveSATNC, AplicaParaVenta:=1).FiltroPrimero("")
For Each Dr As DataRow In DtImpuestos.Rows
AgregaTempDTNC(ObjFacturaDevolucion.DtDetalle, DrPS("CvePS").ToString.ToEntero, DrPS("PS").ToString, DrPS("Codigo").ToString, DrPS("PSCodigo").ToString, DrPS("CveTipoPS").ToString.ToEntero, DrPS("Inv_CveMetodoInventario").ToString.ToEntero,
@@ -2505,6 +2521,18 @@ Partial Class Ventas_ClientesAbonar
'For i = 0 To CveVentas.Count - 1
Dim ObjBancos As New ClsBancos
+
+
+ If ObjBancos.GetComplementoPagosRep(-1, Now.AddYears(-2), Now, CveIE, -1, If(CveIESustitucion > 0, 2, 1), UsuarioActual.CveEmpresa, -1) Then
+ If Not ObjBancos.DtResultados.Rows.Count > 0 Then
+ ObjBancos.Dispose()
+ Alert("No se generaron complementos de pago porque no hay facturas con método de pago PPD", TipoMensaje.MsgAdvertencia)
+ Return ""
+ End If
+ End If
+
+
+
ObjBancos.IniciaTransacSQL()
If ObjBancos.GeneraTimbrePago(CveIE, -1, UsuarioActual, CveCliente, CFDIRelacionado:=CFDIRelacionadoSustitucion, EsRegeneracion:=If(CveIESustitucion > 0, True, False)) Then
diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb
index 152d2e3cc..18fb5bee9 100644
--- a/Ventas/PV.aspx.vb
+++ b/Ventas/PV.aspx.vb
@@ -2700,11 +2700,14 @@ Partial Class PV
Objeto.Attributes.Add("data-cvesubproyecto", DdlSubProyectoDatos.SelectedValue)
'Objeto.ddlWS.Attributes.Add("data-cveclasificacion", CveClasificacion.ToString)
Objeto.ddlWS.Attributes.Add("data-cveclasificacion", "-1")
+ Objeto.ddlWS.Attributes.Add("data-aplicaparaventa", "1")
+
If AplicaAlmacen Then
Objeto.ddlWS.Attributes.Add("data-pagina", "ventas/ventas")
Else
Objeto.ddlWS.Attributes.Add("data-pagina", "-1")
End If
+ Objeto.ddlWS.Attributes.Add("data-aplicaparaventa", "1")
Objeto.ddlWS.Attributes.Add("data-Estatus", "1")
End If
End Sub
diff --git a/Ventas/ProductosServicios.aspx b/Ventas/ProductosServicios.aspx
index 7a5c4faa1..d83ba7ada 100644
--- a/Ventas/ProductosServicios.aspx
+++ b/Ventas/ProductosServicios.aspx
@@ -132,7 +132,7 @@
@@ -7235,13 +7235,14 @@
TxtImporte.value = FormatoNumero(Saldo, 2);
}
} else {
- if (SaldoMaximoUtilizable > 0) {
- TxtImporte.value = "";
- Chk.checked = false;
- } else {
- TxtImporte.value = FormatoNumero(Saldo, 2);
- }
-
+ TxtImporte.value = "";
+ Chk.checked = false;
+ //if (SaldoMaximoUtilizable > 0) {
+ // TxtImporte.value = "";
+ // Chk.checked = false;
+ //} else {
+ // TxtImporte.value = FormatoNumero(Saldo, 2);
+ //}
}
} else {
diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb
index 215665354..69d5f99cf 100644
--- a/Ventas/Ventas.aspx.vb
+++ b/Ventas/Ventas.aspx.vb
@@ -2721,7 +2721,7 @@ Partial Class Ventas
ImgOtrosConceptos.Visible = False
TrFormaEntrega.Visible = False
TabDetalleVentas.Visible = False
- TabE.Visible = False
+ 'TabE.Visible = False
LnkOCs.Visible = False
GvPS.Columns(8).Visible = False
TrEdit.Visible = True
@@ -3526,6 +3526,8 @@ Partial Class Ventas
End If
End If
+ CalculaUsados()
+
CalculaTotalesVenta()
LbAgregar.Visible = False
UpPS.Update()
@@ -5690,7 +5692,7 @@ Partial Class Ventas
DivVentasUsados.Visible = True
Dim ObjClientes As New ClsClientes
- If ObjClientes.GetHistorialVentas(CveCliente, 1000, CveClienteSucursal:=-1, TipoDocto:="Ing", CveEstatusFactura:=-1, FechaI:=Now.AddMonths(-1)) Then
+ If ObjClientes.GetHistorialVentas(CveCliente, CveClienteSucursal:=-1, TipoDocto:="Ing", CveEstatusFactura:=-1, FechaI:=Now.AddMonths(-1)) Then
DdlVentaUsado.DataSource = ObjClientes.DtResultados.FiltraParametros("UsadoMarcado = 0")
End If
ObjClientes.Dispose()
@@ -5789,7 +5791,7 @@ Partial Class Ventas
UpFacturasRelacionadas.Update()
End Sub
Protected Sub CreaTmpFacturasRelacionadas()
- If CveVenta <= 0 Then
+ If CveVenta <= 0 OrElse EsCreaApartirDe Then
Me.TmpDTFacturasRelacionadas = New DataTable()
Me.TmpDTFacturasRelacionadas.Columns.Add(New DataColumn("CveVenta", GetType(Integer)))
Me.TmpDTFacturasRelacionadas.Columns.Add(New DataColumn("SerieFolio", GetType(String)))
@@ -5797,7 +5799,7 @@ Partial Class Ventas
End If
End Sub
Protected Sub LnkAgregarFacturaRelacionada_Click(sender As Object, e As EventArgs)
- If CveVenta <= 0 Then
+ If CveVenta <= 0 OrElse EsCreaApartirDe Then
If Me.TmpDTFacturasRelacionadas Is Nothing Then
CreaTmpFacturasRelacionadas()
End If
@@ -5827,7 +5829,7 @@ Partial Class Ventas
End Sub
Protected Sub BtnAgregarFacturasRelaciondas_Click(sender As Object, e As EventArgs)
- If CveVenta <= 0 Then
+ If CveVenta <= 0 OrElse EsCreaApartirDe Then
If Me.TmpDTFacturasRelacionadas Is Nothing OrElse Me.TmpDTFacturasRelacionadas.Rows.Count = 0 Then
Me.AplicaRelacionManual = False
Alert("No hay facturas para relacionar", TipoMensaje.MsgAdvertencia)
@@ -7002,7 +7004,7 @@ Partial Class Ventas
End If
If (CveVenta > 0 And DdlTipoComprobante.SelectedValue <> "Cot") AndAlso Not AplicaDevolucion Then
- If e.Row.DBCampo("CveConcepto").ToEntero() = 3 Then CveAlmacenDevolucion = e.Row.DBCampo("CveAlmacen").ToEntero()
+ If e.Row.DBCampo("CveConcepto").ToEntero().Contiene(3, 40) Then CveAlmacenDevolucion = e.Row.DBCampo("CveAlmacen").ToEntero()
e.Row.FCCheckBox("cbInv").Visible = False
End If
@@ -8197,7 +8199,7 @@ Partial Class Ventas
'MUESTA ALERT OK
' si es elrol 1165-Ventas,EMp:80, o la empresa 119, recarga ventas, para seguir registrando-.
- Dim Liga = If(UsuarioActual.CveRol = 1165 Or UsuarioActual.CveEmpresa = 119, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", If(CveEmpresaCRM > 0, $"document.location.href=""/CRM/EmpresaCRM.aspx?CveEmpresaCRM={CveEmpresaCRM}"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={CveCliente}&Opt=3"";"))
+ Dim Liga = If(UsuarioActual.CveRol = 1165 Or UsuarioActual.CveEmpresa = 119, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", If(CveEmpresaCRM > 0, $"document.location.href=""/CRM/EmpresaCRM.aspx?CveEmpresaCRM={CveEmpresaCRM}"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={CveCliente}&Opt=2"";"))
Alert(MensajeAlert.ToString(), TipoMensaje.MsgInformacion, Liga)
MensajeAlert.Clear()
@@ -8310,7 +8312,7 @@ Partial Class Ventas
If ObjFolios.GetFolios(TipoDoctoConsulta, UsuarioActual.CveEmpresa) Then
Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", DdlSubProyectoDatos.SelectedValue))
If DT.Rows.Count > 0 Then
- ObjFactura.Serie = DT.Rows(0)("Serie").ToString()
+ ObjFacturaDevolucion.Serie = DT.Rows(0)("Serie").ToString()
End If
DT.Dispose()
End If
@@ -8588,7 +8590,7 @@ Partial Class Ventas
If ObjFolios.GetFolios(TipoDoctoConsulta, UsuarioActual.CveEmpresa) Then
Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", DdlSubProyectoDatos.SelectedValue))
If DT.Rows.Count > 0 Then
- ObjFactura.Serie = DT.Rows(0)("Serie").ToString()
+ ObjFacturaBonificacion.Serie = DT.Rows(0)("Serie").ToString()
End If
DT.Dispose()
End If
@@ -9115,7 +9117,7 @@ Partial Class Ventas
ObjFactura.NumeroPersonas = 0
- If ObjFactura.TipoDocto = "Ant" And DdlContratosModal.SelectedValue.ToEntero > 0 Or ObjFactura.TipoDocto = "Ing" And DdlContratosModal.SelectedValue.ToEntero > 0 Then
+ If ObjFactura.TipoDocto = "Ant" And DdlContratosModal.SelectedValue.ToEntero > 0 Or ObjFactura.TipoDocto = "Ing" And DdlContratosModal.SelectedValue.ToEntero > 0 Or ObjFactura.TipoDocto = "Egs" And DdlContratosModal.SelectedValue.ToEntero > 0 Then
CveContrato = DdlContratosModal.SelectedValue.ToEntero
End If
@@ -9677,7 +9679,7 @@ Partial Class Ventas
If ObjFolios.GetFolios(TipoDoctoConsulta, UsuarioActual.CveEmpresa) Then
Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" CveSubProyecto = {0} And Estado = 'Activo'", DdlSubProyectoDatos.SelectedValue))
If DT.Rows.Count > 0 Then
- ObjFactura.Serie = DT.Rows(0)("Serie").ToString()
+ ObjFacturaDevolucion.Serie = DT.Rows(0)("Serie").ToString()
End If
DT.Dispose()
End If
@@ -10736,9 +10738,34 @@ Partial Class Ventas
'SI SE FACTURA UNA RNC SE MUESTRA
If UsuarioActual.CveEmpresa = 140 AndAlso factura.TipoDocto = "Egs" Then
If Row("CveVentaDetalleRNC").ToString().ToEntero() > 0 Then
+
If Not ObjVentas.AddVentaDetalleRNCFacturada(Row("CveVentaDetalleRNC").ToString().ToEntero(), ObjVentas.CveVentaDetalle, Row("Cantidad").ToString().ToDecimal()) Then
ErrorList.Add("Ocurrió un error al agregar la venta detalle devolución.")
End If
+
+ 'SI SE FACTURAN RNC DE CARGO, SE AGREGA EL CONCEPTO DE ACREDITAMIENTO
+ If ClienteEsDistribuidor AndAlso RblRNCTipo.SelectedValue = "1" Then
+ Dim ObjAcum As New ClsAcumuladores(ObjVentas.IniciaTransacSQL())
+
+ Dim CvePSCargo As Integer = -1
+ For Each RNC In ListaRemisionesNC
+ CvePSCargo = RNC.DtDetalle.FiltroPrimeroValor("CvePS", $"CveVentaDetalle={Row("CveVentaDetalleRNC").ToString()}").ToEntero()
+ If CvePSCargo > 0 Then
+ Exit For
+ End If
+ Next
+
+ Dim CveTamanio As Integer = GlobalDTAcumTamaños().FiltroPrimeroValor("CveTamaño", $"CvePSCargo={CvePSCargo}").ToEntero()
+
+ If CveTamanio > 0 Then
+ If Not ObjAcum.DistribuidorMovtosAdd(factura.CveCliente, Row("Cantidad").ToString().ToDecimal(), CveTamanio, 6, factura.CveVenta, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0D, "") Then
+ ErrorList.Add("Ocurrió un error al agregar la venta detalle devolución.")
+ Exit For
+ End If
+ End If
+
+ End If
+
End If
End If
@@ -14666,7 +14693,7 @@ Partial Class Ventas
'MUESTA Alert OK
'MensajeAlert.Append("El Documento se generó correctamente")
- Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={CveCliente}&Opt=3"";")
+ Dim Liga = If(UsuarioActual.CveRol = 1165, "document.location.href=""/Ventas/Ventas.aspx?CveVenta=-1"";", $"document.location.href=""/Ventas/Clientes.aspx?CveCliente={CveCliente}&Opt=2"";")
Alert(MensajeAlert.ToString(), TipoMensaje.MsgInformacion, Liga)
TrEmitir.Visible = False
@@ -15728,7 +15755,13 @@ Partial Class Ventas
TrVistaPrevia.Visible = True
UpFacturar.Update()
Else
- Alert("No tiene registrados Folios para " & DdlTipoComprobante.SelectedItem.Text & " en esta sucursal.", TipoMensaje.MsgAdvertencia)
+
+ If DdlTipoComprobante.Items.Count > 0 Then
+ Alert("No tiene registrados Folios para " & DdlTipoComprobante.SelectedItem.Text & " en esta sucursal.", TipoMensaje.MsgAdvertencia)
+ Else
+ Alert("No tiene permisos para generar ningun tipo de documento.", TipoMensaje.MsgAdvertencia)
+ End If
+
TrEmitir.Visible = False
TrVistaPrevia.Visible = False
BtnCrearApartirDe.Enabled = False
@@ -16384,6 +16417,10 @@ Partial Class Ventas
Dim TotalCalculableImpuestosIVA As Decimal = 0
PU = PU.RoundAD(6) ' el precio unitario puede llevar hasta 6 decimales permitidos
+ If Not TmpDT.Columns.Contains("RetIVA") Then
+ TmpDT.Columns.Add("RetIVA", GetType(Decimal))
+ End If
+
Row = TmpDT.NewRow()
Row("CveProyecto") = CveProyecto
Row("Proyecto") = Proyecto
@@ -16510,7 +16547,11 @@ Partial Class Ventas
Row("IVA") = Row("PorcentajeIVA")
Row("ImporteIVA") = (Row("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestosIVA).RoundAD(NumeroDecimales)
Row("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundAD(NumeroDecimales)
+
+
+
Row("RetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundAD(NumeroDecimales)
+
Row("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundAD(NumeroDecimales)
Row("PorcentajeRetIVA") = ClienteRetIVA
Row("PorcentajeRetISR") = ClienteRetISR
@@ -16708,6 +16749,8 @@ Partial Class Ventas
TmpDT.Columns.Add("TipoDescuento", GetType(Integer))
TmpDT.Columns.Add("TotalImporte", GetType(Decimal))
TmpDT.Columns.Add("Total", GetType(Decimal))
+ TmpDT.Columns.Add("RetIVA", GetType(Decimal))
+ TmpDT.Columns.Add("RetISR", GetType(Decimal))
'Para uso del módulo contable
TmpDT.Columns.Add("AsientoContableVentas", GetType(Integer))
TmpDT.Columns.Add("IdCtaContVentas", GetType(Integer))
@@ -17718,6 +17761,7 @@ Partial Class Ventas
DtRemConceptosSurtidos = Nothing
Dim TieneMovimientosSinCosto As Boolean = False
+ Dim TieneMovimientosContrato As Boolean = False
'Obtenemos los movimientos detalle
If ObjInventario.GetInv_Mov(CveRemision, UsuarioActual.CveEmpresa) Then
@@ -17755,6 +17799,8 @@ Partial Class Ventas
TieneMovimientosSinCosto = DtMovimientosDetalles.COUNT("CveTipoAlmacen", "CveTipoAlmacen=26") > 0
+ TieneMovimientosContrato = DtMovimientosDetalles.COUNT("CveTipoAlmacen", "CveTipoAlmacen IN (11)") > 0
+
For Each dr As DataRow In DtMovimientos.Rows
'Obtenemos los Movimientos de salida
If ObjInventario.GetMovimientos(dr("CveMovimiento").ToString().ToEntero(), ConceptoMovimiento, -1, UsuarioActual.CveEmpresa) Then
@@ -17777,7 +17823,12 @@ Partial Class Ventas
If TieneMovimientosSinCosto Then
MovDetalle = DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")}")
Else
- MovDetalle = CuadrarFacturaMovimientos(DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")} AND (TieneSalidaxFactura IS NULL OR SaldoAlmacen > 0)"))
+ If TieneMovimientosContrato Then
+ MovDetalle = CuadrarFacturaMovimientos(DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")}"))
+ Else
+ MovDetalle = CuadrarFacturaMovimientos(DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")} AND (TieneSalidaxFactura IS NULL OR SaldoAlmacen > 0)"))
+ End If
+
End If
Else
MovDetalle = DtMovimientosDetalles.FiltraParametros($"CveMovimiento = {dr("CveMovimiento")}")
@@ -17831,10 +17882,6 @@ Partial Class Ventas
'Le damos salida normal
If ConSalida AndAlso Not OcurrioError Then
- If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
- OcurrioError = Not GenerarMovimientoAlmacenVirtual(CveRemision, ObjInventario, ObjFactura, ObjConta:=ObjConta)
- End If
-
If Not OcurrioError Then
GeneroMovimientoAlmacen = GenerarMovimientoAlmacen(ObjInventario, MovDetalle, CveAlmacenParaSalida, CveConceptoSalidaAlmacen, CveMoneda, ObjFactura.CveVenta, AplicaMovimientoDetalleEntrada:=AplicaMovimientoDetalleEntrada, MovimientoPrePoliza:=True, ObjConta:=ObjConta) > 0
@@ -17842,6 +17889,10 @@ Partial Class Ventas
OcurrioError = True
Exit For
End If
+
+ If Not OcurrioError AndAlso UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+ OcurrioError = Not GenerarMovimientoAlmacenVirtual(CveRemision, ObjInventario, ObjFactura, ObjConta:=ObjConta)
+ End If
End If
End If
@@ -18215,26 +18266,43 @@ Partial Class Ventas
Dim CveConceptoMovimientoVirtual As Integer = 37
Dim DtPSVirtual As DataTable = Nothing
Dim DtTamanios As DataTable = Nothing
- Dim CveMovimientoEntradaDev As Integer = -1
- Dim CveSubProyecto As Integer = -1
+ Dim CveMovimientoReferencia As Integer = -1
+ 'SI LA REMISION SE SURTIO CON USADOS UTILIZAR ESTE MOVIMIENTO
If ObjInventario.GetInv_Mov(CveRemision, UsuarioActual.CveEmpresa) Then
- Dim RowMovimiento As DataRow = ObjInventario.DtResultados.FiltroPrimero("CvePS IS NULL AND ((CveTipoAlmacen = 24 AND CveConcepto = 2) OR (CveTipoAlmacen = 1 AND CveConcepto = 8)) AND CveVenta > 0")
+ Dim RowMovimiento As DataRow = ObjInventario.DtResultados.FiltroPrimero("CvePS IS NULL AND (CveTipoAlmacen = 24 AND CveConcepto = 2) AND CveVenta > 0")
If RowMovimiento IsNot Nothing Then
- CveMovimientoEntradaDev = RowMovimiento("CveMovimiento").ToString().ToEntero()
+ CveMovimientoReferencia = RowMovimiento("CveMovimiento").ToString().ToEntero()
Dim tCveAlmacen = RowMovimiento("CveAlmacen").ToString().ToEntero()
- CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen= {tCveAlmacen}").ToEntero()
CveAlmacenVirtual = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=tCveAlmacen).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
-
- Else
- OcurrioError = True
End If
Else
OcurrioError = True
End If
- If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoEntradaDev, UsuarioActual.CveEmpresa) Then
+
+ 'SI NO SE SURTIO LA REMSION CON USADOS, UTILIZAR EL MOVIMIENTO DE SALIDA DEL INGRESO
+ If CveMovimientoReferencia <= 0 Then
+ If ObjInventario.GetInv_Mov(ObjFactura.CveVenta, UsuarioActual.CveEmpresa) Then
+ Dim RowMovimiento As DataRow = ObjInventario.DtResultados.FiltroPrimero("CvePS IS NULL AND ( (CveTipoAlmacen = 1 AND CveConcepto = 3) OR (CveTipoAlmacen = 10 AND CveConcepto = 40) ) AND CveVenta > 0")
+
+ If RowMovimiento IsNot Nothing Then
+ CveMovimientoReferencia = RowMovimiento("CveMovimiento").ToString().ToEntero()
+ Dim tCveAlmacen = RowMovimiento("CveAlmacen").ToString().ToEntero()
+ CveAlmacenVirtual = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=tCveAlmacen).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
+
+ Else
+ OcurrioError = True
+ End If
+
+ Else
+ OcurrioError = True
+ End If
+ End If
+
+
+ If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoReferencia, UsuarioActual.CveEmpresa) Then
DtPSVirtual = ObjInventario.DtResultados.Copy()
Else
OcurrioError = True
@@ -18242,13 +18310,13 @@ Partial Class Ventas
If Not OcurrioError AndAlso DtPSVirtual.Rows.Count > 0 Then
- CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, ObjFactura.CveVenta, -1, -1, Modulo:="Vta/VV", CveMovimientoRelacionado:=CveMovimientoEntradaDev)
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, ObjFactura.CveVenta, -1, -1, Modulo:="Vta/VV", CveMovimientoRelacionado:=CveMovimientoReferencia)
If CveMovimientoVirtual > 0 Then
For Each RowUsado As DataRow In DtPSVirtual.Rows
Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
- Dim PU As Decimal = RowUsado("PU").ToString().ToDecimal()
+ Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1) Then
@@ -18318,6 +18386,123 @@ Partial Class Ventas
OcurrioError = True
End Try
+ Return Not OcurrioError
+
+ End Function
+ Private Function GenerarMovimientoAlmacenVirtualConsignacion(CveVenta As Integer, CveAlmacenContrato As Integer, ByRef ObjInventario As ClsInventarios, ObjFactura As Modelos.Factura, Optional ByRef ObjConta As ClsContabilidad = Nothing) As Boolean
+ Dim OcurrioError As Boolean = False
+
+ If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+ Try
+ Dim CveMovimientoVirtual As Integer = -1
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacenContrato).FiltroPrimeroValor("CveAlmacenVirtual").ToEntero()
+
+ Dim CveConceptoMovimientoVirtual As Integer = 37
+ Dim DtPSVirtual As DataTable = Nothing
+ Dim DtTamanios As DataTable = Nothing
+ Dim CveMovimientoReferencia As Integer = -1
+ Dim CveSubProyecto As Integer = -1
+
+
+ If ObjInventario.GetInv_Mov(CveVenta, UsuarioActual.CveEmpresa) Then
+ Dim RowMovimiento As DataRow = ObjInventario.DtResultados.FiltroPrimero("CvePS IS NULL AND ((CveTipoAlmacen = 24 AND CveConcepto = 2) OR (CveTipoAlmacen = 17 AND CveConcepto = 8)) AND CveVenta > 0")
+
+ If RowMovimiento IsNot Nothing Then
+ CveMovimientoReferencia = RowMovimiento("CveMovimiento").ToString().ToEntero()
+ Else
+ OcurrioError = True
+ End If
+
+ Else
+ OcurrioError = True
+ End If
+
+ If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoReferencia, UsuarioActual.CveEmpresa) Then
+ DtPSVirtual = ObjInventario.DtResultados.Copy()
+ Else
+ OcurrioError = True
+ End If
+
+ If Not OcurrioError AndAlso DtPSVirtual.Rows.Count > 0 Then
+
+ CveMovimientoVirtual = ObjInventario.AddMovimiento(CveAlmacenVirtual, CveConceptoMovimientoVirtual, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, ObjFactura.CveVenta, -1, -1, Modulo:="Vta/VV", CveMovimientoRelacionado:=CveMovimientoReferencia)
+
+ If CveMovimientoVirtual > 0 Then
+ For Each RowUsado As DataRow In DtPSVirtual.Rows
+ Dim CvePS = RowUsado("CvePS").ToString().ToEntero()
+ Dim CantidadUsado As Double = RowUsado("Cantidad").ToString().ToDouble()
+ Dim PU As Decimal = RowUsado("Cargo").ToString().ToDecimal()
+ Dim CveUM As Integer = RowUsado("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtual, CantidadUsado, CveUM, CvePS, PU, -1) Then
+ OcurrioError = True
+ Exit For
+ End If
+ Next
+ Else
+ OcurrioError = True
+ End If
+
+ 'Agregamos las PrePolizas
+ If Not OcurrioError Then
+ If CveMovimientoVirtual > 0 Then
+ 'OcurrioError = Not GeneraPrePolizaMovimientoAlmacen(ObjInventario, ObjConta, ObjContPaq, ObjFactura, ObjFactura.CvePrePoliza, CveMovimientoInventario, CveAlmacen)
+ If ObjInventario.GetMovimientosDetalle(CveMovimientoVirtual, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
+ Dim DtCostos = ObjInventario.DtResultados.Copy
+ Dim DtCostosDistinct As DataTable = ObjInventario.DtResultados.FiltraParametros("", "", {"CveClasificacion"})
+ Dim IdCtaContable As Integer = 0
+ Dim CveCuenta As Integer = 0
+ Dim ValorInventario As Decimal
+ Dim TotalCostoAcumulado As Decimal = 0D
+ Dim Cont As Integer = 1
+ Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL
+
+ For Each RowInv As DataRow In DtCostosDistinct.Rows
+ ValorInventario = DtCostos.SUMD("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).RoundSQL
+ IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
+ CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
+ TotalCostoAcumulado += ValorInventario
+
+ 'cuando es el último movimiento y hay diferencias en los importes
+ If Cont = DtCostosDistinct.Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
+ ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado)
+ End If
+
+ Try
+ 'If ValorInventario <> 0 Then
+ If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, ValorInventario, ObjFactura.SerieFolio, 69, ObjFactura.SerieFolio, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveClasificacion:=RowInv("CveClasificacion").ToString().ToEntero(), CveMovimientoAlmacen:=CveMovimientoVirtual, ImporteMX:=ValorInventario, CveCuenta:=CveCuenta, CveSubProyecto:=ObjFactura.CveSubProyecto) Then
+ OcurrioError = True
+ Exit For
+ End If
+ 'End If
+ Catch ex As Exception
+ OcurrioError = True
+ Alert("Error inesperado (15148). Por favor comuniquese con atención SIG.", TipoMensaje.ToastError)
+ End Try
+ Cont += 1
+ Next
+
+ If Not OcurrioError Then
+ IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", CveAlmacenVirtual)).ToEntero()
+ If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, TotalCosto, ObjFactura.SerieFolio, 68, ObjFactura.SerieFolio, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveMovimientoAlmacen:=CveMovimientoVirtual, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=ObjFactura.CveSubProyecto) Then
+ OcurrioError = True
+ End If
+ End If
+ Else
+ OcurrioError = True
+ End If
+ End If
+ End If
+
+ End If
+
+ Catch ex As Exception
+ OnError("Ocurrió un error al generar el almacen virtual.", ex)
+ OcurrioError = True
+ End Try
+ End If
+
+
Return Not OcurrioError
End Function
@@ -22349,7 +22534,7 @@ Partial Class Ventas
Dim CveUnidad As Integer
Dim Cantidad As Double
Dim Existencia As Double
- For Each Dr As DataRow In TmpDT.Rows
+ For Each Dr As DataRow In TmpDT.FiltraParametros("CveTipoPS=2").Rows
CveProducto = Dr("CvePS").ToString().ToEntero()
CveUnidad = Dr("CveUM").ToString().ToEntero()
Cantidad = Dr("Cantidad").ToString().ToDouble
@@ -22438,11 +22623,52 @@ Partial Class Ventas
If Not GeneraPrePolizaMovimientoAlmacen(ObjInventario, ObjConta, ObjContPaq, ObjFactura, ObjFactura.CvePrePoliza, CveMovimientoSalidaGeneral, CveAlmacenOrigenContrato) Then
Return False
End If
+
+ Dim RealizarMovimientoVirtual As Boolean = False
+ If UsuarioActual.Empresa.Funcionalidad(573) = "1" Then
+ RealizarMovimientoVirtual = True
+ End If
+
+ 'VIRTUAL SALIDA
+ If RealizarMovimientoVirtual Then
+
+ Dim dtvirtual As DataTable = Nothing
+ Dim CveAlmacenVirtual As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacenOrigenContrato).FiltroPrimeroValor("CveAlmacenVirtual", "").ToEntero()
+ Dim CveMovimientoVirtualSalida As Integer
+
+ If ObjInventario.GetMovimientosDetalleVirtual(CveMovimientoSalidaGeneral, UsuarioActual.CveEmpresa) Then
+
+ dtvirtual = ObjInventario.DtResultados
+
+ If dtvirtual.Rows.Count > 0 Then
+ CveMovimientoVirtualSalida = ObjInventario.AddMovimiento(CveAlmacenVirtual, 37, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:="", Modulo:="VV2", CveMovimientoRelacionado:=CveMovimientoSalidaGeneral)
+ 'FolioVirtualSalida = 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("PU").ToString().ToDecimal()
+ Dim CveUM As Integer = RowVirtual("CveUM").ToString().ToEntero()
+
+ If Not ObjInventario.AddMovimientoDetalle(CveMovimientoVirtualSalida, CantidadUsado, CveUM, CvePS, PU, -1, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
+ Return False
+ End If
+ Next
+ End If
+ Else
+ Return False
+ End If
+ End If
Else
Return False
End If
+ If Not GenerarMovimientoAlmacenVirtualConsignacion(factura.CveVenta, CveAlmacenExistenciasContrato, ObjInventario, factura, ObjConta) Then
+ Return False
+ End If
+
+
Return True
End Function
@@ -23910,10 +24136,18 @@ Partial Class Ventas
If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) Then
Dim RowUsadosNC As DataRow = ObjAcum.DtResultados.Rows(2)
DivSMU.Visible = True
- HdnSaldoMaximoUsados.Value = RowUsadosNC("ValorConImpuestos").ToString()
- LtlSMU.Text = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal().FormatoNumero(2)
+
+ Dim SaldoMaximo As Decimal = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal()
+ If SaldoMaximo > 0 Then
+ HdnSaldoMaximoUsados.Value = RowUsadosNC("ValorConImpuestos").ToString()
+ LtlSMU.Text = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal().FormatoNumero(2)
+ Else
+ HdnSaldoMaximoUsados.Value = "0"
+ LtlSMU.Text = "0"
+ End If
+
Else
- DivSMU.Visible = False
+ 'DivSMU.Visible = False
HdnSaldoMaximoUsados.Value = "0"
LtlSMU.Text = "0"
End If
@@ -23953,8 +24187,15 @@ Partial Class Ventas
DivSMU.Visible = True
Dim FacUsado As New Modelos.Factura(UsuarioActual, CveVentaUsado, UsuarioActual.CveEmpresa)
Dim SaldoMaximoUsados As Decimal = FacUsado.DtDetalle.SUM("Total", "EsCargo = True").ToDecimal() + FacUsado.DtDetalle.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
- HdnSaldoMaximoUsados.Value = SaldoMaximoUsados.ToString()
- LtlSMU.Text = String.Format("{0:N2}", SaldoMaximoUsados)
+
+ If SaldoMaximoUsados > 0 Then
+ HdnSaldoMaximoUsados.Value = SaldoMaximoUsados.ToString()
+ LtlSMU.Text = String.Format("{0:N2}", SaldoMaximoUsados)
+ Else
+ HdnSaldoMaximoUsados.Value = "0"
+ LtlSMU.Text = "0"
+ End If
+
Else
Dim ObjAcum As New ClsAcumuladores
If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) Then
@@ -23963,7 +24204,7 @@ Partial Class Ventas
HdnSaldoMaximoUsados.Value = RowUsadosNC("ValorConImpuestos").ToString()
LtlSMU.Text = RowUsadosNC("ValorConImpuestos").ToString().ToDecimal().FormatoNumero(2)
Else
- DivSMU.Visible = False
+ 'DivSMU.Visible = False
HdnSaldoMaximoUsados.Value = "0"
LtlSMU.Text = "0"
End If
@@ -23995,9 +24236,14 @@ Partial Class Ventas
GvDescNCBonificaciones.DataBind()
Dim SaldoMaximoUsados As Decimal = Me.TmpDT.SUM("Total", "EsCargo = True").ToDecimal() + Me.TmpDT.SUM("ImporteIVA", "EsCargo = True").ToDecimal()
+ If SaldoMaximoUsados > 0 Then
+ LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUsados)
+ HdnSaldoMaximoUsados.Value = SaldoMaximoUsados.ToString()
+ Else
+ HdnSaldoMaximoUsados.Value = "0"
+ LtlSMU.Text = "0"
+ End If
- LblSaldoMaximoUsados.Text = String.Format("{0:N2}", SaldoMaximoUsados)
- HdnSaldoMaximoUsados.Value = SaldoMaximoUsados.ToString()
UpDescNC.Update()
End Sub
@@ -27301,6 +27547,13 @@ Partial Class Ventas
BloqueaCondiconesPago()
+
+ DivDdlFacturaRela.Visible = True
+ BtnAgregarFacturasRelaciondas.Visible = True
+ DdlTipoRelacionARelacionar.Enabled = True
+
+ GvFacturasRelacionadas.Columns(2).Visible = True
+
UpnTools.Update()
UpCliente.Update()
UpParametros.Update()
@@ -27313,6 +27566,7 @@ Partial Class Ventas
UpEstatus.Update()
UpParametros.Update()
UpINV.Update()
+ UpFacturasRelacionadas.Update()
End Sub
#End Region
@@ -28702,11 +28956,11 @@ Partial Class Ventas
Alert("Se selecciono un contrato de obra, para continuar seleccione una estimación.", TipoMensaje.MsgAdvertencia)
End If
- ElseIf DdlTipoComprobante.SelectedValue = "Ant" Then
+ ElseIf DdlTipoComprobante.SelectedValue = "Ant" Or DdlTipoComprobante.SelectedValue = "Egs" Then
Respuesta = True
Else
Alert("Tipo de documento no valido para contratos de obra.", TipoMensaje.MsgAdvertencia)
- Respuesta = True
+ Respuesta = False
End If
Else