diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb index 7a782d020..5750cf281 100644 --- a/App_Code/ClsCompras.vb +++ b/App_Code/ClsCompras.vb @@ -3302,30 +3302,31 @@ Public Class ClsCompras - Public Function GetComprasPrepolizasRetIvaRetISRActualiza(CveCompra As Integer, CveRetIVAConcepto As Integer, CveRetISRConcepto As Integer) As Boolean + 'Public Function GetComprasPrepolizasRetIvaRetISRActualiza(CveCompra As Integer, CveRetIVAConcepto As Integer, CveRetISRConcepto As Integer) As Boolean + ' Dim Retorno As Boolean = False + ' DataAdapter("PA_Comp_ComprasPrepolizasRetIvaRetISRActualizaGet") + ' With SqlAdapter.SelectCommand.Parameters + ' .Add("@CveCompra", SqlDbType.Int).Value = CveCompra + ' .Add("@CveRetIVAConcepto", SqlDbType.Int).Value = CveRetIVAConcepto + ' .Add("@CveRetISRConcepto", SqlDbType.Int).Value = CveRetISRConcepto + ' End With + ' Try + ' SqlAdapter.Fill(Data) + ' Retorno = True + ' Catch ex As Exception + ' OnError("Ocurrió un error al Obtener los datos de retención de IVA y retención ISR.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + ' End Try + ' Return Retorno + 'End Function + + + Public Function UpdateComprasRetencionesUpdate(CveConceptoRetIVA As Integer, CveConceptoRetISR As Integer, CveCompra As Integer) As Boolean Dim Retorno As Boolean = False - DataAdapter("PA_Comp_ComprasPrepolizasRetIvaRetISRActualizaGet") + DataAdapter("PA_Comp_ComprasRetencionesUpdate") With SqlAdapter.SelectCommand.Parameters + .Add("@CveConceptoRetIVA", SqlDbType.Int).Value = CveConceptoRetIVA + .Add("@CveConceptoRetISR", SqlDbType.Int).Value = CveConceptoRetISR .Add("@CveCompra", SqlDbType.Int).Value = CveCompra - .Add("@CveRetIVAConcepto", SqlDbType.Int).Value = CveRetIVAConcepto - .Add("@CveRetISRConcepto", SqlDbType.Int).Value = CveRetISRConcepto - End With - Try - SqlAdapter.Fill(Data) - Retorno = True - Catch ex As Exception - OnError("Ocurrió un error al Obtener los datos de retención de IVA y retención ISR.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) - End Try - Return Retorno - End Function - - - Public Function UpdateComprasPrepolizasRetIvaRetISRActualiza(CvePrePolizaDetalle As Integer, CveConceptoContable As Integer) As Boolean - Dim Retorno As Boolean = False - DataAdapter("PA_Comp_ComprasPrepolizasRetIvaRetISRActualizaUpdate") - With SqlAdapter.SelectCommand.Parameters - .Add("@CvePrePolizaDetalle", SqlDbType.Int).Value = CvePrePolizaDetalle - .Add("@CveConceptoContable", SqlDbType.Int).Value = CveConceptoContable End With Try SqlAdapter.Fill(Data) diff --git a/App_Code/ClsValidaCFDi.vb b/App_Code/ClsValidaCFDi.vb index 66d701fa5..c236c5bbb 100644 --- a/App_Code/ClsValidaCFDi.vb +++ b/App_Code/ClsValidaCFDi.vb @@ -62,8 +62,8 @@ Public Class ClsValidaCFDi Public Function Verificar(FolioFiscal As String, RFCEmisor As String, RFCReceptor As String, Optional Importe As Decimal = 0.00) As Integer Me.LFolioFiscal = HttpUtility.UrlEncode(FolioFiscal) - Me.LRFCEmisor = HttpUtility.UrlEncode(RFCEmisor) - Me.LRFCReceptor = HttpUtility.UrlEncode(RFCReceptor) + Me.LRFCEmisor = RFCEmisor + Me.LRFCReceptor = RFCReceptor Me.LImporte = Importe VerificaCFDI() diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index a56876f88..8c901ce40 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -2616,8 +2616,6 @@ Partial Class Compras_Compras HFDiferenciaCompra.Value = TxtTotal.Text - - TotalGeneral = dr("Total").ToString.ToDouble CveMoneda = dr("CveMoneda").ToString.ToEntero DdlValidadaSAT.SelectedValue = "Si" @@ -5998,7 +5996,7 @@ Partial Class Compras_Compras importeMovimiento = TxtTotal.Text.ToDecimal 'TmpDT.SUM("Total", String.Format("ISNULL(TipoAF, 0) <> 2 And ISNULL(CveAlmacen, 0) = 0 And ISNULL(AplicaCostoIndirecto, 0) <> 1 And CveClasificacion = {0} And CveSubProyecto = {1} And ISNULL(CveTipoGasto, 0) = {2} Then", Row2("CveClasificacion").ToString.ToEntero, Row2("CveSubProyecto").ToString.ToEntero, Row2("CveTipoGasto").ToString.ToEntero)).ToString.ToDecimal importeMN = importeMovimiento * tipoCambioActual * Multiplicador 'CLASIFICACION - If Row2("CveClasificacion").ToString.ToEntero > 0 Then + If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso Row2("CveClasificacion").ToString.ToEntero > 0 Then If ObjConta.GetRetCuenta(6, Row2("CveClasificacion").ToString.ToEntero, CveSubProyecto:=Row2("CveSubProyecto").ToString.ToEntero) Then If ObjConta.DtResultados.Rows.Count > 0 AndAlso ObjConta.DtResultados.Rows(0)("IdCuentaGasto").ToString.ToEntero > 0 Then IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaGasto").ToString.ToEntero @@ -6133,7 +6131,7 @@ Partial Class Compras_Compras ConceptoContable = 288 End If - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then + If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then If ObjConta.DtResultados.Rows.Count > 0 Then IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero End If @@ -6145,7 +6143,7 @@ Partial Class Compras_Compras IdCtaIva = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0) Dim ttConceptoContable As Integer = 14 - If ObjConta.GetRetCuenta(ttConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaIva > 0 Then + If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(ttConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaIva > 0 Then If ObjConta.DtResultados.Rows.Count > 0 Then IdCtaIva = ObjConta.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero End If @@ -6171,7 +6169,7 @@ Partial Class Compras_Compras If chkImportacion.Checked Then ConceptoContable = 287 End If - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then + If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then If ObjConta.DtResultados.Rows.Count > 0 Then IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero End If @@ -6208,7 +6206,7 @@ Partial Class Compras_Compras If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" PorcentajeImpuesto = PorcentajeIVA IdCtaContable = If(IdCtaIVAXAcreditar > 0, IdCtaIVAXAcreditar, 0) - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then + If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then If ObjConta.DtResultados.Rows.Count > 0 Then IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIVAxAcreditar").ToString.ToEntero End If @@ -6221,7 +6219,7 @@ Partial Class Compras_Compras importeMovimiento = ImporteIEPSxAcreditar importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - If ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then + If UsuarioActual.Empresa.TipoContabilidad = 2 AndAlso ObjConta.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then If ObjConta.DtResultados.Rows.Count > 0 Then IdCtaContable = ObjConta.DtResultados.Rows(0)("IdCuentaIEPSxAcreditar").ToString.ToEntero End If @@ -10590,162 +10588,21 @@ Partial Class Compras_Compras End If + If Retorno AndAlso (CveRetIVAConceptoOriginal <> DdlRetIVAConcepto.SelectedValue.ToEntero OrElse CveRetISRConceptoOriginal <> DdlRetISRConcepto.SelectedValue.ToEntero) Then + Dim tCveConceptoIVA, tCveConceptoISR As Integer - If Retorno AndAlso (CveRetIVAConceptoOriginal <> DdlRetIVAConcepto.SelectedValue.ToEntero Or CveRetISRConceptoOriginal <> DdlRetISRConcepto.SelectedValue.ToEntero) Then - If ObjCompra.GetComprasPrepolizasRetIvaRetISRActualiza(CveCompra, CveRetIVAConceptoOriginal, CveRetISRConceptoOriginal) Then - - Dim DTPRePolizaDesbloquedo As DataTable = ObjCompra.DtResultados.FiltraParametros("", "", {"CvePrePoliza", "Bloqueado"}) - Dim DTPRePolizaDes As DataTable = ObjCompra.DtResultados - - If DTPRePolizaDesbloquedo IsNot Nothing Then - - For Each dr1 As DataRow In DTPRePolizaDesbloquedo.Rows - - If Boolean.Parse(dr1("Bloqueado").ToString) Then - - If Not ObjContabilidad.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then - Retorno = False - End If - - End If - - - Next - - If Retorno Then - - For Each dr2 As DataRow In DTPRePolizaDes.Rows - - Dim CveConceptoContableOriginal As Integer = dr2("CveConceptoContable").ToString.ToEntero - Dim CveConceptoContableNuvo As Integer = -1 - - If dr2("Tipo").ToString = "IVA" Then - - Select Case DdlRetIVAConcepto.SelectedValue.ToEntero - Case 1 - - If CveConceptoContableOriginal.Contiene(184, 186, 249, 286) Then - CveConceptoContableNuvo = 15 - ElseIf CveConceptoContableOriginal.Contiene(183, 185, 248, 285) Then - CveConceptoContableNuvo = 22 - End If - - Exit Select - Case 2 - - If CveConceptoContableOriginal.Contiene(22, 186, 249, 286) Then - CveConceptoContableNuvo = 184 - ElseIf CveConceptoContableOriginal.Contiene(15, 185, 248, 285) Then - CveConceptoContableNuvo = 183 - End If - - Exit Select - Case 3 - - If CveConceptoContableOriginal.Contiene(22, 184, 249, 286) Then - CveConceptoContableNuvo = 186 - ElseIf CveConceptoContableOriginal.Contiene(15, 183, 248, 285) Then - CveConceptoContableNuvo = 187 - End If - - Exit Select - Case 4 - - If CveConceptoContableOriginal.Contiene(22, 184, 186, 286) Then - CveConceptoContableNuvo = 249 - ElseIf CveConceptoContableOriginal.Contiene(15, 183, 185, 285) Then - CveConceptoContableNuvo = 248 - End If - - Exit Select - Case 5 - - If CveConceptoContableOriginal.Contiene(22, 184, 186, 249) Then - CveConceptoContableNuvo = 286 - ElseIf CveConceptoContableOriginal.Contiene(15, 183, 185, 248) Then - CveConceptoContableNuvo = 285 - End If - - Exit Select - End Select - - - - End If - - If dr2("Tipo").ToString = "ISR" Then - Select Case DdlRetISRConcepto.SelectedValue.ToEntero - Case 1 - - If CveConceptoContableOriginal.Contiene(244, 328) Then - CveConceptoContableNuvo = 23 - ElseIf CveConceptoContableOriginal.Contiene(243, 327) Then - CveConceptoContableNuvo = 16 - End If - - Exit Select - Case 2 - - If CveConceptoContableOriginal.Contiene(23, 328) Then - CveConceptoContableNuvo = 244 - ElseIf CveConceptoContableOriginal.Contiene(16, 327) Then - CveConceptoContableNuvo = 243 - End If - - Exit Select - Case 3 - - If CveConceptoContableOriginal.Contiene(23, 244) Then - CveConceptoContableNuvo = 328 - ElseIf CveConceptoContableOriginal.Contiene(16, 243) Then - CveConceptoContableNuvo = 327 - End If - - Exit Select - End Select - End If - - - If Not (CveConceptoContableNuvo > 0 AndAlso ObjCompra.UpdateComprasPrepolizasRetIvaRetISRActualiza(dr2("CvePrePolizaDetalle").ToString.ToEntero, CveConceptoContableNuvo)) Then - Retorno = False - If CveConceptoContableNuvo <= 0 Then - Alert("Se presento un error al asiganar el nuevo concepto de retención", TipoMensaje.MsgAdvertencia) - End If - Exit For - End If - - - Next - - For Each dr1 As DataRow In DTPRePolizaDesbloquedo.Rows - - If Boolean.Parse(dr1("Bloqueado").ToString) Then - If Not ObjContabilidad.UpdatePrePolizasDetalleBloquear(CvePrePoliza, True) Then - Retorno = False - End If - End If - - Next - - If Retorno Then - - If CveRetIVAConceptoOriginal > 0 Then - CveRetIVAConceptoOriginal = DdlRetIVAConcepto.SelectedValue.ToEntero - End If - - If CveRetISRConceptoOriginal > 0 Then - CveRetISRConceptoOriginal = DdlRetISRConcepto.SelectedValue.ToEntero - End If - - End If - End If - - Else - Retorno = False - End If + If CveRetIVAConceptoOriginal <> DdlRetIVAConcepto.SelectedValue.ToEntero Then tCveConceptoIVA = DdlRetIVAConcepto.SelectedValue.ToEntero + If CveRetISRConceptoOriginal <> DdlRetISRConcepto.SelectedValue.ToEntero Then tCveConceptoISR = DdlRetISRConcepto.SelectedValue.ToEntero + If ObjCompra.UpdateComprasRetencionesUpdate(tCveConceptoIVA, tCveConceptoISR, CveCompra) Then + If tCveConceptoIVA > 0 Then CveRetIVAConceptoOriginal = tCveConceptoIVA + If tCveConceptoISR > 0 Then CveRetISRConceptoOriginal = tCveConceptoISR + Else + Retorno = False + Alert("Se presento un error al asignar el nuevo concepto de retención", TipoMensaje.MsgAdvertencia) End If + End If diff --git a/Ventas/CatPS.aspx b/Ventas/CatPS.aspx index 5ddf0304b..c84f3f58a 100644 --- a/Ventas/CatPS.aspx +++ b/Ventas/CatPS.aspx @@ -225,6 +225,7 @@ + @@ -301,6 +302,8 @@ + + diff --git a/Ventas/CatPS.aspx.vb b/Ventas/CatPS.aspx.vb index a4a87b343..2629abead 100644 --- a/Ventas/CatPS.aspx.vb +++ b/Ventas/CatPS.aspx.vb @@ -117,6 +117,7 @@ Partial Class CatPS GvDatos.Columns(11).Visible = ChkClasificacion2.Checked GvDatos.Columns(12).Visible = ChkMarca.Checked GvDatos.Columns(13).Visible = ChkVentaMinima.Checked + GvDatos.Columns(14).Visible = ChkCodigoBarras.Checked CargaDatos() OrdenaDatos() diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 0f23a71bf..fbe2b19e6 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -753,7 +753,7 @@ Partial Class Clientes DivRetIVA.Visible = False End If - If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then + If UsuarioActual.Empresa.Funcionalidad(350).Contiene("1", "2") Then divRegimen.Visible = True End If @@ -2082,7 +2082,7 @@ Partial Class Clientes End Sub Private Sub CargaComboCFDI() Dim RegimenFiscalCliente = DdlRegimenFiscal.SelectedValue.ToString() - If UsuarioActual.Empresa.Funcionalidad(350) <> "1" Then + If Not UsuarioActual.Empresa.Funcionalidad(350).Contiene("1", "2") Then RegimenFiscalCliente = "-1" End If @@ -10213,7 +10213,7 @@ Partial Class Clientes DVRegimenSociedad.Visible = False DivRazonSocial2.Attributes.Add("class", "col-md-12") - If RdTipoPersona.SelectedValue.ToEntero = 1 And UsuarioActual.Empresa.Funcionalidad(350) = "1" Then + If RdTipoPersona.SelectedValue.ToEntero = 1 And UsuarioActual.Empresa.Funcionalidad(350).Contiene("1", "2") Then DivRazonSocial2.Attributes.Add("class", "col-md-8") DVRegimenSociedad.Visible = True diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 2dbbbd25a..6c0c86cb9 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -8319,7 +8319,7 @@ Partial Class PV DVRegimenSociedad.Visible = False DivRazonSocial2.Attributes.Add("class", "col-md-12") - If RdTipoPersona.SelectedValue.ToEntero = 1 And UsuarioActual.Empresa.Funcionalidad(350) = "1" Then + If RdTipoPersona.SelectedValue.ToEntero = 1 And UsuarioActual.Empresa.Funcionalidad(350).Contiene("1", "2") Then DivRazonSocial2.Attributes.Add("class", "col-md-8") DVRegimenSociedad.Visible = True diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index a29a4ce98..ebebe8f8b 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -325,6 +325,7 @@ Partial Class ProductosyServicios DivPSAdicionalVigencia.Visible = True divCodigo2.Visible = True divLitraje.Visible = True + DivClasificacion2.Visible = True CargaPSAdicionalesVigencias() End If @@ -341,7 +342,7 @@ Partial Class ProductosyServicios CargaCombosSeccionAlmacen() - If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then 'emisión 4.0 + If UsuarioActual.Empresa.Funcionalidad(350).Contiene("1", "2") Then 'emisión 4.0 DivObjetoImpuesto.Visible = True DdlObjetoImpuesto.DataSource = GlobalDTSATObjetosImpuestos DdlObjetoImpuesto.DataBind() diff --git a/Ventas/RepProductosServiciosDetalle.aspx.vb b/Ventas/RepProductosServiciosDetalle.aspx.vb index d9e07cd48..9d3a6d8d7 100644 --- a/Ventas/RepProductosServiciosDetalle.aspx.vb +++ b/Ventas/RepProductosServiciosDetalle.aspx.vb @@ -212,8 +212,9 @@ Partial Class Ventas_RepProductosServiciosDetalle DdlSubProyectoEjecucion.DataBind() 'Vendedor - DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) + DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=-1).FiltraParametros("VendedorTipo in (1,4)") 'vendedores y vendedores de piso DdlVendedor.DataBind() + If UsuarioActual.CveVendedor > 0 AndAlso Not UsuarioActual.TienePermisoProceso(263) Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) DdlVendedor.Attributes.Add("disabled", "disabled") diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index cffed6fe4..9a94df0f8 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -34057,7 +34057,7 @@ Partial Class Ventas DVRegimenSociedad.Visible = False DivRazonSocial2.Attributes.Add("class", "col-md-12") - If RdTipoPersona.SelectedValue.ToEntero = 1 And UsuarioActual.Empresa.Funcionalidad(350) = "1" Then + If RdTipoPersona.SelectedValue.ToEntero = 1 And UsuarioActual.Empresa.Funcionalidad(350).Contiene("1", "2") Then DivRazonSocial2.Attributes.Add("class", "col-md-8") DVRegimenSociedad.Visible = True