From e926fabaa8c19cacc8c8f69e3d7e1f7403ff9c37 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 1 Jul 2022 09:11:32 -0700 Subject: [PATCH 1/5] =?UTF-8?q?--=20codigo=20comentado=20para=20prep=C3=B3?= =?UTF-8?q?liza?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Inventarios/PaquetesArmadoDesarmado.aspx.vb | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/Inventarios/PaquetesArmadoDesarmado.aspx.vb b/Inventarios/PaquetesArmadoDesarmado.aspx.vb index 720f688d5..798390a5a 100644 --- a/Inventarios/PaquetesArmadoDesarmado.aspx.vb +++ b/Inventarios/PaquetesArmadoDesarmado.aspx.vb @@ -587,6 +587,26 @@ Partial Class Inventarios_PaquetesArmadoDesarmado End If End If + 'Dim Concepto As String = ConceptoPoliza + 'Dim CvePrePoliza = ObjConta.AddPrePolizas("RA-01", 74, DtCostos.SUM("Total"), DtCostos.SUM("Total"), 1, TxtFecha.Text.ToDate, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + 'Dim tCveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={CveAlmacen}").ToEntero + + 'If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not MovAlmacen, ValorInventario, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoEntrada, ImporteMX:=ValorInventario, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then + ' Retorno = False + 'End If + + 'If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, MovAlmacen, ValorInventario, Concepto, 68, Concepto, TxtFecha.Text.ToDate, IdCtaContable, -1, CveVenta:=CveVenta, CveMovimientoAlmacen:=CveMovimientoSalida, ImporteMX:=ValorInventario, Contabilizable:=If(CveTipoCompra = 10, False, EsContabilizable)) Then + ' Retorno = False + 'End If + + + 'If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 6) Then + ' If ObjConta.ValorPolizaDescuadre > 0 Then + ' GuardaLogAD($"Inventarios/RecepcionAlmacen-PPCompOC | Error:{ObjConta.MensajePolizaDescuadre} Diferencia:{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + ' Retorno = False + ' End If + 'End If + Case 2 'DESARMADO From 7c2f3592d72dc46d5912aab88cebf6cd6985a25c Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Fri, 1 Jul 2022 09:16:27 -0700 Subject: [PATCH 2/5] E140. CveVentaDetalle en recepcion de usados desde el PV.aspx --- App_Code/ClsVentas.vb | 3 +- App_Code/Modelos.vb | 14 ++++--- Inventarios/RecepcionUsados.aspx | 2 +- Inventarios/RecepcionUsados.aspx.vb | 58 +++++++++++++++++------------ Ventas/PV.aspx | 2 +- Ventas/PV.aspx.vb | 11 ++++-- 6 files changed, 55 insertions(+), 35 deletions(-) diff --git a/App_Code/ClsVentas.vb b/App_Code/ClsVentas.vb index dd9049057..91fbf3097 100644 --- a/App_Code/ClsVentas.vb +++ b/App_Code/ClsVentas.vb @@ -5121,7 +5121,7 @@ Public Class ClsVentas #Region " U S A D O S " - Public Function AddVentaUsado(CveVenta As Integer, CvePS As Integer, Cantidad As Decimal, PU As Decimal, Optional CveBCI As Integer = -1, Optional CveModeloAuto As Integer = -1) As Boolean + Public Function AddVentaUsado(CveVenta As Integer, CvePS As Integer, Cantidad As Decimal, PU As Decimal, Optional CveBCI As Integer = -1, Optional CveModeloAuto As Integer = -1, Optional CveVentaDetalle As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_VentasUsadosAdd", CommandType.StoredProcedure) @@ -5133,6 +5133,7 @@ Public Class ClsVentas .Add("@PU", SqlDbType.Money).Value = PU .Add("@CveBCI", SqlDbType.Int).Value = CveBCI .Add("@CveModeloAuto", SqlDbType.Int).Value = CveModeloAuto + .Add("@CveVentaDetalle", SqlDbType.Int).Value = CveVentaDetalle End With Try diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index e60e23e27..c067e3d94 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -1578,10 +1578,14 @@ Namespace Modelos End If If DtRecepcionUsados IsNot Nothing Then - If DtRecepcionUsados.Select($"CvePS={Row("CvePS").ToString.ToEntero}").Length > 0 Then - Dim rowInv As DataRow = DtRecepcionUsados.Select($"CvePS={Row("CvePS").ToString.ToEntero}")(0) - rowInv("CveVentaDetalle") = ObjVentas.CveVentaDetalle - End If + Try + If DtRecepcionUsados.Select($"ConsecUsado={Row("Consec").ToString.ToEntero}").Length > 0 Then + Dim rowUsados As DataRow = DtRecepcionUsados.Select($"ConsecUsado={Row("Consec").ToString.ToEntero}")(0) + rowUsados("CveVentaDetalle") = ObjVentas.CveVentaDetalle + End If + Catch ex As Exception + GuardaLog("Ocurrió un error al relacionar los usados. " & ex.ToString()) + End Try End If If DtPolizasVirtuales IsNot Nothing Then @@ -2138,7 +2142,7 @@ Namespace Modelos If factura.TipoDocto.Contiene("Rem") Then If factura.DtRecepcionUsados IsNot Nothing Then For Each drow As DataRow In factura.DtRecepcionUsados.Rows - If Not ObjVentas.AddVentaUsado(factura.CveVenta, drow("CvePS").ToString.ToEntero, drow("Cantidad").ToString.ToDecimal, drow("PU").ToString.ToDecimal, drow("CveBCIUsado").ToString.ToEntero, drow("CveModeloAuto").ToString.ToEntero) Then + If Not ObjVentas.AddVentaUsado(factura.CveVenta, drow("CvePS").ToString.ToEntero, drow("Cantidad").ToString.ToDecimal, drow("PU").ToString.ToDecimal, drow("CveBCIUsado").ToString.ToEntero, drow("CveModeloAuto").ToString.ToEntero, CveVentaDetalle:=drow("CveVentaDetalle").ToString.ToEntero) Then Resultado = False Exit For End If diff --git a/Inventarios/RecepcionUsados.aspx b/Inventarios/RecepcionUsados.aspx index cc164582b..fd65ecbb7 100644 --- a/Inventarios/RecepcionUsados.aspx +++ b/Inventarios/RecepcionUsados.aspx @@ -130,7 +130,7 @@
- +
diff --git a/Inventarios/RecepcionUsados.aspx.vb b/Inventarios/RecepcionUsados.aspx.vb index f2f347096..807fcfcd0 100644 --- a/Inventarios/RecepcionUsados.aspx.vb +++ b/Inventarios/RecepcionUsados.aspx.vb @@ -15,14 +15,14 @@ Partial Class Inventarios_RecepcionUsados Private _dtDatos As DataTable - Public Property DtClientes() As DataTable - Get - Return CType(ViewState("DtClientes"), DataTable) - End Get - Set(value As DataTable) - ViewState("DtClientes") = value - End Set - End Property + 'Public Property DtClientes() As DataTable + ' Get + ' Return CType(ViewState("DtClientes"), DataTable) + ' End Get + ' Set(value As DataTable) + ' ViewState("DtClientes") = value + ' End Set + 'End Property Public Property DtMovimientos() As DataTable Get @@ -454,6 +454,7 @@ Partial Class Inventarios_RecepcionUsados Dim Fecha As DateTime = IfNull(Request("Fecha"), Now.ToString("dd/MM/yyyy")).ToString().ToDateTime() If Not String.IsNullOrEmpty(RFC) Then + Dim DtClientes = GlobalDTCliente(UsuarioActual.CveEmpresa) If DtClientes Is Nothing Then Alert("No se encontraron clientes para filtrar", TipoMensaje.MsgError) Exit Sub @@ -476,8 +477,10 @@ Partial Class Inventarios_RecepcionUsados End If Dim CveCliente As Integer = RowCliente("CveCliente").ToString().ToEntero() + Dim Cliente = RowCliente("NombreComercial").ToString() - DdlClientes.SelectedValueExist(CveCliente) + DdlClientes.SelectedValue = CveCliente.ToString() + DdlClientes.SelectedText = Cliente DdlClientes_SelectedIndexChanged(DdlClientes, EventArgs.Empty) DdlAlmacen.SelectedValueExist(CveAlmacen) @@ -775,6 +778,10 @@ Partial Class Inventarios_RecepcionUsados EsDistribuidor = False InicializaClientes(True) DdlClientes.Enabled = True + If Not String.IsNullOrEmpty(DdlClientes.ddlWS.Attributes.Item("disabled")) Then + DdlClientes.ddlWS.Attributes.Remove("disabled") + End If + ChkClientesTodos.Enabled = True SiguienteFolio() @@ -2008,14 +2015,11 @@ Partial Class Inventarios_RecepcionUsados #Region "DDL CLIENTE / CLIENTE SUCURSAL - SELECTED INDEX CHANGED" Private Sub InicializaClientes(Todos As Boolean) - DtClientes = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros(If(Todos, "", "EsDistribuidor = 1")) - - DdlClientes.DataSource = DtClientes - DdlClientes.DataBind() - - DdlClientes.Items.Insert(0, New ListItem("Seleccione", "-1")) + DdlClientes.ddlWS.Attributes.Add("data-esdistribuidor", If(Todos, "-1", "1")) DdlClientes.SelectedValue = "-1" + DdlClientes.SelectedText = "Seleccione" + UpGenerales.Update() End Sub 'Protected Sub ActivaClientes() ' If UsuarioActual.CveEmpresa.Contiene(72, 80) Then @@ -2027,7 +2031,7 @@ Partial Class Inventarios_RecepcionUsados 'End Sub - Protected Sub DdlClientes_SelectedIndexChanged(sender As Object, e As EventArgs) + Protected Sub DdlClientes_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlClientes.selectedindexchange CambiaCliente() End Sub Private Sub CambiaCliente(Optional CargaSucursales As Boolean = True, Optional CargaFacturas As Boolean = True) @@ -2314,11 +2318,16 @@ Partial Class Inventarios_RecepcionUsados 'RELACIONA LA VENTA DETALLA DE LA REMISION If DtUsados IsNot Nothing Then - DtUsados.Columns.Add(New DataColumn("CveVentaDetalle", GetType(Integer))) + If Not DtUsados.Columns.Contains("CveVentaDetalle") Then + DtUsados.Columns.Add(New DataColumn("CveVentaDetalle", GetType(Integer))) + End If + For Each RowUsado As DataRow In DtUsados.Rows - Dim CveVentaDetalle As Integer = Me.ObjFactura.DtDetalle.FiltroPrimeroValor("CveVentaDetalle", $"EsCargo = 1 AND Cantidad = {RowUsado("Cantidad")} AND CvePS = {RowUsado("CvePS")}").ToEntero() - If CveVentaDetalle > 0 Then - RowUsado("CveVentaDetalle") = CveVentaDetalle + If RowUsado("CveVentaDetalle").ToString().ToEntero() <= 0 Then + Dim CveVentaDetalle As Integer = Me.ObjFactura.DtDetalle.FiltroPrimeroValor("CveVentaDetalle", $"EsCargo = 1 AND Cantidad = {RowUsado("Cantidad")} AND CvePS = {RowUsado("CvePS")}").ToEntero() + If CveVentaDetalle > 0 Then + RowUsado("CveVentaDetalle") = CveVentaDetalle + End If End If Next End If @@ -2330,13 +2339,15 @@ Partial Class Inventarios_RecepcionUsados If CveCliente > 0 Then DivCliente.Visible = True - DdlClientes.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveCliente = {0}", CveCliente)) - DdlClientes.DataBind() + Dim Cliente = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=CveCliente).FiltroPrimeroValor("NombreComercial") + + DdlClientes.SelectedValue = CveCliente.ToString() + DdlClientes.SelectedText = Cliente - DdlClientes.SelectedValueExist(CveCliente) CambiaCliente(False, False) DdlClientes.Enabled = False + DdlClientes.ddlWS.Attributes.Add("disabled", "disabled") ChkClientesTodos.Enabled = False End If @@ -3414,7 +3425,6 @@ Partial Class Inventarios_RecepcionUsados #End Region Protected Sub SeleccionarTipoDeClientes(sender As Object, e As EventArgs) - DdlClientes.Items.Clear() InicializaClientes(ChkClientesTodos.Checked) End Sub diff --git a/Ventas/PV.aspx b/Ventas/PV.aspx index 996b26007..5cfaa7423 100644 --- a/Ventas/PV.aspx +++ b/Ventas/PV.aspx @@ -2482,7 +2482,7 @@
- +
diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 7158d5eb1..c45973ddb 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -5014,7 +5014,7 @@ Partial Class PV If Modalidad = "A" Then Row("Consec") = TmpDT.MAX("Consec").ToEntero() + 1 If Not EsCargo Then - ConsecutivoVenta = TmpDT.MAX("Consec").ToEntero() + 1 + ConsecutivoVenta = Row("Consec").ToString.ToEntero End If ElseIf Modalidad = "U" Then If Not EsCargo Then @@ -7661,6 +7661,7 @@ Partial Class PV TmpDTRecepcionUsados = New DataTable TmpDTRecepcionUsados.Columns.Add("CvePS", GetType(Integer)) TmpDTRecepcionUsados.Columns.Add("CvePSRelacionado", GetType(Integer)) + TmpDTRecepcionUsados.Columns.Add("ConsecUsado", GetType(Integer)) TmpDTRecepcionUsados.Columns.Add("ConsecRelacionado", GetType(Integer)) TmpDTRecepcionUsados.Columns.Add("Cantidad", GetType(Decimal)) TmpDTRecepcionUsados.Columns.Add("AnioVehiculo", GetType(String)) @@ -7743,6 +7744,9 @@ Partial Class PV Row("PU") = DrTamanio("Cargo").ToString().ToDecimal Row("CveBCIUsado") = DdlBCIUsado.SelectedValue.ToEntero Row("CveModeloAuto") = DdlModeloAuto.SelectedValue.ToEntero + If ListaPSCargo IsNot Nothing AndAlso ListaPSCargo.Count = 1 Then + Row("ConsecUsado") = ListaPSCargo.FirstOrDefault().ConsecutivoUsado + End If Row("ConsecRelacionado") = ConsecPSPadre Row("FechaUsado") = TxtFechaVigencia.Text.ToDateTime() Row("AnioVehiculo") = TxtAnioVehiculo.Text @@ -7878,6 +7882,7 @@ Partial Class PV End Sub Public Class MConceptoUsado Public Property Consecutivo As Integer + Public Property ConsecutivoUsado As Integer Public Property CvePS As Integer End Class Private Function CalculaUsados(Consec As Integer, Optional LimpiarUsados As Boolean = True) As List(Of MConceptoUsado) @@ -7985,12 +7990,12 @@ Partial Class PV For Each drowPsTamaños As DataRow In DTPSTemp.Rows If drowPsTamaños("PU").ToString.ToDecimal > 0 Then - Dim Concec = AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString, + Dim ConsecutivoUsado As Integer = AgregarProductoServicio(drowPsTamaños("Cantidad").ToString.ToEntero, drowPsTamaños("CveUnidadMedida").ToString.ToEntero, drowPsTamaños("UnidadMedida").ToString, drowPsTamaños("CveClasificacion").ToString.ToEntero, drowPsTamaños("Clasificacion").ToString, drowPsTamaños("CvePS").ToString.ToEntero, drowPsTamaños("PS").ToString, "", drowPsTamaños("PU").ToString.ToDecimal, 0, -1, "", drowPsTamaños("CveSubProyecto").ToString.ToEntero, drowPsTamaños("SubProyecto").ToString, EsCargo:=True, ConsecPSPadre:=drowPsTamaños("ConsecPSPadre").ToString.ToEntero, EliminarDB:=CBool(drowPsTamaños("EliminarDB").ToString())) If Consec > 0 Then - ListaPScargo.Add(New MConceptoUsado() With {.Consecutivo = Consec, .CvePS = drowPsTamaños("CvePS").ToString.ToEntero}) + ListaPScargo.Add(New MConceptoUsado() With {.Consecutivo = Consec, .ConsecutivoUsado = ConsecutivoUsado, .CvePS = drowPsTamaños("CvePS").ToString.ToEntero}) End If End If Next From 566ae6d30a5ed14ea47af448f73b420887b50702 Mon Sep 17 00:00:00 2001 From: rrene Date: Fri, 1 Jul 2022 09:32:37 -0700 Subject: [PATCH 3/5] -- polimorfismo de addprepolizasdetalle, se omite fechavencimiento,idsegmentonegocio, y de cambio de orden ImporteMN, como requerido --- App_Code/ClsContabilidad.vb | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/App_Code/ClsContabilidad.vb b/App_Code/ClsContabilidad.vb index e8561324b..5c93b72e4 100644 --- a/App_Code/ClsContabilidad.vb +++ b/App_Code/ClsContabilidad.vb @@ -1014,15 +1014,15 @@ Public Class ClsContabilidad Return Retorno End Function - Public Function AddPrePolizasDetalle(CvePrePoliza As Integer, TipoMovimiento As Boolean, Importe As Decimal, Referencia As String, CveConceptoContable As Integer, Concepto As String, IdCtaContable As Integer, + Public Function AddPrePolizasDetalle(CvePrePoliza As Integer, TipoMovimiento As Boolean, Importe As Decimal, ImporteMN As Decimal, Referencia As String, CveConceptoContable As Integer, Concepto As String, IdCtaContable As Integer, Optional CveIE As Integer = -1, Optional CveVenta As Integer = -1, Optional CveCompra As Integer = -1, Optional CveSubProyecto As Integer = -1, Optional CveCliente As Integer = -1, Optional CveProveedor As Integer = -1, Optional CvePersonal As Integer = -1, Optional CveMovimientoAlmacen As Integer = -1, Optional CveActivoFijo As Integer = -1, Optional CveColectiva As Integer = -1, Optional CveCreditoDetalle As Integer = -1, - Optional CveOC As Integer = -1, Optional CveClasificacion As Integer = -1, Optional CveVentaAmortizacion As Integer = -1, Optional CveCompraAmortizacion As Integer = -1, Optional ImporteMX As Decimal = 0, Optional ImporteME As Decimal = 0, + Optional CveOC As Integer = -1, Optional CveClasificacion As Integer = -1, Optional CveVentaAmortizacion As Integer = -1, Optional CveCompraAmortizacion As Integer = -1, Optional ImporteME As Decimal = 0, Optional CvePrePolizaOriginal As Integer = -1, Optional CveIEDevolucion As Integer = -1, Optional CveCredito As Integer = -1, Optional CveCuenta As Integer = -1, Optional CveTipoGasto As Integer = -1, Optional Contabilizable As Boolean = True, Optional TipoCambio As Decimal = 1, Optional CveOCDetalle As Integer = -1, Optional TipoCambioPago As Decimal = 1, Optional PorcentajeImpuesto As Decimal = 0, Optional CveNominaMovtoPermanente As Integer = -1) As Boolean Dim Retorno As Boolean = False Retorno = AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Importe, Referencia, CveConceptoContable, Concepto, New DateTime(1900, 1, 1), IdCtaContable, -1, CveIE, CveVenta, CveCompra, CveSubProyecto, CveCliente, CveProveedor, CvePersonal, - CveMovimientoAlmacen, CveActivoFijo, CveColectiva, CveCreditoDetalle, CveOC, CveClasificacion, CveVentaAmortizacion, CveCompraAmortizacion, ImporteMX, ImporteME, CvePrePoliza, CveIEDevolucion, CveCredito, CveCuenta, CveTipoGasto, Contabilizable, + CveMovimientoAlmacen, CveActivoFijo, CveColectiva, CveCreditoDetalle, CveOC, CveClasificacion, CveVentaAmortizacion, CveCompraAmortizacion, ImporteMN, ImporteME, CvePrePoliza, CveIEDevolucion, CveCredito, CveCuenta, CveTipoGasto, Contabilizable, TipoCambio, CveOCDetalle, TipoCambioPago, PorcentajeImpuesto, CveNominaMovtoPermanente) Return Retorno End Function From b770371dd0ab077ce38921803ffba3fcda9cfea2 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Fri, 1 Jul 2022 11:23:08 -0700 Subject: [PATCH 4/5] Carga de almacen 1 sola vez al cargar venta, validacion de fechas de carta porte --- Empresas/13/Formatos/Factura.rdlc | 50 ++++- Ventas/Ventas.aspx.vb | 299 +++--------------------------- 2 files changed, 65 insertions(+), 284 deletions(-) diff --git a/Empresas/13/Formatos/Factura.rdlc b/Empresas/13/Formatos/Factura.rdlc index 5c642c501..d10956995 100644 --- a/Empresas/13/Formatos/Factura.rdlc +++ b/Empresas/13/Formatos/Factura.rdlc @@ -662,7 +662,7 @@ - + true true @@ -674,19 +674,13 @@ 7pt - - - - - SATClaveProdServ + Codigo1 - Codigo + SATClaveProdServ