From 8953c5c94ce4b70604e4561d470a511e663785c8 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 2 Dec 2020 01:38:35 -0700 Subject: [PATCH] bdh --- Inventarios/RecepcionUsados.aspx | 2 +- Inventarios/RecepcionUsados.aspx.vb | 115 ++++++++++------ Ventas/Clientes.aspx | 85 +++--------- Ventas/Clientes.aspx.vb | 48 ++----- Ventas/Ventas.aspx | 203 +++++++++++++++------------- Ventas/Ventas.aspx.vb | 142 ++++++++++++++++--- 6 files changed, 338 insertions(+), 257 deletions(-) diff --git a/Inventarios/RecepcionUsados.aspx b/Inventarios/RecepcionUsados.aspx index 0a80a9302..f5b6dcc47 100644 --- a/Inventarios/RecepcionUsados.aspx +++ b/Inventarios/RecepcionUsados.aspx @@ -752,7 +752,7 @@ diff --git a/Inventarios/RecepcionUsados.aspx.vb b/Inventarios/RecepcionUsados.aspx.vb index 7c83727db..22e3f17ec 100644 --- a/Inventarios/RecepcionUsados.aspx.vb +++ b/Inventarios/RecepcionUsados.aspx.vb @@ -2489,7 +2489,6 @@ Partial Class Inventarios_RecepcionUsados For Each Row As GridViewRow In GvM.Rows If Row.RowType = DataControlRowType.DataRow Then - Dim CvePS As Integer = Row.DataKey("CvePS").ToEntero() Dim Cantidad As Decimal = Row.DataKey("Cantidad").ToDecimal() Dim PU As Decimal = Row.DataKey("PU").ToDecimal() Dim CveTamaño As Integer = Row.DataKey("CveTamaño").ToEntero() @@ -2502,29 +2501,45 @@ Partial Class Inventarios_RecepcionUsados Dim PS As String = "" Dim PorcentajeIVA As Decimal = 0D Dim IVA As Decimal = 0D - If CvePS > 0 Then - If SubTotal > 0 Then - Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS).Rows(0) - If Dr IsNot Nothing Then - CveUnidadMedida = Dr("CveUnidadMedida").ToString.ToEntero - CveClasificacion = Dr("CveClasificacion").ToString.ToEntero - PS = Dr("PSCodigo").ToString - UnidadMedida = Dr("UnidadMedida").ToString - Clasificacion = Dr("Clasificacion").ToString + + Dim CvePS As Integer = 0 + + Select Case RblUsadosAjuste.SelectedValue + Case "0" ' USADOS + CvePS = Row.DataKey("CvePS").ToEntero() + Case "1" ' AJUSTE/GARANTIA + Dim drDatos As DataRow = GlobalDTAcumTamaños().FiltroPrimero(String.Format("CveTamaño = {0} AND CveEmpresa = {1}", CveTamaño, UsuarioActual.CveEmpresa)) + + If drDatos IsNot Nothing Then + CvePS = drDatos.Item("CvePSCargo").ToString.ToEntero End If - PorcentajeIVA = 0.16D - IVA = SubTotal * PorcentajeIVA + End Select + + If CvePS > 0 Then + Dim Dr As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=CvePS).Rows(0) + If Dr IsNot Nothing Then + CveUnidadMedida = Dr("CveUnidadMedida").ToString.ToEntero + CveClasificacion = Dr("CveClasificacion").ToString.ToEntero + PS = Dr("PSCodigo").ToString + UnidadMedida = Dr("UnidadMedida").ToString + Clasificacion = Dr("Clasificacion").ToString End If + PorcentajeIVA = 0.16D + IVA = SubTotal * PorcentajeIVA + + AddPSRNC(ObjRemisionNC.DtDetalle, Cantidad, CveUnidadMedida, UnidadMedida, CveClasificacion, Clasificacion, CvePS, PS, "", PU, 0, -1, "", + ObjRemisionNC.CveSubProyecto, ObjRemisionNC.SubProyecto.SubProyecto, PorcentajeIVA:=PorcentajeIVA, CveTamaño:=CveTamaño) + Else + Alert("No se pudo cargar el producto", TipoMensaje.MsgError) End If - AddPSRNC(ObjRemisionNC.DtDetalle, Cantidad, CveUnidadMedida, UnidadMedida, CveClasificacion, Clasificacion, CvePS, PS, "", PU, 0, -1, "", - ObjRemisionNC.CveSubProyecto, ObjRemisionNC.SubProyecto.SubProyecto, PorcentajeIVA:=PorcentajeIVA, CveTamaño:=CveTamaño) End If Next + 'SI ES AJUSTE/GARANTIA If RblUsadosAjuste.SelectedValue = "1" Then 'agrego un registro extra del importe de ajuste - Dim PU As Decimal = TxtImporteAjuste.Text.ToDecimal + Dim PU As Decimal = TmpDTAjustes.SUMD("Importe") 'CONSULTA EL CONCEPTO DE NC Dim ArrayNC As String() = UsuarioActual.Empresa.Funcionalidad(591).Split(",".ToCharArray()) Dim NCAjuste As Integer = -1 @@ -2540,7 +2555,18 @@ Partial Class Inventarios_RecepcionUsados CveClasificacion = Dr("CveClasificacion").ToString.ToEntero CvePS = Dr("CvePS").ToString.ToEntero Dim PorcentajeIVA As Decimal = 0.16D - Dim Obs As String = $"Descuento por garantía. BCI: {DdlBCIAjuste.SelectedValue}" + + Dim SbBCI As New StringBuilder() + SbBCI.Append("BCI: ") + 'AGREGA LOS PRODUCTOS COMO OBSERVACION + For Each GvRow As GridViewRow In GvM.Rows + If GvRow.RowType = DataControlRowType.DataRow Then + SbBCI.AppendFormat("{0},", GvRow.DataKey("CodigoPS")) + End If + Next + SbBCI.Remove(SbBCI.Length - 1, 1) + + Dim Obs As String = SbBCI.ToString() AddPSRNC(ObjRemisionNC.DtDetalle, 1, CveUnidadMedida, "", CveClasificacion, "", CvePS, "", Obs, PU, 0, -1, "", ObjRemisionNC.CveSubProyecto, ObjRemisionNC.SubProyecto.SubProyecto, PorcentajeIVA:=PorcentajeIVA) @@ -2570,7 +2596,6 @@ Partial Class Inventarios_RecepcionUsados ObjRemisionNC.Total = Total ObjRemisionNC.TotalOtrosConceptos = 0 - ObjRemisionNC.DtMovimientosUsados = DtMovimientos ObjRemisionNC.CveAlmacen = DdlAlmacen.SelectedValue.ToEntero() ObjRemisionNC.ObservacionesMovimiento = TxtObservaciones.Text @@ -2646,6 +2671,10 @@ Partial Class Inventarios_RecepcionUsados End Sub Private Sub CargaPSAjuste() DdlPSAjuste.setEsWebService(True) + DdlPSAjuste.Attributes.Add("data-cvesubproyecto", "-1") + DdlPSAjuste.ddlWS.Attributes.Add("data-cveclasificacion", "-1") + DdlPSAjuste.ddlWS.Attributes.Add("data-pagina", "ventas/ventas") + DdlPSAjuste.ddlWS.Attributes.Add("data-Estatus", "1") End Sub Protected Sub DdlPSAjuste_selectedindexchange(sender As Object, e As EventArgs) @@ -2996,28 +3025,38 @@ Partial Class Inventarios_RecepcionUsados End If Dim ObjPS As New ClsProductosServicios - Dim CveTamaño As Integer = -1 - If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then - CveTamaño = ObjPS.DtResultados.FiltroPrimeroValor("CveTamaño").ToEntero - End If - Dim drDatos As DataRow = GlobalDTAcumTamaños().FiltroPrimero(String.Format("CveTamaño = {0} AND CveEmpresa = {1}", CveTamaño, UsuarioActual.CveEmpresa)) - - If drDatos IsNot Nothing Then - Dim Importe As Decimal = drDatos("Cargo").ToString.ToDecimal - Dim drTamañoPS As DataRow = Nothing - - DtMovimientos.Rows.Clear() - - If ObjPS.GetPS(drDatos.Item("CvePSCargo").ToString.ToEntero, -1, UsuarioActual.CveEmpresa) Then - drTamañoPS = ObjPS.DtResultados.FiltroPrimero("") - 'CveTamaño = -1 'limpio esta variable para que no se registre dos veces en la clase Modelos - AddNew(drTamañoPS.Item("CvePS").ToString.ToEntero, drTamañoPS.Item("PSCodigo").ToString, drTamañoPS.Item("CveUM").ToString.ToEntero, drTamañoPS.Item("UnidadMedida").ToString, 1.0, Importe, - "", "-1", "-1", "-1", "", "", -1, "", "", CveTamaño) - + Try + Dim CveTamaño As Integer = -1 + If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then + CveTamaño = ObjPS.DtResultados.FiltroPrimeroValor("CveTamaño").ToEntero End If - Else - Alert("No se pudo cargar el producto", TipoMensaje.MsgError) - End If + Dim drDatos As DataRow = GlobalDTAcumTamaños().FiltroPrimero(String.Format("CveTamaño = {0} AND CveEmpresa = {1}", CveTamaño, UsuarioActual.CveEmpresa)) + + If drDatos IsNot Nothing Then + Dim Importe As Decimal = drDatos("Cargo").ToString.ToDecimal + Dim drTamañoPS As DataRow = Nothing + + DtMovimientos.Rows.Clear() + + Select Case RblUsadosAjuste.SelectedValue + Case "0" ' USADOS + CvePS = drDatos.Item("CvePSCargo").ToString.ToEntero + Case "1" ' AJUSTE/GARANTIA + CvePS = DdlPSAjuste.SelectedValue.ToEntero + End Select + + If ObjPS.GetPS(CvePS, -1, UsuarioActual.CveEmpresa) Then + drTamañoPS = ObjPS.DtResultados.FiltroPrimero("") + 'CveTamaño = -1 'limpio esta variable para que no se registre dos veces en la clase Modelos + AddNew(drTamañoPS.Item("CvePS").ToString.ToEntero, drTamañoPS.Item("PSCodigo").ToString, drTamañoPS.Item("CveUM").ToString.ToEntero, drTamañoPS.Item("UnidadMedida").ToString, 1.0, Importe, + "", "-1", "-1", "-1", "", "", -1, "", "", CveTamaño) + End If + Else + Alert("No se pudo cargar el producto", TipoMensaje.MsgError) + End If + Catch ex As Exception + OnError("Ocurrió un error al agregar el producto", ex) + End Try ObjPS.Dispose() GuardaAjuste() diff --git a/Ventas/Clientes.aspx b/Ventas/Clientes.aspx index bab59dcf6..b168f7b82 100644 --- a/Ventas/Clientes.aspx +++ b/Ventas/Clientes.aspx @@ -4155,61 +4155,7 @@ - -
-
-
-
-
- - Usados resumen -
-
-
-
-
-
-
- - - - - - - - - - - - - - - - - - - - - -
Puntos -
Importe Cargo$ - - - -
Importe Bonificación$ - - - -
- -
-
- - -
-
-
@@ -4219,23 +4165,28 @@
+
- - - - - - - - - - - +
+
+ + + + + + + + + + + +
+
diff --git a/Ventas/Clientes.aspx.vb b/Ventas/Clientes.aspx.vb index a996cf41b..55ce1f097 100644 --- a/Ventas/Clientes.aspx.vb +++ b/Ventas/Clientes.aspx.vb @@ -4783,7 +4783,7 @@ Partial Class Clientes Exit Select Case 6 TxtCuentaValor.Visible = True - TxtCuentaValor.TextMode = TextBoxMode.Number + TxtCuentaValor.TextMode = TextBoxMode.SingleLine If Requerido = 1 Then RFVCuentaValor1.Enabled = True @@ -4893,7 +4893,7 @@ Partial Class Clientes Exit Select Case 6 TxtCuentaValor.Visible = True - TxtCuentaValor.TextMode = TextBoxMode.Number + TxtCuentaValor.TextMode = TextBoxMode.SingleLine If Requerido = 1 Then RFVCuentaValor2.Enabled = True @@ -9135,45 +9135,27 @@ Partial Class Clientes Dim ObjAcum As New ClsAcumuladores Dim ImporteCargo As Decimal = 0D - Dim ImporteBonificacion As Decimal = 0D If ObjAcum.DistribuidorMovtosGet(CveCliente, UsuarioActual.CveEmpresa, TxtFechaIUsados.Text.ToDate, TxtFechaFUsados.Text.ToDate, CveConcepto:=DdlConceptoUsado.SelectedValue.ToEntero()) Then - GvAcum.DataSource = ObjAcum.DtResultados - - LblUsadosPuntos.Text = (ObjAcum.DtResultados.SUM("Puntos", " CveConcepto = 2 ") - ObjAcum.DtResultados.SUM("Puntos", " CveConcepto IN (1,3) ")).ToDecimal.FormatoNumero(2) - - ImporteCargo = ObjAcum.DtResultados.SUM("ImporteCargo", "(FacturadoCargo = 0 OR FacturadoCargo IS NULL) AND CveConcepto = 1 ").ToDecimal - ImporteBonificacion = ObjAcum.DtResultados.SUM("ImporteBonificacion", "(FacturadoBonificacion = 0 OR FacturadoBonificacion IS NULL) AND CveConcepto = 1 ").ToDecimal - - LblUsadosImpCargo.Text = ImporteCargo.FormatoNumero(2) - LblusadosImpBonificacion.Text = ImporteBonificacion.FormatoNumero(2) - - Else - GvAcum.DataSource = Nothing - - ImporteCargo = 0D - ImporteBonificacion = 0D - - LblUsadosImpCargo.Text = "" - LblusadosImpBonificacion.Text = "" - LblUsadosPuntos.Text = "" - - End If - - If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) Then + End If + + Dim ImporteBonificacion As Decimal = 0 + If ObjAcum.GetMovimientosDistribuidorResumen(CveCliente, UsuarioActual.CveEmpresa) AndAlso ObjAcum.DtResultados.Rows.Count > 0 Then GvUsadosResumen.DataSource = ObjAcum.DtResultados + ImporteBonificacion = ObjAcum.DtResultados.Rows(4)("Valor").ToString().ToDecimal() End If - GvUsadosResumen.DataBind() - - 'LnkFacturaUsadosCargos.Visible = If(ImporteCargo > 0, True, False) - LnkFacturaUsadosBonificacion.Visible = If(ImporteBonificacion > 0, True, False) - + GvUsadosResumen.DataBind() + + + 'LnkFacturaUsadosCargos.Visible = If(ImporteCargo > 0, True, False) + LnkFacturaUsadosBonificacion.Visible = If(ImporteBonificacion > 0, True, False) + ObjAcum.Dispose() GvAcum.DataBind() UpAcciones.Update() - UpUsadosResumen.Update() + 'UpUsadosResumen.Update() UpGvUsadosResumen.Update() UpAcum.Update() @@ -10187,7 +10169,7 @@ Partial Class Clientes Private Sub LnkUsadosReset_Click(sender As Object, e As EventArgs) Handles LnkUsadosReset.Click Dim Acum As New ClsAcumuladores - Dim Puntos As Decimal = -LblUsadosPuntos.Text.ToDecimal + Dim Puntos As Decimal = -GvUsadosResumen.Rows.Cast(Of GridViewRow).Where(Function(x) x.RowType = DataControlRowType.DataRow).FirstOrDefault(Function(gvr) gvr.RowIndex = 3).DataKey("Puntos").ToEntero() If Acum.DistribuidorMovtosAdd(CveCliente, 1, 1, 3, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Puntos, "Saldo Inicializado") Then Alert("Puntuación Inicializada") End If diff --git a/Ventas/Ventas.aspx b/Ventas/Ventas.aspx index cb3ea762a..7482a17fe 100644 --- a/Ventas/Ventas.aspx +++ b/Ventas/Ventas.aspx @@ -6273,12 +6273,21 @@
+
+ + + + + +
+
+
- Cargos +
@@ -8086,75 +8095,75 @@ function LimpiaModal() { $('#<%= TxtDireccion.ClientID %>').val(''); - $('#<%= TxtColonia.ClientID %>').val(''); - $('#<%= TxtCiudad.ClientID %>').val(''); - $('#<%= TxtEstado.ClientID %>').val(''); - $('#<%= TxtCP.ClientID %>').val(''); - } + $('#<%= TxtColonia.ClientID %>').val(''); + $('#<%= TxtCiudad.ClientID %>').val(''); + $('#<%= TxtEstado.ClientID %>').val(''); + $('#<%= TxtCP.ClientID %>').val(''); + } - function BtnMateriales() { - $('#BtnMateriales').click(); - } + function BtnMateriales() { + $('#BtnMateriales').click(); + } - function BtnEnviarMailCancelacion() { - $('#BtnEnviarMailCancelacion').click(); - } - function BtnRefacturacionConfirmar() { - $('#BtnRefacturacionConfirmar').click(); - } - function BtnRefacturacionConfirmarAceptacion(Liga) { - $('#BtnRefacturacionConfirmarAceptacion').click(); - } - function BtnRefrescarPagina() { - $('#BtnRefrescarPagina').click(); - } - function Recargar() { - $('#BtnRefrescarPagina').click(); - } - function BtnAplicaNuevaNC() { - $('#BtnAplicaNuevaNC').click(); - } + function BtnEnviarMailCancelacion() { + $('#BtnEnviarMailCancelacion').click(); + } + function BtnRefacturacionConfirmar() { + $('#BtnRefacturacionConfirmar').click(); + } + function BtnRefacturacionConfirmarAceptacion(Liga) { + $('#BtnRefacturacionConfirmarAceptacion').click(); + } + function BtnRefrescarPagina() { + $('#BtnRefrescarPagina').click(); + } + function Recargar() { + $('#BtnRefrescarPagina').click(); + } + function BtnAplicaNuevaNC() { + $('#BtnAplicaNuevaNC').click(); + } - $('.DdlPS').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); }); - $('.DdlPSPyME').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); }); + $('.DdlPS').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); }); + $('.DdlPSPyME').on("select2:open", function (e) { $('.select2-container.select2-container--default .select2-dropdown .select2anothertable').remove(); }); - $("body").on("mouseenter", ".select2-container.select2-container--default.select2-container--open .select2-dropdown li", function (event) { - var $this = $(this); - var ind = $this.index(); - $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr.active").removeClass('active'); - $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr:nth-child(" + (ind + 2) + ")").addClass('active'); - //log($this); - }); - var scrollfuncion = function () { - var stop = this.scrollTop; - $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable").scrollTop(stop); - } - function CargaExistenciaAlmacenes(data, params) { - var div = $('
'); - $('.select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable').remove(); - $('.select2-container.select2-container--default.select2-container--open .select2-dropdown').prepend(div); - var table = $('
'); div.append(table); - var tbody = $(''); table.append(tbody); - $(".select2-container--default .select2-results>.select2-results__options").off("scroll", scrollfuncion); - $(".select2-container--default .select2-results>.select2-results__options").scroll(scrollfuncion); - var indexd = 0; - data.forEach(function (item) { - if (indexd == 0) { + $("body").on("mouseenter", ".select2-container.select2-container--default.select2-container--open .select2-dropdown li", function (event) { + var $this = $(this); + var ind = $this.index(); + $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr.active").removeClass('active'); + $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable tr:nth-child(" + (ind + 2) + ")").addClass('active'); + //log($this); + }); + var scrollfuncion = function () { + var stop = this.scrollTop; + $(".select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable").scrollTop(stop); + } + function CargaExistenciaAlmacenes(data, params) { + var div = $('
'); + $('.select2-container.select2-container--default.select2-container--open .select2-dropdown .select2anothertable').remove(); + $('.select2-container.select2-container--default.select2-container--open .select2-dropdown').prepend(div); + var table = $('
'); div.append(table); + var tbody = $(''); table.append(tbody); + $(".select2-container--default .select2-results>.select2-results__options").off("scroll", scrollfuncion); + $(".select2-container--default .select2-results>.select2-results__options").scroll(scrollfuncion); + var indexd = 0; + data.forEach(function (item) { + if (indexd == 0) { + var tr = $(''); tbody.append(tr); + var td; + for (var key in item) { + if (!(key == "text" || key == "id")) { td = $('' + key + ''); tr.append(td); } + } + } var tr = $(''); tbody.append(tr); + var td; for (var key in item) { - if (!(key == "text" || key == "id")) { td = $('' + key + ''); tr.append(td); } - } - } - var tr = $(''); tbody.append(tr); - - var td; - for (var key in item) { - if (!(key == "text" || key == "id")) { - if ((item[key] > 0)) { - td = $('' + item[key] + ''); tr.append(td); - } else { - if ('<%= UsuarioActual.Empresa.Funcionalidad(566) %>' == '1') { + if (!(key == "text" || key == "id")) { + if ((item[key] > 0)) { + td = $('' + item[key] + ''); tr.append(td); + } else { + if ('<%= UsuarioActual.Empresa.Funcionalidad(566) %>' == '1') { var buscarAlmacenes = "CargaExistenciasSucursales(" + item.id + ",'" + item.text + "');" td = $('' + item[key] + ' '); tr.append(td); } else { @@ -8361,44 +8370,44 @@ if (TotalAnticipos > 0) { $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', false); - } else { - $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', true); - } - } else { - $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', true); - } + } else { + $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', true); + } + } else { + $('#<%= BtnAceptarAnticipos.ClientID %>').prop('disabled', true); + } + } + + function showDivEC() { + $('#<%= TxtRFCCliente.ClientID %>').val(''); + $('#<%= TxtNombreCliente.ClientID %>').val(''); + $('#<%= TxtDireccionCliente.ClientID %>').val(''); + $('#<%= TxtNumExtCliente.ClientID %>').val(''); + $('#<%= TxtNumIntCliente.ClientID %>').val(''); + $('#<%= TxtCPCliente.ClientID %>').val(''); + $('#<%= TxtColoniaCliente.ClientID %>').val(''); + $('#<%= TxtTelefonoCliente.ClientID %>').val(''); + $('#<%= TxtCiudadCliente.ClientID %>').val(''); + $('#<%= TxtLocalidadCliente.ClientID %>').val(''); + $('#<%= DdlSATPais.ClientID %>').val(''); + $('#<%= DdlEstadoSAT.ClientID %>').val(''); + $('#<%= TxtCorreoCliente.ClientID %>').val(''); + + $('#divAgregarCliente').modal(); } - function showDivEC() { - $('#<%= TxtRFCCliente.ClientID %>').val(''); - $('#<%= TxtNombreCliente.ClientID %>').val(''); - $('#<%= TxtDireccionCliente.ClientID %>').val(''); - $('#<%= TxtNumExtCliente.ClientID %>').val(''); - $('#<%= TxtNumIntCliente.ClientID %>').val(''); - $('#<%= TxtCPCliente.ClientID %>').val(''); - $('#<%= TxtColoniaCliente.ClientID %>').val(''); - $('#<%= TxtTelefonoCliente.ClientID %>').val(''); - $('#<%= TxtCiudadCliente.ClientID %>').val(''); - $('#<%= TxtLocalidadCliente.ClientID %>').val(''); - $('#<%= DdlSATPais.ClientID %>').val(''); - $('#<%= DdlEstadoSAT.ClientID %>').val(''); - $('#<%= TxtCorreoCliente.ClientID %>').val(''); + function hideDivEC() { + $('#divAgregarCliente').modal('hide'); + } - $('#divAgregarCliente').modal(); - } - - function hideDivEC() { - $('#divAgregarCliente').modal('hide'); - } - - var ValidarRNC = false; - function AplicarValidarRNC(Valor) { - ValidarRNC = Valor; - } - function CompararNC() { - if (ValidarRNC) { - var TotalRem = ToDouble(document.getElementById('<%= TxtImportesRemisionesNC.ClientID %>').value); + var ValidarRNC = false; + function AplicarValidarRNC(Valor) { + ValidarRNC = Valor; + } + function CompararNC() { + if (ValidarRNC) { + var TotalRem = ToDouble(document.getElementById('<%= TxtImportesRemisionesNC.ClientID %>').value); var TotalNC = ToDouble(document.getElementById('<%= TxtNCImporte.ClientID %>').value); if (TotalRem == TotalNC) { diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 90038885c..18be4a942 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -14776,8 +14776,9 @@ Partial Class Ventas If NuevaFactura = 1 AndAlso UsuarioActual.TienePermisoProceso(222) Then If ObjVentas.GetVentaDetalle(ObjFacturaDevolucion.CveVenta) Then TmpDT = ObjVentas.DtResultados + TmpDT.Columns.Add("CveVentaDetalleRNC", GetType(Integer)) End If - ErrorCancelar = ProcesoPrepolizas(ObjConta, ObjFacturaDevolucion, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas) + ErrorCancelar = ProcesoPrepolizaBtnAplicaNuevaNC_Clicks(ObjConta, ObjFacturaDevolucion, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas) Else ErrorCancelar = ProcesoPrepolizas(ObjConta, ObjFacturaDevolucion, -1, TmpDT, ObjAC, -1, ObjBancos, ObjVentas) End If @@ -23582,7 +23583,7 @@ Partial Class Ventas End Sub Protected Sub DdlVentaUsado_SelectedIndexChanged(sender As Object, e As EventArgs) - CargaRNC(DdlVentaUsado.SelectedValue.ToEntero()) + RblRNCTipo_SelectedIndexChanged(RblRNCTipo, EventArgs.Empty) End Sub Private Sub InicializaAplicarNCMasiva() @@ -23603,7 +23604,9 @@ Partial Class Ventas 'LkNotaCredito.Visible = False DivGvCxC.Visible = True CargaCxC() - CargaRNC() + 'CARGAR RNC + RblRNCTipo_SelectedIndexChanged(RblRNCTipo, EventArgs.Empty) + TxtNCPorcentaje.Attributes.Add("onkeyup", "CalculaImporteNCMasivo();") TxtNCImporte.Text = "0.00" TxtNCImporte.Enabled = False @@ -23622,6 +23625,28 @@ Partial Class Ventas ObjMovtos.Dispose() GvCxC.DataBind() End Sub + + Protected Sub RblRNCTipo_SelectedIndexChanged(sender As Object, e As EventArgs) + Select Case RblRNCTipo.SelectedValue + Case "1" 'CARGOS + LtlCargos.Text = "CARGOS" + DivRNCCargo.Visible = True + DivRNCBon.Visible = False + CargaRNC(DdlVentaUsado.SelectedValue.ToEntero(), False, False) + + Case "2" 'BONIFICACIONES + DivRNCCargo.Visible = False + DivRNCBon.Visible = True + CargaRNC(-1, True, False) + + Case "3" 'AJUSTE/GARANTIAS + LtlCargos.Text = "AJUSTES/GARANTIAS" + DivRNCCargo.Visible = True + DivRNCBon.Visible = False + CargaRNC(DdlVentaUsado.SelectedValue.ToEntero(), False, True) + + End Select + End Sub Protected Sub ChkMostarProductosRNC_CheckedChanged(sender As Object, e As EventArgs) If ChkMostarProductosRNC.Checked Then DivRNCCargos.Visible = False @@ -23630,11 +23655,11 @@ Partial Class Ventas Else DivRNCCargos.Visible = True DivRNCCargosDetalle.Visible = False - CargaRNC(DdlVentaUsado.SelectedValue.ToEntero()) + RblRNCTipo_SelectedIndexChanged(RblRNCTipo, EventArgs.Empty) End If UpModalRemisionesNC.Update() End Sub - Private Sub CargaRNC(Optional CveVentaUsado As Integer = -1) + Private Sub CargaRNC(Optional CveVentaUsado As Integer = -1, Optional CargarBonificaciones As Boolean = False, Optional CargarSoloGarantias As Boolean = False) Dim DtNC As DataTable = Nothing Dim ObjMovtos As New ClsMovimientos() @@ -23643,16 +23668,24 @@ Partial Class Ventas End If ObjMovtos.Dispose() - TmpDTRNCBonificacionesSeleccionadas = Nothing - - GvRemisionesNC.DataSource = DtNC.FiltraParametros("TipoRNC = 1") - GvRemisionesNCBon.DataSource = TmpDTRNCBonificacionesSeleccionadas + Me.TmpDTRNCBonificacionesSeleccionadas = Nothing Me.TmpDTRNCBonificacionesCliente = DtNC.FiltraParametros("TipoRNC = 2") Me.TmpDTRNCBonificacionesCliente.Columns.Add("ImporteBonificacion", GetType(Decimal)) Me.TmpDTRNCBonificacionesCliente.Columns.Add("IVABonificacion", GetType(Decimal)) Me.TmpDTRNCBonificacionesCliente.Columns.Add("CveVentaRNCCargo", GetType(Integer)) + If CargarBonificaciones Then + Me.TmpDTRNCBonificacionesSeleccionadas = Me.TmpDTRNCBonificacionesCliente.Copy() + End If + + If CargarSoloGarantias Then + GvRemisionesNC.DataSource = DtNC.FiltraParametros("TipoRNC = 1 AND EsGarantia = True") + Else + GvRemisionesNC.DataSource = DtNC.FiltraParametros("TipoRNC = 1 AND EsGarantia = False") + End If + GvRemisionesNCBon.DataSource = Me.TmpDTRNCBonificacionesSeleccionadas + GvRemisionesNC.DataBind() GvRemisionesNCBon.DataBind() @@ -24119,12 +24152,18 @@ Partial Class Ventas End If Else - For Each RNC In ListaRemisionesNC - DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) - Next - For Each RNC In ListaNCBonificacion - DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) - Next + If ListaRemisionesNC IsNot Nothing Then + For Each RNC In ListaRemisionesNC + DtImpuestos.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) + Next + End If + + If ListaNCBonificacion IsNot Nothing Then + For Each RNC In ListaNCBonificacion + DtImpuestosBonificacion.Merge(CargaDtImpuestosNC(RNC.CveVenta, RNC.TotalRemNCAplicado, NCDescuento:=True, AplicaImpuestosLocales:=AplicaImpuestosLocales, NivelTotal:=DdlNCNivelImporte.SelectedValue.ToEntero(), AplicaNCUsado:=(UsuarioActual.CveEmpresa = 140)), True, MissingSchemaAction.Ignore) + Next + End If + End If @@ -24320,12 +24359,11 @@ Partial Class Ventas For Each RNC In ListaNC Dim UltimoRenglonRNC As Integer = 1 Dim TotalAcumuladoRNC As Decimal = 0 + Dim Terminar As Boolean = False For Each RowUsado As DataRow In RNC.DtDetalle.Rows - Dim PorcentajeAplicado = (RNC.TotalRemNCAplicado / RNC.Total) - - Dim Cantidad As Decimal = RowUsado("Cantidad").ToString().ToDecimal() * PorcentajeAplicado + Dim Cantidad As Decimal = RowUsado("Cantidad").ToString().ToDecimal() Dim Obs = RowUsado("CodigoPS").ToString() @@ -24345,8 +24383,33 @@ Partial Class Ventas TotalAcumuladoRNC += (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + 'SI EL IMPORTE ES MAYOR REALIZA EL AJUSTE + If TotalAcumuladoRNC > RNC.TotalRemNCAplicado Then + Terminar = True + 'RESTA LO SUMANDO DEL ACUMULADO + TotalAcumuladoRNC -= (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + + Dim Diferencia As Decimal = RNC.TotalRemNCAplicado - TotalAcumuladoRNC + + Dim TotalPartida As Decimal = (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + + Dim PorcentajePorAplicar As Decimal = (Diferencia / TotalPartida) + + Cantidad = Cantidad * PorcentajePorAplicar + + TotalCalculableImpuestos = (Cantidad * ImportePU) + ImporteIVA = (TotalCalculableImpuestos * RowUsado("PorcentajeIVA").ToString().ToDecimal).RoundSQL(2) + ImporteIEPS = (TotalCalculableImpuestos * RowUsado("PorcentajeIEPS").ToString().ToDecimal).RoundSQL(2) + ImporteRetIVA = (TotalCalculableImpuestos * RowUsado("PorcentajeRetIVA").ToString().ToDecimal).RoundSQL(2) + ImporteRetISR = (TotalCalculableImpuestos * RowUsado("PorcentajeRetISR").ToString().ToDecimal).RoundSQL(2) + + ImporteTotal = TotalCalculableImpuestos + + TotalAcumuladoRNC += (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + End If + 'SI ES EL ULTIMO REGLON REALIZA UN AJUSTE - If UltimoRenglonRNC = RNC.DtDetalle.Rows.Count Then + If UltimoRenglonRNC = RNC.DtDetalle.Rows.Count OrElse Terminar Then Dim Ajuste As Decimal = 0 If Math.Abs(RNC.TotalRemNCAplicado - TotalAcumuladoRNC) > 0.00 Then Ajuste = RNC.TotalRemNCAplicado - TotalAcumuladoRNC @@ -24361,6 +24424,10 @@ Partial Class Ventas Obs, Cantidad, ImportePU, RowUsado("PorcentajeIVA").ToString().ToDecimal, ImporteIVA, RowUsado("PorcentajeRetIVA").ToString().ToDecimal, ImporteRetIVA, RowUsado("PorcentajeRetISR").ToString().ToDecimal, ImporteRetISR, RowUsado("PorcentajeIEPS").ToString().ToDecimal, ImporteIEPS, -1, 0.0, ImporteTotal, "", "", -1, -1, DrPS("SATClavePS").ToString(), DrPS("SATClaveUnidadMedida").ToString(), -1, -1, -1, -1, -1, -1, CveVentaDetalleRNC:=RowUsado("CveVentaDetalle").ToString().ToEntero()) + + If Terminar Then + Exit For + End If Next Next @@ -24424,6 +24491,7 @@ Partial Class Ventas For Each RNCBonificacion In ListaNCBonificacion Dim UltimoRenglonRNC As Integer = 1 Dim TotalAcumuladoRNC As Decimal = 0 + Dim Terminar As Boolean = False Dim RNCCargo = ListaNC.Where(Function(f) f.CveVenta = RNCBonificacion.CveVentaRNCCargo).FirstOrDefault() @@ -24431,7 +24499,7 @@ Partial Class Ventas Dim PorcentajeAplicado = (RNCBonificacion.TotalRemNCAplicado / RNCBonificacion.Total) - Dim Cantidad As Decimal = RowCargo("Cantidad").ToString().ToDecimal() * PorcentajeAplicado + Dim Cantidad As Decimal = RowCargo("Cantidad").ToString().ToDecimal() '* PorcentajeAplicado Dim Obs = RowCargo("CodigoPS").ToString() @@ -24451,6 +24519,31 @@ Partial Class Ventas TotalAcumuladoRNC += (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + 'SI EL IMPORTE ES MAYOR REALIZA EL AJUSTE + If TotalAcumuladoRNC > RNCBonificacion.TotalRemNCAplicado Then + Terminar = True + 'RESTA LO SUMANDO DEL ACUMULADO + TotalAcumuladoRNC -= (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + + Dim Diferencia As Decimal = RNCBonificacion.TotalRemNCAplicado - TotalAcumuladoRNC + + Dim TotalPartida As Decimal = (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + + Dim PorcentajePorAplicar As Decimal = (Diferencia / TotalPartida) + + Cantidad = Cantidad * PorcentajePorAplicar + + TotalCalculableImpuestos = (Cantidad * ImportePU) + ImporteIVA = (TotalCalculableImpuestos * RowCargo("PorcentajeIVA").ToString().ToDecimal).RoundSQL(2) + ImporteIEPS = (TotalCalculableImpuestos * RowCargo("PorcentajeIEPS").ToString().ToDecimal).RoundSQL(2) + ImporteRetIVA = (TotalCalculableImpuestos * RowCargo("PorcentajeRetIVA").ToString().ToDecimal).RoundSQL(2) + ImporteRetISR = (TotalCalculableImpuestos * RowCargo("PorcentajeRetISR").ToString().ToDecimal).RoundSQL(2) + + ImporteTotal = TotalCalculableImpuestos + + TotalAcumuladoRNC += (TotalCalculableImpuestos + ImporteIVA + ImporteIEPS - ImporteRetIVA - ImporteRetISR) + End If + 'SI ES EL ULTIMO REGLON REALIZA UN AJUSTE If UltimoRenglonRNC = RNCCargo.DtDetalle.Rows.Count Then Dim Ajuste As Decimal = 0 @@ -24491,6 +24584,7 @@ Partial Class Ventas TmpDT = ObjVentas.DtResultados.Copy() TmpDT.Columns.Add("EntregaDirecta", GetType(Integer)) TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer)) + TmpDT.Columns.Add("CveVentaDetalleRNC", GetType(Integer)) End If If AplicaNCMasiva OrElse AplicaNCUsado Then @@ -27606,6 +27700,13 @@ Partial Class Ventas End If End If Next + + 'SI SON SOLO BONIFICACIONES GENERA LA NC PRINCIPAL EN BASE A ESAS + If RblRNCTipo.SelectedValue.ToString() = "2" AndAlso ListaRemisionesNC.Count = 0 Then + ListaRemisionesNC.AddRange(ListaNCBonificacion) + ListaNCBonificacion.Clear() + End If + End If TxtImportesRemisionesNC.Text = TotalRemNCAplicado.FormatoNumero @@ -28406,5 +28507,4 @@ Partial Class Ventas Public ImporteBonificacion As Decimal = 0 Public IVABonificacion As Decimal = 0 End Class - End Class \ No newline at end of file