diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index de8677cf2..a996d38e7 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -5961,6 +5961,31 @@ Public Class ClsContabilidad Return Retorno End Function + Public Function CierreEjercicio(CveEmpresa As Integer, Ejercicio As Integer, CveCuentaCierre As Integer, FechaI As String, FechaF As String, CveUsuario As Integer) As Integer + Dim Retorno As Integer = -1 + + DataAdapter("PA_Conta_CierreEjercicio") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@Ejercicio", SqlDbType.Int).Value = Ejercicio + .Add("@CveCuentaCierre", SqlDbType.Int).Value = CveCuentaCierre + .Add("@FechaI", SqlDbType.Date).Value = FechaI + .Add("@FechaF", SqlDbType.DateTime).Value = FechaF + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CvePrePoliza", SqlDbType.Int).Direction = ParameterDirection.Output + End With + + Try + SqlAdapter.Fill(Data) + Retorno = SqlAdapter.SelectCommand.Parameters("@CvePrePoliza").Value.ToString.ToEntero + Catch ex As Exception + Me.OnError("Ocurrió un error al eliminar el catálogo de Conta Ejercicios", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + + Return Retorno + End Function + #Region " RECONSTRUCCION DE PREPOLIZAS " Public Function ReconstruirPP_PagoCompra(CvePrePoliza As Integer) As Boolean Dim Retorno = False diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index fe9532a54..d45920d09 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -2986,8 +2986,6 @@ Namespace Modelos If ObjConta.DtResultados.Rows.Count > 0 Then 'Conta ContPAQ IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero - 'Conta SIG - CveCuenta = ObjConta.DtResultados.Rows(0)("IdCtaContableSIG").ToString.ToEntero End If End If diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index f2811f6ab..fc47a6305 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1295,80 +1295,83 @@ Partial Class Compras_Compras ViewState("CveFactura") = Request("CveFactura").ToEntero Dim RFC As String = CargaFactura(CveFactura) - DdlProveedor.Visible = False - HplProveedor.Visible = True - GvInv.Visible = True - CargaProveedor(-1, RFC) + If RFC.Trim <> String.Empty Then + DdlProveedor.Visible = False + HplProveedor.Visible = True + GvInv.Visible = True + CargaProveedor(-1, RFC) - If Not DdlTipoComprobante.SelectedValue = "NC" Then - If UsuarioActual.Empresa.Funcionalidad(128) = "1" And Not UsuarioActual.TienePermisoProceso(213) Then - If TmpDT.MAX("CvePS").ToEntero > 0 Then - BtnGuardar.Enabled = False - RegistraScript("$('#ImgBtnBuscarOC').click()") - End If - End If - End If - - If DdlTipoComprobante.SelectedValue = "NC" Then - paneldevolucion.Visible = True - Pnlalmaceninventarios.Visible = False - cargaddldevoluciones(CveProveedor, TxtSubTotal.Text.ToDouble) - InicializaAplicaNCFact() - DivReembolso.Visible = False - RBLPago.Items(2).Enabled = False - - End If - - - - If UsuarioActual.Empresa.UsaAC Then - CambiaEjercicioAC() - End If - - ' ''Fecha limite para ingreso de facturas - ''Dim DtEmpresa As DataTable = GlobalDTEmpresas(UsuarioActual.CveEmpresa) - ''If DtEmpresa.Rows.Count > 0 Then - '' Dim FechaLimite = DateSerial(DtEmpresa.Rows(0)("EjercicioActual").ToString.ToEntero, DtEmpresa.Rows(0)("PeriodoActual").ToString.ToEntero, DtEmpresa.Rows(0)("DiasPermitidos").ToString.ToEntero) - '' If Month(TxtFecha.Text.ToDate) < (Month(FechaLimite) - 1) Or (Month(TxtFecha.Text.ToDate) = (Month(FechaLimite) - 1) And Day(Date.Now) > Day(FechaLimite)) Then - '' Alert("La factura actual ya no aplica para ingresarse al sístema.", TipoMensaje.MsgAdvertencia) - '' BtnGuardar.Enabled = False - '' Else - '' Alert("En tiempo") - '' End If - ''Else - '' Alert("No se pudieron cargar los datos de la empresa", TipoMensaje.MsgAdvertencia) - ''End If - 'Carga Compra - - If UsuarioActual.Empresa.Funcionalidad(123).ToEntero > 0 And Not UsuarioActual.TienePermisoProceso(156) Then - If Not ValidaCierrePeriodo() Then - Alert("El periodo de la compra actual ya se encuentra cerrado. No podra registrar la compra.", TipoMensaje.MsgAdvertencia) - BtnGuardar.Visible = False - TxtOC.Enabled = False - ImgBtnBuscarOC.Enabled = False - CierrePeriodo = True - DivRestriccionAdvertencia.Visible = True - LtRestriccionAdvertencia.Text = "El periodo de la compra actual ya se encuentra cerrado." - End If - End If - - Dim HayDifIEPS As Boolean = False - For Each Gvr As GridViewRow In GvPS.Rows - If Gvr.DataKey("CvePS").ToEntero > 0 AndAlso Gvr.DataKey("IEPSPSPorcentaje").ToDouble > 0 Then - If GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=Gvr.DataKey("CvePS").ToEntero).Rows.Count > 0 Then - Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=Gvr.DataKey("CvePS").ToEntero).Rows(0) - If DrPS IsNot Nothing Then - If DrPS("IEPSPorcentaje").ToString.ToDouble <> Gvr.DataKey("IEPSPSPorcentaje").ToDouble Then - HayDifIEPS = True - End If + If Not DdlTipoComprobante.SelectedValue = "NC" Then + If UsuarioActual.Empresa.Funcionalidad(128) = "1" And Not UsuarioActual.TienePermisoProceso(213) Then + If TmpDT.MAX("CvePS").ToEntero > 0 Then + BtnGuardar.Enabled = False + RegistraScript("$('#ImgBtnBuscarOC').click()") End If End If End If - Next - If HayDifIEPS Then Alert("El porcentaje de IEPS del producto no coincide con el especificado.", TipoMensaje.MsgAdvertencia) + If DdlTipoComprobante.SelectedValue = "NC" Then + paneldevolucion.Visible = True + Pnlalmaceninventarios.Visible = False + cargaddldevoluciones(CveProveedor, TxtSubTotal.Text.ToDouble) + InicializaAplicaNCFact() + DivReembolso.Visible = False + RBLPago.Items(2).Enabled = False - If UsuarioActual.Empresa.Funcionalidad(562).ToEntero > 0 Then CargaGastosServicios(UsuarioActual.Empresa.Funcionalidad(562).ToEntero) + End If + + + + If UsuarioActual.Empresa.UsaAC Then + CambiaEjercicioAC() + End If + + ' ''Fecha limite para ingreso de facturas + ''Dim DtEmpresa As DataTable = GlobalDTEmpresas(UsuarioActual.CveEmpresa) + ''If DtEmpresa.Rows.Count > 0 Then + '' Dim FechaLimite = DateSerial(DtEmpresa.Rows(0)("EjercicioActual").ToString.ToEntero, DtEmpresa.Rows(0)("PeriodoActual").ToString.ToEntero, DtEmpresa.Rows(0)("DiasPermitidos").ToString.ToEntero) + '' If Month(TxtFecha.Text.ToDate) < (Month(FechaLimite) - 1) Or (Month(TxtFecha.Text.ToDate) = (Month(FechaLimite) - 1) And Day(Date.Now) > Day(FechaLimite)) Then + '' Alert("La factura actual ya no aplica para ingresarse al sístema.", TipoMensaje.MsgAdvertencia) + '' BtnGuardar.Enabled = False + '' Else + '' Alert("En tiempo") + '' End If + ''Else + '' Alert("No se pudieron cargar los datos de la empresa", TipoMensaje.MsgAdvertencia) + ''End If + 'Carga Compra + + If UsuarioActual.Empresa.Funcionalidad(123).ToEntero > 0 And Not UsuarioActual.TienePermisoProceso(156) Then + If Not ValidaCierrePeriodo() Then + Alert("El periodo de la compra actual ya se encuentra cerrado. No podra registrar la compra.", TipoMensaje.MsgAdvertencia) + BtnGuardar.Visible = False + TxtOC.Enabled = False + ImgBtnBuscarOC.Enabled = False + CierrePeriodo = True + DivRestriccionAdvertencia.Visible = True + LtRestriccionAdvertencia.Text = "El periodo de la compra actual ya se encuentra cerrado." + End If + End If + + Dim HayDifIEPS As Boolean = False + For Each Gvr As GridViewRow In GvPS.Rows + If Gvr.DataKey("CvePS").ToEntero > 0 AndAlso Gvr.DataKey("IEPSPSPorcentaje").ToDouble > 0 Then + If GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=Gvr.DataKey("CvePS").ToEntero).Rows.Count > 0 Then + Dim DrPS As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=Gvr.DataKey("CvePS").ToEntero).Rows(0) + If DrPS IsNot Nothing Then + If DrPS("IEPSPorcentaje").ToString.ToDouble <> Gvr.DataKey("IEPSPSPorcentaje").ToDouble Then + HayDifIEPS = True + End If + End If + End If + End If + Next + + If HayDifIEPS Then Alert("El porcentaje de IEPS del producto no coincide con el especificado.", TipoMensaje.MsgAdvertencia) + + If UsuarioActual.Empresa.Funcionalidad(562).ToEntero > 0 Then CargaGastosServicios(UsuarioActual.Empresa.Funcionalidad(562).ToEntero) + + End If ElseIf Request("CveCompra") IsNot Nothing AndAlso IsNumeric(Request("CveCompra")) AndAlso Request("CveCompra").ToEntero > 0 Then @@ -1741,10 +1744,14 @@ Partial Class Compras_Compras XMLDoc.Load(Archivo) Catch ex As Exception + Try + Dim oReader = New StreamReader(Archivo, Encoding.GetEncoding("ISO-8859-1")) + XMLDoc.Load(oReader) + oReader.Dispose() + Catch ex2 As Exception + GuardaLog("Error al intentar leer el XML del SAT. Error:" & ex2.ToString()) + End Try - Dim oReader = New StreamReader(Archivo, Encoding.GetEncoding("ISO-8859-1")) - XMLDoc.Load(oReader) - oReader.Dispose() End Try @@ -2083,19 +2090,22 @@ Partial Class Compras_Compras ObjeFacturas.Dispose() - Dim ObjSAT As New ClsSAT - Dim RFCRequest As String = Request("RFC").ToString - If ObjSAT.GetListado69B(2, UsuarioActual.CveEmpresa, RFCRequest) Then - If ObjSAT.DtResultados.Rows.Count > 0 Then - Dim Estatus As String = ObjSAT.DtResultados.Rows(0)("Situacion").ToString - BtnGuardar.Enabled = False - UpParametros.Update() + If RFC <> "" Then + Dim ObjSAT As New ClsSAT - Alert($"El RFC del proveedor se encuentra en estado {Estatus} en el Listado EFOS (69B) del SAT", TipoMensaje.MsgAdvertencia) - System.Threading.Thread.Sleep(5) + If ObjSAT.GetListado69B(2, UsuarioActual.CveEmpresa, RFC) Then + If ObjSAT.DtResultados.Rows.Count > 0 Then + Dim Estatus As String = ObjSAT.DtResultados.Rows(0)("Situacion").ToString + BtnGuardar.Enabled = False + UpParametros.Update() + + Alert($"El RFC del proveedor se encuentra en estado {Estatus} en el Listado EFOS (69B) del SAT", TipoMensaje.MsgAdvertencia) + System.Threading.Thread.Sleep(5) + End If End If + ObjSAT.Dispose() End If - ObjSAT.Dispose() + Return RFC @@ -2942,9 +2952,10 @@ Partial Class Compras_Compras 'TIENE AMORTIZACIÓN If GvAnticiposSel.Rows.Count > 0 Then - BtnEliminarCompra.Visible = False + If Not DdlTipoComprobante.SelectedValue.Contiene("NC") Then BtnCancelarCompra.Visible = False + BtnEliminarCompra.Visible = False End If End If @@ -5074,8 +5085,8 @@ Partial Class Compras_Compras For Each dr As DataRow In DtInv.Rows If dr("cvealmacen").ToString.ToEntero = tcvealmacen Then - - importeconcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, dr("pu").ToString.ToDouble, dr("pu").ToString.ToDouble * TipoCambioGuardar) + 'hay que restarle descuento + importeconcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, dr("pu").ToString.ToDouble, dr("pu").ToString.ToDouble * TipoCambioGuardar) - (If(DdlMoneda.SelectedValue.ToEntero = 1, dr("descuento").ToString.ToDouble, dr("descuento").ToString.ToDouble * TipoCambioGuardar) / dr("cantidad").ToString.ToDouble) If Not ObjInventario.AddMovimientoDetalle(cvemovimientoentrada, dr("cantidad").ToString.ToDouble, dr("cveum").ToString.ToEntero, dr("cveps").ToString.ToEntero, importeconcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, dr("pu").ToString.ToDouble), CveCompraDetalle:=dr("CveCompraDetalle").ToString.ToEntero) Then ErrorMovInv = True @@ -5158,6 +5169,7 @@ Partial Class Compras_Compras Dim PUInv As Double Dim CveUnidad As Integer Dim CostoIndirecto As Double + Dim tDescuento As Decimal = 0 ListaMovimientosAlmacen.Add(CveMovimientoInventario) @@ -5168,6 +5180,7 @@ Partial Class Compras_Compras CveUnidad = Dr("CveUM").ToString.ToEntero CantidadInv = Dr("Cantidad").ToString.ToDouble PUInv = Dr("PU").ToString.ToDouble + tDescuento = Dr("Descuento").ToString.ToDecimal / CantidadInv.ToDecimal CostoIndirecto = Dr("CostoIndirectoAlmacen").ToString.ToDouble If Dr("CveMetodoInventario").ToString.ToEntero = 5 Then @@ -5202,7 +5215,7 @@ Partial Class Compras_Compras End If 'si no es por serie lote - ImporteConcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, PUInv, PUInv * TipoCambioGuardar) + ImporteConcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, PUInv, PUInv * TipoCambioGuardar) - If(DdlMoneda.SelectedValue.ToEntero = 1, tDescuento, tDescuento * TipoCambioGuardar) ImporteConcepto = If(UsuarioActual.Empresa.UsaAC, ImporteConcepto * IVA, ImporteConcepto) If Dr("CveAlmacen").ToString.ToEntero = tCveAlmacen Then If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, CantidadInv, CveUnidad, Dr("CvePS").ToString.ToEntero, ImporteConcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, Dr("PU").ToString.ToDouble), CostoIndirecto:=CostoIndirecto, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then diff --git a/Contabilidad2/CatContaEjercicios.aspx b/Contabilidad2/CatContaEjercicios.aspx index edd8f515f..c61ecab0a 100644 --- a/Contabilidad2/CatContaEjercicios.aspx +++ b/Contabilidad2/CatContaEjercicios.aspx @@ -24,7 +24,7 @@ @@ -33,12 +33,17 @@ - + + + + + + - + @@ -60,14 +65,33 @@