Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -4,6 +4,7 @@ Option Explicit On
|
||||
Imports System.Data
|
||||
Imports System.Data.SqlClient
|
||||
Imports CrystalDecisions.[Shared].Json
|
||||
Imports DocumentFormat.OpenXml.Presentation
|
||||
Imports Extensiones
|
||||
Imports Microsoft.Ajax.Utilities
|
||||
Imports Profact.TimbraCFDI40
|
||||
@@ -2283,7 +2284,9 @@ Public Class ClsRH
|
||||
End Try
|
||||
Return Retorno
|
||||
End Function
|
||||
Public Function UpdateSalarios(CvePersonal As Integer, Fecha As String, CveUsuario As Integer, CveEmpresa As Integer, SalarioDiario As Double, SDI As Double, SalarioDiarioSS As Double, SalarioDiarioPago As Double, Optional CalcularSDI As Boolean = False) As Boolean
|
||||
Public Function UpdateSalarios(CvePersonal As Integer, Fecha As String, CveUsuario As Integer, CveEmpresa As Integer, SalarioDiario As Double, SDI As Double,
|
||||
SalarioDiarioSS As Double, SalarioDiarioPago As Double, Optional CalcularSDI As Boolean = False, Optional ActualizaSalarioV As Boolean = False,
|
||||
Optional OrigenU As String = "") As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
SqlDataAdapter("PA_RH_PersonalUpdateSalarios")
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
@@ -2296,6 +2299,8 @@ Public Class ClsRH
|
||||
.Add("@SDI", SqlDbType.Money).Value = SDI
|
||||
.Add("@SalarioDiarioSS", SqlDbType.Money).Value = SalarioDiarioSS
|
||||
.Add("@CalcularSDI", SqlDbType.Bit).Value = CalcularSDI
|
||||
.Add("@ActualizaSalarioV", SqlDbType.Bit).Value = ActualizaSalarioV
|
||||
.Add("@OrigenU", SqlDbType.Bit).Value = OrigenU
|
||||
End With
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
|
||||
@@ -420,5 +420,24 @@ Public Class ClsTransportes
|
||||
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
|
||||
Public Function VIA_FormularioTrip(cveTrip As Int32, cveUsuario As Int32, cveEmpresa As Int32) As Boolean
|
||||
Dim retorno As Boolean = False
|
||||
DataAdapter("PA_VIA_FormularioTrip", CommandType.StoredProcedure)
|
||||
With SqlAdapter.SelectCommand.Parameters
|
||||
.Add("@CveTrip", SqlDbType.Int).Value = cveTrip
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = cveUsuario
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa
|
||||
End With
|
||||
|
||||
Try
|
||||
SqlAdapter.Fill(Data)
|
||||
retorno = True
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al eliminar el importe.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
|
||||
End Try
|
||||
Return retorno
|
||||
End Function
|
||||
#End Region
|
||||
End Class
|
||||
|
||||
@@ -3,6 +3,7 @@ Option Explicit On
|
||||
Imports System.Data
|
||||
Imports System.Math
|
||||
Imports ClosedXML.Excel
|
||||
Imports DocumentFormat.OpenXml.Drawing.Diagrams
|
||||
Imports Extensiones
|
||||
|
||||
|
||||
@@ -1549,7 +1550,7 @@ Partial Class General_SaldosIniciales
|
||||
|
||||
|
||||
'P R O V E E D O R E S - F A C T U R A S
|
||||
ElseIf RblFormato.SelectedValue = "3" Or RblFormato.SelectedValue = "18" Then
|
||||
ElseIf RblFormato.SelectedValue = "3" Then
|
||||
|
||||
#Region "P R O V E E D O R E S - F A C T U R A S"
|
||||
|
||||
@@ -1774,14 +1775,314 @@ Partial Class General_SaldosIniciales
|
||||
End If
|
||||
ObjCompras.Dispose()
|
||||
|
||||
ElseIf RblFormato.SelectedValue = "18" Then
|
||||
|
||||
Dim ObjCompras As New ClsCompras
|
||||
Dim ErrorCompras As Boolean = False
|
||||
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
|
||||
Dim CveCompra As Integer
|
||||
Dim CvePrePoliza As Integer
|
||||
'Dim Contador As Integer = 0
|
||||
Dim ExisteCompra As Boolean = False
|
||||
Dim DtProveedores As New DataTable
|
||||
Dim NoEncontrados As Integer = 0
|
||||
Dim Encontrados As Integer = 0
|
||||
Dim RFC As String = ""
|
||||
|
||||
|
||||
Try
|
||||
DtProveedores = GlobalDTCompProveedores(UsuarioActual.CveEmpresa)
|
||||
|
||||
Dim drr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero("")
|
||||
Dim CvePS As Integer = drr("CvePS").ToString().ToEntero()
|
||||
Dim CveUnidadMedida As Integer = drr("CveUnidadMedida").ToString().ToEntero()
|
||||
Dim CveClasificacion As Integer = drr("CveClasificacion").ToString().ToEntero()
|
||||
Dim dtsubp As DataTable = GlobalDTSubProyectos(UsuarioActual.CveEmpresa)
|
||||
|
||||
Dim CountRow As Integer = 1
|
||||
Dim LastSerieFolioTipoDoc As String = String.Empty
|
||||
Dim EsDetalle As Boolean = False
|
||||
For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
|
||||
Dim Sucursal As String = dtsubp.FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{Row("Sucursal").ToString()}'")
|
||||
RFC = Row("RFC").ToString().Trim
|
||||
Dim Serie As String = Row("Serie").ToString().Trim
|
||||
Dim Folio As String = Row("Folio").ToString().Trim
|
||||
Dim Fecha As Date = Row("Fecha").ToString().ToDate
|
||||
Dim TipoDocto As String = Row("Tipo Documento").ToString().Trim.ToUpper
|
||||
Dim CveProveedor As Integer = 0
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
CveProveedor = DtProveedores.FiltroPrimeroValor("CveProveedor", $"RazonSocial = '{RFC}'").ToString().ToEntero()
|
||||
Else
|
||||
CveProveedor = DtProveedores.FiltroPrimeroValor("CveProveedor", $"RFC = '{RFC}'").ToString().ToEntero()
|
||||
End If
|
||||
GuardaLog(Sucursal + " - " + Row("Sucursal").ToString())
|
||||
Dim Moneda As String = Row("Moneda").ToString()
|
||||
Dim TipoCambio As String = If(dt.Columns.Contains("Tipo Cambio"), Row("Tipo Cambio").ToString(), "1")
|
||||
Dim FechaVencimiento As Date = Row("Fecha Vencimiento").ToString().ToDate
|
||||
Dim CveMoneda As Integer = 1
|
||||
Dim CveProveedorSucursal As Integer = If(dt.Columns.Contains("CveProveedorSucursal"), Row("CveProveedorSucursal").ToString(), "0").ToEntero
|
||||
Dim PorcentajeIVA As Decimal = If(dt.Columns.Contains("PorcentajeIVA"), Row("PorcentajeIVA").ToString(), "0").ToDecimal.RoundSQL
|
||||
Dim ImpuestosLocales As Decimal = If(dt.Columns.Contains("ImpuestosLocales"), Row("ImpuestosLocales").ToString(), "0").ToDecimal
|
||||
Dim RetIVAPorcentaje As Decimal = If(dt.Columns.Contains("RetIVAPorcentaje"), Row("RetIVAPorcentaje").ToString(), "0").ToDecimal
|
||||
Dim RetISRPorcentaje As Decimal = If(dt.Columns.Contains("RetISRPorcentaje"), Row("RetISRPorcentaje").ToString(), "0").ToDecimal
|
||||
Dim CveSubProyecto As Integer = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", String.Format("SubProyecto='{0}'", If(dt.Columns.Contains("SubProyecto"), Row("SubProyecto").ToString(), ""))).ToEntero
|
||||
If CveSubProyecto = 0 Then CveSubProyecto = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto").ToEntero
|
||||
|
||||
If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorCompras = True
|
||||
If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorCompras = True
|
||||
If UsuarioActual.CveEmpresa = 189 Then
|
||||
If Not CveProveedor > 0 Then Alert(String.Format("No se encontró el Proveedor con la razon social: {0}", {RFC}), TipoMensaje.MsgError) : ErrorCompras = True : Exit For
|
||||
Else
|
||||
If Not CveProveedor > 0 Then Alert(String.Format("No se encontró el Proveedor con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorCompras = True : Exit For
|
||||
End If
|
||||
If Not CveProveedorSucursal > 0 Then CveProveedorSucursal = -1
|
||||
|
||||
|
||||
If LastSerieFolioTipoDoc = $"{Folio}" AndAlso UsuarioActual.CveEmpresa = 189 Then
|
||||
EsDetalle = True
|
||||
Else
|
||||
LastSerieFolioTipoDoc = $"{Folio}"
|
||||
EsDetalle = False
|
||||
End If
|
||||
|
||||
|
||||
Dim SubTotal As Decimal = 0
|
||||
Dim IVA As Decimal = 0
|
||||
Dim Total As Decimal = 0
|
||||
Dim Saldo As Decimal = 0
|
||||
Dim RetIVA As Decimal = 0
|
||||
Dim RetISR As Decimal = 0
|
||||
Dim IEPS As Decimal = 0
|
||||
|
||||
|
||||
If UsuarioActual.CveEmpresa = 189 AndAlso Not EsDetalle Then
|
||||
For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}'").Rows
|
||||
SubTotal += item("SubTotal").ToString().ToDecimal.RoundSQL
|
||||
IVA += item("IVA").ToString().ToDecimal.RoundSQL
|
||||
Total += item("Total").ToString().ToDecimal.RoundSQL
|
||||
Saldo += item("Saldo").ToString().ToDecimal.RoundSQL
|
||||
RetIVA += item("Ret IVA").ToString().ToDecimal.RoundSQL
|
||||
RetISR += item("Ret ISR").ToString().ToDecimal.RoundSQL
|
||||
IEPS += If(dt.Columns.Contains("IEPS"), Row("IEPS").ToString(), "0").ToDecimal.RoundSQL
|
||||
Next
|
||||
Else
|
||||
SubTotal = Row("SubTotal").ToString().ToDecimal.RoundSQL
|
||||
IVA = Row("IVA").ToString().ToDecimal.RoundSQL
|
||||
Total = Row("Total").ToString().ToDecimal.RoundSQL
|
||||
Saldo = Row("Saldo").ToString().ToDecimal.RoundSQL
|
||||
RetIVA = Row("Ret IVA").ToString().ToDecimal.RoundSQL
|
||||
RetISR = Row("Ret ISR").ToString().ToDecimal.RoundSQL
|
||||
IEPS = If(dt.Columns.Contains("IEPS"), Row("IEPS").ToString(), "0").ToDecimal.RoundSQL
|
||||
End If
|
||||
|
||||
If PorcentajeIVA > 0 AndAlso IVA = 0 Then PorcentajeIVA = 0
|
||||
|
||||
Dim RetIVAConcepto As String = If(dt.Columns.Contains("RetIVAConcepto"), Row("RetIVAConcepto").ToString(), "").ToUpper
|
||||
Dim RetISRConcepto As String = If(dt.Columns.Contains("RetISRConcepto"), Row("RetISRConcepto").ToString(), "").ToUpper
|
||||
Dim CveRetIVAConcepto As Integer = If(RetIVAConcepto = "HONORARIOS", 1, If(RetIVAConcepto = "FLETES", 2, If(RetIVAConcepto = "ARRENDAMIENTO", 4, -1)))
|
||||
Dim CveRetISRConcepto As Integer = If(RetISRConcepto = "HONORARIOS", 1, If(RetISRConcepto = "ARRENDAMIENTO", 2, If(RetISRConcepto = "RESICO", 4, -1)))
|
||||
|
||||
TipoDocto = IIf(TipoDocto.Contiene("INGRESOS", "INGRESO", "ING", "FACTURA", "FACTURAS", ""), "Fac", "NC").ToString()
|
||||
|
||||
'RMF. falta validación de totales.
|
||||
'Temporalmente SE BORRARA
|
||||
Dim Transaccion As String = "" 'Row("Transaccion2").ToString()
|
||||
Dim Folio2 As String = "" 'Row("Folio2").ToString()
|
||||
Dim CodProvee As String = "" 'Row("CodProvee2").ToString()
|
||||
|
||||
'Moneda
|
||||
If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN", "MONEDA NACIONAL") Then
|
||||
CveMoneda = 1
|
||||
ElseIf Moneda.ToUpper.Contiene("DOLARES", "DOLAR", "USD", "DÓLARES", "DÓLAR") Then
|
||||
CveMoneda = 2
|
||||
End If
|
||||
|
||||
'Si no se especifica TC, se manda como pesos.
|
||||
If TipoCambio = "" Then TipoCambio = "1"
|
||||
If CveMoneda = 2 AndAlso TipoCambio = "1" Then
|
||||
TipoCambio = GlobalTipoCambio(Fecha).ToString
|
||||
End If
|
||||
|
||||
|
||||
Dim IEPSDetalle As Decimal = 0
|
||||
Dim CantidadDetalle As Decimal = 0
|
||||
Dim PUDetalle As Decimal = 0
|
||||
Dim IVADetalle As Decimal = 0
|
||||
|
||||
If RblFormato.SelectedValue = "18" Then
|
||||
|
||||
Dim CodigoDetalle As String = Row("Codigo").ToString
|
||||
If CodigoDetalle.Trim.Length > 0 Then
|
||||
Dim DrDetalles As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"Codigo = '{CodigoDetalle}'")
|
||||
|
||||
If DrDetalles IsNot Nothing Then
|
||||
CvePS = DrDetalles("CvePS").ToString().ToEntero()
|
||||
CveUnidadMedida = DrDetalles("CveUnidadMedida").ToString().ToEntero()
|
||||
CveClasificacion = DrDetalles("CveClasificacion").ToString().ToEntero()
|
||||
Else
|
||||
Alert($"El código del producto no se encontro, error en registro {CountRow}")
|
||||
ErrorCompras = True
|
||||
End If
|
||||
|
||||
Else
|
||||
Alert($"El código es requerido, error en registro {CountRow}")
|
||||
ErrorCompras = True
|
||||
End If
|
||||
|
||||
|
||||
IEPSDetalle = Row("IEPS").ToString.ToDecimal
|
||||
CantidadDetalle = Row("Cantidad").ToString.ToDecimal
|
||||
PUDetalle = Row("PU").ToString.ToDecimal
|
||||
IVADetalle = Row("IVA").ToString.ToDecimal
|
||||
|
||||
If CantidadDetalle = 0 Then
|
||||
Alert($"No se especifico la cantidad, error en registro {CountRow}")
|
||||
ErrorCompras = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'PrePóliza
|
||||
If Not EsDetalle Then
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("Compras/SaldoInicial", 1, Total, Total, CveMoneda, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
If Not CvePrePoliza > 0 Then
|
||||
ErrorCompras = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then
|
||||
FechaVencimiento = Fecha
|
||||
End If
|
||||
|
||||
If Not EsDetalle Then
|
||||
If Not ObjCompras.AddCompra(TipoDocto, "", Serie, Folio, Folio2, CveProveedor.ToEntero(), SubTotal + ImpuestosLocales, 0, 0, IVA, RetIVA, RetISR, IEPS, 0, 0, Total, Fecha, CveMoneda, TipoCambio.ToDecimal, FechaVencimiento,
|
||||
False, CodProvee, 1, CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveProveedorSucursal:=CveProveedorSucursal,
|
||||
NumeroReembolso:=Transaccion, PorcentajeIVA:=PorcentajeIVA, TotalOriginal:=Total, CveSubProyecto:=CveSubProyecto, CveRetIVAConcepto:=CveRetIVAConcepto, CveRetISRConcepto:=CveRetISRConcepto) Then
|
||||
ErrorCompras = True
|
||||
Exit For
|
||||
End If
|
||||
CveCompra = ObjCompras.CveCompra
|
||||
|
||||
SubTotal = Row("SubTotal").ToString().ToDecimal
|
||||
IVA = Row("IVA").ToString().ToDecimal
|
||||
Total = Row("Total").ToString().ToDecimal
|
||||
Saldo = Row("Saldo").ToString().ToDecimal
|
||||
RetIVA = Row("Ret IVA").ToString().ToDecimal
|
||||
RetISR = Row("Ret ISR").ToString().ToDecimal
|
||||
IEPS = Row("IEPS").ToString().ToDecimal
|
||||
End If
|
||||
|
||||
'Compra Detalle
|
||||
If RblFormato.SelectedValue = "18" Then
|
||||
|
||||
Dim TotalDetalles As Decimal = SubTotal
|
||||
If PUDetalle > 0 Then
|
||||
TotalDetalles = (CantidadDetalle * PUDetalle) + IVA - RetIVA - RetISR + IEPSDetalle
|
||||
End If
|
||||
|
||||
If Math.Abs(TotalDetalles - Total) > 0.01 Then
|
||||
ErrorCompras = True
|
||||
Alert($"Registro {CountRow} El total no councide con el calculo de los detalles, total: {Total.ToString("###,###,###.00")} calculo detatalles: {TotalDetalles.ToString("###,###,###.00")}", TipoMensaje.MsgAdvertencia)
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If Not ObjCompras.AddCompraDetalle(CveCompra, CveUnidadMedida, CvePS, CveSubProyecto, -1, 0, CantidadDetalle, PUDetalle, (CantidadDetalle * PUDetalle) * PorcentajeIVA, TotalDetalles, 0, "Carga Inicial", -1, IVAPorcentaje:=PorcentajeIVA, RetIVAPorcentaje:=RetIVAPorcentaje, RetISRPorcentaje:=RetISRPorcentaje, IEPSPS:=IEPSDetalle) Then
|
||||
ErrorCompras = True
|
||||
Exit For
|
||||
End If
|
||||
Else
|
||||
If Not ObjCompras.AddCompraDetalle(CveCompra, CveUnidadMedida, CvePS, CveSubProyecto, -1, 0, 1, SubTotal, SubTotal * PorcentajeIVA, SubTotal, 0, "Carga Inicial", -1, IVAPorcentaje:=PorcentajeIVA, RetIVAPorcentaje:=RetIVAPorcentaje, RetISRPorcentaje:=RetISRPorcentaje) Then
|
||||
ErrorCompras = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
If ImpuestosLocales > 0 Then 'se agrega como parte de la partida, sin iva.
|
||||
If Not ObjCompras.AddCompraDetalle(CveCompra, CveUnidadMedida, CvePS, CveSubProyecto, -1, 0, 1, ImpuestosLocales, ImpuestosLocales, ImpuestosLocales, 0, "Carga Inicial", -1, IVAPorcentaje:=0, RetIVAPorcentaje:=0, RetISRPorcentaje:=0) Then
|
||||
ErrorCompras = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
Dim ConceptoContablePago As Integer = 17
|
||||
If TipoDocto = "NC" Then ConceptoContablePago = 60
|
||||
|
||||
If Not EsDetalle Then
|
||||
|
||||
SubTotal = 0
|
||||
IVA = 0
|
||||
Total = 0
|
||||
Saldo = 0
|
||||
RetIVA = 0
|
||||
RetISR = 0
|
||||
IEPS = 0
|
||||
|
||||
For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}'").Rows
|
||||
SubTotal += item("SubTotal").ToString().ToDecimal.RoundSQL
|
||||
IVA += item("IVA").ToString().ToDecimal.RoundSQL
|
||||
Total += item("Total").ToString().ToDecimal.RoundSQL
|
||||
Saldo += item("Saldo").ToString().ToDecimal.RoundSQL
|
||||
RetIVA += item("Ret IVA").ToString().ToDecimal.RoundSQL
|
||||
RetISR += item("Ret ISR").ToString().ToDecimal.RoundSQL
|
||||
IEPS += If(dt.Columns.Contains("IEPS"), Row("IEPS").ToString(), "0").ToDecimal.RoundSQL
|
||||
Next
|
||||
|
||||
'PrePólizaDetalle
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, IIf(TipoDocto = "Fac", 5, 18).ToString().ToEntero(), Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero(), Contabilizable:=False) Then ErrorCompras = True : Exit For
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, SubTotal, SubTotal, 6, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero(), Contabilizable:=False) Then ErrorCompras = True : Exit For
|
||||
|
||||
If IVA > 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IVA, IVA, 14, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero(), CveClasificacion:=CveClasificacion, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorCompras = True : Exit For
|
||||
End If
|
||||
|
||||
If IEPS > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, IEPS, IEPS, 25, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero(), Contabilizable:=False) Then ErrorCompras = True : Exit For
|
||||
|
||||
If RetIVA > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, RetIVA, RetIVA, 15, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero(), Contabilizable:=False) Then ErrorCompras = True : Exit For
|
||||
If RetISR > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, RetISR, RetISR, 16, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero(), Contabilizable:=False) Then ErrorCompras = True : Exit For
|
||||
'If ImpuestosLocales > 0 Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImpuestosLocales, ImpuestosLocales, 27, Folio, String.Format("{0}-{1}", Serie, Folio), CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveSubProyecto:=Sucursal.ToEntero()) Then ErrorCompras = True : Exit For
|
||||
|
||||
'Saldo
|
||||
If Saldo < Total Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Total - Saldo, ConceptoContablePago, Folio.ToString(), Folio.ToString(), CveCompra:=CveCompra, CveProveedor:=CveProveedor, Contabilizable:=False) Then ErrorCompras = True : Exit For
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Total - Saldo, 95, Folio.ToString(), Folio.ToString(), CveCompra:=CveCompra, CveProveedor:=CveProveedor, Contabilizable:=False) Then ErrorCompras = True : Exit For
|
||||
End If
|
||||
End If
|
||||
Encontrados = Encontrados + 1
|
||||
|
||||
CountRow = CountRow + 1
|
||||
Next
|
||||
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al cargar los datos", ex)
|
||||
ErrorCompras = True
|
||||
End Try
|
||||
|
||||
If Not ErrorCompras Then
|
||||
|
||||
'If Encontrados > 0 Then
|
||||
' Alert(String.Format("Se agregaron: <b>{0}</b> Compras correctamente.<br>Se Omitieron: <b>{1}</b> Compras ya que ya se encuentran registradas.", Encontrados, NumRows - 1 - Encontrados), TipoMensaje.MsgInformacion)
|
||||
'Else
|
||||
' Alert(String.Format("Se agregaron: <b>{0}</b> Compras correctamente.", Encontrados), TipoMensaje.MsgInformacion)
|
||||
'End If
|
||||
Alert(String.Format("Se agregaron: <b>{0}</b> Compras correctamente.", Encontrados), TipoMensaje.MsgInformacion)
|
||||
'Alert(String.Format("Se agregaron: <b>{0}</b> Compras correctamente. RFC:{1} ", Encontrados, RFC), TipoMensaje.MsgInformacion)
|
||||
|
||||
ObjCompras.Commit()
|
||||
TxtExcel.Text = ""
|
||||
UpDatos.Update()
|
||||
Else
|
||||
Alert(String.Format("NO Se agregaron: <b>{0}</b> Compras.", NumRows), TipoMensaje.MsgError)
|
||||
ObjCompras.RollBack()
|
||||
End If
|
||||
ObjCompras.Dispose()
|
||||
|
||||
#End Region
|
||||
|
||||
'C L I E N T E S - F A C T U R A S
|
||||
ElseIf RblFormato.SelectedValue = "4" Or RblFormato.SelectedValue = "17" Then
|
||||
ElseIf RblFormato.SelectedValue = "4" Then
|
||||
|
||||
#Region "C L I E N T E S - F A C T U R A S"
|
||||
|
||||
|
||||
Dim NoEncontrados As Integer = 0
|
||||
Dim Encontrados As Integer = 0
|
||||
Dim StrRFCNoencontrados As New StringBuilder
|
||||
@@ -2089,11 +2390,397 @@ Partial Class General_SaldosIniciales
|
||||
End If
|
||||
ObjVentas.Dispose()
|
||||
|
||||
|
||||
|
||||
ElseIf RblFormato.SelectedValue = "17" Then
|
||||
Dim NoEncontrados As Integer = 0
|
||||
Dim Encontrados As Integer = 0
|
||||
Dim StrRFCNoencontrados As New StringBuilder
|
||||
Dim drr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero("AplicaParaVenta = 1")
|
||||
If drr Is Nothing Then
|
||||
Alert("No existen productos para venta. favor de crear uno e intentar de nuevo", TipoMensaje.MsgAdvertencia)
|
||||
Exit Sub
|
||||
End If
|
||||
Dim ObjVentas As New ClsVentas
|
||||
Dim ObjConta As New ClsContabilidad(ObjVentas.IniciaTransacSQL())
|
||||
Dim ObjIE As New ClsBancos(ObjVentas.IniciaTransacSQL())
|
||||
Dim ErrorVentas As Boolean = False
|
||||
Dim CveVenta As Integer
|
||||
Dim CvePrePoliza As Integer
|
||||
Dim DtClientes As New DataTable
|
||||
'Dim ExisteVenta As Boolean = False
|
||||
'Dim Contador As Integer = 0
|
||||
DtClientes = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1)
|
||||
Dim CvePS As Integer = drr("CvePS").ToString().ToEntero()
|
||||
Dim CveUnidadMedida As Integer = drr("CveUnidadMedida").ToString().ToEntero()
|
||||
Dim CveClasificacion As Integer = drr("CveClasificacion").ToString().ToEntero()
|
||||
|
||||
If Not CvePS > 0 Then Alert(String.Format("No se encontró el Producto Servicio"), TipoMensaje.MsgError) : ErrorVentas = True
|
||||
' If Not CveSucursal > 0 Then Alert("No se encontró la sucursal.", TipoMensaje.MsgError) : ErrorVentas = True
|
||||
If Not CveUnidadMedida > 0 Then Alert(String.Format("No se encontró la Unidad de Medida."), TipoMensaje.MsgError) : ErrorVentas = True
|
||||
Dim dtsubp As DataTable = GlobalDTSubProyectos(UsuarioActual.CveEmpresa)
|
||||
|
||||
'For Each drt As DataRow In dt.FiltraParametros("RFC <> ''", DistinctColumns:={"RFC"}).Rows
|
||||
' Dim RFC As String = drt("RFC").ToString().Trim.Replace("-", "").Replace(" ", "")
|
||||
' Dim CveCliente As Integer = DtClientes.FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString().ToEntero()
|
||||
' If CveCliente <= 0 Then
|
||||
' Dim OBJ As New ClsClientes
|
||||
' OBJ.AgregarClienteNoFrecuente(RFC, RFC, "", "", "", "", "", 26, RFC, "", "", "", -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, "", -1, -1)
|
||||
' OBJ.Dispose()
|
||||
' End If
|
||||
'Next
|
||||
'GlobalDTCliente(UsuarioActual.CveEmpresa) = Nothing
|
||||
'DtClientes = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1)
|
||||
Dim CountRow As Integer = 1
|
||||
Dim LastSerieFolioTipoDoc As String = String.Empty
|
||||
Dim EsDetalle As Boolean = False
|
||||
For Each Row As DataRow In dt.FiltraParametros("RFC <> ''").Rows
|
||||
Dim Sucursal As String = dtsubp.FiltroPrimeroValor("CveSubProyecto", $"SubProyecto = '{Row("Sucursal").ToString()}'")
|
||||
Dim TipoDocto As String = Row("Tipo Documento").ToString().Trim
|
||||
Dim RFC As String = Row("RFC").ToString().Trim.Replace("-", "").Replace(" ", "")
|
||||
Dim Serie As String = Row("Serie").ToString().Trim
|
||||
Dim Folio As Integer = Row("Folio").ToString().ToEntero()
|
||||
Dim Fecha As Date = Row("Fecha").ToString().ToDate
|
||||
Dim FechaVencimiento As Date = Row("Fecha Vencimiento").ToString().ToDate
|
||||
Dim ImpuestoLocal As Decimal = If(dt.Columns.Contains("ImpuestoLocal"), Row("ImpuestoLocal").ToString().ToDecimal, 0D)
|
||||
Dim Amortizacion As Decimal = If(dt.Columns.Contains("Amort.Ant"), Row("Amort.Ant").ToString().ToDecimal, 0)
|
||||
Dim CveCliente As Integer = DtClientes.FiltroPrimeroValor("CveCliente", $"RFC = '{RFC}'").ToString().ToEntero()
|
||||
|
||||
If LastSerieFolioTipoDoc = $"{Serie}{Folio}{TipoDocto}" AndAlso UsuarioActual.CveEmpresa = 189 Then
|
||||
EsDetalle = True
|
||||
Else
|
||||
LastSerieFolioTipoDoc = $"{Serie}{Folio}{TipoDocto}"
|
||||
EsDetalle = False
|
||||
End If
|
||||
|
||||
|
||||
Dim SubTotal As Decimal = 0
|
||||
Dim IVA As Decimal = 0
|
||||
Dim Total As Decimal = 0
|
||||
Dim Saldo As Decimal = 0
|
||||
Dim RetIVA As Decimal = 0
|
||||
Dim RetISR As Decimal = 0
|
||||
Dim IEPS As Decimal = 0
|
||||
|
||||
If UsuarioActual.CveEmpresa = 189 AndAlso Not EsDetalle Then
|
||||
|
||||
For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}' AND Serie = '{Row("Serie").ToString()}' AND [Tipo Documento] = '{Row("Tipo Documento").ToString()}' ").Rows
|
||||
SubTotal += item("SubTotal").ToString().ToDecimal
|
||||
IVA += item("IVA").ToString().ToDecimal
|
||||
Total += item("Total").ToString().ToDecimal
|
||||
Saldo += item("Saldo").ToString().ToDecimal
|
||||
RetIVA += item("Ret IVA").ToString().ToDecimal
|
||||
RetISR += item("Ret ISR").ToString().ToDecimal
|
||||
IEPS += item("IEPS").ToString().ToDecimal
|
||||
Next
|
||||
Else
|
||||
SubTotal = Row("SubTotal").ToString().ToDecimal
|
||||
IVA = Row("IVA").ToString().ToDecimal
|
||||
Total = Row("Total").ToString().ToDecimal
|
||||
Saldo = Row("Saldo").ToString().ToDecimal
|
||||
RetIVA = Row("Ret IVA").ToString().ToDecimal
|
||||
RetISR = Row("Ret ISR").ToString().ToDecimal
|
||||
IEPS = Row("IEPS").ToString().ToDecimal
|
||||
End If
|
||||
|
||||
Dim Moneda As String = Row("Moneda").ToString()
|
||||
Dim TipoCambio As String = Row("Tipo Cambio").ToString()
|
||||
Dim CveMoneda As Integer = 1
|
||||
Dim Vendedor As String = If(dt.Columns.Contains("Vendedor"), Row("Vendedor").ToString(), "")
|
||||
Dim CveVendedor As Integer = 0
|
||||
|
||||
Dim CveClienteSucursal As Integer = 0 'Row("CveClienteSucursal").ToString().ToEntero()
|
||||
Dim FolioFiscal As String = If(dt.Columns.Contains("Folio Fiscal"), Row("Folio Fiscal").ToString(), "")
|
||||
Dim PorcentajeIVA As Decimal = If(dt.Columns.Contains("PorcentajeIVA"), Round(Row("PorcentajeIVA").ToString().ToDecimal, 2), 0)
|
||||
Dim PorcentajeRetIVA As Decimal = If(dt.Columns.Contains("PorcentajeRetIVA"), Round(Row("PorcentajeRetIVA").ToString().ToDecimal, 4), 0)
|
||||
Dim PorcentajeRetISR As Decimal = If(dt.Columns.Contains("PorcentajeRetISR"), Round(Row("PorcentajeRetISR").ToString().ToDecimal, 4), 0)
|
||||
Dim PedidoContrato As String = If(dt.Columns.Contains("Pedido"), Row("Pedido").ToString(), "")
|
||||
|
||||
GuardaLog(Sucursal + "-" + Row("Folio").ToString())
|
||||
'Temporalmente SE BORRARA
|
||||
Dim Transaccion As String = "" ' Row("Transaccion2").ToString()
|
||||
Dim Folio2 As String = "" ' Row("Folio2").ToString()
|
||||
Dim CodCliente As String = "" 'Row("CodCliente2").ToString()
|
||||
|
||||
Dim IEPSDetalle As Decimal = 0
|
||||
Dim CantidadDetalle As Decimal = 0
|
||||
Dim PUDetalle As Decimal = 0
|
||||
Dim IVADetalle As Decimal = 0
|
||||
Dim PorcentajeIEPS As Decimal = 0
|
||||
|
||||
If IEPS > 0 Then
|
||||
PorcentajeIEPS = If(dt.Columns.Contains("PorcentajeIEPS"), Round(Row("PorcentajeIEPS").ToString().ToDecimal, 4), 0)
|
||||
End If
|
||||
|
||||
If RblFormato.SelectedValue = "17" Then
|
||||
|
||||
Dim CodigoDetalle As String = Row("Codigo").ToString
|
||||
If CodigoDetalle.Trim.Length > 0 Then
|
||||
Dim DrDetalles As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa).FiltroPrimero($"Codigo = '{CodigoDetalle}'")
|
||||
|
||||
If DrDetalles IsNot Nothing Then
|
||||
CvePS = DrDetalles("CvePS").ToString().ToEntero()
|
||||
CveUnidadMedida = DrDetalles("CveUnidadMedida").ToString().ToEntero()
|
||||
CveClasificacion = DrDetalles("CveClasificacion").ToString().ToEntero()
|
||||
Else
|
||||
Alert($"El código del producto no se encontro, error en registro {CountRow}")
|
||||
ErrorVentas = True
|
||||
End If
|
||||
Else
|
||||
Alert($"El código es requerido, error en registro {CountRow}")
|
||||
ErrorVentas = True
|
||||
End If
|
||||
|
||||
IEPSDetalle = Row("IEPS").ToString.ToDecimal
|
||||
CantidadDetalle = Row("Cantidad").ToString.ToDecimal
|
||||
PUDetalle = Row("PU").ToString.ToDecimal
|
||||
IVADetalle = Row("IVA").ToString.ToDecimal
|
||||
|
||||
If CantidadDetalle = 0 Then
|
||||
Alert($"No se especifico la cantidad, error en registro {CountRow}")
|
||||
ErrorVentas = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If dt.Columns.Contains("Cliente Sucursal") AndAlso Row("Cliente Sucursal").ToString() <> "" Then
|
||||
|
||||
Dim ObjCliente As New ClsClientes
|
||||
If ObjCliente.GetSucursales(CveCliente) Then
|
||||
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||
CveClienteSucursal = ObjCliente.DtResultados.FiltroPrimeroValor("CveClienteSucursal", "SucursalCliente = '" & Row("Cliente Sucursal").ToString().Trim & "'").ToEntero
|
||||
End If
|
||||
End If
|
||||
|
||||
ObjCliente.Dispose()
|
||||
End If
|
||||
|
||||
|
||||
'If Not CveCliente > 0 Then Alert(String.Format("No se encontró el cliente con el RFC: {0}", {RFC}), TipoMensaje.MsgError) : ErrorVentas = True : RFC.GuardaLog : Exit For
|
||||
TipoDocto = IIf(TipoDocto.ToUpper.Contiene("INGRESO", "INGRESOS", "ING", "FACTURA", "FACTURAS"), "Ing", IIf(TipoDocto.ToUpper.Contiene("EGRESO", "EGRESOS", "EGS"), "Egs", "Rem")).ToString()
|
||||
'PrePóliza
|
||||
If Not EsDetalle Then
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("Venta/SaldoInicial", 1, Total, Total, 1, Fecha, String.Format("{0}-{1}", Serie, Folio), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
End If
|
||||
|
||||
If Vendedor <> "" Then
|
||||
CveVendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltroPrimeroValor("CveVendedor", $"Vendedor = '{Vendedor}'").ToString().ToEntero()
|
||||
If Not CveVendedor > 0 Then CveVendedor = 0
|
||||
Else
|
||||
CveVendedor = 0
|
||||
End If
|
||||
|
||||
'Moneda
|
||||
If Moneda.ToUpper.Contiene("PESOS", "PESO", "MXN") Then
|
||||
CveMoneda = 1
|
||||
TipoCambio = "1"
|
||||
ElseIf Moneda.ToUpper.Contiene("DÓLAR", "DÓLARES", "DOLARES", "USD") Then
|
||||
CveMoneda = 2
|
||||
|
||||
If TipoCambio.Trim.ToDecimal < 10 Then
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then
|
||||
TipoCambio = GlobalTipoCambio(Fecha.AddDays(-1)).ToString()
|
||||
Else
|
||||
TipoCambio = GlobalTipoCambio(Fecha).ToString()
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
'Si no se especifica TC, se manda como pesos.
|
||||
If TipoCambio = "" Then TipoCambio = "1"
|
||||
|
||||
If Not CveClienteSucursal > 0 Then CveClienteSucursal = -1
|
||||
|
||||
If FechaVencimiento = "".ToDate Or FechaVencimiento < "1900/01/01".ToDate Then
|
||||
FechaVencimiento = Fecha
|
||||
End If
|
||||
|
||||
|
||||
'Venta
|
||||
If CveCliente > 0 Then
|
||||
|
||||
|
||||
If TipoDocto.Contiene("Ing", "Egs", "Rem") Then
|
||||
GuardaLog(Serie & "-" & Folio)
|
||||
If Not EsDetalle Then
|
||||
If Not ObjVentas.AddVenta(TipoDocto, Folio, CveCliente.ToEntero(), CveClienteSucursal, SubTotal, 0, Amortizacion, IVA, RetIVA, RetISR, Total, CveMoneda, TipoCambio.ToDouble,
|
||||
0, 0, 0, FechaVencimiento, Fecha, "", "", Fecha, CveVendedor, Folio2, "", "", 0, 0, 0, "-1".ToDate, "-1".ToDate, "-1".ToDate, -1, 0, CvePrePoliza,
|
||||
UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Serie:=Serie, CveSubProyecto:=Sucursal.ToEntero(), CveSubProyectoEjecucion:=Sucursal.ToEntero(),
|
||||
CveSubProyectoCobranza:=Sucursal.ToEntero(), IEPS:=IEPS, ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente, ImpuestoLocal:=ImpuestoLocal,
|
||||
PedidoContrato:=PedidoContrato, CveMetodoPago33:=3) Then
|
||||
ErrorVentas = True
|
||||
Exit For
|
||||
End If
|
||||
CveVenta = ObjVentas.CveVenta
|
||||
End If
|
||||
|
||||
If Not EsDetalle Then
|
||||
SubTotal = Row("SubTotal").ToString().ToDecimal
|
||||
IVA = Row("IVA").ToString().ToDecimal
|
||||
Total = Row("Total").ToString().ToDecimal
|
||||
Saldo = Row("Saldo").ToString().ToDecimal
|
||||
RetIVA = Row("Ret IVA").ToString().ToDecimal
|
||||
RetISR = Row("Ret ISR").ToString().ToDecimal
|
||||
IEPS = Row("IEPS").ToString().ToDecimal
|
||||
End If
|
||||
|
||||
If RblFormato.SelectedValue = "17" Then
|
||||
|
||||
Dim TotalDetalles As Decimal = SubTotal
|
||||
If PUDetalle > 0 Then
|
||||
TotalDetalles = (CantidadDetalle * PUDetalle) + IVA - RetIVA - RetISR + IEPSDetalle
|
||||
End If
|
||||
|
||||
If Math.Abs(TotalDetalles - Total) > 0.01 Then
|
||||
ErrorVentas = True
|
||||
Alert($"Registro {CountRow} El total no councide con el calculo de los detalles, total: {Total.ToString("###,###,###.00")} calculo detatalles: {TotalDetalles.ToString("###,###,###.00")}", TipoMensaje.MsgAdvertencia)
|
||||
Exit For
|
||||
End If
|
||||
|
||||
If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, CantidadDetalle, CveUnidadMedida, PUDetalle, IVADetalle, TotalDetalles, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0,
|
||||
PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=RetIVA, IEPS:=IEPSDetalle, PorcentajeRetISR:=PorcentajeRetISR, PorcentajeIEPS:=PorcentajeIEPS) Then
|
||||
ErrorVentas = True
|
||||
Exit For
|
||||
End If
|
||||
|
||||
Else
|
||||
If Not ObjVentas.AddVentaDetalle(CveVenta, CvePS, 1, CveUnidadMedida, SubTotal, IVA, SubTotal * PorcentajeIVA, "Saldo Inicial", 0, 0, Sucursal.ToEntero(), 0, PorcentajeIVA:=PorcentajeIVA, PorcentajeRetIVA:=PorcentajeRetIVA, ImporteRetIVA:=RetIVA, IEPS:=0) Then
|
||||
ErrorVentas = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
|
||||
Dim ConceptoContable As Integer = 1
|
||||
Dim ConceptoContablePago As Integer = 2
|
||||
If TipoDocto = "Egs" Then
|
||||
ConceptoContable = 12
|
||||
ConceptoContablePago = 91
|
||||
End If
|
||||
|
||||
If FolioFiscal <> "" Then
|
||||
If Not ObjVentas.UpdateVentaFolioFiscal(FolioFiscal, CveVenta, UsuarioActual.CveEmpresa) Then
|
||||
ErrorVentas = True
|
||||
Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim UsaComplementaria As Boolean = False
|
||||
|
||||
If UsuarioActual.CveEmpresa.Contiene(119, 158) Then UsaComplementaria = True
|
||||
|
||||
If Not EsDetalle Then
|
||||
|
||||
SubTotal = 0
|
||||
IVA = 0
|
||||
Total = 0
|
||||
Saldo = 0
|
||||
RetIVA = 0
|
||||
RetISR = 0
|
||||
For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}' AND Serie = '{Row("Serie").ToString()}' AND [Tipo Documento] = '{Row("Tipo Documento").ToString()}' ").Rows
|
||||
SubTotal += item("SubTotal").ToString().ToDecimal
|
||||
IVA += item("IVA").ToString().ToDecimal
|
||||
Total += item("Total").ToString().ToDecimal
|
||||
Saldo += item("Saldo").ToString().ToDecimal
|
||||
RetIVA += item("Ret IVA").ToString().ToDecimal
|
||||
RetISR += item("Ret ISR").ToString().ToDecimal
|
||||
IEPS += item("IEPS").ToString().ToDecimal
|
||||
Next
|
||||
|
||||
'PrePólizaDetalle
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, SubTotal, SubTotal, 4, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, CveClasificacion:=CveClasificacion, CveSubProyecto:=Sucursal.ToEntero(), PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, ConceptoContable, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
|
||||
If IVA > 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IVA, IVA, 13, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
End If
|
||||
|
||||
If IEPS > 0 Then
|
||||
'AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, Folio, 38, String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteMX:=IEPS)
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, IEPS, IEPS, 38, Folio.ToString, String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
|
||||
End If
|
||||
|
||||
If RetIVA > 0 Then
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetISR, RetISR, 8, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeRetISR, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
End If
|
||||
|
||||
If RetISR > 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, RetISR, RetISR, 9, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeRetISR, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
End If
|
||||
|
||||
If ImpuestoLocal > 0 Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImpuestoLocal, ImpuestoLocal, 27, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, PorcentajeImpuesto:=PorcentajeIVA, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
End If
|
||||
|
||||
|
||||
If UsaComplementaria Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total * TipoCambio.ToDecimal - Total, Total * TipoCambio.ToDecimal - Total, 203, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveVenta:=CveVenta, CveCliente:=CveCliente, ImporteME:=Total, TipoCambio:=TipoCambio.ToDecimal, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
End If
|
||||
|
||||
'Saldo
|
||||
If Saldo < Total Then
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total - Saldo, Total - Saldo, ConceptoContablePago, Folio.ToString(), Folio.ToString(), CveVenta:=CveVenta, CveCliente:=CveCliente, CveVentaAmortizacion:=CveVenta, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total - Saldo, Total - Saldo, 95, Folio.ToString(), Folio.ToString(), CveVenta:=CveVenta, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
End If
|
||||
End If
|
||||
|
||||
Else
|
||||
|
||||
If Not EsDetalle Then
|
||||
|
||||
SubTotal = 0
|
||||
IVA = 0
|
||||
Total = 0
|
||||
Saldo = 0
|
||||
RetIVA = 0
|
||||
RetISR = 0
|
||||
For Each item As DataRow In dt.FiltraParametros($"RFC <> '' AND Folio = '{Row("Folio").ToString()}' AND Serie = '{Row("Serie").ToString()}' AND [Tipo Documento] = '{Row("Tipo Documento").ToString()}' ").Rows
|
||||
SubTotal += item("SubTotal").ToString().ToDecimal
|
||||
IVA += item("IVA").ToString().ToDecimal
|
||||
Total += item("Total").ToString().ToDecimal
|
||||
Saldo += item("Saldo").ToString().ToDecimal
|
||||
RetIVA += item("Ret IVA").ToString().ToDecimal
|
||||
RetISR += item("Ret ISR").ToString().ToDecimal
|
||||
IEPS += item("IEPS").ToString().ToDecimal
|
||||
Next
|
||||
|
||||
'ANTICIPOS
|
||||
Dim CveIE As Integer = ObjIE.AddBancos_IE(1, 1, Fecha, Folio.ToString(), "", Total, 1,
|
||||
1, "Anticipo Cliente", "", False, False, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
|
||||
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, Total, Total, 30, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Total, Total, 66, Folio.ToString(), String.Format("{0}-{1}", Serie, Folio), CveIE:=CveIE, CveCliente:=CveCliente, Contabilizable:=False) Then ErrorVentas = True : Exit For
|
||||
End If
|
||||
End If
|
||||
Encontrados = Encontrados + 1
|
||||
|
||||
Else
|
||||
NoEncontrados = NoEncontrados + 1
|
||||
StrRFCNoencontrados.AppendFormat("{0}<br/>", RFC)
|
||||
'ErrorVentas = True
|
||||
'Exit For
|
||||
End If
|
||||
|
||||
CountRow = CountRow + 1
|
||||
Next
|
||||
If Not ErrorVentas Then
|
||||
Alert(String.Format("Se agregaron: <b>{0}</b> Ventas correctamente. <b>{1} no encontrados</b><br/>{2} ", Encontrados, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgInformacion)
|
||||
ObjVentas.Commit()
|
||||
TxtExcel.Text = ""
|
||||
UpDatos.Update()
|
||||
Else
|
||||
Alert(String.Format("Error al registrar : <b>{0}</b> Ventas correctamente. <b>{1} no encontrados</b><br/>{2} ", Encontrados, NoEncontrados, StrRFCNoencontrados), TipoMensaje.MsgError)
|
||||
ObjVentas.RollBack()
|
||||
End If
|
||||
ObjVentas.Dispose()
|
||||
#End Region
|
||||
|
||||
|
||||
|
||||
|
||||
' R H - P E R S O N A L
|
||||
ElseIf RblFormato.SelectedValue = "6" Then
|
||||
|
||||
|
||||
BIN
Imagenes/autobus.png
Normal file
BIN
Imagenes/autobus.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 17 KiB |
BIN
Imagenes/sprinter.png
Normal file
BIN
Imagenes/sprinter.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 25 KiB |
@@ -19,14 +19,25 @@
|
||||
<li>
|
||||
<a target="_blank" class="ayuda" href="../Documentacion/DocumentacionInventarios.aspx#RecepcionAlmacen"> </a>
|
||||
</li>
|
||||
<li>
|
||||
<asp:HyperLink ID="HlAgregarExcel" NavigateUrl="#" Visible="true" data-toggle="modal" data-target="#DivCargaExcel" runat="server"><i class='fa fa-server'></i> Cargar Excel</asp:HyperLink>
|
||||
</li>
|
||||
|
||||
<%--
|
||||
<li>
|
||||
<asp:HyperLink ID="HlAgregarExcel" NavigateUrl="#" Visible="true" data-toggle="modal" data-target="#DivCargaExcel" runat="server"><i class='fa fa-server'></i> Cargar Excel</asp:HyperLink>
|
||||
</li>
|
||||
--%>
|
||||
|
||||
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional" RenderMode="Inline">
|
||||
<ContentTemplate>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkAgregarExcel" Visible="true" OnClick="LnkAgregarExcel_Click" runat="server"><i class='fa fa-server'></i> Cargar Excel</asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<asp:UpdatePanel ID="uppCargaBitacora" runat="server" UpdateMode="Conditional" RenderMode="Inline">
|
||||
<ContentTemplate>
|
||||
<li>
|
||||
<asp:LinkButton ID="HplCargaBitacora" runat="server" Visible="false" OnClick="HplCargaBitacora_Click" Style="color: #686868;"><i class="fa fa-file-load-o" style="color: #686868;"></i> Cargar Bitácora</asp:LinkButton>
|
||||
<asp:LinkButton ID="HplCargaBitacora" runat="server" Visible="false" OnClick="HplCargaBitacora_Click" Style="color: #686868;"><i class="fa fa-book" aria-hidden="true"></i> Cargar Bitácora</asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
@@ -7,6 +7,7 @@ Imports System.Text
|
||||
Imports Extensiones
|
||||
Imports GemBox.Spreadsheet
|
||||
Imports Microsoft.Reporting.WebForms
|
||||
Imports Org.BouncyCastle.Asn1.X509
|
||||
|
||||
Partial Class Inventarios_RecepcionAlmacen
|
||||
Inherits ClsPaginas
|
||||
@@ -154,12 +155,21 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
ViewState("PUSerie") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property CveConsecSerie As Integer
|
||||
'Private Property CveConsecSerie As Integer
|
||||
' Get
|
||||
' Return CType(ViewState("CveConsecSerie"), Integer)
|
||||
' End Get
|
||||
' Set(value As Integer)
|
||||
' ViewState("CveConsecSerie") = value
|
||||
' End Set
|
||||
'End Property
|
||||
|
||||
Private Property CveCompraDetalle As Integer
|
||||
Get
|
||||
Return CType(ViewState("CveConsecSerie"), Integer)
|
||||
Return CType(ViewState("CveCompraDetalle"), Integer)
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveConsecSerie") = value
|
||||
ViewState("CveCompraDetalle") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property TotalGV As Decimal
|
||||
@@ -412,6 +422,11 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
End Property
|
||||
Private Property ArchivoBitacora As String
|
||||
Get
|
||||
|
||||
If ViewState("ArchivoBitacora") Is Nothing Then
|
||||
ViewState("ArchivoBitacora") = ""
|
||||
End If
|
||||
|
||||
Return CType(ViewState("ArchivoBitacora"), String)
|
||||
End Get
|
||||
Set(value As String)
|
||||
@@ -420,6 +435,10 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
End Property
|
||||
Private Property ArchivoBitacoraDetalle As String
|
||||
Get
|
||||
If ViewState("ArchivoBitacoraDetalle") Is Nothing Then
|
||||
ViewState("ArchivoBitacoraDetalle") = ""
|
||||
End If
|
||||
|
||||
Return CType(ViewState("ArchivoBitacoraDetalle"), String)
|
||||
End Get
|
||||
Set(value As String)
|
||||
@@ -1461,11 +1480,12 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
|
||||
'If e.Row.DBCampo("CveMetodoInventario").ToString = "5" Then
|
||||
e.Row.FCButton("BtnSerie").Visible = True
|
||||
e.Row.FCButton("BtnSerie").CommandArgument = String.Format("{0}°{1}°{2}°{3}°{4}°{5}", e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveUM"), e.Row.DBCampo("PU"), e.Row.DBCampo("PS"), e.Row.DBCampo("CantidadF"), e.Row.DBCampo("Consec"))
|
||||
e.Row.FCButton("BtnSerie").CommandArgument = String.Format("{0}°{1}°{2}°{3}°{4}°{5}°{6}", e.Row.DBCampo("CvePS"), e.Row.DBCampo("CveUM"), e.Row.DBCampo("PU"), e.Row.DBCampo("PS"), e.Row.DBCampo("CantidadF"), e.Row.DBCampo("Consec"), e.Row.DBCampo("CveCompraDetalle"))
|
||||
|
||||
e.Row.FCTextBox("TbCantidadF").Enabled = False
|
||||
e.Row.FCCheckBox("cbInv").Enabled = False
|
||||
Dim Contador As Integer = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", e.Row.DataKey("Consec"))).Rows.Count
|
||||
'Dim Contador As Integer = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", e.Row.DataKey("Consec"))).Rows.Count
|
||||
Dim Contador As Integer = DtDatosDetalle.FiltraParametros(String.Format("CveCompraDetalle = {0}", e.Row.DataKey("CveCompraDetalle"))).Rows.Count
|
||||
e.Row.FCTextBox("TbCantidadF").Text = Contador.ToString
|
||||
|
||||
'' Empresa Acumuladores
|
||||
@@ -1577,6 +1597,12 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
|
||||
TotalGV += (e.Row.DBCampo("PU").ToDecimal + e.Row.DBCampo("CostoIndirecto").ToDecimal) * e.Row.DBCampo("CantidadF").ToDecimal
|
||||
|
||||
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(388) Then
|
||||
e.Row.FCButton("BtnSerie").Visible = False
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
If e.Row.RowType = DataControlRowType.Footer Then
|
||||
@@ -1617,7 +1643,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
TdSeriePS.Visible = True
|
||||
TxtSeriePS.Focus()
|
||||
|
||||
CveConsecSerie = Gvr.DataKey("Consec").ToEntero
|
||||
'CveConsecSerie = Gvr.DataKey("Consec").ToEntero
|
||||
CveCompraDetalle = Gvr.DataKey("CveCompraDetalle").ToEntero
|
||||
CvePSSerie = Gvr.DataKey("CvePS").ToEntero
|
||||
CveUMSerie = Gvr.DataKey("CveUM").ToEntero
|
||||
Exit Sub
|
||||
@@ -1717,7 +1744,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
CvePSSerie = Argumentos(0).ToEntero
|
||||
CveUMSerie = Argumentos(1).ToEntero
|
||||
PUSerie = Argumentos(2).ToDecimal
|
||||
CveConsecSerie = Argumentos(5).ToEntero
|
||||
'CveConsecSerie = Argumentos(5).ToEntero
|
||||
CveCompraDetalle = Argumentos(6).ToEntero
|
||||
|
||||
CargaSerie(1)
|
||||
|
||||
@@ -1732,6 +1760,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
DtDatosDetalle.Columns.Add("PU", GetType(Decimal))
|
||||
DtDatosDetalle.Columns.Add("Serie", GetType(String))
|
||||
DtDatosDetalle.Columns.Add("FechaCaducidad", GetType(String))
|
||||
DtDatosDetalle.Columns.Add("CveCompraDetalle", GetType(Integer))
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
@@ -1747,11 +1777,13 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
'RegistraScript("document.getElementById(""TxtSerie"").focus();")
|
||||
RegistraScript("$('#DivSerie').modal();", "ModalLote")
|
||||
|
||||
GvSerie.DataSource = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie), "Consec DESC")
|
||||
'GvSerie.DataSource = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie), "Consec DESC")
|
||||
GvSerie.DataSource = DtDatosDetalle.FiltraParametros(String.Format("CveCompraDetalle = {0}", CveCompraDetalle), "Consec DESC")
|
||||
GvSerie.DataBind()
|
||||
|
||||
'VALIDA QUE SIGA AGREGANDO
|
||||
If Not DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie)).Rows.Count < LbCantidad.Text.ToEntero Then
|
||||
'If Not DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie)).Rows.Count < LbCantidad.Text.ToEntero Then
|
||||
If Not DtDatosDetalle.FiltraParametros(String.Format("CveCompraDetalle = {0}", CveCompraDetalle)).Rows.Count < LbCantidad.Text.ToEntero Then
|
||||
BtnAgregarPS.Enabled = True
|
||||
If CerrarCompletado Then
|
||||
RegistraScript("$('#DivSerie').modal('hide');")
|
||||
@@ -1764,7 +1796,9 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Dim Contador As Integer = 0
|
||||
For Each Gvr As GridViewRow In GvInv.Rows
|
||||
If Gvr.DataKey("CvePS").ToEntero = CvePSSerie Then
|
||||
Contador = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("Consec"))).Rows.Count
|
||||
'Contador = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", Gvr.DataKey("Consec"))).Rows.Count
|
||||
Contador = DtDatosDetalle.FiltraParametros(String.Format("CveCompraDetalle = {0}", Gvr.DataKey("CveCompraDetalle"))).Rows.Count
|
||||
|
||||
Gvr.FCCheckBox("cbInv").Enabled = False
|
||||
Gvr.FCTextBox("TbCantidadF").Enabled = False
|
||||
If DtDatosDetalle IsNot Nothing AndAlso Contador > 0 Then
|
||||
@@ -1776,7 +1810,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
End If
|
||||
End If
|
||||
|
||||
Dim Dr As DataRow = DtInv.Select($"Consec = {Gvr.DataKey("Consec")}")(0)
|
||||
'Dim Dr As DataRow = DtInv.Select($"Consec = {Gvr.DataKey("Consec")}")(0)
|
||||
Dim Dr As DataRow = DtInv.Select($"CveCompraDetalle = {Gvr.DataKey("CveCompraDetalle")}")(0)
|
||||
Dr("CantidadSurtidaPantalla") = Gvr.FCTextBox("TbCantidadF").Text.ToDecimal
|
||||
DtInv.AcceptChanges()
|
||||
Next
|
||||
@@ -1810,7 +1845,10 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Dim dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePSSerie).FiltroPrimero("", "PS")
|
||||
|
||||
For Each Serie In SeriesArreglo
|
||||
DtDuplicado = DtDatosDetalle.FiltraParametros($"ConsecId = {CveConsecSerie} AND Serie = '{Serie}'")
|
||||
'DtDuplicado = DtDatosDetalle.FiltraParametros($"ConsecId = {CveConsecSerie} AND Serie = '{Serie}'")
|
||||
DtDuplicado = DtDatosDetalle.FiltraParametros($"CveCompraDetalle = {CveCompraDetalle} AND Serie = '{Serie}'")
|
||||
|
||||
|
||||
If DtDuplicado IsNot Nothing AndAlso DtDuplicado.Rows.Count > 0 Then
|
||||
MensajeAlert.Append($"<br/> El numero de Serie <b>""{Serie}""</b> proporcionado ya se encuentra ingresado.")
|
||||
TxtSerie.Text = ""
|
||||
@@ -1836,7 +1874,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Dim Index As Integer = 0
|
||||
Dim Cantidad As Integer = LbCantidad.Text.ToEntero
|
||||
|
||||
If CargaMasivaSeries Then Cantidad = DtInv.FiltroPrimeroValor("CantidadF", "Consec = " & CveConsecSerie).ToEntero
|
||||
'If CargaMasivaSeries Then Cantidad = DtInv.FiltroPrimeroValor("CantidadF", "Consec = " & CveConsecSerie).ToEntero
|
||||
If CargaMasivaSeries Then Cantidad = DtInv.FiltroPrimeroValor("CantidadF", "CveCompraDetalle = " & CveCompraDetalle).ToEntero
|
||||
'DtInv
|
||||
|
||||
For Each Serie In SeriesArreglo
|
||||
@@ -1847,7 +1886,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
If Index > Cantidad Then Exit For
|
||||
|
||||
'VALIDA QUE SIGA AGREGANDO
|
||||
If Not DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie)).Rows.Count < Cantidad Then
|
||||
'If Not DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie)).Rows.Count < Cantidad Then
|
||||
If Not DtDatosDetalle.FiltraParametros(String.Format("CveCompraDetalle = {0}", CveCompraDetalle)).Rows.Count < Cantidad Then
|
||||
MensajeAlert.Append("series cargadas en su totalidad") : Exit For
|
||||
End If
|
||||
|
||||
@@ -1867,7 +1907,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
End If
|
||||
End If
|
||||
|
||||
Row("ConsecId") = CveConsecSerie
|
||||
'Row("ConsecId") = CveConsecSerie
|
||||
Row("CveCompraDetalle") = CveCompraDetalle
|
||||
Row("Consec") = DtDatosDetalle.Rows.Count + 1
|
||||
Row("CvePS") = CvePSSerie
|
||||
Row("CveUM") = CveUMSerie
|
||||
@@ -1922,6 +1963,10 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Dim dtt As New DataTable
|
||||
dtt.ReadXml(ArchivoBitacoraDetalle)
|
||||
DtDatosDetalle = dtt
|
||||
If Not DtDatosDetalle.Columns.Contains("CveCompraDetalle") Then
|
||||
DtDatosDetalle.Columns.Add("CveCompraDetalle", GetType(Integer))
|
||||
DtDatosDetalle.AcceptChanges()
|
||||
End If
|
||||
Alert("Registro(s) Recuperados", TipoMensaje.ToastInformacion)
|
||||
End If
|
||||
CargaGVInv()
|
||||
@@ -1975,18 +2020,21 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
CvePSSerie = Argumentos(0).ToEntero
|
||||
CveUMSerie = Argumentos(1).ToEntero
|
||||
PUSerie = Argumentos(2).ToDecimal
|
||||
CveConsecSerie = Argumentos(5).ToEntero
|
||||
'CveConsecSerie = Argumentos(5).ToEntero
|
||||
CveCompraDetalle = Argumentos(6).ToEntero
|
||||
|
||||
CargaLote(1)
|
||||
End Sub
|
||||
Private Sub CargaLote(Tipo As Integer, Optional CerrarCompletado As Boolean = False)
|
||||
RegistraScript("$('#DivLote').modal();", "ModalLote")
|
||||
GvLote.Columns(2).HeaderText = UsuarioActual.Empresa.Funcionalidad(147)
|
||||
GvLote.DataSource = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie), "Consec DESC")
|
||||
'GvLote.DataSource = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", CveConsecSerie), "Consec DESC")
|
||||
GvLote.DataSource = DtDatosLoteDetalle.FiltraParametros(String.Format("CveCompraDetalle = {0}", CveCompraDetalle), "Consec DESC")
|
||||
GvLote.DataBind()
|
||||
|
||||
'VALIDA QUE SIGA AGREGANDO
|
||||
If Not DtDatosLoteDetalle.SUM("Cantidad", String.Format("ConsecId = {0}", CveConsecSerie)) < LbLoteCantidad2.Text.ToDecimal Then
|
||||
'If Not DtDatosLoteDetalle.SUM("Cantidad", String.Format("ConsecId = {0}", CveConsecSerie)) < LbLoteCantidad2.Text.ToDecimal Then
|
||||
If Not DtDatosLoteDetalle.SUM("Cantidad", String.Format("CveCompraDetalle = {0}", CveCompraDetalle)) < LbLoteCantidad2.Text.ToDecimal Then
|
||||
BtnAddPSLote.Enabled = False
|
||||
If CerrarCompletado Then
|
||||
RegistraScript("$('#DivLote').modal('hide');")
|
||||
@@ -1999,7 +2047,9 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Dim Contador As Decimal = 0
|
||||
For Each Gvr As GridViewRow In GvInv.Rows
|
||||
If Gvr.DataKey("CvePS").ToEntero = CvePSSerie Then
|
||||
Contador = DtDatosLoteDetalle.SUMD("Cantidad", String.Format("ConsecId = {0}", Gvr.DataKey("Consec")))
|
||||
'Contador = DtDatosLoteDetalle.SUMD("Cantidad", String.Format("ConsecId = {0}", Gvr.DataKey("Consec")))
|
||||
Contador = DtDatosLoteDetalle.SUMD("Cantidad", String.Format("CveCompraDetalle = {0}", Gvr.DataKey("CveCompraDetalle")))
|
||||
|
||||
Gvr.FCCheckBox("cbInv").Enabled = False
|
||||
Gvr.FCTextBox("TbCantidadF").Enabled = False
|
||||
If DtDatosLoteDetalle IsNot Nothing AndAlso Contador > 0 Then
|
||||
@@ -2049,7 +2099,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Dim DtSeriesNuevas As New DataTable
|
||||
DtSeriesNuevas.Columns.Add("Serie", GetType(String))
|
||||
|
||||
DtDuplicado = DtDatosLoteDetalle.FiltraParametros($"ConsecId = {CveConsecSerie} AND Lote = '{Lote}' ")
|
||||
'DtDuplicado = DtDatosLoteDetalle.FiltraParametros($"ConsecId = {CveConsecSerie} AND Lote = '{Lote}' ")
|
||||
DtDuplicado = DtDatosLoteDetalle.FiltraParametros($"CveCompraDetalle = {CveCompraDetalle} AND Lote = '{Lote}' ")
|
||||
If DtDuplicado IsNot Nothing AndAlso DtDuplicado.Rows.Count > 0 Then
|
||||
Alert($"<br/> El numero de Lote <b>""{Lote}""</b> proporcionado ya se encuentra ingresado.", TipoMensaje.MsgAdvertencia)
|
||||
RegistraScript("playsonidito('142608__autistic-lucario__error.wav')")
|
||||
@@ -2078,7 +2129,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
End If
|
||||
End If
|
||||
|
||||
Row("ConsecId") = CveConsecSerie
|
||||
'Row("ConsecId") = CveConsecSerie
|
||||
Row("CveCompraDetalle") = CveCompraDetalle
|
||||
Row("Consec") = DtDatosDetalle.Rows.Count + 1
|
||||
Row("Cantidad") = CantidadLote
|
||||
Row("CvePS") = CvePSSerie
|
||||
@@ -2716,8 +2768,12 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
PUExtranjero = DtInv.Rows(gvr.RowIndex)("PUExtranjero").ToString.ToDecimal
|
||||
|
||||
'SI FUE POR SERIE LOTE
|
||||
DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
|
||||
DtDetalleLote = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
|
||||
'DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
|
||||
'DtDetalleLote = DtDatosLoteDetalle.FiltraParametros(String.Format("ConsecId = {0}", gvr.DataKey("Consec").ToEntero))
|
||||
|
||||
DtDetalle = DtDatosDetalle.FiltraParametros(String.Format("CveCompraDetalle = {0}", gvr.DataKey("CveCompraDetalle").ToEntero))
|
||||
DtDetalleLote = DtDatosLoteDetalle.FiltraParametros(String.Format("CveCompraDetalle = {0}", gvr.DataKey("CveCompraDetalle").ToEntero))
|
||||
|
||||
If DtDetalle.Rows.Count > 0 Then
|
||||
Dim ContDt As Integer = 0
|
||||
' por redondeo
|
||||
@@ -3655,7 +3711,9 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
ErrorMovInv = True
|
||||
End Try
|
||||
|
||||
|
||||
If Not ErrorMovInv Then
|
||||
RenombrarBitacoras()
|
||||
End If
|
||||
|
||||
'FINAL
|
||||
If Not ErrorMovInv Then
|
||||
@@ -3759,6 +3817,26 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose()
|
||||
End Sub
|
||||
|
||||
Private Sub RenombrarBitacoras()
|
||||
|
||||
|
||||
Dim fechaActual As String = DateTime.Now.ToString("yyyyMMddHHmmss")
|
||||
|
||||
Dim fib As New FileInfo(ArchivoBitacora)
|
||||
Dim fibd As New FileInfo(ArchivoBitacoraDetalle)
|
||||
|
||||
If fib.Exists() Then
|
||||
Dim nuevoNombre As String = Path.Combine(fib.DirectoryName, Path.GetFileNameWithoutExtension(fib.Name) & "_" & fechaActual & ".xml")
|
||||
fib.MoveTo(nuevoNombre)
|
||||
End If
|
||||
|
||||
If fibd.Exists() Then
|
||||
Dim nuevoNombreDetalle As String = Path.Combine(fibd.DirectoryName, Path.GetFileNameWithoutExtension(fibd.Name) & "_" & fechaActual & ".xml")
|
||||
fibd.MoveTo(nuevoNombreDetalle)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function GenerarMovimientoAlmacenVenta(CveAlmacen As Integer, CveConceptoAlmacen As Integer, CveVenta As Integer, CveMovimientoRelacionado As Integer, DtDetalle As DataTable, ObjInventario As ClsInventarios, ObjConta As ClsContabilidad, EsContabilizable As Boolean, Modulo As String) As MMovimientoAlmacen
|
||||
Dim ErrorMovInv As Boolean = False
|
||||
Dim Retorno As New MMovimientoAlmacen
|
||||
@@ -4816,7 +4894,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Alert("El nombre de la segunda columna debe ser 'Codigo'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
If Not dt.Columns(2).ColumnName = "Producto" Then
|
||||
If Not (dt.Columns(2).ColumnName = "Producto" Or dt.Columns(2).ColumnName = "Producto/Servicio") Then
|
||||
Alert("El nombre de la tercera columna debe ser 'Producto'. Favor de corregirlo", TipoMensaje.MsgError)
|
||||
Exit Sub
|
||||
End If
|
||||
@@ -4851,7 +4929,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Dim CveProducto As Integer = RowPS("CvePS").ToString().ToEntero()
|
||||
Dim CveUnidadMedida As Integer = RowPS("CveUM").ToString().ToEntero()
|
||||
CvePSSerie = CveProducto
|
||||
CveConsecSerie = DtInv.FiltroPrimeroValor("Consec", "CvePS=" & CvePSSerie).ToEntero
|
||||
'CveConsecSerie = DtInv.FiltroPrimeroValor("Consec", "CvePS=" & CvePSSerie).ToEntero
|
||||
CveCompraDetalle = DtInv.FiltroPrimeroValor("CveCompraDetalle", "CvePS=" & CvePSSerie).ToEntero
|
||||
|
||||
Dim Cantidad As Double = RowExcel("Cantidad").ToString().ToDecimal()
|
||||
Dim Serie As String = RowExcel("Serie").ToString()
|
||||
@@ -4875,7 +4954,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
|
||||
|
||||
If Valido Then
|
||||
CveConsecSerie = RowPS("Consec").ToString.ToEntero
|
||||
'CveConsecSerie = RowPS("Consec").ToString.ToEntero
|
||||
CveCompraDetalle = RowPS("CveCompraDetalle").ToString.ToEntero
|
||||
AgregaSerie(RowExcel("Serie").ToString, 1, False)
|
||||
|
||||
'AgregarPS(Cantidad, CveProducto, CveUnidadMedida, Observaciones, CveSeccionAlmacen:=DdlSeccionAlmacen.SelectedValue.ToEntero, SeccionAlmacen:=DdlSeccionAlmacen.SelectedItem.Text, Serie:=If(Not String.IsNullOrEmpty(Serie), Serie, ""), Lote:=Lote, FechaCaducidad:=FechaCaducidad, Limpia:=False)
|
||||
@@ -4887,7 +4967,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
|
||||
Else
|
||||
RowsNoCargados = RowsNoCargados + 1
|
||||
ProductosNoCargados.AppendFormat("{0},", RowExcel("Producto").ToString())
|
||||
ProductosNoCargados.AppendFormat("{0},", RowExcel("Producto/Servicio").ToString())
|
||||
End If
|
||||
End If
|
||||
Next
|
||||
@@ -4896,12 +4976,20 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
Finally
|
||||
|
||||
Dim MensajeFinal As New StringBuilder()
|
||||
|
||||
If RowsNoCargados = 0 AndAlso RowsCargados > 0 Then
|
||||
MensajeFinal.Append("Los productos se cargaron correctamente. <br/><br/>")
|
||||
End If
|
||||
|
||||
If RowsCargados > 0 Then
|
||||
MensajeFinal.Append("Se cargaron <b>" & RowsCargados & "</b> productos correctamente.")
|
||||
|
||||
TxtExcel.Text = "[]"
|
||||
UpConcepto.Update()
|
||||
RegistraScript("$('#DivCargaExcel').modal('hide');")
|
||||
|
||||
End If
|
||||
|
||||
If RowsNoCargados > 0 Then
|
||||
MensajeFinal.Append("No se pudieron cargar <b>" & RowsNoCargados & "</b> productos. <br/>Los siguientes productos no se pudieron cargar: " & ProductosNoCargados.ToString())
|
||||
End If
|
||||
@@ -4922,32 +5010,67 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
End Sub
|
||||
|
||||
Public Sub DescargarFormato()
|
||||
Dim Directorio As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\FormatoRecepcionAlmacen.xlsx"
|
||||
Dim dtt As New DataTable
|
||||
dtt = DtInv.Copy()
|
||||
dtt.Columns.Remove("Cantidad")
|
||||
dtt.Columns("CantidadF").ColumnName = "Cantidad"
|
||||
dtt.Columns("PS").ColumnName = "Producto"
|
||||
dtt.Columns("Codigo").ColumnName = "Código"
|
||||
Dim PathArchivo As String = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\Formatos\FormatoRecepcionAlmacen.xlsx"
|
||||
|
||||
Dim existingcol As New List(Of String) '= {"Cantidad", "Producto", "Código"}
|
||||
If System.IO.File.Exists(PathArchivo) Then
|
||||
|
||||
For Each col As DataColumn In dtt.Columns
|
||||
If Not col.ColumnName.Contiene("Cantidad", "Producto", "Código") Then
|
||||
existingcol.Add(col.ColumnName)
|
||||
End If
|
||||
Next
|
||||
Response.Clear()
|
||||
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
|
||||
Response.AddHeader("Content-Disposition", "attachment; filename=FormatoRecepcionAlmacen.xlsx")
|
||||
Response.TransmitFile(Directorio)
|
||||
Response.End()
|
||||
|
||||
For Each colName As String In existingcol
|
||||
dtt.Columns.Remove(colName)
|
||||
Next
|
||||
End If
|
||||
|
||||
dtt.Columns("Cantidad").SetOrdinal(0)
|
||||
dtt.Columns("Código").SetOrdinal(1)
|
||||
dtt.Columns("Producto").SetOrdinal(2)
|
||||
|
||||
dtt.Columns.Add("Serie", GetType(String))
|
||||
dtt.ExportToExcel("FormatoRecepcionAlmacen.xlsx")
|
||||
'Dim dtt As New DataTable
|
||||
'dtt = DtInv.Copy()
|
||||
|
||||
'If dtt.Columns.Contains("Cantidad") Then
|
||||
' dtt.Columns.Remove("Cantidad")
|
||||
'End If
|
||||
|
||||
'If dtt.Columns.Contains("CantidadF") Then
|
||||
' dtt.Columns("CantidadF").ColumnName = "Cantidad"
|
||||
'End If
|
||||
|
||||
'If dtt.Columns.Contains("PS") Then
|
||||
' dtt.Columns("PS").ColumnName = "Producto"
|
||||
'End If
|
||||
|
||||
'If dtt.Columns.Contains("Codigo") Then
|
||||
' dtt.Columns("Codigo").ColumnName = "Código"
|
||||
'End If
|
||||
|
||||
|
||||
'Dim existingcol As New List(Of String) '= {"Cantidad", "Producto", "Código"}
|
||||
|
||||
'For Each col As DataColumn In dtt.Columns
|
||||
' If Not col.ColumnName.Contiene("Cantidad", "Producto", "Código") Then
|
||||
' existingcol.Add(col.ColumnName)
|
||||
' End If
|
||||
'Next
|
||||
|
||||
'For Each colName As String In existingcol
|
||||
' dtt.Columns.Remove(colName)
|
||||
'Next
|
||||
|
||||
'Try
|
||||
' dtt.Columns("Cantidad").SetOrdinal(0)
|
||||
' dtt.Columns("Código").SetOrdinal(1)
|
||||
' dtt.Columns("Producto").SetOrdinal(2)
|
||||
'Catch ex As Exception
|
||||
|
||||
'End Try
|
||||
|
||||
|
||||
'If Not dtt.Columns.Contains("PS") Then
|
||||
' dtt.Columns.Add("Serie", GetType(String))
|
||||
'End If
|
||||
|
||||
|
||||
|
||||
'dtt.ExportToExcel("FormatoRecepcionAlmacen.xlsx")
|
||||
|
||||
End Sub
|
||||
|
||||
@@ -4957,7 +5080,7 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
'Create a DataTable.
|
||||
Dim dt As New DataTable()
|
||||
|
||||
dt.Columns.AddRange(New DataColumn(9) {New DataColumn("CodBarra", GetType(String)),
|
||||
dt.Columns.AddRange(New DataColumn(10) {New DataColumn("CodBarra", GetType(String)),
|
||||
New DataColumn("OVenta", GetType(String)),
|
||||
New DataColumn("Factura", GetType(String)),
|
||||
New DataColumn("FechaFac", GetType(String)),
|
||||
@@ -4966,7 +5089,8 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
New DataColumn("Producto", GetType(String)),
|
||||
New DataColumn("Serie", GetType(String)),'CodigoUnico
|
||||
New DataColumn("Cantidad", GetType(Integer)),
|
||||
New DataColumn("Código", GetType(String))})
|
||||
New DataColumn("Código", GetType(String)),
|
||||
New DataColumn("CveCompraDetalle", GetType(Integer))})
|
||||
FolioFactura = FolioFactura.Replace("-", "")
|
||||
|
||||
'Read the contents of CSV file.
|
||||
@@ -5049,5 +5173,10 @@ Partial Class Inventarios_RecepcionAlmacen
|
||||
End Class
|
||||
|
||||
|
||||
Protected Sub LnkAgregarExcel_Click(sender As Object, e As EventArgs)
|
||||
TxtExcel.Text = "[]"
|
||||
UpConcepto.Update()
|
||||
RegistraScript("$('#DivCargaExcel').modal('show');")
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
@@ -555,7 +555,6 @@ public partial class Nomina_Nomina2 : ClsPaginas
|
||||
}
|
||||
private void CargaTiposPeriodo()
|
||||
{
|
||||
set_GlobalDTTipoPeriodos(UsuarioActual.CveEmpresa, null);
|
||||
DdlTipoPeriodo.DataSource = get_GlobalDTTipoPeriodos(UsuarioActual.CveEmpresa);
|
||||
DdlTipoPeriodoCM.DataSource = DdlTipoPeriodo.DataSource;
|
||||
DdlTipoPeriodoSim.DataSource = DdlTipoPeriodo.DataSource;
|
||||
|
||||
@@ -520,7 +520,8 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
SDI = Salariodiario * factordeintegracion;
|
||||
SalarioCotizacion = Salariovariable + SDI;
|
||||
if (objpersonal.UpdateSalarios(CvePersonal, txtfechacargamasiva.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
||||
Salariodiario.ToString().ToDouble(), SDI.ToString().ToDouble(), SalarioCotizacion.ToString().ToDouble(), Salariodiario.ToString().ToDouble()))
|
||||
Salariodiario.ToString().ToDouble(), SDI.ToString().ToDouble(), SalarioCotizacion.ToString().ToDouble(), Salariodiario.ToString().ToDouble(),
|
||||
false,true,"C"))
|
||||
{
|
||||
|
||||
{
|
||||
@@ -753,7 +754,9 @@ public partial class RH_CalculoSBC : ClsPaginas
|
||||
double SalarioVariableNuevo = item.DataKey("SalarioVariableNuevo").ToDouble();
|
||||
double SalarioDiarioSS = Math.Round(item.DataKey("SalarioDiarioSS").ToDouble(), 2);
|
||||
if (continuar && (item.FCCheckBox("chkUpdate").Checked) &&//SalarioDiarioSSNuevo != SalarioDiarioSS &&
|
||||
(continuar = objrh.UpdateSalarios(CvePersonal, fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, SalarioDiario, SDINuevo, SalarioDiarioSSNuevo, SalarioDiario)))
|
||||
(continuar = objrh.UpdateSalarios(CvePersonal, fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, SalarioDiario, SDINuevo, SalarioDiarioSSNuevo, SalarioDiario,
|
||||
false,true,"D"
|
||||
)))
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -41,14 +41,26 @@ Partial Class RH_CatTurno
|
||||
End Sub
|
||||
|
||||
Private Sub BtnAgregarTurno_Click(sender As Object, e As EventArgs) Handles BtnAgregarTurno.Click
|
||||
|
||||
Dim ComidaDe As String = If(TxtComidade.Text.Trim = "", "00:00:00", TxtComidade.Text.Trim)
|
||||
Dim ComidaA As String = If(TxtComidaA.Text.Trim = "", "00:00:00", TxtComidaA.Text.Trim)
|
||||
|
||||
|
||||
Dim horaInicios As String = If(TxtHorarioDe.Text.Trim = "", "00:00:00", TxtHorarioDe.Text.Trim)
|
||||
Dim horaSalidaS As String = If(TxtHorarioA.Text.Trim = "", "00:00:00", TxtHorarioA.Text.Trim)
|
||||
|
||||
Dim horaInicio As TimeSpan = TimeSpan.Parse(horaInicios)
|
||||
Dim horaSalida As TimeSpan = TimeSpan.Parse(horaSalidaS)
|
||||
|
||||
If Not validaHorasTurno(horaInicio, horaSalida) Then
|
||||
Exit Sub
|
||||
End If
|
||||
Exit Sub
|
||||
|
||||
Using ObjRH As New ClsRH
|
||||
Dim Estatus As Boolean = False
|
||||
Dim comida As Integer = If(chkComida.Checked, 1, 0)
|
||||
|
||||
Dim ComidaDe As String = If(TxtComidade.Text.Trim = "", "00:00:00", TxtComidade.Text.Trim)
|
||||
Dim ComidaA As String = If(TxtComidaA.Text.Trim = "", "00:00:00", TxtComidaA.Text.Trim)
|
||||
|
||||
|
||||
If ChkEstatus.Checked Then Estatus = True
|
||||
If HdnModalidad.Value = "A" Then
|
||||
If ObjRH.AddTurno(TxtTurno.Text, TxtHorarioDe.Text, TxtHorarioA.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlChecadorHorario.SelectedValue.ToEntero(),
|
||||
@@ -72,6 +84,25 @@ Partial Class RH_CatTurno
|
||||
|
||||
End Sub
|
||||
|
||||
Private Function validaHorasTurno(horaInicio As TimeSpan, horaSalida As TimeSpan) As Boolean
|
||||
|
||||
If horaInicio > horaSalida Then
|
||||
horaSalida = horaSalida.Add(TimeSpan.FromDays(1))
|
||||
End If
|
||||
|
||||
|
||||
Dim diferencia As TimeSpan = horaSalida - horaInicio
|
||||
|
||||
If diferencia.TotalHours > 13 Then
|
||||
Alert("Las horas de entrada y salida no son validas. El rango de horas supera las 13 horas.", TipoMensaje.MsgAdvertencia)
|
||||
Return False
|
||||
End If
|
||||
|
||||
|
||||
Return True
|
||||
|
||||
End Function
|
||||
|
||||
Public Sub Edit_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
|
||||
|
||||
@@ -7050,7 +7050,9 @@ Partial Class RH_Personal
|
||||
TxtSalarioDiarioIntegrado.Text = TxtFISalarioDiarioIntegrado.Text
|
||||
Using ObjPersonal As ClsRH = New ClsRH()
|
||||
ObjPersonal.IniciaTransacSQL()
|
||||
If ObjPersonal.UpdateSalarios(CvePersonal, TxtFechamodSalario.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, TxtSalarioDiarioM.Text.ToDecimal(), TxtFISalarioDiarioIntegrado.Text.ToDecimal(), TxtSalarioDiarioImSS.Text.ToDecimal(), TxtSalarioDiarioM.Text.ToDecimal()) Then
|
||||
If ObjPersonal.UpdateSalarios(CvePersonal, TxtFechamodSalario.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
||||
TxtSalarioDiarioM.Text.ToDecimal(), TxtFISalarioDiarioIntegrado.Text.ToDecimal(), TxtSalarioDiarioImSS.Text.ToDecimal(),
|
||||
TxtSalarioDiarioM.Text.ToDecimal(), False, False, "A") Then
|
||||
|
||||
|
||||
ObjPersonal.Commit()
|
||||
@@ -7085,7 +7087,7 @@ Partial Class RH_Personal
|
||||
Using ObjPersonal As ClsRH = New ClsRH()
|
||||
ObjPersonal.IniciaTransacSQL()
|
||||
If ObjPersonal.UpdateSalarios(CvePersonal, TxtFechamodIMSSSalario.Text.ToDate().ToString("yyyy/MM/dd"), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
|
||||
TxtSalarioDiario.Text.ToDecimal(), TxtMImssSDI.Text.ToDecimal(), TxtMImssSalarioDiarioImSS.Text.ToDecimal(), -1) Then
|
||||
TxtSalarioDiario.Text.ToDecimal(), TxtMImssSDI.Text.ToDecimal(), TxtMImssSalarioDiarioImSS.Text.ToDecimal(), -1, False, True, "B") Then
|
||||
|
||||
|
||||
ObjPersonal.Commit()
|
||||
|
||||
@@ -1,19 +1,323 @@
|
||||
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="TripsChecks.aspx.cs" Inherits="VYA_TripsChecks" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
<style>
|
||||
.trip-button {
|
||||
display: inline-block;
|
||||
width: 150px;
|
||||
text-align: center;
|
||||
margin: 20px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.trip-button img {
|
||||
width: 150px;
|
||||
height: auto;
|
||||
border: 2px solid #ddd;
|
||||
border-radius: 5px;
|
||||
padding: 10px;
|
||||
transition: transform 0.2s;
|
||||
}
|
||||
|
||||
.trip-button img:hover {
|
||||
transform: scale(1.05);
|
||||
}
|
||||
|
||||
.trip-button p {
|
||||
font-family: Arial, sans-serif;
|
||||
margin-top: 10px;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.odometer-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.odometer-btn {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
font-size: 1.5rem;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
padding: 0;
|
||||
border-radius: 50%;
|
||||
background-color: #e0e0e0;
|
||||
border: none;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.btn-ok {
|
||||
background-color: green;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.btn-detected {
|
||||
background-color: red;
|
||||
color: white;
|
||||
}
|
||||
|
||||
.btn-next {
|
||||
background-color: blue;
|
||||
color: white;
|
||||
}
|
||||
|
||||
|
||||
.gridview-style {
|
||||
width: 100%;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
.gridview-style td {
|
||||
padding: 10px;
|
||||
border-bottom: 1px solid #ddd;
|
||||
}
|
||||
.requerido{color:darkred}
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
|
||||
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
|
||||
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
|
||||
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
|
||||
|
||||
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2 col-xs-12">
|
||||
|
||||
<asp:Panel ID="PnlPaso1" runat="server">
|
||||
|
||||
<div class="portlet light xspadding bordered" id="idnecesaria1">
|
||||
<div class="portlet-title ">
|
||||
<div class="tools">
|
||||
</div>
|
||||
<div class="titlefiltros caption">
|
||||
Paso 1: Seleccione el Tipo de Unidad
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-offset-2 col-sm-4">
|
||||
<!-- Botón para Trip Autobus -->
|
||||
<asp:ImageButton ID="imgBtnAutobus" runat="server" ImageUrl="~/imagenes/autobus.png" OnClick="ImgBtnAutobus_Click" CssClass="trip-button" />
|
||||
<p>TRIP AUTOBUS</p>
|
||||
|
||||
</div>
|
||||
<div class="col-sm-4">
|
||||
<!-- Botón para Trip Sprinter -->
|
||||
<asp:ImageButton ID="imgBtnSprinter" runat="server" ImageUrl="~/imagenes/sprinter.png" OnClick="ImgBtnSprinter_Click" CssClass="trip-button" />
|
||||
<p>TRIP SPRINTER</p>
|
||||
</div>
|
||||
<div class="col-sm-4"></div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</asp:Panel>
|
||||
<asp:Panel ID="PnlPaso2" runat="server">
|
||||
|
||||
<div class="portlet light xspadding bordered" id="idnecesaria">
|
||||
<div class="portlet-title ">
|
||||
<div class="tools">
|
||||
</div>
|
||||
<div class="titlefiltros caption">
|
||||
Paso 2: CHECK PT
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body">
|
||||
|
||||
<div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label>Tipo de Unidad</label>
|
||||
<asp:DropDownList ID="DdlTipoUnidad" data-text="Todos" AppendDataBoundItems="true" AutoPostBack="true"
|
||||
DataTextField="TipoActivoFijo" DataValueField="CveTipoActivoFijo" OnSelectedIndexChanged="DdlTipoUnidad_SelectedIndexChanged"
|
||||
CssClass="form-control ddlFiltros input-sm select2me Widthall" ClientIDMode="Static"
|
||||
Style="width: 100%;" runat="server">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label>Unidad</label>
|
||||
<asp:DropDownList ID="DdlAF" DataValueField="CveActivoFijo" DataTextField="CodDesc" Class="form-control select2me" Width="100%" runat="server">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label for="odometro">Folio</label>
|
||||
<asp:TextBox ID="TxtFolio" runat="server" CssClass="form-control text-right" Text="0" Style="width: 100%;" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label>Fecha</label>
|
||||
|
||||
<div style="width: 115px">
|
||||
<div class="input-group input-sm input-small date date-picker "
|
||||
data-date-format="dd/mm/yyyy"
|
||||
style="width: 100px !important; padding: 0px;">
|
||||
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control"
|
||||
MaxLength="10"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="imgCalendario" class="btn default" Text="<i class='fa fa-calendar'></i>"
|
||||
runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI"
|
||||
Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI"
|
||||
PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label>Chofer</label>
|
||||
<asp:DropDownList ID="DdlChofer" data-text="Todos" AppendDataBoundItems="true"
|
||||
DataTextField="NombreCompleto" DataValueField="CvePersonal" CssClass="form-control ddlFiltros input-sm select2me Widthall" ClientIDMode="Static"
|
||||
Style="width: 100%;" runat="server">
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group">
|
||||
<label for="odometro">ODÓMETRO</label>
|
||||
<div class="odometer-container">
|
||||
<button type="button" class="odometer-btn" onclick="updateOdometer(-1)">-</button>
|
||||
<asp:TextBox ID="txtOdometer" runat="server" CssClass="form-control text-center" Text="0" Style="width: 80px;" />
|
||||
<button type="button" class="odometer-btn" onclick="updateOdometer(1)">+</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group text-right">
|
||||
|
||||
<asp:Button ID="btnContinuar" runat="server" CssClass="btn btn-primary" Text="Continuar" OnClientClick="setPaso(3); return false;" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</asp:Panel>
|
||||
<asp:Panel ID="PnlPaso3" runat="server">
|
||||
|
||||
<div class="portlet light xspadding bordered" id="idnecesaria3">
|
||||
<div class="portlet-title ">
|
||||
<div class="tools">
|
||||
</div>
|
||||
<div class="titlefiltros caption">
|
||||
Paso 3:
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
|
||||
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body" style="display:none;">
|
||||
<div>
|
||||
<h4>
|
||||
<asp:Label ID="lblFormulario" runat="server" Font-Bold="True" />
|
||||
</h4>
|
||||
<asp:GridView ID="gvPreguntas" runat="server" GridLines="none" AutoGenerateColumns="False" ShowHeader="false" DataKeyNames="CvePregunta,Valor"
|
||||
CssClass="gridview-style" OnRowDataBound="gvPreguntas_RowDataBound" >
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="Acciones">
|
||||
<ItemTemplate>
|
||||
<h4>
|
||||
<asp:Label ID="lblPregunta" runat="server" Text='<%# Eval("Pregunta") %>'></asp:Label>*<br />
|
||||
</h4>
|
||||
|
||||
<asp:Button ID="btnOk" runat="server" Text="OK" OnClick="btnOk_Click" />
|
||||
<asp:Button ID="btnDetected" runat="server" Text="Detectado" OnClick="btnDetected_Click" />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
<div class="form-group">
|
||||
<h4>
|
||||
<asp:Label ID="lblFormularioobserv" runat="server"></asp:Label><br />
|
||||
</h4>
|
||||
<asp:TextBox ID="TxtObservaciones" runat="server" TextMode="multiline" CssClass="Widthall" Columns="50" Rows="5"></asp:TextBox>
|
||||
</div>
|
||||
<div class="text-center">
|
||||
|
||||
<asp:Button ID="btnAnt" runat="server" CssClass="btn btn-default" Text="Anterior" OnClick="btnAnt_Click" />
|
||||
<asp:Button ID="BtnCancel" runat="server" CssClass="btn btn-default" Text="Cancelar" OnClick="BtnCancel_Click" />
|
||||
<asp:Button ID="btnNext" runat="server" CssClass="btn btn-default" Text="Siguiente" OnClick="btnNext_Click" />
|
||||
<asp:Button ID="btnGuardar" runat="server" CssClass="btn btn-primary" Text="Guardar" OnClick="btnGuardar_Click" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</asp:Panel>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script>
|
||||
function setPaso(id){
|
||||
if (id == 3) {
|
||||
|
||||
}
|
||||
}
|
||||
function updateOdometer(change) {
|
||||
// Get the odometer input field
|
||||
var odometerInput = document.getElementById('<%= txtOdometer.ClientID %>');
|
||||
|
||||
// Convert the current value to a number and update it by the change amount
|
||||
var currentValue = parseInt(odometerInput.value, 10);
|
||||
if (isNaN(currentValue)) {
|
||||
currentValue = 0;
|
||||
}
|
||||
|
||||
// Update the value
|
||||
odometerInput.value = currentValue + change;
|
||||
}
|
||||
</script>
|
||||
</asp:Content>
|
||||
|
||||
|
||||
@@ -1,13 +1,274 @@
|
||||
using System;
|
||||
using CrystalDecisions.Shared.Json;
|
||||
using System;
|
||||
using System.Activities.Expressions;
|
||||
using System.Collections.Generic;
|
||||
using System.Data;
|
||||
using System.Linq;
|
||||
using System.Web;
|
||||
using System.Web.UI;
|
||||
using System.Web.UI.WebControls;
|
||||
using Extensiones;
|
||||
|
||||
public partial class VYA_TripsChecks : System.Web.UI.Page
|
||||
public partial class VYA_TripsChecks : ClsPaginas
|
||||
{
|
||||
|
||||
#region "Propiedades"
|
||||
|
||||
private int Paso
|
||||
{
|
||||
get
|
||||
{
|
||||
return ViewState["Paso"].ToEntero();
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
PnlPaso1.Visible = (value == 1);
|
||||
PnlPaso2.Visible = (value == 2 || value == 3);
|
||||
PnlPaso3.Visible = (value == 3 || value == 2);
|
||||
ViewState["Paso"] = value;
|
||||
}
|
||||
}
|
||||
private int _currentFormIndex
|
||||
{
|
||||
get
|
||||
{
|
||||
return ViewState["_currentFormIndex"].ToEntero();
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["_currentFormIndex"] = value;
|
||||
}
|
||||
}
|
||||
private DataTable _dtPreguntas
|
||||
{
|
||||
get
|
||||
{
|
||||
if (ViewState["_dtPreguntas"] != null)
|
||||
return (DataTable)ViewState["_dtPreguntas"];
|
||||
else
|
||||
return null;
|
||||
}
|
||||
|
||||
set
|
||||
{
|
||||
ViewState["_dtPreguntas"] = value;
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
if (!IsPostBack)
|
||||
{
|
||||
Paso = (Request["Paso"] != null && Request["Paso"].ToString().ToEntero() > 0) ? Request["Paso"].ToString().ToEntero() : 1;
|
||||
_currentFormIndex = (Request["FormIndex"] != null && Request["FormIndex"].ToString().ToEntero() > 0) ? Request["FormIndex"].ToString().ToEntero() : 1;
|
||||
CargaCombos();
|
||||
LoadData();
|
||||
BindForm();
|
||||
}
|
||||
}
|
||||
|
||||
public void CargaCombos()
|
||||
{
|
||||
|
||||
DataTable dttipoaf = get_GlobalDTTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("MedidaVehicularClave IN (2,3)");
|
||||
DdlTipoUnidad.DataSource = dttipoaf;
|
||||
DdlTipoUnidad.Items.Insert(0, new ListItem("Todos", "-1"));
|
||||
DdlTipoUnidad.DataBind();
|
||||
|
||||
//CvePuesto =702 valor fijo V&A
|
||||
DataTable dtchofer = get_GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("CvePuesto = 702 and CveEstatusPersonal = 1", "NombreCompleto");
|
||||
DdlChofer.DataSource = dtchofer;
|
||||
DdlChofer.DataBind();
|
||||
DdlChofer.Items.Insert(0, new ListItem("-", "-1"));
|
||||
}
|
||||
public void cargaUnidades()
|
||||
{
|
||||
DataTable dt = get_GlobalDTActivoFijos(UsuarioActual.CveEmpresa).FiltraParametros(string.Format(" EstadoActivoFijo= 'Activo' ", DdlTipoUnidad.SelectedValue));
|
||||
DdlAF.DataSource = dt;
|
||||
DdlAF.DataBind();
|
||||
DdlAF.Items.Insert(0, new ListItem("-", "-1"));
|
||||
|
||||
}
|
||||
#region "Paso 1"
|
||||
protected void ImgBtnAutobus_Click(object sender, ImageClickEventArgs e)
|
||||
{
|
||||
DdlTipoUnidad.SelectedValue = "181";
|
||||
Paso = 2;
|
||||
cargaUnidades();
|
||||
}
|
||||
|
||||
protected void ImgBtnSprinter_Click(object sender, ImageClickEventArgs e)
|
||||
{
|
||||
DdlTipoUnidad.SelectedValue = "184";
|
||||
Paso = 2;
|
||||
cargaUnidades();
|
||||
}
|
||||
#endregion
|
||||
|
||||
protected void DdlTipoUnidad_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
cargaUnidades();
|
||||
|
||||
}
|
||||
|
||||
|
||||
#region "Formulario"
|
||||
private void LoadData()
|
||||
{
|
||||
_dtPreguntas = new DataTable();
|
||||
using(ClsTransportes nom =new ClsTransportes())
|
||||
{
|
||||
if(nom.VIA_FormularioTrip(-1,UsuarioActual.CveUsuario,UsuarioActual.CveEmpresa))
|
||||
{
|
||||
_dtPreguntas =nom.DtResultados;
|
||||
}
|
||||
}
|
||||
//// Para la demostración, aquí va un código para llenar el DataTable con datos ficticios.
|
||||
//_dtPreguntas.Columns.Add("CveFormulario", typeof(int));
|
||||
//_dtPreguntas.Columns.Add("Formulario", typeof(string));
|
||||
//_dtPreguntas.Columns.Add("CvePregunta", typeof(int));
|
||||
//_dtPreguntas.Columns.Add("Pregunta", typeof(string));
|
||||
//_dtPreguntas.Columns.Add("Valor", typeof(int));
|
||||
//_dtPreguntas.Columns.Add("OrdenPregunta", typeof(int));
|
||||
//_dtPreguntas.Columns.Add("OrdenFormulario", typeof(int));
|
||||
|
||||
//// Agregar datos de prueba
|
||||
//_dtPreguntas.Rows.Add(1, "Formulario 1", 1, "Pregunta 1", null, 1, 1);
|
||||
//_dtPreguntas.Rows.Add(1, "Formulario 1", 2, "Pregunta 2", null, 2, 1);
|
||||
//_dtPreguntas.Rows.Add(2, "Formulario 2", 3, "Pregunta 3", null, 1, 2);
|
||||
//_dtPreguntas.Rows.Add(2, "Formulario 2", 4, "Pregunta 4", null, 2, 2);
|
||||
//_dtPreguntas.Rows.Add(2, "Formulario 2", 5, "Pregunta 5", null, 1, 3);
|
||||
//_dtPreguntas.Rows.Add(2, "Formulario 2", 6, "Pregunta 6", null, 2, 3);
|
||||
}
|
||||
|
||||
private void BindForm()
|
||||
{
|
||||
var filteredRowsant = _dtPreguntas.FiltraParametros($"OrdenFormulario = {_currentFormIndex - 1}");
|
||||
var filteredRowsnext = _dtPreguntas.FiltraParametros($"OrdenFormulario = {_currentFormIndex + 1}");
|
||||
btnAnt.Visible = filteredRowsant.Rows.Count > 0;
|
||||
btnNext.Visible = filteredRowsnext.Rows.Count > 0;
|
||||
btnGuardar.Visible = !(filteredRowsnext.Rows.Count > 0);
|
||||
var filteredRows = _dtPreguntas.Select($"OrdenFormulario = {_currentFormIndex}");
|
||||
var sortedRows = filteredRows.CopyToDataTable();
|
||||
if(sortedRows.Rows.Count > 0)
|
||||
{
|
||||
lblFormulario.Text = $"{sortedRows.Rows[0]["Formulario"]}:";
|
||||
lblFormularioobserv.Text = $"Observaciones {sortedRows.Rows[0]["Formulario"]}";
|
||||
|
||||
}
|
||||
gvPreguntas.DataSource = sortedRows;
|
||||
gvPreguntas.DataBind();
|
||||
UpDatos.Update();
|
||||
}
|
||||
protected void gvPreguntas_RowDataBound(object sender, GridViewRowEventArgs e)
|
||||
{
|
||||
if (e.Row.RowType == DataControlRowType.DataRow)
|
||||
{
|
||||
string valor = e.Row.DataKey("Valor");
|
||||
|
||||
// Botón btnOk
|
||||
Button btnOk = (Button)e.Row.FindControl("btnOk");
|
||||
if (btnOk != null)
|
||||
{
|
||||
btnOk.CssClass = valor == "1" ? "btn btn-primary" : "btn btn-default";
|
||||
}
|
||||
|
||||
// Botón btnDetected
|
||||
Button btnDetected = (Button)e.Row.FindControl("btnDetected");
|
||||
if (btnDetected != null)
|
||||
{
|
||||
btnDetected.CssClass = valor == "0" ? "btn btn-primary" : "btn btn-default";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void UpdateValue(int cvePregunta, int newValue)
|
||||
{
|
||||
foreach (DataRow row in _dtPreguntas.Rows)
|
||||
{
|
||||
if (Convert.ToInt32(row["CvePregunta"]) == cvePregunta)
|
||||
{
|
||||
row["Valor"] = newValue;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
protected void btnOk_Click(object sender, EventArgs e)
|
||||
{
|
||||
Button btnOk = (Button)sender;
|
||||
GridViewRow row = (GridViewRow)btnOk.NamingContainer;
|
||||
int cvePregunta = row.DataKey("CvePregunta").ToEntero();
|
||||
|
||||
UpdateValue(cvePregunta, 1);
|
||||
BindForm();
|
||||
}
|
||||
|
||||
protected void btnDetected_Click(object sender, EventArgs e)
|
||||
{
|
||||
Button btnDetected = (Button)sender;
|
||||
GridViewRow row = (GridViewRow)btnDetected.NamingContainer;
|
||||
int cvePregunta = row.DataKey("CvePregunta").ToEntero();
|
||||
|
||||
UpdateValue(cvePregunta, 0);
|
||||
BindForm();
|
||||
}
|
||||
public bool ValidarGridView()
|
||||
{
|
||||
bool ok = true;
|
||||
|
||||
foreach (GridViewRow row in gvPreguntas.Rows)
|
||||
{
|
||||
// Obtener el valor del DataKey correspondiente a la fila actual
|
||||
string valor = row.DataKey("Valor");
|
||||
|
||||
// Verificar si el valor es diferente de '0' o '1'
|
||||
if (valor != "0" && valor != "1")
|
||||
{
|
||||
ok = false;
|
||||
|
||||
// Marcar lblPregunta como requerido si el valor es diferente
|
||||
Label lblPregunta = (Label)row.FindControl("lblPregunta");
|
||||
if (lblPregunta != null)
|
||||
{
|
||||
lblPregunta.CssClass = "requerido"; // Añade tu clase CSS para marcar como requerido
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return ok;
|
||||
}
|
||||
|
||||
protected void btnNext_Click(object sender, EventArgs e)
|
||||
{
|
||||
if (ValidarGridView())
|
||||
{
|
||||
// Incrementar el índice del formulario
|
||||
_currentFormIndex++;
|
||||
BindForm();
|
||||
}
|
||||
}
|
||||
protected void btnAnt_Click(object sender, EventArgs e)
|
||||
{
|
||||
_currentFormIndex--;
|
||||
BindForm();
|
||||
}
|
||||
|
||||
protected void BtnCancel_Click(object sender, EventArgs e)
|
||||
{
|
||||
Paso = 1;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
protected void btnGuardar_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
protected void btnContinuar_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
@@ -723,6 +723,42 @@
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12" id="DivListaPrecios" runat="server" visible="false">
|
||||
<div class="portlet xspadding light bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-briefcase font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Lista de Precios </span>
|
||||
</div>
|
||||
<div class="actions">
|
||||
<div class="btn-group">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="portlet-body form">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<asp:GridView ID="GvMultiple" Width="100%" runat="server" GridLines="None" ClientIDMode="Static" AutoGenerateColumns="false" DataKeyNames="CvePrecioLista,PrecioLista,Precio"
|
||||
CssClass="table table-striped table-advance table-hover ScrollAD mysmallbtn" data-sort="true" EmptyDataText="No se encontraron registros" OnRowDataBound="GvMultiple_RowDataBound">
|
||||
<Columns>
|
||||
<asp:BoundField DataField="PrecioLista" HeaderText="Lista de Precio" />
|
||||
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
|
||||
<HeaderTemplate>
|
||||
<asp:Label ID="LtlLista" runat="server">Precio</asp:Label>
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:TextBox ID="TxtPrecio" runat="server" MaxLength="39" onkeypress="return onlyNumberKey(event)" Style="text-align: right !important;"></asp:TextBox>
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
@@ -2672,7 +2708,19 @@
|
||||
}
|
||||
//TERMINA: ECOMMERCE
|
||||
|
||||
|
||||
function onlyNumberKey(evt) {
|
||||
|
||||
// Only ASCII character in that range allowed
|
||||
var ASCIICode = (evt.which) ? evt.which : evt.keyCode
|
||||
if (ASCIICode > 31 && (ASCIICode < 48 || ASCIICode > 57)) {
|
||||
if (ASCIICode == 46) {
|
||||
return true
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
@@ -141,6 +141,15 @@ Partial Class ProductosyServicios
|
||||
ViewState("Imagen") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property DtPreciosMultiple As DataTable
|
||||
Get
|
||||
Return If(IsNothing(ViewState("DtPreciosMultiple")), Nothing, CType(ViewState("DtPreciosMultiple"), DataTable))
|
||||
End Get
|
||||
Set(value As DataTable)
|
||||
ViewState("DtPreciosMultiple") = value
|
||||
End Set
|
||||
End Property
|
||||
#End Region
|
||||
|
||||
Private ReadOnly Property PermiteClasificacion2 As Boolean
|
||||
@@ -273,6 +282,9 @@ Partial Class ProductosyServicios
|
||||
'CargaFamilia(ViewState("CveSubFamilia").ToString.ToEntero)
|
||||
CargaSucursaless()
|
||||
CargaImpuestosLocales()
|
||||
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||||
CargaListaPrecios()
|
||||
End If
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(122) Then
|
||||
BtnEliminar.Visible = False
|
||||
@@ -1714,6 +1726,10 @@ Partial Class ProductosyServicios
|
||||
Next
|
||||
End If
|
||||
|
||||
If Not TieneError AndAlso UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||||
GuardarListasPrecios(ObjProductosServicios)
|
||||
End If
|
||||
|
||||
If ObjProductosServicios.CvePS > 0 And Not TieneError Then
|
||||
TieneError = GuardaEcommerce()
|
||||
End If
|
||||
@@ -2967,6 +2983,58 @@ Partial Class ProductosyServicios
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "LISTA PRECIOS"
|
||||
|
||||
Private Sub CargaListaPrecios()
|
||||
|
||||
Dim objPS As New ClsProductosServicios
|
||||
If objPS.GetPSPreciosLista(UsuarioActual.CveEmpresa, -1, CveClasificacion:=-1, CvePS:=CvePS,
|
||||
CveProveedor:=-1, Estado:=-1, Marcas:="-1", CveModelo:=-1) Then
|
||||
DtPreciosMultiple = objPS.DtResultados.Copy()
|
||||
GvMultiple.DataSource = DtPreciosMultiple
|
||||
End If
|
||||
objPS.Dispose()
|
||||
DivListaPrecios.Visible = True
|
||||
GvMultiple.DataBind()
|
||||
End Sub
|
||||
|
||||
Protected Sub GvMultiple_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
|
||||
Dim Valor As Decimal = DtPreciosMultiple.Rows(e.Row.RowIndex)(2).ToString().ToDecimal()
|
||||
|
||||
e.Row.FCTextBox("TxtPrecio").Text = Valor.FormatoNumero(2)
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub GuardarListasPrecios(ObjPS As ClsProductosServicios)
|
||||
Dim TieneError As Boolean = False
|
||||
|
||||
Try
|
||||
For Each GvRow As GridViewRow In GvMultiple.Rows
|
||||
Dim CvePrecioLista As Integer = GvRow.DataKey("CvePrecioLista").ToEntero()
|
||||
Dim Precio As Decimal = GvRow.FCTextBox("TxtPrecio").Text.ToDecimal()
|
||||
|
||||
TieneError = Not ObjPS.UpdatePSPreciosLista(Precio, CvePrecioLista, 0, CvePS, UsuarioActual.CveUsuario, NowADS(), True)
|
||||
|
||||
If TieneError Then
|
||||
Exit For
|
||||
End If
|
||||
Next
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al actualizar precios", ex)
|
||||
TieneError = True
|
||||
End Try
|
||||
|
||||
If TieneError Then
|
||||
Alert("Ocurrió un error al actualizar precios", TipoMensaje.MsgError)
|
||||
End If
|
||||
|
||||
End Sub
|
||||
|
||||
#End Region
|
||||
|
||||
#Region "EXISTENCIAS"
|
||||
|
||||
Protected Sub GVExistencias_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
|
||||
@@ -56,6 +56,9 @@
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server">Ver Grafica</asp:LinkButton>
|
||||
</li>
|
||||
<li>
|
||||
<asp:LinkButton ID="LnkModalPorcentajes" OnClick="LnkModalPorcentajes_Click" runat="server" Visible="false"><i class="fa fa-list" aria-hidden="true"></i> Consultar porcentajes</asp:LinkButton>
|
||||
</li>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<li>
|
||||
@@ -275,6 +278,106 @@
|
||||
</asp:GridView>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
|
||||
<div id="DivModalPorcetajes" class="modal ADS fade" role="dialog">
|
||||
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UpModalPorcentajes" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<div class="modal-content" style="width:700px!important">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h4 class="modal-title">
|
||||
<asp:Label ID="LblModalTituloPorcentajes" runat="server" ClientIDMode="Static" Text="">Consulta Porcentajes</asp:Label>
|
||||
</h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<div class="row">
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="form-group form-md-line-input input-iconright date date-picker date date-picker" style="min-width: 135px; margin-top: -10px !important;">
|
||||
<label for="<%= TxtModalFechaInicio.ClientID.ToString()%>" style="color: #888888;">Fecha Inicio: </label>
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
|
||||
<asp:TextBox ID="TxtModalFechaInicio" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="100px"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="LnkTxtModalFechaInicio" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="METxtModalFechaInicio" runat="server" TargetControlID="TxtModalFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="CETxtModalFechaInicio" TargetControlID="TxtModalFechaInicio" PopupButtonID="LnkTxtModalFechaInicio" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="RfvTxtModalFechaInicio" CssClass="help-block errorimput" runat="server" ControlToValidate="TxtModalFechaInicio" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalPorcentaje"></asp:RequiredFieldValidator>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-3">
|
||||
<div class="form-group form-md-line-input input-iconright date date-picker date date-picker" style="min-width: 135px; margin-top: -10px !important;">
|
||||
<label for="<%= TxtModalFechaFin.ClientID.ToString()%>" style="color: #888888;">Fecha Fin: </label>
|
||||
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 120px !important; padding: 0px;">
|
||||
<asp:TextBox ID="TxtModalFechaFin" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10" Width="100px"></asp:TextBox>
|
||||
<span class="input-group-btn ">
|
||||
<asp:LinkButton ID="LnkTxtModalFechaFin" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
|
||||
</span>
|
||||
</div>
|
||||
<ajax:MaskedEditExtender ID="METxtModalFechaFin" runat="server" TargetControlID="TxtModalFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
|
||||
<ajax:CalendarExtender runat="server" ID="CETxtModalFechaFin" TargetControlID="TxtModalFechaFin" PopupButtonID="LnkTxtModalFechaFin" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
|
||||
<asp:RequiredFieldValidator ID="RfvLnkTxtModalFechaFin" CssClass="help-block errorimput" runat="server" ControlToValidate="TxtModalFechaFin" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalPorcentaje"></asp:RequiredFieldValidator>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtModalPorcentaje" runat="server" CausesValidation="true" CssClass="form-control" MaxLength="13" Text="5" Enabled="true"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RfvTxtModalPorcentaje" CssClass="help-block errorimput" runat="server" ControlToValidate="TxtModalPorcentaje" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Porcentaje''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalPorcentaje"></asp:RequiredFieldValidator>
|
||||
<ajax:FilteredTextBoxExtender ID="FIETTxtModalPorcentaje" TargetControlID="TxtModalPorcentaje" FilterType="Numbers,Custom" ValidChars="-" runat="server" />
|
||||
<label for="<%= TxtModalPorcentaje.ClientID.ToString()%>">Porcentaje Menor a:</label>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
<asp:Button runat="server" ID="BtnModalConsultaPorcentaje" CssClass="btn btn-primary" Text="Consultar" CausesValidation="true" ValidationGroup="GrpModalPorcentaje" OnClick="BtnModalConsultaPorcentaje_Click" />
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12" style="height:10px!important"></div>
|
||||
</div>
|
||||
<div class="row">
|
||||
|
||||
|
||||
<div class="col-md-12">
|
||||
<asp:GridView ID="GvPorcentajes" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Ventas Utilidad con los filtros especificados"
|
||||
CssClass="table table-advance table-hover Widthall ScrollAD" data-sort="true" GridLines="None" OnRowDataBound="GvPorcentajes_RowDataBound" >
|
||||
<Columns>
|
||||
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Left" HeaderText="SubProyecto" DataField="SubProyecto" ItemStyle-Width="200px" />
|
||||
|
||||
<asp:HyperLinkField ItemStyle-HorizontalAlign="Center" HeaderText="Serie Folio" DataTextField="SerieFolio" DataTextFormatString="{0}" Target="_blank"
|
||||
DataNavigateUrlFields="CveVenta"
|
||||
DataNavigateUrlFormatString="Ventas.aspx?CveVenta={0}" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Center" HeaderText="Fecha" DataField="FechaVenta" DataFormatString="{0:d}" ItemStyle-Width="100px" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="SubTotal" DataField="SubTotal" DataFormatString="{0:N}" ItemStyle-Width="100px" />
|
||||
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="Costo" DataField="Costo" DataFormatString="{0:N}" ItemStyle-Width="100px" />
|
||||
<asp:BoundField ItemStyle-HorizontalAlign="Right" HeaderText="% Neto" DataField="PorNeto" DataFormatString="{0:N}" ItemStyle-Width="100px" />
|
||||
|
||||
</Columns>
|
||||
</asp:GridView>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal-footer">
|
||||
|
||||
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
<div id="DivModalGrafica" class="modal ADS fade" role="dialog">
|
||||
<asp:UpdatePanel class="modal-dialog modal-lg" runat="server" ID="UPModalProd" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
@@ -288,18 +391,20 @@
|
||||
<div class="modal-body">
|
||||
<div class="row">
|
||||
|
||||
<label class="col-md-1 truncate">Ver:</label>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
|
||||
<asp:ListItem Selected="True" Text="Neto" Value="1"></asp:ListItem>
|
||||
<asp:ListItem Text="Rentabilidad" Value="2"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
<label class="col-md-1 truncate">Ver:</label>
|
||||
<div class="col-md-2">
|
||||
<asp:DropDownList ID="DdlVer" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlVer_SelectedIndexChanged" AppendDataBoundItems="true" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
|
||||
<asp:ListItem Selected="True" Text="Neto" Value="1"></asp:ListItem>
|
||||
<asp:ListItem Text="Rentabilidad" Value="2"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<br />
|
||||
|
||||
<br />
|
||||
<div id="chartdiv"></div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cerrar</button>
|
||||
</div>
|
||||
@@ -307,6 +412,10 @@
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
|
||||
|
||||
|
||||
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script src="https://www.amcharts.com/lib/3/amcharts.js"></script>
|
||||
|
||||
@@ -32,19 +32,37 @@ Partial Class Ventas_RepVentasUtilidadPadre
|
||||
|
||||
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
||||
If Not IsPostBack Then
|
||||
'If UsuarioActual.Empresa.Funcionalidad(382) <> "1" Then
|
||||
' GvDatos.Columns(3).Visible = False
|
||||
' GvDatos.Columns(5).Visible = False
|
||||
'End If
|
||||
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
|
||||
LnkModalPorcentajes.Visible = True
|
||||
End If
|
||||
|
||||
CargaCombos()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
|
||||
Private Property SubProyectoConf As String
|
||||
Get
|
||||
If ViewState("SubProyectoConf") Is Nothing Then
|
||||
ViewState("SubProyectoConf") = ""
|
||||
End If
|
||||
Return ViewState("SubProyectoConf").ToString
|
||||
End Get
|
||||
|
||||
Set(value As String)
|
||||
ViewState("SubProyectoConf") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
|
||||
|
||||
|
||||
#Region " INICIALIZA VALORES "
|
||||
Private Sub CargaCombos()
|
||||
|
||||
TxtModalFechaInicio.Text = NowADS().FirstDayOfMonth.ToShortDateString
|
||||
TxtModalFechaFin.Text = NowADS().LastDayOfMonth.ToShortDateString
|
||||
|
||||
txtFechaI.Text = NowADS().FirstDayOfMonth.ToShortDateString
|
||||
txtFechaF.Text = NowADS().LastDayOfMonth.ToShortDateString
|
||||
|
||||
@@ -108,6 +126,12 @@ Partial Class Ventas_RepVentasUtilidadPadre
|
||||
|
||||
LblNeto.Text = "0"
|
||||
LblPorNeto.Text = "0"
|
||||
|
||||
|
||||
Dim LblSubProyectoConf As New Label
|
||||
CargarCentrosDeCosto(Nothing, Nothing, Nothing, LblSubProyectoConf)
|
||||
SubProyectoConf = LblSubProyectoConf.Text
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs)
|
||||
@@ -315,4 +339,42 @@ Partial Class Ventas_RepVentasUtilidadPadre
|
||||
|
||||
#End Region
|
||||
|
||||
|
||||
Protected Sub LnkModalPorcentajes_Click(sender As Object, e As EventArgs)
|
||||
|
||||
GvPorcentajes.DataSource = Nothing
|
||||
GvPorcentajes.DataBind()
|
||||
UpModalPorcentajes.Update()
|
||||
RegistraScript("$('#DivModalPorcetajes').modal(`show`);")
|
||||
End Sub
|
||||
|
||||
|
||||
|
||||
Protected Sub BtnModalConsultaPorcentaje_Click(sender As Object, e As EventArgs)
|
||||
|
||||
Dim ObjVentas As New ClsVentas()
|
||||
Dim FechaI As Date = TxtModalFechaInicio.Text.ToDate
|
||||
Dim FechaF As Date = TxtModalFechaFin.Text.ToDate
|
||||
If TxtModalFechaInicio.Text = "" Then FechaI = MinFecha
|
||||
If TxtModalFechaFin.Text = "" Then FechaF = MaxFecha
|
||||
|
||||
If ObjVentas.GetReporteVentasUtilidad("-1", -1, "-1", FechaI, FechaF, UsuarioActual.CveEmpresa, -1, -1, -1, -1, -1) Then
|
||||
GvPorcentajes.DataSource = ObjVentas.DtResultados.FiltraParametros($" CveVenta > 0 AND PorNeto <= {TxtModalPorcentaje.Text.ToDecimal} AND TipoDocto = 'Ing' AND CveEstatusFactura IN(2,3) ")
|
||||
End If
|
||||
|
||||
ObjVentas.Dispose()
|
||||
GvPorcentajes.DataBind()
|
||||
|
||||
ObjVentas.Dispose()
|
||||
UpModalPorcentajes.Update()
|
||||
|
||||
End Sub
|
||||
|
||||
Protected Sub GvPorcentajes_RowDataBound(sender As Object, e As GridViewRowEventArgs)
|
||||
|
||||
If e.Row.RowType = DataControlRowType.Header Then
|
||||
e.Row.Cells(0).Text = SubProyectoConf
|
||||
End If
|
||||
|
||||
End Sub
|
||||
End Class
|
||||
|
||||
Reference in New Issue
Block a user