diff --git a/App_Code/ClsGenerales.vb b/App_Code/ClsGenerales.vb index d64782ccb..bb08cf310 100644 --- a/App_Code/ClsGenerales.vb +++ b/App_Code/ClsGenerales.vb @@ -369,9 +369,12 @@ Public Class ClsGenerales End Function - Public Function GetGralPaqueteriasGuiasTipo() As Boolean + Public Function GetGralPaqueteriasGuiasTipo(Optional CveEmpresa As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Gral_PaqueteriasGuiasTipoGet") + With SqlAdapter.SelectCommand.Parameters + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With Try SqlAdapter.Fill(Data) Retorno = True @@ -381,6 +384,54 @@ Public Class ClsGenerales Return Retorno End Function + + Public Function AddGralPaqueteriasGuiasTipo(PaqueteriaGuiaTipo As String, CveUsuario As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_PaqueteriasGuiasTipoAdd") + With SqlAdapter.SelectCommand.Parameters + .Add("@PaqueteriaGuiaTipo", SqlDbType.VarChar).Value = PaqueteriaGuiaTipo + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al agregar en el Catálogo de Paqueterias Guias Tipos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function RemoveGralPaqueteriasGuiasTipo(CvePaqueteriaGuiaTipo As Integer) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_PaqueteriasGuiasTipoDelete") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePaqueteriaGuiaTipo", SqlDbType.Int).Value = CvePaqueteriaGuiaTipo + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al eliminar en el Catálogo de Paqueterias Guias Tipos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function + + Public Function UpdateGralPaqueteriasGuiasTipo(CvePaqueteriaGuiaTipo As Integer, PaqueteriaGuiaTipo As String) As Boolean + Dim Retorno As Boolean = False + DataAdapter("PA_Gral_PaqueteriasGuiasTipoUpdate") + With SqlAdapter.SelectCommand.Parameters + .Add("@CvePaqueteriaGuiaTipo", SqlDbType.Int).Value = CvePaqueteriaGuiaTipo + .Add("@PaqueteriaGuiaTipo", SqlDbType.VarChar).Value = PaqueteriaGuiaTipo + End With + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al actualizar en el Catálogo de Paqueterias Guias Tipos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + End Try + Return Retorno + End Function #End Region #Region "P L A N T I L L A S C O N T R A T O S" diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 56ef2a7dd..5ce6ad484 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -3957,6 +3957,7 @@ Public Class ClsPaginas PaginaDict.Add("/Compras/RepReqOCCompraInv.aspx".ToUpper(), 689) PaginaDict.Add("/Compras/RepComprasPrecios.aspx".ToUpper(), 690) PaginaDict.Add("/Compras/RepDocumentacionProveedor.aspx".ToUpper(), 1206) + PaginaDict.Add("/Compras/CatPaqueteriasGuiasTipo.aspx".ToUpper(), 753) #End Region diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 3a75dc1df..e0d5d3f62 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -449,7 +449,6 @@ Namespace Modelos Private Sub IniciaValoresVentas(Optional EsCancelacion As Boolean = False) If CveVenta > 0 AndAlso CveEmpresa > 0 Then Me.DtAnticipos = New DataTable() - Me.DtAntNCVinculadas = New DataTable() Me.DtPagos = New DataTable() Me.DtRemisiones = New DataTable() Me.DtInventario = New DataTable() @@ -483,7 +482,7 @@ Namespace Modelos If TipoDocto.Contiene("Ing", "Ant", "Rem") Then 'carga as notas de credito vinculadas If ObjVentas.GetVentasAntNC(CveVenta, -1) Then - Me.DtAntNCVinculadas = ObjVentas.DtResultados.Copy() + Me.DtAnticipos = ObjVentas.DtResultados.Copy() End If End If @@ -493,7 +492,7 @@ Namespace Modelos End If If TipoDocto.Contiene("Ant") AndAlso EsCancelacion Then - EsNCAmortizacion = True + Me.EsNCAmortizacion = True End If If ObjVentas.GetVentasAntNC(-1, CveVenta, AplicaAmortizacion:=EsNCAmortizacion) Then @@ -2418,9 +2417,18 @@ Namespace Modelos CveCuenta = ObjFactura.Cliente.CveCuentaAnticipos CveSubProyectoContabilizar = CveSubProyectoVenta + Dim CveVenta As Integer = ObjFactura.CveVenta + Dim CveVentaAmortizacion As Integer = row2("CveVenta").ToString().ToEntero + + 'SI ES FACTURA EN 0 Y TIENE ANTICIPOS + If (ObjFactura.Total = 0 AndAlso UsuarioActual.CveEmpresa.Contiene(72) AndAlso ObjFactura.TipoDocto.Contiene("Ing")) AndAlso row2("TipoDocto").ToString() = "Ant" Then + CveVenta = row2("CveVenta").ToString().ToEntero + CveVentaAmortizacion = ObjFactura.CveVenta + End If + If importeMovimiento <> 0 Then If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, - CveVenta:=ObjFactura.CveVenta, CveVentaAmortizacion:=row2("CveVenta").ToString().ToEntero, CveCliente:=ObjFactura.CveCliente, + CveVenta:=CveVenta, CveVentaAmortizacion:=CveVentaAmortizacion, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIEAnticipo, ImporteMX:=importeMovimiento * tipoCambio, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), CveCuenta:=CveCuenta, CveSubProyecto:=CveSubProyectoContabilizar, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True @@ -5213,8 +5221,7 @@ Namespace Modelos Public Property DtDeduccion As Data.DataTable Public Property DtFirmas As Data.DataTable Public Property DtDesgloseImpuestos As Data.DataTable - Public Property DtDocumentosRelacionados As Data.DataTable - Public Property DtAntNCVinculadas As Data.DataTable + Public Property DtDocumentosRelacionados As Data.DataTable Public Property DtNCVinculadas As Data.DataTable Public Property DtAnticipos As Data.DataTable diff --git a/Compras/CatPaqueteriasGuiasTipo.aspx b/Compras/CatPaqueteriasGuiasTipo.aspx new file mode 100644 index 000000000..7345ed5c3 --- /dev/null +++ b/Compras/CatPaqueteriasGuiasTipo.aspx @@ -0,0 +1,98 @@ +<%@ Page Title="Compras - Catálogo de Paquetería" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="CatPaqueteriasGuiasTipo.aspx.vb" Inherits="Comp_CatPaqueteriasGuiasTipo" %> +<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="asp" %> + + + + + + + + Catálogo de Paqueterías + + + + +
  • + +
  • + +
    +
    +
    + + + + + + + + + + + + + + + + + + + + + + +
    + +   +
    +
    + + + +
    + + + + + +
    + + +
    + + + +
    +
    +
    + + \ No newline at end of file diff --git a/Compras/CatPaqueteriasGuiasTipo.aspx.vb b/Compras/CatPaqueteriasGuiasTipo.aspx.vb new file mode 100644 index 000000000..b606e5df0 --- /dev/null +++ b/Compras/CatPaqueteriasGuiasTipo.aspx.vb @@ -0,0 +1,82 @@ +Imports System.Data +Imports System.Linq +Imports Extensiones + +Partial Class Comp_CatPaqueteriasGuiasTipo + Inherits ClsPaginas + + Private Property CvePaqueteriaGuiaTipo() As Integer 'Guardamos el ID de registro para saber cual registro Editar + Get + Return If(IsNothing(ViewState("CvePaqueteriaGuiaTipo")), -1, CInt(ViewState("CvePaqueteriaGuiaTipo"))) + End Get + Set + ViewState("CvePaqueteriaGuiaTipo") = Value + End Set + End Property + + Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load + If Not Page.IsPostBack Then + CargaDatos() + End If + End Sub + + Public Sub CargaDatos() + Dim ObjGenerales As New ClsGenerales + If ObjGenerales.GetGralPaqueteriasGuiasTipo(UsuarioActual.CveEmpresa) Then + GvDatos.DataSource = ObjGenerales.DtResultados + End If + ObjGenerales.Dispose() + GvDatos.DataBind() + End Sub + + Protected Sub BtnAgregarPaqueteria_Click(sender As Object, e As EventArgs) Handles BtnAgregarPaqueteria.Click + BtnEditarTiposDModal.Visible = False + BtnAgregarTiposDModal.Visible = True + UpModalTiposD.Update() + RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD")) + End Sub + + Protected Sub BtnAgregarTiposDModal_Click(sender As Object, e As EventArgs) Handles BtnAgregarTiposDModal.Click + Dim ObjGeneral As New ClsGenerales + If ObjGeneral.AddGralPaqueteriasGuiasTipo(TxtPaqueteria.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then + RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD")) + CargaDatos() + UpDatos.Update() + Alert("Agregado Correctamente") + End If + ObjGeneral.Dispose() + End Sub + + Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting + Dim ObjGeneral As New ClsGenerales + If ObjGeneral.RemoveGralPaqueteriasGuiasTipo(GvDatos.DataKeys(e.RowIndex).Value.ToString.ToEntero) Then + CargaDatos() + UpDatos.Update() + Alert("Eliminado con exito") + End If + ObjGeneral.Dispose() + End Sub + + Public Sub GvDatos_RowEditing(sender As Object, e As EventArgs) + BtnEditarTiposDModal.Visible = True + BtnAgregarTiposDModal.Visible = False + + Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) 'obtenemos el renglon que acabamos de seleccionar + TxtPaqueteria.Text = GvRow.DataKey("PaqueteriaGuiaTipo") + CvePaqueteriaGuiaTipo = GvRow.DataKey("CvePaqueteriaGuiaTipo") + + UpModalTiposD.Update() + RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD")) + End Sub + + Protected Sub BtnEditarTiposDModal_Click(sender As Object, e As EventArgs) Handles BtnEditarTiposDModal.Click + Dim ObjGeneral As New ClsGenerales + If ObjGeneral.UpdateGralPaqueteriasGuiasTipo(CvePaqueteriaGuiaTipo, TxtPaqueteria.Text) Then + CargaDatos() + UpDatos.Update() + RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarTiposD")) + Alert("Actualizado con exito") + End If + ObjGeneral.Dispose() + End Sub +End Class diff --git a/Empresas/Grales/Formatos/RepAlmacen.rdlc b/Empresas/Grales/Formatos/RepAlmacen.rdlc index fa9f1d6cf..f8b2c15e1 100644 --- a/Empresas/Grales/Formatos/RepAlmacen.rdlc +++ b/Empresas/Grales/Formatos/RepAlmacen.rdlc @@ -46,6 +46,46 @@ + + + + true + true + + + + + Tipo Almacén + + + + + + + Textbox6 + + + + + + Gray + 2pt + 2pt + 2pt + 1pt + + + + @@ -57,9 +97,6 @@ 3.17009cm - - 6.13624cm - @@ -135,41 +172,6 @@ - - - - true - - - - - =Fields!TipoAlmacen.Value - - - - - - - TipoAlmacen - - - =IIF(Fields!Almacen.Value="Total","#67809F","White") - 2pt - 2pt - 1pt - 1pt - - - - @@ -256,46 +258,6 @@ - - - 0.3751cm - - - true - true - - - - - Tipo Almacén - - - - - - - Textbox42 - - - Gray - 2pt - 2pt - 2pt - 1pt - - - - - @@ -344,6 +306,44 @@ + + + + 6.13624cm + + + true + true + + + + + =Fields!TipoAlmacen.Value + + + + + + =IIF(Fields!Almacen.Value="Total","#67809F","White") + 2pt + 2pt + 1pt + 1pt + + + + + + @@ -371,11 +371,13 @@ - Filtros - 0.17638cm + 0.20788cm 0.6cm 18.70841cm 1 @@ -676,6 +678,7 @@ + 0cm 0cm 19.26933cm 5 diff --git a/Inventarios/RepAlmacen.aspx b/Inventarios/RepAlmacen.aspx index 5d4b16180..3edf19640 100644 --- a/Inventarios/RepAlmacen.aspx +++ b/Inventarios/RepAlmacen.aspx @@ -161,6 +161,11 @@ <%# Eval("Almacen") %> + + + + + @@ -171,11 +176,6 @@ - - - - - diff --git a/Inventarios/RepAlmacen.aspx.vb b/Inventarios/RepAlmacen.aspx.vb index 0285cdfd0..57284f8ca 100644 --- a/Inventarios/RepAlmacen.aspx.vb +++ b/Inventarios/RepAlmacen.aspx.vb @@ -85,10 +85,10 @@ Partial Class Inventarios_RepAlmacen Dim Imagen As New System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta)) Dim logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa) Dim StrFiltro As New StringBuilder - If TxtFechaI.Text <> "" Then StrFiltro.AppendFormat(" Fecha Inicio : {0}", TxtFechaI.Text.ToDate.ToShortDateString) - If TxtFechaF.Text <> "" Then StrFiltro.AppendFormat(" Fecha Fin : {0}", TxtFechaF.Text.ToDate.ToShortDateString) - If DdlTipoAlmacen.GetSelectedText <> "" Then StrFiltro.AppendFormat(" Tipo Almacen: {0}", DdlTipoAlmacen.GetSelectedText) - If DdlModalidadFiltro.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Modalidad: {0}", DdlModalidadFiltro.SelectedItem) + If TxtFechaI.Text <> "" Then StrFiltro.AppendFormat(" Fecha Inicio : {0}", TxtFechaI.Text.ToDate.ToShortDateString) Else StrFiltro.AppendFormat(" Fecha Inicio : Sin Considerar") + If TxtFechaF.Text <> "" Then StrFiltro.AppendFormat(" Fecha Fin : {0}", TxtFechaF.Text.ToDate.ToShortDateString) Else StrFiltro.AppendFormat(" Fecha Fin : Sin Considerar") + If DdlTipoAlmacen.GetSelectedText <> "" Then StrFiltro.AppendFormat(" Tipo Almacen: {0}", DdlTipoAlmacen.GetSelectedText) Else StrFiltro.AppendFormat(" Tipo Almacen: Todos") + If DdlModalidadFiltro.SelectedValue <> "-1" Then StrFiltro.AppendFormat(" Modalidad: {0}", DdlModalidadFiltro.SelectedItem) Else StrFiltro.AppendFormat(" Modalidad: Todas") Dim params As New List(Of ReportParameter) params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index c35541b2a..00f7d2cbd 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -1579,161 +1579,165 @@ Partial Class PV End Sub Private Sub CargaCliente(CveCliente As Integer, Optional Estatus As Integer = 1) - Dim ObjCliente As New ClsClientes() + Try + If ObjCliente.GetClientes(CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, Estatus, TipoCliente:=-1) Then + If ObjCliente.DtResultados.Rows.Count > 0 Then + TxtCodigo.Text = ObjCliente.Codigo - If ObjCliente.GetClientes(CveCliente, "-1", "-1", "-1", "-1", "-1", "-1", -1, UsuarioActual.CveEmpresa, Estatus, TipoCliente:=-1) Then - If ObjCliente.DtResultados.Rows.Count > 0 Then - TxtCodigo.Text = ObjCliente.Codigo - - LblCliente.Text = String.Format("{1}", CveCliente, ObjCliente.Nombre) - ViewState("NombreCliente") = ObjCliente.Nombre - LtlCliente.Text = ObjCliente.Nombre - ChkEnviarFactura.Checked = ObjCliente.EnviarFactura - ViewState("Mail") = If(DdlTipoComprobante.SelectedValue = "Cot", ObjCliente.MailCotizacion, ObjCliente.Mail) - ViewState("MailCC") = ObjCliente.NotificarA - LblDireccion.Text = ObjCliente.Direccion - LblColonia.Text = ObjCliente.Colonia - LblCiudad.Text = ObjCliente.Ciudad - LblEstado.Text = ObjCliente.Estado - LblCP.Text = ObjCliente.CP - LblRFC.Text = ObjCliente.RFC - LblTelefono.Text = ObjCliente.Telefono - LblRetIVA.Text = ObjCliente.RetIVA.ToString.FormatoNumero(5) - LblRetISR.Text = ObjCliente.RetISR.ToString.FormatoNumero(5) - ViewState("ClienteRetIVA") = ObjCliente.RetIVA / 100 - ViewState("ClienteRetISR") = ObjCliente.RetISR / 100 - ViewState("RetIVAFletes") = ObjCliente.RetieneIVAFletes - If ObjCliente.RetieneIVAFletes Then - TrRetIVA.Style.Add("display", "") - UsuarioActual.Empresa.MostrarRetIVA = True - End If - - ViewState("Vendedor") = ObjCliente.Vendedor - ViewState("CtaContable") = ObjCliente.CuentaContable - ViewState("IdCtaContClientes") = ObjCliente.IdCtaContClientes - ViewState("IdCtaContMonedaExtranjera") = ObjCliente.IdCtaContMonedaExtranjera - ViewState("IdCtaContComplementaria") = ObjCliente.IdCtaContComplementaria - ViewState("IdCtaContAnticipos") = ObjCliente.IdCtaContAnticipos - ViewState("IdCtaContRetIVA") = ObjCliente.IdCtaContRetIVA - ViewState("IdCtaContRetISR") = ObjCliente.IdCtaContRetISR - ViewState("CodCliente") = ObjCliente.Codigo - ViewState("ClienteDesglosaIEPS") = ObjCliente.DesglosaIEPS - - If (Boolean.Parse(ObjCliente.DtResultados(0)("EsDistribuidor").ToString)) Then - TrEsDistribuidor.Visible = True - LbVendedor.Text = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Vendedor", $"CveVendedor = {ObjCliente.Vendedor}") - Else - TrEsDistribuidor.Visible = False - End If - - ViewState("CliNoExt") = ObjCliente.NoExt - ViewState("CliNoInt") = ObjCliente.NoInt - ViewState("CliLocalidad") = If(ObjCliente.Localidad.Trim.Length = 0, ObjCliente.Ciudad.Trim, ObjCliente.Localidad.Trim) - ViewState("CliPais") = ObjCliente.Pais - - 'ViewState("NumCtaPago") = ObjCliente.NumCtaPago - EnviarCorreoCliente = ObjCliente.EnviarFactura - ChkEnviarFactura.Visible = True - ChkEnviarFactura.Checked = EnviarCorreoCliente - LblEnviarMail.Visible = True - - Dim dr As DataRow = Nothing - dr = GlobalDTSubProyectos(-1).FiltroPrimero("Estatus = 'Activo' AND CveEmpresa = " & UsuarioActual.CveEmpresa) - If dr IsNot Nothing Then - ViewState("MatCalle") = dr("Calle") - ViewState("MatNoExt") = dr("NoExt") - ViewState("MatNoInt") = dr("NoInt") - ViewState("MatColonia") = dr("Colonia") - ViewState("MatLocalidad") = dr("Localidad") - ViewState("MatMunicipio") = dr("Municipio") - ViewState("MatEstado") = dr("Estado") - ViewState("MatPais") = dr("Pais") - ViewState("MatCP") = dr("CP") - End If - - If CveVenta <= 0 Then - CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago").ToString.ToEntero - DdlUsoCFDI.SelectedValueExist(ObjCliente.CveUsoCFDI.ToString) - DdlMetodoPago.SelectedValueExist(ObjCliente.CveMetodoPago.ToString) - DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33.ToString) - 'DdlMetodoPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString) - DdlMetodoPago33_SelectedIndexChanged(DdlMetodoPago33, EventArgs.Empty) - - DdlFormaPago33.SelectedValueExist(ObjCliente.CveFormaPago33.ToString) - 'DdlFormaPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveFormaPago33").ToString) - DdlUsoCFDI.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveUsoCFDI").ToString) - End If - TxtFechaPago.Text = (Now.AddDays(ObjCliente.PlazoCobranza)).ToShortDateString - - - If ObjCliente.DtResultados(0)("CveVendedor").ToString.ToEntero > 0 Then - DdlVendedor.SelectedValueExist(ObjCliente.DtResultados(0)("CveVendedor").ToString.ToEntero) - End If - - If DdlVendedor.SelectedValue.ToEntero > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then - DdlVendedor.Enabled = False - End If - - EstatusCliente = ObjCliente.Estatus - - If Not EstatusCliente Then - BtnEmitirImprimir.Enabled = False - Alert("El Cliente seleccionado no esta activo", TipoMensaje.MsgAdvertencia) - Else - BtnEmitirImprimir.Enabled = True - End If - - UpFacturar.Update() - - If UsuarioActual.Empresa.UsaInventarios Then - RblTipo.Items.Remove(RblTipo.Items.FindByValue("1")) - RblTipo.Items.Remove(RblTipo.Items.FindByValue("2")) - End If - UpnTools.Update() - - - If Not CveVenta > 0 Then - If ObjCliente.DtResultados.Rows.Count > 0 Then - If UsuarioActual.TienePermisoProceso(152) Then - DdlSubProyectoDatos.SelectedValueExist(UsuarioActual.CveSubProyecto) - DdlSubProyectoDatos.Enabled = False - Else - DdlSubProyectoDatos.SelectedValueExist(ObjCliente.CveSubProyecto) - End If - 'RECARGA LOS VALORES DE LA SUCURSAL - CambiaSucursal() - UpParametros.Update() + LblCliente.Text = String.Format("{1}", CveCliente, ObjCliente.Nombre) + ViewState("NombreCliente") = ObjCliente.Nombre + LtlCliente.Text = ObjCliente.Nombre + ChkEnviarFactura.Checked = ObjCliente.EnviarFactura + ViewState("Mail") = If(DdlTipoComprobante.SelectedValue = "Cot", ObjCliente.MailCotizacion, ObjCliente.Mail) + ViewState("MailCC") = ObjCliente.NotificarA + LblDireccion.Text = ObjCliente.Direccion + LblColonia.Text = ObjCliente.Colonia + LblCiudad.Text = ObjCliente.Ciudad + LblEstado.Text = ObjCliente.Estado + LblCP.Text = ObjCliente.CP + LblRFC.Text = ObjCliente.RFC + LblTelefono.Text = ObjCliente.Telefono + LblRetIVA.Text = ObjCliente.RetIVA.ToString.FormatoNumero(5) + LblRetISR.Text = ObjCliente.RetISR.ToString.FormatoNumero(5) + ViewState("ClienteRetIVA") = ObjCliente.RetIVA / 100 + ViewState("ClienteRetISR") = ObjCliente.RetISR / 100 + ViewState("RetIVAFletes") = ObjCliente.RetieneIVAFletes + If ObjCliente.RetieneIVAFletes Then + TrRetIVA.Style.Add("display", "") + UsuarioActual.Empresa.MostrarRetIVA = True End If - End If - If ObjCliente.GetSucursales(CveCliente) Then - DdlSucursalCliente.DataSource = ObjCliente.DtResultados - If ObjCliente.DtResultados.Rows.Count > 0 Then - trsucursalciente.Visible = True + ViewState("Vendedor") = ObjCliente.Vendedor + ViewState("CtaContable") = ObjCliente.CuentaContable + ViewState("IdCtaContClientes") = ObjCliente.IdCtaContClientes + ViewState("IdCtaContMonedaExtranjera") = ObjCliente.IdCtaContMonedaExtranjera + ViewState("IdCtaContComplementaria") = ObjCliente.IdCtaContComplementaria + ViewState("IdCtaContAnticipos") = ObjCliente.IdCtaContAnticipos + ViewState("IdCtaContRetIVA") = ObjCliente.IdCtaContRetIVA + ViewState("IdCtaContRetISR") = ObjCliente.IdCtaContRetISR + ViewState("CodCliente") = ObjCliente.Codigo + ViewState("ClienteDesglosaIEPS") = ObjCliente.DesglosaIEPS + + If (Boolean.Parse(ObjCliente.DtResultados(0)("EsDistribuidor").ToString)) Then + TrEsDistribuidor.Visible = True + If Not String.IsNullOrEmpty(ObjCliente.Vendedor) Then + LbVendedor.Text = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Vendedor", $"CveVendedor = {ObjCliente.Vendedor}") + End If + Else + TrEsDistribuidor.Visible = False + End If + + ViewState("CliNoExt") = ObjCliente.NoExt + ViewState("CliNoInt") = ObjCliente.NoInt + ViewState("CliLocalidad") = If(ObjCliente.Localidad.Trim.Length = 0, ObjCliente.Ciudad.Trim, ObjCliente.Localidad.Trim) + ViewState("CliPais") = ObjCliente.Pais + + 'ViewState("NumCtaPago") = ObjCliente.NumCtaPago + EnviarCorreoCliente = ObjCliente.EnviarFactura + ChkEnviarFactura.Visible = True + ChkEnviarFactura.Checked = EnviarCorreoCliente + LblEnviarMail.Visible = True + + Dim dr As DataRow = Nothing + dr = GlobalDTSubProyectos(-1).FiltroPrimero("Estatus = 'Activo' AND CveEmpresa = " & UsuarioActual.CveEmpresa) + If dr IsNot Nothing Then + ViewState("MatCalle") = dr("Calle") + ViewState("MatNoExt") = dr("NoExt") + ViewState("MatNoInt") = dr("NoInt") + ViewState("MatColonia") = dr("Colonia") + ViewState("MatLocalidad") = dr("Localidad") + ViewState("MatMunicipio") = dr("Municipio") + ViewState("MatEstado") = dr("Estado") + ViewState("MatPais") = dr("Pais") + ViewState("MatCP") = dr("CP") + End If + + If CveVenta <= 0 Then + CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago").ToString.ToEntero + DdlUsoCFDI.SelectedValueExist(ObjCliente.CveUsoCFDI.ToString) + DdlMetodoPago.SelectedValueExist(ObjCliente.CveMetodoPago.ToString) + DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33.ToString) + 'DdlMetodoPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString) + DdlMetodoPago33_SelectedIndexChanged(DdlMetodoPago33, EventArgs.Empty) + + DdlFormaPago33.SelectedValueExist(ObjCliente.CveFormaPago33.ToString) + 'DdlFormaPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveFormaPago33").ToString) + DdlUsoCFDI.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveUsoCFDI").ToString) + End If + TxtFechaPago.Text = (Now.AddDays(ObjCliente.PlazoCobranza)).ToShortDateString + + + If ObjCliente.DtResultados(0)("CveVendedor").ToString.ToEntero > 0 Then + DdlVendedor.SelectedValueExist(ObjCliente.DtResultados(0)("CveVendedor").ToString.ToEntero) + End If + + If DdlVendedor.SelectedValue.ToEntero > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then + DdlVendedor.Enabled = False + End If + + EstatusCliente = ObjCliente.Estatus + + If Not EstatusCliente Then + BtnEmitirImprimir.Enabled = False + Alert("El Cliente seleccionado no esta activo", TipoMensaje.MsgAdvertencia) + Else + BtnEmitirImprimir.Enabled = True + End If + + UpFacturar.Update() + + If UsuarioActual.Empresa.UsaInventarios Then + RblTipo.Items.Remove(RblTipo.Items.FindByValue("1")) + RblTipo.Items.Remove(RblTipo.Items.FindByValue("2")) + End If + UpnTools.Update() + + + If Not CveVenta > 0 Then + If ObjCliente.DtResultados.Rows.Count > 0 Then + If UsuarioActual.TienePermisoProceso(152) Then + DdlSubProyectoDatos.SelectedValueExist(UsuarioActual.CveSubProyecto) + DdlSubProyectoDatos.Enabled = False + Else + DdlSubProyectoDatos.SelectedValueExist(ObjCliente.CveSubProyecto) + End If + 'RECARGA LOS VALORES DE LA SUCURSAL + CambiaSucursal() + UpParametros.Update() + End If + End If + + If ObjCliente.GetSucursales(CveCliente) Then + DdlSucursalCliente.DataSource = ObjCliente.DtResultados + If ObjCliente.DtResultados.Rows.Count > 0 Then + trsucursalciente.Visible = True + Else + trsucursalciente.Visible = False + End If Else trsucursalciente.Visible = False + DdlSucursalCliente.DataSource = Nothing End If + DdlSucursalCliente.DataBind() + + + LbAgregar.Enabled = True + UpEstatus.Update() + UpPS.Update() + UpParametros.Update() + UPCondicionesPago.Update() + UpComplementos.Update() + + CargarAlmacenes() + CargaFacturasAjuste() Else - trsucursalciente.Visible = False - DdlSucursalCliente.DataSource = Nothing + Alert("El cliente solicitado no existe, por favor intente de nuevo.", TipoMensaje.MsgError) End If - DdlSucursalCliente.DataBind() - - - LbAgregar.Enabled = True - UpEstatus.Update() - UpPS.Update() - UpParametros.Update() - UPCondicionesPago.Update() - UpComplementos.Update() - - CargarAlmacenes() - CargaFacturasAjuste() - Else - Alert("El cliente solicitado no existe, por favor intente de nuevo.", TipoMensaje.MsgError) End If - End If + Catch ex As Exception + OnError("Ocurrió un error al asignar el cliente", ex) + End Try ObjCliente.Dispose() UPCondicionesPago.Update() End Sub diff --git a/Ventas/RepComisiones.aspx b/Ventas/RepComisiones.aspx index 293384f61..bedffe731 100644 --- a/Ventas/RepComisiones.aspx +++ b/Ventas/RepComisiones.aspx @@ -107,19 +107,23 @@ - <%----%> - <%----%> - + - <%-- - --%> - - - + + + + + + + + + + <%----%> + diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index 0847b5a8f..7d7216312 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -6515,14 +6515,26 @@ } function LimitaSaldoRNCChk(TxtImporte, Saldo) { var Importe = 0; - if (TxtImporte.value != '') { - Importe = parseFloat(TxtImporte.value); + + if (TxtImporte.value.includes('.')) { + return; + } + if (TxtImporte.value.includes(',')) { + return; } - if (Importe > Saldo) { - TxtImporte.value = FormatoNumero(Saldo, 2); - } else { - TxtImporte.value = FormatoNumero(Importe, 2);; + var regex = new RegExp("^[-+]?[0-9]+\.[0-9]+$"); + + if (regex.test(TxtImporte.value)) { + if (TxtImporte.value != '') { + Importe = parseFloat(TxtImporte.value); + } + + if (Importe > Saldo) { + TxtImporte.value = FormatoNumero(Saldo, 2); + } else { + TxtImporte.value = FormatoNumero(Importe, 2);; + } } } diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 3699d95db..fa5270557 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -6771,19 +6771,25 @@ Partial Class Ventas TieneAnticipo = True CveAnticipoPadre = row2.DataKey("CveVenta").ToEntero - ObjFactura.CveVentaRelacion = CveAnticipoPadre 'relaciona al anticipo CveAnticipo = CveAnticipoPadre - ObjFactura.ImporteRelacion = row2.FCTextBox($"TxtAnticipo{actualindex}").Text.ToDecimal - FolioFiscalRelacionado = row2.DataKey("FolioFiscal") - ObjFactura.CveVentaPadre = row2.DataKey("CveVenta").ToEntero + 'CUANDO ES REFACTURACION DEBE RELACIONAR CON LA FACTURA REFACTURADA + If NuevaFactura <> 1 Then + ObjFactura.CveVentaRelacion = CveAnticipoPadre 'relaciona al anticipo + ObjFactura.ImporteRelacion = row2.FCTextBox($"TxtAnticipo{actualindex}").Text.ToDecimal + FolioFiscalRelacionado = row2.DataKey("FolioFiscal") + ObjFactura.CveVentaPadre = row2.DataKey("CveVenta").ToEntero + Else + ObjFactura.CveVentaRelacion = CveDevolucion + End If End If actualindex = actualindex + 1 Next End If + Dim EsNCAmortizacion As Boolean = False - If DdlTipoComprobante.SelectedValue = "Egs" AndAlso ChkAplicaNCAnticipo.Checked Then + If ObjFactura.TipoDocto = "Egs" AndAlso ChkAplicaNCAnticipo.Checked Then EsNCAmortizacion = True End If @@ -6847,7 +6853,14 @@ Partial Class Ventas ' cambiar la condicion para saber si hay seleccionado If (TieneAnticipo AndAlso DdlTipoAmortizacionAnticipo.SelectedValue = "2") OrElse NCDescuento Then Try - CreaObjetosVentaAmortizacion(ObjVentas, FolioFiscalRelacionado, CveAnticipoPadre, NCDescuento:=NCDescuento) + Dim CveVentaRelacionada As Integer = -1 + If NuevaFactura = 1 Then + CveVentaRelacionada = ObjFactura.CveVenta + Else + CveVentaRelacionada = CveAnticipoPadre + End If + + CreaObjetosVentaAmortizacion(ObjVentas, FolioFiscalRelacionado, CveVentaRelacionada, NCDescuento:=NCDescuento) If RegistrarNCAmortizacion(ObjVentas, ObjConta, ObjInventario, ObjContr, ObjContPaq, ObjFacturaDevolucion, ObjBancos, Nothing, Nothing, NCDescuento:=NCDescuento) Then Obj2.Add(ObjFacturaDevolucion) @@ -7431,8 +7444,8 @@ Partial Class Ventas For Each gvr As GridViewRow In GvImpuestosLocales2.Rows If gvr.RowType = DataControlRowType.DataRow Then Dim Orden As Integer = 80 - If gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDouble > 0 Then - DR("ImpuestoLocal") = gvr.DataKey("ImpuestoLocal").ToString : DR("Importe") = gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDouble : DR("Orden") = Orden : DR("Porcentaje") = gvr.DataKey("Porcentaje").ToString : DR("TipoImpuesto") = gvr.DataKey("TipoImpuesto").ToString : DR("IdCtaContable") = gvr.DataKey("IdCtaContable").ToString.ToEntero : TmpDTImpuestos.Rows.Add(DR) + If gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDecimal > 0 Then + DR("ImpuestoLocal") = gvr.DataKey("ImpuestoLocal").ToString : DR("Importe") = gvr.FCTextBox("TxtImpuestoLocalPS").Text.ToDecimal.RoundSQL(2) : DR("Orden") = Orden : DR("Porcentaje") = gvr.DataKey("Porcentaje").ToString : DR("TipoImpuesto") = gvr.DataKey("TipoImpuesto").ToString : DR("IdCtaContable") = gvr.DataKey("IdCtaContable").ToString.ToEntero : TmpDTImpuestos.Rows.Add(DR) DR = TmpDTImpuestos.NewRow() Orden = Orden + 1 End If @@ -7524,13 +7537,16 @@ Partial Class Ventas End If End If - If DtVentasNC Is Nothing Then InicializaDTVentasNC() - Dim Drt = DtVentasNC.NewRow - Drt("CveVenta") = ObjFactura.CveVenta - Drt("Importe") = 0 - Drt("FolioFiscal") = ObjFactura.FolioFiscal - DtVentasNC.Rows.Add(Drt) - DtVentasNC.AcceptChanges() + 'SI NO ES REFACTURACION + If NuevaFactura <> 1 Then + If DtVentasNC Is Nothing Then InicializaDTVentasNC() + Dim Drt = DtVentasNC.NewRow + Drt("CveVenta") = ObjFactura.CveVenta + Drt("Importe") = 0 + Drt("FolioFiscal") = ObjFactura.FolioFiscal + DtVentasNC.Rows.Add(Drt) + DtVentasNC.AcceptChanges() + End If End Sub @@ -7648,7 +7664,14 @@ Partial Class Ventas factura.RetIVA = TotalRetIVA factura.RetISR = TotalRetISR factura.Total = Total - factura.CveVentaPadre = CveVentaP + + 'SI ES REFACTURACION DEBE RELACIONAR CON LA VENTA NUEVA + If NuevaFactura = 1 Then + factura.CveVentaPadre = ObjFactura.CveVenta + Else + factura.CveVentaPadre = CveVentaP + End If + If DtVentasNC IsNot Nothing AndAlso DtVentasNC.Rows.Count > 0 Then DtVentasNC.Rows(0)("Importe") = Total @@ -8243,7 +8266,12 @@ Partial Class Ventas For Each DrImpuestosLocales As DataRow In TmpDTImpuestos.FiltraParametros("TipoImpuesto = 1").Rows If DrImpuestosLocales("Importe").ToString.ToDecimal > 0 Then - Dim ret As New CFDIRetencionesLocales With {.TasaRetencion = DrImpuestosLocales("Porcentaje").ToString.ToDecimal, .ImpuestoLocalRetenido = DrImpuestosLocales("ImpuestoLocal").ToString, .Importe = DrImpuestosLocales("Importe").ToString.ToDecimal(If(ObjFactura.ConvertirPesos, ObjFactura.TipoCambio, 1))} + Dim ret As New CFDIRetencionesLocales With + { + .TasaRetencion = DrImpuestosLocales("Porcentaje").ToString.ToDecimal, + .ImpuestoLocalRetenido = DrImpuestosLocales("ImpuestoLocal").ToString, + .Importe = DrImpuestosLocales("Importe").ToString.ToDecimal(If(ObjFactura.ConvertirPesos, ObjFactura.TipoCambio, 1)).RoundSQL(2) + } ObjFactura.Timbre.RetencionesLocales.Add(ret) End If Next @@ -18406,39 +18434,44 @@ Partial Class Ventas 'Else 'End If - If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Dev", "Egs", "RNC") Then - Dim sb As New StringBuilder() - sb.Append("La factura se encuentra en el siguiente estatus del SAT:
    ") - Dim TotalT As Decimal = TxtTotal.Text.ToDecimal - Dim RFCReceptor As String = LblRFC.Text.Trim - Dim Vigencia = Timbrado.VerificarVigenciaSAT(FolioFiscal, UsuarioActual.Empresa.RFC, RFCReceptor, TotalT.ToString(), True) - If Vigencia IsNot Nothing Then - If Vigencia.EsCancelable.ToUpper() = "NO CANCELABLE" Then - Alert("Esta factura no es cancelable.", TipoMensaje.MsgAdvertencia) - Exit Sub - End If - If String.IsNullOrEmpty(Vigencia.EsCancelable) Then - If Not String.IsNullOrEmpty(FolioFiscal) Then - Alert("No se pudo encontrar el estatus de la factura en el SAT.", TipoMensaje.MsgAdvertencia) + 'SI ES PRODUCCION VERIFICA EL ESTATUS ANTE EL SAT + If UsuarioActual.Empresa.FacturaProduccion AndAlso Not FolioFiscal.Contains("test") Then + Dim sb As New StringBuilder() + sb.Append("La factura se encuentra en el siguiente estatus del SAT:
    ") + + Dim TotalT As Decimal = TxtTotal.Text.ToDecimal + Dim RFCReceptor As String = LblRFC.Text.Trim + Dim Vigencia = Timbrado.VerificarVigenciaSAT(FolioFiscal, UsuarioActual.Empresa.RFC, RFCReceptor, TotalT.ToString(), True) + If Vigencia IsNot Nothing Then + If Vigencia.EsCancelable.ToUpper() = "NO CANCELABLE" Then + Alert("Esta factura no es cancelable.", TipoMensaje.MsgAdvertencia) Exit Sub End If - sb.Append("No encontrado
    ") + If String.IsNullOrEmpty(Vigencia.EsCancelable) Then + If Not String.IsNullOrEmpty(FolioFiscal) Then + Alert("No se pudo encontrar el estatus de la factura en el SAT.", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + sb.Append("No encontrado
    ") + Else + sb.AppendFormat("{0}
    ", Vigencia.EsCancelable) + End If Else - sb.AppendFormat("{0}
    ", Vigencia.EsCancelable) + sb.Append("No encontrado
    ") End If + + sb.Append("Está seguro de cancelar el documento?.") + + LblCancelarDocumento.Text = sb.ToString() + + RegistraScript("$('#ModalCancelarDocumento').modal();") + UpCancelarDocumento.Update() Else - sb.Append("No encontrado
    ") + CancelarDocumento() End If - sb.Append("Está seguro de cancelar el documento?.") - - LblCancelarDocumento.Text = sb.ToString() - - RegistraScript("$('#ModalCancelarDocumento').modal();") - UpCancelarDocumento.Update() - Else CancelarDocumento() End If diff --git a/vwd.webinfo b/vwd.webinfo index 5155bd0b4..824b76cb0 100644 --- a/vwd.webinfo +++ b/vwd.webinfo @@ -15,6 +15,8 @@ + + \ No newline at end of file