diff --git a/AF/AF.aspx.vb b/AF/AF.aspx.vb index 063d14778..5db814ec3 100644 --- a/AF/AF.aspx.vb +++ b/AF/AF.aspx.vb @@ -2498,7 +2498,7 @@ Partial Class AF_AF FechaBaja:=FechaBaja, Lat:=TxtLatitud.Text, Longi:=TxtLongitud.Text, AgroCuenta:=TxtAgroCuenta.Text) > 0 Then ViewState("CveActivoFijo") = ObjAF.CveActivoFijo GlobalDTActivoFijos(UsuarioActual.CveEmpresa) = Nothing - If UsuarioActual.Empresa.TipoContabilidad = 1 Then + If UsuarioActual.Empresa.TipoContabilidad = 1 AndAlso DdlCtaContable.SelectedValue.ToEntero > 0 Then If Not ObjContabilidad.AddCuentasAsignaciones(49, UsuarioActual.CveEmpresa, CveCuenta:=DdlCtaContable.SelectedValue.ToEntero, CveActivoFijo:=ObjAF.CveActivoFijo) Then ErrorGuardar = True End If diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index 81d76146e..93ebfc00b 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -1806,7 +1806,14 @@ Public Class ClsBancos ' Me.OnError("Ocurrió un error al guardar los cambios en el Banco", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) Catch ex As Exception - OnError("Ocurrió un error al cancelar el movimiento en bancos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + + If ex.Message.Contains("El Movimiento no se puede eliminar porque tiene una cancelación relacionada") Then + OnError("El Movimiento no se puede eliminar porque tiene una cancelación relacionada, se tiene que eliminar primero la cancelación.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + Else + OnError("Ocurrió un error al eliminar el movimiento en bancos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End If + + End Try Return Retorno @@ -4210,12 +4217,15 @@ Public Class ClsBancos #Region "CONCILIACIÓN BANCARIA" - Public Function UpdateConciliacionBancaria(CveIE As Integer, FechaAplicado As Date, CveUsuario As Integer) As Boolean + Public Function UpdateConciliacionBancaria(CveIE As Integer, FechaAplicado As Date, CveIEEstadoCuenta As Integer, FueConciliado As Integer, Opcion As Integer, CveUsuario As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Banc_ConciliacionBancariaUpdate") With SqlAdapter.SelectCommand.Parameters .Add("@CveIE", SqlDbType.Int).Value = CveIE .Add("@FechaAplicado", SqlDbType.Date).Value = FechaAplicado + .Add("@CveIEEstadoCuenta", SqlDbType.Int).Value = CveIEEstadoCuenta + .Add("@FueConciliado", SqlDbType.Int).Value = FueConciliado + .Add("@Opcion", SqlDbType.Int).Value = Opcion .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario End With Try diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index 32a5cb86e..cb0596ad0 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -1279,6 +1279,27 @@ Public Class ClsContabilidad End Try Return Retorno End Function + Public Function UpdateContabilizable(CvePrePolizaDetalle As Integer, Contabilizar As Boolean) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Conta_PrePolizasContabilizableUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePrePolizaDetalle", SqlDbType.Int).Value = CvePrePolizaDetalle + .Add("@Contabilizar", SqlDbType.Bit).Value = If(Contabilizar, 1, 0) + End With + Try + SqlAdapter.Fill(Data) + + Retorno = True + Catch ex As Exception + If ex.Message.Contains("50015;") Then + OnError("No se puede actualizar una póliza en un ejercicio Cerrado", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + + Else + OnError("Ocurrió un error al contabilizar las prepoliza detalle.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End If + End Try + Return Retorno + End Function Public Function ContabilizarPrePoliza(CvePrePoliza As Integer, CveUsuario As Integer, Empresa As Empresa, Optional Fecha As Date = MinFecha, Optional Concepto As String = "", Optional ObjConta As ClsContPAQi = Nothing, Optional pIDPoliza As Integer = -1) As Boolean @@ -1286,7 +1307,7 @@ Public Class ClsContabilidad Dim Retorno As Boolean = False Dim OcurrioError As Boolean = False - StrLog.AppendFormat("CvePrep:{0} - Inicio -", CvePrePoliza) + StrLog.AppendFormat("CvePrep:{0} - CveE:{1} - Inicio -", CvePrePoliza, Empresa.CveEmpresa) If Empresa.TipoContabilizacion = 1 Then ' contabilidad en SIG diff --git a/App_Code/ClsNominas.vb b/App_Code/ClsNominas.vb index 4bfc60525..3bc8643af 100644 --- a/App_Code/ClsNominas.vb +++ b/App_Code/ClsNominas.vb @@ -3405,14 +3405,15 @@ Public Class ClsNominas End Function #Region "Visor sat" - Public Function SATSolicitudTimbreNominaGral(IDsolicitud As Integer, cveEmpresa As Integer, fechaInicio As String, fechaFin As String, TipoNomina As Integer) As Boolean + Public Function SATSolicitudTimbreNominaGral(IDsolicitud As Integer, CveEmpresa As Integer, FechaInicio As Date, FechaFin As Date, TipoNomina As Integer, RegimenContratacion As Integer) As Boolean Dim retorno As Boolean = False DataAdapter("[PA_SAT_SolicitudTimbreNominaGral]", CommandType.StoredProcedure) addParameters("@IDsolicitud", SqlDbType.Int, IDsolicitud) addParameters("@TipoNomina", SqlDbType.Int, TipoNomina) - addParameters("@CveEmpresa", SqlDbType.Int, cveEmpresa) - addParameters("@FechaInicio", SqlDbType.VarChar, fechaInicio) - addParameters("@FechaFin", SqlDbType.VarChar, fechaFin) + addParameters("@CveEmpresa", SqlDbType.Int, CveEmpresa) + addParameters("@FechaInicio", SqlDbType.Date, FechaInicio) + addParameters("@FechaFin", SqlDbType.Date, FechaFin) + addParameters("@RegimenContratacion", SqlDbType.Int, RegimenContratacion) retorno = RunQuery("Ocurrió un error al obtener el Calculo ISR anual.") Return retorno End Function diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index f1f164ec2..4757d6158 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -3519,6 +3519,33 @@ Public Class ClsPaginas HttpContext.Current.Application(AppNombre) = value End Set End Property + + Public Shared Property GlobalDTContaCuentasContables(CveEmpresa As Integer, Optional Codigo As String = "-1", Optional Afectable As Integer = -1, Optional CvePadre As Integer = -1) As DataTable + Get + Dim AppNombre As String = $"GlobalDTContaCuentasContables-{CveEmpresa}" + If HttpContext.Current.Application(AppNombre) Is Nothing Then + Using ObjContabilidad As New ClsContabilidad + If ObjContabilidad.GetCuentas(-1, "-1", -1, CveEmpresa) Then HttpContext.Current.Application(AppNombre) = ObjContabilidad.DtResultados Else HttpContext.Current.Application(AppNombre) = Nothing + End Using + End If + Dim filtros As New List(Of String) + If Codigo <> "-1" Then filtros.Add($"Codigo = '{Codigo}'") + If Afectable <> -1 Then filtros.Add($"Afectable = {Afectable}") + If CvePadre <> -1 Then filtros.Add($"CvePadre = {CvePadre}") + If filtros.Count > 0 Then + Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), String.Join(" AND ", filtros), "", DataViewRowState.CurrentRows) + GlobalDTContaCuentasContables = Dv.ToTable + Dv.Dispose() + Else + GlobalDTContaCuentasContables = DirectCast(HttpContext.Current.Application(AppNombre), DataTable) + End If + End Get + Set(value As DataTable) + Dim AppNombre As String = $"GlobalDTContaCuentasContables-{CveEmpresa}" + HttpContext.Current.Application(AppNombre) = value + End Set + End Property + #End Region #Region "**********************************************************************GLOBAL DT RH (RECURSOS HUMANOS)********************************************************************" Property GlobalDTAsistenciaDetalle() As DataTable diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index 776206141..d198effdb 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -1343,7 +1343,7 @@ Public Class ClsVentas CvePresupuestoIngreso As Integer, Optional TiempoEntrega As String = "", Optional CveVentaDetallePadre As Integer = -1, Optional CveContratoDetalle As Integer = -1, Optional PorcentajeIVA As Decimal = 0, Optional IEPS As Double = -1, Optional PorcentajeIEPS As Double = 0, Optional CvePromocionDetalle As Integer = -1, Optional CveMovimientoDetallePedido As Integer = -1, Optional ImporteRetIVA As Double = 0, Optional PorcentajeRetIVA As Double = 0, - Optional ImporteRetISR As Double = 0, Optional PorcentajeRetISR As Double = 0, Optional CuentaPredial As String = "", Optional CvePrecioLista As Integer = -1, Optional CveActivoFijo As Integer = -1) As Boolean + Optional ImporteRetISR As Double = 0, Optional PorcentajeRetISR As Double = 0, Optional CuentaPredial As String = "", Optional CvePrecioLista As Integer = -1, Optional CveActivoFijo As Integer = -1, Optional NumTurnos As Decimal = 0D) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_VentasDetalleAdd") @@ -1375,6 +1375,7 @@ Public Class ClsVentas .Add("@CuentaPredial", SqlDbType.VarChar).Value = CuentaPredial .Add("@CvePrecioLista", SqlDbType.Int).Value = CvePrecioLista .Add("@CveActivoFijo", SqlDbType.Int).Value = CveActivoFijo + .Add("@NumTurnos", SqlDbType.Decimal).Value = NumTurnos End With Try diff --git a/Bancos/ConciliacionesBancarias.aspx.vb b/Bancos/ConciliacionesBancarias.aspx.vb index 2cdc55b14..20ba7ac10 100644 --- a/Bancos/ConciliacionesBancarias.aspx.vb +++ b/Bancos/ConciliacionesBancarias.aspx.vb @@ -178,8 +178,8 @@ Partial Class Bancos_ConciliacionesBancariasaspx If Not CBool(Dr("FueConciliado").ToString) And Dr("CveIE").ToString.ToEntero > 0 Then For Each DrE As DataRow In DtDatosEdoCuenta.Rows If ((Dr("FechaDocumento").ToString.ToDate = DrE("FechaDocumento").ToString.ToDate And Dr("Importe").ToString.ToDouble = DrE("Importe").ToString.ToDouble And Dr("Tipo").ToString = DrE("Tipo").ToString And DdlCriterio.SelectedValue.ToEntero = 1) Or (Dr("Importe").ToString.ToDouble = DrE("Importe").ToString.ToDouble And Dr("Tipo").ToString = DrE("Tipo").ToString And DdlCriterio.SelectedValue.ToEntero = 2)) And Not CBool(DrE("Seleccionado").ToString) And Not CBool(DrE("FueConciliado").ToString) And Not CBool(Dr("Seleccionado").ToString) Then - If Not ObjBancos.UpdateConciliacionBancaria(Dr("CveIE").ToString.ToEntero, If(Dr("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Dr("FechaDocumento").ToString.ToDate), UsuarioActual.CveUsuario) Or Not ObjBancos.UpdateIEEstadoCuenta(DrE("CveIEEstadoCuenta").ToString.ToEntero, DrE("Importe").ToString.ToDouble, True, Dr("CveIE").ToString.ToEntero, - DrE("Referencia").ToString, DrE("Tipo").ToString, DrE("FechaDocumento").ToString.ToDate, DrE("CveCuenta").ToString.ToEntero) Then + If Not ObjBancos.UpdateConciliacionBancaria(Dr("CveIE").ToString.ToEntero, If(Dr("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Dr("FechaDocumento").ToString.ToDate), -1, 1, 1, UsuarioActual.CveUsuario) Or + Not ObjBancos.UpdateConciliacionBancaria(Dr("CveIE").ToString.ToEntero, If(Dr("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Dr("FechaDocumento").ToString.ToDate), DrE("CveIEEstadoCuenta").ToString.ToEntero, 1, 2, UsuarioActual.CveUsuario) Then ErrorTrans = True Else If Not ObjOI.AddEventoBitacora("El pago ha sido conciliado", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=Dr("CveIE").ToString.ToEntero) Then @@ -283,7 +283,7 @@ Partial Class Bancos_ConciliacionesBancariasaspx Dim CveIE As Integer = 0 For Each Gvr As GridViewRow In GvDatos.Rows If Gvr.FCCheckBox("ChkConciliado").Checked And Gvr.FCCheckBox("ChkConciliado").Enabled Then - If Not ObjBancos.UpdateConciliacionBancaria(Gvr.DataKey("CveIE").ToEntero, If(Gvr.DataKey("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Gvr.DataKey("FechaDocumento").ToString.ToDate), UsuarioActual.CveUsuario) Then + If Not ObjBancos.UpdateConciliacionBancaria(Gvr.DataKey("CveIE").ToEntero, If(Gvr.DataKey("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Gvr.DataKey("FechaDocumento").ToString.ToDate), -1, 1, 1, UsuarioActual.CveUsuario) Then ErrorTrans = True Else If Not ObjOI.AddEventoBitacora("El pago ha sido conciliado", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=Gvr.DataKey("CveIE").ToEntero) Then @@ -350,7 +350,7 @@ Partial Class Bancos_ConciliacionesBancariasaspx For Each Gvr As GridViewRow In GvDatos.Rows If Gvr.FCCheckBox("ChkConciliado").Checked And Gvr.FCCheckBox("ChkConciliado").Enabled Then Selecciono = True - If Not ObjBancos.UpdateConciliacionBancaria(Gvr.DataKey("CveIE").ToEntero, If(Gvr.DataKey("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Gvr.DataKey("FechaDocumento").ToString.ToDate), UsuarioActual.CveUsuario) Then + If Not ObjBancos.UpdateConciliacionBancaria(Gvr.DataKey("CveIE").ToEntero, If(Gvr.DataKey("FechaDocumento").ToString.ToDate < txtFechaI.Text.ToDate, TxtFechaAplicado.Text.ToDate, Gvr.DataKey("FechaDocumento").ToString.ToDate), -1, 1, 1, UsuarioActual.CveUsuario) Then ErrorTrans = True Else If Not ObjOI.AddEventoBitacora("El pago ha sido conciliado", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveIE:=Gvr.DataKey("CveIE").ToEntero) Then diff --git a/Bancos/Creditos.aspx b/Bancos/Creditos.aspx index 9811be61a..1b6d54886 100644 --- a/Bancos/Creditos.aspx +++ b/Bancos/Creditos.aspx @@ -1297,13 +1297,23 @@
Acreedor:
- +
+
+
Compra:
+
+ + + + + +
+
-
+
diff --git a/Bancos/FluctuacionCambiaria.aspx.vb b/Bancos/FluctuacionCambiaria.aspx.vb index 80e3657eb..ddea8c483 100644 --- a/Bancos/FluctuacionCambiaria.aspx.vb +++ b/Bancos/FluctuacionCambiaria.aspx.vb @@ -638,7 +638,7 @@ Partial Class Bancos_FluctuacionCambiaria Next - If Not ErrorRegistrar AndAlso Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 3, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then + If Not ErrorRegistrar AndAlso Not Banco.UpdateFluctuacionesBitacoraPrePoliza(CvePrePoliza, 3, HdnCveFluctuacionBitacora.Value.ToEntero, UsuarioActual.CveEmpresa) Then ErrorRegistrar = True End If If Not ErrorRegistrar AndAlso Not Conta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual) Then diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 1b78035dc..c967b9b73 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -291,6 +291,12 @@
+ +
+ $ + + +

@@ -1485,47 +1491,7 @@ - - - - + <%-- @@ -138,16 +139,7 @@   - -
- -
- - - - Otros Ingresos - -
-
+ @@ -510,8 +502,11 @@
Importes - +
+
+ +
diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 835763b90..9749730e3 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -430,7 +430,7 @@ Partial Class Bancos_PopIECompras CargaCompra(CveCompra) End If - If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 72, 80) Then + If UsuarioActual.CveEmpresa.Contiene(4, 7, 11, 12, 72, 80, 122, 140, 141, 145) Then rowComisiones.Visible = True End If @@ -1032,14 +1032,21 @@ Partial Class Bancos_PopIECompras End If End Sub - Private Sub DdlOtrosPagos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlOtrosPagos.SelectedIndexChanged - Dim EsOtrosEgresos As Boolean = (DdlOtrosPagos.SelectedValue.Equals("2")) + 'Private Sub DdlOtrosPagos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlOtrosPagos.SelectedIndexChanged + ' Dim EsOtrosEgresos As Boolean = (DdlOtrosPagos.SelectedValue.Equals("2")) + ' rowComision.Visible = EsOtrosEgresos + ' rowTotal.Visible = EsOtrosEgresos + ' TxtComision.Text = "0.00" + ' TxtTotal.Text = TxtImporte.Text + 'End Sub + + Private Sub ChkComisiones_CheckedChanged(sender As Object, e As EventArgs) Handles ChkComisiones.CheckedChanged + Dim EsOtrosEgresos As Boolean = ChkComisiones.Checked rowComision.Visible = EsOtrosEgresos rowTotal.Visible = EsOtrosEgresos TxtComision.Text = "0.00" - TxtTotal.Text = TxtImporte.Text + TxtTotal.Text = TxtImporte.Text End Sub - Protected Sub DdlFuncionarioEmpleado_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlFuncionarioEmpleado.SelectedIndexChanged ArrIEFuncionariosEmpleados = New ArrayList() ArrIE = New ArrayList() @@ -1399,7 +1406,12 @@ Partial Class Bancos_PopIECompras Dim Pago As New CompraPago Pago.Fecha = TxtFechaDocumento.Text.ToDate Pago.CveMonedaPago = CveMoneda - ImportePagado = TxtImporte.Text.Trim.ToDecimal.RoundSQL + If ChkComisiones.Checked Then + ImportePagado = TxtImporte.Text.Trim.ToDecimal.RoundSQL - TxtComision.Text.ToDecimal + Else + ImportePagado = TxtImporte.Text.Trim.ToDecimal.RoundSQL + End If + 'Tipos de cambio If Pago.CveMonedaPago = 1 AndAlso CompraActual.CveMoneda = 2 Then 'Si la venta viene en Dolares y se va a pagar en Pesos Pago.TCCambioMoneda = 1 / TxtTipoCambio.Text.ToDecimal @@ -1416,7 +1428,8 @@ Partial Class Bancos_PopIECompras Select Case RBLContado.SelectedValue Case "1" ' Bancos - CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, TxtFolio.Text.Trim, TxtPagueseA.Text.Trim, ImportePagado, CveMoneda, 15.55, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), CveCuentaDeposito:=CveCuentaDeposito, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), ConceptoCIE:=If(TxtConceptoCIE.Text.Trim.Length > 0, TxtConceptoCIE.Text, "-1")) + Dim ImporteBancos As Decimal = TxtImporte.Text.ToDecimal + CveIE = ObjIE.AddBancos_IE(DdlCuenta.SelectedValue.ToEntero, DdlTipoTransaccion.SelectedValue.ToEntero, Fecha, TxtFolio.Text.Trim, TxtPagueseA.Text.Trim, ImporteBancos, CveMoneda, 11, TxtObservaciones.Text.Trim, "", True, True, -1, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCuentaTarjeta:=If(DivTarjeta.Visible, DdlTarjeta.SelectedValue.ToEntero, -1), CveCuentaDeposito:=CveCuentaDeposito, Referencia:=If(TxtReferenciaCIE.Visible, TxtReferenciaCIE.Text, "-1"), ConceptoCIE:=If(TxtConceptoCIE.Text.Trim.Length > 0, TxtConceptoCIE.Text, "-1")) If Not CveIE > 0 Then MsgError = "Ocurrio un Error al registrarse el movimiento bancario." End If @@ -1433,7 +1446,7 @@ Partial Class Bancos_PopIECompras Dim UsaComplementariaBancos As Boolean = Not UsuarioActual.CveEmpresa.Contiene(7, 11, 122, 145, 13, 83) Dim ConceptoMovimiento As String = $"{TxtPagueseA.Text.Trim} - {TxtObservaciones.Text} {If(Pago.TCPago > 1, $" TC:{Pago.TCPago}", "")}" Dim Referencia As String = TxtFolio.Text.Trim - Dim tImporteMN As Decimal = ImportePagado + Dim tImporteMN As Decimal = ImporteBancos Pago.ImportePago = tImporteMN If DivTarjeta.Visible AndAlso DdlTarjeta.SelectedValue.ToEntero > 0 Then @@ -1546,7 +1559,7 @@ Partial Class Bancos_PopIECompras Alert("Debe especificar el Acreedor.", TipoMensaje.MsgAdvertencia) Exit Sub End If - + Dim Aplicopagocomision As Boolean = False For Each rw As GridViewRow In GvAcreedores.Rows If rw.FCCheckBox("Chk").Checked AndAlso rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal <> 0 Then Dim TCC As Decimal = 1 @@ -1559,6 +1572,14 @@ Partial Class Bancos_PopIECompras Pago.TCPago = If(Pago.CveMonedaPago <> 1, TxtTipoCambio.Text.ToDecimal, 1) Pago.CveProveedor = DdlAcreedor.SelectedValue.ToEntero Pago.TipoPago = "Egsc" + + If TxtComision.Text.ToDecimal <> 0 AndAlso Aplicopagocomision = False Then + Pago.OtroGastoIngreso = TxtComision.Text.ToDecimal + Aplicopagocomision = True 'solo debe de aplicarse una vez, de manera general + Else + Pago.OtroGastoIngreso = 0 + End If + If AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjMov) Then MsgError = "No se pudo insertar la póliza" Else @@ -1622,7 +1643,7 @@ Partial Class Bancos_PopIECompras StrMsg.Append("El Documento se guardó correctamente.
") If TipoTransaccion = "Egs" AndAlso CveIE > 0 Then GeneraChequePDF(CveIE, UsuarioActual.Empresa) If UsuarioActual.Empresa.TipoContabilidad = 1 Then - StrMsg.AppendFormat("

Ver Póliza", CvePrePoliza) + StrMsg.AppendFormat("
Ver Póliza", CvePrePoliza) Else If IdPoliza > 0 Then StrMsg.AppendFormat("

Ver Póliza", IdPoliza) @@ -1818,7 +1839,13 @@ Partial Class Bancos_PopIECompras Protected Sub CVTxtImporte_ServerValidate(source As Object, args As ServerValidateEventArgs) Dim Saldo As Decimal = LtlSaldo.Text.Replace("USD", "").Replace("MXN", "").Replace(",", "").ToDecimal - Dim ImportePagado As Decimal = TxtImporte.Text.ToDecimal + Dim ImportePagado As Decimal = 0 + + If ChkComisiones.Checked Then + ImportePagado = TxtImporte.Text.Trim.ToDecimal.RoundSQL - TxtComision.Text.ToDecimal + Else + ImportePagado = TxtImporte.Text.Trim.ToDecimal.RoundSQL + End If If ChkPagarPesos.Checked Then diff --git a/Compras/Proveedores.aspx b/Compras/Proveedores.aspx index 75c12338f..ede08210b 100644 --- a/Compras/Proveedores.aspx +++ b/Compras/Proveedores.aspx @@ -2521,68 +2521,6 @@
-
-
-
-
- - Acceso a Portal del Proveedor - -
-
-
-
-
- -
- - -
-
-
- - - - - - - - - - - - - - - - - -
Usuario Activo: - - - -
Usuario: - - -
Enviar Activación: - -
Desactivar Usuario: - -
-
- - - - - <%----%> - - - - -
-
-
diff --git a/Compras/Proveedores.aspx.vb b/Compras/Proveedores.aspx.vb index 18574cc43..4c98d9164 100644 --- a/Compras/Proveedores.aspx.vb +++ b/Compras/Proveedores.aspx.vb @@ -512,7 +512,7 @@ Partial Class Compras_Proveedores CargaDocs() 'CargaColectivas() 'CargaSaldosBeneficiarios() - CargaUsuariosPortal() + 'CargaUsuariosPortal() CargarPagosNoBancarios() CargaFiltroMonedas() MostrarFiltro() @@ -605,7 +605,7 @@ Partial Class Compras_Proveedores If UsuarioActual.Empresa.CvePlataforma = 2 Then DivFiscal.Visible = False TrFondoGarantia.Visible = False - divportalusuarios.Visible = False + 'divportalusuarios.Visible = False End If CveProveedorContacto = -1 @@ -890,8 +890,8 @@ Partial Class Compras_Proveedores HplAbonarMasivoNotas.NavigateUrl = String.Format("/Bancos/IE.aspx?OPCION=DevDinC&CveProveedor={0}&Masivo={1}", CveProveedor, 1) TxtCorreoCobranza.Text = ObjProveedor.CorreoCobranza - LblUsuarioPortalCliente.Text = ObjProveedor.CorreoCobranza - LblUsuarioPortalCliente.Attributes("style") = "font-weight: bold;" + 'LblUsuarioPortalCliente.Text = ObjProveedor.CorreoCobranza + 'LblUsuarioPortalCliente.Attributes("style") = "font-weight: bold;" ChkFolioDuplicado.Checked = ObjProveedor.EditarFolioDuplicado DdlMonedaPrefente.SelectedValueExist(ObjProveedor.CveMonedaPreferente.ToString) @@ -1032,7 +1032,7 @@ Partial Class Compras_Proveedores Retorno = True - enviaractivacion() + ' enviaractivacion() CargaEventoBitacora() @@ -1255,38 +1255,38 @@ Partial Class Compras_Proveedores End Sub #End Region - Private Sub CargaUsuariosPortal() - Dim ObjUsrs As New ClsSisUsuarios() - GvUsuariosPortalSis.Visible = False + 'Private Sub CargaUsuariosPortal() + ' Dim ObjUsrs As New ClsSisUsuarios() + ' GvUsuariosPortalSis.Visible = False - If ObjUsrs.GetUsuariosPortal(-1, -1, CveProveedor) Then - Dim dtUsr As DataTable = ObjUsrs.DtResultados - 'GvUsuariosPortalSis.DataSource = dtUsr.FiltraParametros("Estatus = 1") + ' If ObjUsrs.GetUsuariosPortal(-1, -1, CveProveedor) Then + ' Dim dtUsr As DataTable = ObjUsrs.DtResultados + ' 'GvUsuariosPortalSis.DataSource = dtUsr.FiltraParametros("Estatus = 1") - 'busco la clave del admin, si es que existe - Dim dr As DataRow = dtUsr.FiltroPrimero("Nombre = 'Admin'") + ' 'busco la clave del admin, si es que existe + ' Dim dr As DataRow = dtUsr.FiltroPrimero("Nombre = 'Admin'") - If dr IsNot Nothing Then - HdnCveUsuarioPortalAdmin.Value = dr("CveUsuario").ToString - If Convert.ToBoolean(dr("Estatus")) Then - LblUsuarioActivo.Text = "Si" - 'divUsuariosPortal.Visible = True - HdnCveUsuarioPortalActivado.Value = "1" - trDesactivarUsuario.Visible = True - End If - End If + ' If dr IsNot Nothing Then + ' HdnCveUsuarioPortalAdmin.Value = dr("CveUsuario").ToString + ' If Convert.ToBoolean(dr("Estatus")) Then + ' LblUsuarioActivo.Text = "Si" + ' 'divUsuariosPortal.Visible = True + ' HdnCveUsuarioPortalActivado.Value = "1" + ' trDesactivarUsuario.Visible = True + ' End If + ' End If - If HdnCveUsuarioPortalActivado.Value.ToEntero > 0 Then - trEnviarActivacion.Visible = False - End If - Else - ' GvUsuariosPortalSis.DataSource = Nothing - End If - ObjUsrs.Dispose() - 'GvUsuariosPortalSis.DataBind() - UPUsuarios.Update() + ' If HdnCveUsuarioPortalActivado.Value.ToEntero > 0 Then + ' trEnviarActivacion.Visible = False + ' End If + ' Else + ' ' GvUsuariosPortalSis.DataSource = Nothing + ' End If + ' ObjUsrs.Dispose() + ' 'GvUsuariosPortalSis.DataBind() + ' UPUsuarios.Update() - End Sub + 'End Sub Protected Sub GVHistorial_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GVHistorial.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then @@ -1539,14 +1539,14 @@ Partial Class Compras_Proveedores ObjProveedores.Dispose() End Sub - Protected Sub enviaractivacion() - If TxtCorreoCobranza.Text <> "" Then - LbEnviarActivacionPortal.Enabled = True - Else - LbEnviarActivacionPortal.Enabled = False - LbEnviarActivacionPortal.ToolTip = "Debe de agregar una dirección de Email en la pestaña Información del Proveedor, campo 'Cobranza/Portal'." - End If - End Sub + 'Protected Sub enviaractivacion() + ' If TxtCorreoCobranza.Text <> "" Then + ' LbEnviarActivacionPortal.Enabled = True + ' Else + ' LbEnviarActivacionPortal.Enabled = False + ' LbEnviarActivacionPortal.ToolTip = "Debe de agregar una dirección de Email en la pestaña Información del Proveedor, campo 'Cobranza/Portal'." + ' End If + 'End Sub Private Function AsignaCuentasAutomaticas(ObjProveedor As ClsCompProveedores, CveProveedor As Integer) As Boolean Dim IdCtaContProveedores As Integer = If(DdlCveTipoProveedor.SelectedValue.ToEntero = 1, UsuarioActual.Empresa.Funcionalidad(321).ToEntero, UsuarioActual.Empresa.Funcionalidad(322).ToEntero) @@ -1562,7 +1562,7 @@ Partial Class Compras_Proveedores End Function Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click - enviaractivacion() + 'enviaractivacion() Dim tIdContaProveedor As Integer Dim CuentaAbono As Integer @@ -1911,10 +1911,10 @@ Partial Class Compras_Proveedores Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion) 'HABILITA ENVIAR ACTIVACION AL PORTAL PROVEEDOR SI SE AGREGO CORREO - If TxtCorreoCobranza.Text <> "" Then - LbEnviarActivacionPortal.Enabled = True - LbEnviarActivacionPortal.ToolTip = "" - End If + 'If TxtCorreoCobranza.Text <> "" Then + ' LbEnviarActivacionPortal.Enabled = True + ' LbEnviarActivacionPortal.ToolTip = "" + 'End If '''''' 'ACTUALIZA SUCURSALES @@ -2077,122 +2077,122 @@ Partial Class Compras_Proveedores #Region "U S U A R I O S" - Protected Sub LbSolicitudPortal_Click(sender As Object, e As EventArgs) Handles LbEnviarActivacionPortal.Click - 'guarda el nuevo usuario - Dim ObjUsuario As New ClsSisUsuarios - Dim CveUsr As Integer = HdnCveUsuarioPortalAdmin.Value.ToEntero - Dim CvePlataforma As Integer = 7 - Dim ErrorUsuario As Boolean = False + 'Protected Sub LbSolicitudPortal_Click(sender As Object, e As EventArgs) Handles LbEnviarActivacionPortal.Click + ' 'guarda el nuevo usuario + ' Dim ObjUsuario As New ClsSisUsuarios + ' Dim CveUsr As Integer = HdnCveUsuarioPortalAdmin.Value.ToEntero + ' Dim CvePlataforma As Integer = 7 + ' Dim ErrorUsuario As Boolean = False - 'DECLARAMOS PERMISOS DEFAULT DE ADMIN - Dim Permisos() As Integer = {236, 237, 238, 239, 240} + ' 'DECLARAMOS PERMISOS DEFAULT DE ADMIN + ' Dim Permisos() As Integer = {236, 237, 238, 239, 240} - If TxtCorreoCobranza.Text.Trim = "" Then - Alert("No se ha registrado ningún correo en la pestaña Información del Proveedor.", TipoMensaje.MsgAdvertencia) - Return - End If + ' If TxtCorreoCobranza.Text.Trim = "" Then + ' Alert("No se ha registrado ningún correo en la pestaña Información del Proveedor.", TipoMensaje.MsgAdvertencia) + ' Return + ' End If - ObjUsuario.IniciaTransacSQL() - 'AGREGAMOS USUARIO ADMIN NUEVO - If CveUsr = 0 Then - 'CREA USUARIO - CveUsr = ObjUsuario.AddUsuarioPortal(TxtCorreoCobranza.Text.Trim, ContraseñaPredeterminadaEncriptada, "Admin", TxtCorreoCobranza.Text.Trim, -1, CveProveedor, CvePlataforma, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + ' ObjUsuario.IniciaTransacSQL() + ' 'AGREGAMOS USUARIO ADMIN NUEVO + ' If CveUsr = 0 Then + ' 'CREA USUARIO + ' CveUsr = ObjUsuario.AddUsuarioPortal(TxtCorreoCobranza.Text.Trim, ContraseñaPredeterminadaEncriptada, "Admin", TxtCorreoCobranza.Text.Trim, -1, CveProveedor, CvePlataforma, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) - If CveUsr > 0 Then - ' AGREGA PERMISO A MODULO PORTALPROVEEDOR - If Not ObjUsuario.UpdateUsuariosModulos(CveUsr, 1201, True, UsuarioActual.CveUsuario) Then - ErrorUsuario = True - End If - Else - ErrorUsuario = True - End If - Else - 'ACTUALIZAMOS ESTADO DE USARIO ADMIN INACTIVO - If Not ObjUsuario.UpdateUsuarioPortal(TxtCorreoCobranza.Text.Trim, "Admin", TxtCorreoCobranza.Text.Trim, True, ContraseñaPredeterminadaEncriptada, -1, CveProveedor, CveUsr, UsuarioActual.CveUsuario) Then - ErrorUsuario = True - End If - End If + ' If CveUsr > 0 Then + ' ' AGREGA PERMISO A MODULO PORTALPROVEEDOR + ' If Not ObjUsuario.UpdateUsuariosModulos(CveUsr, 1201, True, UsuarioActual.CveUsuario) Then + ' ErrorUsuario = True + ' End If + ' Else + ' ErrorUsuario = True + ' End If + ' Else + ' 'ACTUALIZAMOS ESTADO DE USARIO ADMIN INACTIVO + ' If Not ObjUsuario.UpdateUsuarioPortal(TxtCorreoCobranza.Text.Trim, "Admin", TxtCorreoCobranza.Text.Trim, True, ContraseñaPredeterminadaEncriptada, -1, CveProveedor, CveUsr, UsuarioActual.CveUsuario) Then + ' ErrorUsuario = True + ' End If + ' End If - If Not ErrorUsuario Then - 'AGREGAMOS PERMISOS A ADMIN - For Each permiso In Permisos - If Not ObjUsuario.UpdateUsuariosProcesos(CveUsr, permiso, True, UsuarioActual.CveUsuario) Then - ErrorUsuario = True - Exit For - End If - Next - End If + ' If Not ErrorUsuario Then + ' 'AGREGAMOS PERMISOS A ADMIN + ' For Each permiso In Permisos + ' If Not ObjUsuario.UpdateUsuariosProcesos(CveUsr, permiso, True, UsuarioActual.CveUsuario) Then + ' ErrorUsuario = True + ' Exit For + ' End If + ' Next + ' End If - 'VERIFICAMOS SI HUBO ERRORES - If ErrorUsuario Then - ObjUsuario.RollBack() - Else - 'ACTUALIZAMOS SECCION USUARIO PORTAL - HdnCveUsuarioPortalAdmin.Value = CveUsr.ToString - trDesactivarUsuario.Visible = True - trEnviarActivacion.Visible = False - LblUsuarioActivo.Text = "Si" + ' 'VERIFICAMOS SI HUBO ERRORES + ' If ErrorUsuario Then + ' ObjUsuario.RollBack() + ' Else + ' 'ACTUALIZAMOS SECCION USUARIO PORTAL + ' HdnCveUsuarioPortalAdmin.Value = CveUsr.ToString + ' trDesactivarUsuario.Visible = True + ' trEnviarActivacion.Visible = False + ' LblUsuarioActivo.Text = "Si" - GvUsuariosPortalSis.Visible = False - ErrorUsuario = False - ObjUsuario.Commit() - End If + ' GvUsuariosPortalSis.Visible = False + ' ErrorUsuario = False + ' ObjUsuario.Commit() + ' End If - ObjUsuario.Dispose() - UPUsuarios.Update() + ' ObjUsuario.Dispose() + ' UPUsuarios.Update() - 'ENVIA CORREO DE ACTIVACION y CARGA USUARIOS - If CveUsr > 0 And Not ErrorUsuario Then - CargaUsuariosPortalProveedor() - UpGvUsuarios.Update() + ' 'ENVIA CORREO DE ACTIVACION y CARGA USUARIOS + ' If CveUsr > 0 And Not ErrorUsuario Then + ' CargaUsuariosPortalProveedor() + ' UpGvUsuarios.Update() - Dim MensajeCorreo As String = EnviaCorreoActivacionPortal(CveUsr) - Dim Mensaje As String = IIf(MensajeCorreo = "", $"No se pudo Notificar a : {TxtCorreoCobranza.Text.Trim}", MensajeCorreo).ToString() - Alert($"La Activación del Portal del Proveedor se ha realizado correctamente.

{Mensaje}", TipoMensaje.MsgInformacion) - End If - End Sub + ' Dim MensajeCorreo As String = EnviaCorreoActivacionPortal(CveUsr) + ' Dim Mensaje As String = IIf(MensajeCorreo = "", $"No se pudo Notificar a : {TxtCorreoCobranza.Text.Trim}", MensajeCorreo).ToString() + ' Alert($"La Activación del Portal del Proveedor se ha realizado correctamente.

{Mensaje}", TipoMensaje.MsgInformacion) + ' End If + 'End Sub - Protected Sub LbDesactivaUsuario_Click(sender As Object, e As EventArgs) Handles LbDesactivaPortal.Click - Dim ObjUsuario As New ClsSisUsuarios - Dim ErrorDesactivando As Boolean = False - If ObjUsuario.GetUsuariosPortal(-1, -1, CveProveedor) Then - ViewState("DTUsuariosProveedor") = ObjUsuario.DtResultados - Else - ErrorDesactivando = True - End If + 'Protected Sub LbDesactivaUsuario_Click(sender As Object, e As EventArgs) Handles LbDesactivaPortal.Click + ' Dim ObjUsuario As New ClsSisUsuarios + ' Dim ErrorDesactivando As Boolean = False + ' If ObjUsuario.GetUsuariosPortal(-1, -1, CveProveedor) Then + ' ViewState("DTUsuariosProveedor") = ObjUsuario.DtResultados + ' Else + ' ErrorDesactivando = True + ' End If - If Not ErrorDesactivando Then - For Each Dr As DataRow In DirectCast(ViewState("DTUsuariosProveedor"), DataTable).Rows - 'se desactiva el usuario y se restablece la contraseña - If ObjUsuario.UpdateUsuarioPortal(Dr("Usuario").ToString, Dr("Nombre").ToString, Dr("Correo").ToString, False, ContraseñaPredeterminadaEncriptada, Dr("CveCliente").ToString.ToEntero, Dr("CveProveedor").ToString.ToEntero, Dr("CveUsuario").ToString.ToEntero, UsuarioActual.CveUsuario) Then - ErrorDesactivando = False - Else - ErrorDesactivando = True - Alert("Ocurrió un Error al desactivar a los Usuarios.", TipoMensaje.MsgError) - End If - Next - Else - Alert("No se Encontraron Usuarios.", TipoMensaje.MsgInformacion) - End If - If Not ErrorDesactivando Then - LblUsuarioActivo.Text = "No" - 'HdnCveUsuarioPortalAdmin.Value = "" - HdnCveUsuarioPortalActivado.Value = "0" - trEnviarActivacion.Visible = True - trDesactivarUsuario.Visible = False - ViewState("DTUsuariosProveedor") = "" + ' If Not ErrorDesactivando Then + ' For Each Dr As DataRow In DirectCast(ViewState("DTUsuariosProveedor"), DataTable).Rows + ' 'se desactiva el usuario y se restablece la contraseña + ' If ObjUsuario.UpdateUsuarioPortal(Dr("Usuario").ToString, Dr("Nombre").ToString, Dr("Correo").ToString, False, ContraseñaPredeterminadaEncriptada, Dr("CveCliente").ToString.ToEntero, Dr("CveProveedor").ToString.ToEntero, Dr("CveUsuario").ToString.ToEntero, UsuarioActual.CveUsuario) Then + ' ErrorDesactivando = False + ' Else + ' ErrorDesactivando = True + ' Alert("Ocurrió un Error al desactivar a los Usuarios.", TipoMensaje.MsgError) + ' End If + ' Next + ' Else + ' Alert("No se Encontraron Usuarios.", TipoMensaje.MsgInformacion) + ' End If + ' If Not ErrorDesactivando Then + ' LblUsuarioActivo.Text = "No" + ' 'HdnCveUsuarioPortalAdmin.Value = "" + ' HdnCveUsuarioPortalActivado.Value = "0" + ' trEnviarActivacion.Visible = True + ' trDesactivarUsuario.Visible = False + ' ViewState("DTUsuariosProveedor") = "" - GvUsuariosPortalSis.Visible = False - Alert("Los Usuarios del Portal de Proveedores han sido Desactivados.", TipoMensaje.MsgInformacion) - End If + ' GvUsuariosPortalSis.Visible = False + ' Alert("Los Usuarios del Portal de Proveedores han sido Desactivados.", TipoMensaje.MsgInformacion) + ' End If - ObjUsuario.Dispose() - 'ACTUALIZA USUARIOS EN TABUSUARIOS - If Not ErrorDesactivando Then - CargaUsuariosPortalProveedor() - UpGvUsuarios.Update() - End If - End Sub + ' ObjUsuario.Dispose() + ' 'ACTUALIZA USUARIOS EN TABUSUARIOS + ' If Not ErrorDesactivando Then + ' CargaUsuariosPortalProveedor() + ' UpGvUsuarios.Update() + ' End If + 'End Sub Protected Function EnviaCorreoActivacionPortal(CveUsuario As Integer) As String Dim Mensaje As String = "" diff --git a/Compras/eFacturas.aspx.vb b/Compras/eFacturas.aspx.vb index 6540170f5..5464021b3 100644 --- a/Compras/eFacturas.aspx.vb +++ b/Compras/eFacturas.aspx.vb @@ -4866,7 +4866,36 @@ Partial Class Compras_eFacturas End Sub + Protected Sub GvTraslados_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvTraslados.RowCommand + Dim ImgBtn As LinkButton = DirectCast(e.CommandSource, LinkButton) + Dim GvRow As GridViewRow = DirectCast(ImgBtn.BindingContainer, GridViewRow) + Dim ObjDatos As New ClsCompras + Dim Correcto As Boolean = False + Select Case e.CommandName + Case "ValidarCFDi" + Dim ObjValidacion As New ClsValidaCFDi(GvRow.DataKey("UUID"), GvRow.DataKey("RFCDe"), GvRow.DataKey("RFCPara"), 0) + If ObjValidacion.EsValida > 0 Then + If ObjValidacion.EsValida = 2 Then + Alert("La factura está cancelada ante el SAT.", TipoMensaje.MsgInformacion) + End If + Correcto = ObjDatos.UpdateEstatus(ObjValidacion.EsValida, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa) + Else + Alert("La Factura no se pudo validar.", TipoMensaje.MsgAdvertencia) + End If + ObjValidacion.Dispose() + Case "ValidarCFD" + Correcto = ObjDatos.UpdateEstatus(1, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa) + + Case "Omitir" + Correcto = ObjDatos.UpdateEstatus(3, GvRow.DataKey("CveFactura").ToEntero, UsuarioActual.CveEmpresa) + End Select + + ObjDatos.Dispose() + If Correcto Then + CargaDatos() + End If + End Sub Protected Sub LnkAgregarTraslado_Click(sender As Object, e As EventArgs) diff --git a/General/SaldosIniciales.aspx.vb b/General/SaldosIniciales.aspx.vb index 864c9de7e..1dc719338 100644 --- a/General/SaldosIniciales.aspx.vb +++ b/General/SaldosIniciales.aspx.vb @@ -1710,8 +1710,8 @@ Partial Class General_SaldosIniciales 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) Then + CveSubProyectoCobranza:=Sucursal.ToEntero(), IEPS:=IEPS, ObservacionesAlmacen:=Transaccion, Entrega:=CodCliente, ImpuestoLocal:=ImpuestoLocal, + PedidoContrato:=PedidoContrato, CveMetodoPago33:=3) Then ErrorVentas = True Exit For End If diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index 141c03289..8b913b6c3 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -1953,15 +1953,27 @@ Partial Class Inventarios_EntradasSalidas OpcionPrePoliza = 11 End If - If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, OpcionPrePoliza) Then - If ObjConta.ValorPolizaDescuadre > 0 Then - ErrorMovInv = True - GuardaLogAD($"Inv/ES | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") - Alert("No se pudo validar la prepoliza de cuadre.", TipoMensaje.MsgAdvertencia) - End If - Else - Alert("No se pudo validar la prepoliza de cuadre.", TipoMensaje.MsgAdvertencia) + Dim AutoConta As Boolean = True + If (UsuarioActual.CveEmpresa = 119 And EsConsumoInterno) Then + AutoConta = False End If + If Not ErrorMovInv AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, Opcion:=OpcionPrePoliza, AutoConta:=AutoConta) Then + ErrorMovInv = True + 'If ObjConta.ValorPolizaDescuadre > 0 Then + ' GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + ' ErrorPrepolizaDescuadre = True + 'End If + End If + + 'If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, OpcionPrePoliza) Then + ' If ObjConta.ValorPolizaDescuadre > 0 Then + ' ErrorMovInv = True + ' GuardaLogAD($"Inv/ES | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + ' Alert("No se pudo validar la prepoliza de cuadre.", TipoMensaje.MsgAdvertencia) + ' End If + 'Else + ' Alert("No se pudo validar la prepoliza de cuadre.", TipoMensaje.MsgAdvertencia) + 'End If End If '------------------------------------------------ @@ -4503,9 +4515,6 @@ Partial Class Inventarios_EntradasSalidas End If Next - - - If Prorratear Then If Not ErrorMovInv AndAlso CveMovimientoSalida > 0 Then If ObjInventario.GetMovimientosDetalle(CveMovimientoSalida, UsuarioActual.CveEmpresa) Then @@ -4527,8 +4536,6 @@ Partial Class Inventarios_EntradasSalidas End If End If - - If Not ErrorMovInv Then For Each Dr As DataRow In DtMovimientosEntradaInvFisico.Rows ImporteConcepto = If(Prorratear, ProPU, Dr("PU").ToString.ToDecimal) @@ -4635,17 +4642,28 @@ Partial Class Inventarios_EntradasSalidas End If End If - - End If + End If If Not ErrorMovInv Then - If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then - ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) - If ObjConta.ValorPolizaDescuadre > 0 Then - ErrorMovInv = True - Mensaje = "Ocurrió un error al validar los movimientos contables" - End If + Dim AutoConta As Boolean = True + If (UsuarioActual.CveEmpresa = 119) Then + AutoConta = False End If + If Not ErrorMovInv AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, AutoConta:=AutoConta) Then + ErrorMovInv = True + 'If ObjConta.ValorPolizaDescuadre > 0 Then + ' GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + ' ErrorPrepolizaDescuadre = True + 'End If + End If + + 'If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, -1) Then + ' ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) + ' If ObjConta.ValorPolizaDescuadre > 0 Then + ' ErrorMovInv = True + ' Mensaje = "Ocurrió un error al validar los movimientos contables" + ' End If + 'End If End If Dim RetornoVirtual As MMovimientoVirtual = Nothing @@ -4695,8 +4713,6 @@ Partial Class Inventarios_EntradasSalidas End Sub Private Sub BtnGuardarCambiosVigencia_Click(sender As Object, e As EventArgs) Handles BtnGuardarCambiosVigencia.Click - - If GvSalidasCambioVigencia.Rows.Count = 0 Then Alert("No hay ningun registro para generar el movimiento. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgError) RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") diff --git a/Inventarios/PrestamosdeProveedor.aspx.vb b/Inventarios/PrestamosdeProveedor.aspx.vb index 3913420b9..8f4b45ce7 100644 --- a/Inventarios/PrestamosdeProveedor.aspx.vb +++ b/Inventarios/PrestamosdeProveedor.aspx.vb @@ -237,6 +237,18 @@ Partial Class Inventarios_PrestamosdeProveedor If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoAlmacen, -tValorInventario, TxtObservacionesEntrega.Text.Trim, CveConceptoContable, TxtObservacionesEntrega.Text.Trim, Fecha, IdCtaContableOtro, -1, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=CveClasifCosto, ImporteMX:=-tValorInventario, CveSubProyecto:=CveSubProyecto) Then ErrorMovInv = True End If + End If + + Dim AutoConta As Boolean = True + If (UsuarioActual.CveEmpresa = 119) Then + AutoConta = False + End If + If Not ErrorMovInv AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, AutoConta:=AutoConta) Then + ErrorMovInv = True + 'If ObjConta.ValorPolizaDescuadre > 0 Then + ' GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + ' ErrorPrepolizaDescuadre = True + 'End If End If Else ErrorMovInv = True diff --git a/Inventarios/TraspasoAlmacen.aspx.vb b/Inventarios/TraspasoAlmacen.aspx.vb index 6e24b8f56..cc9d42df5 100644 --- a/Inventarios/TraspasoAlmacen.aspx.vb +++ b/Inventarios/TraspasoAlmacen.aspx.vb @@ -1652,7 +1652,7 @@ Partial Class Inventarios_TraspasoAlmacen 'DEBE CONSIDERAR SOLO LAS FILAS QUE TENGA PRODUCTOS, NO EL TOTALIZADOR If CvePS > 0 Then CveMovimientoDetalleSalida = GvRow.DataKey("CveMovimientoDetalle").ToEntero - Dim Cantidad As Decimal = GvRow.FCTextBox("TxtCantidad").Text.ToString.ToDecimal + Dim Cantidad As Decimal = GvRow.DataKey("Cantidad").ToDecimal() 'GvRow.FCTextBox("TxtCantidad").Text.ToString.ToDecimal 'If ChkRealizarDevolucion.Checked Then Cantidad = GvRow.FCTextBox("TxtCantidad").Text.ToDecimal diff --git a/PortalProveedor/PortalProveedor.aspx b/PortalProveedor/PortalProveedor.aspx index 39c129a0a..2694d6a7e 100644 --- a/PortalProveedor/PortalProveedor.aspx +++ b/PortalProveedor/PortalProveedor.aspx @@ -1,561 +1,538 @@ -<%@ Page Title="" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="PortalProveedor.aspx.vb" Inherits="Portal_PortalProveedor" %> - - - - - - - - - - -   - - - - - - - - - - - - - - - - - - - -
- -
-
- Cuentas Depósito - - - -
- " style="display: inline-block; margin-right: -20px; width: 150px;" /> - " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> -
- - - - - - - - - - - - - - - - - - - - - - -
-
-
-
- Pagos Realizados - - - -
- " style="display: inline-block; margin-right: -20px; width: 150px;" /> - " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> -
- - - - - - - - - - - - - - - - - - -
-
- - -
-
- - - -
- -
-
- -
- -
-
- - - - - - - - - - -
-
-
- Notas de Crédito por aplicar / Anticipos por Comprobar - - - -
- " style="display: inline-block; margin-right: -20px; width: 150px;" /> - " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> -
- - - - -
- - - - - - - - - - - - - - - -
-
-
-
-
-
- Historial - - - -
- " style="display: inline-block; margin-right: -20px; width: 150px;" /> - " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> -
- - - - - - - -
- - - - - - - - - - - - - - - - - - - - -
- -
- -
-
-
-
- -
-
- - - - - - - - - - -
-
- Resumen - - - - - - - - - - - - - - - - - - - - - -
Cantidad de Ventas:  -
Total Ventado:  -
Venta Mínima:  -
Promedio de Ventas:  -
Venta Máxima:  -
-
-
-
- Historial de Ventas - - - - - - - - - - -
- - -
- " style="display: inline-block; margin-right: -20px; width: 150px;" /> - " style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"> -
- - - - - - - - - - - - - <%----%> - - -
- -
-
- - - -
- -
-
-
- -
-
- - - - - - + +
- - - <%-- + + <%----%> + + +
+ +
+ + + + +
+ + +
+ +
+
+ + + + + + + +
+ +
+
+ Cuentas Depósito + " style="float: right; margin-left: -15px; position: relative;" class="btn btn-circle btn-sm label-info"> + " style="float: right; display: inline-block; margin-right: 0px; width: 150px;" /> + + + + + + + + + + + + + + + + + + + + + + + +
+
+
+
+ Pagos Realizados + " style="float: right; margin-left: -15px; position: relative;" class="btn btn-circle btn-sm label-info"> + " style="float: right; display: inline-block; margin-right: 0px; width: 150px;" /> + + + + + + + + + + + + + + + + + + + + + + +
+
+ + +
+
+ + + +
+ +
+
+ +
+ +
+
+ + + + + + + + + + +
+
+
+ Notas de Crédito por aplicar / Anticipos por Comprobar + " style="float: right; margin-left: -15px; position: relative;" class="btn btn-circle btn-sm label-info"> + " style="float: right; display: inline-block; margin-right: 0px; width: 150px;" /> + + + + + + + + +
+ + + + + + + + + + + + + + + +
+
+
+
+
+
+ Historial + " style="float: right; margin-left: -15px; position: relative;" class="btn btn-circle btn-sm label-info"> + " style="float: right; display: inline-block; margin-right: 0px; width: 150px;" /> + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + + +
+ +
+ +
+
+
+
+ +
+
+ + + + + + + + + + +
+
+ Resumen + + + + + + + + + + + + + + + + + + + + + +
Cantidad de Ventas:  +
Total:  +
Venta Mínima:  +
Promedio de Ventas:  +
Venta Máxima:  +
+
+
+
+ Historial de Ventas + " style="float: right; margin-left: -15px; position: relative;" class="btn btn-circle btn-sm label-info"> + " style="float: right; display: inline-block; margin-right: 0px; width: 150px;" /> + + + + + + + + + + + +
+ + + + + + + + + + + + + <%----%> + + +
+ +
+
+ + + +
+ +
+
+
+ +
+
+ + + + + + - -
+ + + <%--
@@ -758,156 +735,156 @@ --%> -
-
-
- - <%---2020/02/06 - Auditoria--%> - - - - - -
+ + + + + - - -
- - - + <%---2020/02/06 - Auditoria--%> + + - - - - - + + +
+ + + +
+ + + + + + + + + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - - + + + + - + - - - <%----%> - - - + + + <%----%> + + + - - - - - + + + + + - - - - - - + + + + + + - - + + - - + + - - - - - - - - + + + + + + + + - - - - - + + + + + - - - - - + + + + + - <%-- + <%-- --%> - <%-- + <%-- --%> - - -
+ + +
-
-
-
- - +
+
+
-
-
-
-
- -
- - - + + + +
+ + + + + - - + + + diff --git a/PortalProveedor/PortalProveedor.aspx.vb b/PortalProveedor/PortalProveedor.aspx.vb index dc4fec606..cca4f8fb4 100644 --- a/PortalProveedor/PortalProveedor.aspx.vb +++ b/PortalProveedor/PortalProveedor.aspx.vb @@ -1783,7 +1783,6 @@ Partial Class Portal_PortalProveedor 'DdlProveedorSucursalPHistorial.DataSource = ObjProveedores.DtResultados Else DivSucursalCxC.Visible = False - DivSearch.Attributes("style") = "width:100%" 'DivProveedorSucursalHistorial.Visible = False End If End If diff --git a/SAT/SolicitudesNominaSat.aspx b/SAT/SolicitudesNominaSat.aspx index 928f5dce3..ca8adaec8 100644 --- a/SAT/SolicitudesNominaSat.aspx +++ b/SAT/SolicitudesNominaSat.aspx @@ -307,6 +307,16 @@ diff --git a/SAT/SolicitudesNominaSat.aspx.cs b/SAT/SolicitudesNominaSat.aspx.cs index 1056435d8..cff8d344a 100644 --- a/SAT/SolicitudesNominaSat.aspx.cs +++ b/SAT/SolicitudesNominaSat.aspx.cs @@ -26,21 +26,21 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas } set { ViewState["clasegrid"] = value; } } - public string fechaInicio + public DateTime fechaInicio { get { - if (ViewState["fechaInicio"] == null) { return ""; } - else { return ViewState["fechaInicio"].ToString(); } + if (ViewState["fechaInicio"] == null) { return ModExtensiones.MinFecha; } + else { return ViewState["fechaInicio"].ToString().ToDate(); } } set { ViewState["fechaInicio"] = value; } } - public string fechaFin + public DateTime fechaFin { get { - if (ViewState["fechaFin"] == null) { return ""; } - else { return ViewState["fechaFin"].ToString(); } + if (ViewState["fechaFin"] == null) { return ModExtensiones.MaxFecha; } + else { return ViewState["fechaFin"].ToString().ToDate(); } } set { ViewState["fechaFin"] = value; } } @@ -60,7 +60,7 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas using (ClsNominas nom = new ClsNominas()) { - nom.SATSolicitudTimbreNominaGral(DdlReporte.SelectedValue.ToString().ToEntero(), UsuarioActual.CveEmpresa, fechaInicio, fechaFin, DdlTipoNomina.SelectedValue.ToEntero()); + nom.SATSolicitudTimbreNominaGral(DdlReporte.SelectedValue.ToString().ToEntero(), UsuarioActual.CveEmpresa, fechaInicio, fechaFin, DdlTipoNomina.SelectedValue.ToEntero(), DdlRegimenContratacion.SelectedValue.ToEntero()); ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook(); var libro = wb.AddWorksheet(nom.DtResultados , "Nomina"); @@ -137,10 +137,10 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas { using (ClsNominas nom = new ClsNominas()) { - fechaInicio = TxtRpdFechaInicio.Text.ToDateTime().ToString("yyyy/MM/dd"); - fechaFin = TxtRpdFechaFin.Text.ToDateTime().ToString("yyyy/MM/dd"); + fechaInicio = TxtRpdFechaInicio.Text.ToDateTime(); + fechaFin = TxtRpdFechaFin.Text.ToDateTime(); - nom.SATSolicitudTimbreNominaGral(0, UsuarioActual.CveEmpresa, fechaInicio, fechaFin, DdlTipoNomina.SelectedValue.ToEntero()); + nom.SATSolicitudTimbreNominaGral(0, UsuarioActual.CveEmpresa, fechaInicio, fechaFin, DdlTipoNomina.SelectedValue.ToEntero(),DdlRegimenContratacion.SelectedValue.ToEntero()); if (nom.DtResultados.Rows.Count > 0) { DataRow drow = nom.DtResultados.Rows[0]; @@ -156,7 +156,7 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas } - nom.SATSolicitudTimbreNominaGral(DdlReporte.SelectedValue.ToString().ToEntero(), UsuarioActual.CveEmpresa, fechaInicio, fechaFin, DdlTipoNomina.SelectedValue.ToEntero()); + nom.SATSolicitudTimbreNominaGral(DdlReporte.SelectedValue.ToString().ToEntero(), UsuarioActual.CveEmpresa, fechaInicio, fechaFin, DdlTipoNomina.SelectedValue.ToEntero(), DdlRegimenContratacion.SelectedValue.ToEntero()); GVSolicitudTimbreNominaGral.DataSource = nom.DtResultados; GVSolicitudTimbreNominaGral.DataBind(); clasegrid = string.Format("reporte{0}", DdlReporte.SelectedValue); diff --git a/Sistemas/PopUpAddUsuario.aspx.vb b/Sistemas/PopUpAddUsuario.aspx.vb index 64fc0dce6..45b1b8c0c 100644 --- a/Sistemas/PopUpAddUsuario.aspx.vb +++ b/Sistemas/PopUpAddUsuario.aspx.vb @@ -350,6 +350,15 @@ Partial Class Sistemas_PopUpAddUsuario Next End If + If CvePlataforma = 7 Then + 'DEBE AGREGAR EL USUARIO AL PROVEEDOR + If ObjUsuarios.DtResultados.Rows.Count = 0 Then + If Not HuboError AndAlso Not ObjUsuarios.AddUsuarioProveedor(CveUsuario, CveProveedor) Then + HuboError = True + End If + End If + End If + ElseIf CveUsuario > 0 Then 'VALIDA NO ALTERAR DATOS DE OTRO USUARIO 'Dim DtUsuarios As DataTable = GlobalDTUsuarios.FiltraParametros($"CveUsuario <> {CveUsuario}") @@ -403,7 +412,20 @@ Partial Class Sistemas_PopUpAddUsuario If Not ObjUsuarios.UpdateUsuarioPortal(LtlUsuario.Text.Trim, TxtNombre.Text, TxtEmail.Text, ChkEstatus.Checked, "-1", CveCliente, CveProveedor, CveUsuario, UsuarioActual.CveUsuario) Then HuboError = True End If - End If + End If + + If CvePlataforma = 7 Then + If Not HuboError AndAlso ObjUsuarios.GetUsuarioProveedor(CveUsuario, CveProveedor) Then + 'DEBE AGREGAR EL USUARIO AL PROVEEDOR + If ObjUsuarios.DtResultados.Rows.Count = 0 Then + If Not HuboError AndAlso Not ObjUsuarios.AddUsuarioProveedor(CveUsuario, CveProveedor) Then + HuboError = True + End If + End If + Else + HuboError = True + End If + End If If Not HuboError Then For Each Row As GridViewRow In GvModulosAcceso.Rows diff --git a/Sistemas/PopUpSeleccionarEmpresa.aspx.vb b/Sistemas/PopUpSeleccionarEmpresa.aspx.vb index 4e7e19c10..b729a4477 100644 --- a/Sistemas/PopUpSeleccionarEmpresa.aspx.vb +++ b/Sistemas/PopUpSeleccionarEmpresa.aspx.vb @@ -16,10 +16,8 @@ Partial Class PopUpSeleccionarEmpresa End If End Sub - Private Sub GetEmpresas() - - - GlobalDTUsuarios(-1, -1) = Nothing 'Esto es por los cambios de contaseña + Private Sub GetEmpresas() + GlobalDTUsuarios(-1, -1) = Nothing Dim Dt As Data.DataTable = GlobalDTUsuarios(UsuarioActual.CveUsuario) If Dt IsNot Nothing Then @@ -90,10 +88,10 @@ Partial Class PopUpSeleccionarEmpresa RegistraScript("Ir3();") End If End If - dt.Dispose() - Else - Alert($"Usuario Nulo {gvr.DataKey("Usuario")} , {gvr.DataKey("Contraseña")}, {IMEI}, {gvr.DataKey("CveEmpresa").ToEntero}", TipoMensaje.MsgAdvertencia) - End If + dt.Dispose() + + + End If End If End If diff --git a/Sistemas/UsuarioDetalle.aspx.vb b/Sistemas/UsuarioDetalle.aspx.vb index 663ea64a8..ce4094a74 100644 --- a/Sistemas/UsuarioDetalle.aspx.vb +++ b/Sistemas/UsuarioDetalle.aspx.vb @@ -3769,7 +3769,7 @@ Partial Class Sistemas_UsuarioDetalle #Region " CLONAR USUARIO " Private Sub InicializaClonarUsuario() - DdlUsuarioClonar.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa) + DdlUsuarioClonar.DataSource = GlobalDTUsuarios(-1, UsuarioActual.CveEmpresa).FiltraParametros("", DistinctColumns:={"CveUsuario", "Usuario"}) DdlUsuarioClonar.DataBind() DdlUsuarioClonar.Items.Insert(0, New ListItem("Seleccione", "-1")) diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index d72745756..fa1f6c881 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -1699,7 +1699,7 @@
-
+
@@ -1898,15 +1898,15 @@ Estado de Cuenta
+
-
-
+
@@ -1919,7 +1919,7 @@
-
+
@@ -1934,7 +1934,7 @@
-
+
@@ -1947,7 +1947,7 @@
-
+
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index 2c00d8389..0b80dafe3 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -2638,31 +2638,31 @@ Partial Class Clientes Dim CtaCliente As Integer = DdlCtaContableClientes.SelectedValue.ToEntero() ' si tiene la funcionalidad de la cuenta contable padre - If UsuarioActual.Empresa.Funcionalidad(114) <> "" Then + 'If UsuarioActual.Empresa.Funcionalidad(114) <> "" Then - Dim ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa) + ' Dim ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa) - ObjContaAC.IniciaTransacSQL() - 'se registra la cuenta contable automaticamente + ' ObjContaAC.IniciaTransacSQL() + ' 'se registra la cuenta contable automaticamente - CtaCliente = ObjContaAC.AddSiguienteCuentaHijo(UsuarioActual.Empresa.Funcionalidad(114).ToEntero(), TxtNombreComercial.Text.Trim, "A", 2) + ' CtaCliente = ObjContaAC.AddSiguienteCuentaHijo(UsuarioActual.Empresa.Funcionalidad(114).ToEntero(), TxtNombreComercial.Text.Trim, "A", 2) - If CtaCliente > 0 Then - ObjContaAC.Commit() - DdlCtaContableClientes.Items.Add(New ListItem(TxtNombreComercial.Text.Trim, CtaCliente.ToString())) - DdlCtaContableClientes.SelectedValue = CtaCliente.ToString() - 'MsgCuentaContable = String.Format("
Con la cuenta contable: {0}", NewCuenta) + ' If CtaCliente > 0 Then + ' ObjContaAC.Commit() + ' DdlCtaContableClientes.Items.Add(New ListItem(TxtNombreComercial.Text.Trim, CtaCliente.ToString())) + ' DdlCtaContableClientes.SelectedValue = CtaCliente.ToString() + ' 'MsgCuentaContable = String.Format("
Con la cuenta contable: {0}", NewCuenta) - Else + ' Else - ObjContaAC.RollBack() - ObjContaAC.Dispose() - Alert("Error al guardar la cuenta contable ", TipoMensaje.MsgError) - ObjClientes.Dispose() - Exit Sub - End If - ObjContaAC.Dispose() - End If + ' ObjContaAC.RollBack() + ' ObjContaAC.Dispose() + ' Alert("Error al guardar la cuenta contable ", TipoMensaje.MsgError) + ' ObjClientes.Dispose() + ' Exit Sub + ' End If + ' ObjContaAC.Dispose() + 'End If Dim CodigoCuentaAltaCompaq As String = "" @@ -4123,11 +4123,11 @@ Partial Class Clientes Dim FechaCorte As Date = ("9999/01/01").ToDate() Dim TipoDocto As String = If(DdlTipoDocto.GetSelectedValuesM = "", "-1", DdlTipoDocto.GetSelectedValuesM) Dim TipoDocto2 As String = If(DdlTipoDocto.GetSelectedValuesM = "", "-1", DdlTipoDocto.GetSelectedValuesM(True)) - Dim FechaVencimientoI As String = If(TxtFechaVICxP.Text = "", "-1", TxtFechaVICxP.Text).ToString() - Dim FechaVencimientoF As String = If(TxtFechaVFCxP.Text = "", "-1", TxtFechaVFCxP.Text).ToString() + Dim FechaVencimientoI As DateTime = If(TxtFechaVICxP.Text = "", MinFecha, TxtFechaVICxP.Text.ToDate()) + Dim FechaVencimientoF As DateTime = If(TxtFechaVFCxP.Text = "", MaxFecha, TxtFechaVFCxP.Text.ToDate()) Dim ObjMovtos As New ClsMovimientos() - If ObjMovtos.GetCxCClienteDetalle(CveCliente, "-1", "-1", -1, -1, UsuarioActual.CveEmpresa, DdlSucursalCliente.SelectedValue.ToEntero()) Then + If ObjMovtos.GetCxCClienteDetalle(CveCliente, FI, FF, -1, -1, UsuarioActual.CveEmpresa, DdlSucursalCliente.SelectedValue.ToEntero(), FechaVencimientoI:=FechaVencimientoI, FechaVencimientoF:=FechaVencimientoF) Then DtCxCFact = If(DdlTipoCuentasCxC.SelectedValue = "-1", ObjMovtos.DtResultados.FiltraParametros("", "TipoDocto").Copy, ObjMovtos.DtResultados.FiltraParametros("Tipo = 'Act'", "TipoDocto")) 'cargo los anticipos NC DtCxCFact.Columns.Add("SaldoAnticipo", GetType(Decimal)) diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 8beaa4a38..fc6e5ad78 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -2009,8 +2009,8 @@ Partial Class PV End If If TmpDTRecepcionUsados IsNot Nothing Then - If TmpDTRecepcionUsados.Select($"CvePS={Row("CvePS").ToString.ToEntero}").Length > 0 Then - Dim rowInv As DataRow = TmpDTRecepcionUsados.Select($"CvePS={Row("CvePS").ToString.ToEntero}")(0) + If TmpDTRecepcionUsados.Select($"ConsecUsado={Row("Consec").ToString.ToEntero} AND CvePS={Row("CvePS").ToString.ToEntero}").Length > 0 Then + Dim rowInv As DataRow = TmpDTRecepcionUsados.Select($"ConsecUsado={Row("Consec").ToString.ToEntero} AND CvePS={Row("CvePS").ToString.ToEntero}")(0) rowInv("CveVentaDetalle") = CveVentaDetalle End If End If @@ -7858,11 +7858,15 @@ Partial Class PV If TmpDTRecepcionUsados.Rows.Count > 0 Then Dim Elimino As Boolean = False For Each Row As DataRow In TmpDTRecepcionUsados.Rows - If Row("CvePSRelacionado").ToString().ToEntero() = CvePS Then + If Row("CvePSRelacionado").ToString().ToEntero() = CvePS AndAlso + Row("ConsecUsado").ToString().ToEntero() = ListaPSCargo.FirstOrDefault().ConsecutivoUsado AndAlso + Row("ConsecRelacionado").ToString().ToEntero() = ListaPSCargo.FirstOrDefault().Consecutivo Then + Row.Delete() Elimino = True End If Next + If Elimino Then TmpDTRecepcionUsados.AcceptChanges() End If @@ -8179,7 +8183,7 @@ Partial Class PV 'ELIMINAR LOS USADOS QUE SE MANDAN A RECEPCION For Each drow As DataRow In TmpDT.Select($"Consec ={Consec}") For Each RowRecepcionUsados As DataRow In TmpDTRecepcionUsados.Rows - If (RowRecepcionUsados("CvePSRelacionado").ToString() = drow("CvePS").ToString()) Then + If (RowRecepcionUsados("CvePSRelacionado").ToString() = drow("CvePS").ToString()) AndAlso RowRecepcionUsados("ConsecRelacionado").ToString() = drow("Consec").ToString() Then RowRecepcionUsados.Delete() End If Next diff --git a/Ventas/RepNCxAplicar.aspx.cs b/Ventas/RepNCxAplicar.aspx.cs index 81c7c8dcd..a31e3accf 100644 --- a/Ventas/RepNCxAplicar.aspx.cs +++ b/Ventas/RepNCxAplicar.aspx.cs @@ -209,7 +209,7 @@ public partial class Ventas_RepNCxAplicar : ClsPaginas } string TextAdicionalJAM = Gv.DataKey("Fecha").ToDate().Year <= 2017 && UsuarioActual.CveEmpresa == 119 ? "Anticipo 2017" : ""; string ConceptoPartida = string.Format("{0} {1} ", TxtConcepto.Text, Gv.DataKey("Folio").ToString()); - CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepNCXAplicar", 11, Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("CveMoneda").ToEntero(), TxtFecha.Text.ToDate(), $"{TextAdicionalJAM} {TxtConcepto.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa); + CvePrePoliza = ObjConta.AddPrePolizas("Bancos/RepNCXAplicar", 11, Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("Saldo").ToDouble(), Gv.DataKey("CveMoneda").ToEntero(), TxtFecha.Text.ToDate(), $"{TextAdicionalJAM} {TxtConcepto.Text}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza: 3); if (!ObjConta.AddPrePolizasDetalle(CvePrePoliza, true, -Gv.DataKey("Saldo").ToDecimal(), Gv.DataKey("Folio").ToString(), 12, TxtConcepto.Text, TxtFecha.Text.ToDate(), IdCtaContable, -1, -1, Gv.DataKey("CveVenta").ToEntero(), CveCliente: Gv.DataKey("CveCliente").ToEntero(), ImporteMX: -Gv.DataKey("Saldo").ToDecimal())) { diff --git a/Ventas/RepProductosServiciosDetalle.aspx b/Ventas/RepProductosServiciosDetalle.aspx index ee33c53cb..e7aac2a0a 100644 --- a/Ventas/RepProductosServiciosDetalle.aspx +++ b/Ventas/RepProductosServiciosDetalle.aspx @@ -427,7 +427,8 @@ <%--18--%> - + <%--19--%> + @@ -475,7 +476,7 @@ - + diff --git a/Ventas/RepProductosServiciosDetalle.aspx.vb b/Ventas/RepProductosServiciosDetalle.aspx.vb index 19dc8e898..cab107edb 100644 --- a/Ventas/RepProductosServiciosDetalle.aspx.vb +++ b/Ventas/RepProductosServiciosDetalle.aspx.vb @@ -85,6 +85,10 @@ Partial Class Ventas_RepProductosServiciosDetalle End If + If UsuarioActual.CveEmpresa.Contiene(7, 122) Then + ChkNumTurnos.Visible = True + End If + End If End Sub @@ -568,6 +572,7 @@ Partial Class Ventas_RepProductosServiciosDetalle GvDatos.Columns(16).Visible = ChkMetodoPago.Checked GvDatos.Columns(17).Visible = ChkFormaPago.Checked GvDatos.Columns(18).Visible = ChkFechaHoraEmision.Checked + GvDatos.Columns(19).Visible = ChkNumTurnos.Checked CargaDatos() UPDatos.Update() diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 0d08fa083..38d20fbab 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -948,7 +948,8 @@ <%--width="100%"--%> # - Cant + + Unidad
@@ -992,13 +993,24 @@   - - - - - - - + +
+
+ + + + + + +
+
+
+ +
+ + +
+
<%-- --%> @@ -1124,17 +1136,38 @@ <%--1--%> - + +
+
+ +
+
+
+
+ +
+
- - - - - - - - +
+
+ + + + + + + + +
+
+
+ +
+ + +
+
<%--2--%> @@ -4337,7 +4370,7 @@
+ DataKeyNames="ISTotal,Saldo,CveIE,Folio,Tipo,CveVenta,CveConceptoContable,CveConceptoContableAmor, TotalAnticipo, SubTotalAnticipo, IVAAnticipo,IEPS, ImpuestosLocalesAnticipo, SubTotalAmortizacion, SubTotal, Original, IVA, RetIVA, RetISR, IdCtaContableNC,FolioFiscal, CveClasificacionNC, TipoCambio,TipoCambioPago,TipoCambioHoy, CveMoneda,Fecha,SaldoSubTotal,SaldoConImpuestos,RegresarImpuesto,DevolucionImportePagado,CveCliente,Descuentos"> diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index cb546ea45..61dbf6af5 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -2209,6 +2209,16 @@ Partial Class Ventas ViewState("EsGarantia") = value End Set End Property + + Private Property TipoCambioOriginal As Decimal + Get + Return (IfNull(ViewState("TipoCambioOriginal"), 0, ViewState("TipoCambioOriginal"))).ToString().ToDecimal() + End Get + Set(value As Decimal) + ViewState("TipoCambioOriginal") = value + End Set + End Property + Private Property DtMercancias As DataTable Get Return If(IsNothing(ViewState("DtMercancias")), Nothing, CType(ViewState("DtMercancias"), DataTable)) @@ -2748,6 +2758,8 @@ Partial Class Ventas TmpDT.Columns.Add("CveActivoFijo", GetType(Integer)) TmpDT.Columns.Add("AFDepreciacion", GetType(Decimal)) TmpDT.Columns.Add("AFValorInicial", GetType(Decimal)) + TmpDT.Columns.Add("NumTurnos", GetType(Decimal)) + TmpDT.Columns("NumTurnos").DefaultValue = 0D GvPS.DataSource = ObjVentas.DtResultados GvPS.DataBind() @@ -2778,6 +2790,8 @@ Partial Class Ventas TmpDT.Columns.Add("CveActivoFijo", GetType(Integer)) TmpDT.Columns.Add("AFDepreciacion", GetType(Decimal)) TmpDT.Columns.Add("AFValorInicial", GetType(Decimal)) + TmpDT.Columns.Add("NumTurnos", GetType(Decimal)) + TmpDT.Columns("NumTurnos").DefaultValue = 0D GvPS.DataSource = ObjVentas.DtResultados GvPS.DataBind() @@ -3151,6 +3165,11 @@ Partial Class Ventas CargaListasPrecios() End If + If CveVenta <= 0 AndAlso UsuarioActual.CveEmpresa.Contiene(7, 122) Then + TxtCantidad.Width = New Unit("100%") + DivNumTurnos.Visible = True + End If + 'SELECCIONA VENDEDOR DEL USUARIO CUANDO SEA VENTA NUEVA Y SIN CLIENTE 'If UsuarioActual.CveVendedor > 0 Then ' If CveVenta = -1 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString()) @@ -4771,6 +4790,7 @@ Partial Class Ventas HdnCveVenta.Value = CveVenta.ToString() Me.EsGarantia = CBool(DbRowVenta("EsGarantia")) + Me.TipoCambioOriginal = DbRowVenta("TipoCambioOriginal").ToString().ToDecimal() RFCReceptorVenta = DbRowVenta("RFCReceptor").ToString() 'Adjuntar archivo @@ -6934,7 +6954,8 @@ Partial Class Ventas If UsuarioActual.Empresa.Funcionalidad(381).Trim() = CveCliente.ToString() Then Dim DeshabilitarAutorizacion As Boolean = CBool(GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("DeshabilitaAutorizacion")) - If DdlTipoComprobante.SelectedValue = "PA" AndAlso DeshabilitarAutorizacion Then + 'SI ESTA BLOQUEADO POR AUTORZACION O QUE TENGA LA OPCION DE AUTORIZACIONES Y NO SEA DEL MODULO DE COTIZACIONES + If (DdlTipoComprobante.SelectedValue.Contiene("PA") OrElse (DdlTipoComprobante.SelectedValue.Contiene("Cot") AndAlso DdlTipoComprobante.Items.FindByValue("PA") IsNot Nothing AndAlso Not IfNull(Request("Op"), "").ToString() = "Cot")) AndAlso DeshabilitarAutorizacion Then If DdlTipoComprobante.Items.FindByValue("Rem") Is Nothing Then DdlTipoComprobante.Items.Insert(0, New ListItem("Remisión", "Rem")) End If @@ -7515,6 +7536,8 @@ Partial Class Ventas DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Pd2")) End If End If + HabilitaRemisionPublicoGeneral = 0 + HabilitarRemisionesPublicoGeneral() End If 'CUANDO SEA COTIZACION Y SEA COMPUPROVEEDORES (EMPRESA 72) NO DEBE ENVIAR CORREO AL CLIENTE @@ -8067,6 +8090,12 @@ Partial Class Ventas e.Row.FCLinkButton("imgD").Visible = False End If + If UsuarioActual.CveEmpresa.Contiene(7, 122) Then + e.Row.FCTextBox("TxtCantidad").Width = New Unit("100%") + e.Row.FCLabel("LblTurnoEditar").Visible = True + e.Row.FCTextBox("TxtNumTurnosEditar").Visible = True + End If + 'If UsuarioActual.CveEmpresa = 119 Then ' e.Row.FCTextBox("TxtDescuento").Enabled = False 'End If @@ -8150,6 +8179,10 @@ Partial Class Ventas e.Row.FCLiteral("LtlPrecioLista").Visible = True End If + If UsuarioActual.CveEmpresa.Contiene(7, 122) AndAlso e.Row.DBCampo("NumTurnos").ToDecimal() > 0 Then + e.Row.FCLiteral("LtlNumTurnos").Visible = True + End If + 'CANTIDAD FACTURADA Select Case e.Row.DBCampo("TipoDocto") Case "Cot" @@ -8456,6 +8489,11 @@ Partial Class Ventas ObjDescuento = CalcularDescuentos(GvPS.Rows(e.RowIndex).FCDropDownLost("DdlPS").SelectedValue.ToEntero(), Cantidad, PU) End If + Dim NumTurnos As Decimal = 0 + If UsuarioActual.CveEmpresa.Contiene(7, 122) Then + NumTurnos = GvPS.Rows(e.RowIndex).FCTextBox("TxtNumTurnosEditar").Text.ToDecimal() + End If + TmpDT.Rows.Remove(TmpDT.Rows(e.RowIndex)) CalculaUsados() AgregarProductoServicio(Cantidad, DdlUM.SelectedValue.ToEntero(), DdlUM.SelectedItem.Text, DdlCla.SelectedValue.ToEntero(), DdlCla.SelectedItem.Text, @@ -8463,7 +8501,8 @@ Partial Class Ventas GvPS.Rows(e.RowIndex).FCTextBox("TxtObsPS").Text.Trim, PU, ObjDescuento.ImporteDescuento, GvPS.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedValue.ToEntero(), GvPS.Rows(e.RowIndex).FCDropDownList("DdlProyecto").SelectedItem.Text, GvPS.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero(), GvPS.Rows(e.RowIndex).FCDropDownList("DdlSubProyecto").SelectedItem.Text, - CuentaPredial:=CuentaPredial, CveVentaDetalle:=GvPS.Rows(e.RowIndex).DataKey("CveVentaDetalle").ToString().ToEntero(), SeActualiza:=True, CvePromocionDetalle:=ObjDescuento.CvePromocionDetalle, ObjDescuento:=ObjDescuento) + CuentaPredial:=CuentaPredial, CveVentaDetalle:=GvPS.Rows(e.RowIndex).DataKey("CveVentaDetalle").ToString().ToEntero(), SeActualiza:=True, CvePromocionDetalle:=ObjDescuento.CvePromocionDetalle, + ObjDescuento:=ObjDescuento, NumTurnos:=NumTurnos) ' TmpDT.Rows(e.RowIndex)("CveUM") = Ddl.SelectedValue ' TmpDT.Rows(e.RowIndex)("UM") = Ddl.SelectedItem.Text @@ -8532,8 +8571,11 @@ Partial Class Ventas TmpDT.Rows(e.RowIndex)("PorcentajeRetISR") = ClienteRetISR TmpDT.Rows(e.RowIndex)("CuentaPredial") = CuentaPredial - - + Dim NumTurnos As Decimal = 0 + If UsuarioActual.CveEmpresa.Contiene(7, 122) Then + NumTurnos = GvPS.Rows(e.RowIndex).FCTextBox("TxtNumTurnosEditar").Text.ToDecimal() + End If + TmpDT.Rows(e.RowIndex)("NumTurnos") = NumTurnos If ObjDescuento IsNot Nothing Then TmpDT.Rows(e.RowIndex)("CvePromocionDetalle") = ObjDescuento.CvePromocionDetalle @@ -11338,7 +11380,7 @@ Partial Class Ventas End If 'SI LA APLICACION DE ANTICIPO SE HACE A NIVEL TOTAL, FORZAR EL AJUSTE POR REDONDEO - DtImpuestos = CargaDtImpuestosNC(gvrt.DataKey("CveVenta").ToString().ToEntero(), gvrt.FCTextBox(String.Format("TxtAnticipo{0}", gvrt.RowIndex)).Text.ToDecimal, AplicaImpuestosLocales:=True, NCDescuento:=False, NivelTotal:=tTipoAmortizacion, ForzarAjuste:=ForzarAjuste) + DtImpuestos = CargaDtImpuestosNC(gvrt.DataKey("CveVenta").ToString().ToEntero(), gvrt.FCTextBox(String.Format("TxtAnticipo{0}", gvrt.RowIndex)).Text.ToDecimal, AplicaImpuestosLocales:=True, NCDescuento:=False, NivelTotal:=tTipoAmortizacion, ForzarAjuste:=ForzarAjuste, AplicaDescuentos:=True) Dim query = From ddr In DtImpuestos Group By PorcentajeIVA = ddr("PorcentajeIVA").ToString().ToDecimal, @@ -11352,6 +11394,7 @@ Partial Class Ventas ImporteRetIVA = x.Sum(Function(s) s("ImporteRetIVA").ToString().ToDecimal()).RoundSQL(2),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetIVA, ImporteRetISR = x.Sum(Function(s) s("ImporteRetISR").ToString().ToDecimal()).RoundSQL(2),' Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeRetISR, ImporteIEPS = x.Sum(Function(s) s("ImporteIEPS").ToString().ToDecimal()).RoundSQL(2), 'Math.Round(s("ImportePU").ToString().ToDecimal, 2)) * PorcentajeIEPS, + Descuento = x.Sum(Function(s) s("Descuento").ToString().ToDecimal()).RoundSQL(2), PorcentajeIVA = PorcentajeIVA, PorcentajeRetIVA = PorcentajeRetIVA, PorcentajeRetISR = PorcentajeRetISR, @@ -11384,7 +11427,7 @@ Partial Class Ventas dr("IEPS") = Drr("ImporteIEPS").ToString().ToDecimal - dr("Descuento") = Math.Round(0, NumeroDecimales) + dr("Descuento") = Drr("Descuento").ToString().ToDecimal dr("TipoDescuento") = HdnTipoDescuento.Value dr("Total") = Drr("ImporteTotal").ToString().ToDecimal dr("CveClasificacion") = drpss("CveClasificacion") @@ -11413,7 +11456,7 @@ Partial Class Ventas Total = (TotalSubTotal - TotalDescuentos + TotalIVA + TotalIEPS - TotalRetIVA - TotalRetISR - TotalImpuestosLocales) factura.SubTotal = TotalSubTotal - factura.Descuento = 0 + factura.Descuento = TotalDescuentos factura.IVA = TotalIVA factura.IEPS = TotalIEPS factura.RetIVA = TotalRetIVA @@ -13428,7 +13471,7 @@ Partial Class Ventas Row("PU").ToString().ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)), Row("ImporteIVA").ToString().ToDouble, Math.Round((Row("Total").ToString().ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)) * (1 + Row("PorcentajeIVA").ToString().ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)))), 6), Row("Obs").ToString(), Row("Descuento").ToString().ToDouble(If(factura.ConvertirPesos, factura.TipoCambio, 1)), Row("TipoDescuento").ToString().ToEntero(), Row("CveSubProyecto").ToString().ToEntero(), Row("CvePresupuestoIngreso").ToString().ToEntero(), TiempoEntrega:=Row("TiempoEntrega").ToString(), CveVentaDetallePadre:=Row("CveVentaDetalle").ToString().ToEntero(), CveContratoDetalle:=Row("CveContratoDetalle").ToString().ToEntero(), CvePromocionDetalle:=Row("CvePromocionDetalle").ToString().ToEntero(), IEPS:=Row("ImporteIEPS").ToString().ToDouble, CveMovimientoDetallePedido:=Row("CveMovimientoDetallePedido").ToString().ToEntero(), ImporteRetIVA:=Row("ImporteRetIVA").ToString().ToDouble, ImporteRetISR:=Row("ImporteRetISR").ToString().ToDouble, - PorcentajeIVA:=Row("PorcentajeIVA").ToString().ToDecimal, PorcentajeIEPS:=Row("PorcentajeIEPS").ToString().ToDouble, PorcentajeRetIVA:=Row("PorcentajeRetIVA").ToString().ToDouble, PorcentajeRetISR:=Row("PorcentajeRetISR").ToString().ToDouble, CuentaPredial:=Row("CuentaPredial").ToString(), CvePrecioLista:=Row("CvePrecioLista").ToString().ToEntero(), CveActivoFijo:=Row("CveActivoFijo").ToString().ToEntero()) Then + PorcentajeIVA:=Row("PorcentajeIVA").ToString().ToDecimal, PorcentajeIEPS:=Row("PorcentajeIEPS").ToString().ToDouble, PorcentajeRetIVA:=Row("PorcentajeRetIVA").ToString().ToDouble, PorcentajeRetISR:=Row("PorcentajeRetISR").ToString().ToDouble, CuentaPredial:=Row("CuentaPredial").ToString(), CvePrecioLista:=Row("CvePrecioLista").ToString().ToEntero(), CveActivoFijo:=Row("CveActivoFijo").ToString().ToEntero(), NumTurnos:=Row("NumTurnos").ToString().ToDecimal()) Then ErrorList.Add("Ocurrió un error al agregar un Producto o Servicio a la Factura.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") Exit For Else @@ -14199,13 +14242,18 @@ Partial Class Ventas If row2.DataKey("CveConceptoContable").ToString().ToEntero() = 3 Then If row2.FCCheckBox("Chk" & row2.RowIndex).Checked Then CveIEAnticipo = row2.DataKey("CveIE").ToString().ToEntero() + importeMovimiento = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal '- ((row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal) * row2.DataKey("IVAAnticipo").ToDecimal) + Dim ImporteAnticipo As Decimal = importeMovimiento Dim CveMonedaAnticipo As Integer = row2.DataKey("CveMoneda").ToString().ToEntero() If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" - If DdlTipoAmortizacionAnticipo.SelectedValue = "2" Then ImporteAnticipo = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / row2.DataKey("TotalAnticipo").ToDecimal * row2.DataKey("SubTotalAnticipo").ToDecimal + If DdlTipoAmortizacionAnticipo.SelectedValue = "2" Then + Dim DescuentosAnticipos As Decimal = row2.DataKey("Descuentos").ToDecimal + ImporteAnticipo = row2.FCTextBox("TxtAnticipo" & row2.RowIndex).Text.ToDecimal / (row2.DataKey("TotalAnticipo").ToDecimal - DescuentosAnticipos) * row2.DataKey("SubTotalAnticipo").ToDecimal + End If Dim Importe11MX As Decimal = ImporteAnticipo @@ -14864,6 +14912,10 @@ Partial Class Ventas If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}" 'Nota cuando es Nota de crédiot, debe de tomar el devoluciones y rebajas If ObjFactura.TipoDocto.Contiene("Egs") Then + If EsNCAmortizacion Then + TipoMovimiento = Not TipoMovimiento + End If + IdCtaContable = GlobalDTClasificaciones(ObjFactura.CveEmpresa).FiltroPrimeroValor("IdCuentaGasto", String.Format("CveClasificacion = {0}", Row2("CveClasificacion"))).ToEntero() Else IdCtaContable = GlobalDTClasificaciones(ObjFactura.CveEmpresa).FiltroPrimeroValor("IdCuentaDescuento", String.Format("CveClasificacion = {0}", Row2("CveClasificacion"))).ToEntero() @@ -17074,7 +17126,24 @@ Partial Class Ventas End If End If - If ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then + Dim SeTimbro As Boolean = False + + Try + SeTimbro = ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) + Catch ex As Exception + SeTimbro = False + End Try + + 'SI SE TIMBRO CON UN TIPO DE CAMBIO DISTINCTO, DEBE ACTUALIZAR LA PREPOLIZA + If SeTimbro AndAlso ChkEmitirComercioExterior.Checked AndAlso DdlTipoComprobante.SelectedValue = "Ing" AndAlso DdlMoneda.SelectedValue.ToEntero() = 2 AndAlso TxtTipoCambio.Text.ToDecimal() > 1 AndAlso (TxtTipoCambio.Text.ToDecimal() <> TipoCambioOriginal) Then + Using ObjVentas As New ClsVentas + If ObjVentas.UpdateVentaTC(Me.CveVenta, UsuarioActual.CveEmpresa, TxtTipoCambio.Text.ToDecimal()) Then + Alert("Se actualizó el tipo de cambio del documento") + End If + End Using + End If + + If SeTimbro Then 'MENSAJE PRINCIPAL MensajeAlert = New StringBuilder @@ -18815,11 +18884,16 @@ Partial Class Ventas End If End If + Dim NumTurnos As Decimal = 0 + If UsuarioActual.CveEmpresa.Contiene(7, 122) Then + NumTurnos = TxtNumTurnos.Text.ToDecimal() + End If + AgregarProductoServicio(Cantidad, DdlUnidadMedida.SelectedValue.ToEntero(), DdlUnidadMedida.SelectedItem.Text, DdlClasificacion.SelectedValue.ToEntero(), DdlClasificacion.SelectedItem.Text, CvePS, "", TxtObsPS.Text.TrimEnd, PU, ObjDescuento.ImporteDescuento, DdlProyecto.SelectedValue.ToEntero(), DdlProyecto.SelectedItem.Text, DdlSubProyecto.SelectedValue.ToEntero(), DdlSubProyecto.SelectedItem.Text, Serie:=If(DIVCod.Visible, TxtCodigoSerie.Text.Trim, ""), TiempoEntrega:=TxtTiempoEntrega.Text, CuentaPredial:=TxtCuentaPredial.Text.Trim, RegeneraIEPS:=ClienteDesglosaIEPS, CvePromocionDetalle:=ObjDescuento.CvePromocionDetalle, - ImporteProntoPago:=ObjDescuento.ImporteProntoPago, ObjDescuento:=ObjDescuento, CvePrecioLista:=CvePrecioListaPS, PrecioLista:=PrecioListaPS) + ImporteProntoPago:=ObjDescuento.ImporteProntoPago, ObjDescuento:=ObjDescuento, CvePrecioLista:=CvePrecioListaPS, PrecioLista:=PrecioListaPS, NumTurnos:=NumTurnos) CalculaUsados() @@ -18941,6 +19015,7 @@ Partial Class Ventas End Sub Private Sub LimpiaAgregar() TxtCantidad.Text = "" + TxtNumTurnos.Text = "" HdnPS.Value = "-1" HdnCodigoPS.Value = "-1" HdnTipoPS.Value = "-1" @@ -19011,7 +19086,7 @@ Partial Class Ventas Optional CveOrdenCompraDetalle As Integer = 0, Optional CveVentaDetalleRemision As Integer = 0, Optional CveVentaDetalleCotizacion As Integer = 0, Optional CuentaPredial As String = "", Optional RegeneraIEPS As Boolean = True, Optional CveVentaDetallePedido2 As Integer = 0, Optional SeActualiza As Boolean = False, Optional CvePromocionDetalle As Integer = -1, Optional EsCargo As Boolean = False, Optional ImporteProntoPago As Decimal = 0, Optional ByRef ObjDescuento As Modelos.VentaDescuentos = Nothing, Optional CvePrecioLista As Integer = -1, Optional PrecioLista As String = "", - Optional CveActivoFijo As Integer = -1, Optional AFDepreciacion As Decimal = 0D, Optional AFValorInicial As Decimal = 0D) As Boolean + Optional CveActivoFijo As Integer = -1, Optional AFDepreciacion As Decimal = 0D, Optional AFValorInicial As Decimal = 0D, Optional NumTurnos As Decimal = 0D) As Boolean Dim Retorno As Boolean = False Try @@ -19274,6 +19349,7 @@ Partial Class Ventas Row("AFDepreciacion") = AFDepreciacion Row("AFValorInicial") = AFValorInicial + Row("NumTurnos") = NumTurnos If UsuarioActual.CveEmpresa.Contiene(119, 13, 83) Then If Not RemisionesLista.Count > 0 Then 'SI VIENE DE REMISION NO SE CONSIDERA @@ -19519,6 +19595,9 @@ Partial Class Ventas TmpDT.Columns("TieneProntoPago").DefaultValue = "No" TmpDT.Columns("ImporteProntoPago").DefaultValue = 0 + TmpDT.Columns.Add("NumTurnos", GetType(Decimal)) + TmpDT.Columns("NumTurnos").DefaultValue = 0 + End Sub Private Sub CreaDTmpC() DTmpC = New DataTable @@ -22249,7 +22328,7 @@ Partial Class Ventas Row("PU").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)), Row("ImporteIVA").ToString().ToDouble, Math.Round((Row("Total").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)) * (1 + Row("PorcentajeIVA").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)))), 6), Row("Obs").ToString(), Row("Descuento").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)), Row("TipoDescuento").ToString().ToEntero(), Row("CveSubProyecto").ToString().ToEntero(), Row("CvePresupuestoIngreso").ToString().ToEntero(), PorcentajeIVA:=Row("PorcentajeIVA").ToString().ToDecimal, IEPS:=Row("ImporteIEPS").ToString().ToDouble(If(ChkConvertirDoctoPesos.Checked, TxtTipoCambio.Text.ToDecimal, 1)), PorcentajeIEPS:=Row("PorcentajeIEPS").ToString().ToDouble, TiempoEntrega:=Row("TiempoEntrega").ToString(), CveVentaDetallePadre:=Row("CveVentaDetalle").ToString().ToEntero(), CveContratoDetalle:=Row("CveContratoDetalle").ToString().ToEntero(), CvePromocionDetalle:=If(DtPromociones IsNot Nothing, DtPromociones.FiltroPrimeroValor("CvePromocionDetalle", $"CvePS={Row("CvePS").ToString()}").ToEntero(), -1), - ImporteRetIVA:=Row("ImporteRetIVA").ToString().ToDouble, ImporteRetISR:=Row("ImporteRetISR").ToString().ToDouble, PorcentajeRetIVA:=Row("PorcentajeRetIVA").ToString().ToDouble, PorcentajeRetISR:=Row("PorcentajeRetISR").ToString().ToDouble, CuentaPredial:=Row("CuentaPredial").ToString(), CvePrecioLista:=Row("CvePrecioLista").ToString().ToEntero(), CveActivoFijo:=Row("CveActivoFijo").ToString().ToEntero()) Then + ImporteRetIVA:=Row("ImporteRetIVA").ToString().ToDouble, ImporteRetISR:=Row("ImporteRetISR").ToString().ToDouble, PorcentajeRetIVA:=Row("PorcentajeRetIVA").ToString().ToDouble, PorcentajeRetISR:=Row("PorcentajeRetISR").ToString().ToDouble, CuentaPredial:=Row("CuentaPredial").ToString(), CvePrecioLista:=Row("CvePrecioLista").ToString().ToEntero(), CveActivoFijo:=Row("CveActivoFijo").ToString().ToEntero(), NumTurnos:=Row("NumTurnos").ToString().ToDecimal()) Then OcurrioError = True Exit For Else @@ -29975,7 +30054,7 @@ Partial Class Ventas Next End Sub - Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional NivelTotal As Integer = 1, Optional AplicaNCUsado As Boolean = False, Optional ForzarAjuste As Boolean = False) As DataTable + Private Function CargaDtImpuestosNC(CveVentaNC As Integer, Importe As Decimal, Optional NCDescuento As Boolean = False, Optional AplicaImpuestosLocales As Boolean = True, Optional NivelTotal As Integer = 1, Optional AplicaNCUsado As Boolean = False, Optional ForzarAjuste As Boolean = False, Optional AplicaDescuentos As Boolean = False) As DataTable Dim Total As Decimal = 0, SubTotal As Decimal = 0, Saldo As Decimal = 0 Dim TmpDT As DataTable = Nothing @@ -30024,6 +30103,10 @@ Partial Class Ventas DtImpuestosLocal.Columns.Add("ImporteRetIVA", GetType(Decimal)) DtImpuestosLocal.Columns.Add("ImporteRetISR", GetType(Decimal)) DtImpuestosLocal.Columns.Add("ImporteIEPS", GetType(Decimal)) + If AplicaDescuentos Then + DtImpuestosLocal.Columns.Add("Descuento", GetType(Decimal)) + End If + Dim ImporteReferencia As Decimal = If(NivelTotal = 1, Total, SubTotal) Dim Porcentaje As Decimal = ((Importe * 100) / ImporteReferencia) / 100 @@ -30047,7 +30130,12 @@ Partial Class Ventas For Each Dr As DataRow In DtImpuestosLocal.Rows FiltroStr = String.Format("ISNULL(PorcentajeIVA,0) = {0} AND ISNULL(PorcentajeRetIVA,0) = {1} AND ISNULL(PorcentajeRetISR,0) = {2} AND ISNULL(PorcentajeIEPS,0) = {3} AND ISNULL(CveSubProyecto,0) = {4} ", Dr("PorcentajeIVA").ToString().ToDecimal, Dr("PorcentajeRetIVA").ToString().ToDecimal, Dr("PorcentajeRetISR").ToString().ToDecimal, Dr("PorcentajeIEPS").ToString().ToDecimal, Dr("CveSubProyecto")) - Dim importePuTemp As Decimal = (Porcentaje * (TmpDT.SUMD("TotalImporte", FiltroStr) - TmpDT.SUMD("Descuento", FiltroStr))) + Dim importePuTemp As Decimal = 0 + If AplicaDescuentos Then + importePuTemp = (Porcentaje * (TmpDT.SUMD("TotalImporte", FiltroStr))) + Else + importePuTemp = (Porcentaje * (TmpDT.SUMD("TotalImporte", FiltroStr) - TmpDT.SUMD("Descuento", FiltroStr))) + End If If Not AplicaImpuestosLocales Then importePuTemp = importePuTemp - TotalImpuestosLocalesVentaOriginal @@ -30068,12 +30156,20 @@ Partial Class Ventas Dr("ImporteRetISR") = (importePuTemp * Dr("PorcentajeRetISR").ToString().ToDecimal()) Dr("ImportePU") = importePuTemp + If AplicaDescuentos Then + Dr("Descuento") = Porcentaje * TmpDT.SUMD("Descuento", FiltroStr) + End If + If AplicaRedondeo Then Dr("ImporteIEPS") = Dr("ImporteIEPS").ToString().ToDecimal().RoundSQL(2) Dr("ImporteIVA") = Dr("ImporteIVA").ToString().ToDecimal().RoundSQL(2) Dr("ImporteRetIVA") = Dr("ImporteRetIVA").ToString().ToDecimal().RoundSQL(2) Dr("ImporteRetISR") = Dr("ImporteRetISR").ToString().ToDecimal().RoundSQL(2) Dr("ImportePU") = Dr("ImportePU").ToString().ToDecimal().RoundSQL(6) + + If AplicaDescuentos Then + Dr("Descuento") = Dr("Descuento").ToString().ToDecimal().RoundSQL(2) + End If End If @@ -33054,11 +33150,25 @@ Partial Class Ventas 'REMOVER EVENTO PARA RECARGAR ALMACEN 'spanAlmacen.Attributes.Remove("onclick") + If UsuarioActual.CveEmpresa.Contiene(7, 122) Then + TxtCantidad.Width = New Unit("100%") + DivNumTurnos.Visible = True + End If If UsuarioActual.Empresa.Funcionalidad(360) = "1" Then CargaListasPrecios() End If + BtnEditar.Visible = False + BtnEmitir.Visible = False + BtnPermisoEditarCotizacion.Visible = False + BtnEditarCotizacion.Visible = False + BtnPermisoEditarRemision.Visible = False + BtnEditarRemision.Visible = False + + BtnGenerarRemision.Visible = False + BtnGeneraAutorizacion.Visible = False + HdnCargarInventario.Value = "False" UpParametros.Update() @@ -35400,6 +35510,8 @@ Partial Class Ventas TmpDT.Columns.Add("CveActivoFijo", GetType(Integer)) TmpDT.Columns.Add("AFDepreciacion", GetType(Decimal)) TmpDT.Columns.Add("AFValorInicial", GetType(Decimal)) + TmpDT.Columns.Add("NumTurnos", GetType(Decimal)) + TmpDT.Columns("NumTurnos").DefaultValue = 0D Return TmpDT End Function