merge manual

This commit is contained in:
Antonio Gonzalez
2020-11-27 09:46:41 -07:00
31 changed files with 2348 additions and 834 deletions

View File

@@ -728,7 +728,7 @@ Public Class ClsAcumuladores
Public Function AddGarantiasDetalle(CveVentaDetalle As Integer, CvePS As Integer, CveFolioGarantia As Integer, CveTipoUso As Integer,
CodigoEnsamble As String, CodigoLinea As String, CodigoInspeccion As String,
CveTipoDefecto As Integer, NumPoliza As String, Importe As Double,
Consecutivo As String, FechaAjuste As DateTime) As Boolean
Consecutivo As String, FechaAjuste As DateTime, PorcentajeAjuste As Decimal) As Boolean
Dim Retorno As Boolean = False
SqlDataAdapter("PA_Acum_GarantiasDetalleAdd")
With SqlAdapter.SelectCommand.Parameters
@@ -744,6 +744,7 @@ Public Class ClsAcumuladores
.Add("@Importe", SqlDbType.Float).Value = Importe
.Add("@Consecutivo", SqlDbType.VarChar).Value = Consecutivo
.Add("@FechaAjuste", SqlDbType.DateTime).Value = FechaAjuste
.Add("@PorcentajeAjuste", SqlDbType.Float).Value = PorcentajeAjuste
End With
Try
SqlAdapter.Fill(Data)
@@ -926,7 +927,7 @@ Public Class ClsAcumuladores
Return Retorno
End Function
Public Function DistribuidorMovtosGet(CveCliente As Integer, CveEmpresa As Integer, Optional FechaI As Date = MinFecha, Optional FechaF As Date = MaxFecha, Optional CveVentaRNCCargo As Integer = -1) As Boolean
Public Function DistribuidorMovtosGet(CveCliente As Integer, CveEmpresa As Integer, Optional FechaI As Date = MinFecha, Optional FechaF As Date = MaxFecha, Optional CveVentaRNCCargo As Integer = -1, Optional CveConcepto As Integer = -1) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
@@ -938,6 +939,32 @@ Public Class ClsAcumuladores
.Add("@FechaI", SqlDbType.Date).Value = FechaI
.Add("@FechaF", SqlDbType.Date).Value = FechaF
.Add("@CveVentaRNCCargo", SqlDbType.Int).Value = CveVentaRNCCargo
.Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As SqlException
OnError("Ocurrió un error al consultar los movimientos. ", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetMovimientosDistribuidorResumen(CveCliente As Integer, CveEmpresa As Integer, Optional FechaI As Date = MinFecha, Optional FechaF As Date = MaxFecha) As Boolean
Dim Retorno As Boolean = False
'Data = New DataTable
SqlDataAdapter("PA_Acum_DistribuidorMovtosResumenGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@FechaI", SqlDbType.Date).Value = FechaI
.Add("@FechaF", SqlDbType.Date).Value = FechaF
End With
Try

View File

@@ -440,7 +440,7 @@ Public Class ClsCompras
Optional AF_Medida As Integer = -1, Optional AF_TipoMantenimiento As Integer = -1, Optional Referencia As String = "", Optional OtrosGastos As Decimal = 0,
Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0,
Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0, Optional IEPSPSIVAPorcentaje As Double = 0,
Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1) As Boolean
Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1) As Boolean
Dim Retorno As Boolean = False
@@ -484,6 +484,7 @@ Public Class ClsCompras
.Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
.Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle
.Add("@CveCultivoCuadroDetalle", SqlDbType.Int).Value = CveCultivoCuadroDetalle
End With
Try
@@ -535,6 +536,7 @@ Public Class ClsCompras
.Add("@IEPSPSPorcentaje", SqlDbType.Float).Value = IEPSPSPorcentaje
.Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
End With
Try

View File

@@ -146,6 +146,7 @@ Public Class ClsContratos
Public Property Ubicacion As String
Public Property Responsable As String
Public Property Lugar As String
Public Property LimiteDeGasto As Double
Public Property CveSubProyecto As Integer
Public Property SubProyectoContrato As String
Public Property CveProyecto As Integer
@@ -291,7 +292,8 @@ Public Class ClsContratos
Me.FechaVenc = Data.Rows(0)("FechaVenc").ToString.ToDate
Me.CveVendedor = Data.Rows(0)("CveVendedor").ToString.ToEntero
Me.ImporteTotal = Data.Rows(0)("ImporteTotal").ToString.ToDecimal
Me.Lugar = Data.Rows(0)("Lugar").ToString
Me.Lugar = Data.Rows(0)("Lugar").ToString
Me.LimiteDeGasto = Data.Rows(0)("LimiteDeGasto").ToString.ToDouble
Observaciones = Data.Rows(0)("Observaciones").ToString
CveDireccionEnvio = Data.Rows(0)("CveDireccionEnvio").ToString.ToEntero
@@ -543,7 +545,7 @@ Public Class ClsContratos
Geom As String, CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer,
Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1,
Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CvePeriodo As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1,
Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional Lugar As String = "") As Integer
Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional Lugar As String = "", Optional LimiteDeGasto As Double = 0) As Integer
Dim Retorno As Integer = -1
DataAdapter("PA_Con_ContratosObraAdd")
@@ -595,6 +597,7 @@ Public Class ClsContratos
.Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0)
.Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev
.Add("@Lugar", SqlDbType.VarChar).Value = Lugar
.Add("@LimiteDeGasto", SqlDbType.Money).Value = LimiteDeGasto
.Add("@CveContrato", SqlDbType.Int).Direction = ParameterDirection.Output
@@ -621,7 +624,7 @@ Public Class ClsContratos
CveContratoPadre As Integer, CveUsuario As Integer, CveEmpresa As Integer, EsPresupuestal As Boolean, Minimo As Double, Maximo As Double, Importe As Double, CveMoneda As Integer, ModalidadDetalle As Integer,
Optional CveContratosEstatus As Integer = -1, Optional CveContratoTipo As Integer = -1, Optional TipoCambio As Double = 1.0, Optional CveSucursalCliente As Integer = -1, Optional CveAlmacenOrigen As Integer = -1, Optional CveAlmacenDestino As Integer = -1, Optional PorcentajeComision As Integer = -1,
Optional TipoGarantia As Integer = -1, Optional Folio As Integer = -1, Optional FechaVenc As Date = Nothing, Optional EstatusFianza As Integer = -1, Optional CveContratoPlantilla As Integer = -1, Optional CveCuentaEquipo As Integer = -1,
Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional Lugar As String = "") As Boolean
Optional CveVendedor As Integer = -1, Optional Observaciones As String = "", Optional CveDireccionEnvio As Integer = -1, Optional AplicaImpuestosLocales As Boolean = False, Optional CorreoNotificacionPedDev As String = "", Optional Lugar As String = "", Optional LimiteDeGasto As Double = 0) As Boolean
Dim Retorno = False
DataAdapter("PA_Con_ContratosObraUpdate")
@@ -671,7 +674,8 @@ Public Class ClsContratos
.Add("@CveDireccionEnvio", SqlDbType.Int).Value = CveDireccionEnvio
.Add("@AplicaImpuestosLocales", SqlDbType.Bit).Value = If(AplicaImpuestosLocales, 1, 0)
.Add("@CorreoNotificacionPedDev", SqlDbType.VarChar).Value = CorreoNotificacionPedDev
.Add("@Lugar", SqlDbType.VarChar).Value = Lugar
.Add("@Lugar", SqlDbType.VarChar).Value = Lugar
.Add("@LimiteDeGasto", SqlDbType.Money).Value = LimiteDeGasto
End With
@@ -824,6 +828,74 @@ Public Class ClsContratos
#End Region
#Region "GASTOS OBRA"
Public Function GetContratosObragGastosVeiculos(CveContrato As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno = False
DataAdapter("PA_Con_ContratosObraGastosVeiculosGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al consultar los gastos de veiculos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetContratosObragGastosCompras(CveContrato As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno = False
DataAdapter("PA_Con_ContratosObraGastosComprasGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al consultar los gastos de compra.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
Public Function GetContratosObragGastosNomina(CveContrato As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno = False
DataAdapter("PA_Con_ContratosObraGastosNominaGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveContrato", SqlDbType.Int).Value = CveContrato
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al consultar los gastos de nomina.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region "C I C L O C O M E R C I A L"
Public Function CicloComercialAdd(CveContrato As Integer, CveCotizacion As Integer, CveCliente As Integer, FueFacturado As Boolean, CveFactura As Integer, Estatus As Integer, CveEmpresa As Integer, FechaVenc As Date) As Boolean
Dim Retorno As Boolean = False

View File

@@ -3356,6 +3356,38 @@ Public Class ClsGenerales
#End Region
#Region "CULTIVOS"
Public Function GetCultivosCuadro(CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Agro_CultivosCuadroGet")
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 los datos de cultivo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return Retorno
End Function
#End Region
#Region " IDisposable Support "
' Visual Basic agregó este código para implementar correctamente el modelo descartable.
Public Sub Dispose() Implements IDisposable.Dispose

View File

@@ -1252,7 +1252,7 @@ Public Class ClsOC
pObservacion As String, pCveUsuario As Integer, Optional pCveOrdenCompraPadre As Integer = -1, Optional CvePresupuestoEgreso As Integer = -1, Optional Descuento As Double = 0,
Optional IEPSPS As Double = 0, Optional IEPSPSIVA As Double = 0, Optional IVA As Double = 0, Optional RetIVA As Double = 0, Optional RetISR As Double = 0, Optional Total As Double = 0,
Optional CveContratoDetalle As Integer = -1, Optional IVAPorcentaje As Double = 0, Optional RetIVAPorcentaje As Double = 0, Optional RetISRPorcentaje As Double = 0, Optional IEPSPSPorcentaje As Double = 0,
Optional IEPSPSIVAPorcentaje As Double = 0, Optional CveVentaDetalleCotizacion As Integer = -1, Optional CveTipoGastoObra As Integer = -1) As Boolean
Optional IEPSPSIVAPorcentaje As Double = 0, Optional CveVentaDetalleCotizacion As Integer = -1, Optional CveTipoGastoObra As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OC_OrdenesCompraDetalleAdd")
@@ -1284,8 +1284,7 @@ Public Class ClsOC
.Add("@IEPSPSIVAPorcentaje", SqlDbType.Float).Value = IEPSPSIVAPorcentaje
.Add("@CveVentaDetalleCotizacion", SqlDbType.Int).Value = CveVentaDetalleCotizacion
.Add("@CveTipoGastoObra", SqlDbType.Int).Value = CveTipoGastoObra
.Add("@CveCultivoCuadroDetalle", SqlDbType.Int).Value = CveCultivoCuadroDetalle
End With

View File

@@ -3488,6 +3488,7 @@ Public Class ClsPaginas
End Set
End Property
Property GlobalDTAcumGarantiasMesesTipoUso(CveEmpresa As Integer, CveMarca As Integer) As DataTable
Get
Dim AppNombre As String = String.Format("GlobalDTAcumGarantiasMesesTipoUso-{0}", CveEmpresa)
@@ -3516,6 +3517,41 @@ Public Class ClsPaginas
End Property
Property GlobalDTCultivosCuadro(CveEmpresa As Integer) As DataTable
Get
Dim AppNombre As String = String.Format("GlobalDTCultivosCuadro-{0}", CveEmpresa)
If Application(AppNombre) Is Nothing Then
Dim ObjGenerales As New ClsGenerales()
If ObjGenerales.GetCultivosCuadro(CveEmpresa) Then Application(AppNombre) = ObjGenerales.DtResultados
ObjGenerales.Dispose()
End If
'If CveMarca <> -1 Then
' Dim Str As StringBuilder = New StringBuilder()
' If CveMarca <> -1 Then Str.AppendFormat("CveMarca = {0}", CveMarca)
' Dim Dv As New DataView(DirectCast(Application(AppNombre), DataTable), Str.ToString, "", DataViewRowState.CurrentRows)
' GlobalDTCultivosCuadro = Dv.ToTable
' Dv.Dispose()
'Else
'End If
GlobalDTCultivosCuadro = DirectCast(Application(AppNombre), DataTable)
End Get
Set(value As DataTable)
Dim AppNombre As String = String.Format("GlobalDTCultivosCuadro-{0}", CveEmpresa)
Application(AppNombre) = value
End Set
End Property
Property GlobalDTAcumTamaños() As DataTable
Get
GlobalDTAcumTamaños = DirectCast(Application("GlobalDTAcumTamaños"), DataTable)

View File

@@ -404,7 +404,7 @@ Public Class ClsProductosServicios
Optional CveFraccionArancelaria As Integer = -1, Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1,
Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False, Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False,
Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1) As Integer
Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1) As Integer
Dim Retorno As Integer = -1
DataAdapter("PA_ProductosServiciosAdd")
@@ -483,7 +483,9 @@ Public Class ClsProductosServicios
.Add("@AplicaLote", SqlDbType.Bit).Value = AplicaLote
.Add("@AplicaCaducidad", SqlDbType.Bit).Value = AplicaCaducidad
.Add("@AplicaSeccion", SqlDbType.Bit).Value = AplicaSeccion
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
.Add("@CvePSAdicionalVigencia", SqlDbType.Int).Value = CvePSAdicionalVigencia
End With
Try
@@ -630,7 +632,7 @@ Public Class ClsProductosServicios
Optional CveFraccionArancelaria As Integer = -1, Optional CveUsuarioModifico As Integer = -1,
Optional CveClasificacionDetalle As Integer = -1, Optional CveTamaño As Integer = -1, Optional CveModelo As Integer = -1, Optional CveMedida As Integer = -1, Optional CveRinTamaño As Integer = -1, Optional ClaveImpuestoEmpaque As String = "", Optional ClaveImpuestoUM As String = "",
Optional ClaveCategoriaToxicidad As String = "", Optional ClaveImpuestoTipoProducto As String = "", Optional Litraje As Double = -1, Optional EsOutSourcing As Boolean = False,
Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1) As Boolean
Optional AplicaSerie As Boolean = False, Optional AplicaLote As Boolean = False, Optional AplicaCaducidad As Boolean = False, Optional AplicaSeccion As Boolean = False, Optional TiempoCaducidad As Integer = -1, Optional CvePSAdicionalVigencia As Integer = -1) As Boolean
Dim Retorno As Boolean = False
@@ -711,7 +713,9 @@ Public Class ClsProductosServicios
.Add("@AplicaLote", SqlDbType.Bit).Value = AplicaLote
.Add("@AplicaCaducidad", SqlDbType.Bit).Value = AplicaCaducidad
.Add("@AplicaSeccion", SqlDbType.Bit).Value = AplicaSeccion
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
.Add("@TiempoCaducidad", SqlDbType.SmallInt).Value = TiempoCaducidad
.Add("@CvePSAdicionalVigencia", SqlDbType.Int).Value = CvePSAdicionalVigencia
End With
Try

View File

@@ -1468,7 +1468,7 @@ Namespace Modelos
For Each Dr As DataRow In DtAjustes.Rows
If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero,
Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero,
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime()) Then
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal()) Then
ErrorList.Add("Ocurrió un error al agregar la garantia detalle.")
End If
Next

View File

@@ -160,7 +160,7 @@ Partial Class Bancos_RepComplementoPago
e.Row.FCCheckBox("Chk").Visible = False
End If
e.Row.FCCheckBox("Chk").ToolTip = "Hay una inconsistencia entre lo pagado en las facturas y el importe expedido"
e.Row.FCCheckBox("Chk").ToolTip += ". Hay una inconsistencia entre lo pagado en las facturas y el importe expedido"
End If
End If

View File

@@ -2680,6 +2680,7 @@ Partial Class Compras_Compras
TmpDT.Columns.Add("CveContrato", GetType(Integer))
TmpDT.Columns.Add("DifPSSat", GetType(Integer))
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
GvPS.DataSource = TmpDT
@@ -4547,7 +4548,7 @@ Partial Class Compras_Compras
'End If
'METODO DE PREPOLIZA DE ALMACEN
If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80, 140, 141) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
If UsuarioActual.CveEmpresa.Contiene(1, 119, 72, 80, 140, 141, 153) And UsuarioActual.Empresa.UsaInventarios And Not UsuarioActual.Empresa.Funcionalidad(126) = "1" Then
Dim ImporteAlmacen = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 AND ISNULL(CveAlmacen,0) = 0 AND ISNULL(AplicaCostoIndirecto,0) <> 1 AND CveTipoPS = 2").ToString.ToDecimal
If ImporteAlmacen > 0 Then
If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then
@@ -5056,7 +5057,7 @@ Partial Class Compras_Compras
RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble,
IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble,
IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False),
CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero) Then
CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero) Then
ErrorDetalles = True
Exit For
@@ -11264,6 +11265,7 @@ Partial Class Compras_Compras
TmpDT.Columns.Add("DifPSSat", GetType(Integer))
TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer))
TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
TmpDTOriginal = New DataTable
TmpDTOriginal.Columns.Add("Consec", GetType(Integer))
@@ -11371,6 +11373,7 @@ Partial Class Compras_Compras
TmpDTOriginal.Columns.Add("Importe", GetType(Double))
TmpDTOriginal.Columns.Add("CveContratoDetalle", GetType(Double))
TmpDTOriginal.Columns.Add("CveCultivoCuadroDetalle", GetType(Double))
End Sub
@@ -15653,6 +15656,7 @@ Partial Class Compras_Compras
Dim CveTipoGasto As Integer = dr("CveTipoGastoObra").ToString.ToEntero
Dim TipoGasto As String = dr("TipoGasto").ToString
Dim CveContratoDetalle As Integer = dr("CveContratoDetalle").ToString.ToEntero
Dim CveCultivoCuadroDetalle As Integer = dr("CveCultivoCuadroDetalle").ToString.ToEntero
'[IPP] PROVISIONAL PARA TIPO GASTO
If GlobalDTTiposGastos(UsuarioActual.CveEmpresa) IsNot Nothing AndAlso GlobalDTTiposGastos(UsuarioActual.CveEmpresa).Rows.Count = 1 Then
@@ -15664,7 +15668,7 @@ Partial Class Compras_Compras
End If
AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoContrato, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVA, RetIVA, RetISR, IEPSPS, IEPSPSIVA, Descuento, CveOrdenCompraDetalle, False,
CantidadF:=CantidadF, EntregaDirecta:=EntregaDirecta, CveSATPS:=CveSATPS, CveTipoGasto:=CveTipoGasto, TipoGasto:=TipoGasto, CveContratoDetalle:=CveContratoDetalle)
CantidadF:=CantidadF, EntregaDirecta:=EntregaDirecta, CveSATPS:=CveSATPS, CveTipoGasto:=CveTipoGasto, TipoGasto:=TipoGasto, CveContratoDetalle:=CveContratoDetalle, CveCultivoCuadroDetalle:=CveCultivoCuadroDetalle)
'CARGA PE
Index = TmpDT.Rows.Count - 1
@@ -17903,7 +17907,7 @@ Partial Class Compras_Compras
Obs As String, PU As Double, Total As Double, IVA As Double, RetIVA As Double, RetISR As Double, IEPSPS As Double, IEPSPSIVA As Double, Descuento As Double, Optional CveOrdenCompraDetalle As Integer = -1, Optional TCalculaTotales As Boolean = True,
Optional PSCodigo As String = "-", Optional PSDescripcion As String = "-", Optional CantidadF As Double = -1, Optional EntregaDirecta As Integer = -1, Optional OtrosGastos As Double = 0,
Optional CveSATPS As Integer = -1, Optional CargaXml As Boolean = False, Optional CveTipoGasto As Integer = -1, Optional TipoGasto As String = "", Optional PorcentajeIVA As Double = 0,
Optional PorcentajeIEPS As Double = 0, Optional PorcentajeRetIVA As Double = 0, Optional PorcentajeRetISR As Double = 0, Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1) As Integer
Optional PorcentajeIEPS As Double = 0, Optional PorcentajeRetIVA As Double = 0, Optional PorcentajeRetISR As Double = 0, Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1) As Integer
Dim Row As DataRow = Nothing
@@ -18026,6 +18030,8 @@ Partial Class Compras_Compras
Row("CveContratoDetalle") = CveContratoDetalle
Row("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
If UsuarioActual.Empresa.UsaAC Then
Row("CveProgramaOperativo") = DdlACGeneral1.SelectedValue.ToEntero
Row("CveUnidadAdministrativa") = DdlACGeneral2.SelectedValue.ToEntero

View File

@@ -16,8 +16,7 @@ Partial Class Contratos_CatContratosTipos
Private Sub CargaDatos()
Dim Objeto As New ClsContratos
If Objeto.GetContratosTipos(UsuarioActual.CveEmpresa) Then
GvContratos.DataSource = Objeto.DtResultados
GlobalDTContratosTipos(UsuarioActual.CveEmpresa) = Objeto.DtResultados
GvContratos.DataSource = Objeto.DtResultados
End If
GvContratos.DataBind()
Objeto.Dispose()
@@ -40,9 +39,10 @@ Partial Class Contratos_CatContratosTipos
UpDatos.Update()
End If
Objeto.Dispose()
Alert("El Contrato se agregó correctamente.", TipoMensaje.MsgInformacion)
RecargaGlobal()
Alert("El Contrato se agregó correctamente.", TipoMensaje.MsgInformacion)
End Sub
@@ -72,6 +72,7 @@ Partial Class Contratos_CatContratosTipos
End If
GvContratos.EditIndex = -1
CargaDatos()
RecargaGlobal()
UpDatos.Update()
End Sub
@@ -92,10 +93,14 @@ Partial Class Contratos_CatContratosTipos
Objeto.Dispose()
GvContratos.EditIndex = -1
CargaDatos()
End Sub
RecargaGlobal()
End Sub
Private Sub RecargaGlobal()
GlobalDTContratosTipos(-1) = Nothing
End Sub
#End Region
End Class

View File

@@ -97,6 +97,11 @@
<asp:LinkButton ID="LnkModalAddPresupuestoControl" Visible="false" runat="server" OnClick="LnkModalAddPresupuestoControl_Click"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i>Agregar Presupuesto Interno</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkModalAddGastos" Visible="false" runat="server" OnClick="LnkModalAddGastos_Click"> <i class="fa fa-file-excel-o" style="font-weight:bold;"></i>Agregar Gasto</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
@@ -570,10 +575,20 @@
<asp:TextBox ID="txtMaximo" runat="server" MaxLength="12" Width="150px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender4" runat="server" TargetControlID="txtMaximo" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" />
</div>
</div>--%>
<div class="row" runat="server">
<label class="col-md-2 truncate ">% Limite de Gastos:</label>
<div class="col-md-10">
<asp:TextBox ID="TxtLimiteGastos" runat="server" MaxLength="5" Width="150px"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server" TargetControlID="TxtLimiteGastos" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" />
</div>
</div>
<div class="row" id="DvTotal" runat="server">
<label class="col-md-2 truncate ">Total:</label>
<div class="col-md-10">
<asp:TextBox ID="TxtTotal" runat="server" MaxLength="12" Width="150px"></asp:TextBox><ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender8" runat="server" TargetControlID="TxtTotal" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" />
<asp:TextBox ID="TxtTotal" runat="server" MaxLength="12" Width="150px"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender8" runat="server" TargetControlID="TxtTotal" FilterType="Custom, Numbers" ValidChars=",." BehaviorID="_content_SoloNumeros" />
</div>
</div>
@@ -1647,6 +1662,156 @@
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabGastos" HeaderText="Gastos" runat="server" Visible="false">
<ContentTemplate>
<asp:UpdatePanel runat="server" ID="UpGastos" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-12">
<table>
<tr>
<td>Contrato:</td><td><asp:Label runat="server" ID="LblGastoContrato" Font-Size="18px" Font-Bold="True" ></asp:Label></td>
<td>Gastos:</td><td><asp:Label runat="server" ID="LblGastoGastos" Font-Size="18px" Font-Bold="True" ></asp:Label></td>
<td>Nomina:</td><td><asp:Label runat="server" ID="LblGastoNomina" Font-Size="18px" Font-Bold="True" ></asp:Label></td>
<td>Indirectos:</td><td><asp:Label runat="server" ID="LblGastoIndirectos" Font-Size="18px" Font-Bold="True" ></asp:Label></td>
<td>%Gasto:</td><td><asp:Label runat="server" ID="LblGastoPorcentaje" Font-Size="18px" Font-Bold="True" ></asp:Label></td>
</tr>
</table>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="portlet smmallpadding light bordered">
<div class="portlet-title">
<div class="tools">
<a href="javascript;" data-idchekbox="C_chkexpand" class=" collapse" data-original-title="" title=""></a><span class="hidden">
<input type="checkbox" checked="checked"></span>
</div>
<div class="caption uppercase" style="position: relative;"><i class="fa fa-list"></i>vehículos</div>
</div>
<div class="portlet-body rowpadding">
<asp:GridView ID="GvGastosVeiculos" ClientIDMode="Static" ShowHeader="true" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron gastos de veiculos"
DataKeyNames="CveContratoGasto,ORDEN"
CssClass="table table-striped table-hover Widthall" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Descripcion" DataField="Observaciones" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="Fecha" DataField="Fecha" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField HeaderText="Importe" DataField="Importe" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField HeaderText="Usuario" DataField="Nombre" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-Width="25%" HeaderText="Acciones" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:LinkButton ID="LnkEliminarGasto" runat="server" OnClick="LnkEliminarGasto_Click" AlternateText="Eliminar" CausesValidation="False" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="¿Desea eliminar el gasto?" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
<div class="col-md-6">
<div class="portlet smmallpadding light bordered">
<div class="portlet-title">
<div class="tools">
<a href="javascript;" data-idchekbox="C_chkexpand" class=" collapse" data-original-title="" title=""></a><span class="hidden">
<input type="checkbox" checked="checked"></span>
</div>
<div class="caption uppercase" style="position: relative;"><i class="fa fa-list"></i>Compras</div>
</div>
<div class="portlet-body rowpadding">
<asp:GridView ID="GvGastosCompras" ClientIDMode="Static" ShowHeader="true" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron gastos de compras."
DataKeyNames="CveContrato,ORDEN,CveCompra,Clasificacion,CveClasificacion"
CssClass="table table-striped table-hover Widthall" GridLines="None">
<Columns>
<asp:HyperLinkField HeaderText="Serie-Folio" DataTextField="SerieFolio" Target="_blank" ItemStyle-Width="30%" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CveCompra" DataNavigateUrlFormatString="/Compras/Compras.aspx?CveCompra={0}" />
<asp:BoundField HeaderText="Fecha" DataField="Fecha" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center" DataFormatString="{0:d}" />
<asp:BoundField HeaderText="Importe" DataField="Importe" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
<asp:BoundField HeaderText="Producto" DataField="PS" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="Descripción" DataField="Observaciones" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Left" />
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="portlet smmallpadding light bordered">
<div class="portlet-title">
<div class="tools">
<a href="javascript;" data-idchekbox="C_chkexpand" class=" collapse" data-original-title="" title=""></a><span class="hidden">
<input type="checkbox" checked="checked"></span>
</div>
<div class="caption uppercase" style="position: relative;"><i class="fa fa-list"></i>Nomina</div>
</div>
<div class="portlet-body rowpadding">
<asp:GridView ID="GvGastosNomina" ClientIDMode="Static" ShowHeader="true" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron datos de nomina."
DataKeyNames="CveContrato,CvePersonal,NombreCompleto"
CssClass="table table-striped table-hover Widthall" GridLines="None">
<Columns>
<asp:HyperLinkField HeaderText="Nombre" DataTextField="NombreCompleto" Target="_blank" ItemStyle-CssClass="Texto Izquierda" DataNavigateUrlFields="CvePersonal" DataNavigateUrlFormatString="/RH/Personal.aspx?CvePersonal={0}" />
<asp:BoundField HeaderText="Puesto" DataField="Puesto" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="Importe" DataField="Importe" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Right" DataFormatString="{0:N2}" />
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabAvanveDocumento" runat="server" HeaderText="Avance Por Documento">
<ContentTemplate>
@@ -2039,7 +2204,11 @@
</ContentTemplate>
</ajax:TabPanel>
<ajax:TabPanel ID="TabAddendum" HeaderText="Addendum" runat="server" Visible="false">
<%-- <ajax:TabPanel ID="TabAddendum" HeaderText="Addendum" runat="server" Visible="false">
<ContentTemplate>
<asp:GridView runat="server" ID="GvAddendum" GridLines="None" ShowHeader="true" AutoGenerateColumns="false" DataKeyNames="CveContrato" CssClass="table table-striped table-hover Widthall">
<Columns>
@@ -2050,7 +2219,7 @@
</Columns>
</asp:GridView>
</ContentTemplate>
</ajax:TabPanel>
</ajax:TabPanel>--%>
<ajax:TabPanel ID="TabSistema" runat="server" HeaderText="Sistema">
<ContentTemplate>
@@ -2761,14 +2930,11 @@
<%--Modal Carga Presupuesto--%>
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpModalCargaPresupuesto">
<asp:UpdatePanel runat="server" UpdateMode="Conditional" ID="UpModalCargaPresupuesto">
<ContentTemplate>
<div id="ModalUploadPresupuesto" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header ">
@@ -2808,6 +2974,49 @@
<%--MODAL CONTROL PRESUPUESTOS AGREGAR--%>
<div id="ModalControlAddGastoVeiculo" class="modal ADS fade" role="dialog">
<div class="modal-dialog" style="width: 450px;">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalGastoVeiculos" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="Literal6" runat="server">Agregar gasto de veiculo</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtGastosDescripcion" runat="server" Width="100%" CssClass="form-control" MaxLength="150"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtGastosDescripcion" runat="server" ControlToValidate="TxtGastosDescripcion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalGastos"></asp:RequiredFieldValidator>
<label for="<%= TxtGastosDescripcion.ClientID.ToString()%>">Descripción: </label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtGastosImporte" runat="server" CssClass="form-control" ></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilTxtGastosImporte" runat="server" TargetControlID="TxtGastosImporte" FilterType="Custom, Numbers" ValidChars="." />
<asp:RequiredFieldValidator ID="RFVTxtGastosImporte" runat="server" ControlToValidate="TxtGastosImporte" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Importe''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalGastos"> </asp:RequiredFieldValidator>
<label for="<%= TxtGastosImporte.ClientID.ToString()%>">Importe:</label>
</div>
</div>
<div class="modal-footer">
<asp:Button Text="Guardar" runat="server" ID="BtnModalAgreagrGasto" Width="100px" OnClick="BtnModalAgreagrGasto_Click" ValidationGroup="GrpModalGastos" class="btn btn-success" />
<button id="Button7" runat="server" type="button" class="btn default" data-dismiss="modal">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<iframe id="my_iframe" style="display: none;"></iframe>

View File

@@ -409,6 +409,14 @@ Partial Class Contratos_ContratoObra
TabEstadoCuenta.Visible = True
If TxtLimiteGastos.Text.ToDecimal > 0 Then
TabGastos.Visible = True
LnkModalAddGastos.Visible = True
CargaGastos()
End If
Else
'Configuración de Modalidad Insert
LblFechaCaptura.Text = Now.ToShortDateString()
@@ -745,8 +753,10 @@ Partial Class Contratos_ContratoObra
TxtPorIVA.Text = ObjContratos.PorIVA.ToString
TxtLimiteGastos.Text = ObjContratos.LimiteDeGasto.ToString
TxtTotal.Text = ObjContratos.Importe.FormatoNumero
DdlEstatus.SelectedValueExist(ObjContratos.CveContratosEstatus.ToString)
CargarFianzas()
@@ -819,14 +829,14 @@ Partial Class Contratos_ContratoObra
ObjContratos.Dispose()
End Sub
Private Sub CargaContratoAddendum()
Dim ObjContratos As New ClsContratos
If ObjContratos.GetContratosAddendum(CveContrato) Then
If ObjContratos.DtResultados.Rows.Count > 0 Then
TabAddendum.Visible = True
GvAddendum.DataSource = ObjContratos.DtResultados
GvAddendum.DataBind()
End If
End If
'Dim ObjContratos As New ClsContratos
'If ObjContratos.GetContratosAddendum(CveContrato) Then
' If ObjContratos.DtResultados.Rows.Count > 0 Then
' TabAddendum.Visible = True
' GvAddendum.DataSource = ObjContratos.DtResultados
' GvAddendum.DataBind()
' End If
'End If
End Sub
Private Sub CargaPresupuesto()
Dim ObjContratos As New ClsContratos
@@ -856,7 +866,7 @@ Partial Class Contratos_ContratoObra
LbTotalGeneral.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero()
LbTotalGeneralInsumos.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero()
LbTotalGeneralInt.Text = TmpDT.FiltraParametros("CveTipoPresupuesto=1").SUM("Total").FormatoNumero()
LblImporte.Text = "$" & TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero()
'LblImporte.Text = "$" & TmpDT.FiltraParametros("CveTipoPresupuesto=2").SUM("Total").FormatoNumero()
End If
End Sub
@@ -932,7 +942,7 @@ Partial Class Contratos_ContratoObra
TxtTipoCambio.Text.ToDouble, CveSucursalCliente:=DdlSucursalCliente.SelectedValue.ToEntero, CveAlmacenOrigen:=-1, CveAlmacenDestino:=-1,
PorcentajeComision:=0, TipoGarantia:=-1, Folio:=0, FechaVenc:=Nothing, EstatusFianza:=1,
CvePeriodo:=-1, CveCuentaEquipo:=-1, CveContratoPlantilla:=-1, CveVendedor:=-1,
Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=-1, AplicaImpuestosLocales:=False, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), Lugar:=TxtLugar.Text.Trim)
Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=-1, AplicaImpuestosLocales:=False, CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), Lugar:=TxtLugar.Text.Trim, LimiteDeGasto:=TxtLimiteGastos.Text.ToDouble)
TieneError = Not GuardaFianzas(ObjContratos)
@@ -995,7 +1005,7 @@ Partial Class Contratos_ContratoObra
CveAlmacenOrigen:=-1, CveAlmacenDestino:=-1, PorcentajeComision:=0,
TipoGarantia:=-1, Folio:=-1, FechaVenc:=Nothing, EstatusFianza:=-1, CveContratoPlantilla:=-1,
CveCuentaEquipo:=-1, CveVendedor:=-1, Observaciones:=TxtObservaciones.Text, CveDireccionEnvio:=-1, AplicaImpuestosLocales:=False,
CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), Lugar:=TxtLugar.Text.Trim) Then
CorreoNotificacionPedDev:=TxtCorreoNotificacion.Text.Trim(), Lugar:=TxtLugar.Text.Trim, LimiteDeGasto:=TxtLimiteGastos.Text.ToDouble) Then
TieneError = Not GuardaFianzas(ObjContratos)
@@ -3055,173 +3065,173 @@ Partial Class Contratos_ContratoObra
Return dataTable
End Function
Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String)
Dim dt As New DataTable
dt = ReadExcelFile(Ruta + FileName, True)
Dim ErrorArchivo = False
'Private Sub CargarArchivo(Ruta As String, FileName As String, Tipo As String)
' Dim dt As New DataTable
' dt = ReadExcelFile(Ruta + FileName, True)
' Dim ErrorArchivo = False
'Dim Conexion As Odbc.OdbcConnection = Nothing
'Try
' Select Case Tipo
' Case "EXCEL"
' Conexion = New Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + Ruta + FileName + ";")
' Conexion.Open()
' Dim cmd = Conexion.CreateCommand()
' cmd.CommandType = CommandType.Text
' cmd.CommandText = "SELECT * FROM [Hoja1$]"
' Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd)
' DataAdapter.Fill(dt)
' Case Else
' Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError)
' Exit Sub
' End Select
'Catch ex As Exception
' ErrorArchivo = True
' OnError("Ocurrio un error al leer el archivo <br/>" & ex.Message, ex)
'End Try
'Conexion.Close()
If Not ErrorArchivo AndAlso dt IsNot Nothing Then
If Not dt.Columns(0).ColumnName = "OC Interna" Then
Alert("El nombre de la primera columna debe ser 'OC Interna'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(1).ColumnName = "Cantidad" Then
Alert("El nombre de la primera columna debe ser 'Cantidad'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(2).ColumnName = "Clave Interna Cliente" Then
Alert("El nombre de la segunda columna debe ser 'Clave Interna'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(3).ColumnName = "Código" Then
Alert("El nombre de la tercera columna debe ser 'Código'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(4).ColumnName = "Código Barras" Then
Alert("El nombre de la cuarta columna debe ser 'Código Barras'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(5).ColumnName = "Producto/Servicio" Then
Alert("El nombre de la quinta columna debe ser 'Producto/Servicio'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(6).ColumnName = "UM" Then
Alert("El nombre de la sexta columna debe ser 'U.M'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
If Not dt.Columns(7).ColumnName = "Precio Unitario" Then
Alert("El nombre de la septima columna debe ser 'Precio Unitario'. Favor de corregirlo", TipoMensaje.MsgError)
Exit Sub
End If
' 'Dim Conexion As Odbc.OdbcConnection = Nothing
' 'Try
' ' Select Case Tipo
' ' Case "EXCEL"
' ' Conexion = New Odbc.OdbcConnection("Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" + Ruta + FileName + ";")
' ' Conexion.Open()
' ' Dim cmd = Conexion.CreateCommand()
' ' cmd.CommandType = CommandType.Text
' ' cmd.CommandText = "SELECT * FROM [Hoja1$]"
' ' Dim DataAdapter = New Odbc.OdbcDataAdapter(cmd)
' ' DataAdapter.Fill(dt)
' ' Case Else
' ' Alert("El archivo no tiene el formato correcto", TipoMensaje.MsgError)
' ' Exit Sub
' ' End Select
' 'Catch ex As Exception
' ' ErrorArchivo = True
' ' OnError("Ocurrio un error al leer el archivo <br/>" & ex.Message, ex)
' 'End Try
' 'Conexion.Close()
' If Not ErrorArchivo AndAlso dt IsNot Nothing Then
' If Not dt.Columns(0).ColumnName = "OC Interna" Then
' Alert("El nombre de la primera columna debe ser 'OC Interna'. Favor de corregirlo", TipoMensaje.MsgError)
' Exit Sub
' End If
' If Not dt.Columns(1).ColumnName = "Cantidad" Then
' Alert("El nombre de la primera columna debe ser 'Cantidad'. Favor de corregirlo", TipoMensaje.MsgError)
' Exit Sub
' End If
' If Not dt.Columns(2).ColumnName = "Clave Interna Cliente" Then
' Alert("El nombre de la segunda columna debe ser 'Clave Interna'. Favor de corregirlo", TipoMensaje.MsgError)
' Exit Sub
' End If
' If Not dt.Columns(3).ColumnName = "Código" Then
' Alert("El nombre de la tercera columna debe ser 'Código'. Favor de corregirlo", TipoMensaje.MsgError)
' Exit Sub
' End If
' If Not dt.Columns(4).ColumnName = "Código Barras" Then
' Alert("El nombre de la cuarta columna debe ser 'Código Barras'. Favor de corregirlo", TipoMensaje.MsgError)
' Exit Sub
' End If
' If Not dt.Columns(5).ColumnName = "Producto/Servicio" Then
' Alert("El nombre de la quinta columna debe ser 'Producto/Servicio'. Favor de corregirlo", TipoMensaje.MsgError)
' Exit Sub
' End If
' If Not dt.Columns(6).ColumnName = "UM" Then
' Alert("El nombre de la sexta columna debe ser 'U.M'. Favor de corregirlo", TipoMensaje.MsgError)
' Exit Sub
' End If
' If Not dt.Columns(7).ColumnName = "Precio Unitario" Then
' Alert("El nombre de la septima columna debe ser 'Precio Unitario'. Favor de corregirlo", TipoMensaje.MsgError)
' Exit Sub
' End If
dt.TableName = "Datos"
' dt.TableName = "Datos"
If Not ErrorArchivo Then
NumRow = 1
Dim RowNoEncontrados As String = String.Empty
Dim NumAgregados As Integer = 0
For Each Row As DataRow In dt.Rows
Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero
Dim Codigo As String = Row("Código").ToString.Trim.ToUpper
Dim CodigoBarras As String = Row("Código Barras").ToString.Trim.ToUpper
Dim UM As String = Row("UM").ToString
Dim ClaveInterna As String = Row("Clave Interna Cliente").ToString.Trim.ToUpper
Dim OCInterna As String = Row("OC Interna").ToString.Trim.ToUpper
Dim ProductoServicio As String = Row("Producto/Servicio").ToString.Trim.ToUpper
Dim PrecioUnitario As Double = Row("Precio Unitario").ToString.ToDouble
Dim CvePS As Integer = 0
Dim CveUM As Integer = 0 ' GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"CvePS = '{CvePS}'").ToString.ToEntero
Dim CodigoPS As Integer = 0
Dim Total As Double = (Cantidad * PrecioUnitario)
' If Not ErrorArchivo Then
' NumRow = 1
' Dim RowNoEncontrados As String = String.Empty
' Dim NumAgregados As Integer = 0
' For Each Row As DataRow In dt.Rows
' Dim Cantidad As Integer = Row("Cantidad").ToString.ToEntero
' Dim Codigo As String = Row("Código").ToString.Trim.ToUpper
' Dim CodigoBarras As String = Row("Código Barras").ToString.Trim.ToUpper
' Dim UM As String = Row("UM").ToString
' Dim ClaveInterna As String = Row("Clave Interna Cliente").ToString.Trim.ToUpper
' Dim OCInterna As String = Row("OC Interna").ToString.Trim.ToUpper
' Dim ProductoServicio As String = Row("Producto/Servicio").ToString.Trim.ToUpper
' Dim PrecioUnitario As Double = Row("Precio Unitario").ToString.ToDouble
' Dim CvePS As Integer = 0
' Dim CveUM As Integer = 0 ' GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveUnidadMedida", $"CvePS = '{CvePS}'").ToString.ToEntero
' Dim CodigoPS As Integer = 0
' Dim Total As Double = (Cantidad * PrecioUnitario)
NumRow = NumRow + 1
' NumRow = NumRow + 1
If Codigo.Length > 0 Then
Dim StrArray() As String = GetPS("Codigo", Codigo).Split("|"c)
If StrArray.Length > 0 Then
If CBool(StrArray(0)) = True Then
CvePS = StrArray(1).ToEntero
Else
RowNoEncontrados &= StrArray(1) & "<\BR>"
End If
End If
ElseIf CodigoBarras.Length > 0 Then
Dim StrArray() As String = GetPS("CodigoBarras", CodigoBarras).Split("|"c)
If StrArray.Length > 0 Then
If CBool(StrArray(0)) = True Then
CvePS = StrArray(1).ToEntero
Else
RowNoEncontrados &= StrArray(1) & "<\BR>"
End If
End If
ElseIf ProductoServicio.Length > 0 Then
Dim StrArray() As String = GetPS("PS", ProductoServicio).Split("|"c)
If StrArray.Length > 0 Then
If CBool(StrArray(0)) = True Then
CvePS = StrArray(1).ToEntero
Else
RowNoEncontrados &= StrArray(1) & "<\BR>"
End If
End If
Else
RowNoEncontrados &= "<\BR>&nbsp;&nbsp;&nbsp;&nbsp;- En la fila " & NumRow & " no se especificó código, código de barras ó descripción."
End If
CveUM = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveUnidadMedida", "").ToString.ToEntero
' If Codigo.Length > 0 Then
' Dim StrArray() As String = GetPS("Codigo", Codigo).Split("|"c)
' If StrArray.Length > 0 Then
' If CBool(StrArray(0)) = True Then
' CvePS = StrArray(1).ToEntero
' Else
' RowNoEncontrados &= StrArray(1) & "<\BR>"
' End If
' End If
' ElseIf CodigoBarras.Length > 0 Then
' Dim StrArray() As String = GetPS("CodigoBarras", CodigoBarras).Split("|"c)
' If StrArray.Length > 0 Then
' If CBool(StrArray(0)) = True Then
' CvePS = StrArray(1).ToEntero
' Else
' RowNoEncontrados &= StrArray(1) & "<\BR>"
' End If
' End If
' ElseIf ProductoServicio.Length > 0 Then
' Dim StrArray() As String = GetPS("PS", ProductoServicio).Split("|"c)
' If StrArray.Length > 0 Then
' If CBool(StrArray(0)) = True Then
' CvePS = StrArray(1).ToEntero
' Else
' RowNoEncontrados &= StrArray(1) & "<\BR>"
' End If
' End If
' Else
' RowNoEncontrados &= "<\BR>&nbsp;&nbsp;&nbsp;&nbsp;- En la fila " & NumRow & " no se especificó código, código de barras ó descripción."
' End If
' CveUM = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveUnidadMedida", "").ToString.ToEntero
If TmpDT IsNot Nothing AndAlso CvePS > 0 Then
Dim dr As DataRow = TmpDT.NewRow
dr("Cantidad") = Cantidad
dr("CantidadContratada") = Cantidad
dr("CveUM") = CveUM
dr("UM") = UM
dr("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveClasificacion", "").ToString.ToEntero
dr("Clasificacion") = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = '{dr("CveClasificacion")}'").ToString
dr("CvePS") = CvePS
dr("PS") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=dr("CvePS").ToString.ToEntero).FiltroPrimeroValor("PS", "").ToString
dr("CodigoPS") = dr("PS")
dr("PU") = PrecioUnitario
dr("Total") = Cantidad * PrecioUnitario
dr("CveTipoPresupuesto") = 2
dr("NoIdentificacion") = ClaveInterna
dr("OCInterna") = OCInterna
dr("LimitarCantidad") = 0
' If TmpDT IsNot Nothing AndAlso CvePS > 0 Then
' Dim dr As DataRow = TmpDT.NewRow
' dr("Cantidad") = Cantidad
' dr("CantidadContratada") = Cantidad
' dr("CveUM") = CveUM
' dr("UM") = UM
' dr("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveClasificacion", "").ToString.ToEntero
' dr("Clasificacion") = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $"CveClasificacion = '{dr("CveClasificacion")}'").ToString
' dr("CvePS") = CvePS
' dr("PS") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=dr("CvePS").ToString.ToEntero).FiltroPrimeroValor("PS", "").ToString
' dr("CodigoPS") = dr("PS")
' dr("PU") = PrecioUnitario
' dr("Total") = Cantidad * PrecioUnitario
' dr("CveTipoPresupuesto") = 2
' dr("NoIdentificacion") = ClaveInterna
' dr("OCInterna") = OCInterna
' dr("LimitarCantidad") = 0
If CvePS > 0 Then
Dim ObjContratos As New ClsContratos
If ObjContratos.AddContratosDetalle(CveContrato, dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDouble, dr("PU").ToString.ToDouble, UsuarioActual.CveUsuario, dr("CveTipoPresupuesto").ToString.ToEntero, dr("NoIdentificacion").ToString, dr("LimitarCantidad").ToString.ToEntero = 1, dr("OCInterna").ToString) Then
Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", dr("Cantidad"), dr("UM"), dr("PS"), dr("PU"))
guardarBitacora(msj)
dr("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
TmpDT.Rows.Add(dr)
Dim TotalRow = dr("Total").ToString.ToDouble
' If CvePS > 0 Then
' Dim ObjContratos As New ClsContratos
' If ObjContratos.AddContratosDetalle(CveContrato, dr("CvePS").ToString.ToEntero, dr("Cantidad").ToString.ToDouble, dr("PU").ToString.ToDouble, UsuarioActual.CveUsuario, dr("CveTipoPresupuesto").ToString.ToEntero, dr("NoIdentificacion").ToString, dr("LimitarCantidad").ToString.ToEntero = 1, dr("OCInterna").ToString) Then
' Dim msj As String = String.Format("Se agregaron {0} {1} del producto {2} con un precio ${3}.", dr("Cantidad"), dr("UM"), dr("PS"), dr("PU"))
' guardarBitacora(msj)
' dr("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
' TmpDT.Rows.Add(dr)
' Dim TotalRow = dr("Total").ToString.ToDouble
CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
LblImporte.Text = LbTotalGeneral.Text
Else
Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError)
End If
ObjContratos.Dispose()
End If
' CargaGVPresupuestos(TmpDT.FiltraParametros("CveTipoPresupuesto=2"))
' LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
' LblImporte.Text = LbTotalGeneral.Text
' Else
' Alert("Ocurrio un error al agregar el detalle", TipoMensaje.MsgError)
' End If
' ObjContratos.Dispose()
' End If
End If
Next
'Cargo el GridView
Gv.DataSource = TmpDT
Gv.DataBind()
UpGV.Update()
' End If
' Next
' 'Cargo el GridView
' Gv.DataSource = TmpDT
' Gv.DataBind()
' UpGV.Update()
If RowNoEncontrados.Length > 0 Then
Alert("Los siguientes Productos o Servicios no se encontraron en la Base de Datos.<\BR>" & RowNoEncontrados, TipoMensaje.MsgAdvertencia)
Else
Alert("Se Cargaron " & NumRow & " Productos o Servicios correctamente.")
End If
End If
End If
End Sub
' If RowNoEncontrados.Length > 0 Then
' Alert("Los siguientes Productos o Servicios no se encontraron en la Base de Datos.<\BR>" & RowNoEncontrados, TipoMensaje.MsgAdvertencia)
' Else
' Alert("Se Cargaron " & NumRow & " Productos o Servicios correctamente.")
' End If
' End If
' End If
'End Sub
Private Function GetPS(Opt As String, Valor As String) As String
Dim StrReturn As String = String.Empty
@@ -3240,8 +3250,8 @@ Partial Class Contratos_ContratoObra
If TxtExcel.getfiles().Archivos.Count > 0 Then
Dim file As Archivo = TxtExcel.getfiles().Archivos(0)
Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.patch
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
CargarArchivo(Directorio, file.filename, Tipo)
Dim Tipo As String = If(file.Extencion.Contiene("xlsx", "xlsx", "xlsm", "xlsb"), "EXCEL", "CSV")
' CargarArchivo(Directorio, file.filename, Tipo)
Else
Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError)
End If
@@ -4398,7 +4408,7 @@ Partial Class Contratos_ContratoObra
DTCargaPresupuesto = CargaPreSupuestoExcel()
If DTCargaPresupuesto.Rows.Count > 0 Then
ProcesaDatosCargaPresupuesto(DTCargaPresupuesto)
' ProcesaDatosCargaPresupuesto(DTCargaPresupuesto)
Else
Alert("No se encintraron partidas en el documento", TipoMensaje.MsgAdvertencia)
End If
@@ -4452,179 +4462,179 @@ Partial Class Contratos_ContratoObra
End Function
Private Sub ProcesaDatosCargaPresupuesto(DTPresupuesto As DataTable)
'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 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 = ""
' Dim RowNoEncontrados As String = ""
For Each DrowPS As DataRow In DTPresupuesto.Rows
' For Each DrowPS As DataRow In DTPresupuesto.Rows
Dim StrArray() As String = GetPS("PS", DrowPS("PS").ToString).Split("|"c)
Dim CvePS As Integer
Dim CveUM As Integer
' Dim StrArray() As String = GetPS("PS", DrowPS("PS").ToString).Split("|"c)
' Dim CvePS As Integer
' Dim CveUM As Integer
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 StrArray.Length > 0 Then
' If CBool(StrArray(0)) = True Then
' CvePS = StrArray(1).ToEntero
' Else
' RowNoEncontrados &= StrArray(1) & "<\BR>"
' End If
' End If
If CvePS > 0 And DrowPS("Cantidad").ToString.ToDouble > 0 Then
' If CvePS > 0 And DrowPS("Cantidad").ToString.ToDouble > 0 Then
CveUM = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimeroValor("CveUnidadMedida", "").ToString.ToEntero
' 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
' 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
' 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") = ""
' Row("NoIdentificacion") = ""
' Row("OCInterna") = ""
' Row("LimitarCantidad") = 0
' Row("Observacion") = ""
DTPS.Rows.Add(Row)
' DTPS.Rows.Add(Row)
End If
Next
' End If
' Next
Dim ErrorProceso = False
Dim ObjContratos As New ClsContratos
Dim TotalRow As Double = 0
ObjContratos.IniciaTransacSQL()
' Dim ErrorProceso = False
' Dim ObjContratos As New ClsContratos
' Dim TotalRow As Double = 0
' ObjContratos.IniciaTransacSQL()
For Each Row As DataRow In DTPS.Rows
' 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
' 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
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 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
Dim NrowTmpDT As DataRow = TmpDT.NewRow
' 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("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("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
' NrowTmpDT("CveContratoDetalle") = ObjContratos.DtResultados.Rows(0)("CveContratoDetalle")
TmpDT.Rows.Add(NrowTmpDT)
TmpDT.AcceptChanges()
' TmpDT.Rows.Add(NrowTmpDT)
' TmpDT.AcceptChanges()
TotalRow = TotalRow + NrowTmpDT("Total").ToString.ToDouble
Else
ErrorProceso = True
Exit For
End If
Next
' 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
' If ErrorProceso Then
' ObjContratos.RollBack()
' Alert("Se presento un error al cargar el presupuesto.", TipoMensaje.MsgError)
' Else
ObjContratos.Commit()
Alert("Presupuesto Cargado correctamente")
' 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
' 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
' End Select
LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
LblImporte.Text = LbTotalGeneral.Text
UpGral.Update()
' LbTotalGeneral.Text = (LbTotalGeneral.Text.ToDouble + TotalRow).ToString.FormatoNumero
' LblImporte.Text = LbTotalGeneral.Text
' UpGral.Update()
End If
' End If
ObjContratos.Dispose()
' ObjContratos.Dispose()
If RowNoEncontrados.Length > 0 Then
Alert($"Productos no encontrados <br> {RowNoEncontrados} ")
End If
' If RowNoEncontrados.Length > 0 Then
' Alert($"Productos no encontrados <br> {RowNoEncontrados} ")
' End If
End Sub
'End Sub
@@ -4689,6 +4699,165 @@ Partial Class Contratos_ContratoObra
End Sub
Private Sub CargaGastos()
Dim GastosCompras As Double = 0
Dim GastosVeiculos As Double = 0
Dim GatosNominas As Double = 0
Dim GastosProcentaje As Double = 0
Dim ObjContratos As New ClsContratos
If ObjContratos.GetContratosObragGastosVeiculos(CveContrato, UsuarioActual.CveEmpresa) Then
GvGastosVeiculos.DataSource = ObjContratos.DtResultados
GastosVeiculos = ObjContratos.DtResultados.SUM("Importe")
Else
GvGastosVeiculos.DataSource = Nothing
End If
If ObjContratos.GetContratosObragGastosCompras(CveContrato, UsuarioActual.CveEmpresa) Then
GvGastosCompras.DataSource = ObjContratos.DtResultados
GastosCompras = ObjContratos.DtResultados.SUM("Importe", "CveContrato > 0")
Else
GvGastosCompras.DataSource = Nothing
End If
If ObjContratos.GetContratosObragGastosNomina(CveContrato, UsuarioActual.CveEmpresa) Then
GvGastosNomina.DataSource = ObjContratos.DtResultados
GatosNominas = ObjContratos.DtResultados.SUM("Importe", "CveContrato > 0")
Else
GvGastosNomina.DataSource = Nothing
End If
ObjContratos.Dispose()
GvGastosVeiculos.DataBind()
GvGastosCompras.DataBind()
GvGastosNomina.DataBind()
LblGastoContrato.Text = LblImporte.Text
LblGastoNomina.Text = "$ " & GatosNominas.ToString("###,###,###.00")
LblGastoGastos.Text = "$ " & GastosCompras.ToString("###,###,###.00")
LblGastoIndirectos.Text = "$ " & GastosVeiculos.ToString("###,###,###.00")
UpGastos.Update()
GastosProcentaje = (GastosVeiculos + GatosNominas + GastosCompras) * 100 / (LblGastoContrato.Text.ToDecimal)
LblGastoPorcentaje.Text = GastosProcentaje.ToString("###.00") & " %"
End Sub
Private Sub GvGastosVeiculos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvGastosVeiculos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DataKey("ORDEN").ToEntero = 1 Then
e.Row.CssClass = "Totales"
e.Row.Cells(1).Text = "Total"
Dim LnkEliminarGasto As LinkButton = e.Row.FCLinkButton("LnkEliminarGasto")
LnkEliminarGasto.Visible = False
End If
End If
End Sub
Private Sub GvGastosCompras_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvGastosCompras.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DataKey("CveContrato").ToEntero > 0 Then
e.Row.CssClass = "Totales"
e.Row.Cells(1).Text = "Total"
ElseIf e.Row.DataKey("CveContrato").ToEntero = 0 And e.Row.DataKey("CveClasificacion").ToEntero > 0 And e.Row.DataKey("ORDEN").ToEntero = 1 Then
e.Row.CssClass = "SubTotales"
e.Row.Cells(0).Text = e.Row.DataKey("Clasificacion")
e.Row.Cells(0).Width = 250
End If
End If
End Sub
Private Sub GvGastosNomina_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvGastosNomina.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.DataKey("CvePersonal").ToEntero = 0 Then
e.Row.CssClass = "Totales"
e.Row.Cells(1).Text = "Total"
End If
End If
End Sub
Protected Sub LnkModalAddGastos_Click(sender As Object, e As EventArgs)
RegistraScript("$('#ModalControlAddGastoVeiculo').modal('show');")
End Sub
Protected Sub LnkEliminarGasto_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
Dim CveContratoGasto As Integer = GvRow.DataKey("CveContratoGasto").ToString.ToEntero
Dim ObjContratos As New ClsContratos
Dim ErrorProceso As Boolean = True
If ObjContratos.RemoveContratoGasto(CveContratoGasto) Then
ErrorProceso = False
End If
If Not ErrorProceso Then
CargaGastos()
Alert("Gasto eliminado correctamente.")
End If
ObjContratos.Dispose()
End Sub
Protected Sub BtnModalAgreagrGasto_Click(sender As Object, e As EventArgs)
Dim ErrorProceso As Boolean = True
Dim ObjContratos As New ClsContratos
If ObjContratos.AddContratoGasto(CveContrato, TxtGastosDescripcion.Text, TxtGastosImporte.Text.ToDecimal, Now, UsuarioActual.CveUsuario) Then
ErrorProceso = False
End If
ObjContratos.Dispose()
If Not ErrorProceso Then
CargaGastos()
RegistraScript("$('#ModalControlAddGastoVeiculo').modal('hide');")
End If
End Sub
End Class

View File

@@ -1,4 +1,4 @@
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="EntradasSalidas.aspx.vb" Inherits="Inventarios_EntradasSalidas" EnableEventValidation="false" %>
<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="EntradasSalidas.aspx.vb" Inherits="Inventarios_EntradasSalidas" EnableEventValidation="false" %>
<%@ Register Assembly="eWorld.UI" Namespace="eWorld.UI" TagPrefix="ew" %>
@@ -86,6 +86,10 @@
<asp:LinkButton runat="server" ID="LnkCambioInventarioFisico" CssClass="" data-toggle="tooltip" data-placement="left" OnClick="LnkCambioInventarioFisico_Click"
Text="<i class='fa fa-truck'></i> Inventario Fisico"></asp:LinkButton>
</li>
<li>
<asp:LinkButton runat="server" ID="LnkCambioVigencia" Visible="false" CssClass="" data-toggle="tooltip" data-placement="left" OnClick="LnkCambioVigencia_Click"
Text="<i class='fa fa-truck'></i> Cambiar Vigencias"></asp:LinkButton>
</li>
<li>
<asp:LinkButton runat="server" ID="LnkAgregarProducto" CssClass="" data-toggle="tooltip" data-placement="left" Text="<i class='fa fa-plus'></i> Agregar Producto"></asp:LinkButton>
</li>
@@ -151,6 +155,7 @@
<div class="caption uppercase" style="position: relative;">
<i class="fa fa-info-circle"></i>Información del movimiento
</div>
</div>
<div class="portlet-body" <%= IIf(chkexpand.Checked = True, "", "style='display:none;'")%>>
@@ -198,7 +203,7 @@
<div class="col-md-2">
<asp:Label ID="LblVendedor" runat="server" Text=""></asp:Label>
</div>
</div>
</div>
</div>
<div class="row" id="DivDepartamentoEntrega" runat="server" visible="False">
@@ -289,6 +294,7 @@
<label class="col-md-1 truncate" style="width: 110px">
Observaciones:
</label>
<div class="col-md-5">
<asp:TextBox ID="TxtObservaciones" TextMode="MultiLine" Rows="2" CssClass="form-control input-sm" runat="server" MaxLength="232"></asp:TextBox>
@@ -346,6 +352,7 @@
<div class="caption uppercase" style="position: relative;">
<i class="fa fa-info-circle"></i>Agregar Producto
</div>
</div>
<div class="portlet-body">
@@ -421,6 +428,7 @@
<div class="caption uppercase" style="position: relative;">
<i class="fa fa-info-circle"></i>Información de registro
</div>
</div>
<div class="portlet-body">
@@ -428,6 +436,7 @@
<label class="col-md-3 truncate">
Usuario:
</label>
<div class="col-md-6">
<asp:Label ID="LblUsuarioRegistro" runat="server"></asp:Label>
@@ -438,6 +447,7 @@
<label class="col-md-3 truncate">
Fecha:
</label>
<div class="col-md-6">
<asp:Label ID="LblFechaRegistro" runat="server"></asp:Label>
@@ -447,6 +457,7 @@
<label class="col-md-3 truncate">
Referencia:
</label>
<div class="col-md-6">
<asp:HyperLink ID="HplCompra" Target="_blank" runat="server" Visible="False" CssClass="Texto">Ver Compra</asp:HyperLink>
@@ -460,6 +471,7 @@
<label class="col-md-3 truncate">
Consignación:
</label>
<div class="col-md-6">
<asp:HyperLink ID="HLConsignacion" Target="_blank" NavigateUrl="#" Text="" runat="server" />
@@ -470,6 +482,7 @@
<label class="col-md-3 truncate">
Tipo Cambio:
</label>
<div class="col-md-6">
<asp:Label Text="" ID="LbTipoCambio" runat="server" />
@@ -479,6 +492,7 @@
<label class="col-md-3 truncate">
Mto. Rel.:
</label>
<div class="col-md-6">
<asp:HyperLink ID="lnkMtoRelaioando" CssClass="Texto" runat="server" Target="_blank">ver</asp:HyperLink>
@@ -497,6 +511,7 @@
<div class="caption uppercase" style="position: relative;">
<i class="fa fa-info-circle"></i>Tipo de Cambio
</div>
</div>
<div class="portlet-body">
@@ -558,8 +573,8 @@
<td runat="server" visible="false" id="TdSeccionPSAdd">
<asp:Panel ID="Panel3" runat="server" DefaultButton="BtnSeccionPSAdd">
<asp:DropDownList ID="DdlSeccionPSAdd" DataTextField="SeccionAlmacen" AppendDataBoundItems="true" DataValueField="CveSeccionAlmacen" Class="form-control input-sm select2me" Style="width: 95% !important" runat="server" CausesValidation="true">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Button Text="" ID="BtnSeccionPSAdd" Style="display: none" runat="server" />
</asp:Panel>
</td>
@@ -777,10 +792,8 @@
</ContentTemplate>
</asp:UpdatePanel>
<br />
<%-- EMPIEZA: BITACORA --%>
<asp:UpdatePanel runat="server">
<ContentTemplate>
@@ -890,6 +903,7 @@
<div class="col-md-5" style="text-align: right;">
Cantidad
</div>
<div class="col-md-7">
<asp:TextBox ClientIDMode="Static" ID="TxtCantidadEspecial" Text="" runat="server"></asp:TextBox>
@@ -1087,7 +1101,7 @@
<asp:RequiredFieldValidator ID="RFVTxtFechaInvFisico" runat="server" ControlToValidate="TxtFechaInvFisico" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor ingréselo." ValidationGroup="InvFisico"></asp:RequiredFieldValidator>
@@ -1313,7 +1327,158 @@
<div class="modal-footer">
<div class="row">
<div class="col-md-12" style="text-align: center;">
<asp:Button ID="BtnAplicarCambioInvFisico" runat="server" CssClass="btn btn-primary" Text="Aplicar" ValidationGroup="InvFisico"/>
<asp:Button ID="BtnAplicarCambioInvFisico" runat="server" CssClass="btn btn-primary" Text="Aplicar" ValidationGroup="InvFisico" />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id="DivModalCambiarVigencias" class="modal ADS fade" role="dialog">
<div class="modal-dialog modal-lg" style="width: 50%">
<asp:UpdatePanel runat="server" class="modal-content" ID="UpModalCambiarVigencias" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="Literal4" runat="server">Cambiar Vigencias</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="row">
<label class="col-md-2 truncate" style="width: 120px">Almacen:</label>
<div class="col-md-4">
<asp:DropDownList ID="DdlAlmacenCambioVigencias" runat="server" DataTextField="Almacen" DataValueField="CveAlmacen" Width="60%" CssClass="form-control input-sm select2me" AppendDataBoundItems="true"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVDdlAlmacenCambioVigencia" runat="server" InitialValue="-1" ControlToValidate="DdlAlmacenCambioVigencias" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacen''</b> es necesario, por favor ingréselo." ValidationGroup="VGCambioVigencia"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEDdlAlmacenCambioVigencia" runat="server" HighlightCssClass="vco" TargetControlID="RFVDdlAlmacenCambioVigencia" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<label class="col-md-2 truncate" style="width: 120px">Fecha:</label>
<div class="col-md-4">
<div style="display: inline-block; vertical-align: text-bottom;">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px; text-align: center">
<asp:TextBox ID="TxtFechaCambio" runat="server" CssClass="form-control" CausesValidation="true" Style="width: 118px" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="ImgFechaCambio" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
<asp:RequiredFieldValidator ID="RFVFechaCambio" runat="server" ControlToValidate="TxtFechaCambio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> es necesario, por favor ingréselo." ValidationGroup="VGCambioVigencia"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender3" runat="server" HighlightCssClass="vco" TargetControlID="RFVFechaCambio" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="TxtFechaCambio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaCambio" PopupButtonID="ImgFechaCambio" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaCambio" runat="server" ControlToValidate="TxtFechaCambio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="VGCambioVigencia"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender4" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCambio" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
</div>
<br />
<div class="row">
<label class="col-md-2 truncate" style="width: 120px">Descripción:</label>
<div class="col-md-6">
<asp:TextBox ID="TxtObsCambioVigencia" runat="server" Width="100%" CssClass="form-control input-sm" TextMode="MultiLine"></asp:TextBox>
</div>
</div>
<br />
<div class="row">
<div class="col-md-12">
<div class="portlet light xspadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Traspaso de Vigencia</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="expand"></a>
</div>
</div>
<div class="portlet-body">
<div class="row">
<div class="col-md-12">
<asp:UpdatePanel runat="server" ID="UpCambioSalida" UpdateMode="Conditional">
<ContentTemplate>
<table border="0" class="Widthall grides">
<tbody>
<tr class="Titulos">
<th style="width: 63px">Cant</th>
<th style="width: 200px">Producto</th>
<th style="width: 10%" runat="server" id="Th5" visible="false">Sección almacén</th>
<th style="width: 10%" runat="server" id="Th6" visible="false">Serie</th>
<th style="width: 10%" runat="server" id="Th7" visible="false">Lote</th>
<th style="width: 10%" runat="server" id="Th8" visible="false">Caducidad</th>
<th style="width: 73px;"></th>
</tr>
<tr align="center">
<td>
<asp:TextBox ID="TxtCantCambio" CssClass="form-control input-sm" Width="55px" MaxLength="15" runat="server" ValidationGroup="AddPSCambioSalida"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender3" runat="server" TargetControlID="TxtCantCambio" FilterType="Custom, Numbers" ValidChars="." />
</td>
<td>
<div class="psagregar">
<ADS:Dropdownlost runat="server" ID="DdlPSCambioSalida" CssStyle="width:100%" CssClassDdl="select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
</div>
</td>
<td runat="server" id="Td5" visible="false">
<asp:DropDownList ID="DdlSeccionCambio" DataTextField="Seccion" AppendDataBoundItems="true" DataValueField="CveSeccion" Class="form-control input-sm select2me" Style="width: 95% !important" runat="server" CausesValidation="true">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</td>
<td runat="server" id="Td6" visible="false">
<asp:TextBox ID="TxtSerieCambio" runat="server" Width="50px"></asp:TextBox>
</td>
<td runat="server" id="Td7" visible="false">
<asp:TextBox ID="TxtLoteCambio" runat="server" Width="50px"></asp:TextBox>
</td>
<td runat="server" id="Td8" visible="false">
<asp:TextBox ID="TxtCaducidadCambio" runat="server" Width="50px"></asp:TextBox>
</td>
<td align="center">
<asp:LinkButton ID="LnkAddSalidaCambio" runat="server" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-plus'></i>" ValidationGroup="AddPSCambioSalida" />
</td>
</tr>
</tbody>
</table>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div class="row">
<div class="col-md-12">
<asp:UpdatePanel runat="server" ID="UpGvCambioSalidas" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvSalidasCambioVigencia" runat="server" GridLines="none" CssClass="tabla_correcto grides Widthall mysmallbtn" AutoGenerateColumns="False" ShowHeaderWhenEmpty="False" OnRowDataBound="GvSalidasCambioVigencia_RowDataBound">
<Columns>
<asp:BoundField HeaderText="Cantidad" ReadOnly="true" DataField="Cantidad" ItemStyle-Width="50px" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="PS de Salida" ReadOnly="true" DataField="CodigoPS" ItemStyle-Width="300px" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="Sección Alm" ReadOnly="true" DataField="SeccionAlmacen" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Serie" ReadOnly="true" DataField="Serie" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Lote" ReadOnly="true" DataField="Lote" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Caducidad" ReadOnly="true" DataField="FechaCaducidad" DataFormatString="{0:d}" ItemStyle-Width="100px" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="PS de Entrada (PS de Vigencia)" ReadOnly="true" DataField="CodigoPSVigencia" ItemStyle-Width="300px" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="100px">
<ItemTemplate>
<asp:LinkButton ID="LnkRemoveInvFisicoSalida" runat="server" AlternateText="Eliminar" OnClick="DeleteRowCambioVigencia" CommandArgument='<%# Eval("No")%>' CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea eliminar el concepto?" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<div class="row">
<div class="col-md-12" style="text-align: center;">
<asp:Button ID="BtnGuardarCambiosVigencia" runat="server" CssClass="btn btn-primary" Text="Aplicar" ValidationGroup="VGCambioVigencia" />
</div>
</div>
</div>
@@ -1409,6 +1574,7 @@
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LbDescargarExcelConceptos" />
@@ -1523,7 +1689,6 @@
</asp:UpdatePanel>
</div>
<div id="divDescripcion" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpDescripcion" UpdateMode="Conditional">
<ContentTemplate>
@@ -1551,8 +1716,6 @@
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="JS" runat="Server">
<script type="text/javascript">
@@ -1714,4 +1877,3 @@
</script>
</asp:Content>

View File

@@ -43,6 +43,23 @@ Partial Class Inventarios_EntradasSalidas
ViewState("DtMovimientosSalidaInvFisico") = value
End Set
End Property
Public Property DtMovimientosEntradaCambioVigencias() As DataTable
Get
Return CType(ViewState("DtMovimientosEntradaCambioVigencias"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtMovimientosEntradaCambioVigencias") = value
End Set
End Property
Public Property DtMovimientosCambioVigencias() As DataTable
Get
Return CType(ViewState("DtMovimientosCambioVigencias"), DataTable)
End Get
Set(value As DataTable)
ViewState("DtMovimientosCambioVigencias") = value
End Set
End Property
Public Property CveMovimiento() As Integer
Get
@@ -365,11 +382,13 @@ Partial Class Inventarios_EntradasSalidas
End If
'HABILITA EL CAMBIO DE VIGENCIAS
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
LnkCambioVigencia.Visible = True
End If
End If
End Sub
#Region " PERMISOS PAGINAS "
@@ -469,9 +488,16 @@ Partial Class Inventarios_EntradasSalidas
CargaGVM(dt)
DtMovimientos = dt.Clone
DtMovimientosEntradaInvFisico = dt.Clone
DtMovimientosSalidaInvFisico = dt.Clone
DtMovimientosCambioVigencias = dt.Clone
DtMovimientosCambioVigencias.Columns.Add("CvePSVigencia", Type.GetType("System.Int32"))
DtMovimientosCambioVigencias.Columns.Add("CodigoPSVigencia", Type.GetType("System.String"))
DtMovimientosCambioVigencias.Columns.Add("CveUMVigencia", Type.GetType("System.Int32"))
End Sub
Private Sub CargaCombos()
'Llenar el dropdownlist de Secciones
@@ -514,15 +540,19 @@ Partial Class Inventarios_EntradasSalidas
End If
DdlAlmacenInventarioFisico.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen NOT IN (9,11)") 'GlobalDTAlmacen(UsuarioActual.CveEmpresa)
DdlAlmacenCambioVigencias.DataSource = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltraParametros("CveTipoAlmacen NOT IN (9,11)")
DdlAlmacen.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlAlmacenInventarioFisico.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlAlmacenCambioVigencias.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlAlmacen.SelectedValue = "-1"
DdlAlmacenInventarioFisico.SelectedValue = "-1"
DdlAlmacenCambioVigencias.SelectedValue = "-1"
DdlAlmacen.DataBind()
DdlAlmacenInventarioFisico.DataBind()
DdlAlmacenCambioVigencias.DataBind()
If IsNothing(Request("CveMovimiento")) Then
DdlAlmacen.SelectedValueExist(UsuarioActual.CveAlmacen)
@@ -545,6 +575,7 @@ Partial Class Inventarios_EntradasSalidas
DdlProducto2.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
DdlPSSalida.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
DdlPSCambioSalida.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.CveEmpresa = 66 Then
DdlProducto2.ddlWS.Attributes.Add("data-pagina", "Inventarios")
@@ -554,14 +585,17 @@ Partial Class Inventarios_EntradasSalidas
DdlProducto2.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoPS = 2")
DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoPS = 2")
DdlPSSalida.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoPS = 2")
DdlPSCambioSalida.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoPS = 2")
DdlProducto2.DataBind()
DdlPS.DataBind()
DdlPSSalida.DataBind()
DdlPSCambioSalida.DataBind()
DdlProducto2.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlPSSalida.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlPSCambioSalida.ddl.Items.Insert(0, New ListItem("Seleccione", "-1"))
End If
End Sub
@@ -2651,6 +2685,25 @@ Partial Class Inventarios_EntradasSalidas
#Region " CONTABILIZAR "
Public Function ContabilizaMovimientoAlmacen(ByRef ObjConta As ClsContabilidad, Fecha As Date, Concepto As String, Modulo As String, CveMovimientoSalida As Integer, CveMovimientoEntrada As Integer, Importe As Decimal, CveUsuario As Integer, CveEmpresa As Integer, Contabilizable As Boolean) As Integer
Dim Retorno As Integer = -1
Dim ErrorMovInv As Boolean = False
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas(Modulo, 53, 0, 0, 1, Fecha, Concepto, CveUsuario, CveEmpresa)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Importe, "", 68, Concepto, Fecha, -1, -1, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=Importe, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Importe, "", 68, Concepto, Fecha, -1, -1, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=Importe, Contabilizable:=Contabilizable) Then
ErrorMovInv = True
End If
If Not ErrorMovInv Then Retorno = CvePrePoliza
Return Retorno
End Function
Protected Sub BtnContabilizar_Click(sender As Object, e As EventArgs) Handles BtnContabilizar.Click
Dim ObjContaAC As ClsContPAQi = Nothing
Dim ObjInventario As New ClsInventarios
@@ -3607,6 +3660,10 @@ Partial Class Inventarios_EntradasSalidas
RegistraScript(String.Format("$('#{0}').modal();", "DivModalCambioFisico"))
End Sub
Protected Sub LnkCambioVigencia_Click(sender As Object, e As EventArgs)
RegistraScript(String.Format("$('#{0}').modal();", "DivModalCambiarVigencias"))
End Sub
#Region "ENTRADAS"
Private Sub BtnAgregarEntrada_Click(sender As Object, e As EventArgs) Handles BtnAgregarEntrada.Click
If Not DdlPS.SelectedValue.ToEntero > 0 Then
@@ -3807,6 +3864,127 @@ Partial Class Inventarios_EntradasSalidas
CargaGvSalidas(DtMovimientosSalidaInvFisico)
End Sub
#End Region
#Region "CAMBIO VIGENCIA"
Private Sub LnkAddSalidaCambio_Click(sender As Object, e As EventArgs) Handles LnkAddSalidaCambio.Click
If Not DdlPSCambioSalida.SelectedValue.ToEntero > 0 Then
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
Alert("Es necesario especificar el producto.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
AddPSCambioSalida(DdlPSCambioSalida.SelectedValue.ToEntero, TxtCantCambio.Text.ToDouble)
End Sub
Protected Sub AddPSCambioSalida(CvePS As Integer, Cantidad As Double)
If DdlAlmacenCambioVigencias.SelectedValue.ToEntero <= 0 Then Alert("Seleccione un almacen", TipoMensaje.MsgAdvertencia) : RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") : DdlPSCambioSalida.SelectedText = "" : Exit Sub
Dim Valido As Boolean = True
If Valido Then
Dim CveClasificacion As Integer
Dim CveUM As Double
Dim CodigoPS As String = ""
Dim PS As String = ""
Dim CveSeccionAlmacen As Integer = DdlSeccionAlmacenSalida.SelectedValue.ToEntero
Dim Serie As String = If(TxtSerieSalida.Text = "", "", TxtSerieSalida.Text)
Dim Lote As String = If(TxtLoteSalida.Text = "", "", TxtLoteSalida.Text)
Dim Caducidad As String = If(TxtCaducidadSalida.Text = "", MinFecha.ToShortDateString, TxtCaducidadSalida.Text)
Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).FiltroPrimero("", "PS")
If dr IsNot Nothing Then
CveClasificacion = dr("CveClasificacion").ToString.ToEntero
CveUM = dr("CveUM").ToString.ToEntero
CodigoPS = dr("PSCodigo").ToString.ToString
PS = dr("PS").ToString.ToString
End If
Dim registro As DataRow = DtMovimientosCambioVigencias.NewRow
registro.Item("Cantidad") = Cantidad
registro.Item("CveUM") = CveUM
registro.Item("CvePS") = CvePS
registro.Item("CodigoPS") = CodigoPS
registro.Item("PS") = PS
registro.Item("PU") = 0
registro.Item("Total") = 0
registro.Item("CveClasificacion") = CveClasificacion
registro.Item("Estatus") = ""
registro.Item("CveSeccionAlmacen") = CveSeccionAlmacen
registro.Item("Serie") = Serie
registro.Item("Lote") = Lote
registro.Item("FechaCaducidad") = Caducidad
If CvePS > 0 Then
Using ObjPS As New ClsProductosServicios()
If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) AndAlso ObjPS.DtResultados.Rows.Count > 0 Then
Dim CvePSAdicionalVigencia = ObjPS.DtResultados.Rows(0)("CvePSAdicionalVigencia").ToString.ToEntero()
Dim CodigoPSVigencia As String = ObjPS.DtResultados.Rows(0)("CodigoPSVigencia").ToString
'SI EXISTE UN MOVIMIENTO DE VIGENCIA
If CvePSAdicionalVigencia > 0 Then
If ObjPS.GetPS(CvePSAdicionalVigencia, -1, UsuarioActual.CveEmpresa) AndAlso ObjPS.DtResultados.Rows.Count > 0 Then
registro.Item("CvePSVigencia") = CvePSAdicionalVigencia
registro.Item("CodigoPSVigencia") = CodigoPSVigencia
registro.Item("CveUMVigencia") = ObjPS.DtResultados.Rows(0)("CveUM").ToString.ToEntero()
DtMovimientosCambioVigencias.Rows.Add(registro)
End If
Else
Alert("Este producto no tiene un producto de vigencia relacionado", TipoMensaje.MsgAdvertencia)
End If
End If
End Using
End If
CargaGvCambioSalidas(DtMovimientosCambioVigencias)
RegistraScript("playsonidito('beep-07.wav')")
End If
End Sub
Protected Sub DeleteRowCambioVigencia(ByVal sender As Object, ByVal e As EventArgs)
Dim lnkRemove As LinkButton = DirectCast(sender, LinkButton)
If DtMovimientosCambioVigencias.Rows.Count > 0 And lnkRemove.CommandArgument.ToString.Length > 0 Then
Dim i As Integer
i = lnkRemove.CommandArgument.ToString.ToEntero
Dim Drs As DataRow() = DtMovimientosCambioVigencias.Select(String.Format("No = {0}", i))
If Drs.Count > 0 Then
Drs(0).Delete()
End If
DtMovimientosCambioVigencias.AcceptChanges()
End If
GvSalidasCambioVigencia.EditIndex = -1
CargaGvCambioSalidas(DtMovimientosCambioVigencias)
End Sub
Private Sub CargaGvCambioSalidas(DtTemp As DataTable)
GvSalidasCambioVigencia.DataSource = DtTemp
GvSalidasCambioVigencia.DataBind()
If DtTemp IsNot Nothing AndAlso DtTemp.Rows.Count > 0 Then
GvSalidasCambioVigencia.Columns(2).Visible = DtTemp.MAX("CveSeccionAlmacen").ToEntero > 0
GvSalidasCambioVigencia.Columns(3).Visible = DtTemp.MAX("Serie") <> ""
GvSalidasCambioVigencia.Columns(4).Visible = DtTemp.MAX("Lote") <> ""
GvSalidasCambioVigencia.Columns(5).Visible = DtTemp.MAX("FechaCaducidad").ToDate > MinFecha
GvSalidasCambioVigencia.Columns(5).HeaderText = If(UsuarioActual.Empresa.Funcionalidad(147) = "Fecha Elaboración", "Fecha Elaboración", "Fecha Caducidad")
End If
UpGvCambioSalidas.Update()
End Sub
Protected Sub GvSalidasCambioVigencia_RowDataBound(sender As Object, e As GridViewRowEventArgs)
If e.Row.RowType = DataControlRowType.DataRow Then
e.Row.Cells(1).CssClass = "SubTotales"
e.Row.Cells(6).CssClass = "Totales"
End If
End Sub
#End Region
#Region "GUARDAR"
@@ -4032,6 +4210,133 @@ Partial Class Inventarios_EntradasSalidas
ObjInventario.Dispose() 'elimino la instancia
End Sub
Private Sub BtnGuardarCambiosVigencia_Click(sender As Object, e As EventArgs) Handles BtnGuardarCambiosVigencia.Click
If GvSalidasCambioVigencia.Rows.Count = 0 Then
Alert("No hay ningun registro para generar el movimiento. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgError)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
RegistraScript(String.Format("$('#{0}').modal();", "DivModalCambioFisico"))
Exit Sub
End If
Dim ObjInventario As New ClsInventarios
Dim ObjConta As New ClsContabilidad(ObjInventario.IniciaTransacSQL())
Dim CveMovimientoEntrada As Integer = -1
Dim CveMovimientoSalida As Integer = -1
Dim ErrorMovInv As Boolean = False
Dim Mensaje As String = ""
Dim ValorEntrada As Decimal = 0
Dim ValorSalida As Decimal = 0
Dim ImporteConcepto As Decimal = 0
Dim tConcepto As String = TxtObsCambioVigencia.Text.Trim
Dim Fecha = TxtFechaCambio.Text.ToDate.ToString("yyyy/MM/dd").ToDate
Dim tCveSubProyecto As Integer = -1
Dim TipoMovto As Boolean = False
Dim idCtaContableEntrada As Integer = 0
Dim idCtaContableSalida As Integer = 0
Dim FolioSalida As Integer = 0
Dim FolioEntrada As Integer = 0
Dim IdCuentaOtrosIngresos As Integer = UsuarioActual.Empresa.IdCuentaOtrosIngresos
Dim CveAlmacen As Integer = DdlAlmacenCambioVigencias.SelectedValue.ToEntero
Dim CveModalidad As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveModalidad").ToEntero()
Dim EsContabilizable As Boolean = (CveModalidad = 1)
'MOVIMIENTOS
If DtMovimientosCambioVigencias.Rows.Count > 0 Then
FolioSalida = ObjInventario.GetFolioSiguiente(8, UsuarioActual.CveEmpresa)
CveMovimientoSalida = ObjInventario.AddMovimiento(CveAlmacen, 8, 1, Fecha, FolioSalida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObsCambioVigencia.Text.Trim, Modulo:="ES/CV1")
FolioEntrada = ObjInventario.GetFolioSiguiente(9, UsuarioActual.CveEmpresa)
CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 9, 1, Fecha, FolioEntrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObsCambioVigencia.Text.Trim, CveMovimientoRelacionado:=CveMovimientoSalida, Modulo:="ES/CV2")
End If
'VALIDA, sino hay registrado ningun movimiento, que no siga
If (CveMovimientoEntrada <= 0 AndAlso CveMovimientoSalida <= 0) Then
Alert("Ocurrió un error al realizar los registros. Por favor verifique y vuelva a intentar", TipoMensaje.MsgError)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
ObjInventario.RollBack() 'deshace lo insertado.
ObjInventario.Dispose() 'elimino la instancia
Exit Sub
End If
'VALIDA EXISTENCIAS SALIDA E INSERTA DETALLES
For Each Dr As DataRow In DtMovimientosCambioVigencias.Rows
If ObjInventario.GetExistenciasPS(Dr("CvePS").ToString.ToEntero, Dr("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, DdlAlmacenInventarioFisico.SelectedValue.ToEntero, PendientePorSurtir:=1) >= Dr("Cantidad").ToString.ToDouble Then
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalida, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero,
Dr("PU").ToString.ToDecimal, -1, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero, Serie:=Dr("Serie").ToString,
Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate) Then
Mensaje = "Ocurrió un error al guardar los movimientos de salida"
ErrorMovInv = True
Exit For
Else
'OBTIENE EL COSTO DE LA SALIDA
If Not ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa, CveMovimientoDetalle:=ObjInventario.CveMovimientoDetalle) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
Mensaje = "Ocurrió un error al guardar los movimientos de salida"
ErrorMovInv = True
Exit For
Else
Dim PUEntrada As Decimal = ObjInventario.DtResultados.Rows(0)("PU").ToString().ToDecimal()
ImporteConcepto += PUEntrada * Dr("Cantidad").ToString.ToDecimal()
'INSERTA EL MOVIMIENTO DE ENTRADA
If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntrada, Dr("Cantidad").ToString.ToDouble, Dr("CveUMVigencia").ToString.ToEntero, Dr("CvePSVigencia").ToString.ToEntero, PUEntrada, CveSeccionAlmacen:=Dr("CveSeccionAlmacen").ToString.ToEntero) Then
Mensaje = "Ocurrió un error al guardar los movimientos de entrada"
ErrorMovInv = True
Exit For
End If
End If
End If
Else
Mensaje = String.Format("No hay existencias suficientes del producto: {0}", Dr("PS"))
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
ErrorMovInv = True
Exit For
End If
Next
'CONTABILIZAR MOVIMIENTOS
If Not ErrorMovInv Then
If Not ContabilizaMovimientoAlmacen(ObjConta, Now, "CAMBIO DE VIGENCIA", "ES/CV", CveMovimientoSalida, CveMovimientoEntrada, ImporteConcepto, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, False) > 0 Then
ErrorMovInv = True
Mensaje = "No se pudo generar el movimiento de prepoliza"
End If
End If
If Not ErrorMovInv Then
ObjInventario.Commit() ' aplica los movimientos insertados
Dim Msg As New StringBuilder
Msg.AppendFormat("<br/>El Movimiento de entrada se registró con el Folio: <b><a class=""Texto"" target='_blank' href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"">{1}</a></b>", CveMovimientoEntrada, FolioEntrada)
If CveMovimientoEntrada > 0 Then Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento Entrada</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoEntrada)))
Msg.AppendFormat("<br/><br/>El Movimiento de salida se registró con el Folio: <b><a class=""Texto"" target='_blank' href=""/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}"">{1}</a></b>", CveMovimientoSalida, FolioSalida)
If CveMovimientoSalida > 0 Then Msg.AppendFormat("<br/> <a class=""Texto"" target='_blank' href=""/Compras/PopUpVerFactura.aspx?P={0}"">Imprimir Movimiento Salida</a> ", Encripta(String.Format("OP=Alm&CveMovimiento={0}", CveMovimientoSalida)))
Alert(Msg.ToString, TipoMensaje.MsgInformacion)
RegistraScript("playsonidito('beep-07.wav');$('#DivModalCambiarVigencias').modal('hide');")
DtMovimientosCambioVigencias.Clear()
GvSalidasCambioVigencia.DataSource = DtMovimientosCambioVigencias
GvSalidasCambioVigencia.DataBind()
TxtObsCambioVigencia.Text = ""
Else
ObjInventario.RollBack()
Alert(Mensaje, TipoMensaje.MsgError)
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
End If
ObjInventario.Dispose() 'elimino la instancia
End Sub
#End Region
#End Region
@@ -4528,4 +4833,6 @@ Partial Class Inventarios_EntradasSalidas
End Sub
End Class

View File

@@ -630,7 +630,7 @@
<asp:BoundField HeaderText="Fecha Caducidad" DataField="FechaCaducidad" ItemStyle-Width="40%" />
<asp:TemplateField HeaderText="Eliminar">
<ItemTemplate>
<asp:LinkButton ID="lnkRemove" runat="server" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" CommandName="Delete" OnClientClick="return confirm('¿Desea borrar el registro?')"></asp:LinkButton>
<asp:LinkButton ID="lnkRemove" runat="server" CssClass="btn btn-circle btn-xs red" Text="<i class='icon-trash'></i>" CommandName="Delete" OnClientClick="return confirm('¿Desea borrar el registro?')"></asp:LinkButton>
</ItemTemplate>
<ItemStyle Width="20%"></ItemStyle>
</asp:TemplateField>

View File

@@ -901,6 +901,22 @@ Partial Class Inventarios_EntregaAlmacen
LbCantidad.Text = e.Row.DBCampo("CantidadF")
LbCantidad2.Text = e.Row.DBCampo("CantidadF")
AgregaSerie(e.Row.DBCampo("ObservacionesDetalle"), 3)
End If
If TipoDocto = "Ing" AndAlso e.Row.DBCampo("ObservacionesDetalle").Length > 8 AndAlso DdlAlmacen.SelectedValue.ToEntero > 0 AndAlso UsuarioActual.CveRol = 1 Then
Dim Str = e.Row.DBCampo("ObservacionesDetalle").Replace(",", " ").Replace(".", " ").Replace(vbTab, " ").Replace(vbLf, " ").Split(" "c)
CveConsecSerie = e.Row.DBCampo("Consec").ToString().ToEntero()
PSSerie = e.Row.DBCampo("PS").ToString()
CvePSSerie = e.Row.DBCampo("CvePS").ToEntero()
CveUMSerie = e.Row.DBCampo("CveUM").ToEntero()
LbCantidad.Text = e.Row.DBCampo("CantidadF")
LbCantidad2.Text = e.Row.DBCampo("CantidadF")
For Each st As String In Str
If Not st.Contiene("", "/") Then
AgregaSerie(st, 3)
End If
Next
End If
Else
@@ -1157,10 +1173,10 @@ Partial Class Inventarios_EntregaAlmacen
Exit Sub
End If
Dim AplicaCaducidad = False
If GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerie).FiltraParametros("").Rows(0) IsNot Nothing Then
AplicaCaducidad = If(GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerie).FiltraParametros("").Rows(0)("AplicaCaducidad").ToString() = "True", True, False)
End If
Dim AplicaCaducidad As Boolean = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSSerie).FiltroPrimeroValor("AplicaCaducidad", "") = "True"
'If GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSSerie).FiltraParametros("").Rows(0) IsNot Nothing Then
' AplicaCaducidad = If(GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerie).FiltraParametros("").Rows(0)("AplicaCaducidad").ToString() = "True", True, False)
'End If
'Valida Existencia
@@ -1173,6 +1189,7 @@ Partial Class Inventarios_EntregaAlmacen
ObjInventarios.Dispose()
Exit Sub
End If
ObjInventarios.Dispose()
Else
If DtExistencias IsNot Nothing Then
Dim Existencia = DtExistencias.SUM("Cantidad", $"CvePS = {CvePSSerie} AND CveUM = {CveUMSerie} AND Serie = '{Serie}'")

View File

@@ -2676,6 +2676,48 @@ Partial Class Inventarios_RecepcionUsados
HdnPSAjusteMarca.Value = CveMarca.ToString()
HdnPSAjusteClasificacion.Value = CveClasificacion.ToString()
Dim CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue}").ToEntero
If UsuarioActual.Empresa.Funcionalidad(404).ToEntero > 0 Then 'cuando el valor es 10.- secuencia Cliente/Sucursal, 20 - sucursal/cliente
Dim TipoPrecioLista As Integer = UsuarioActual.Empresa.Funcionalidad(404).ToEntero
' si es 10. primero el cliente
Dim CvePrecioListaPS As Integer
Dim PorcentajePrecio As Decimal = 0
If TipoPrecioLista = 10 Then
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=DdlClientes.SelectedValue.ToEntero()).FiltroPrimeroValor("CvePrecioLista").ToEntero()
If CvePrecioListaPS <= 0 Then
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
End If
Else
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
If CvePrecioListaPS <= 0 Then
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=DdlClientes.SelectedValue.ToEntero()).FiltroPrimeroValor("CvePrecioLista").ToEntero()
End If
End If
If CvePrecioListaPS > 0 Then
Dim ObjPS As New ClsProductosServicios
If ObjPS.GetPSPreciosLista(UsuarioActual.CveEmpresa, CvePrecioListaPS, CvePS:=CvePSParametro) Then
PrecioSugerido = ObjPS.DtResultados.FiltroPrimeroValor("PrecioLista").ToDecimal
PorcentajePrecio = ObjPS.DtResultados.FiltroPrimeroValor("Porcentaje").ToDecimal
End If
ObjPS.Dispose()
End If
If PrecioSugerido = 0 Then
Dim ObjInventarios As New ClsInventarios
Dim CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, txtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, CveSubProyecto, CveTipoAlmacen:=1)
'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal
If CostoPS = 0 Then CostoPS = ObjInventarios.GetCostoPS(CvePSParametro, txtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, -1, CveTipoAlmacen:=1)
ObjInventarios.Dispose()
If CostoPS > 0 And PorcentajePrecio > 0 Then
PrecioSugerido = ((PorcentajePrecio / 100) + 1) * CostoPS
End If
End If
'CvePrecioLista = CvePrecioListaPS
End If
Dim MarcaPorcentaje As DataRow = DtPorcentajeMarcas.FiltroPrimero(String.Format("CveMarca = {0}", drPS("CveMarca").ToString))
If MarcaPorcentaje IsNot Nothing Then
Dim PorcentajeProducto As Decimal = MarcaPorcentaje("PorcentajeProducto").ToString.ToDecimal / 100
@@ -2705,6 +2747,7 @@ Partial Class Inventarios_RecepcionUsados
TxtPUFactura.Text = PrecioSugerido.FormatoNumero(2)
End If
UpModalAgregar.Update()
UpAjuste.Update()
End Sub
Private Sub CargaBCIAjuste()

View File

@@ -809,6 +809,13 @@
<ajax:ValidatorCalloutExtender ID="VCORVSubProyecto" runat="server" HighlightCssClass="vco" TargetControlID="RVSubProyecto" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RFVSubProyecto" runat="server" InitialValue="-1" ControlToValidate="DdlSubProyecto" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''SubProyecto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDetalleGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCORFVSubProyecto" runat="server" HighlightCssClass="vco" TargetControlID="RFVSubProyecto" Width="300px"></ajax:ValidatorCalloutExtender>
<div runat="server" id="DVCultivosCuadro" visible ="false">
<asp:DropDownList ID="DdlCultivosCuadro" CssClass=" form-control input-sm select2me" runat="server" DataTextField="Cuadro" Style="width: 100%; max-width: 600px;"
DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpDetalleGuardar">
</asp:DropDownList>
</div>
</td>
<td id="TdActivoFijo" runat="server">
@@ -875,7 +882,7 @@
<asp:GridView ID="GvD" runat="server" AutoGenerateColumns="False" GridLines=" none" BorderColor="Transparent" CssClass="table table-striped table-hover Widthall ScrollAD mysmallbtn"
DataKeyNames="SubProyecto, Cantidad, Importe, Descuento, CveOrdenCompra, CveUnidadMedida, CvePresupuestoEgreso, PS,CveClasificacion, CvePS, CveSubProyecto, CveActivoFijo, CodigoAF, TipoDato, Observacion, CveOrdenCompraDetalle,CveCompra,IVAPorcentaje,RetIVAPorcentaje,RetISRPorcentaje,IEPSPSPorcentaje,IEPSPSIVAPorcentaje,CantidadNoEditable" data-tableheader=".GVDHeader" ShowHeader="false" data-rows="0">
DataKeyNames="SubProyecto, Cantidad, Importe, Descuento, CveOrdenCompra, CveUnidadMedida, CvePresupuestoEgreso, PS,CveClasificacion, CvePS, CveSubProyecto, CveActivoFijo, CodigoAF, TipoDato, Observacion, CveOrdenCompraDetalle,CveCompra,IVAPorcentaje,RetIVAPorcentaje,RetISRPorcentaje,IEPSPSPorcentaje,IEPSPSIVAPorcentaje,CantidadNoEditable,CveCultivoCuadroDetalle" data-tableheader=".GVDHeader" ShowHeader="false" data-rows="0">
<Columns>
<asp:TemplateField>
<EditItemTemplate>
@@ -932,17 +939,33 @@
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# String.Format("{0}<br/>{1}", Eval("Proyecto"), Eval("SubProyecto")) %>'></asp:Literal>
<asp:Literal ID="LtlSubProyecto" runat="server" Text='<%# String.Format("{0}<br/>{1}{2}", Eval("Proyecto"), Eval("SubProyecto"), If(Eval("CveCultivoCuadroDetalle").ToString <> "" And Eval("CveCultivoCuadroDetalle").ToString <> "0" And Eval("CveCultivoCuadroDetalle").ToString <> "-1", String.Format("<br/>{0}", Eval("Cuadro")), "")) %>'></asp:Literal>
</ItemTemplate>
<EditItemTemplate>
<asp:DropDownList ID="DdlProyectoEdit" runat="server" Style="width: 100%" AppendDataBoundItems="true" AutoPostBack="true" CssClass=" form-control input-sm select2me" DataTextField="Proyecto" DataValueField="CveProyecto" ValidationGroup="grpEditar" OnSelectedIndexChanged="DdlProyectoEdit_SelectedIndexChanged">
<asp:ListItem Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="DdlSubProyectoEdit" Style="width: 100%" runat="server" AppendDataBoundItems="true" CssClass=" form-control input-sm select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" ValidationGroup="grpEditar">
<asp:DropDownList ID="DdlSubProyectoEdit" Style="width: 100%" runat="server" AppendDataBoundItems="true" CssClass=" form-control input-sm select2me" OnSelectedIndexChanged="DdlSubProyectoEdit_SelectedIndexChanged" AutoPostBack="true"
DataTextField="SubProyecto" DataValueField="CveSubProyecto" ValidationGroup="grpEditar">
<asp:ListItem Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:DropDownList ID="DdlCultivosCuadroEdit" Visible="false" CssClass=" form-control input-sm select2me" runat="server" DataTextField="Cuadro" Style="width: 100%; max-width: 600px;"
DataValueField="CveCultivoCuadroDetalle" >
<asp:ListItem Selected="true" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ValidationGroup="grpEditar" ID="RFVSubProyecto" runat="server" InitialValue="-1" ControlToValidate="DdlSubProyectoEdit" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''SubProyecto''</b> es necesario, por favor ingréselo."></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCORFVSubProyecto" runat="server" HighlightCssClass="vco" TargetControlID="RFVSubProyecto" Width="300px"></ajax:ValidatorCalloutExtender>
</EditItemTemplate>
</asp:TemplateField>
<asp:TemplateField>

View File

@@ -798,6 +798,13 @@ Partial Class OC
DdlSubProyectoContrato.DataBind()
DdlSubProyectoContrato.Items.Insert(0, New ListItem("Seleccione", "-1"))
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
DVCultivosCuadro.Visible = True
DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
End If
'SOLO SE MUESTRA CUANDO ES REGISTRO NUEVO
If Not CveOrdenCompra > 0 Then
If UsuarioActual.Empresa.EsComercializadora And Not CveCotizacion > 0 Then
@@ -1085,6 +1092,8 @@ Partial Class OC
DtDetalle.Columns.Add("CveVentaDetalleCotizacion", GetType(Integer))
DtDetalle.Columns.Add("CveTipoGastoObra", GetType(Integer))
DtDetalle.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer))
DtDetalle.Columns.Add("Cuadro", GetType(String))
'DtDetalle.Columns.Add("CveOrdenCompraDetalle", GetType(Integer))
@@ -2141,7 +2150,7 @@ Partial Class OC
CboUnidadMedida.SelectedValue.ToEntero, IvaPS, IEPSPS, IEPSPSIVA, DdlClasificacion.SelectedValue.ToEntero, CboUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedItem.Text, DdlProyecto.SelectedValue.ToEntero, Proyecto,
DdlSubProyecto.SelectedValue.ToEntero, SubProyecto, LblCodigo.Text, HdnCveActivoFijo.Value.ToEntero, 0, CveOrdenCompraDetalle, CveOrdenCompra, IdCuentaPorEjercer,
IdCuentaComprometido, DdlACGeneral1.SelectedValue.ToEntero, DdlACGeneral2.SelectedValue.ToEntero, DdlACGeneral3.SelectedValue.ToEntero, DdlACGeneral4.SelectedValue.ToEntero,
DdlACGeneral5.SelectedValue.ToEntero, RetIVA, RetISR)
DdlACGeneral5.SelectedValue.ToEntero, RetIVA, RetISR, CveCultivoCuadroDetalle:=DdlCultivosCuadro.SelectedValue.ToEntero, Cuadro:=DdlCultivosCuadro.SelectedItem.Text)
TxtCant.Text = ""
CboUnidadMedida.SelectedIndex = 0
@@ -2171,7 +2180,8 @@ Partial Class OC
Private Sub AddPS(Cantidad As String, CvePS As Integer, PS As String, Observaciones As String, Importe As Double, Descuento As Double, Total As Double, CveUnidadMedida As Integer, IVAPS As Double, IEPSPS As Double, IEPSPSIVA As Double, CveClasificacion As Integer,
UM As String, Clasificacion As String, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String, CodigoAF As String, CveActivoFijo As Integer, TipoDato As Integer,
CveOrdenCompraDetalle As Integer, CveOrdenCompra As Integer, IdCuentaPorEjercer As Integer, IdCuentaComprometido As Integer, CveProgramaOperativo As Integer, CveUnidadAdministrativa As Integer,
CveFuenteFinanciamiento As Integer, CveTipoGasto As Integer, CveClasificacionOG As Integer, RetIVA As Double, RetISR As Double, Optional CveContratoDetalle As Integer = -1, Optional CveTipoGastoObra As Integer = -1)
CveFuenteFinanciamiento As Integer, CveTipoGasto As Integer, CveClasificacionOG As Integer, RetIVA As Double, RetISR As Double, Optional CveContratoDetalle As Integer = -1, Optional CveTipoGastoObra As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1,
Optional Cuadro As String = "")
If DtDetalle IsNot Nothing Then
Dim dr As DataRow = DtDetalle.NewRow
@@ -2228,6 +2238,9 @@ Partial Class OC
dr("CveClasificacionOG") = CveClasificacionOG
dr("CveContratoDetalle") = CveContratoDetalle
dr("CveTipoGastoObra") = CveTipoGastoObra
dr("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
dr("Cuadro") = Cuadro
DtDetalle.Rows.Add(dr)
@@ -2511,7 +2524,7 @@ Partial Class OC
IEPSPS:=dr("IEPSPS").ToString.ToDouble, IEPSPSIVA:=dr("IEPSPSIVA").ToString.ToDouble, IVA:=dr("IVA").ToString.ToDouble, RetIVA:=dr("RetIVA").ToString.ToDouble,
RetISR:=dr("RetISR").ToString.ToDouble, Total:=dr("Total").ToString.ToDouble, CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble,
RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble,
IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble, CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero) Then
IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble, CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero, CveCultivoCuadroDetalle:=dr("CveCultivoCuadroDetalle").ToString.ToEntero) Then
TieneError = True
Exit For
End If
@@ -2589,7 +2602,7 @@ Partial Class OC
dr("Observacion").ToString, UsuarioActual.CveUsuario, CvePresupuestoEgreso:=dr("CvePresupuestoEgreso").ToString.ToEntero, pCveOrdenCompraPadre:=CveOrdenCompraPadre, Descuento:=dr("Descuento").ToString.ToDouble, IEPSPS:=dr("IEPSPS").ToString.ToDouble,
IEPSPSIVA:=dr("IEPSPSIVA").ToString.ToDouble, IVA:=dr("IVA").ToString.ToDouble, RetIVA:=dr("RetIVA").ToString.ToDouble, RetISR:=dr("RetISR").ToString.ToDouble, Total:=dr("Total").ToString.ToDouble, CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero,
IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble,
IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble, CveVentaDetalleCotizacion:=dr("CveVentaDetalleCotizacion").ToString().ToEntero(), CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero) Then
IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble, CveVentaDetalleCotizacion:=dr("CveVentaDetalleCotizacion").ToString().ToEntero(), CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero, CveCultivoCuadroDetalle:=dr("CveCultivoCuadroDetalle").ToString.ToEntero) Then
TieneError = True
Exit For
End If
@@ -2702,7 +2715,7 @@ Partial Class OC
'inserto los nuevos detalles
If Not TieneError Then
For Each dr As DataRow In DtDetalle.FiltraParametros("TipoDato = 0").Rows
If Not OC.AddOrdenCompraDetalle(CveOrdenCompra, dr("Cantidad").ToString.ToDouble(), dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, dr("Importe").ToString.ToDouble, dr("CveSubProyecto").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, CvePresupuestoEgreso:=If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero), Descuento:=dr("Descuento").ToString.ToDouble, IEPSPS:=dr("IEPSPS").ToString.ToDouble, IEPSPSIVA:=dr("IEPSPSIVA").ToString.ToDouble, IVA:=dr("IVA").ToString.ToDouble, RetIVA:=dr("RetIVA").ToString.ToDouble, RetISR:=dr("RetISR").ToString.ToDouble, Total:=dr("Total").ToString.ToDouble, CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble, CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero) Then
If Not OC.AddOrdenCompraDetalle(CveOrdenCompra, dr("Cantidad").ToString.ToDouble(), dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, dr("Importe").ToString.ToDouble, dr("CveSubProyecto").ToString.ToEntero, dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, CvePresupuestoEgreso:=If(TipoOC = "REQ", -1, dr("CvePresupuestoEgreso").ToString.ToEntero), Descuento:=dr("Descuento").ToString.ToDouble, IEPSPS:=dr("IEPSPS").ToString.ToDouble, IEPSPSIVA:=dr("IEPSPSIVA").ToString.ToDouble, IVA:=dr("IVA").ToString.ToDouble, RetIVA:=dr("RetIVA").ToString.ToDouble, RetISR:=dr("RetISR").ToString.ToDouble, Total:=dr("Total").ToString.ToDouble, CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble, CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero, CveCultivoCuadroDetalle:=dr("CveCultivoCuadroDetalle").ToString.ToEntero) Then
TieneError = True
Exit For
Else
@@ -3182,7 +3195,7 @@ Partial Class OC
CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble,
RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble,
IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble,
CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero) Then
CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero, CveCultivoCuadroDetalle:=dr("CveCultivoCuadroDetalle").ToString.ToEntero) Then
HuboError = True
Exit For
End If
@@ -3223,7 +3236,7 @@ Partial Class OC
'CveOrdenCompra = objOrdenCompra.CveOrdenCompra
If Not HuboError Then
For Each dr As DataRow In DtDetalle.Rows
If Not objOrdenCompra.AddOrdenCompraDetalle(objOrdenCompra.CveOrdenCompra, dr("Cantidad").ToString.ToDouble(), dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, dr("Importe").ToString.ToDouble, dr("CveSubProyecto").ToString.ToEntero(), dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, CveOrdenCompra, CvePresupuestoEgreso:=dr("CvePresupuestoEgreso").ToString.ToEntero, Descuento:=dr("Descuento").ToString.ToDouble, IEPSPS:=dr("IEPSPS").ToString.ToDouble, IEPSPSIVA:=dr("IEPSPSIVA").ToString.ToDouble, IVA:=dr("IVA").ToString.ToDouble, RetIVA:=dr("RetIVA").ToString.ToDouble, RetISR:=dr("RetISR").ToString.ToDouble, Total:=dr("Total").ToString.ToDouble, CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble, CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero) Then
If Not objOrdenCompra.AddOrdenCompraDetalle(objOrdenCompra.CveOrdenCompra, dr("Cantidad").ToString.ToDouble(), dr("CveUnidadMedida").ToString.ToEntero, dr("CvePS").ToString.ToEntero, dr("Importe").ToString.ToDouble, dr("CveSubProyecto").ToString.ToEntero(), dr("CveActivoFijo").ToString.ToEntero, dr("Observacion").ToString, UsuarioActual.CveUsuario, CveOrdenCompra, CvePresupuestoEgreso:=dr("CvePresupuestoEgreso").ToString.ToEntero, Descuento:=dr("Descuento").ToString.ToDouble, IEPSPS:=dr("IEPSPS").ToString.ToDouble, IEPSPSIVA:=dr("IEPSPSIVA").ToString.ToDouble, IVA:=dr("IVA").ToString.ToDouble, RetIVA:=dr("RetIVA").ToString.ToDouble, RetISR:=dr("RetISR").ToString.ToDouble, Total:=dr("Total").ToString.ToDouble, CveContratoDetalle:=dr("CveContratoDetalle").ToString.ToEntero, IVAPorcentaje:=dr("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=dr("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=dr("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=dr("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=dr("IEPSPSIVAPorcentaje").ToString.ToDouble, CveTipoGastoObra:=dr("CveTipoGastoObra").ToString.ToEntero, CveCultivoCuadroDetalle:=dr("CveCultivoCuadroDetalle").ToString.ToEntero) Then
HuboError = True
Exit For
End If
@@ -3729,6 +3742,18 @@ Partial Class OC
End If
End If
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
e.Row.FCDropDownList("DdlCultivosCuadroEdit").Visible = True
e.Row.FCDropDownList("DdlCultivosCuadroEdit").DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {e.Row.DBCampo("CveSubProyecto").ToEntero}")
e.Row.FCDropDownList("DdlCultivosCuadroEdit").DataBind()
e.Row.FCDropDownList("DdlCultivosCuadroEdit").Items.Insert(0, New ListItem("Seleccione uno", "-1"))
e.Row.FCDropDownList("DdlCultivosCuadroEdit").SelectedValueExist(e.Row.DBCampo("CveCultivoCuadroDetalle").ToEntero)
End If
e.Row.FCTextBox("LblEditCodigo").Attributes.Add("onkeyup", String.Format("EnterAFEdit(event,this,{0},{1});", e.Row.FCHiddenField("HdnCveActivoFijo").ClientID, e.Row.FCHiddenField("HdnCodigoAF").ClientID))
e.Row.FCTextBox("LblEditCodigo").Attributes.Add("onblur", String.Format("AFBlurEdit(this,{0},{1});", e.Row.FCHiddenField("HdnCveActivoFijo").ClientID, e.Row.FCHiddenField("HdnCodigoAF").ClientID))
e.Row.FCImage("ImgAF").Attributes.Add("onclick", String.Format("AbrirVentana('/AF/PopUpBuscarAF.aspx?OPCION=OCE&RI={0}',950,600,'N');", e.Row.RowIndex))
@@ -3787,8 +3812,8 @@ Partial Class OC
End Sub
Protected Sub GvD_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GvD.RowUpdating
Dim Cantidad, Importe, Descuento As Double
Dim CveUnidad, CveClasificacion, CveActivoFijo, CvePS, CveSubProyecto, CveProyecto As Integer
Dim Obs, UM, Clasificacion, Codigo, PS, SubProyecto, Proyecto As String
Dim CveUnidad, CveClasificacion, CveActivoFijo, CvePS, CveSubProyecto, CveProyecto, CveCultivoCuadroDetalle As Integer
Dim Obs, UM, Clasificacion, Codigo, PS, SubProyecto, Proyecto, Cuadro As String
Dim gvr As GridViewRow = GvD.Rows(e.RowIndex)
Cantidad = gvr.FCTextBox("TxtCantEdit").Text.Trim.ToDouble
@@ -3839,6 +3864,11 @@ Partial Class OC
CveSubProyecto = gvr.FCDropDownList("DdlSubProyectoEdit").SelectedValue.ToEntero
SubProyecto = gvr.FCDropDownList("DdlSubProyectoEdit").SelectedItem.Text
CveCultivoCuadroDetalle = gvr.FCDropDownList("DdlCultivosCuadroEdit").SelectedValue.ToEntero
Cuadro = gvr.FCDropDownList("DdlCultivosCuadroEdit").SelectedItem.Text
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Or UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
CveProyecto = -1
Proyecto = "Seleccione"
@@ -3857,8 +3887,8 @@ Partial Class OC
CvePresupuesto = ObjCon.DtResultados.Rows(0)("CvePresupuesto").ToString.ToEntero
If CvePresupuesto > 0 Then
If ObjCon.GetPresupuestosDetalle(CvePresupuesto, -1, UsuarioActual.CveEmpresa) Then
If ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {CveClasificacion} AND Importe > 0").Rows.Count > 0 Then
Autorizado = ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {CveClasificacion} AND Importe > 0").Rows(0)("Importe").ToString.ToDouble
If ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {CveClasificacion} And Importe > 0").Rows.Count > 0 Then
Autorizado = ObjCon.DtResultados.FiltraParametros($"CveClasificacion = {CveClasificacion} And Importe > 0").Rows(0)("Importe").ToString.ToDouble
End If
End If
If ObjCon.GetPresupuestosRep(CvePresupuesto, -1, 1, $"01/09/{DateTime.Now.Year - 1}".ToDate, Now, UsuarioActual.CveEmpresa, CveProyecto,
@@ -3935,6 +3965,9 @@ Partial Class OC
dr(0)("CveActivoFijo") = CveActivoFijo
dr(0)("CodigoAF") = Codigo
dr(0)("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle
dr(0)("Cuadro") = Cuadro
'si el tipodato viene de la BD, entonces sufrió una actualización
If dr(0)("TipoDato").ToString.ToEntero = 2 Then dr(0)("TipoDato") = 1
DtDetalle.AcceptChanges()
@@ -6830,6 +6863,18 @@ Partial Class OC
If UsuarioActual.Empresa.Funcionalidad(141) = "1" Or True Then
SeleccionaSucursal()
End If
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then
DdlCultivosCuadro.Items.Clear()
DdlCultivosCuadro.DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($" CveSubProyecto = {DdlSubProyecto.SelectedValue}")
DdlCultivosCuadro.DataBind()
DdlCultivosCuadro.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
End If
End Sub
Private Sub CargaSucursal()
DdlSucursal.DataSource = GlobalDTSubProyectos(-1).FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
@@ -8361,7 +8406,7 @@ Partial Class OC
CveUnidadMedida, IvaPS, IEPSPS, IEPSPSIVA, CveClasificacion, UMAbreviatura, Clasificacion, CveProyecto, Proyecto,
CveSubProyecto, SubProyecto, Codigo, -1, 0, -1, -1, IdCuentaPorEjercer,
IdCuentaComprometido, -1, -1, -1, -1,
-1, RetIVA, RetISR, CveContratoDetalle:=CveContratoDetalle, CveTipoGastoObra:=CveTipoGastoObra)
-1, RetIVA, RetISR, CveContratoDetalle:=CveContratoDetalle, CveTipoGastoObra:=CveTipoGastoObra, CveCultivoCuadroDetalle:=-1, Cuadro:="")
ContratoObraAplciado = True
@@ -8380,4 +8425,19 @@ Partial Class OC
End Sub
Protected Sub DdlSubProyectoEdit_SelectedIndexChanged(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = CType(CType(sender, DropDownList).BindingContainer, GridViewRow)
Dim DdlSubProyectoEdit As DropDownList = GvRow.FCDropDownList("DdlSubProyectoEdit")
Dim DdlCultivosCuadroEdit As DropDownList = GvRow.FCDropDownList("DdlCultivosCuadroEdit")
Dim CveCultivoCuadroDetalle As Integer = GvRow.DataKey("CveCultivoCuadroDetalle").ToString.ToEntero
DdlCultivosCuadroEdit.Items.Clear()
DdlCultivosCuadroEdit.DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {DdlSubProyectoEdit.SelectedValue}")
DdlCultivosCuadroEdit.DataBind()
DdlCultivosCuadroEdit.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
DdlCultivosCuadroEdit.SelectedValueExist(CveCultivoCuadroDetalle)
End Sub
End Class

View File

@@ -742,7 +742,9 @@ Partial Class Sistemas_PopUpAddUsuario
GvModulosPermiso.DataSource = ObjProcesos.DtResultados.FiltraParametros($"CvePlataforma = 6")
ElseIf UsuarioActual.Empresa.CvePlataforma = 1 And CveProveedor > 0 Then
GvModulosPermiso.DataSource = ObjProcesos.DtResultados.FiltraParametros($"CvePlataforma = 7")
BtnDefaultPWD.Visible = True
If CveUsuario > 0 Then
BtnDefaultPWD.Visible = True
End If
ElseIf UsuarioActual.Empresa.CvePlataforma = 3 Then
GvModulosPermiso.DataSource = ObjProcesos.DtResultados.FiltraParametros("CveModulo = 433")
End If

View File

@@ -858,8 +858,8 @@
<asp:GridView ID="GvClentesPersonalEntrega" runat="server" Width="100%" GridLines="None" DataKeyNames="CvePersonalEntrega,PersonalEntrega,Nombre,CveUsuario,Usuario,FechaIng,Estatus,Estado"
CssClass="table table-striped table-advance table-hover mysmallbtn ScrollAD" AutoGenerateColumns="False" EmptyDataText="No se encontraron registros" ToolTip="Listado de direcciones de envio">
<Columns>
<asp:BoundField HeaderText="Personal" DataField="PersonalEntrega" ItemStyle-Width="80%"/>
<asp:BoundField HeaderText="Estatus" DataField="Estado" ItemStyle-Width="10%"/>
<asp:BoundField HeaderText="Personal" DataField="PersonalEntrega" ItemStyle-Width="80%" />
<asp:BoundField HeaderText="Estatus" DataField="Estado" ItemStyle-Width="10%" />
<asp:TemplateField HeaderText="Acciones" ItemStyle-HorizontalAlign="Left" ItemStyle-Width="10%">
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="EditClientesPersonalEntrega_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
@@ -1956,63 +1956,63 @@
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvCxC" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Cuentas X Cobrar Pendientes" ToolTip="Listado de CxC"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-height="300" GridLines="None" DataKeyNames="CveVenta">
<Columns>
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-height="300" GridLines="None" DataKeyNames="CveVenta">
<Columns>
<asp:BoundField HeaderText="Tipo" DataField="TipoDocto" />
<asp:TemplateField HeaderText="Venta">
<ItemTemplate>
<asp:Literal ID="LtlFactura" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Tipo" DataField="TipoDocto" />
<asp:TemplateField HeaderText="Venta">
<ItemTemplate>
<asp:Literal ID="LtlFactura" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Metodo Pago" DataField="ClaveMetodoPagoSAT" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Venta" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Vencimiento" DataField="FechaVencimiento" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Días Vencidos" DataField="DiasVencidos" DataFormatString="{0}" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField HeaderText="Monto Venta" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlSaldoOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}") %>'></asp:Literal>&nbsp;
<asp:BoundField HeaderText="Metodo Pago" DataField="ClaveMetodoPagoSAT" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Venta" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Vencimiento" DataField="FechaVencimiento" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Días Vencidos" DataField="DiasVencidos" DataFormatString="{0}" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField HeaderText="Monto Venta" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlSaldoOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Abonado" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlAbonado" runat="server" Text='<%# Eval("Abonado", "{0:N2}")%>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Abonado" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlAbonado" runat="server" Text='<%# Eval("Abonado", "{0:N2}")%>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Saldo" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Saldo" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Estatus" DataField="CobranzaEstatus" />
<asp:TemplateField HeaderText="Auxiliar">
<ItemTemplate>
<asp:HyperLink ID="LtlAux" runat="server" Text="Ir" CssClass="Texto thickbox"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton ID="ImgVisitas" runat="server" CausesValidation="False" OnClick="Visitas_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-info'></i>" Visible="false" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Abonar">
<ItemTemplate>
<%--<asp:Image ID="ImgAbonar" runat="server" ImageUrl="~/Imagenes/Money_add.png" AlternateText="Registrar Pago/Abono" Style="cursor:pointer;" />--%>
<asp:HyperLink ID="ImgAbonar" CssClass="Texto thickbox" runat="server" ImageUrl="~/Imagenes/Money_add.png" ToolTip="Registrar Pago/Abono"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Estatus" DataField="CobranzaEstatus" />
<asp:TemplateField HeaderText="Auxiliar">
<ItemTemplate>
<asp:HyperLink ID="LtlAux" runat="server" Text="Ir" CssClass="Texto thickbox"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton ID="ImgVisitas" runat="server" CausesValidation="False" OnClick="Visitas_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-info'></i>" Visible="false" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Abonar">
<ItemTemplate>
<%--<asp:Image ID="ImgAbonar" runat="server" ImageUrl="~/Imagenes/Money_add.png" AlternateText="Registrar Pago/Abono" Style="cursor:pointer;" />--%>
<asp:HyperLink ID="ImgAbonar" CssClass="Texto thickbox" runat="server" ImageUrl="~/Imagenes/Money_add.png" ToolTip="Registrar Pago/Abono"></asp:HyperLink>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</div>
</div>
</div>
</div>
</div>
@@ -2046,53 +2046,53 @@
<input type="text" id="TxtCxCHistorial" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtCxCHistorial','{0}')", GvCxCHistorial.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtCxCHistorial','{0}')", GvCxCHistorial.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<br />
<br />
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvCxCHistorial" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró Historial de Cuentas X Cobrar"
ToolTip="Listado de Historia CxC" CssClass="table table-striped table-advance table-hover table-grid Widthall ScrollAD" data-height="300"
GridLines="None">
<Columns>
<asp:GridView ID="GvCxCHistorial" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontró Historial de Cuentas X Cobrar"
ToolTip="Listado de Historia CxC" CssClass="table table-striped table-advance table-hover table-grid Widthall ScrollAD" data-height="300"
GridLines="None">
<Columns>
<asp:BoundField HeaderText="Tipo" DataField="TipoDocto" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Factura" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlFactura" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Fecha Venta" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Vencimiento" DataField="FechaVencimiento" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField HeaderText="Monto Venta (Saldo Orig)" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlSaldoOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}") %>'></asp:Literal>&nbsp;
<asp:BoundField HeaderText="Tipo" DataField="TipoDocto" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField HeaderText="Factura" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlFactura" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="Fecha Venta" DataField="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:BoundField HeaderText="Fecha Vencimiento" DataField="FechaVencimiento" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" />
<asp:TemplateField HeaderText="Monto Venta (Saldo Orig)" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlSaldoOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Abonado" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlAbonado" runat="server" Text='<%# Eval("Abonado", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Abonado" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlAbonado" runat="server" Text='<%# Eval("Abonado", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Saldo" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Saldo" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:Literal ID="LtlSaldo" runat="server" Text='<%# Eval("Saldo", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Auxiliar" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlAux" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Auxiliar" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlAux" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</div>
</div>
</div>
</div>
@@ -4188,7 +4188,7 @@
<asp:Label runat="server" ID="LblUsadosImpCargo"></asp:Label></td>
<td style="text-align: right!important">
<asp:Button runat="server" Visible="false" Height="34px" Width="180px" ID="LnkFacturaUsadosCargos" CssClass="btn btn-primary" Text="Generar NC Cargo" data-toggle="confirmation" data-popout="true" data-original-title="Comfirmar generación de nota de crédito de cargos" data-btn-ok-label="si" OnClick="LnkFacturaUsadosCargos_Click"></asp:Button>
<asp:Button runat="server" Visible="false" Height="34px" Width="300px" ID="LnkFacturaUsadosCargos" CssClass="btn btn-primary" Text="Generar NC Cargo" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar generación de remisión de nota de crédito de cargos" data-btn-ok-label="si" OnClick="LnkFacturaUsadosCargos_Click"></asp:Button>
</td>
</tr>
<tr>
@@ -4197,7 +4197,7 @@
<asp:Label runat="server" ID="LblusadosImpBonificacion"></asp:Label></td>
<td style="text-align: right!important">
<asp:Button runat="server" Height="34px" Width="180px" ID="LnkFacturaUsadosBonificacion" CssClass="btn btn-primary" Text="Generar NC Bonificación" data-toggle="confirmation" data-popout="true" data-original-title="Comfirmar generación de nota de crédito de bonificación" data-btn-ok-label="si" OnClick="LnkFacturaUsadosBonificacion_Click"></asp:Button>
<asp:Button runat="server" Height="34px" Width="300px" ID="LnkFacturaUsadosBonificacion" CssClass="btn btn-primary" Text="Generar RNC de Bonificación" data-toggle="confirmation" data-popout="true" data-original-title="Confirmar generación de remisión de nota de crédito de bonificación" data-btn-ok-label="si" OnClick="LnkFacturaUsadosBonificacion_Click"></asp:Button>
</td>
</tr>
@@ -4210,6 +4210,35 @@
</div>
</div>
</div>
<div class="col-md-6" id="DivSaldoUsados" runat="server">
<div class="portlet light xspadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Saldo de Cliente</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
</div>
<div class="portlet-body form">
<asp:UpdatePanel ID="UpGvUsadosResumen" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvUsadosResumen" Width="100%" runat="server" GridLines="None"
CssClass="table table-striped table-advance table-hover ScrollAD " ShowHeader="True" EmptyDataText="No se encontraron resultados." ShowHeaderWhenEmpty="true"
AutoGenerateColumns="False" AllowPaging="False" ShowFooter="False">
<Columns>
<asp:BoundField DataField="SaldoCliente" HeaderText="" />
<asp:BoundField DataField="Puntos" HeaderText="Puntos" DataFormatString="{0:n}" ItemStyle-HorizontalAlign="Right" ControlStyle-BorderWidth="150px" />
<asp:BoundField DataField="Valor" HeaderText="Valor $" DataFormatString="{0:n}" ItemStyle-HorizontalAlign="Right" ControlStyle-BorderWidth="150px" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>
@@ -4269,6 +4298,14 @@
<asp:CompareValidator ID="CVFechaFUsados" runat="server" ControlToValidate="TxtFechaFUsados" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="ValidaUsados"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEFechaFUsados" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaFUsados" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<label class="col-md-1 " style="width: 120px; text-align: right">Concepto:</label>
<div class="col-md-2" style="width: 120px">
<asp:DropDownList ID="DdlConceptoUsado" runat="server" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Entradas" Value="1"></asp:ListItem>
<asp:ListItem Text="Salidas" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
@@ -4302,8 +4339,8 @@
<asp:BoundField DataField="EstadoBonificacion" HeaderText="F Bonificación" ItemStyle-HorizontalAlign="Center" />--%>
<asp:HyperLinkField DataTextField="SerieFolio" Target="_blank" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" ItemStyle-HorizontalAlign="Left" HeaderText="Venta" />
<asp:HyperLinkField DataTextField="SerieFolioNC" Target="_blank" DataNavigateUrlFields="CveVentaNC" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" ItemStyle-HorizontalAlign="Left" HeaderText="Notá de Credito" />
<asp:HyperLinkField DataTextField="SerieFolioBonificacion" Target="_blank" DataNavigateUrlFields="CveVentaBonificacion" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" ItemStyle-HorizontalAlign="Left" HeaderText="V. Bonifi" />
<asp:HyperLinkField DataTextField="Folio" Target="_blank" DataNavigateUrlFields="CveMovimiento" DataNavigateUrlFormatString="/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}" ItemStyle-HorizontalAlign="Left" HeaderText="Movto" />
<asp:BoundField DataField="FechaIng" HeaderText="Fecha" DataFormatString="{0:d}" ItemStyle-HorizontalAlign="Center" ControlStyle-BorderWidth="100px" />
@@ -4577,14 +4614,9 @@
<asp:HyperLink ID="ImgAddObs" CssClass="caption-subject bold" data-toggle="modal" data-target="#ModalBitacora" runat="server" Text=" <i class='fa fa-commenting font-green' style='font-weight: 700 !important;' ><span class='caption-subject bold'>Agregar</span></i>" Style="cursor: pointer;" ToolTip="Observaciones"></asp:HyperLink><br />
<asp:HyperLink ID="HlEvento" CssClass="thickbox caption-subject bold" runat="server" Text=" <i class='fa fa-calendar-plus-o font-green' style='font-weight: 700 !important;' >Agendar</i>" Visible="false" Style="cursor: pointer;" ToolTip="Agendar"></asp:HyperLink><br />
<asp:Literal ID="LtlTareaNueva" runat="server"></asp:Literal>
<UserControl:TareaNueva runat="server" id="TareaNueva" />
<script> function OnAddedTareaNueva() {
$('.btnupEventoBitacora').click();
}
</script>
<UserControl:TareaNueva runat="server" ID="TareaNueva" />
<script> function OnAddedTareaNueva() { $('.btnupEventoBitacora').click(); }</script>
</div>
</div>
</div>
<div class="portlet-body">

View File

@@ -9137,7 +9137,7 @@ Partial Class Clientes
Dim ImporteCargo As Decimal = 0D
Dim ImporteBonificacion As Decimal = 0D
If ObjAcum.DistribuidorMovtosGet(CveCliente, UsuarioActual.CveEmpresa, TxtFechaIUsados.Text.ToDate, TxtFechaFUsados.Text.ToDate) Then
If ObjAcum.DistribuidorMovtosGet(CveCliente, UsuarioActual.CveEmpresa, TxtFechaIUsados.Text.ToDate, TxtFechaFUsados.Text.ToDate, CveConcepto:=DdlConceptoUsado.SelectedValue.ToEntero()) Then
GvAcum.DataSource = ObjAcum.DtResultados
@@ -9161,6 +9161,11 @@ Partial Class Clientes
End If
If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa, TxtFechaIUsados.Text.ToDate, TxtFechaFUsados.Text.ToDate) Then
GvUsadosResumen.DataSource = ObjAcum.DtResultados
End If
GvUsadosResumen.DataBind()
'LnkFacturaUsadosCargos.Visible = If(ImporteCargo > 0, True, False)
LnkFacturaUsadosBonificacion.Visible = If(ImporteBonificacion > 0, True, False)
@@ -9169,6 +9174,7 @@ Partial Class Clientes
UpAcciones.Update()
UpUsadosResumen.Update()
UpGvUsadosResumen.Update()
UpAcum.Update()
End If

View File

@@ -1902,7 +1902,7 @@ Partial Class PV
For Each Dr As DataRow In TmpDTAjustes.Rows
If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero,
Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero,
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime()) Then
Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal()) Then
ErrorList.Add("Ocurrió un error al agregar la garantia detalle.")
End If
Next

View File

@@ -224,12 +224,13 @@
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivPSSAT">
<ADS:Dropdownlost runat="server" ID="DdlSATPS" CssStyle="width: 46%;" CssClass="form-control input-sm select2me" DataTextField="Descripcion" DataValueField="CveSATPS" />
<%-- <asp:DropDownList ID="DdlSATPS" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" AutoPostBack="false" CausesValidation="true" DataTextField="Descripcion" DataValueField="CveSATPS" Width="350px" Enabled="true">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>--%>
<label for="<%= DdlSATPS.ClientID.ToString()%>">Producto Servicio SAT:</label>
<%-- <asp:RequiredFieldValidator ID="Rfvpssat" runat="server" ControlToValidate="DdlSATPS" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Productos Servicios SAT''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="vcepssat" runat="server" HighlightCssClass="vco" TargetControlID="Rfvpssat" Width="300px"></ajax:ValidatorCalloutExtender>--%>
<i></i>
</div>
<br />
<div class="form-group form-md-line-input input-iconright" runat="server" id="DivPSAdicionalVigencia" visible="false">
<ADS:Dropdownlost runat="server" ID="DdlPSAdicionalVigencia" CssStyle="width: 46%;" CssClass="form-control input-sm select2me" DataTextField="PSCodigo" DataValueField="CvePS" />
<label for="<%= DdlPSAdicionalVigencia.ClientID.ToString()%>">Producto de vigencia:</label>
<i></i>
</div>
<br />

View File

@@ -212,6 +212,11 @@ Partial Class ProductosyServicios
DdlIVA.Enabled = False
End If
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
DivPSAdicionalVigencia.Visible = True
CargaPSAdicionalesVigencias()
End If
If CvePS > 0 Then
CargaEquivalencias()
CargaPSAdicionales()
@@ -769,6 +774,12 @@ Partial Class ProductosyServicios
DdlSATPS.SelectedText = $"{ObjProductosServicios.SATClavePS} - {ObjProductosServicios.SATDescripcion}"
CveSATPS = ObjProductosServicios.CveSATPS
End If
If ObjProductosServicios.DtResultados.Rows(0)("CvePSAdicionalVigencia").ToString.ToEntero() > 0 Then
DdlPSAdicionalVigencia.SelectedValue = ObjProductosServicios.DtResultados.Rows(0)("CvePSAdicionalVigencia").ToString
DdlPSAdicionalVigencia.SelectedText = ObjProductosServicios.DtResultados.Rows(0)("CodigoPSVigencia").ToString
End If
If ObjProductosServicios.CveFraccionArancelaria.ToString <> Nothing Then
DdlFraccionArancelaria.SelectedValue = ObjProductosServicios.CveFraccionArancelaria.ToString
DdlFraccionArancelaria.SelectedText = ObjProductosServicios.ClaveSATFraccionArancelariaDescripcion
@@ -918,6 +929,14 @@ Partial Class ProductosyServicios
DdlSATPS.ddlWS.Attributes.Add("data-metodo", "getpssat")
End Sub
Public Sub CargaPSAdicionalesVigencias()
DdlPSAdicionalVigencia.setEsWebService(True)
DdlPSAdicionalVigencia.Attributes.Add("data-cvesubproyecto", "-1")
DdlPSAdicionalVigencia.ddlWS.Attributes.Add("data-cveclasificacion", "-1")
DdlPSAdicionalVigencia.ddlWS.Attributes.Add("data-pagina", "ventas/ventas")
DdlPSAdicionalVigencia.ddlWS.Attributes.Add("data-Estatus", "1")
End Sub
Public Sub CargaDdlFraccionArancelaria()
DdlFraccionArancelaria.setEsWebService(True)
DdlFraccionArancelaria.Attributes.Add("data-metodo", "getfraccionarancelaria")
@@ -1218,7 +1237,7 @@ Partial Class ProductosyServicios
CveClasificacionDetalle:=DdlTipoPSDes.SelectedValue.ToEntero, CveTamaño:=DdlTamanio.SelectedValue.ToEntero,
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad) > 0 Then
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero()) > 0 Then
ViewState("CvePS") = ObjProductosServicios.CvePS
For Each GVR As GridViewRow In GvImpuestosLocales.Rows
If GVR.FCCheckBox("ChkDeduccion").Checked Then
@@ -1267,7 +1286,7 @@ Partial Class ProductosyServicios
CveModelo:=DdlModelo.SelectedValue.ToEntero(), CveMedida:=DdlMedida.SelectedValue.ToEntero(), CveRinTamaño:=DdlRin.SelectedValue.ToEntero(),
ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString,
ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked,
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad) Then
AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TiempoCaducidad, CvePSAdicionalVigencia:=DdlPSAdicionalVigencia.SelectedValue.ToEntero()) Then
If Not ObjProductosServicios.LimpiaImpuestosLocales(CvePS) Then
TieneError = True

View File

@@ -69,7 +69,7 @@
<div class="row">
<label class="col-md-1 ">Cliente:</label>
<div class="col-md-3">
<ADS:Dropdownlost ID="DdlCliente" runat="server" CssStyle="width: 95%;" DataTextField="NombreComercial" DataValueField="CveCliente"></ADS:Dropdownlost>
<ADS:Dropdownlost ID="DdlCliente" runat="server" CssStyle="width: 95%;" DataTextField="NombreComercial" DataValueField="CveCliente"></ADS:Dropdownlost>
</div>
<label class="col-md-1 ">Vendedor:</label>
<div class="col-md-3">
@@ -86,26 +86,26 @@
</div>
<div class="row">
<div class="col-md-1" >Esquema Nuevo:</div>
<div class="col-md-2" style="vertical-align:bottom;align-items:initial">
<asp:CheckBox runat="server" ID ="ChkEsquemaNuevo" CssClass="md-checksd" />
</div>
<div class="col-md-1">Esquema Nuevo:</div>
<div class="col-md-2" style="vertical-align: bottom; align-items: initial">
<asp:CheckBox runat="server" ID="ChkEsquemaNuevo" CssClass="md-checksd" />
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<div class="row" style="margin-right: 10px; margin-top: 18px;" align="right">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvDatos.ClientID) %>" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:UpdatePanel ID="UpDatos" UpdateMode="Conditional" runat="server">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server"
DataKeyNames="Nombre,FolioPago,SerieFolio,CveVenta,CveIE,CveCliente,Transaccion,CveVendedor,CveSubProyecto,Vendedor,SubProyecto,CveCategoria,CveMoneda,Costo,CostoDolares"
EmptyDataText="No se han encontrado datos con los filtros especificados." data-sort="true" GridLines="None"
<asp:GridView ID="GvDatos" runat="server"
DataKeyNames="Nombre,FolioPago,SerieFolio,CveVenta,CveIE,CveCliente,Transaccion,CveVendedor,CveSubProyecto,Vendedor,SubProyecto,CveCategoria,CveMoneda,Costo,CostoDolares,Comision,PorcentajeComision,TieneCategoriaValida,CodigoPS"
EmptyDataText="No se han encontrado datos con los filtros especificados." data-sort="true" GridLines="None"
CssClass="table table-hover table-striped Widthall ScrollAD " Width="100%" AutoGenerateColumns="False"
OnRowDataBound="GvDatos_RowDataBound" OnPreRender="GvDatos_PreRender" >
OnRowDataBound="GvDatos_RowDataBound" OnPreRender="GvDatos_PreRender">
<Columns>
<%-- 0 --%>
<asp:HyperLinkField DataTextField="Nombre" Target="_blank" DataNavigateUrlFields="CveCliente" DataNavigateUrlFormatString="/Ventas/Clientes.aspx?CveCliente={0}" HeaderText="Cliente" ItemStyle-HorizontalAlign="Left" />
@@ -130,7 +130,7 @@
<%-- 10 --%>
<asp:BoundField DataField="SubTotal" HeaderText="SubTotal" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<%-- 11 --%>
<asp:BoundField DataField="SubTotalPago" HeaderText="SubTotal Pago" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="SubTotalPago" HeaderText="SubTotal Pago" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<%-- 12 --%>
<asp:BoundField DataField="Moneda" HeaderText="Moneda" ItemStyle-HorizontalAlign="Left" />
<%-- 13 --%>
@@ -150,13 +150,42 @@
<%-- 20 --%>
<asp:BoundField DataField="DescNC" HeaderText="Descto NC." DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<%-- 21 --%>
<asp:BoundField DataField="Comision" HeaderText="Comision" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:BoundField DataField="Utilidad" HeaderText="Utilidad" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<%-- 22 --%>
<asp:BoundField DataField="PorcentajeUtilidad" HeaderText="% Utilidad" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<%-- 23 --%>
<asp:BoundField DataField="Comision" HeaderText="Comision" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<%-- 24 --%>
<asp:BoundField DataField="PorcentajeComision" HeaderText="% Comision" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Center" />
<%-- 25 --%>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="15%" HeaderText="Info">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" Visible="false" title="Info" ID="LnkInfo" OnClick="LnkInfo_Click" CssClass="btn btn-circle btn-sm green" runat="server" Text="<i class='fa fa-info-circle'></i>"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
<div id="DModalInfo" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog modal" runat="server" ID="UpModalInformacion" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header ">
<h4 class="modal-title">
<asp:Literal Text="Información" runat="server"> </asp:Literal></h4>
</div>
<div class="modal-body">
<asp:Label ID="LblInfo" runat="server"> </asp:Label>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
</asp:Content>

View File

@@ -60,6 +60,10 @@ public partial class Ventas_RepComisionesJAM : ClsPaginas
DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString());
DdlVendedor.Attributes.Add("disabled", "disabled");
DdlVendedor.Enabled = false;
}
GvDatos.Columns[15].Visible = UsuarioActual.TienePermisoProceso(201);
GvDatos.Columns[21].Visible = UsuarioActual.TienePermisoProceso(311);
@@ -106,29 +110,33 @@ public partial class Ventas_RepComisionesJAM : ClsPaginas
//e.Row.Cells[0].Text = e.Row.DBCampo("SubProyecto").ToString();
}
else if (e.Row.DBCampo("CveVenta").ToEntero() < 1)
{
{
e.Row.CssClass = "SubTotales2";
//e.Row.Cells[0].Text = e.Row.DBCampo("Vendedor").ToString();
}
else
{
if (e.Row.DBCampo("Transaccion").ToString() == "Pago")
{
if (e.Row.DBCampo("CveCategoria").ToEntero() < 1 && e.Row.DBCampo("Comision").ToDouble() == 0)
{
//if (UsuarioActual.TienePermisoProceso(201))
//{
// e.Row.Cells[21].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
// e.Row.Cells[22].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
//}
//else
//{
e.Row.Cells[21].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
e.Row.Cells[22].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
//}
}else if (e.Row.DBCampo("CveCategoria").ToEntero() > 0 )
{
e.Row.Cells[21].ToolTip = $"El producto obtuvo la comision porque se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria",$"CveCategoria = {e.Row.DBCampo("CveCategoria").ToString()}")}.";
//e.Row.Cells[0].Text = e.Row.DBCampo("Vendedor").ToString();
}
else
{
if (e.Row.DBCampo("Transaccion").ToString() == "Pago" && ChkEsquemaNuevo.Checked)
{
e.Row.FCLinkButton("LnkInfo").Visible = true;
//if (e.Row.DBCampo("CveCategoria").ToEntero() < 1 && e.Row.DBCampo("Comision").ToDouble() == 0)
//{
// //if (UsuarioActual.TienePermisoProceso(201))
// //{
// // e.Row.Cells[21].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
// // e.Row.Cells[22].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
// //}
// //else
// //{
// e.Row.Cells[21].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
// e.Row.Cells[22].ToolTip = "No se encuentra dentro de alguna categoria que de comision ni a alguno de los productos especiales.";
// //}
//}else if (e.Row.DBCampo("CveCategoria").ToEntero() > 0 )
//{
// e.Row.Cells[21].ToolTip = $"El producto obtuvo la comision porque se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria",$"CveCategoria = {e.Row.DBCampo("CveCategoria").ToString()}")}.";
// e.Row.Cells[22].ToolTip = $"El producto obtuvo la comision porque se encuentra en la categoria: {get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {e.Row.DBCampo("CveCategoria").ToString()}")}.";
//}else if(e.Row.DBCampo("Comision").ToDouble() > 0)
//{
// e.Row.Cells[21].ToolTip = "El producto obtuvo comision porque esta dentro de los de las comisiones especiales.";
// e.Row.Cells[22].ToolTip = "El producto obtuvo comision porque esta dentro de los de las comisiones especiales.";
//}
@@ -342,4 +350,28 @@ public partial class Ventas_RepComisionesJAM : ClsPaginas
}
else
{
lista.Add(new CrystalParametro("ImagenPath", ""));
}
ImprimirbytesPDF(ImprimirPDFCrystal(Server.MapPath("~/Empresas/119/Formatos/RepComisionesJAM.rpt"), DtDatos, lista, "RepComisionesJAM", Formato), "RepComisionesJAM", Formato);
}
protected void LnkInfo_Click(object sender, EventArgs e)
{
GridViewRow gvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
if (!Convert.ToBoolean(gvRow.DataKey("TieneCategoriaValida")) && gvRow.DataKey("Comision").ToDouble() == 0)
{
LblInfo.Text = $"No se encuentra dentro de alguna categoria que de comision ni alguno de los productos especiales.<br/> La categoria del producto es: <b>{get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = { gvRow.DataKey("CveCategoria").ToString()}")}</b>. ";
}
else if (Convert.ToBoolean(gvRow.DataKey("TieneCategoriaValida")) && gvRow.DataKey("Comision").ToDouble() > 0)
{
LblInfo.Text = $"El producto obtuvo la comision porque se encuentra en la categoria: <b>{get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {gvRow.DataKey("CveCategoria").ToString()}")}</b> y esta dentro de los rangos de precio publico y dias validos. ";
}
else if (Convert.ToBoolean(gvRow.DataKey("TieneCategoriaValida")) && gvRow.DataKey("Comision").ToDouble() == 0)
{
LblInfo.Text = $"El producto se encuentra en la categoria: <b>{get_GlobalDTGralCategorias(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Categoria", $"CveCategoria = {gvRow.DataKey("CveCategoria").ToString()}")}</b> que da comision, pero no se encuentra dentro de los rangos de precio publico y dias validos.";
}
else if (gvRow.DataKey("Comision").ToDouble() > 0)
{

View File

@@ -428,40 +428,50 @@ Partial Class Ventas_RepVentas
Dim FechaIRef As DateTime = FechaI.ToDateTime()
Dim FechaFRef As DateTime = FechaF.ToDateTime()
Dim Anio As Integer = FechaFRef.Year
Dim Mes As Integer = e.Row.DBCampo("Mes").ToEntero()
Dim lastDayOfMonth = DateTime.DaysInMonth(Anio, Mes)
If e.Row.DBCampo("Mes").ToEntero() > 0 Then
Dim Anio As Integer = FechaFRef.Year
Dim Mes As Integer = e.Row.DBCampo("Mes").ToEntero()
Dim lastDayOfMonth = DateTime.DaysInMonth(Anio, Mes)
Dim Dia As Integer = FechaFRef.Day
Dim Dia As Integer = FechaFRef.Day
If e.Row.DBCampo("Mes").ToEntero() <> FechaFRef.Month Then
Dia = lastDayOfMonth
If e.Row.DBCampo("Mes").ToEntero() <> FechaFRef.Month Then
Dia = lastDayOfMonth
End If
If e.Row.DBCampo("Mes").ToEntero() <> FechaIRef.Month Then
FechaInicial = New DateTime(Anio, Mes, 1).ToString("dd/MM/yyyy")
End If
FechaFinal = New DateTime(Anio, Mes, Dia).ToString("dd/MM/yyyy")
End If
If e.Row.DBCampo("Mes").ToEntero() <> FechaIRef.Month Then
FechaInicial = New DateTime(Anio, Mes, 1).ToString("dd/MM/yyyy")
End If
FechaFinal = New DateTime(Anio, Mes, Dia).ToString("dd/MM/yyyy")
Case 3 ' AÑO/MES
Dim FechaIRef As DateTime = FechaI.ToDateTime()
Dim FechaFRef As DateTime = FechaF.ToDateTime()
Dim Anio As Integer = e.Row.DBCampo("Anio").ToEntero()
Dim Mes As Integer = e.Row.DBCampo("Mes").ToEntero()
Dim lastDayOfMonth = DateTime.DaysInMonth(Anio, Mes)
Dim separator As Char = "/".ToCharArray().FirstOrDefault()
Dim AnioMes = e.Row.DBCampo("AnioMes").Split(separator)
Dim Dia As Integer = FechaFRef.Day
Dim Anio As Integer = AnioMes(0).ToEntero()
Dim Mes As Integer = AnioMes(1).ToEntero()
If e.Row.DBCampo("Mes").ToEntero() <> FechaFRef.Month Then
Dia = lastDayOfMonth
If Anio > 0 AndAlso Mes > 0 Then
Dim lastDayOfMonth = DateTime.DaysInMonth(Anio, Mes)
Dim Dia As Integer = FechaFRef.Day
If e.Row.DBCampo("Mes").ToEntero() <> FechaFRef.Month Then
Dia = lastDayOfMonth
End If
If e.Row.DBCampo("Mes").ToEntero() <> FechaIRef.Month Then
FechaInicial = New DateTime(Anio, Mes, 1).ToString("dd/MM/yyyy")
End If
FechaFinal = New DateTime(Anio, Mes, Dia).ToString("dd/MM/yyyy")
End If
If e.Row.DBCampo("Mes").ToEntero() <> FechaIRef.Month Then
FechaInicial = New DateTime(Anio, Mes, 1).ToString("dd/MM/yyyy")
End If
FechaFinal = New DateTime(Anio, Mes, Dia).ToString("dd/MM/yyyy")
Case 4 ' FECHA
FechaInicial = e.Row.DBCampo("Fecha").ToDateTime().ToString("dd/MM/yyyy")
FechaFinal = e.Row.DBCampo("Fecha").ToDateTime().ToString("dd/MM/yyyy")

View File

@@ -4343,11 +4343,11 @@
<asp:HyperLink ID="ImgAddObs" CssClass="caption-subject bold" data-toggle="modal" data-target="#ModalBitacora" runat="server" Text=" <i class='fa fa-commenting font-green' style='font-weight: 700 !important;' ><span class='caption-subject bold'>Agregar</span></i>" Style="cursor: pointer;" ToolTip="Observaciones"></asp:HyperLink><br />
<asp:HyperLink ID="HlEvento" CssClass="thickbox caption-subject bold" runat="server" Visible="false" Style="cursor: pointer; text-decoration: none;" ToolTip="Agendar"><i class='fa fa-calendar-plus-o font-green' style='font-weight: 700 !important;' ></i> <span class="caption-subject bold font-green">Agendar</span></asp:HyperLink><br />
<asp:Literal ID="LtlTareaNueva" runat="server"></asp:Literal>
<UserControl:TareaNueva runat="server" id="TareaNueva" />
<UserControl:TareaNueva runat="server" ID="TareaNueva" />
<script>
function OnAddedTareaNueva() {
$('.btnupEventoBitacora').click();
}
$('.btnupEventoBitacora').click();
}
</script>
</div>
</div>
@@ -6152,7 +6152,7 @@
<br />
<div class="col-md-12" style="height: 440px; overflow: auto">
<asp:GridView ID="GvCxC" runat="server" AutoGenerateColumns="False" OnRowDataBound="GvCxC_RowDataBound"
DataKeyNames="CveVenta" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn" GridLines="None">
DataKeyNames="CveVenta,CveMetodoPago33,CveFormaPago33" CssClass="table table-striped table-advance table-hover Widthall mysmallbtn" GridLines="None">
<Columns>
<asp:TemplateField>
<ItemTemplate>
@@ -6255,7 +6255,7 @@
</div>
<div class="col-md-10">
<asp:DropDownList ID="DdlVentaUsado" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Folio" DataValueField="CveVenta" Width="100%" CssClass="select2me" OnSelectedIndexChanged="DdlVentaUsado_SelectedIndexChanged"></asp:DropDownList>
<%-- <asp:RequiredFieldValidator ID="RFVVentaUsado" runat="server" InitialValue="-1" ControlToValidate="DdlVentaUsado" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Factura''</b> es necesario, por favor ingréselo." ValidationGroup="VGAplicarRNC"></asp:RequiredFieldValidator>
<%-- <asp:RequiredFieldValidator ID="RFVVentaUsado" runat="server" InitialValue="-1" ControlToValidate="DdlVentaUsado" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Factura''</b> es necesario, por favor ingréselo." ValidationGroup="VGAplicarRNC"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCEVentaUsado" runat="server" HighlightCssClass="vco" TargetControlID="RFVVentaUsado" Width="350px"></ajax:ValidatorCalloutExtender>--%>
</div>
</div>
@@ -6427,6 +6427,20 @@
<h4 class="modal-title">Aplicar Devolución</h4>
</div>
<div class="modal-body">
<div class="row" id="DivPenalizacion" runat="server" visible="false">
<div class="col-md-2">
<label>Aplicar % de Penalización</label>
</div>
<div class="col-md-2">
<asp:TextBox ID="TxtPorPenalizacion" runat="server" CssClass="form-control input-sm" Text="" onkeyup="LimitaPenalizacionDevolucion(this);"></asp:TextBox>
<asp:RangeValidator ID="RFVPenalizacion" runat="server" Type="Integer" MinimumValue="0" MaximumValue="100" ErrorMessage="El campo <b>''Penalización''</b> es necesario, por favor ingréselo." ControlToValidate="TxtPorPenalizacion" Display="None"></asp:RangeValidator>
<ajax:FilteredTextBoxExtender ID="FTBPenalizacion" runat="server" TargetControlID="TxtPorPenalizacion" FilterType="Custom, Numbers" ValidChars=".," />
</div>
<div class="col-md-2">
<asp:Button ID="BtnCalcularPenalizacion" runat="server" CssClass="btn btn-primary btn-sm" Text="Calcular" OnClick="BtnCalcularPenalizacion_Click" />
</div>
<div class="col-md-6"> </div>
</div>
<div class="row" style="margin-bottom: 10px;">
<div class="text-right col-md-offset-8 col-md-4">
<input type="text" id="TxtBusquedaDevolucion" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusquedaDevolucion','{0}')", GvAplicaDevolucion.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 150px;" />
@@ -6469,7 +6483,7 @@
<asp:BoundField HeaderText="PU" DataField="PU" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField HeaderText="PU Editado" Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtPrecioEditado" runat="server" Text='<%#Eval("PU").ToString%>' MaxLength="12" Width="46px" Height="24px"></asp:TextBox>
<asp:TextBox ID="TxtPrecioEditado" runat="server" Text='<%#Eval("PU").ToString%>' MaxLength="12" Width="50%" Height="24px" CssClass="ImporteDevolucion"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="SoloNumeros1Editado" runat="server" TargetControlID="TxtPrecioEditado" FilterType="Custom, Numbers" ValidChars=".," />
</ItemTemplate>
</asp:TemplateField>
@@ -7104,7 +7118,7 @@
if (Chk.checked) {
let SaldoMaximoUtilizable = ToDouble(HdnSaldoMaximoUsados.value)
let ImportesAsignados = 0;
$('.ImportesRNCCargo').each(function () {
if ($(this).context.id != TxtImporte.id) {
ImportesAsignados += ToDouble($(this).val());
@@ -7127,7 +7141,7 @@
}
}
} else {
TxtImporte.value = "";
}
@@ -7148,14 +7162,14 @@
// if (TxtImporte.value != '') {
// Importe = parseFloat(TxtImporte.value);
// }
//let SaldoMaximoUtilizable = ToDouble(HdnSaldoMaximoUsados.value)
//let ImportesAsignados = 0;
//$('.ImportesRNCCargo').each(function () {
// if ($(this).context.id != TxtImporte.id) {
// ImportesAsignados += ToDouble($(this).val());
// }
//});
//let SaldoMaximoUtilizable = ToDouble(HdnSaldoMaximoUsados.value)
//let ImportesAsignados = 0;
//$('.ImportesRNCCargo').each(function () {
// if ($(this).context.id != TxtImporte.id) {
// ImportesAsignados += ToDouble($(this).val());
// }
//});
// let ImporteDiferencia = SaldoMaximoUtilizable - ImportesAsignados;
// if (ImporteDiferencia < 0) {
@@ -7193,9 +7207,9 @@
let SaldoMaximoUtilizable = parseFloat(HdnSaldoMaximoUsados.value)
let ImportesAsignados = 0;
$('.ImportesRNCCargo').each(function () {
if ($(this).context.id != TxtImporte.id) {
ImportesAsignados += ToDouble($(this).val());
}
if ($(this).context.id != TxtImporte.id) {
ImportesAsignados += ToDouble($(this).val());
}
});
let ImporteDiferencia = SaldoMaximoUtilizable - ImportesAsignados;
@@ -7340,6 +7354,13 @@
}
}
function LimitaPenalizacionDevolucion(TxtPenalizacion) {
const Porcentaje = ToDouble(TxtPenalizacion.value)
if (Porcentaje >= 100) {
TxtPenalizacion.value = "100"
}
}
function displayToastr(x) {
toastr.options = {
@@ -7909,7 +7930,6 @@
}
function chkAnt(t, txt, importe, AmorContrato = 0) {
debugger;
var totalAnt = 0;
let TipoAnticipo = $('#<%= DdlTipoAmortizacionAnticipo.ClientID %>').val();
@@ -8245,57 +8265,57 @@
function ConvertirPesosDlls() {
var totalPesos = FormatoNumero(ToDouble($get('TxtTotal').value) / ToDouble($get('TxtTipoCambioDlls').value), 2)
$('#<%= LblDolaresConvertidos.ClientID %>').text(totalPesos);
$("#TrConversionDolaresTexto").show();
$("#TrConversionDolaresTexto").show();
}
function ConvertirDolares(ChkConvertirDolares) {
//LIMPIA
$('#<%= LblDolaresConvertidos.ClientID %>').text('');
$("#TrConversionDolaresTexto").hide();
//CALCULA
if (ChkConvertirDolares.checked) {
ConvertirPesosDlls();
}
}
function ConvertirDolares(ChkConvertirDolares) {
//LIMPIA
$('#<%= LblDolaresConvertidos.ClientID %>').text('');
$("#TrConversionDolaresTexto").hide();
//FUNCIONES PARA MODAL "ModalAplicarNC"
function CalculaImporteNC() {
var ImporteReferencia = (($('#C_DdlNCNivelImporte').val() == "1") ? ToDouble($get('TxtTotal').value) : ToDouble($get('TxtSubTotal').value));
//var ImporteReferencia = ToDouble($get('TxtTotal').value);
//CALCULA
if (ChkConvertirDolares.checked) {
ConvertirPesosDlls();
}
}
$get('TxtNCImporte').value = FormatoNumero((ToDouble($get('TxtNCPorcentaje').value) * ImporteReferencia) / 100, 2);
}
//FUNCIONES PARA MODAL "ModalAplicarNC"
function CalculaImporteNC() {
var ImporteReferencia = (($('#C_DdlNCNivelImporte').val() == "1") ? ToDouble($get('TxtTotal').value) : ToDouble($get('TxtSubTotal').value));
//var ImporteReferencia = ToDouble($get('TxtTotal').value);
function CalculaPorcentajeNC() {
var ImporteReferencia = (($('#C_DdlNCNivelImporte').val() == "1") ? ToDouble($get('TxtTotal').value) : ToDouble($get('TxtSubTotal').value));
//var ImporteReferencia = ToDouble($get('TxtTotal').value);
$get('TxtNCPorcentaje').value = FormatoNumero((ToDouble($get('TxtNCImporte').value) * 100) / ImporteReferencia, 4);
}
$get('TxtNCImporte').value = FormatoNumero((ToDouble($get('TxtNCPorcentaje').value) * ImporteReferencia) / 100, 2);
}
function CambioTipoMoneda(chk, saldo, txt, tipocambio, CveMoneda) {
debugger;
if (tipocambio.value.length > 0) {
function CalculaPorcentajeNC() {
var ImporteReferencia = (($('#C_DdlNCNivelImporte').val() == "1") ? ToDouble($get('TxtTotal').value) : ToDouble($get('TxtSubTotal').value));
//var ImporteReferencia = ToDouble($get('TxtTotal').value);
$get('TxtNCPorcentaje').value = FormatoNumero((ToDouble($get('TxtNCImporte').value) * 100) / ImporteReferencia, 4);
}
if (CveMoneda == 1) {
txt.value = FormatoNumero(ToDouble(saldo / tipocambio.value), 2);
} else {
txt.value = FormatoNumero(ToDouble(saldo * tipocambio.value), 2);
function CambioTipoMoneda(chk, saldo, txt, tipocambio, CveMoneda) {
debugger;
if (tipocambio.value.length > 0) {
}
}
}
if (CveMoneda == 1) {
txt.value = FormatoNumero(ToDouble(saldo / tipocambio.value), 2);
} else {
txt.value = FormatoNumero(ToDouble(saldo * tipocambio.value), 2);
function BuscarOCRegistrada() {
$('#btnBuscarOCRegistrada').click();
}
}
}
}
function ValidaAnticipoBoton() {
function BuscarOCRegistrada() {
$('#btnBuscarOCRegistrada').click();
}
var Descuentototal = ToDouble($('#LblDescuentos').text()).toFixed(2);
var TotalAnticipos = ToDouble($('#LblTotalAnticipos').text()).toFixed(2);
function ValidaAnticipoBoton() {
var Descuentototal = ToDouble($('#LblDescuentos').text()).toFixed(2);
var TotalAnticipos = ToDouble($('#LblTotalAnticipos').text()).toFixed(2);
var IndexActualDdl = parseInt($('#<%= DdlTipoAmortizacionAnticipo.ClientID %>').prop('selectedIndex'));
var IndexActualDdl = parseInt($('#<%= DdlTipoAmortizacionAnticipo.ClientID %>').prop('selectedIndex'));
if (IndexActualDdl == 1 && IndexActualDd2 > 0 && TotalAnticipos > 0) {

View File

@@ -2053,6 +2053,10 @@ Partial Class Ventas
thPoliza2.Visible = True
End If
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso UsuarioActual.CveUsuario = 100 Then
DivPenalizacion.Visible = True
End If
DdlSATPS.setEsWebService(True) : DdlSATPS.Attributes.Add("data-metodo", "getpssat")
DivPSSAT.Visible = True
@@ -5674,7 +5678,7 @@ Partial Class Ventas
LnkCotizaciones.Visible = False
End If
UPCondicionesPago.Update()
ElseIf UsuarioActual.CveEmpresa.Contiene(72, 119) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot", "PA") AndAlso CveVenta < 1 Then
ElseIf UsuarioActual.CveEmpresa.Contiene(72, 80, 146, 119) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "Cot", "PA") AndAlso CveVenta < 1 Then
RBLPago.SelectedValue = "1"
RBLPago_SelectedIndexChanged(Nothing, Nothing)
UPCondicionesPago.Update()
@@ -8088,6 +8092,22 @@ Partial Class Ventas
ObjFacturaDevolucion.FormaPago = 0
ObjFacturaDevolucion.TipoDocto = "Egs"
If UsuarioActual.CveEmpresa = 140 Then
Dim ObjFolios As New ClsGralFolios()
Dim TipoDoctoConsulta As String = If(ObjFacturaDevolucion.TipoDocto = "Ant", "Ing", If(ObjFacturaDevolucion.TipoDocto = "PA", "Rem", ObjFacturaDevolucion.TipoDocto))
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()
End If
DT.Dispose()
End If
ObjFolios.Dispose()
End If
ObjFacturaDevolucion.Fecha = Now
ObjFacturaDevolucion.Version = "3.3"
@@ -8350,6 +8370,21 @@ Partial Class Ventas
ObjFacturaBonificacion.FormaPago = 0
ObjFacturaBonificacion.TipoDocto = "Egs"
If UsuarioActual.CveEmpresa = 140 Then
Dim ObjFolios As New ClsGralFolios()
Dim TipoDoctoConsulta As String = If(ObjFacturaBonificacion.TipoDocto = "Ant", "Ing", If(ObjFacturaBonificacion.TipoDocto = "PA", "Rem", ObjFacturaBonificacion.TipoDocto))
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()
End If
DT.Dispose()
End If
ObjFolios.Dispose()
End If
ObjFacturaBonificacion.Fecha = Now
ObjFacturaBonificacion.Version = "3.3"
@@ -8763,6 +8798,23 @@ Partial Class Ventas
'ObjFactura.Folio = If(ExFolioFactura, FolioXML.ToEntero(), -1)
ObjFactura.Serie = If(VistaPrevia, "VistaPrevia", LblSerie.Text)
If UsuarioActual.CveEmpresa = 140 Then
Dim ObjFolios As New ClsGralFolios()
Dim TipoDoctoConsulta As String = If(ObjFactura.TipoDocto = "Ant", "Ing", If(ObjFactura.TipoDocto = "PA", "Rem", ObjFactura.TipoDocto))
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()
End If
DT.Dispose()
End If
ObjFolios.Dispose()
End If
ObjFactura.Fecha = New Date(TxtFecha.Text.Trim.ToDate.Year, TxtFecha.Text.Trim.ToDate.Month, TxtFecha.Text.Trim.ToDate.Day, Now.Hour, Now.Minute, Now.Second)
ObjFactura.CvePrePoliza = -1
ObjFactura.CveMetodoPago = 0 'DdlMetodoPago.SelectedValue.ToEntero()
@@ -9392,6 +9444,7 @@ Partial Class Ventas
'ObjFacturaDevolucion.RefDocto = TxtDocto.Text.Trim
'ObjFacturaDevolucion.Folio = If(ExFolioFactura, FolioXML.ToEntero(), -1)
ObjFacturaDevolucion.Serie = LblSerie.Text
ObjFacturaDevolucion.Fecha = New Date(TxtFecha.Text.Trim.ToDate.Year, TxtFecha.Text.Trim.ToDate.Month, TxtFecha.Text.Trim.ToDate.Day, Now.Hour, Now.Minute, Now.Second)
ObjFacturaDevolucion.CvePrePoliza = -1
ObjFacturaDevolucion.CveMetodoPago = 0 'DdlMetodoPago.SelectedValue.ToEntero()
@@ -9406,6 +9459,22 @@ Partial Class Ventas
ObjFacturaDevolucion.FormaPago = 0
'ObjFacturaDevolucion.SerieFolio = String.Format("{0}-{1}", LblSerie.Text, TxtFolio.Text)
ObjFacturaDevolucion.TipoDocto = "Egs"
If UsuarioActual.CveEmpresa = 140 Then
Dim ObjFolios As New ClsGralFolios()
Dim TipoDoctoConsulta As String = If(ObjFacturaDevolucion.TipoDocto = "Ant", "Ing", If(ObjFacturaDevolucion.TipoDocto = "PA", "Rem", ObjFacturaDevolucion.TipoDocto))
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()
End If
DT.Dispose()
End If
ObjFolios.Dispose()
End If
ObjFacturaDevolucion.Fecha = Now
@@ -16060,7 +16129,7 @@ Partial Class Ventas
Dim Row As DataRow = Nothing
Dim TotalCalculableImpuestos As Decimal = 0
Dim TotalCalculableImpuestosIVA As Decimal = 0
PU = PU.RoundSQL(6) ' el precio unitario puede llevar hasta 6 decimales permitidos
PU = PU.RoundAD(6) ' el precio unitario puede llevar hasta 6 decimales permitidos
Row = TmpDT.NewRow()
Row("CveProyecto") = CveProyecto
@@ -16186,19 +16255,19 @@ Partial Class Ventas
Row("IVA") = Row("PorcentajeIVA")
Row("ImporteIVA") = (Row("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestosIVA).RoundSQL(NumeroDecimales)
Row("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Row("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Row("ImporteIVA") = (Row("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestosIVA).RoundAD(NumeroDecimales)
Row("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundAD(NumeroDecimales)
Row("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundAD(NumeroDecimales)
Row("PorcentajeRetIVA") = ClienteRetIVA
Row("PorcentajeRetISR") = ClienteRetISR
Row("PorcentajeIEPS") = DrPS("IEPSPorcentaje")
Row("ImporteIEPS") = (DrPS("IEPSPorcentaje").ToString().ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
Row("ImporteIEPS") = (DrPS("IEPSPorcentaje").ToString().ToDecimal * TotalCalculableImpuestos).RoundAD(NumeroDecimales)
Row("IEPS") = Row("ImporteIEPS")
Row("Descuento") = (Descuento).RoundSQL(NumeroDecimales)
Row("Descuento") = (Descuento).RoundAD(NumeroDecimales)
Row("TipoDescuento") = HdnTipoDescuento.Value
Row("CvePromocionDetalle") = CvePromocionDetalle
Row("Total") = (Cantidad * PU)
Row("TotalImporte") = (Cantidad * PU).RoundSQL(NumeroDecimales)
Row("TotalImporte") = (Cantidad * PU).RoundAD(NumeroDecimales)
'Row("AsientoContableVentas") = DrPS("AsientoContableVentas")
' Row("IdCtaContVentas") = IdCtaContable
@@ -19097,7 +19166,15 @@ Partial Class Ventas
If UsuarioActual.Empresa.Funcionalidad(589) = "1" Then
DdlMetodoPago33.SelectedValueExist("3")
DdlMetodoPago33.Enabled = False
If UsuarioActual.CveEmpresa.Contiene(72, 80, 146) Then
DdlFormaPago33.Enabled = False
DdlFormaPago33.SelectedValueExist("20")
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
End If
End If
Case 2 'CONTADO
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem") Or (UsuarioActual.Empresa.Funcionalidad(558).ToEntero() = 1 And DdlTipoComprobante.SelectedValue = "Cot") Then
DivContado.Visible = True
@@ -19108,6 +19185,12 @@ Partial Class Ventas
If UsuarioActual.Empresa.Funcionalidad(589) = "1" Then
DdlMetodoPago33.SelectedValueExist("1")
DdlMetodoPago33.Enabled = False
If UsuarioActual.CveEmpresa.Contiene(72, 80, 146) Then
DdlFormaPago33.Enabled = True
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
End If
End If
Case 3 ' TERMINAL
DivTerminal.Visible = True
@@ -23516,9 +23599,18 @@ Partial Class Ventas
HdnSaldoMaximoUsados.Value = SaldoMaximoUsados.ToString()
LtlSMU.Text = String.Format("{0:N2}", SaldoMaximoUsados)
Else
DivSMU.Visible = False
HdnSaldoMaximoUsados.Value = "0"
LtlSMU.Text = "0"
Dim ObjAcum As New ClsAcumuladores
If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) Then
Dim RowUsadosNC As DataRow = ObjAcum.DtResultados.Rows(2)
DivSMU.Visible = True
HdnSaldoMaximoUsados.Value = RowUsadosNC("Valor").ToString()
LtlSMU.Text = RowUsadosNC("Valor").ToString().ToDecimal().FormatoNumero(2)
Else
DivSMU.Visible = False
HdnSaldoMaximoUsados.Value = "0"
LtlSMU.Text = "0"
End If
ObjAcum.Dispose()
End If
UpModalRemisionesNC.Update()
@@ -23804,248 +23896,278 @@ Partial Class Ventas
End Sub
Private Sub AplicarNC(CvePS As Integer, Optional NCDescuento As Boolean = False, Optional EsNCAmortizacion As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional AplicaNuevoDocumento As Boolean = False, Optional AplicoNCFacturaActual As Boolean = False)
Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
If DrPS Is Nothing Then
Alert("Ocurrió un error al cargar la información del producto. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
Exit Sub
Else
'VALIDA CLAVES SAT
If DrPS("SATClavePS").ToString() = "" Then
Alert($"El concepto <b>{DrPS("Codigo").ToString()}-{DrPS("PS").ToString()}</b> no cuenta con producto SAT. Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
Try
Dim DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).FiltroPrimero("")
If DrPS Is Nothing Then
Alert("Ocurrió un error al cargar la información del producto. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
Exit Sub
Else
'VALIDA CLAVES SAT
If DrPS("SATClavePS").ToString() = "" Then
Alert($"El concepto <b>{DrPS("Codigo").ToString()}-{DrPS("PS").ToString()}</b> no cuenta con producto SAT. Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If DrPS("SATClaveUnidadMedida").ToString() = "" Then
Alert($"El concepto <b>{DrPS("Codigo").ToString()}-{DrPS("PS").ToString()}</b> no cuenta con Unidad Medida SAT. Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
If DrPS("SATClaveUnidadMedida").ToString() = "" Then
Alert($"El concepto <b>{DrPS("Codigo").ToString()}-{DrPS("PS").ToString()}</b> no cuenta con Unidad Medida SAT. Por favor verifique y vuelva a intentar", TipoMensaje.MsgAdvertencia)
Exit Sub
If Not AplicaImpuestosLocales Then
If TmpDTImpuestos IsNot Nothing Then
TmpDTImpuestos.Rows.Clear()
GvImpuestosLocales2.DataSource = TmpDTImpuestos
GvImpuestosLocales2.DataBind()
End If
End If
End If
If Not AplicaImpuestosLocales Then
If TmpDTImpuestos IsNot Nothing Then
TmpDTImpuestos.Rows.Clear()
GvImpuestosLocales2.DataSource = TmpDTImpuestos
GvImpuestosLocales2.DataBind()
End If
End If
Me.AplicoNCFacturaActual = AplicoNCFacturaActual
Me.AplicoNCFacturaActual = AplicoNCFacturaActual
'CREAMOS DT PARA UTILIZAR AL TIMBRAR
InicializaDTVentasNC()
'CREAMOS DT PARA UTILIZAR AL TIMBRAR
InicializaDTVentasNC()
Dim DtImpuestos As New DataTable
DtImpuestos.Columns.Add("ImportePU", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteTotal", GetType(Decimal))
DtImpuestos.Columns.Add("PorcentajeIVA", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteIVA", GetType(Decimal))
DtImpuestos.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteRetIVA", GetType(Decimal))
DtImpuestos.Columns.Add("PorcentajeRetISR", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteRetISR", GetType(Decimal))
DtImpuestos.Columns.Add("PorcentajeIEPS", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteIEPS", GetType(Decimal))
DtImpuestos.Columns.Add("CveSubProyecto", GetType(Integer))
DtImpuestos.AcceptChanges()
Dim AcumuladoNC As Decimal = 0
Dim DtImpuestos As New DataTable
DtImpuestos.Columns.Add("ImportePU", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteTotal", GetType(Decimal))
DtImpuestos.Columns.Add("PorcentajeIVA", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteIVA", GetType(Decimal))
DtImpuestos.Columns.Add("PorcentajeRetIVA", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteRetIVA", GetType(Decimal))
DtImpuestos.Columns.Add("PorcentajeRetISR", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteRetISR", GetType(Decimal))
DtImpuestos.Columns.Add("PorcentajeIEPS", GetType(Decimal))
DtImpuestos.Columns.Add("ImporteIEPS", GetType(Decimal))
DtImpuestos.Columns.Add("CveSubProyecto", GetType(Integer))
DtImpuestos.AcceptChanges()
Dim AcumuladoNC As Decimal = 0
Dim DtImpuestosBonificacion As DataTable = DtImpuestos.Copy()
Dim DtImpuestosBonificacion As DataTable = DtImpuestos.Copy()
If Not AplicaNuevoDocumento Then
If AplicaNCMasiva Then
If NCDescuento Then
For Each RNC In ListaNCDesc
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
Next
If Not AplicaNuevoDocumento Then
If AplicaNCMasiva Then
If NCDescuento Then
For Each RNC In ListaNCDesc
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
Next
'SI HAY RNC DE BONIFICACION SE AGREGAN
If ListaNCBonificacion IsNot Nothing AndAlso ListaNCBonificacion.Count > 0 Then
For Each RNC In ListaNCBonificacion
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
'SI HAY RNC DE BONIFICACION SE AGREGAN
If ListaNCBonificacion IsNot Nothing AndAlso ListaNCBonificacion.Count > 0 Then
For Each RNC In ListaNCBonificacion
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
Next
End If
Else
Dim NumVentasAplicar As Integer = 1
For Each Gvr As GridViewRow In GvCxC.Rows
If Gvr.FCCheckBox("ChkCxC").Checked Then
DtImpuestos.Merge(CargaDtImpuestosNC(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
'CARGA FACTURA A LA CUAL SE APLICA LA NC
AcumuladoNC += Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal
CargaNCDT(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal)
If UsuarioActual.CveEmpresa = 140 AndAlso NumVentasAplicar = 1 Then
DdlMetodoPago33.Enabled = True
DdlMetodoPago33.SelectedValueExist(Gvr.DataKey("CveMetodoPago33").ToString())
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
DdlFormaPago33.Enabled = True
DdlFormaPago33.SelectedValueExist(Gvr.DataKey("CveFormaPago33").ToString())
End If
NumVentasAplicar += 1
End If
Next
End If
Else
DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero())
For Each Gvr As GridViewRow In GvCxC.Rows
If Gvr.FCCheckBox("ChkCxC").Checked Then
DtImpuestos.Merge(CargaDtImpuestosNC(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero()), True, MissingSchemaAction.Ignore)
'CARGA FACTURA A LA CUAL SE APLICA LA NC
AcumuladoNC += Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal
CargaNCDT(Gvr.DataKey("CveVenta").ToString().ToEntero(), Gvr.FCTextBox("TxtImporte").Text.ToString().ToDecimal)
If EsNCAmortizacion Then
If DtAnticipoAmortizacion Is Nothing Then
InicializaDTAnticiposAmortizacion()
End If
Dim PorcentajeAplicado As Decimal = (TxtNCPorcentaje.Text.ToDecimal / 100D)
Dim RowAnticipo As DataRow = DtAnticipoAmortizacion.NewRow
RowAnticipo("CveVenta") = Me.CveVenta
RowAnticipo("Importe") = TxtNCImporte.Text.Trim.ToDecimal
RowAnticipo("SaldoAnticipo") = SaldoAnticipo * PorcentajeAplicado
DtAnticipoAmortizacion.Rows.Add(RowAnticipo)
End If
End If
Else
For Each RNC In ListaRemisionesNC
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
Next
For Each RNC In ListaNCBonificacion
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
Next
End If
Dim query = From dr In DtImpuestos
Group By PorcentajeIVA = dr("PorcentajeIVA").ToString().ToDecimal,
PorcentajeRetIVA = dr("PorcentajeRetIVA").ToString().ToDecimal,
PorcentajeRetISR = dr("PorcentajeRetISR").ToString().ToDecimal,
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
Into x = Group
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
PorcentajeIVA = PorcentajeIVA,
PorcentajeRetIVA = PorcentajeRetIVA,
PorcentajeRetISR = PorcentajeRetISR,
PorcentajeIEPS = PorcentajeIEPS
Dim queryBonificacion = From dr In DtImpuestosBonificacion
Group By PorcentajeIVA = dr("PorcentajeIVA").ToString().ToDecimal,
PorcentajeRetIVA = dr("PorcentajeRetIVA").ToString().ToDecimal,
PorcentajeRetISR = dr("PorcentajeRetISR").ToString().ToDecimal,
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
Into x = Group
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
PorcentajeIVA = PorcentajeIVA,
PorcentajeRetIVA = PorcentajeRetIVA,
PorcentajeRetISR = PorcentajeRetISR,
PorcentajeIEPS = PorcentajeIEPS
Dim DrSubProyecto = GlobalDTSubProyectos(-1, DdlSubProyectoDatos.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, -1).FiltroPrimero("")
If DrSubProyecto Is Nothing Then
Alert("Ocurrió un error al cargar la información de centro de costos. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
Exit Sub
End If
DtImpuestos = query.QueryToDataTable(False)
DtImpuestosBonificacion = queryBonificacion.QueryToDataTable(False)
If Not NCDescuento Then
LimpiaDocumentoNC()
End If
Dim CveSubProyecto = DrSubProyecto("CveSubProyecto").ToString().ToEntero()
Dim SubProyecto = DrSubProyecto("SubProyecto").ToString()
Dim CveProyecto = DrSubProyecto("CveProyecto").ToString().ToEntero()
Dim Proyecto = DrSubProyecto("Proyecto").ToString()
AplicaNC = True
If NCDescuento Then
TmpDTDescNC = TmpDT.Clone()
TmpDTDescNC.Clear()
If UsuarioActual.CveEmpresa = 140 Then
CrearDTNCCargo(ListaNCDesc, DtImpuestos, TmpDTDescNC, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
'EN LA NC DE BONIFICACION EL CONCEPTO DEBE SER SIEMPRE 'BONIFICACION POR USADO'
Dim DrPSBonificacion = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=360481).FiltroPrimero("")
If DrPSBonificacion IsNot Nothing Then
CrearDTNCBonificacion(ListaNCDesc, DtImpuestosBonificacion, TmpDTDescNC, DrPSBonificacion, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
Else
Alert("No se encontró el concepto de BONIFICACION POR USADO", TipoMensaje.MsgAdvertencia)
CrearDTNCBonificacion(ListaNCDesc, DtImpuestosBonificacion, TmpDTDescNC, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
End If
Else
For Each Dr As DataRow In DtImpuestos.Rows
AgregaTempDT(TmpDTDescNC, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
Next
End If
TrTipoRelacion.Visible = True
DdlTiposRelacion.SelectedValueExist("1")
'verifica el tipo de cambio que se actualice
If DdlMoneda.SelectedValue <> "1" Then
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
End If
Else
DtImpuestos = CargaDtImpuestosNC(CveVenta, TxtNCImporte.Text.Trim.ToDecimal, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero())
If DdlTipoComprobante.SelectedValue = "Ant" Then CveAnticipo = CveVenta
If EsNCAmortizacion Then
If DtAnticipoAmortizacion Is Nothing Then
InicializaDTAnticiposAmortizacion()
DdlTipoComprobante.SelectedValueExist("Egs")
'verifica el total de multiples facturas
Dim Acumulado12 As Decimal = 0
Dim UltimoRenglon As Integer = 1
Dim Ajuste As Decimal = 0
'DEBE AGREGAR LOS USADOS DE LA REMISION EN LA NOTA DE CREDITO
If UsuarioActual.CveEmpresa = 140 AndAlso (ListaRemisionesNC IsNot Nothing AndAlso ListaRemisionesNC.Count > 0) Then
CrearDTNCCargo(ListaRemisionesNC, DtImpuestos, TmpDT, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
'EN LA NC DE BONIFICACION EL CONCEPTO DEBE SER SIEMPRE 'BONIFICACION POR USADO'
Dim DrPSBonificacion = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=360481).FiltroPrimero("")
If DrPSBonificacion IsNot Nothing Then
CrearDTNCBonificacion(ListaRemisionesNC, DtImpuestosBonificacion, TmpDT, DrPSBonificacion, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
Else
Alert("No se encontró el concepto de BONIFICACION POR USADO", TipoMensaje.MsgAdvertencia)
CrearDTNCBonificacion(ListaRemisionesNC, DtImpuestosBonificacion, TmpDT, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
End If
Dim PorcentajeAplicado As Decimal = (TxtNCPorcentaje.Text.ToDecimal / 100D)
Dim RowAnticipo As DataRow = DtAnticipoAmortizacion.NewRow
RowAnticipo("CveVenta") = Me.CveVenta
RowAnticipo("Importe") = TxtNCImporte.Text.Trim.ToDecimal
RowAnticipo("SaldoAnticipo") = SaldoAnticipo * PorcentajeAplicado
Else
For Each Dr As DataRow In DtImpuestos.Rows
Acumulado12 += Dr("ImportePU").ToString().ToDecimal.RoundSQL + Dr("ImporteIVA").ToString().ToDecimal.RoundSQL + Dr("ImporteIEPS").ToString().ToDecimal
If UltimoRenglon = DtImpuestos.Rows.Count Then
'ajusta 5 centavos de diferencia
If Acumulado12 <> AcumuladoNC And Math.Abs(Acumulado12 - AcumuladoNC) <= 0.05 Then
Ajuste = (Acumulado12 - AcumuladoNC)
End If
End If
UltimoRenglon += 1
DtAnticipoAmortizacion.Rows.Add(RowAnticipo)
AgregaTempDT(TmpDT, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal + Ajuste, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal(), "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
Next
End If
GvPS.DataSource = TmpDT
GvPS.DataBind()
CalculaTotalesVenta(RecalculaImpuestosLocales:=AplicaImpuestosLocales)
TrTipoRelacion.Visible = True
DdlTiposRelacion.SelectedValueExist("1")
DdlSubProyectoDatos.Enabled = False
'condicióon, en la que se verifica que el importe total de aplicación de la nota de crédito sea igual al del total de la nota de crédito, ej. saldo de la factura 1000.01 y la nota de crédito se generó po 1000.00
If Not AplicaNCMasiva Then
Dim TT As Decimal = TxtNCImporte.Text.ToDecimal
If TT > TxtTotal.Text.ToDecimal Then TT = TxtTotal.Text.ToDecimal
CargaNCDT(CveVenta, TT)
End If
'verifica el tipo de cambio que se actualice
If DdlMoneda.SelectedValue <> "1" Then
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
End If
LblTCValuacion.Visible = False
UpPS.Update()
LBNotaCredito.Visible = False
CambiaTipoDocto()
End If
Else
For Each RNC In ListaRemisionesNC
DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
Next
For Each RNC In ListaNCBonificacion
DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore)
Next
End If
Dim query = From dr In DtImpuestos
Group By PorcentajeIVA = dr("PorcentajeIVA").ToString().ToDecimal,
PorcentajeRetIVA = dr("PorcentajeRetIVA").ToString().ToDecimal,
PorcentajeRetISR = dr("PorcentajeRetISR").ToString().ToDecimal,
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
Into x = Group
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
PorcentajeIVA = PorcentajeIVA,
PorcentajeRetIVA = PorcentajeRetIVA,
PorcentajeRetISR = PorcentajeRetISR,
PorcentajeIEPS = PorcentajeIEPS
Dim queryBonificacion = From dr In DtImpuestosBonificacion
Group By PorcentajeIVA = dr("PorcentajeIVA").ToString().ToDecimal,
PorcentajeRetIVA = dr("PorcentajeRetIVA").ToString().ToDecimal,
PorcentajeRetISR = dr("PorcentajeRetISR").ToString().ToDecimal,
PorcentajeIEPS = dr("PorcentajeIEPS").ToString().ToDecimal
Into x = Group
Select ImportePU = x.Sum(Function(s) s("ImportePU").ToString().ToDecimal),
ImporteTotal = x.Sum(Function(s) s("ImporteTotal").ToString().ToDecimal),
ImporteIVA = x.Sum(Function(s) (s("ImporteIVA").ToString().ToDecimal)).RoundSQL(2), ' Math.Round(s("ImporteIVA").ToString().ToDecimal, 2)) * (1 + PorcentajeIEPS) * PorcentajeIVA,
ImporteRetIVA = x.Sum(Function(s) Math.Round(s("ImporteRetIVA").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA,
ImporteRetISR = x.Sum(Function(s) Math.Round(s("ImporteRetISR").ToString().ToDecimal, 2)),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR,
ImporteIEPS = x.Sum(Function(s) Math.Round(s("ImporteIEPS").ToString().ToDecimal, 2)), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS,
PorcentajeIVA = PorcentajeIVA,
PorcentajeRetIVA = PorcentajeRetIVA,
PorcentajeRetISR = PorcentajeRetISR,
PorcentajeIEPS = PorcentajeIEPS
Dim DrSubProyecto = GlobalDTSubProyectos(-1, DdlSubProyectoDatos.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa, -1).FiltroPrimero("")
If DrSubProyecto Is Nothing Then
Alert("Ocurrió un error al cargar la información de centro de costos. Por favor comuniquese con asistencia SIG", TipoMensaje.MsgError)
Exit Sub
End If
DtImpuestos = query.QueryToDataTable(False)
DtImpuestosBonificacion = queryBonificacion.QueryToDataTable(False)
If Not NCDescuento Then
LimpiaDocumentoNC()
End If
Dim CveSubProyecto = DrSubProyecto("CveSubProyecto").ToString().ToEntero()
Dim SubProyecto = DrSubProyecto("SubProyecto").ToString()
Dim CveProyecto = DrSubProyecto("CveProyecto").ToString().ToEntero()
Dim Proyecto = DrSubProyecto("Proyecto").ToString()
AplicaNC = True
If NCDescuento Then
TmpDTDescNC = TmpDT.Clone()
TmpDTDescNC.Clear()
If UsuarioActual.CveEmpresa = 140 Then
CrearDTNCCargo(ListaNCDesc, DtImpuestos, TmpDTDescNC, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
CrearDTNCBonificacion(ListaNCDesc, DtImpuestosBonificacion, TmpDTDescNC, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
Else
For Each Dr As DataRow In DtImpuestos.Rows
AgregaTempDT(TmpDTDescNC, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal, "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
Next
End If
TrTipoRelacion.Visible = True
DdlTiposRelacion.SelectedValueExist("1")
'verifica el tipo de cambio que se actualice
If DdlMoneda.SelectedValue <> "1" Then
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
End If
Else
If DdlTipoComprobante.SelectedValue = "Ant" Then CveAnticipo = CveVenta
DdlTipoComprobante.SelectedValueExist("Egs")
'verifica el total de multiples facturas
Dim Acumulado12 As Decimal = 0
Dim UltimoRenglon As Integer = 1
Dim Ajuste As Decimal = 0
'DEBE AGREGAR LOS USADOS DE LA REMISION EN LA NOTA DE CREDITO
If UsuarioActual.CveEmpresa = 140 AndAlso ListaRemisionesNC.Count > 0 Then
CrearDTNCCargo(ListaRemisionesNC, DtImpuestos, TmpDT, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
CrearDTNCBonificacion(ListaRemisionesNC, DtImpuestosBonificacion, TmpDT, DrPS, CveProyecto, Proyecto, CveSubProyecto, SubProyecto)
Else
For Each Dr As DataRow In DtImpuestos.Rows
Acumulado12 += Dr("ImportePU").ToString().ToDecimal.RoundSQL + Dr("ImporteIVA").ToString().ToDecimal.RoundSQL + Dr("ImporteIEPS").ToString().ToDecimal
If UltimoRenglon = DtImpuestos.Rows.Count Then
'ajusta 5 centavos de diferencia
If Acumulado12 <> AcumuladoNC And Math.Abs(Acumulado12 - AcumuladoNC) <= 0.05 Then
Ajuste = (Acumulado12 - AcumuladoNC)
End If
End If
UltimoRenglon += 1
AgregaTempDT(TmpDT, DrPS("CvePS").ToString().ToEntero(), DrPS("PS").ToString(), DrPS("Codigo").ToString(), DrPS("PSCodigo").ToString(), DrPS("CveTipoPS").ToString().ToEntero(), DrPS("Inv_CveMetodoInventario").ToString().ToEntero(),
DrPS("CveUM").ToString().ToEntero(), DrPS("UnidadMedida").ToString(), DrPS("CveClasificacion").ToString().ToEntero(), DrPS("Clasificacion").ToString(), CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
TxtNCObservaciones.Text.Trim, 1, Dr("ImportePU").ToString().ToDecimal + Ajuste, Dr("PorcentajeIVA").ToString().ToDecimal, Dr("ImporteIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("ImporteRetIVA").ToString().ToDecimal,
Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("ImporteRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("ImporteIEPS").ToString().ToDecimal, -1, 0.0, Dr("ImporteTotal").ToString().ToDecimal(), "", "", -1, -1,
DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1)
Next
End If
GvPS.DataSource = TmpDT
GvPS.DataBind()
CalculaTotalesVenta(RecalculaImpuestosLocales:=AplicaImpuestosLocales)
TrTipoRelacion.Visible = True
DdlTiposRelacion.SelectedValueExist("1")
DdlSubProyectoDatos.Enabled = False
'condicióon, en la que se verifica que el importe total de aplicación de la nota de crédito sea igual al del total de la nota de crédito, ej. saldo de la factura 1000.01 y la nota de crédito se generó po 1000.00
If Not AplicaNCMasiva Then
Dim TT As Decimal = TxtNCImporte.Text.ToDecimal
If TT > TxtTotal.Text.ToDecimal Then TT = TxtTotal.Text.ToDecimal
CargaNCDT(CveVenta, TT)
End If
'verifica el tipo de cambio que se actualice
If DdlMoneda.SelectedValue <> "1" Then
TxtTipoCambio.Text = GlobalTipoCambio(Now).ToString()
End If
LblTCValuacion.Visible = False
UpPS.Update()
LBNotaCredito.Visible = False
CambiaTipoDocto()
End If
Catch ex As Exception
OnError("Ocurrió un error al aplicar NC", ex)
End Try
UPCondicionesPago.Update()
End Sub
Private Sub CrearDTNCCargo(ListaNC As List(Of Modelos.Factura), DtImpuestos As DataTable, ByRef TmpDTCargo As DataTable, DrPS As DataRow, CveProyecto As Integer, Proyecto As String, CveSubProyecto As Integer, SubProyecto As String)
@@ -24364,11 +24486,13 @@ Partial Class Ventas
'ACTIVA CONDICIONES DE PAGO
DdlUsoCFDI.Enabled = True
DdlUsoCFDI.SelectedValueExist("2")
DdlMetodoPago33.Enabled = True
DdlMetodoPago33.SelectedValueExist("1") ' PUE
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
DdlFormaPago33.Enabled = True
DdlFormaPago33.SelectedValueExist("11") ' condonación por default
If UsuarioActual.CveEmpresa <> 140 Then
DdlMetodoPago33.Enabled = True
DdlMetodoPago33.SelectedValueExist("1") ' PUE
CargaFormaPago(DdlMetodoPago33.SelectedValue.ToEntero())
DdlFormaPago33.Enabled = True
DdlFormaPago33.SelectedValueExist("11") ' condonación por default
End If
UpEstatus.Update()
UpnTools.Update()
@@ -24492,6 +24616,22 @@ Partial Class Ventas
UpDevolucion.Update()
End Sub
Protected Sub BtnCalcularPenalizacion_Click(sender As Object, e As EventArgs)
Dim PorcentajePenalizacion As Decimal = (TxtPorPenalizacion.Text.ToDecimal() / 100D)
For Each GvRow As GridViewRow In GvAplicaDevolucion.Rows
If GvRow.FCCheckBox("Chk").Checked Then
Dim Total As Decimal = GvRow.DataKey("PU").ToDecimal() - (GvRow.DataKey("Descuento").ToDecimal() / GvRow.DataKey("Cantidad").ToDecimal())
'APLICA EL PORCENTAJE DE PENALIZACION
GvRow.FCTextBox("TxtPrecioEditado").Text = (Total - (Total * PorcentajePenalizacion)).FormatoNumero(2)
End If
Next
UpDevolucion.Update()
End Sub
Protected Sub BtnAplicaDevolucion_Click(sender As Object, e As EventArgs)
'VALIDACIONES
@@ -24588,6 +24728,7 @@ Partial Class Ventas
e.Row.FCLabel("LblProyecto").Text = e.Row.FCLabel("LblSubProyecto").Text
e.Row.FCLabel("LblProyecto").Style.Clear()
e.Row.FCLabel("LblSubProyecto").Text = ""
'e.Row.FCCheckBox("ChkAplicar").Attributes.Add("onclick", $"CalculaSaldoRNCChk({e.Row.FCTextBox("TxtImporte").ClientID},{e.Row.DBCampo("Saldo").ToDouble}, this);")
End If
End If
End Sub
@@ -27125,6 +27266,33 @@ Partial Class Ventas
End If
Next
'SI TIENE ALGUN AJUSTE O GARANTIA
If ListaRemisionesNC.Any(Function(RNC) RNC.Num2 = 1) Then
For Each RNC In ListaRemisionesNC.Where(Function(x) x.Num2 = 1)
Dim Salir As Boolean = False
Using ObjAcum As New ClsAcumuladores
If ObjAcum.GetGarantiasDetalle(RNC.CveVenta) Then
'SI ES GARANTIA TOTAL
If ObjAcum.DtResultados.MAX("PorcentajeAjuste") = "1" Then
DdlNCPS.SelectedValueExist(443174)
DdlNCPS.Enabled = False
Salir = True
Else
DdlNCPS.SelectedValueExist(443173)
DdlNCPS.Enabled = False
End If
End If
End Using
If Salir Then
Exit For
End If
Next
Else
DdlNCPS.Enabled = True
End If
For Each GvRow As GridViewRow In GvRemisionesNCBon.Rows
If GvRow.RowType = DataControlRowType.DataRow Then
If GvRow.FCCheckBox("ChkAplicar").Checked Then
@@ -27200,6 +27368,28 @@ Partial Class Ventas
End If
Next
'SI TIENE ALGUN AJUSTE O GARANTIA
If ListaNCDesc.Any(Function(RNC) RNC.Num2 = 1) Then
For Each RNC In ListaRemisionesNC.Where(Function(x) x.Num2 = 1)
Dim Salir As Boolean = False
Using ObjAcum As New ClsAcumuladores
If ObjAcum.GetGarantiasDetalle(RNC.CveVenta) Then
'SI ES GARANTIA TOTAL
If ObjAcum.DtResultados.MAX("PorcentajeAjuste") = "1" Then
DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=443174, AplicaParaVenta:=1).Rows(0)
Salir = True
Else
DrPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=443173, AplicaParaVenta:=1).Rows(0)
End If
End If
End Using
If Salir Then
Exit For
End If
Next
End If
Dim LimiteUsados As Decimal = LblSaldoMaximoUsados.Text.Trim().ToDecimal()
'VERIFICA EL LIMITE DE LOS USADOS