From dbe3b28c4c6e63cacdec7424255f5df9548b347b Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 24 Feb 2021 12:26:32 -0700 Subject: [PATCH] Cambios BDH, ajuste y garantia --- Acumuladores/CatFoliosGarantia.aspx | 13 +- Acumuladores/CatFoliosGarantia.aspx.vb | 33 +- App_Code/ClsAcumuladores.vb | 25 +- App_Code/ClsSubProyectos.vb | 16 +- App_Code/Modelos.vb | 9 +- App_Code/modExtensiones.vb | 2 +- Bancos/PopIEVentas.aspx.vb | 2 +- Compras/PopUpVerFactura.aspx.vb | 158 +- Contratos/Contrato.aspx | 34 +- Contratos/Contrato.aspx.vb | 65 +- Empresas/Grales/Formatos/Ajuste.rdlc | 4043 ++++++++++++------------ Inventarios/RecepcionAlmacen.aspx.vb | 41 +- Inventarios/RecepcionUsados.aspx | 10 +- Inventarios/RecepcionUsados.aspx.vb | 18 +- Planeacion/CatSubProyectos.aspx | 6 +- Planeacion/CatSubProyectos.aspx.vb | 12 +- Ventas/PV.aspx | 65 +- Ventas/PV.aspx.vb | 264 +- Ventas/RepVentas.aspx | 1057 ++++--- Ventas/RepVentas.aspx.vb | 74 +- Ventas/Ventas.aspx.vb | 55 +- asmx/WsTSoft.asmx | 221 +- 22 files changed, 3474 insertions(+), 2749 deletions(-) diff --git a/Acumuladores/CatFoliosGarantia.aspx b/Acumuladores/CatFoliosGarantia.aspx index 06291a483..dac5e3565 100644 --- a/Acumuladores/CatFoliosGarantia.aspx +++ b/Acumuladores/CatFoliosGarantia.aspx @@ -384,11 +384,12 @@
-
+
+ OnRowDataBound="GvGarantiasDetalle_RowDataBound" DataKeyNames="Consecutivo,CodigoCliente,CodigoSucursal,Codigo,CodigoProducto2,CodigoTipoUso,CodigoTipoDefecto,CodigoEnsamble,CodigoLinea,CodigoInspeccion,FechaVenta,FechaReclamacion,TipoComprobante,Comprobante,Autorizo,Comentarios,ClaveAutorizacion" BorderColor="#D3D3D3" GridLines="None"> + @@ -397,9 +398,15 @@ - + + + + + + +
diff --git a/Acumuladores/CatFoliosGarantia.aspx.vb b/Acumuladores/CatFoliosGarantia.aspx.vb index 3acab2744..6d76cfee3 100644 --- a/Acumuladores/CatFoliosGarantia.aspx.vb +++ b/Acumuladores/CatFoliosGarantia.aspx.vb @@ -1,6 +1,6 @@ Imports System.Data Imports Extensiones - +Imports Microsoft.Reporting.WebForms Partial Class Acumuladores_CatFoliosGarantia Inherits ClsPaginas @@ -41,10 +41,10 @@ Partial Class Acumuladores_CatFoliosGarantia CargadatosGvFolioGarantia(DdlEstatus.SelectedValue.ToEntero, DdlTipoFolio.SelectedValue) End If - End Sub - - - + End Sub + + + #Region "Folios Garantía" Private Sub CargaSubProyectos() CargarCentrosDeCosto(Nothing, DdlSubProyectos, Nothing, lblSubProyecto) @@ -162,27 +162,22 @@ Partial Class Acumuladores_CatFoliosGarantia End Sub - Public Sub Remove_ClickFolioGarantia(sender As Object, e As EventArgs) - - Dim objAcum As New ClsAcumuladores + Public Sub Remove_ClickFolioGarantia(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) Dim activo As Boolean = 0 Dim CveCapacitador As Integer = GvRow.DataKey("CveFolioGarantia") + Dim objAcum As New ClsAcumuladores If objAcum.FoliosGarantiaRemove(CveCapacitador, UsuarioActual.CveEmpresa) Then - CargadatosGvFolioGarantia(-1, "-1") - Alert("Capacitador Eliminó Correctamente ", TipoMensaje.MsgInformacion) Else Alert("Ocurrió un error al Eliminar el Folio de Garantía", TipoMensaje.MsgError) End If - objAcum.Dispose() CargadatosGvFolioGarantia(-1, "-1") CveFolioGarantia = -1 - End Sub Public Sub Edit_ClickFolioGarantia(sender As Object, e As EventArgs) @@ -263,9 +258,9 @@ Partial Class Acumuladores_CatFoliosGarantia '1.- Consecutivo Partida-->1 SbTxt.AppendFormat("{0}@", GvRow.DataKey("Consecutivo")) '2.- Cliente-->100407 - SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoCliente")) + SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoSucursal")) '3. Codigo De Articulo --> 171402 - SbTxt.AppendFormat("{0}@", GvRow.DataKey("Codigo")) + SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoProducto2")) '4. Tipo De Uso --> A SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoTipoUso")) '5. Defecto --> P @@ -277,9 +272,9 @@ Partial Class Acumuladores_CatFoliosGarantia '8. Codigo De Inspeccion --> J8K SbTxt.AppendFormat("{0}@", GvRow.DataKey("CodigoInspeccion")) '9. Fecha De Venta --> 05/09/2009 - SbTxt.AppendFormat("{0}@", GvRow.DataKey("FechaVenta").ToDateTime().ToString("dd/MM/yyyy")) + SbTxt.AppendFormat("{0}@", GvRow.DataKey("FechaVenta").ToDateTime().ToString("MM-dd-yyyyy")) '10. Fecha De Reclamacion --> 05/07/2010 - SbTxt.AppendFormat("{0}@", GvRow.DataKey("FechaReclamacion").ToDateTime().ToString("dd/MM/yyyy")) + SbTxt.AppendFormat("{0}@", GvRow.DataKey("FechaReclamacion").ToDateTime().ToString("MM-dd-yyyyy")) '11. TipoComprobante --> 1 SbTxt.AppendFormat("{0}@", GvRow.DataKey("TipoComprobante")) '12. Comprobante --> N/A @@ -305,4 +300,10 @@ Partial Class Acumuladores_CatFoliosGarantia Response.End() End Sub + + Protected Sub GvGarantiasDetalle_RowDataBound(sender As Object, e As GridViewRowEventArgs) + If e.Row.RowType = DataControlRowType.DataRow Then + e.Row.FCHyperLink("HlDescargarPDF").NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=AJUSTE&CveGarantiaDetalle={e.Row.DBCampo("CveGarantiaDetalle")}")}" + End If + End Sub End Class diff --git a/App_Code/ClsAcumuladores.vb b/App_Code/ClsAcumuladores.vb index c37e75652..1fa3fd811 100644 --- a/App_Code/ClsAcumuladores.vb +++ b/App_Code/ClsAcumuladores.vb @@ -727,8 +727,9 @@ Public Class ClsAcumuladores Public Function AddGarantiasDetalle(CveVentaDetalle As Integer, CvePS As Integer, CveFolioGarantia As Integer, CveTipoUso As Integer, CodigoEnsamble As String, CodigoLinea As String, CodigoInspeccion As String, - CveTipoDefecto As Integer, NumPoliza As String, Importe As Double, - Consecutivo As String, FechaAjuste As DateTime, PorcentajeAjuste As Decimal) As Boolean + CveTipoDefecto As Integer, CodigoTD As String, TipoComprobante As Integer, Comprobante As String, Importe As Double, + Consecutivo As String, FechaAjuste As DateTime, PorcentajeAjuste As Decimal, CveBCIAjuste As Integer, Etiqueta As String, CveClienteDistribuidor As Integer, + CveModeloAuto As Integer, Año As String) As Boolean Dim Retorno As Boolean = False SqlDataAdapter("PA_Acum_GarantiasDetalleAdd") With SqlAdapter.SelectCommand.Parameters @@ -739,12 +740,19 @@ Public Class ClsAcumuladores .Add("@CodigoEnsamble", SqlDbType.VarChar).Value = CodigoEnsamble .Add("@CodigoLinea", SqlDbType.VarChar).Value = CodigoLinea .Add("@CodigoInspeccion", SqlDbType.VarChar).Value = CodigoInspeccion - .Add("@CveTipoDefecto", SqlDbType.Int).Value = CveTipoDefecto - .Add("@NumPoliza", SqlDbType.VarChar).Value = NumPoliza + .Add("@CveTipoDefecto", SqlDbType.Int).Value = CveTipoDefecto + .Add("@CodigoTD", SqlDbType.VarChar).Value = CodigoTD + .Add("@TipoComprobante", SqlDbType.TinyInt).Value = TipoComprobante + .Add("@Comprobante", SqlDbType.VarChar).Value = Comprobante .Add("@Importe", SqlDbType.Float).Value = Importe .Add("@Consecutivo", SqlDbType.VarChar).Value = Consecutivo - .Add("@FechaAjuste", SqlDbType.DateTime).Value = FechaAjuste + .Add("@FechaAjuste", SqlDbType.DateTime).Value = FechaAjuste .Add("@PorcentajeAjuste", SqlDbType.Float).Value = PorcentajeAjuste + .Add("@CveBCIAjuste", SqlDbType.Int).Value = CveBCIAjuste + .Add("@Etiqueta", SqlDbType.VarChar).Value = Etiqueta + .Add("@CveClienteDistribuidor", SqlDbType.Int).Value = CveClienteDistribuidor + .Add("@CveModeloAuto", SqlDbType.Int).Value = CveModeloAuto + .Add("@Año", SqlDbType.VarChar).Value = Año End With Try SqlAdapter.Fill(Data) @@ -754,6 +762,8 @@ Public Class ClsAcumuladores End Try Return Retorno End Function + + Public Function GetGarantiasDetalle(CveVenta As Integer) As Boolean Dim Retorno As Boolean = False SqlDataAdapter("PA_Acum_GarantiasDetalleGet") @@ -1153,13 +1163,14 @@ Public Class ClsAcumuladores Return Retorno End Function - Public Function GetFoliosGarantiasDetalle(CveFolioGarantia As Integer) As Boolean + Public Function GetFoliosGarantiasDetalle(CveFolioGarantia As Integer, Optional CveGarantiaDetalle As Integer = -1) As Boolean Dim Retorno As Boolean = False SqlDataAdapter("PA_Acum_GarantiasDetalleFolioGet") With SqlAdapter.SelectCommand.Parameters - .Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia + .Add("@CveFolioGarantia", SqlDbType.Int).Value = CveFolioGarantia + .Add("@CveGarantiaDetalle", SqlDbType.Int).Value = CveGarantiaDetalle End With Try diff --git a/App_Code/ClsSubProyectos.vb b/App_Code/ClsSubProyectos.vb index f14b98c57..eb0f0d55a 100644 --- a/App_Code/ClsSubProyectos.vb +++ b/App_Code/ClsSubProyectos.vb @@ -327,13 +327,13 @@ Public Class ClsSubProyectos OnError("Ocurrió un error al obtener las ventas no timbradas por centro de costo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) End Try Return Retorno - End Function - + End Function + #Region "N U E V O C E N T R O D E C O S T O S" Public Function AddCentroCosto(SubProyecto As String, IdSegNeg As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveProyecto As Integer, Optional Serie As String = "", Optional IVA As Double = 0.0, Optional Calle As String = "", Optional NoExt As String = "", Optional NoInt As String = "", Optional Colonia As String = "", Optional Localidad As String = "", Optional Municipio As String = "", Optional Estado As String = "", Optional Pais As String = "", Optional CP As String = "", Optional TipoSucursal As Integer = 0, Optional EsSucursal As Integer = 0, Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1, Optional AplicaComercioExterior As Boolean = False, Optional Correo As String = "", Optional CvePrecioLista As Integer = -1, - Optional Telefono As String = "", Optional NoVerificaAlmacen As Boolean = False) As Boolean + Optional Telefono As String = "", Optional NoVerificaAlmacen As Boolean = False, Optional CodigoSucursal As String = "") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_CentroCostoAdd") @@ -365,7 +365,8 @@ Public Class ClsSubProyectos .Add("@Correo", SqlDbType.VarChar).Value = Correo .Add("@CvePrecioLista", SqlDbType.Int).Value = CvePrecioLista .Add("@Telefono", SqlDbType.VarChar).Value = Telefono - .Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen + .Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen + .Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal .Add("@CveSubProyecto", SqlDbType.Int).Direction = ParameterDirection.Output End With @@ -388,7 +389,7 @@ Public Class ClsSubProyectos Public Function UpdateCentroCosto(CveSubProyecto As Integer, SubProyecto As String, IdSegNeg As Integer, Estatus As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveProyecto As Integer, Optional Serie As String = "", Optional IVA As Double = 0.0, Optional Calle As String = "", Optional NoExt As String = "", Optional NoInt As String = "", Optional Colonia As String = "", Optional Localidad As String = "", Optional Municipio As String = "", Optional Estado As String = "", Optional Pais As String = "", Optional CP As String = "", Optional TipoSucursal As Integer = 0, Optional EsSucursal As Integer = 0, Optional CvePais As Integer = -1, Optional CveEstado As Integer = -1, Optional CveMunicipio As Integer = -1, Optional CveColonia As Integer = -1, Optional AplicaComercioExterior As Boolean = False, Optional Correo As String = "", Optional CvePrecioLista As Integer = -1, - Optional Telefono As String = "", Optional HorarioVerano As Integer = Nothing, Optional HorarioInvierno As Integer = Nothing, Optional NoVerificaAlmacen As Boolean = False) As Boolean + Optional Telefono As String = "", Optional HorarioVerano As Integer = Nothing, Optional HorarioInvierno As Integer = Nothing, Optional NoVerificaAlmacen As Boolean = False, Optional CodigoSucursal As String = "") As Boolean Dim Retorno As Boolean = False DataAdapter("PA_CentroCostoUpdate") @@ -425,6 +426,7 @@ Public Class ClsSubProyectos .Add("@HorarioVerano", SqlDbType.Int).Value = HorarioVerano .Add("@HorarioInvierno", SqlDbType.Int).Value = HorarioInvierno .Add("@NoVerificaAlmacen", SqlDbType.Bit).Value = NoVerificaAlmacen + .Add("@CodigoSucursal", SqlDbType.VarChar).Value = CodigoSucursal End With Try @@ -442,10 +444,10 @@ Public Class ClsSubProyectos End Try Return Retorno - End Function + End Function #End Region #Region " IDisposable Support " - ' Visual Basic agregó este código para implementar correctamente el modelo descartable. + ' Visual Basic agregó este código para implementar correctamente el modelo descartable. Public Sub Dispose() Implements IDisposable.Dispose ' No cambie este código. Coloque el código de limpieza en Dispose (ByVal que se dispone como Boolean). ConexionClose() diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 8ebf065ce..37f285efa 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -1527,8 +1527,9 @@ Namespace Modelos If DtAjustes IsNot Nothing AndAlso DtAjustes.Rows.Count > 0 Then For Each Dr As DataRow In DtAjustes.Rows If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero, - Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero, - Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal()) Then + Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero, Dr("CodigoTD").ToString, Dr("TipoComprobante").ToString.ToEntero(), + Dr("Comprobante").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal(), + Dr("CveBCIAjuste").ToString.ToEntero(), Dr("Etiqueta").ToString, Dr("CveClienteDistribuidor").ToString.ToEntero(), Dr("CveModeloAuto").ToString.ToEntero(), Dr("Año").ToString) Then ErrorList.Add("Ocurrió un error al agregar la garantia detalle.") End If Next @@ -4839,14 +4840,14 @@ Namespace Modelos Dim CveCliente As Integer = ObjVentas.DtResultados(0)("CveCliente").ToString.ToEntero Dim ClienteNombre As String = ObjVentas.DtResultados(0)("ClienteNombre").ToString Dim SerieFolio As String = ObjVentas.DtResultados(0)("SerieFolio").ToString - Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundSQL() + Dim TotalCosto As Decimal = DtCostos.SUMD("Total").RoundAD() Dim TotalCostoAcumulado As Decimal = 0 Dim cont As Integer = 1 Dim CvePrePolizaDev As Integer = ObjConta.AddPrePolizas("Modelos/RecepcionEntrega", 4, TotalCosto, TotalCosto, 1, Fecha, ClienteNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) 'SE AGREGA MOVIMIENTO SEPARADO POR LA CUENTA DE VENTAS (ER) For Each RowInv As DataRow In tmpCostos.Rows - ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL() + ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundAD() TotalCostoAcumulado += ValorInventario 'CUANDO ES EL ÚLTIMO MOVIMIENTO Y HAY DIFERENCIAS EN LOS IMPORTES diff --git a/App_Code/modExtensiones.vb b/App_Code/modExtensiones.vb index ee3b331f1..94768effd 100644 --- a/App_Code/modExtensiones.vb +++ b/App_Code/modExtensiones.vb @@ -380,7 +380,7 @@ Namespace Extensiones Dim Pag As Page = DirectCast(System.Web.HttpContext.Current.Handler, Page) Dim script As String = "" If showalert Then - script = String.Format("bootbox.dialog({{message: ""{0} "", className: ""{11}"", {12} onEscape: function() {{ {12} }},title: ""{1}"",buttons: {{ success: {{ label: ""{2}"", className: "" {3}""," & + script = String.Format("bootbox.dialog({{message: ""{0} "", className: ""{11}"", {13} onEscape: function() {{ {12} }},title: ""{1}"",buttons: {{ success: {{ label: ""{2}"", className: "" {3}""," & "callback: function() {{ {4} }} }}, danger: {{ label: ""{5}"", className: "" {6}"",callback: function() {{ {7} }} }}," & "main: {{ label: ""{8}"", className: "" {9}"", callback: function() {{ {10} }} }} }} }});", Mensaje, Titulo, b3title, b3clas, b3js, b2title, b2clas, b2js, b1title, b1clas, b1js, headerclas, onEscape, closeButtonOption) diff --git a/Bancos/PopIEVentas.aspx.vb b/Bancos/PopIEVentas.aspx.vb index 11f56d18e..84c278ab9 100644 --- a/Bancos/PopIEVentas.aspx.vb +++ b/Bancos/PopIEVentas.aspx.vb @@ -690,7 +690,7 @@ Partial Class Bancos_PopIEVentas If Not UsuarioActual.Empresa.Funcionalidad(529) = "1" Then - Dim Valida As New ClsValidaCFDi(dr("FolioFiscal").ToString(), dr("ClienteRFC").ToString, UsuarioActual.Empresa.RFC) + Dim Valida As New ClsValidaCFDi(dr("FolioFiscal").ToString(), dr("ClienteRFC").ToString, UsuarioActual.Empresa.RFC, Importe:=dr("Total").ToString().ToDecimal()) If Valida.EsValida > 0 Then If Valida.EsValida = 2 Then diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 60e3e291a..5f8231cee 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -485,6 +485,13 @@ Partial Class PopUpVerFactura If UrlParametros("CVEASIGNACIONENTREGA") IsNot Nothing And UrlParametros("USUARIOENTREGA") IsNot Nothing Then ImprimeEntregasPorRealizar(UrlParametros("CVEASIGNACIONENTREGA").ToString.ToLong, UrlParametros("USUARIOENTREGA").ToString) End If + End If + + 'PDF AJUSTE + If UrlParametros("OP").ToString = "AJUSTE" Then + If UrlParametros("CVEGARANTIADETALLE") IsNot Nothing Then + ImprimirPDFAjuste(UrlParametros("CVEGARANTIADETALLE").ToString.ToEntero) + End If End If End Sub @@ -1296,7 +1303,7 @@ Partial Class PopUpVerFactura Dim ResponsableRecibio As String = ObjInventarios.ResponsableRecibio Dim UsuarioCapturo As String = ObjInventarios.DtResultados.FiltroPrimeroValor("UsuarioCapturo") - If Recibio.Trim = "" Then + If String.IsNullOrEmpty(Recibio) Then Dim ObjRH As New ClsRH If ObjRH.GetPersonal(ObjInventarios.CvePersonal, UsuarioActual.CveEmpresa) AndAlso ObjRH.DtResultados.Rows.Count > 0 Then Recibio = ObjRH.DtResultados.Rows(0)("NombreCompleto").ToString @@ -4445,4 +4452,153 @@ Partial Class PopUpVerFactura End Function #End Region +#Region "OP = AJUSTE" + Private Sub ImprimirPDFAjuste(CveGarantiaDetalle As Integer) + ' Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow) + Dim RowAjuste As DataRow = Nothing + + Using ObjAcum As New ClsAcumuladores + If ObjAcum.GetFoliosGarantiasDetalle(-1, CveGarantiaDetalle) Then + If ObjAcum.DtResultados.Rows.Count > 0 Then + RowAjuste = ObjAcum.DtResultados.Rows(0) + End If + End If + End Using + + Dim CvePSAjuste As Integer = RowAjuste("CvePS").ToString.ToEntero() + Dim CveCliente As Integer = RowAjuste("CveCliente").ToString.ToEntero() + Dim CveClienteDistribuidor As Integer = RowAjuste("CveClienteDistribuidor").ToString.ToEntero() + Dim Consec As String = RowAjuste("Consecutivo").ToString + Dim FolioGarantia As String = RowAjuste("FolioGarantia").ToString + Dim FechaAjuste As DateTime = RowAjuste("FechaVenta").ToString.ToDateTime() + Dim FechaReclamacion As DateTime = RowAjuste("FechaReclamacion").ToString.ToDateTime() + Dim TipoDefecto As String = RowAjuste("TipoDefecto").ToString + Dim CveTipoUso As Integer = RowAjuste("CveTipoUso").ToString.ToEntero() + Dim CodigoEnsamble As String = RowAjuste("CodigoEnsamble").ToString + Dim CodigoLinea As String = RowAjuste("CodigoLinea").ToString + Dim CodigoInspeccion As String = RowAjuste("CodigoInspeccion").ToString + + Dim MesesUso As String = "0" + Dim PorcentajeAjuste As String = RowAjuste("PorcentajeAjuste").ToString + Dim BCIAjuste As String = RowAjuste("BCIAjuste").ToString + Dim Etiqueta As String = RowAjuste("Etiqueta").ToString + + Dim Año As String = RowAjuste("Año").ToString + Dim Comprobante As String = RowAjuste("Comprobante").ToString + + Dim ModeloAuto As String = RowAjuste("ModeloAuto").ToString + Dim MarcaAuto As String = RowAjuste("MarcaAuto").ToString + + Dim MarcaPS As String = "" + Dim CveMarca As Integer = -1 + + Dim FechaI As Date = FechaAjuste.AddDays(1) + Dim FechaF As Date = FechaReclamacion + + Dim Dia As Integer = FechaI.Day + Try + 'validación adicional, para saber si el mes tiene 31 días y el actua es menor. + If FechaI.Day > Today.LastDayOfMonth.Day Then Dia = Today.LastDayOfMonth.Day + Dim FechaT As Date = String.Format("{0}/{1}/{2}", Dia, FechaF.Month, FechaF.Year).ToDate 'armo la fecha con el día del mes actual + + Dim MesesTrascurridos As Integer = Math.Round(DateDiff(DateInterval.Day, FechaI, FechaT) / 30.4, 2).ToEntero 'saco los meses y lo redondeo + + If FechaT > FechaF Then + 'todavía está en el mes actual. + MesesTrascurridos = MesesTrascurridos + Else + MesesTrascurridos = MesesTrascurridos + 1 + End If + + MesesUso = MesesTrascurridos.ToString + + Catch ex As Exception + OnError("Ocurrió un error al calcular los meses de uso", ex) + End Try + + + Dim ObjPS As New ClsProductosServicios + If ObjPS.GetPS(CvePSAjuste, -1, UsuarioActual.CveEmpresa) Then + MarcaPS = ObjPS.DtResultados.FiltroPrimeroValor("Marca", String.Format("CvePS = {0}", CvePSAjuste)) + End If + ObjPS.Dispose() + + 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 DtDatos As New DataTable + + Dim params As New List(Of ReportParameter) + + + 'Informacion Distribuidor + If (CveClienteDistribuidor > 0) Then + + Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", CveClienteDistribuidor)) + Dim CiudadEstado As String = "" + Dim Telefono As String = "" + Dim Nombre As String = "" + + If DatosClienteSeleccionado IsNot Nothing Then + CiudadEstado = String.Format("{0}, {1}", DatosClienteSeleccionado("Ciudad"), DatosClienteSeleccionado("Estado")) + Telefono = DatosClienteSeleccionado("Telefono").ToString + Nombre = DatosClienteSeleccionado("Nombre").ToString + End If + + params.Add(New ReportParameter("NombreDistribuidor", Nombre)) + params.Add(New ReportParameter("CiudadEstado", CiudadEstado)) + params.Add(New ReportParameter("TelCliente", Telefono)) + End If + + + params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) + params.Add(New ReportParameter("Consec", Consec)) + params.Add(New ReportParameter("FolioAcuse", FolioGarantia)) + + 'Informacion de Garantia o ajuste + params.Add(New ReportParameter("FechaInst", FechaAjuste.ToString("dd/MM/yyyy"))) + params.Add(New ReportParameter("Fecha", FechaReclamacion.ToString("dd/MM/yyyy"))) + params.Add(New ReportParameter("Defecto", TipoDefecto)) + params.Add(New ReportParameter("MesesUso", MesesUso)) + params.Add(New ReportParameter("PorcentajeAjuste", PorcentajeAjuste)) + + 'Informacion Acumulador + params.Add(New ReportParameter("CodEnsamble", CodigoEnsamble)) + params.Add(New ReportParameter("CodLinea", CodigoLinea)) + params.Add(New ReportParameter("CodInspeccion", CodigoInspeccion)) + params.Add(New ReportParameter("Tipo", BCIAjuste)) + params.Add(New ReportParameter("Marca", MarcaPS)) + params.Add(New ReportParameter("Etiqueta", Etiqueta)) + + 'Informacion Vehiculo + params.Add(New ReportParameter("MarcaAuto", MarcaAuto)) + params.Add(New ReportParameter("TipoAuto", ModeloAuto)) + + 'Informacion Consumidor + 'Informacion Distribuidor + If (CveCliente > 0) Then + + Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", CveCliente)) + Dim Nombre As String = DatosClienteSeleccionado.Item("Nombre").ToString + Dim Ciudad As String = DatosClienteSeleccionado.Item("Ciudad").ToString + Dim Estado As String = DatosClienteSeleccionado.Item("Estado").ToString + + params.Add(New ReportParameter("NombreCliente", Nombre)) + params.Add(New ReportParameter("Direccion", String.Format("{0}, {1}", Ciudad.Trim, Estado))) + params.Add(New ReportParameter("CiudadEstadoConsumidor", String.Format("{0}, {1}", Ciudad.Trim, Estado))) + params.Add(New ReportParameter("TelConsumidor", DatosClienteSeleccionado.Item("Telefono").ToString)) + End If + + params.Add(New ReportParameter("Anio", Año)) + params.Add(New ReportParameter("Comprobante", Comprobante)) + + If Imagen.Exists Then + params.Add(New ReportParameter("LogoPath", logouri)) + Else + params.Add(New ReportParameter("LogoPath", "")) + End If + + ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF") + End Sub +#End Region + End Class diff --git a/Contratos/Contrato.aspx b/Contratos/Contrato.aspx index 3624dace8..72adfa923 100644 --- a/Contratos/Contrato.aspx +++ b/Contratos/Contrato.aspx @@ -291,7 +291,7 @@
- +
@@ -741,16 +741,7 @@
-
-
-
-
- - -
-
-
-
+
@@ -1972,8 +1963,21 @@
-
- +
+ +
+
+ +
+
+
+
+
+
+ + +
+
@@ -2003,11 +2007,11 @@ - <%-- --%> + <%-- --%> -<%-- + <%-- --%> diff --git a/Contratos/Contrato.aspx.vb b/Contratos/Contrato.aspx.vb index 1653e71d9..cc658606f 100644 --- a/Contratos/Contrato.aspx.vb +++ b/Contratos/Contrato.aspx.vb @@ -4450,15 +4450,17 @@ Partial Class Contratos_Default Select Case TipoContrato Case 7 'Contrato Comodato - SufijoContrato = "COM" + SufijoContrato = "COMODATO" Case 8 'Contrato Consignacion - SufijoContrato = "CONSIG" + SufijoContrato = "CONSIGNACION" + Case 9 'Contrato de Arrendamiento + SufijoContrato = "ARRENDAMIENTO" Case 10 'Contrato de Financiamiento - SufijoContrato = "FIN" + SufijoContrato = "FINANCIAMIENTO" Case 13 'Contrato Servicio Administrado de Impresion (?) SufijoContrato = "MPS" Case 28 'Convenio Precio Fijo - SufijoContrato = "CON" + SufijoContrato = "CONVENIO" End Select Dim Serie As String = String.Format("-{0}-{1}", DateTime.Today.Year, SufijoContrato) @@ -4504,6 +4506,61 @@ Partial Class Contratos_Default UpFacCiclica.Update() End Sub + Protected Sub BtnVerPlantilla_Click(sender As Object, e As EventArgs) + Dim Plantilla As String = TxtObservaciones.Text + + If Plantilla.Contains("{DIA}") Then + Plantilla = Plantilla.Replace("{DIA}", DateTime.Now.Day.ToString()) + End If + + If Plantilla.Contains("{MES}") Then + Dim fecha As DateTime = DateTime.Now + Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat + Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper() + + Plantilla = Plantilla.ToString().Replace("{MES}", nombreMes) + End If + + If Plantilla.Contains("{AÑO}") Then + Plantilla = Plantilla.Replace("{AÑO}", DateTime.Now.Year.ToString()) + End If + + If Plantilla.Contains("{TC}") Then + Plantilla = Plantilla.Replace("{TC}", GlobalTipoCambio(Now).FormatoNumero) + End If + + If Plantilla.Contains("{MESANTERIOR}") Then + Dim fecha As DateTime = DateTime.Now.AddMonths(-1) + Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat + Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper() + + Plantilla = Plantilla.ToString().Replace("{MESANTERIOR}", nombreMes) + End If + + If Plantilla.Contains("{INICIOMESANTERIOR}") Then + Dim fecha As DateTime = DateTime.Now.AddMonths(-1) + Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat + Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper() + + Dim mesAnterior As String = String.Format("01 {0} {1}", nombreMes, fecha.Year) + + Plantilla = Plantilla.ToString().Replace("{INICIOMESANTERIOR}", mesAnterior) + End If + + If Plantilla.Contains("{FINMESANTERIOR}") Then + Dim fecha As DateTime = DateTime.Now.AddMonths(-1) + Dim formatoFecha = Globalization.CultureInfo.CurrentCulture.DateTimeFormat + Dim nombreMes = formatoFecha.GetMonthName(fecha.Month).ToUpper() + + Dim LastDayOfMonth = DateTime.DaysInMonth(fecha.Year, fecha.Month) + + Dim mesAnterior As String = String.Format("{0} {1} {2}", LastDayOfMonth, nombreMes, fecha.Year) + + Plantilla = Plantilla.ToString().Replace("{FINMESANTERIOR}", mesAnterior) + End If + + Alert(Plantilla) + End Sub End Class diff --git a/Empresas/Grales/Formatos/Ajuste.rdlc b/Empresas/Grales/Formatos/Ajuste.rdlc index 782b9a556..1ce3803a1 100644 --- a/Empresas/Grales/Formatos/Ajuste.rdlc +++ b/Empresas/Grales/Formatos/Ajuste.rdlc @@ -1,2002 +1,2043 @@ - - - - - - true - true - - - - - Atención de Ajustes y Garantías - - - - - - - Textbox1 - 0.30208in - 0.43625in - 0.3125in - 7.52083in - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Información de Distribuidor - - - - - - - Textbox2 - 0.73833in - 0.43625in - 0.22917in - 7.52083in - 1 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Nombre del distribuidor: - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Ciudad, Estado: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Tel. - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Nombre del mayorista que lo atiende: - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Consecutivo acuse de acumuladores: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Folio acuse: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Información de Garantía o Ajuste - - - - - - - Textbox2 - 1.80082in - 0.43625in - 0.22917in - 7.52083in - 8 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha de instalación: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Año: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Día: - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Mes: - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Fecha de Reclamación: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Año: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Día: - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Mes: - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Defecto: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - %Ajuste: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Meses de uso: - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Información Acumulador - - - - - - - Textbox2 - 2.65498in - 0.43624in - 0.22917in - 7.52083in - 20 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Tipo: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Etiqueta: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Marca: - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!CodEnsamble.Value - - - - Textbox3 - 3.09248in - 0.43623in - 0.20833in - 2.17711in - 24 - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!CodInspeccion.Value - - - - Textbox3 - 3.09248in - 5.06124in - 0.20833in - 2.89582in - 25 - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!CodLinea.Value - - - - Textbox3 - 3.09248in - 2.61334in - 0.20833in - 2.4479in - 26 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Ensamble (primeros 7 dígitos) - - - - - - - Textbox3 - 3.30081in - 0.43623in - 0.20833in - 2.17711in - 27 - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Inspección (4 dígitos) - - - - - - - Textbox3 - 3.30081in - 5.06124in - 0.20833in - 2.89582in - 28 - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Linea (4 dígitos) - - - - - - - Textbox3 - 3.30081in - 2.61334in - 0.20833in - 2.4479in - 29 - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Información del Consumidor - - - - - - - Textbox2 - 3.50914in - 0.43625in - 0.28125in - 7.52083in - 30 - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Información Vehículo - - - - - - - Textbox2 - 3.7904in - 0.43625in - 0.22917in - 7.52083in - 31 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Marca: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Tipo: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Año: - - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Información Consumidor - - - - - - - Textbox2 - 4.2279in - 0.43623in - 0.22917in - 7.52083in - 35 - - - Silver - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Nombre del consumidor: - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Dirección: - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Ciudad, Estado: - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Tel. - - - - Black - - 1pt - - - Black - - 1pt - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - - - - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Por medio de la presente acepto de conformidad el ajuste o garantía según información arriba mencionada. - - - - - - 2pt - 2pt - 2pt - 2pt - - - - 5.97792in - 0.70708in - 0in - 3.03125in - 42 - - - - - - 5.97792in - 4.44667in - 0in - 3.13542in - 43 - - - - - - true - true - - - - - Fecha - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - Firma del Consumidor - - - 2pt - 2pt - 2pt - 2pt - - - - true - true - - - - - =Parameters!Fecha.Value - - - - - - - Textbox46 - 5.70014in - 0.70708in - 0.25in - 3.03125in - 46 - - - 2pt - 2pt - 2pt - 2pt - - - - 6.57167in - - - - =Today - - - - - - - - - - 2pt - 2pt - 2pt - 2pt - - - - - - - - 1pt - 1pt - 1pt - 1pt - + + + + + + Textbox1 + 0.30208in + 0.43625in + 0.3125in + 7.52083in + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Información de Distribuidor + + + + + + + Textbox2 + 0.73833in + 0.43625in + 0.22917in + 7.52083in + 1 + + + Silver + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Nombre del distribuidor: + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Ciudad, Estado: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Tel. + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Nombre del mayorista que lo atiende: + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Consecutivo acuse de acumuladores: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Folio acuse: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Información de Garantía o Ajuste + + + + + + + Textbox2 + 1.80082in + 0.43625in + 0.22917in + 7.52083in + 8 + + + Silver + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Fecha de instalación: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Año: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Día: + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Mes: + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Fecha de Reclamación: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Año: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Día: + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Mes: + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Defecto: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + %Ajuste: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Meses de uso: + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Información Acumulador + + + + + + + Textbox2 + 2.65498in + 0.43624in + 0.22917in + 7.52083in + 20 + + + Silver + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Tipo: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Etiqueta: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Marca: + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!CodEnsamble.Value + + + + Textbox3 + 3.30498in + 0.43623in + 0.20833in + 2.17711in + 24 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!CodInspeccion.Value + + + + Textbox3 + 3.30498in + 5.06124in + 0.20833in + 2.89582in + 25 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + =Parameters!CodLinea.Value + + + + Textbox3 + 3.30498in + 2.61334in + 0.20833in + 2.4479in + 26 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Ensamble (primeros 7 dígitos) + + + + + + + Textbox3 + 3.51331in + 0.43623in + 0.20833in + 2.17711in + 27 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Inspección (4 dígitos) + + + + + + + Textbox3 + 3.51331in + 5.06124in + 0.20833in + 2.89582in + 28 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Linea (4 dígitos) + + + + + + + Textbox3 + 3.51331in + 2.61334in + 0.20833in + 2.4479in + 29 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Información del Consumidor + + + + + + + Textbox2 + 3.72164in + 0.43625in + 0.28125in + 7.52083in + 30 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Información Vehículo + + + + + + + Textbox2 + 4.0029in + 0.43625in + 0.22917in + 7.52083in + 31 + + + Silver + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Marca: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Tipo: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Año: + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Información Consumidor + + + + + + + Textbox2 + 4.4404in + 0.43623in + 0.22917in + 7.52083in + 35 + + + Silver + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Nombre del consumidor: + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Dirección: + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Ciudad, Estado: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Tel. + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + + + + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Por medio de la presente acepto de conformidad el ajuste o garantía según información arriba mencionada. + + + + + + 2pt + 2pt + 2pt + 2pt + + + + 6.19042in + 0.70708in + 0in + 3.03125in + 42 + + + + + + 6.19042in + 4.44667in + 0in + 3.13542in + 43 + + + + + + true + true + + + + + Fecha + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + Firma del Consumidor + + + 2pt + 2pt + 2pt + 2pt + + + + true + true + + + + + =Parameters!Fecha.Value + + + + + + + Textbox46 + 5.91264in + 0.70708in + 0.25in + 3.03125in + 46 + + + 2pt + 2pt + 2pt + 2pt + + + + true + + + + + Poliza: + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + 6.58209in + + + + =Today + + + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 1pt + 1pt + 1pt + 1pt + @@ -819,7 +827,7 @@ - + @@ -2645,8 +2653,8 @@
- +
@@ -2667,7 +2675,7 @@
- +
@@ -2763,7 +2771,7 @@
- Total: $ + Total: $
@@ -2816,12 +2824,13 @@
-
-
- +
+ +
+
@@ -2842,13 +2851,19 @@
-
+
+
+
+ + +
+
@@ -2897,7 +2912,7 @@
- +
@@ -2923,11 +2938,11 @@
- + - +
@@ -2952,33 +2967,45 @@
- + - +
-
+
- - + + + + + + + + +
+
+
+
+ + <%----%> <%----%> - +
- + - +
diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 18fb5bee9..cb3ef2a4c 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -1144,6 +1144,11 @@ Partial Class PV CargaVenta() End If + + If CveVenta > 0 Then + CargaTmpDTAjustes() + End If + 'CARGA PARA FACTURAR ViewState("CveRemision") = IfNull(Request("CveRemision").ToEntero, 0) ViewState("CveCotizacion") = IfNull(Request("CveCotizacion").ToEntero, 0) @@ -1807,6 +1812,28 @@ Partial Class PV OcurrioError = True Exit For 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) + rowInv("CveVentaDetalle") = CveVentaDetalle + End If + End If + + If TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.Rows.Count > 0 Then + If TmpDTAjustes.Select($"ConsecutivoVenta={Row("Consec").ToString.ToEntero}").Length > 0 Then + Dim DrAju As DataRow = TmpDTAjustes.Select($"ConsecutivoVenta={Row("Consec").ToString.ToEntero}")(0) + DrAju("CveVentaDetalle") = CveVentaDetalle + End If + End If + + If TmpDTPolizaVirtual IsNot Nothing Then + If TmpDTPolizaVirtual.Select($"CvePS={Row("CvePS").ToString.ToEntero}").Length > 0 Then + Dim RowPoliza As DataRow = TmpDTPolizaVirtual.Select($"CvePS={Row("CvePS").ToString.ToEntero}")(0) + RowPoliza("CveVentaDetalle") = CveVentaDetalle + End If + End If + Else If Not ObjVentas.AddVentaDetalle(CveVenta, Row("CvePS").ToString.ToEntero, Row("Cantidad").ToString.ToDouble, Row("CveUM").ToString.ToEntero, 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), @@ -1901,9 +1928,11 @@ Partial Class PV If Not OcurrioError AndAlso TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.Rows.Count > 0 Then For Each Dr As DataRow In TmpDTAjustes.Rows If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero, - Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero, - Dr("NumPoliza").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal()) Then - ErrorList.Add("Ocurrió un error al agregar la garantia detalle.") + Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero, Dr("CodigoTD").ToString, Dr("TipoComprobante").ToString.ToEntero, + Dr("Comprobante").ToString, Dr("Importe").ToString.ToDouble, Dr("Consecutivo").ToString, Dr("FechaAjuste").ToString.ToDateTime(), Dr("PorcentajeAjuste").ToString.ToDecimal(), + Dr("CveBCIAjuste").ToString.ToEntero(), Dr("Etiqueta").ToString, Dr("CveClienteDistribuidor").ToString.ToEntero(), Dr("CveModeloAuto").ToString.ToEntero(), Dr("Año").ToString) Then + OcurrioError = True + Exit For End If Next End If @@ -2451,9 +2480,9 @@ Partial Class PV End If If CveVenta <= 0 Then - CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago").ToString.ToEntero + CveMetodoPagoCliente = ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString.ToEntero DdlUsoCFDI.SelectedValueExist(ObjCliente.CveUsoCFDI.ToString) - DdlMetodoPago.SelectedValueExist(ObjCliente.CveMetodoPago.ToString) + 'DdlMetodoPago.SelectedValueExist(ObjCliente.CveMetodoPago.ToString) DdlMetodoPago33.SelectedValueExist(ObjCliente.CveMetodoPago33.ToString) 'DdlMetodoPago33.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveMetodoPago33").ToString) DdlMetodoPago33_SelectedIndexChanged(DdlMetodoPago33, EventArgs.Empty) @@ -2652,7 +2681,7 @@ Partial Class PV PlazoCobranza = ObjCliente.PlazoCobranza If CveVenta <= 0 Then - CveMetodoPagoCliente = ObjCliente.CveMetodoPago + 'CveMetodoPagoCliente = ObjCliente.CveMetodoPago DdlMetodoPago.SelectedValueExist(CveMetodoPagoCliente.ToString) DdlFormaPago33.SelectedValueExist(ObjCliente.CveFormaPago33) @@ -3156,10 +3185,19 @@ Partial Class PV If TmpDT.Rows.Count > 0 Then Dim Retorno = ObjFactura.EmitirFactura() If Retorno.CveVenta > 0 Then + Dim SbAlert As New StringBuilder SbAlert.AppendFormat("{0}
", Retorno.Mensajes(Retorno.Mensajes.Count - 1)) - SbAlert.AppendFormat("
", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", CveVenta))) + SbAlert.AppendFormat("
", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=1&GUARDAR=1", Retorno.CveVenta))) + Using ObjAcum As New ClsAcumuladores + If ObjAcum.GetGarantiasDetalle(Retorno.CveVenta) Then + Dim RowGarantia As DataRow = ObjAcum.DtResultados.FiltroPrimero("") + If RowGarantia IsNot Nothing Then + SbAlert.AppendFormat("
", Encripta(String.Format("OP=AJUSTE&CVEGARANTIADETALLE={0}", RowGarantia("CveGarantiaDetalle")))) + End If + End If + End Using Retorno.Mensajes(Retorno.Mensajes.Count - 1) = SbAlert.ToString() End If @@ -3432,7 +3470,7 @@ Partial Class PV 'SI LA SUCURSAL NO TIENE ENTREGA POR ADELANTADO If ObjFactura.CveAlmacenTraspasoDestino <= 0 And ObjFactura.TipoDocto = "Rem" Then - ErrorList.Add("Ocurrió un error al seleccionar el almacen de entrega por adelantado de la sucursal.") + ObjFactura.ErrorList.Add("Ocurrió un error al seleccionar el almacen de entrega por adelantado de la sucursal.") End If End If @@ -4687,10 +4725,10 @@ Partial Class PV LblTotalPS.Text = GvRow.DataKey("Total") ChkAgregar.Checked = False divagregrarotrops.Visible = False - If CveVenta <= 0 Then - Ajuste() - End If + + Ajuste() AddPolizaVirtual(DdlPS.SelectedValue.ToEntero()) + UpVenta.Update() RegistraScript("$('#DivAddVenta').modal({backdrop: 'static', keyboard: false});", "EdicionVenta") End Sub @@ -5967,6 +6005,7 @@ Partial Class PV TmpDTAjustes.Columns.Add("CveFolioGarantia", GetType(Integer)) TmpDTAjustes.Columns.Add("CveTipoUso", GetType(Integer)) TmpDTAjustes.Columns.Add("CveTipoDefecto", GetType(Integer)) + TmpDTAjustes.Columns.Add("CodigoTD", GetType(String)) TmpDTAjustes.Columns.Add("CodigoEnsamble", GetType(String)) TmpDTAjustes.Columns.Add("CodigoLinea", GetType(String)) TmpDTAjustes.Columns.Add("CodigoInspeccion", GetType(String)) @@ -5975,7 +6014,8 @@ Partial Class PV TmpDTAjustes.Columns.Add("FechaAjuste", GetType(Date)) TmpDTAjustes.Columns.Add("Meses", GetType(String)) TmpDTAjustes.Columns.Add("PorcentajeAjuste", GetType(Double)) - TmpDTAjustes.Columns.Add("NumPoliza", GetType(String)) + TmpDTAjustes.Columns.Add("TipoComprobante", GetType(Integer)) + TmpDTAjustes.Columns.Add("Comprobante", GetType(String)) TmpDTAjustes.Columns.Add("Importe", GetType(Double)) TmpDTAjustes.Columns.Add("CvePS", GetType(Integer)) TmpDTAjustes.Columns.Add("PS", GetType(String)) @@ -5984,6 +6024,93 @@ Partial Class PV TmpDTAjustes.Columns.Add("CveVentaDetalle", GetType(Integer)) TmpDTAjustes.Columns.Add("CveVenta", GetType(Integer)) TmpDTAjustes.Columns.Add("PUFactura", GetType(Double)) + TmpDTAjustes.Columns.Add("CveBCIAjuste", GetType(Integer)) + TmpDTAjustes.Columns.Add("Etiqueta", GetType(String)) + TmpDTAjustes.Columns.Add("CveClienteDistribuidor", GetType(Integer)) + TmpDTAjustes.Columns.Add("Distribuidor", GetType(String)) + TmpDTAjustes.Columns.Add("CveModeloAuto", GetType(Integer)) + TmpDTAjustes.Columns.Add("Año", GetType(String)) + End Sub + + Private Sub CargaTmpDTAjustes() + Dim DtGarantias As DataTable = Nothing + Using ObjAcum As New ClsAcumuladores + If ObjAcum.GetGarantiasDetalle(CveVenta) Then + Dim RowGarantia As DataRow = ObjAcum.DtResultados.FiltroPrimero("") + If RowGarantia IsNot Nothing Then + If ObjAcum.GetFoliosGarantiasDetalle(-1, CveGarantiaDetalle:=RowGarantia("CveGarantiaDetalle").ToString().ToEntero()) Then + DtGarantias = ObjAcum.DtResultados.Copy() + End If + End If + End If + End Using + + If DtGarantias IsNot Nothing Then + For Each Row As DataRow In DtGarantias.Rows + Dim RowAjuste As DataRow = TmpDTAjustes.NewRow + + RowAjuste("CveFolioGarantia") = Row("CveFolioGarantia") + RowAjuste("CveTipoUso") = Row("CveTipoUso") + RowAjuste("CveTipoDefecto") = Row("CveTipoDefecto") + RowAjuste("CodigoTD") = Row("CodigoTipoDefecto") + RowAjuste("CodigoEnsamble") = Row("CodigoEnsamble") + RowAjuste("CodigoLinea") = Row("CodigoLinea") + RowAjuste("CodigoInspeccion") = Row("CodigoInspeccion") + RowAjuste("Consecutivo") = Row("Consecutivo") + RowAjuste("FechaAjuste") = Row("FechaAjuste") + + Dim FechaAjuste As DateTime = Row("FechaVenta").ToString.ToDateTime() + Dim FechaReclamacion As DateTime = Row("FechaReclamacion").ToString.ToDateTime() + + Dim FechaI As Date = FechaAjuste.AddDays(1) + Dim FechaF As Date = FechaReclamacion + + Dim Dia As Integer = FechaI.Day + Try + 'validación adicional, para saber si el mes tiene 31 días y el actua es menor. + If FechaI.Day > Today.LastDayOfMonth.Day Then Dia = Today.LastDayOfMonth.Day + Dim FechaT As Date = String.Format("{0}/{1}/{2}", Dia, FechaF.Month, FechaF.Year).ToDate 'armo la fecha con el día del mes actual + + Dim MesesTrascurridos As Integer = Math.Round(DateDiff(DateInterval.Day, FechaI, FechaT) / 30.4, 2).ToEntero 'saco los meses y lo redondeo + + If FechaT > FechaF Then + 'todavía está en el mes actual. + MesesTrascurridos = MesesTrascurridos + Else + MesesTrascurridos = MesesTrascurridos + 1 + End If + + RowAjuste("Meses") = MesesTrascurridos.ToString + + Catch ex As Exception + OnError("Ocurrió un error al calcular los meses de uso", ex) + End Try + + RowAjuste("PorcentajeAjuste") = Row("PorcentajeAjuste") + RowAjuste("TipoComprobante") = Row("TipoComprobante") + RowAjuste("Comprobante") = Row("Comprobante") + RowAjuste("Importe") = Row("Importe") + + If TmpDT IsNot Nothing Then + RowAjuste("ConsecutivoVenta") = TmpDT.FiltroPrimeroValor("Consec", $"CveVentaDetalle={Row("CveVentaDetalle")}") + End If + + RowAjuste("CvePS") = Row("CvePS") + RowAjuste("PS") = Row("PS") + RowAjuste("CveVenta") = Row("CveRemision") + RowAjuste("PUFactura") = Row("Importe") + RowAjuste("Cantidad") = 1 + + RowAjuste("CveBCIAjuste") = Row("CveBCIAjuste") + RowAjuste("Etiqueta") = Row("Etiqueta") + RowAjuste("CveClienteDistribuidor") = Row("CveClienteDistribuidor") + RowAjuste("Distribuidor") = Row("Distribuidor") + RowAjuste("CveModeloAuto") = Row("CveModeloAuto") + RowAjuste("Año") = Row("Año") + + TmpDTAjustes.Rows.Add(RowAjuste) + Next + End If End Sub @@ -6047,6 +6174,7 @@ Partial Class PV CreaDTmpDTPolizaVirtual() DdlDistribuidor.setEsWebService(True) DivChkAjuste.Visible = True + End Sub Private Sub CargaModelos() @@ -6087,7 +6215,9 @@ Partial Class PV ' DdlPSAjuste.Items.Insert(0, New ListItem("Seleccione", "-1")) DtPUFacturas.AcceptChanges() UpAjuste.Update() - CalculaPorcentajeAjuste() + If CveVenta < 0 Then + CalculaPorcentajeAjuste() + End If End Sub Private Sub Ajuste() @@ -6097,11 +6227,16 @@ Partial Class PV TxtPrecio.Attributes.Add("onKeyUp", $"CambiaAjuste(this,{TxtPrecio.ClientID});") ChkAjuste.Checked = True DivAjuste.Visible = True + + ChkAjuste_CheckedChanged(ChkAjuste, EventArgs.Empty) + CargaAjusteDetalle() Else ModalidadAjuste = "A" TxtPrecio.Attributes.Add("onKeyUp ", "Recalcula();") End If + + UpAjuste.Update() End Sub Private Sub LimpiaAjuste() @@ -6117,11 +6252,15 @@ Partial Class PV TxtMesesUso.Text = "" DdlTipoDefecto.SelectedIndex = -1 TxtPorcentajeAjuste.Text = "" - TxtPoliza.Text = "" + TxtComprobante.Text = "" TxtImporteAjuste.Text = "" DdlPSAjuste.SelectedValue = "-1" ChkAjuste.Checked = False DivAjuste.Visible = False + DdlBCIAjuste.SelectedValueExist(-1) + TxtEtiqueta.Text = "" + DdlModeloAuto.SelectedValueExist(-1) + TxtAnioVehiculo.Text = "" End Sub @@ -6137,6 +6276,18 @@ Partial Class PV Next If Dr IsNot Nothing Then IndexAjuste = TmpDTAjustes.Rows.IndexOf(Dr) + + CargaPSAjuste() + + DdlPSAjuste.SelectedValue = Dr("CvePS").ToString() + DdlPSAjuste.SelectedText = Dr("PS").ToString() + DdlPSAjuste_selectedindexchange(DdlPSAjuste, EventArgs.Empty) + + If Dr("CveClienteDistribuidor").ToString().ToEntero() > 0 Then + DdlDistribuidor.SelectedValue = Dr("CveClienteDistribuidor").ToString() + DdlDistribuidor.SelectedText = Dr("Distribuidor").ToString() + End If + DdlFolioGarantia.SelectedValueExist(Dr("CveFolioGarantia").ToString) TxtConsecutivoAjuste.Text = Dr("Consecutivo").ToString TxtCodEnsamble.Text = Dr("CodigoEnsamble").ToString @@ -6145,15 +6296,32 @@ Partial Class PV TxtCodInspeccion.Text = Dr("CodigoInspeccion").ToString TxtMesesUso.Text = Dr("Meses").ToString DdlTipoDefecto.SelectedValueExist(Dr("CveTipoDefecto").ToString) + TxtCodigoTD.Text = Dr("CodigoTD").ToString TxtPorcentajeAjuste.Text = Dr("PorcentajeAjuste").ToString - TxtPoliza.Text = Dr("NumPoliza").ToString + DdlTipoComprobanteAjuste.SelectedValueExist(Dr("TipoComprobante").ToString()) + TxtComprobante.Text = Dr("Comprobante").ToString TxtImporteAjuste.Text = Dr("Importe").ToString DdlFacturas.SelectedValueExist(Dr("CveVenta").ToString) - CargaPSAjuste() - DdlPSAjuste.SelectedValue = (Dr("CvePS").ToString) + + If TxtDescuento.Text.ToDecimal() > 0 AndAlso Dr("Importe").ToString.ToDecimal() > 0 Then + + Dim DescuentoSinAjuste As Decimal = TxtDescuento.Text.ToDecimal - Dr("Importe").ToString.ToDecimal + + If DescuentoSinAjuste <= 0 Then + TxtDescuento.Text = "0" + Else + TxtDescuento.Text = DescuentoSinAjuste.FormatoNumero(2) + End If + + End If + TxtFechaAjuste.Text = Dr("FechaAjuste").ToString.ToDate.ToShortDateString TxtPrecio.Text = Dr("PUFactura").ToString.ToDecimal.FormatoNumero(2) - TxtPrecio.Enabled = Not Dr("CveVenta").ToString.ToEntero > 0 + 'TxtPrecio.Enabled = Dr("CveVenta").ToString.ToEntero > 0 + DdlBCIAjuste.SelectedValueExist(Dr("CveBCIAjuste").ToString()) + TxtEtiqueta.Text = Dr("Etiqueta").ToString + DdlModeloAuto.SelectedValueExist(Dr("CveModeloAuto").ToString()) + TxtAnioVehiculo.Text = Dr("Año").ToString End If End Sub 'Protected Sub BtnCalculaMesesUso_Click(sender As Object, e As EventArgs) @@ -6188,7 +6356,7 @@ Partial Class PV TxtMesesUso.Text = MesesTrascurridos.ToString Catch ex As Exception - OnError("Ocurrió un error al calcular los meses de uso", ex) + OnError("Ocurrió un Error al calcular los meses de uso", ex) End Try Return True @@ -6342,7 +6510,7 @@ Partial Class PV End If End If - Dim DrCargo As DataRow = GlobalDTAcumTamaños.FiltroPrimero($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveTamaño = {CveTamaño}") + Dim DrCargo As DataRow = GlobalDTAcumTamaños.FiltroPrimero($"CveEmpresa = {UsuarioActual.CveEmpresa} And CveTamaño = {CveTamaño}") If DrCargo IsNot Nothing Then CargoVendido = DrCargo("Cargo").ToString.ToDecimal @@ -6395,6 +6563,7 @@ Partial Class PV Row("CveFolioGarantia") = DdlFolioGarantia.SelectedValue.ToEntero Row("CveTipoUso") = DdlTipoUso.SelectedValue.ToEntero Row("CveTipoDefecto") = DdlTipoDefecto.SelectedValue.ToEntero + Row("CodigoTD") = TxtCodigoTD.Text Row("CodigoEnsamble") = TxtCodEnsamble.Text Row("CodigoLinea") = TxtCodLinea.Text Row("CodigoInspeccion") = TxtCodInspeccion.Text @@ -6402,7 +6571,8 @@ Partial Class PV Row("FechaAjuste") = TxtFechaAjuste.Text.ToDate Row("Meses") = TxtMesesUso.Text.ToEntero Row("PorcentajeAjuste") = TxtPorcentajeAjuste.Text.ToDouble - Row("NumPoliza") = TxtPoliza.Text + Row("TipoComprobante") = DdlTipoComprobanteAjuste.SelectedValue.ToEntero() + Row("Comprobante") = TxtComprobante.Text Row("Importe") = TxtImporteAjuste.Text.ToDouble Row("ConsecutivoVenta") = ConsecutivoVenta Row("CvePS") = DdlPSAjuste.SelectedValue @@ -6420,11 +6590,17 @@ Partial Class PV End If Row("CveUM") = CveUM Row("CveVentaDetalle") = -1 + Row("CveBCIAjuste") = DdlBCIAjuste.SelectedValue.ToEntero() + Row("Etiqueta") = TxtEtiqueta.Text.TrimStart.TrimEnd + Row("CveClienteDistribuidor") = DdlDistribuidor.SelectedValue.ToEntero() + Row("CveModeloAuto") = DdlModeloAuto.SelectedValue.ToEntero() + Row("Año") = TxtAnioVehiculo.Text.TrimStart.TrimEnd TmpDTAjustes.Rows.Add(Row) ElseIf ModalidadAjuste = "U" Then TmpDTAjustes.Rows(IndexAjuste)("CveFolioGarantia") = DdlFolioGarantia.SelectedValue.ToEntero TmpDTAjustes.Rows(IndexAjuste)("CveTipoUso") = DdlTipoUso.SelectedValue.ToEntero TmpDTAjustes.Rows(IndexAjuste)("CveTipoDefecto") = DdlTipoDefecto.SelectedValue.ToEntero + TmpDTAjustes.Rows(IndexAjuste)("CodigoTD") = TxtCodigoTD.Text TmpDTAjustes.Rows(IndexAjuste)("CodigoEnsamble") = TxtCodEnsamble.Text TmpDTAjustes.Rows(IndexAjuste)("CodigoLinea") = TxtCodLinea.Text TmpDTAjustes.Rows(IndexAjuste)("CodigoInspeccion") = TxtCodInspeccion.Text @@ -6432,7 +6608,8 @@ Partial Class PV TmpDTAjustes.Rows(IndexAjuste)("FechaAjuste") = TxtFechaAjuste.Text.ToDate TmpDTAjustes.Rows(IndexAjuste)("Meses") = TxtMesesUso.Text.ToDouble TmpDTAjustes.Rows(IndexAjuste)("PorcentajeAjuste") = TxtPorcentajeAjuste.Text.ToDecimal - TmpDTAjustes.Rows(IndexAjuste)("NumPoliza") = TxtPoliza.Text.ToDouble + TmpDTAjustes.Rows(IndexAjuste)("TipoComprobante") = DdlTipoComprobanteAjuste.SelectedValue.ToEntero() + TmpDTAjustes.Rows(IndexAjuste)("Comprobante") = TxtComprobante.Text.ToDouble TmpDTAjustes.Rows(IndexAjuste)("Importe") = TxtImporteAjuste.Text.ToDouble TmpDTAjustes.Rows(IndexAjuste)("ConsecutivoVenta") = ConsecutivoVenta TmpDTAjustes.Rows(IndexAjuste)("CvePS") = DdlPSAjuste.SelectedValue @@ -6440,6 +6617,11 @@ Partial Class PV TmpDTAjustes.Rows(IndexAjuste)("CveVenta") = DdlFacturas.SelectedValue TmpDTAjustes.Rows(IndexAjuste)("PUFactura") = TxtPrecio.Text.ToDouble TmpDTAjustes.Rows(IndexAjuste)("Cantidad") = 1 + TmpDTAjustes.Rows(IndexAjuste)("CveBCIAjuste") = DdlBCIAjuste.SelectedValue.ToEntero() + TmpDTAjustes.Rows(IndexAjuste)("Etiqueta") = TxtEtiqueta.Text.TrimStart.TrimEnd + TmpDTAjustes.Rows(IndexAjuste)("CveClienteDistribuidor") = DdlDistribuidor.SelectedValue.ToEntero() + TmpDTAjustes.Rows(IndexAjuste)("CveModeloAuto") = DdlModeloAuto.SelectedValue.ToEntero() + TmpDTAjustes.Rows(IndexAjuste)("Año") = TxtAnioVehiculo.Text.TrimStart.TrimEnd Dim CveUM As Integer = -1 If DdlPSAjuste.SelectedValue.ToEntero > 0 Then Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, DdlPSAjuste.SelectedValue.ToEntero).Rows(0) @@ -7028,11 +7210,19 @@ Partial Class PV If (DdlDistribuidor.SelectedValue.ToEntero > 0) Then Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", DdlDistribuidor.SelectedValue.ToEntero)) - Dim Ciudad As String = DatosClienteSeleccionado.Item("Ciudad").ToString - Dim Estado As String = DatosClienteSeleccionado.Item("Estado").ToString - params.Add(New ReportParameter("NombreDistribuidor", DdlDistribuidor.SelectedText)) - params.Add(New ReportParameter("CiudadEstado", String.Format("{0}, {1}", Ciudad.Trim, Estado))) - params.Add(New ReportParameter("TelCliente", DatosClienteSeleccionado.Item("Telefono").ToString)) + Dim CiudadEstado As String = "" + Dim Telefono As String = "" + Dim Nombre As String = "" + + If DatosClienteSeleccionado IsNot Nothing Then + CiudadEstado = String.Format("{0}, {1}", DatosClienteSeleccionado("Ciudad"), DatosClienteSeleccionado("Estado")) + Telefono = DatosClienteSeleccionado("Telefono").ToString + Nombre = DatosClienteSeleccionado("Nombre").ToString + End If + + params.Add(New ReportParameter("NombreDistribuidor", Nombre)) + params.Add(New ReportParameter("CiudadEstado", CiudadEstado)) + params.Add(New ReportParameter("TelCliente", Telefono)) End If params.Add(New ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa)) @@ -7052,14 +7242,26 @@ Partial Class PV params.Add(New ReportParameter("CodInspeccion", TxtCodInspeccion.Text.Trim)) params.Add(New ReportParameter("Tipo", DdlBCIAjuste.SelectedItem.Text)) params.Add(New ReportParameter("Marca", MarcaPS)) + params.Add(New ReportParameter("Etiqueta", TxtEtiqueta.Text)) 'Informacion Vehiculo params.Add(New ReportParameter("MarcaAuto", If(DdlPS.SelectedValue.ToEntero > 0, DtModelosAuto.FiltroPrimeroValor("Marca", $"CveModeloAuto ={DdlModeloAuto.SelectedValue}"), ""))) params.Add(New ReportParameter("TipoAuto", If(DdlPS.SelectedValue.ToEntero > 0, DtModelosAuto.FiltroPrimeroValor("Modelo", $"CveModeloAuto ={DdlModeloAuto.SelectedValue}"), ""))) 'Informacion Consumidor - params.Add(New ReportParameter("NombreCliente", LtlCliente.Text)) - params.Add(New ReportParameter("Direccion", LblDireccion.Text)) + 'Informacion Distribuidor + If (CveCliente > 0) Then + + Dim DatosClienteSeleccionado As DataRow = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltroPrimero(String.Format("CveCliente = {0}", DdlDistribuidor.SelectedValue.ToEntero)) + Dim Ciudad As String = DatosClienteSeleccionado.Item("Ciudad").ToString + Dim Estado As String = DatosClienteSeleccionado.Item("Estado").ToString + + params.Add(New ReportParameter("NombreCliente", LtlCliente.Text)) + params.Add(New ReportParameter("Direccion", LblDireccion.Text)) + params.Add(New ReportParameter("CiudadEstadoConsumidor", String.Format("{0}, {1}", Ciudad.Trim, Estado))) + params.Add(New ReportParameter("TelConsumidor", DatosClienteSeleccionado.Item("Telefono").ToString)) + + End If If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) @@ -7067,6 +7269,10 @@ Partial Class PV params.Add(New ReportParameter("LogoPath", "")) End If + params.Add(New ReportParameter("Anio", TxtAnioVehiculo.Text)) + params.Add(New ReportParameter("Comprobante", TxtComprobante.Text)) + + ImprimirPDF("Empresas/Grales/Formatos/Ajuste.rdlc", DtDatos, params, "Reporte de Ajuste", "PDF") End Sub diff --git a/Ventas/RepVentas.aspx b/Ventas/RepVentas.aspx index 699b91e4a..10ce64ea8 100644 --- a/Ventas/RepVentas.aspx +++ b/Ventas/RepVentas.aspx @@ -1,122 +1,126 @@ -<%@ Page Title="Reporte de Ventas" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepVentas.aspx.vb" Inherits="Ventas_RepVentas" %> - - - - - - - - - - - -
  • - PDF -
  • - -
  • - Excel -
  • - - - -
  • - Personalizar -
  • -
    -
    -
  • - Generar Reporte HP -
  • -
  • - Ver Dlls en pesos -
  • - - -
  • - Ver Grafica -
  • -
    -
    -
    - - Reporte de Ventas - - - - - - - -
    -
    -
    - - -
    -
    -
    - -
    - - - - - - - - - - +<%@ Page Title="Reporte de Ventas" Language="VB" MasterPageFile="~/Site.master" AutoEventWireup="false" CodeFile="RepVentas.aspx.vb" Inherits="Ventas_RepVentas" %> + + + + + + + + + + + +
  • + PDF +
  • + +
  • + Excel +
  • + + + +
  • + Personalizar +
  • +
    +
    + + +
  • + Generar Reporte HP +
  • +
    +
    +
  • + Ver Dlls en pesos +
  • + + +
  • + Ver Grafica +
  • +
    +
    +
    + + Reporte de Ventas + + + + + + + +
    +
    +
    + + +
    +
    +
    + +
    + + + + + + + + + + <%-- @@ -126,45 +130,47 @@ - --%> -
    -
    + --%> +
    +
    Fecha Inicio: -
    -
    -
    - - - - -
    - - - - - - -
    -
    + +
    +
    +
    + + + + +
    + + + + + + +
    +
    Fecha Fin: -
    -
    -
    - - - - -
    - - - - - - -
    - -
    - + +
    +
    +
    + + + + +
    + + + + + + +
    + +
    + <%-- @@ -183,365 +189,444 @@ - --%> - -
    -
    -
    -
    - +
    + -
    - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
    +
    +
    + + + + + + + + + + + + + + + + + - + + diff --git a/Ventas/RepVentas.aspx.vb b/Ventas/RepVentas.aspx.vb index affcda2f5..40f0622e7 100644 --- a/Ventas/RepVentas.aspx.vb +++ b/Ventas/RepVentas.aspx.vb @@ -659,27 +659,6 @@ Partial Class Ventas_RepVentas Protected Sub ImgImprimir_Click(sender As Object, e As EventArgs) Handles ImgImprimir.Click GenerarPDF() - End Sub - - Private Sub LnkRepHP_Click(sender As Object, e As EventArgs) Handles LnkRepHP.Click - - Dim Rep As New ClsVentas - Dim Str As New StringBuilder - Str.AppendLine("Header Section,,,,,,,,,,,End Customer Identification ,,,,,,,,,,,,, Ship To Identification,,,,,,,,,,,,, Sold To Identification,,,,,,,,,,,,, Bill To Identification,,,,,,,,,,,,, Salesperson Detail,,,,,, Line Item Detail,,,,,,,,,,,,,,,,,,,,,,,,,,,, New FIELDS,,,,,,,,,,,,,,,,,,,,,,,,,, ") - Str.AppendLine("Partner Purchase Price Currency Code, Exchange Rate, Reporter_id, Reported Partner Type, Reporter Company Name , Sell From Address line 1, Sell From Address line 2, Sell From City, Reported Partner State/Province, Sell from postal code, Sell from Country code,End User Customer Name,End User Company Tax ID,End User Address Line 1,End User Address Line 2,End User City,End User State/Province Code,End User Postal Code,End User Country Code,End User ID,End Customer Department,End Customer Contact Name,End Customer Contact Phone,End Customer County, Ship To Customer Name, Ship To Company Tax ID, Ship To Address Line 1, Ship To Address Line 2, Ship To City, Ship To State/Province Code, Ship To Postal Code, Ship To Country Code, Ship To Customer ID, Ship To Department, Ship To Contact Name, Ship To Contact Phone, Ship To County, Sold To Customer Name, Sold To Company Tax ID, Sold To Address Line 1, Sold To Address Line 2, Sold To City, Sold To State/Province Code, Sold To Postal Code, Sold To Country Code, Sold To Customer ID, Sold To Department, Sold To Contact Name, Sold To Contact Phone, Sold To County, Bill To Customer Name, Bill To Company Tax ID, Bill To Address Line 1 , Bill To Address Line 2, Bill To City, Bill To State/Province Code, Bill To Postal Code, Bill To Country Code, Bill To Customer ID, Bill To Agreement Number, Bill To Contact Name, Bill To Contact Phone, Bill To County, HP Representative Name, HP Sales Rep Email, Salesperson2 Name, Salesperson2 Unique Employee ID, Salesperson's Manager's Name,Salesperson's Manager Unique Employee ID,Quantity Qualifier,Product Quantity Shipped/Sold,Line Item ID,Partner Reported Product ID,Product Description,Date Type Qualifier,Channel Partner to Customer Transaction Date,Reseller’’s Product Number,Partner Purchase Price,Extended Price,Partner Sell Price,Extended Resale Price,Transaction Type,Rebate Tracking #,Partner Requested Rebate Amount,Extended Rebate Amount,Debit Number,Channel Partner to Customer Invoice ID,Reference Number,Customer to Channel Partner Purchase Order ID,Deal ID #1,Deal ID #2,Deal ID #3,Deal ID #4,Deal ID #5,Deal ID #6,Marketing Subprogram Code,Product Serial ID assigned by HP,Purchasing Source wholesaler indicator,Drop Ship Flag,Distributor's Invoice Number,Partner Internal transaction ID,Partner Comment,Deal Bundle ID #1,Deal Bundle ID #2,Deal Bundle ID #3,Deal Bundle ID #4,Deal Bundle ID #5,Deal Bundle ID #6,NMSO NAME,Sales Type,Purchase Agreement,Product Origin,Partner Reported CBN#,Partner Reference,Supplies Tracking ID (QR Code),Sell From Location ID (assigned by HP or Partner-assigned),Sell from name,Comment Deal ID #1,Comment Deal ID #2,Comment Deal ID #3,Comment Deal ID #4,Comment Deal ID #5,Comment Deal ID #6,Partner Sell Price Currency Code") - If Rep.GetReporteHP(72, Now.AddMonths(-1).FirstDayOfMonth, Now.AddMonths(-1).LastDayOfMonth) Then - For Each dr As DataRow In Rep.DtResultados.Rows - Str.AppendLine($"MXN,,AM30089,,""COMPUPROVEEDORES, S.A.DE C.V."",,,,,,,,,,,,,,,,,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,,,,,,,,,,,,,,,,,,,,,{dr("Cantidad")},,{dr("Codigo")},,,{dr("Fecha")},,,,{dr("PU")},,,,,,,{dr("SerieFolio")},,,,,,,,,,{dr("Serie")},,,,,,,,,,,,,,,{dr("Proveedor")},,,,,,,,,,,,MXN") - Next - End If - - Rep.Dispose() - 'GenerarPDF una salida - Response.Clear() - Response.ContentType = "text/csv" - Response.AppendHeader("Content-Disposition", "attachment; filename=ReporteHP.csv") - Response.Write(Str.ToString) - Context.Response.End() End Sub #End Region @@ -860,5 +839,58 @@ Partial Class Ventas_RepVentas #End Region + Private Sub LnkRepHP_Click(sender As Object, e As EventArgs) Handles LnkRepHP.Click + CalcularIntervaloRepHP() + RegistraScript("$('#DivRepHP').modal('show');") + End Sub + Protected Sub RblIntervaloHP_SelectedIndexChanged(sender As Object, e As EventArgs) + CalcularIntervaloRepHP() + End Sub + + Private Sub CalcularIntervaloRepHP() + Dim PrevMondayDate = DateTime.Today.AddDays(-Weekday(Today.AddDays(-1), Microsoft.VisualBasic.FirstDayOfWeek.Monday)) + Dim Sunday As DateTime = PrevMondayDate.AddDays(6) + + txtFechaIHP.Text = PrevMondayDate.ToString("dd/MM/yyyy") + txtFechaFHP.Text = Sunday.ToString("dd/MM/yyyy") + 'Select Case RblIntervaloHP.SelectedValue + ' Case "1" ' SEMANAL + ' Dim PrevMondayDate = DateTime.Today.AddDays(-Weekday(Today.AddDays(-1), Microsoft.VisualBasic.FirstDayOfWeek.Monday)) + ' Dim Sunday As DateTime = PrevMondayDate.AddDays(6) + + ' txtFechaIHP.Text = PrevMondayDate.ToString("dd/MM/yyyy") + ' txtFechaFHP.Text = Sunday.ToString("dd/MM/yyyy") + ' Case "2" ' MENSUAL + ' Dim FechaRef As DateTime = Now + ' Dim LastDayOfMonth = DateTime.DaysInMonth(FechaRef.Year, FechaRef.Month) + + ' txtFechaIHP.Text = $"01/{FechaRef.Month}/{FechaRef.Year}" + ' txtFechaFHP.Text = $"{LastDayOfMonth}/{FechaRef.Month}/{FechaRef.Year}" + 'End Select + UpHP.Update() + End Sub + + Protected Sub BtnGenerarRepHP_Click(sender As Object, e As EventArgs) + Dim FechaI As DateTime = txtFechaIHP.Text.ToDate() + Dim FechaF As DateTime = txtFechaFHP.Text.ToDate() + + Dim Rep As New ClsVentas + Dim Str As New StringBuilder + Str.AppendLine("Header Section,,,,,,,,,,,End Customer Identification ,,,,,,,,,,,,, Ship To Identification,,,,,,,,,,,,, Sold To Identification,,,,,,,,,,,,, Bill To Identification,,,,,,,,,,,,, Salesperson Detail,,,,,, Line Item Detail,,,,,,,,,,,,,,,,,,,,,,,,,,,, New FIELDS,,,,,,,,,,,,,,,,,,,,,,,,,, ") + Str.AppendLine("Partner Purchase Price Currency Code, Exchange Rate, Reporter_id, Reported Partner Type, Reporter Company Name , Sell From Address line 1, Sell From Address line 2, Sell From City, Reported Partner State/Province, Sell from postal code, Sell from Country code,End User Customer Name,End User Company Tax ID,End User Address Line 1,End User Address Line 2,End User City,End User State/Province Code,End User Postal Code,End User Country Code,End User ID,End Customer Department,End Customer Contact Name,End Customer Contact Phone,End Customer County, Ship To Customer Name, Ship To Company Tax ID, Ship To Address Line 1, Ship To Address Line 2, Ship To City, Ship To State/Province Code, Ship To Postal Code, Ship To Country Code, Ship To Customer ID, Ship To Department, Ship To Contact Name, Ship To Contact Phone, Ship To County, Sold To Customer Name, Sold To Company Tax ID, Sold To Address Line 1, Sold To Address Line 2, Sold To City, Sold To State/Province Code, Sold To Postal Code, Sold To Country Code, Sold To Customer ID, Sold To Department, Sold To Contact Name, Sold To Contact Phone, Sold To County, Bill To Customer Name, Bill To Company Tax ID, Bill To Address Line 1 , Bill To Address Line 2, Bill To City, Bill To State/Province Code, Bill To Postal Code, Bill To Country Code, Bill To Customer ID, Bill To Agreement Number, Bill To Contact Name, Bill To Contact Phone, Bill To County, HP Representative Name, HP Sales Rep Email, Salesperson2 Name, Salesperson2 Unique Employee ID, Salesperson's Manager's Name,Salesperson's Manager Unique Employee ID,Quantity Qualifier,Product Quantity Shipped/Sold,Line Item ID,Partner Reported Product ID,Product Description,Date Type Qualifier,Channel Partner to Customer Transaction Date,Reseller’’s Product Number,Partner Purchase Price,Extended Price,Partner Sell Price,Extended Resale Price,Transaction Type,Rebate Tracking #,Partner Requested Rebate Amount,Extended Rebate Amount,Debit Number,Channel Partner to Customer Invoice ID,Reference Number,Customer to Channel Partner Purchase Order ID,Deal ID #1,Deal ID #2,Deal ID #3,Deal ID #4,Deal ID #5,Deal ID #6,Marketing Subprogram Code,Product Serial ID assigned by HP,Purchasing Source wholesaler indicator,Drop Ship Flag,Distributor's Invoice Number,Partner Internal transaction ID,Partner Comment,Deal Bundle ID #1,Deal Bundle ID #2,Deal Bundle ID #3,Deal Bundle ID #4,Deal Bundle ID #5,Deal Bundle ID #6,NMSO NAME,Sales Type,Purchase Agreement,Product Origin,Partner Reported CBN#,Partner Reference,Supplies Tracking ID (QR Code),Sell From Location ID (assigned by HP or Partner-assigned),Sell from name,Comment Deal ID #1,Comment Deal ID #2,Comment Deal ID #3,Comment Deal ID #4,Comment Deal ID #5,Comment Deal ID #6,Partner Sell Price Currency Code") + If Rep.GetReporteHP(UsuarioActual.CveEmpresa, FechaI, FechaF) Then + For Each dr As DataRow In Rep.DtResultados.Rows + Str.AppendLine($"MXN,,AM30089,,""COMPUPROVEEDORES, S.A.DE C.V."",,,,,,,,,,,,,,,,,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,{dr("Nombre")},{dr("RFC")},{dr("Direccion")},,{dr("Ciudad")},{dr("Estado")},{dr("CP")},MX,{dr("RFC")},,,,,,,,,,,,,,,,,,,,,,,,,{dr("Cantidad")},,{dr("Codigo")},,,{dr("Fecha")},,,,{dr("PU")},,,,,,,{dr("SerieFolio")},,,,,,,,,,{dr("Serie")},,,,,,,,,,,,,,,{dr("Proveedor")},,,,,,,,,,,,MXN") + Next + End If + + Rep.Dispose() + 'GenerarPDF una salida + Response.Clear() + Response.ContentType = "text/csv" + Response.AppendHeader("Content-Disposition", $"attachment; filename=ReporteHP_{FechaI.ToString("dd_MM_yyyy")} a {FechaF.ToString("dd_MM_yyyy")}.csv") + Response.Write(Str.ToString) + Context.Response.End() + End Sub End Class diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index fb94fa794..3429f0068 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -6291,8 +6291,22 @@ Partial Class Ventas If ObjVentasAplciar.DtResultados.Rows.Count > 0 Then If tCveSucursalCliente > 0 Then - Retorno = ObjVentasAplciar.DtResultados(0)("LimiteRestanteSucursal").ToString().ToDecimal - PorcentajeCredito = ObjVentasAplciar.DtResultados(0)("PorcentajeSaldoSucursal").ToString().ToDecimal + + Dim LimiteRestanteSucursal As Decimal = ObjVentasAplciar.DtResultados(0)("LimiteRestanteSucursal").ToString().ToDecimal + Dim PorcentajeSaldoSucursal As Decimal = ObjVentasAplciar.DtResultados(0)("PorcentajeSaldoSucursal").ToString().ToDecimal + + Dim LimiteRestanteCliente As Decimal = ObjVentasAplciar.DtResultados(0)("LimiteRestanteCliente").ToString().ToDecimal + Dim PorcentajeSaldoCliente As Decimal = ObjVentasAplciar.DtResultados(0)("PorcentajeSaldoCliente").ToString().ToDecimal + + 'SI EL LIMITE DE LA SUCURSAL ES MAYOR AL DEL CLIENTE DEBE LIMITAR AL DEL CLIENTE + If LimiteRestanteSucursal > LimiteRestanteCliente Then + Retorno = LimiteRestanteCliente + PorcentajeCredito = PorcentajeSaldoCliente + ElseIf LimiteRestanteSucursal < LimiteRestanteCliente Then + Retorno = LimiteRestanteSucursal + PorcentajeCredito = PorcentajeSaldoSucursal + End If + Else Retorno = ObjVentasAplciar.DtResultados(0)("LimiteRestanteCliente").ToString().ToDecimal PorcentajeCredito = ObjVentasAplciar.DtResultados(0)("PorcentajeSaldoCliente").ToString().ToDecimal @@ -14402,7 +14416,7 @@ Partial Class Ventas ' Alert("El importe registrado como descuento no coincide con el importe seleccionado de anticipo.", TipoMensaje.MsgAdvertencia) ' Exit Sub 'End If - Dim TotalCalculableImpuestos As Decimal = 0 + Dim TotalCalculableImpuestos As Decimal = 0, TotalCalculableImpuestosIVA As Decimal = 0 Dim TotalDescuentosRound As Decimal = 0 Dim Cantidad, PU, Descuento, DescuentoRound As Decimal @@ -14416,14 +14430,19 @@ Partial Class Ventas TotalDescuentosRound += DescuentoRound TotalCalculableImpuestos = (Cantidad * (PU)) - Descuento + TotalCalculableImpuestosIVA = TotalCalculableImpuestos * (1 + dr("PorcentajeIEPS").ToString().ToDecimal) + dr("Descuento") = DescuentoRound - dr("TotalImporte") = Math.Round(Cantidad * PU, NumeroDecimales) - dr("ImporteIVA") = Math.Round(dr("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestos, NumeroDecimales) - dr("ImporteIEPS") = Math.Round(dr("PorcentajeIEPS").ToString().ToDecimal * TotalCalculableImpuestos, NumeroDecimales) - dr("ImporteRetIVA") = Math.Round(ClienteRetIVA * TotalCalculableImpuestos, NumeroDecimales) - dr("ImporteRetISR") = Math.Round(ClienteRetISR * TotalCalculableImpuestos, NumeroDecimales) + + dr("Total") = (Cantidad * PU) + dr("TotalImporte") = (Cantidad * PU).RoundSQL + dr("ImporteIVA") = (dr("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestosIVA).RoundSQL(NumeroDecimales) + dr("ImporteIEPS") = (dr("PorcentajeIEPS").ToString().ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales) + dr("ImporteRetIVA") = (ClienteRetIVA * TotalCalculableImpuestos).RoundSQL(NumeroDecimales) + dr("ImporteRetISR") = (ClienteRetISR * TotalCalculableImpuestos).RoundSQL(NumeroDecimales) dr("PorcentajeRetIVA") = ClienteRetIVA dr("PorcentajeRetISR") = ClienteRetISR + Next 'REVISA SI EXISTEN DIFERENCIAS ENTRE EL DESCUENTO Y LO AMORTIZADO PARA REALIZAR UN AJUSTE EN EL ULTIMO CONCEPTO AGREGADO @@ -15685,11 +15704,10 @@ Partial Class Ventas End If - If DdlTipoComprobante.SelectedValue.Contiene("Rem") Then - ' IPP 15 Julio 2017 - ERA FALSE - ImgAntiPend.Visible = False - ElseIf Opcion <> "Op" Then + If DdlTipoComprobante.SelectedValue.Contiene("Ing") Then ImgAntiPend.Visible = True + Else + ImgAntiPend.Visible = False End If @@ -15709,6 +15727,10 @@ Partial Class Ventas TrVistaPrevia.Visible = EstatusCliente End If + If DdlTipoComprobante.SelectedValue = "Ing" Then + ImgAntiPend.Visible = True + End If + MostrarOpcioensPaqueteria() TrAtencionA.Visible = True @@ -15724,9 +15746,7 @@ Partial Class Ventas End Sub Protected Sub DdlSucursalCliente_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSucursalCliente.SelectedIndexChanged CargaClienteSucursal(DdlSucursalCliente.SelectedValue.ToEntero()) - 'If Me.CveVenta > 0 Then - ' CargaRestriccionesCreditoCliente(Alertas:=True) - 'End If + CargaRestriccionesCreditoCliente(Alertas:=True, CveVenta:=Me.CveVenta) End Sub Protected Sub DdlCCEdit_SelectedIndexChanged(sender As Object, e As System.EventArgs) Dim gvr As GridViewRow = DirectCast(DirectCast(sender, DropDownList).BindingContainer, GridViewRow) @@ -27838,6 +27858,8 @@ Partial Class Ventas ' BtnCrearApartirDe.Visible = False 'End If + HdnCveVenta.Value = "" + BtnCrearApartirDe.Visible = False '[IPP-2Novimebre2018] REEMPLAZA LO COMENTADO ARRIBA EsCreaApartirDe = True ModalidadEdicion = True @@ -27885,6 +27907,7 @@ Partial Class Ventas 'Cuando es cotización, Genera nueva cotizacion If DdlTipoComprobante.SelectedValue = "Cot" Then BtnEmitirImprimir.Text = "Cotizar" + ImgAntiPend.Visible = False 'TdReferencia.Style.Add("display", "none") End If @@ -28015,6 +28038,8 @@ Partial Class Ventas GvFacturasRelacionadas.Columns(2).Visible = True + CalculaTotalesVenta() + UpnTools.Update() UpCliente.Update() UpParametros.Update() diff --git a/asmx/WsTSoft.asmx b/asmx/WsTSoft.asmx index 3288b8237..ba1f49cd0 100644 --- a/asmx/WsTSoft.asmx +++ b/asmx/WsTSoft.asmx @@ -21,22 +21,35 @@ Public Class WsTSoft Public Function AddRemision(FolioRemision As String, NoEconomico As String, CveEstatus As Integer, GeoInicial As String, GeoCarga As String, GeoEntrega As String, Fecha As String) As String Dim retorno As String = "" + Dim Continuar As Boolean = False + Dim objTsoft As New ClsTSoft - objTsoft.IniciaTransacSQL() - Dim Continuar As Boolean = objTsoft.AddRemisiones(FolioRemision, NoEconomico, CveEstatus, GeoInicial, GeoCarga, GeoEntrega, Fecha) - Dim objRem As New addRemisionObj - If Continuar Then - objTsoft.Commit() - objRem.CveRemision = objTsoft.DtResultados.Rows(0)("CveRemision").ToString().ToEntero() - objRem.CurrentError = "" - Else - objTsoft.RollBack() - objRem.CveRemision = 0 - objRem.CurrentError = objTsoft.MyCurrentError - End If + objTsoft.IniciaTransacSQL() + Try + Continuar = objTsoft.AddRemisiones(FolioRemision, NoEconomico, CveEstatus, GeoInicial, GeoCarga, GeoEntrega, Fecha) + + Dim objRem As New addRemisionObj + If Continuar Then + objRem.CveRemision = objTsoft.DtResultados.Rows(0)("CveRemision").ToString().ToEntero() + objRem.CurrentError = "" + Else + objRem.CveRemision = 0 + objRem.CurrentError = objTsoft.MyCurrentError + End If + + retorno = JsonConvert.SerializeObject(objRem) + objRem = Nothing + Catch ex As Exception + Continuar = False + Finally + If Continuar Then + objTsoft.Commit() + Else + objTsoft.RollBack() + End If + End Try objTsoft.Dispose() - retorno = JsonConvert.SerializeObject(objRem) - objRem = Nothing + Return retorno End Function @@ -69,22 +82,29 @@ Public Class WsTSoft DtPosicion = ObjGPS.DtResultados.Copy() Continuar = True End If - End Using - - Dim ObjPos As New LatLng - - If Continuar AndAlso DtPosicion IsNot Nothing Then - 'CONSULTA DIRECCIONES - Try + End Using + + Dim ObjPos As New LatLng + + Try + + If Continuar AndAlso DtPosicion IsNot Nothing Then + 'CONSULTA DIRECCIONES + If DtPosicion IsNot Nothing AndAlso DtPosicion.Rows.Count > 0 Then + Try - Dim Direcciones As JArray = ConsultarDirecciones(DtPosicion, "Lat", "Lng") + Dim Direcciones As JArray = ConsultarDirecciones(DtPosicion, "Lat", "Lng") - If Direcciones IsNot Nothing Then - For Each Dir As JObject In Direcciones - DtPosicion.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString() - Next - End If + If Direcciones IsNot Nothing Then + For Each Dir As JObject In Direcciones + DtPosicion.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString() + Next + End If + Catch ex As Exception + ObjPos.CurrentError = "No se pudo obtener la posición." + OnError("Ocurrió un error al asignar las direcciones", ex) + End Try Dim RowPosicion As DataRow = DtPosicion.Rows("0") @@ -96,20 +116,20 @@ Public Class WsTSoft ObjPos.CurrentError = "No se encontraron resultados." End If - Catch ex As Exception + Else ObjPos.CurrentError = "No se pudo obtener la posición." - OnError("Ocurrió un error al asignar las direcciones", ex) - End Try - Else - ObjPos.CurrentError = "No se pudo obtener la posición." - End If + End If - If DtPosicion IsNot Nothing Then - DtPosicion.Dispose() - DtPosicion = Nothing - End If + If DtPosicion IsNot Nothing Then + DtPosicion.Dispose() + DtPosicion = Nothing + End If + + retorno = JsonConvert.SerializeObject(ObjPos) + Catch ex As Exception + OnError("Ocurrió un error al obtener los datos", ex) + End Try - retorno = JsonConvert.SerializeObject(ObjPos) ObjPos = Nothing Return retorno End Function @@ -135,36 +155,43 @@ Public Class WsTSoft Public Function GetRemisionHistorial(FolioRemision As String, NoEconomico As String) As String Dim retorno As String = "" - Dim objTsoft As New ClsTSoft - Dim Continuar As Boolean = objTsoft.GETRemisionesHistorial(FolioRemision, NoEconomico) - Dim objRem As New GetRemisionHistorialesObj - If Continuar Then - Try + Dim objTsoft As New ClsTSoft + Try + Dim Continuar As Boolean = objTsoft.GETRemisionesHistorial(FolioRemision, NoEconomico) + Dim objRem As New GetRemisionHistorialesObj + If Continuar Then Dim Dt = objTsoft.DtResultados.Copy() - Dt.Columns.Add("Direccion", GetType(String)) + Try + Dt.Columns.Add("Direccion", GetType(String)) - 'CONSULTA DIRECCIONES - Dim Direcciones As JArray = ConsultarDirecciones(Dt, "Lat", "Lon") - If Direcciones IsNot Nothing Then - For Each Dir As JObject In Direcciones - Dt.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString() - Next - End If + 'CONSULTA DIRECCIONES + Dim Direcciones As JArray = ConsultarDirecciones(Dt, "Lat", "Lon") + If Direcciones IsNot Nothing Then + For Each Dir As JObject In Direcciones + Dt.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString() + Next + End If + + objRem.CurrentError = "" + Catch ex As Exception + objRem.CurrentError = "Ocurrió un error al asignar las direcciones" + OnError("Ocurrió un error al asignar las direcciones", ex) + End Try objRem.Historial = Dt.DataTableToObject(Of GetRemisionHistorialsObj) - objRem.CurrentError = "" - Catch ex As Exception - objRem.CurrentError = "Ocurrió un error al asignar las direcciones" - OnError("Ocurrió un error al asignar las direcciones", ex) - End Try - - Else - objRem.Historial = New List(Of GetRemisionHistorialsObj) - objRem.CurrentError = objTsoft.MyCurrentError - End If + Dt.Dispose() + Dt = Nothing + Else + objRem.Historial = New List(Of GetRemisionHistorialsObj) + objRem.CurrentError = objTsoft.MyCurrentError + End If + retorno = JsonConvert.SerializeObject(objRem) + objRem = Nothing + Catch ex As Exception + OnError("Ocurrió un error al obtener los datos", ex) + End Try objTsoft.Dispose() - retorno = JsonConvert.SerializeObject(objRem) - retorno = Nothing + Return retorno End Function @@ -172,27 +199,32 @@ Public Class WsTSoft Dim retorno As String = "[]" Dim objTsoft As New ClsTSoft - If objTsoft.GetInfoEventosPenske(FechaInicio.ToDateTime(), FechaFin.ToDateTime()) Then - If objTsoft.DtResultados.Rows.Count > 0 Then - Try - 'CONSULTA DIRECCIONES - Dim Direcciones As JArray = ConsultarDirecciones(objTsoft.DtResultados) - If Direcciones IsNot Nothing Then - For Each Dir As JObject In Direcciones - objTsoft.DtResultados.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString() - Next - End If - Catch ex As Exception - OnError("Ocurrió un error al asignar las direcciones", ex) - End Try + Try + If objTsoft.GetInfoEventosPenske(FechaInicio.ToDateTime(), FechaFin.ToDateTime()) Then + If objTsoft.DtResultados.Rows.Count > 0 Then + Try + 'CONSULTA DIRECCIONES + Dim Direcciones As JArray = ConsultarDirecciones(objTsoft.DtResultados) + If Direcciones IsNot Nothing Then + For Each Dir As JObject In Direcciones + objTsoft.DtResultados.Rows(Dir("Indice").ToEntero())("Direccion") = Dir("Direccion").ToString() + Next + End If + Catch ex As Exception + OnError("Ocurrió un error al asignar las direcciones", ex) + End Try - retorno = objTsoft.DtResultados.DataTableToJSONIPP() + retorno = objTsoft.DtResultados.DataTableToJSONIPP() + Else + retorno = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.Mensaje = "No se encontraron resultados"}) + End If Else - retorno = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.Mensaje = "No se encontraron resultados"}) + retorno = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.Mensaje = "Ocurrío un error al consultar los datos"}) End If - Else - retorno = Newtonsoft.Json.JsonConvert.SerializeObject(New With {.Mensaje = "Ocurrío un error al consultar los datos"}) - End If + Catch ex As Exception + retorno = "[]" + OnError("Ocurrió un error al obtener los datos", ex) + End Try objTsoft.Dispose() Return retorno @@ -202,17 +234,22 @@ Public Class WsTSoft Dim retorno As String = "" Dim Continuar As Boolean = False - Dim ObjTSoft As New ClsTSoft - Continuar = ObjTSoft.TieneRemisionesActivas(NoEconomico) - - Dim objRem As New MTieneRemisiones With - { - .TieneRemisiones = Continuar, - .CurrentError = ObjTSoft.MyCurrentError - } - ObjTSoft.Dispose() - retorno = JsonConvert.SerializeObject(objRem) - objRem = Nothing + Dim ObjTSoft As New ClsTSoft + Try + If ObjTSoft.TieneRemisionesActivas(NoEconomico) Then + Dim objRem As New MTieneRemisiones With + { + .TieneRemisiones = Continuar, + .CurrentError = ObjTSoft.MyCurrentError + } + retorno = JsonConvert.SerializeObject(objRem) + objRem = Nothing + End If + Catch ex As Exception + OnError("Ocurrió un error al obtener los datos", ex) + End Try + ObjTSoft.Dispose() + Return retorno End Function