diff --git a/AF/PopUpBuscarAF.aspx b/AF/PopUpBuscarAF.aspx index 7fc99c76c..f5313feb6 100644 --- a/AF/PopUpBuscarAF.aspx +++ b/AF/PopUpBuscarAF.aspx @@ -108,18 +108,18 @@ Tipo de Activo Fijo: - - + + <%----%> <%----%> - SubTipo de Activo Fijo: + SubTipo de A.F: - - + + @@ -161,8 +161,8 @@ Estado: - - + + @@ -171,8 +171,8 @@ --%> Responsable: - - + + @@ -181,8 +181,8 @@ Proyecto: - - + + <%-- @@ -191,17 +191,18 @@ SubProyecto: - - + + Cliente: - - - + + <%-- + + --%> diff --git a/AF/PopUpBuscarAF.aspx.vb b/AF/PopUpBuscarAF.aspx.vb index 864de32d2..cc61ddb46 100644 --- a/AF/PopUpBuscarAF.aspx.vb +++ b/AF/PopUpBuscarAF.aspx.vb @@ -189,7 +189,7 @@ Partial Class AF_PopUpBuscarAF DdlSubTipoActivoFijo.DataSource = GlobalDTSubTipoActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoActivoFijo = '" & DdlTipoActivoFijo.SelectedValue & "'") 'DdlSubTipoActivoFijo.DataSource = GlobalDTSubTipoActivoFijo.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa & " AND CveTipoActivoFijo = '" & DdlTipoActivoFijo.SelectedValue & "'") DdlSubTipoActivoFijo.DataBind() - DdlSubTipoActivoFijo.Items.Insert(0, New ListItem("Seleccione", "-1")) + DdlSubTipoActivoFijo.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Private Sub CargaCaracteristicas() @@ -214,7 +214,7 @@ Partial Class AF_PopUpBuscarAF ' DdlModeloActivoFijo.Items.Clear() ' DdlModeloActivoFijo.DataSource = GlobalDTModeloActivoFijo(UsuarioActual.CveEmpresa).FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) ' DdlModeloActivoFijo.DataBind() - ' DdlModeloActivoFijo.Items.Insert(0, New ListItem("Seleccione", "-1")) + ' DdlModeloActivoFijo.Items.Insert(0, New ListItem("Todos", "-1")) 'End Sub Private Sub CargaMarcaActivoFijo() 'DdlMarcaActivoFijo.DataSource = GlobalDTMarcaActivoFijo.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) @@ -238,15 +238,18 @@ Partial Class AF_PopUpBuscarAF DdlSubProyecto.DataSource = GlobalDTSubProyectos(DdlProyecto.SelectedValue.ToEntero, CveEmpresa:=UsuarioActual.CveEmpresa) DdlSubProyecto.DataBind() - DdlSubProyecto.Items.Insert(0, New ListItem("Sin SubProyecto asignado", "-1")) + DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) End Sub Private Sub CargaEstatusActivoFijo() DdlEstadoActivoFijo.DataSource = GlobalDTEstadoActivoFijo DdlEstadoActivoFijo.DataBind() End Sub Private Sub CargaCliente() - DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) - DdlCliente.DataBind() + + DdlClientes.setEsWebService(True) + + ' DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) + 'DdlCliente.DataBind() End Sub #End Region @@ -265,7 +268,6 @@ Partial Class AF_PopUpBuscarAF Dim CveProyecto As Integer = -1 Dim CveSubProyecto As Integer = -1 Dim EstadoActivoFijo As Integer = -1 - Dim CveCliente As Integer = -1 If TxtCodigo.Text.Trim <> String.Empty Then Codigo = TxtCodigo.Text.Trim If TxtDescripcion.Text.Trim <> String.Empty Then Descripcion = TxtDescripcion.Text.Trim @@ -278,7 +280,8 @@ Partial Class AF_PopUpBuscarAF If DdlProyecto.SelectedValue <> String.Empty Then CveProyecto = DdlProyecto.SelectedValue.ToEntero If DdlSubProyecto.SelectedValue <> String.Empty Then CveSubProyecto = DdlSubProyecto.SelectedValue.ToEntero If DdlEstadoActivoFijo.SelectedValue <> String.Empty Then EstadoActivoFijo = DdlEstadoActivoFijo.SelectedValue.ToEntero - If DdlCliente.SelectedValue <> String.Empty Then CveCliente = DdlCliente.SelectedValue.ToEntero + 'If DdlCliente.SelectedValue <> String.Empty Then CveCliente = DdlCliente.SelectedValue.ToEntero + Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero) Dim strSQL1 As New StringBuilder Dim booPrimerCampo As Boolean = False diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index 8949803ec..b6867e5e6 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -5656,7 +5656,11 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo Return Retorno End Function - Public Function SolicitudVacacionesAdd(CvePersonal As Integer, Fecha As Date, FechaFin As Date, Estatus As Integer, CveUsuario As Integer, CveAutoriza As Integer, Folio As Integer, Optional Motivo As String = "", Optional FechaPago As String = "", Optional diasinabiles As Integer = 0, Optional PorcentajePrimaVac As Decimal = -1, Optional CveTipoPago As Integer = 0, Optional diasExtras As Integer = 0) As Boolean + Public Function SolicitudVacacionesAdd(CvePersonal As Integer, Fecha As Date, FechaFin As Date, Estatus As Integer, CveUsuario As Integer, + CveAutoriza As Integer, Folio As Integer, Optional Motivo As String = "", Optional FechaPago As String = "", + Optional diasinabiles As Integer = 0, Optional PorcentajePrimaVac As Decimal = -1, + Optional CveTipoPago As Integer = 0, Optional diasExtras As Integer = 0, + Optional Ejercicio As Integer = 0, Optional PrimaVacacional As Integer = 1, Optional CobrarImss As Integer = 0) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_RH_SolicitudVacacionesAdd") @@ -5674,6 +5678,9 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo .Add("@FechaPago", SqlDbType.VarChar).Value = FechaPago .Add("@CveTipoPago", SqlDbType.Int).Value = CveTipoPago .Add("@diasExtras", SqlDbType.Int).Value = diasExtras + .Add("@Ejercicio", SqlDbType.Int).Value = Ejercicio + .Add("@PrimaVacacional", SqlDbType.Int).Value = PrimaVacacional + .Add("@CobrarImss", SqlDbType.Int).Value = CobrarImss '.Add("@Motivo", SqlDbType.VarChar).Value = MotivoFechaPago As String = "", Optional diasinabiles End With diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 9ddfc1944..25ac07be4 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -813,7 +813,7 @@ Public Class Timbrado 'validación especial. If Ventas.TipoDocto.Contiene("Ing", "Dev") Then - Dim CodigoIncorrecto = (From c In Ventas.Timbre.Conceptos Where (c.ClaveProdServ = "01010101") OrElse (c.ClaveProdServ = "84111506" AndAlso Not UsuarioActual.CveEmpresa.Contiene(2, 70)) + Dim CodigoIncorrecto = (From c In Ventas.Timbre.Conceptos Where (c.ClaveProdServ = "01010101") OrElse (c.ClaveProdServ = "84111506" AndAlso Not UsuarioActual.CveEmpresa.Contiene(2, 70, 144)) Select c.ClaveProdServ, c.Descripcion) Dim Str As New StringBuilder Str.Append("Los siguentes productos tienen especificado un código no permitido por el SAT:
") diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index a9acdcb77..74bee1337 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -2112,7 +2112,7 @@ - + @@ -2129,7 +2129,7 @@ - + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index fe8890552..ee97de30d 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -2708,6 +2708,11 @@ Partial Class Compras_Compras TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer)) End If + If Not TmpDT.Columns.Contains("ImporteSinImpuestos") Then + TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Decimal)) + End If + + GvPS.DataSource = TmpDT GvPS.DataBind() @@ -10146,6 +10151,7 @@ Partial Class Compras_Compras If Not ErrorAC Then Dim Cont As Integer = 0 + Dim indiceTR = 0 For Each Row As DataRow In TmpDT.Rows 'actualizar las clasificaciones, que se hallan hecho @@ -10170,14 +10176,40 @@ Partial Class Compras_Compras 'Si es AF-COMPRA se guarda en CveActivoFijoCompra Dim CveAFCompra = If(Row("CveActivoFijo").ToString.ToEntero > 0 AndAlso Row("TipoAF").ToString.ToEntero = 2, Row("CveActivoFijo").ToString.ToEntero, -1) - If Not ObjCompra.UpdateCompraDetalle(Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, Row("IVA").ToString.ToDouble, Row("Total").ToString.ToDouble, - Row("Descuento").ToString.ToDouble, Row("Obs").ToString, Row("CveSubProyecto").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero, CveAF, Row("CveCompraDetalle").ToString.ToEntero, CvePersonal:=CvePersonal, CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, - RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble, - IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False)) Then + If Row("CveCompraDetalle").ToString.ToEntero > 0 Then + If Not ObjCompra.UpdateCompraDetalle(Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, Row("IVA").ToString.ToDouble, Row("Total").ToString.ToDouble, + Row("Descuento").ToString.ToDouble, Row("Obs").ToString, Row("CveSubProyecto").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero, CveAF, Row("CveCompraDetalle").ToString.ToEntero, CvePersonal:=CvePersonal, CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, + RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble, + IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble, IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False)) Then - Retorno = False - Exit For + Retorno = False + Exit For + End If + Else + Dim TipoRecepcion As Integer = -1 + If GvInv.Rows.Count > indiceTR Then + If GvInv.Rows(indiceTR).FCCheckBox("cbInv").Checked = True And GvInv.Rows(indiceTR).FCDropDownList("DdlRecibirInv").SelectedValue = "1" Then + TipoRecepcion = 1 + ElseIf GvInv.Rows(indiceTR).FCCheckBox("cbInv").Checked = True And GvInv.Rows(indiceTR).FCDropDownList("DdlRecibirInv").SelectedValue = "0" Then + TipoRecepcion = 2 + End If + End If + + If Not ObjCompra.AddCompraDetalle(CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF, + Row("Cantidad").ToString.ToDouble, Row("PU").ToString.ToDouble, Row("IVA").ToString.ToDouble, Row("Total").ToString.ToDouble, Row("Descuento").ToString.ToDouble, + Row("Obs").ToString, Row("CveOrdenCompraDetalle").ToString.ToEntero, TipoRecepcion, Row("CveContrato").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero, + AplicaCostoIndirecto:=Row("AplicaCostoIndirecto").ToString.ToEntero, EstatusAlmacen:=Row("EntregaDirecta").ToString.ToEntero, CvePersonal:=CvePersonal, + CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, OtrosGastos:=Row("OtrosGastos").ToString.ToDecimal, + RetIVA:=Row("RetIVA").ToString.ToDouble, RetISR:=Row("RetISR").ToString.ToDouble, IEPSPS:=Row("IEPSPS").ToString.ToDouble.RoundSQL, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDouble, + IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDouble, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDouble, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDouble, + IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDouble, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDouble, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False), + CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero) Then + + Retorno = False + Exit For + End If End If + indiceTR = indiceTR + 1 'If Not ObjCompra.VerificaPrepolizas(UsuarioActual.CveEmpresa, CveCompra) Then ' Retorno = False @@ -12388,16 +12420,18 @@ Partial Class Compras_Compras dr.ItemArray = dr1.ItemArray dr1("Cantidad") = (dr1("Cantidad").ToString.ToDouble - Cantidad.ToDouble) - dr1("Total") = dr1("PU").ToString.ToDouble * dr1("Cantidad").ToString.ToDouble - dr1("IVA") = Math.Round(dr1("IVAPorcentaje").ToString.ToDouble * dr1("Total").ToString.ToDouble, 6) + dr1("Total") = dr1("PU").ToString.ToDouble * dr1("Cantidad").ToString.ToDecimal + dr1("Importe") = dr1("Total") + dr1("IVA") = Math.Round(dr1("IVAPorcentaje").ToString.ToDecimal * dr1("Total").ToString.ToDecimal, 6) TmpDT.AcceptChanges() dr("CveActivoFijo") = 0 dr("CodAF") = "" - dr("Cantidad") = Cantidad.ToDouble - dr("Total") = dr("PU").ToString.ToDouble * Cantidad.ToDouble - dr("IVA") = Math.Round(dr("IVAPorcentaje").ToString.ToDouble * dr("Total").ToString.ToDouble, 6) + dr("Cantidad") = Cantidad.ToDecimal + dr("Total") = dr("PU").ToString.ToDecimal * Cantidad.ToDecimal + dr("Importe") = dr("Total") + dr("IVA") = Math.Round(dr("IVAPorcentaje").ToString.ToDecimal * dr("Total").ToString.ToDecimal, 6) TmpDT.Rows.InsertAt(dr, Index + 1) @@ -12522,27 +12556,36 @@ Partial Class Compras_Compras #Region " AJUSTA IMPORTES " Private Sub AjustaImporteUltimoConcepto(ImporteAjuste As Decimal, Optional EsCarga As Boolean = False) - 'Dim TempSubTotal = TxtSubTotal.Text.ToDouble + + If ImporteAjuste = 0 Then Exit Sub + Dim Amortizacion As Decimal = 0 If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 Then Amortizacion = LblAmortizacion.Text.ToDecimal End If If TmpDT.Rows.Count > 0 Then ' si hay movimientos y si esta afectando al total, que se haga el ajuste - 'Dim ImporteAjuste As Decimal = Total - (SubTotal2 + IVA - RetencionIVA - RetencionIVA - RetencionISR + IEPS + OtrosImpuestos) Dim Indice As Integer = If(TmpDT.Rows(TmpDT.Rows.Count - 1)("CvePS").ToString = UsuarioActual.Empresa.Funcionalidad(112).ToString, TmpDT.Rows.Count - 2, TmpDT.Rows.Count - 1) Dim tPU As Decimal - If TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal > 0 Then tPU = ImporteAjuste / TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal Else tPU = 0 End If - TmpDT.Rows(Indice)("PU") = TmpDT.Rows(Indice)("PU").ToString.ToDouble + tPU - TmpDT.Rows(Indice)("Total") = TmpDT.Rows(Indice)("Total").ToString.ToDouble + ImporteAjuste - TmpDT.Rows(Indice)("IEPSPS") = (TmpDT.Rows(Indice)("Total").ToString.ToDouble() * TmpDT.Rows(Indice)("IEPSPSPorcentaje").ToString.ToDouble()).RoundAD(2) + If TmpDT.Rows(Indice)("PU").ToString.ToDecimal + tPU < 0 Then 'si es negativo, que tome el dato anterior + Indice = Indice - 1 + If TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal > 0 Then + tPU = ImporteAjuste / TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal + Else + tPU = 0 + End If + End If + + TmpDT.Rows(Indice)("PU") = TmpDT.Rows(Indice)("PU").ToString.ToDecimal + tPU + TmpDT.Rows(Indice)("Total") = TmpDT.Rows(Indice)("Total").ToString.ToDecimal + ImporteAjuste + TmpDT.Rows(Indice)("IEPSPS") = (TmpDT.Rows(Indice)("Total").ToString.ToDecimal() * TmpDT.Rows(Indice)("IEPSPSPorcentaje").ToString.ToDecimal()).RoundAD(2) 'TmpDT.Rows(Indice)("IVA") = TmpDT.Rows(Indice)("PU").ToString.ToDecimal * TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal * TmpDT.Rows(Indice)("IVAPorcentaje").ToString.ToDecimal TmpDT.Rows(Indice)("IVA") = (TmpDT.Rows(Indice)("PU").ToString.ToDecimal * TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal - TmpDT.Rows(Indice)("Descuento").ToString.ToDecimal) * TmpDT.Rows(Indice)("IVAPorcentaje").ToString.ToDecimal 'Row("IEPSPS") = Math.Round(IEPSPS, DecimalesPermitidos) @@ -12550,9 +12593,9 @@ Partial Class Compras_Compras TmpDT.AcceptChanges() End If - SubTotal = TmpDT.SUM("Total").ToString.ToDecimal + SubTotal = TmpDT.SUMD("Total") If Not EsCarga Then - Descuentos = TmpDT.SUM("Descuento").ToString.ToDecimal + Descuentos = TmpDT.SUMD("Descuento") End If TxtSubTotal.Text = (SubTotal + Descuentos).FormatoNumero() TxtSubTotal2.Text = (SubTotal - Amortizacion).FormatoNumero @@ -12560,15 +12603,6 @@ Partial Class Compras_Compras SubTotalConceptos = SubTotal GvPS.DataSource = TmpDT : GvPS.DataBind() - 'If TxtOtrosImpuestos.Text.ToDouble > 0 Then TxtOtrosImpuestos.Text = "" : TrOtrosImpuestos.Visible = False - - 'EN ESPERA DE ALGUN CASO QUE LO NECESITE - IPP 5 DICIEMBRE 2016 - 'TempSubTotal = TempSubTotal - SubTotal - 'If TempSubTotal > 0 Then - ' TxtTotal.Text = TempSubTotal.ToString.FormatoNumero - 'End If - - 'GVAF.DataSource = TmpDT : GVAF.DataBind() End Sub Protected Sub ImgAjustePorcentaje_Click(sender As Object, e As ImageClickEventArgs) Handles ImgAjustePorcentaje.Click @@ -12675,10 +12709,10 @@ Partial Class Compras_Compras dr = DtAcreedores.FiltroPrimero(String.Format("CveProveedor = {0}", DdlAcreedor.SelectedValue)) If dr IsNot Nothing Then - Dim tSaldo As Double = dr("Saldo").ToString.ToDouble + Dim tSaldo As Decimal = dr("Saldo").ToString.ToDecimal RVContadoAcreedor.MaximumValue = tSaldo.ToString 'si el saldo es mayor de la compra poner el valor de la compra sino el valor del saldo - TxtContadoAcreedor.Text = If(tSaldo > TxtTotal.Text.ToDouble, TxtTotal.Text, tSaldo.ToString).FormatoNumero + TxtContadoAcreedor.Text = If(tSaldo > TxtTotal.Text.ToDecimal, TxtTotal.Text, tSaldo.ToString).FormatoNumero LblDetalle.Visible = True DdlAcreedorDetalle.Visible = True @@ -19070,7 +19104,7 @@ Partial Class Compras_Compras If CveCompra > 0 And GvInvMov.Rows.Count > 0 Then Dim ObjInventarios As New ClsInventarios - If ObjInventarios.RecepcionAlmacenGet(CveCompra, -1, UsuarioActual.CveEmpresa) AndAlso ObjInventarios.DtResultados.Rows.Count > 0 Then + If ObjInventarios.RecepcionAlmacenGet(CveCompra, -1, -1, UsuarioActual.CveEmpresa, -1) AndAlso ObjInventarios.DtResultados.Rows.Count > 0 Then DtPendientesAlmacen = ObjInventarios.DtResultados.FiltraParametros("CantidadF > 0").Copy End If ObjInventarios.Dispose() @@ -19128,7 +19162,7 @@ Partial Class Compras_Compras If ChkNCInvNC.Checked Then Dim ObjInventarios As New ClsInventarios - If ObjInventarios.RecepcionAlmacenGet(-1, -1, UsuarioActual.CveEmpresa, CveProveedor) AndAlso ObjInventarios.DtResultados.FiltraParametros($"CantidadF > 0").Rows.Count > 0 Then + If ObjInventarios.RecepcionAlmacenGet(-1, -1, CveProveedor, UsuarioActual.CveEmpresa, -1) AndAlso ObjInventarios.DtResultados.FiltraParametros($"CantidadF > 0").Rows.Count > 0 Then DtPendientesAlmacen = ObjInventarios.DtResultados.FiltraParametros($"CantidadF > 0").Copy End If ObjInventarios.Dispose() diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index 554f7e64a..21c7931e4 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -603,22 +603,25 @@ Partial Class Inventarios_TraspasoAlmacen Dim Retorno = True Dim ExistenciaEspecificada As Decimal + Dim PendienteporSurtir As Decimal Dim CantidadEnGrid As Decimal = DtMovimientos.SUMD("Cantidad", $"CvePS = {CvePS} AND CveUM = {CveUnidadMedida} {If(Serie <> "-1", $" AND Serie = '{Serie}'", "")}") Dim Existencia As Decimal Dim Inv As New ClsInventarios If Inv.GetExistenciasProducto(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm")) Then 'si hay existencia en almacen costeado, lo tengo que sacar - Existencia = Inv.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CVeAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal + Existencia = Inv.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal + PendienteporSurtir = Inv.DtResultados.FiltroPrimeroValor("PendientePorSurtir", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal End If 'Existencia= Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), PendientePorSurtir:=1) - If Existencia > 0 Then + If Existencia > Cantidad Then 'la primera vez valida, que la existencia global, cumpla, considerando lo pendiente por surtir 'las segunda consulta, que tenga existencia, ya con los parametros especificos If (FechaCaducidad > MinFecha OrElse Not Serie.Contiene("", "-1") OrElse Not Lote.Contiene("", "-1")) Then If Inv.GetExistenciasProducto(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDateTime.ToString("yyyy/MM/dd HH:mm"), CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, Caducidad:=FechaCaducidad) Then - ExistenciaEspecificada = Inv.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CVeAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal + 'aqui se toma la COLUMNA Existencia, porque ya está validado que hay existencia suficiente para surtir, considerando lo pendiente por surtir, entonces se asume no se tomará la serie/lote + ExistenciaEspecificada = Inv.DtResultados.FiltroPrimeroValor("Existencia", String.Format("CveAlmacen = {0}", DdlAlmacenOrigen.SelectedValue)).ToDecimal End If 'ExistenciaEspecificada = Inv.GetExistenciasPS(CvePS, CveUnidadMedida, UsuarioActual.CveEmpresa, DdlAlmacenOrigen.SelectedValue.ToEntero, FechaMovto:=TxtFecha.Text.ToDate.ToString("yyyy/MM/dd 23:59"), CveSeccionAlmacen:=CveSeccionAlmacen, Serie:=Serie, Lote:=Lote, FechaCaducidad:=FechaCaducidad, PendientePorSurtir:=-1) Dim StrB As New StringBuilder diff --git a/Nomina/Nomina.aspx b/Nomina/Nomina.aspx index bbedacc2e..a91e8dc38 100644 --- a/Nomina/Nomina.aspx +++ b/Nomina/Nomina.aspx @@ -1359,9 +1359,9 @@
-
- Forma de pago
- +
+ Forma de pago
+ @@ -1374,7 +1374,7 @@
- + Días extras
@@ -1382,27 +1382,28 @@
- + Ejercicio
- +
¿Prima Vacacional?
-
- -
- ¿Cobrar IMSS? +
+ +
+ ¿Cobrar IMSS? +
+
- -
+
Actualizar @@ -1687,20 +1688,45 @@
-
- - - +
+
+
Calcular automatico
-
- - - +
+
+
+ + + +
+
+
+ +
-
- - - +
+
+
+ + + +
+
+
+ +
+
+
+
+
+ + + +
+
+
+ +
- +
Salario Diario
-
+
-
-
+
<%--
--%> diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs index 5f0143d8c..14750421c 100644 --- a/Nomina/Nomina.aspx.cs +++ b/Nomina/Nomina.aspx.cs @@ -1823,11 +1823,33 @@ public partial class Nomina_Nomina2 : ClsPaginas TxtmcImporte.Text = ""; TxtmcImporteGrabado.Text = ""; Txtmcvalor.Text = ""; + ChkCalAutomaticoG.Checked = false; + ChkCalAutomatico.Checked = false; + ChkCalAutomaticoV.Checked = false; if (CveConcepto > 0) { DataRow drow = dtempleadosConceptos.FiltroPrimero(string.Format("CveConcepto={0} AND CvePersonal ={1}", CveConcepto, CvePersonal)); if (drow != null) { + int TipoCalculo = drow["Estatus"].ToString().ToEntero(); + ChkCalAutomaticoG.Checked = true; + ChkCalAutomatico.Checked = true; + ChkCalAutomaticoV.Checked = true; + if (TipoCalculo >= 5) + { + TipoCalculo -= 5; + ChkCalAutomaticoG.Checked = false; + } + if (TipoCalculo >= 3) + { + TipoCalculo -= 3; + ChkCalAutomatico.Checked = false; + } + if (TipoCalculo >= 1) + { + ChkCalAutomaticoV.Checked = false; + + } TxtmcImporte.Text = string.Format("{0:N2}", drow["Importe"]); TxtmcImporteGrabado.Text = string.Format("{0:N2}", drow["ImporteGravado"]); Txtmcvalor.Text = string.Format("{0:N2}", drow["Valor"]); @@ -1841,12 +1863,30 @@ public partial class Nomina_Nomina2 : ClsPaginas } } UPpanelModalUpConcepto.Update(); + ChkCalAutomaticoV_CheckedChanged(ChkCalAutomaticoV, null); + ChkCalAutomatico_CheckedChanged(ChkCalAutomatico, null); + ChkCalAutomaticoG_CheckedChanged(ChkCalAutomaticoG, null); + } + protected void ChkCalAutomaticoV_CheckedChanged(object sender, EventArgs e) + { + + Txtmcvalor.Enabled = !ChkCalAutomaticoV.Checked; + } + protected void ChkCalAutomatico_CheckedChanged(object sender, EventArgs e) + { + + TxtmcImporte.Enabled = !ChkCalAutomatico.Checked; + } + protected void ChkCalAutomaticoG_CheckedChanged(object sender, EventArgs e) + { + TxtmcImporteGrabado.Enabled = !ChkCalAutomaticoG.Checked; + } protected void BtnAceptarMC_Click(object sender, EventArgs e) { - int chkImporte = 1; - int chkImporteGravado = 1; - int chkImporteValor = 1; + int chkImporte = ChkCalAutomatico.Checked? 0:1; + int chkImporteGravado = ChkCalAutomaticoG.Checked ? 0 : 1; + int chkImporteValor = ChkCalAutomaticoV.Checked ? 0 : 1; bool continuar = true; int CveNomina = 0; double Total = 0; @@ -1858,12 +1898,15 @@ public partial class Nomina_Nomina2 : ClsPaginas CvePersonal = DdlmcPersonal.SelectedValue.ToEntero(); } int CveConcepto = DdlmcConceptos.SelectedValue.ToEntero(); - if (CveConcepto > 0 && CvePersonal > 0) - { decimal ImporteConcepto = TxtmcImporte.Text.Replace("$", "").Replace(",", "").ToDecimal(); - decimal ImporteGravadoConcepto = TxtmcImporteGrabado.Text.Replace("$", "").Replace(",", "").ToDecimal(); + decimal ImporteGravadoConcepto = ChkCalAutomaticoG.Checked ? 0.0m : TxtmcImporteGrabado.Text.Replace("$", "").Replace(",", "").ToDecimal(); decimal ImporteExentoConcepto = ImporteConcepto - ImporteGravadoConcepto; decimal ImporteValor = Txtmcvalor.Text.Replace("$", "").Replace(",", "").ToDecimal(); + if ((ImporteConcepto>= 0 && ImporteGravadoConcepto<= ImporteConcepto)|| (ImporteConcepto < 0 && ImporteGravadoConcepto >= ImporteConcepto)) + { + + if (CveConcepto > 0 && CvePersonal > 0) + { using (ClsNominas objNomina = new ClsNominas()) { @@ -1933,6 +1976,11 @@ public partial class Nomina_Nomina2 : ClsPaginas { Alert("Debe seleccionar un concepto.", TipoMensaje.MsgAdvertencia); } + } + } + else + { + Alert("el importe gravado no puede ser mayor al importe total, en caso de que el importe total sea negativo no puede ser menor.",TipoMensaje.MsgAdvertencia ); } } @@ -5728,7 +5776,8 @@ public partial class Nomina_Nomina2 : ClsPaginas VacFolioActual = VacFolioActual + 1; ClsRH objRH = new ClsRH(); // Dim continuar As Boolean = objRH.SolicitudVacacionesAdd(CvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, motivoVacaciones) - bool continuar = objRH.SolicitudVacacionesAdd(SRCvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, FechaPago: fechapago, diasinabiles: diasinhabil, CveTipoPago: DdlFormapagovacaciones.SelectedValue.ToEntero(), diasExtras: TxtVacDiasExtra.Text.ToEntero());// + bool continuar = objRH.SolicitudVacacionesAdd(SRCvePersonal, fInicio, fFin, 0, UsuarioActual.CveUsuario, VacCveSupervisor, VacFolioActual, FechaPago: fechapago, + diasinabiles: diasinhabil, CveTipoPago: DdlFormapagovacaciones.SelectedValue.ToEntero(), diasExtras: TxtVacDiasExtra.Text.ToEntero()); if (objRH.DtResultados.Rows.Count > 0) { string ShowError = objRH.DtResultados.Rows[0]["ShowError"].ToString(); @@ -6733,4 +6782,5 @@ public partial class Nomina_Nomina2 : ClsPaginas LnkSRVacacionesADD.Visible = true; } + } diff --git a/RH/CatPersonal.aspx b/RH/CatPersonal.aspx index 3f6a9d946..656147974 100644 --- a/RH/CatPersonal.aspx +++ b/RH/CatPersonal.aspx @@ -939,7 +939,16 @@
-