From 6ece0ad472f2a9825c3468136f14bd9fbf41d81e Mon Sep 17 00:00:00 2001 From: rrene Date: Thu, 31 Oct 2019 13:21:04 -0700 Subject: [PATCH 01/20] =?UTF-8?q?condici=C3=B3n=20que=20evita=20verificar?= =?UTF-8?q?=20la=20existencia=20,=20si=20tiene=20algo=20ya=20surtido?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Ventas/Ventas.aspx.vb | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index c483557e1..587fc5346 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -5623,7 +5623,7 @@ Partial Class Ventas End Sub Protected Sub GvPS_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles GvPS.RowUpdating 'Dim TipoDescuento As Integer - Dim Cantidad, PU, Descuento As Decimal + Dim Cantidad, PU, Descuento, CantidadInventario As Decimal Dim CuentaPredial As String Cantidad = GvPS.Rows(e.RowIndex).FCTextBox("TxtCantidad").Text.ToDecimal @@ -5631,6 +5631,7 @@ Partial Class Ventas Descuento = Math.Round(GvPS.Rows(e.RowIndex).FCTextBox("TxtDescuento").Text.ToDecimal, NumeroDecimales) CuentaPredial = GvPS.Rows(e.RowIndex).FCTextBox("TxtPredial").Text.Trim + Dim DatarowPS As DataRow = Nothing DatarowPS = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=TmpDT.Rows(e.RowIndex)("CvePS").ToString.ToEntero).FiltroPrimero("") ' Estado = -1 @@ -5648,10 +5649,21 @@ Partial Class Ventas If Not UsuarioActual.TienePermisoProceso(169) Then ' NO VALIDA EXISTENCIAS NI COSTO - PERMISO PARA NO VALIDAR Dim CvePS As Integer = DatarowPS("CvePS").ToString.ToEntero + + CantidadInventario = GvPS.Rows(e.RowIndex).DataKey("CantidadInventario").ToString.ToDecimal + Dim ValidaExistencia As Boolean = True + If CantidadInventario > 0 Then 'si ya hay algo surtido, que no valide existencia + ValidaExistencia = False + End If + 'SOLO VALIDA EXISTENCIAS Y COSTO: SI USA INVENTARIOS, SOLO PRODUCTOS TIPO PRODUCTO, SOLO REMISIONES E INGRESOS If UsuarioActual.Empresa.UsaInventarios AndAlso (DdlTipoComprobante.SelectedValue.Contiene("Rem", "Ing", "PA") Or (DdlTipoComprobante.SelectedValue.Contiene("Cot") And UsuarioActual.CveEmpresa.Contiene(119))) Then Dim ObjInventarios As New ClsInventarios - Dim Existencia As Decimal = ObjInventarios.GetExistenciasPS(CvePS, -1, UsuarioActual.CveEmpresa, -1, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, PendientePorSurtir:=1, RestringirAlmacenes:=1, ExcluyeApartados:=-1) + Dim Existencia As Decimal + If ValidaExistencia Then + Existencia = ObjInventarios.GetExistenciasPS(CvePS, -1, UsuarioActual.CveEmpresa, -1, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero, CveVendedor:=DdlVendedor.SelectedValue.ToEntero, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, PendientePorSurtir:=1, RestringirAlmacenes:=1, ExcluyeApartados:=-1) + End If + Dim Costo As Decimal = ObjInventarios.GetCostoPS(CvePS, TxtCantidad.Text.Trim.ToDouble, -1, "-1", TxtFecha.Text.ToDate, DdlSubProyectoDatos.SelectedValue.ToEntero) 'si el costo es cero, puede ser que no halla movimientos del producto, en esa sucursal. y se volverá a sacar sin especificar sucursal @@ -5673,7 +5685,7 @@ Partial Class Ventas End If - If DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False AndAlso Not RegistroxOC Then + If ValidaExistencia AndAlso DdlTipoComprobante.SelectedValue <> "Cot" And ChkSinExistencia.Checked = False AndAlso Not RegistroxOC Then 'VALIDA EXISTENCIA If UsuarioActual.CveEmpresa.Contiene({72, 80, 119}) Then If Existencia - TmpDT.SUM("Cantidad", $"CvePS = {CvePS}") < TxtCantidad.Text.ToDouble Then From d3610032921a616869055b065af11a61318a90e0 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Thu, 31 Oct 2019 18:30:41 -0700 Subject: [PATCH 02/20] Mostrar IxC --- CxC/RepCxCDetalle.aspx | 13 +++++++++--- CxC/RepCxCDetalle.aspx.vb | 44 ++++++++++++++++++++++++++------------- 2 files changed, 39 insertions(+), 18 deletions(-) diff --git a/CxC/RepCxCDetalle.aspx b/CxC/RepCxCDetalle.aspx index 44d7b796b..f362fc720 100644 --- a/CxC/RepCxCDetalle.aspx +++ b/CxC/RepCxCDetalle.aspx @@ -386,12 +386,19 @@ - + - + + + + + + <%----%> diff --git a/CxC/RepCxCDetalle.aspx.vb b/CxC/RepCxCDetalle.aspx.vb index d32b14256..eac5cf330 100644 --- a/CxC/RepCxCDetalle.aspx.vb +++ b/CxC/RepCxCDetalle.aspx.vb @@ -432,6 +432,15 @@ Partial Class RepCxCDetalle If e.Row.RowIndex = 0 Then e.Row.Cells(1).Width = Unit.Pixel(70) e.Row.Cells(2).Width = Unit.Pixel(75) + End If + e.Row.FCHyperLink("HlFolio").Text = e.Row.DBCampo("SerieFolio") + + If e.Row.DBCampo("CveVenta").ToEntero() > 0 Then + If e.Row.DBCampo("TipoDocto") = "IxC" Then + e.Row.FCHyperLink("HlFolio").NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", e.Row.DBCampo("CveVenta")) + Else + e.Row.FCHyperLink("HlFolio").NavigateUrl = String.Format("/Ventas/Ventas.aspx?CveVenta={0}", e.Row.DBCampo("CveVenta")) + End If End If If e.Row.DBCampo("SubProyecto") = "" And e.Row.DBCampo("CveMoneda") = "1" Then @@ -927,22 +936,27 @@ Partial Class RepCxCDetalle UPPersonalizar.Update() UpCobranza.Update() End Sub - Private Sub BtnAsignaCobranza_Click(sender As Object, e As EventArgs) Handles BtnAsignaCobranza.Click - Dim ObjVentas As New ClsVentas + Private Sub BtnAsignaCobranza_Click(sender As Object, e As EventArgs) Handles BtnAsignaCobranza.Click Dim time As DateTime Dim TieneError = False + Dim ObjVentas As New ClsVentas ObjVentas.IniciaTransacSQL() - - For Each row As GridViewRow In GvDatos.Rows - If row.FCCheckBox("ChkCobranza").Checked Then - time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", TxtFechaCobranza.Text, TimeSelector.Hour, TimeSelector.Minute, TimeSelector.AmPm)) - If Not ObjVentas.UpdateAsignaVentaCobranza(row.DataKey("CveVenta").ToEntero, DdlCobranzaEstatus.SelectedValue.ToEntero, DdlUsuarioCobranza.SelectedValue.ToEntero, DdlTurnoCobranza.SelectedValue.ToEntero, TxtObservacionCobranza.Text.Trim, time) Then - TieneError = True - End If - End If - - Next + Try + For Each row As GridViewRow In GvDatos.Rows + Dim TipoDocto As String = row.DataKey("TipoDocto") + If row.FCCheckBox("ChkCobranza").Checked AndAlso TipoDocto <> "IxC" Then + time = DateTime.Parse(String.Format("{0} {1}:{2} {3}", TxtFechaCobranza.Text, TimeSelector.Hour, TimeSelector.Minute, TimeSelector.AmPm)) + If Not ObjVentas.UpdateAsignaVentaCobranza(row.DataKey("CveVenta").ToEntero, DdlCobranzaEstatus.SelectedValue.ToEntero, DdlUsuarioCobranza.SelectedValue.ToEntero, DdlTurnoCobranza.SelectedValue.ToEntero, TxtObservacionCobranza.Text.Trim, time) Then + TieneError = True + End If + End If + + Next + Catch ex As Exception + OnError("Ocurrió un error al actualizar", ex) + TieneError = True + End Try If Not TieneError Then ObjVentas.Commit() @@ -955,11 +969,11 @@ Partial Class RepCxCDetalle ObjVentas.Dispose() CargaDatos() - End Sub + End Sub #End Region - + #Region "SELECTED INDEX CHANGE" - + Protected Sub DdlClienteClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) CargaClientes() From ea3b4610a8e49ee21fc6f7c7734d2f11dfe83c5e Mon Sep 17 00:00:00 2001 From: rrene Date: Thu, 31 Oct 2019 19:11:57 -0700 Subject: [PATCH 03/20] =?UTF-8?q?cambios,=20Pagodeudor=20autoconta=20119,?= =?UTF-8?q?=20tome=20los=20d=C3=B3lares=20al=20tc=20que=20el=20corresponde?= =?UTF-8?q?.=20polizacheque.=20que=20tome=20el=20subproyecto=20-proveedore?= =?UTF-8?q?sabonar,=20columna=20de=20folio=20de=20factura=20m=C3=A1s=20gra?= =?UTF-8?q?nde?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bancos/PagoDeudor.aspx | 2 +- Bancos/PagoDeudor.aspx.cs | 28 ++++++++++++++++++---------- Bancos/PolizaCheque.aspx.vb | 4 ++-- Bancos/ProveedoresAbonar.aspx | 2 +- Bancos/ProveedoresAbonar.aspx.vb | 2 +- 5 files changed, 23 insertions(+), 15 deletions(-) diff --git a/Bancos/PagoDeudor.aspx b/Bancos/PagoDeudor.aspx index b85dc3acc..1e15b6086 100644 --- a/Bancos/PagoDeudor.aspx +++ b/Bancos/PagoDeudor.aspx @@ -374,7 +374,7 @@
- + diff --git a/Bancos/PagoDeudor.aspx.cs b/Bancos/PagoDeudor.aspx.cs index 661fd2abd..e837bbdfa 100644 --- a/Bancos/PagoDeudor.aspx.cs +++ b/Bancos/PagoDeudor.aspx.cs @@ -445,7 +445,7 @@ public partial class Bancos_PagoDeudor : ClsPaginas } bool AutoConta = UsuarioActual.Empresa.Funcionalidad(200).Equals("1"); - if (UsuarioActual.CveEmpresa == 119) AutoConta = false; + // if (UsuarioActual.CveEmpresa == 119) AutoConta = false; if (AutoConta && MsgError.Equals("")) { @@ -708,6 +708,14 @@ public partial class Bancos_PagoDeudor : ClsPaginas { if (gvr.FCCheckBox("Chk").Checked) { + + Decimal TCDoc = gvr.DataKey("TipoCambio").ToDecimal(); // tipo de cambio de IE + if (gvr.DataKey("FechaDocumento").ToDate() < TxtFechaDocumento.Text.ToDate().FirstDayOfMonth()) + { + // si la fecha del documento a pagar es menor al primer dia del mes del pago, toma el TC del mes anterior + TCDoc = get_GlobalTipoCambio(TxtFechaDocumento.Text.ToDate().AddMonths(-1).LastDayOfMonth()).ToDecimal(); + } + Importe = gvr.FCTextBox("TxtAbonar").Text.ToDecimal(); ImporteMN = Importe; ImporteComplementaria = 0; @@ -722,11 +730,11 @@ public partial class Bancos_PagoDeudor : ClsPaginas if (UsaComplementaria) { ImporteMN = Importe; - ImporteComplementaria = Importe * gvr.DataKey("TipoCambio").ToDecimal() - Importe; + ImporteComplementaria = Importe * TCDoc - Importe; } else { - ImporteMN = Importe * gvr.DataKey("TipoCambio").ToDecimal(); + ImporteMN = Importe * TCDoc; ImporteComplementaria = 0; } } @@ -740,11 +748,11 @@ public partial class Bancos_PagoDeudor : ClsPaginas if (UsaComplementaria) { ImporteMN = Importe; - ImporteComplementaria = Importe * gvr.DataKey("TipoCambio").ToDecimal() - Importe; + ImporteComplementaria = Importe * TCDoc - Importe; } else { - ImporteMN = Importe * gvr.DataKey("TipoCambio").ToDecimal(); + ImporteMN = Importe * TCDoc; ImporteComplementaria = 0; } } @@ -755,32 +763,32 @@ public partial class Bancos_PagoDeudor : ClsPaginas if (tCveMoneda != 1) { - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, Importe, Ref, CveConceptoContablePago, Conc, DateTime.Now, IDCtaContableDeudor, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), TipoCambio: gvr.DataKey("TipoCambio").ToDecimal(), TipoCambioPago: TC,CveSubProyecto:DdlSubProyectoPago.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, Importe, Ref, CveConceptoContablePago, Conc, DateTime.Now, IDCtaContableDeudor, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteMN, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), TipoCambio: TCDoc, TipoCambioPago: TC,CveSubProyecto:DdlSubProyectoPago.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de pago deudor"; break; } if (UsaComplementaria) { - if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, Importe, Ref, CveConceptoContablePagoComplementaria, Conc, DateTime.Now, IDCtaContableDeudorComplementaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: gvr.DataKey("TipoCambio").ToDecimal(), TipoCambioPago: TC, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) + if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, Importe, Ref, CveConceptoContablePagoComplementaria, Conc, DateTime.Now, IDCtaContableDeudorComplementaria, -1, CveIE, CveProveedor: DdlProveedores.SelectedValue.ToEntero(), ImporteMX: ImporteComplementaria, CveIEDevolucion: gvr.DataKey("CveIE").ToEntero(), ImporteME: Importe, TipoCambio: TCDoc, TipoCambioPago: TC, CveSubProyecto: DdlSubProyectoPago.SelectedValue.ToEntero())) { MsgError = "No se pudo insertar concepto de deudor complementaria"; } } - if (TC != gvr.DataKey("TipoCambio").ToDecimal()) + if (TC != TCDoc) { int CveConceptoDiferenciaCambiaria = 0; bool TipoMovto = false; int IdCtaContableDiferenciaCambiaria = 0; - if (TC gvr.DataKey("TipoCambio").ToDecimal()) + else if (TC > TCDoc) { CveConceptoDiferenciaCambiaria = 64; IdCtaContableDiferenciaCambiaria = UsuarioActual.Empresa.IdCuentaGananciaCambiaria; diff --git a/Bancos/PolizaCheque.aspx.vb b/Bancos/PolizaCheque.aspx.vb index e58e68f16..a1c46d03d 100644 --- a/Bancos/PolizaCheque.aspx.vb +++ b/Bancos/PolizaCheque.aspx.vb @@ -900,14 +900,14 @@ Partial Class Bancos_PolizaCheque Importe = Importe * TC End If - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, Referencia, gvr.DataKey("CveConcepto").ToEntero, TxtObservaciones.Text, Now, gvr.DataKey("IDCuenta").ToEntero, -1, CveIE, CveProveedor:=CveProveedor, CveSubProyecto:=If(UsuarioActual.CveEmpresa = 119, gvr.FCDropDownList("DdlSubProyecto").ToEntero, gvr.DataKey("CveSubProyecto").ToEntero), CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, ImporteMX:=Importe, CveCuenta:=If(UsuarioActual.Empresa.UsaContabilidad AndAlso UsuarioActual.Empresa.UsaContabilidadSIG, ObtenerCuentaDobleConta(gvr.DataKey("IDCuenta").ToEntero, UsuarioActual.CveEmpresa), -1), TipoCambio:=TC) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, Importe, Referencia, gvr.DataKey("CveConcepto").ToEntero, TxtObservaciones.Text, Now, gvr.DataKey("IDCuenta").ToEntero, -1, CveIE, CveProveedor:=CveProveedor, CveSubProyecto:=gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero, CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, ImporteMX:=Importe, CveCuenta:=If(UsuarioActual.Empresa.UsaContabilidad AndAlso UsuarioActual.Empresa.UsaContabilidadSIG, ObtenerCuentaDobleConta(gvr.DataKey("IDCuenta").ToEntero, UsuarioActual.CveEmpresa), -1), TipoCambio:=TC) Then MsgError = "no se pudo insertar el detalle de la póliza2" End If If gvr.DataKey("CveConcepto").ToEntero = 30 Then If CveMoneda > 1 AndAlso UsuarioActual.CveEmpresa = 119 Then 'Agregamos complementaria - If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, 0, gvr.FCTextBox("TxtConcepto").Text, 204, TxtObservaciones.Text, Now, dr("IDCtaContableComplementaria").ToString.ToEntero, -1, CveIE:=CveIE, CveProveedor:=CveProveedor, CveSubProyecto:=If(UsuarioActual.CveEmpresa = 119, gvr.FCDropDownList("DdlSubProyecto").ToEntero, gvr.DataKey("CveSubProyecto").ToEntero), CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, ImporteMX:=Importe * TC - Importe, ImporteME:=Importe, TipoCambio:=TC) Then + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovto, 0, gvr.FCTextBox("TxtConcepto").Text, 204, TxtObservaciones.Text, Now, dr("IDCtaContableComplementaria").ToString.ToEntero, -1, CveIE:=CveIE, CveProveedor:=CveProveedor, CveSubProyecto:=gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero, CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, ImporteMX:=Importe * TC - Importe, ImporteME:=Importe, TipoCambio:=TC) Then MsgError = "Ocurrió un error al registrar el asiento del ingreso." End If End If diff --git a/Bancos/ProveedoresAbonar.aspx b/Bancos/ProveedoresAbonar.aspx index 29c9eeb36..23de03c5a 100644 --- a/Bancos/ProveedoresAbonar.aspx +++ b/Bancos/ProveedoresAbonar.aspx @@ -367,7 +367,7 @@ - + Factura diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 37b1b3a67..a11c4aed8 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -1811,7 +1811,7 @@ Partial Class Bancos_ProveedoresAbonar End If End If - If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then + If MsgError <> "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then If ObjMov.ValorPolizaDescuadre > 0 Then MsgError = ObjMov.MensajePolizaDescuadre + " " + ObjMov.ValorDiferencia GuardaLogAD($"Bancos/ProveedoresAbonar | Error:{ObjMov.MensajePolizaDescuadre} Diferencia:{ObjMov.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") From 43211806f80630bfe0288ee4e1a3d936e462877c Mon Sep 17 00:00:00 2001 From: janeth arvizu Date: Fri, 1 Nov 2019 13:57:09 -0700 Subject: [PATCH 04/20] Cambios de BDH --- Empresas/Grales/Formatos/Ajuste.rdlc | 66 ++++++++++++++++++++++---- Ventas/PV.aspx | 71 ++++++++++++++++------------ Ventas/PV.aspx.vb | 64 +++++++++++++++---------- 3 files changed, 136 insertions(+), 65 deletions(-) diff --git a/Empresas/Grales/Formatos/Ajuste.rdlc b/Empresas/Grales/Formatos/Ajuste.rdlc index 8ffdfc413..79d6d2dcf 100644 --- a/Empresas/Grales/Formatos/Ajuste.rdlc +++ b/Empresas/Grales/Formatos/Ajuste.rdlc @@ -976,11 +976,13 @@ - + =Parameters!CodEnsamble.Value Textbox3 @@ -1011,11 +1013,13 @@ - + =Parameters!CodInspeccion.Value Textbox3 @@ -1046,11 +1050,13 @@ - + =Parameters!CodLinea.Value Textbox3 @@ -1431,7 +1437,11 @@ - Nombre del consumidor: + Nombre del consumidor: +