diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index a2f021adc..0f3579548 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -2225,6 +2225,7 @@ Namespace Modelos Select Case ConceptoContable Case 1 'Cliente If Not ObjFactura.TipoDocto.Contiene("Egs", "Rem", "RNC") Then + If ObjFactura.CveMoneda > 1 Then ConceptoContable = 291 importeMovimiento = (ObjFactura.Total - TotalOtrosConceptos) * ValorMultiplicador importeMX = importeMovimiento * tipoCambio * Multiplicador FechaMovimiento = ObjFactura.FechaPago @@ -3801,13 +3802,19 @@ Namespace Modelos If factura.TipoDocto = "Rem" AndAlso factura.ServicioDomicilio Then Dim CveMovimientoSalida As Integer = GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, DtInventario, factura.CveAlmacenServicioDomicilio, 8, factura.CveMoneda, factura.CveVenta, "Modelos/SD1") If CveMovimientoSalida > 0 Then - If Not (GenerarMovimientoAlmacenServicioDomicilio(ObjInventario, factura, DtInventario, factura.CveAlmacenTraspasoDestino, 9, factura.CveMoneda, factura.CveVenta, "Modelos/SD1", CveMovimientoRelacionado:=CveMovimientoSalida) > 0) Then OcurrioError = True End If Else OcurrioError = True End If + + If Not OcurrioError Then + If Not ObjInventario.ActualizarEsDevolucionVenta(factura.CveVenta, 2) Then + OcurrioError = True + End If + End If + End If End If @@ -4081,65 +4088,79 @@ Namespace Modelos OcurrioError = True ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.
Revise su factura y cualquier detalle comuníquese a Soporte Técnico") Else - Dim Mensaje As String = "" - Dim i As Integer = 0 - Dim Cantidad As Double - Dim CveUnidad As Integer - Dim CveProducto As Integer - Dim Existencia As Double - 'Dim Pu As Double - 'DtInv.Clone() + If CveMovimientoRelacionado > 0 Then + If ObjInventario.GetMovimientosDetalle(CveMovimientoRelacionado, UsuarioActual.CveEmpresa) Then - Dim DtEquivalencias As DataTable - For Each Dr As DataRow In DtInventario.Rows - CveProducto = Dr("CvePS").ToString.ToEntero - CveUnidad = Dr("CveUM").ToString.ToEntero - Cantidad = Dr("Cantidad").ToString.ToDouble + For Each Dr As DataRow In ObjInventario.DtResultados.Rows + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Dr("Cantidad").ToString().ToDouble, Dr("CveUM").ToString().ToEntero(), Dr("CvePS").ToString().ToEntero(), Dr("PU").ToString().ToDecimal, CveAF:=Dr("CveAF").ToString().ToEntero(), Serie:=Dr("Serie").ToString(), CveMovimientoDetalleEntrada:=Dr("CveMovimientoDetalle").ToString().ToEntero(), CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), FechaCaducidad:=If(CBool(Dr("AplicaCaducidad")), Dr("FechaCaducidad").ToString().ToDate, MinFecha), Lote:=If(CBool(Dr("AplicaLote")), Dr("Lote").ToString(), "-1"), CveSeccionAlmacen:=-3) Then + OcurrioError = True + ErrorList.Add("Ocurrió un Error al guardar los movimientos de entrada") + Exit For + End If + Next - If Dr("CveTipoInvPS").ToString.ToEntero = 5 And Dr("Serie").ToString = "" Then - OcurrioError = True - ErrorList.Add("Se deben especificar las Series de los productos de almacén") - Exit For End If + Else + Dim Mensaje As String = "" + Dim i As Integer = 0 + Dim Cantidad As Double + Dim CveUnidad As Integer + Dim CveProducto As Integer + Dim Existencia As Double + 'Dim Pu As Double + 'DtInv.Clone() - If UsuarioActual.CveEmpresa.Contiene({72, 80, 119}) AndAlso factura.TipoDocto.Contiene("Rem", "Ing") Then - Existencia = ObjInventario.GetExistenciasPS(CveProducto, CveUnidad, UsuarioActual.CveEmpresa, CveAlmacen, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=factura.CveSubProyecto, CveVendedor:=factura.CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1) - If Existencia < Cantidad Then + Dim DtEquivalencias As DataTable + For Each Dr As DataRow In DtInventario.Rows + CveProducto = Dr("CvePS").ToString.ToEntero + CveUnidad = Dr("CveUM").ToString.ToEntero + Cantidad = Dr("Cantidad").ToString.ToDouble + + If Dr("CveTipoInvPS").ToString.ToEntero = 5 And Dr("Serie").ToString = "" Then OcurrioError = True - ErrorList.Add($"No cuenta con la cantidad suficiente en inventario del producto {Dr("CodigoPS")} .Cuenta con {Existencia.FormatoNumero(2)}.") + ErrorList.Add("Se deben especificar las Series de los productos de almacén") Exit For End If - End If - If UsuarioActual.CveEmpresa = 1 Then - DtEquivalencias = New DataTable - DtEquivalencias = GlobalDTProductosServiciosEquivalencias(CveProducto, -1, UsuarioActual.CveEmpresa) - Dim CveUnidadBase As Integer = DtEquivalencias.FiltroPrimeroValor("CveUM", "UnidadBase = 'True'").ToEntero - Dim drUMBase As DataRow = DtEquivalencias.FiltroPrimero("UnidadBase = 'True'") - - 'SI LA UNIDAD ACTUAL NO ES LA BASE SACA PROPORCION (EQUIVALENTE) - If CveUnidadBase <> CveUnidad Then - ' LO QUE PUSE LO QUE VALE UNIDAD BASE LO QUE VALE UNIDAD SELECCIONADA - Cantidad = Dr("Cantidad").ToString.ToDouble * drUMBase("Cantidad").ToString.ToDouble / DtEquivalencias.FiltraParametros(String.Format("CveUM = {0}", CveUnidad)).Rows(0)("Cantidad").ToString.ToDouble - CveUnidad = CveUnidadBase + If UsuarioActual.CveEmpresa.Contiene({72, 80, 119}) AndAlso factura.TipoDocto.Contiene("Rem", "Ing") Then + Existencia = ObjInventario.GetExistenciasPS(CveProducto, CveUnidad, UsuarioActual.CveEmpresa, CveAlmacen, FechaMovto:=DateTime.Today.AddDays(1).ToString("yyyy/MM/dd HH:mm"), CveSubProyecto:=factura.CveSubProyecto, CveVendedor:=factura.CveVendedor, CveCliente:=If(UsuarioActual.Empresa.Funcionalidad(146) = "1", -1, CveCliente), ExcluyeAdelantado:=1, RestringirAlmacenes:=1, ExcluyeApartados:=1) + If Existencia < Cantidad Then + OcurrioError = True + ErrorList.Add($"No cuenta con la cantidad suficiente en inventario del producto {Dr("CodigoPS")} .Cuenta con {Existencia.FormatoNumero(2)}.") + Exit For + End If End If - End If - If CveProducto > 0 Then - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, 0, CveSeccionAlmacen:=-3, Serie:=Dr("Serie").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then + If UsuarioActual.CveEmpresa = 1 Then + DtEquivalencias = New DataTable + DtEquivalencias = GlobalDTProductosServiciosEquivalencias(CveProducto, -1, UsuarioActual.CveEmpresa) + Dim CveUnidadBase As Integer = DtEquivalencias.FiltroPrimeroValor("CveUM", "UnidadBase = 'True'").ToEntero + Dim drUMBase As DataRow = DtEquivalencias.FiltroPrimero("UnidadBase = 'True'") + + 'SI LA UNIDAD ACTUAL NO ES LA BASE SACA PROPORCION (EQUIVALENTE) + If CveUnidadBase <> CveUnidad Then + ' LO QUE PUSE LO QUE VALE UNIDAD BASE LO QUE VALE UNIDAD SELECCIONADA + Cantidad = Dr("Cantidad").ToString.ToDouble * drUMBase("Cantidad").ToString.ToDouble / DtEquivalencias.FiltraParametros(String.Format("CveUM = {0}", CveUnidad)).Rows(0)("Cantidad").ToString.ToDouble + CveUnidad = CveUnidadBase + End If + End If + + If CveProducto > 0 Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, Cantidad, CveUnidad, CveProducto, 0, CveSeccionAlmacen:=-3, Serie:=Dr("Serie").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero) Then + OcurrioError = True + ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.
") + Exit For + End If + Else OcurrioError = True ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.
") Exit For End If - Else - OcurrioError = True - ErrorList.Add("Ocurrió un error al agregar los Movimientos de salida al Inventario.
") - Exit For - End If - i = i + 1 - Next + i = i + 1 + Next + End If 'REGISTRO LA PREPOLIZA DE COSTO VS ALMACEN If MovimientoPrePoliza AndAlso Not OcurrioError Then diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 9a5f4a0c9..da8df25b1 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -2935,8 +2935,10 @@ Public Class Timbrado comprobante.SubTotal = ObjCFDITimbre.Comprobante.Subtotal If ObjCFDITimbre.Comprobante.TipoComprobante <> "P" Then - comprobante.DescuentoSpecified = True - comprobante.Descuento = ObjCFDITimbre.Comprobante.Descuentos + If ObjCFDITimbre.Comprobante.Descuentos > 0 Then + comprobante.DescuentoSpecified = True + comprobante.Descuento = ObjCFDITimbre.Comprobante.Descuentos + End If End If comprobante.Moneda = ObjCFDITimbre.Comprobante.Moneda comprobante.TipoCambio = ObjCFDITimbre.Comprobante.TipoCambio.ToDecimal @@ -3876,23 +3878,21 @@ Public Class Timbrado Else - Dim Resultados = Newtonsoft.Json.Linq.JArray.Parse(resultadoTimbre.Detalle) - - If Resultados.Count > 0 Then - - If resultadoTimbre.Descripcion.Contains("RFC del receptor no existe") Then - - Retorno = $"El RFC { Resultados(0)("Value").ToString() } no existe en las bases de datos publicadas por el SAT, corrobore este dato con su cliente" - MensajeErrorCFDI = $"El RFC { Resultados(0)("Value").ToString() } no existe en las bases de datos publicadas por el SAT, corrobore este dato con su cliente" + If String.IsNullOrEmpty(resultadoTimbre.Detalle) Then + Dim Resultados = Newtonsoft.Json.Linq.JArray.Parse(resultadoTimbre.Detalle) + If Resultados.Count > 0 Then + If resultadoTimbre.Descripcion.Contains("RFC del receptor no existe") Then + Retorno = $"El RFC { Resultados(0)("Value").ToString() } no existe en las bases de datos publicadas por el SAT, corrobore este dato con su cliente" + MensajeErrorCFDI = $"El RFC { Resultados(0)("Value").ToString() } no existe en las bases de datos publicadas por el SAT, corrobore este dato con su cliente" + Else + Retorno = Resultados(0)("Value").ToString() + MensajeErrorCFDI = Resultados(0)("Value").ToString() + End If Else - - Retorno = Resultados(0)("Value").ToString() - MensajeErrorCFDI = Resultados(0)("Value").ToString() - + Retorno = resultadoTimbre.Detalle + MensajeErrorCFDI = resultadoTimbre.Detalle End If - - Else Retorno = resultadoTimbre.Detalle MensajeErrorCFDI = resultadoTimbre.Detalle diff --git a/App_Code/Usuario.vb b/App_Code/Usuario.vb index 6ae6e14d1..9dc49a3c8 100644 --- a/App_Code/Usuario.vb +++ b/App_Code/Usuario.vb @@ -62,7 +62,9 @@ Public Class Usuario Public Property isLoginseted As Boolean = False - Public Property SesionBloqueada As Boolean = False + Public Property SesionBloqueada As Boolean = False + Public Property ErrorDesbloqueo As Boolean = False + Public Property MsgErrorDesbloqueo As String = "" Public ReadOnly Property FechaActualCliente As DateTime Get diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 74a48f0ea..6bae061c3 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -4575,6 +4575,7 @@ Partial Class PopUpVerFactura Dim ModeloAuto As String = RowAjuste("ModeloAuto").ToString Dim MarcaAuto As String = RowAjuste("MarcaAuto").ToString + Dim CodigoTD As String = RowAjuste("CodigoTD").ToString Dim MarcaPS As String = "" Dim CveMarca As Integer = -1 @@ -4687,6 +4688,7 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("Anio", Año)) params.Add(New ReportParameter("Comprobante", Comprobante)) + params.Add(New ReportParameter("CodigoTD", CodigoTD)) If Imagen.Exists Then params.Add(New ReportParameter("LogoPath", logouri)) diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index a358c4250..617ce1010 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -197,7 +197,7 @@ Partial Class ContabilidadC_RegPrePolizaS End If - TipoPlantilla = 0 + TipoPlantilla = -1 If IfNull(Request("Tipo"), "").ToString = "Ing" Then TipoPlantilla = 1 LblEncabezado.Text = "Otros Ingresos" diff --git a/Empresas/Grales/Formatos/Ajuste.rdlc b/Empresas/Grales/Formatos/Ajuste.rdlc index a2f9750f7..bc19d8a58 100644 --- a/Empresas/Grales/Formatos/Ajuste.rdlc +++ b/Empresas/Grales/Formatos/Ajuste.rdlc @@ -902,7 +902,7 @@ Textbox2 - 1.78486in + 1.98486in 0.38625in 0.17014in 3.4167in @@ -941,7 +941,7 @@ Textbox3 - 1.955in + 2.155in 0.38622in 0.16389in 1.00005in @@ -989,7 +989,7 @@ Textbox3 - 1.955in + 2.155in 2.56338in 0.16389in 1.23952in @@ -1037,7 +1037,7 @@ Textbox3 - 1.955in + 2.155in 1.37238in 0.16389in 1.19096in @@ -1074,7 +1074,7 @@ Textbox3 - 2.28139in + 2.48139in 0.38623in 0.19445in 1.00004in @@ -1113,7 +1113,7 @@ Textbox3 - 2.28139in + 2.48139in 2.56332in 0.19445in 1.23961in @@ -1152,7 +1152,7 @@ Textbox3 - 2.28139in + 2.48139in 1.38627in 0.18056in 1.17707in @@ -1186,7 +1186,7 @@ Textbox3 - 2.46611in + 2.66611in 0.38623in 0.16667in 1.39934in @@ -1226,7 +1226,7 @@ Textbox3 - 2.46611in + 2.66611in 2.76123in 0.16667in 1.04174in @@ -1270,7 +1270,7 @@ Textbox3 - 2.46611in + 2.66611in 1.78557in 0.16667in 0.97566in @@ -1310,7 +1310,7 @@ Textbox2 - 2.63278in + 2.83278in 0.38627in 0.17014in 3.41668in @@ -1345,7 +1345,7 @@ Textbox2 - 2.80292in + 3.00292in 0.38627in 0.17014in 3.41668in @@ -1384,7 +1384,7 @@ Textbox3 - 2.97306in + 3.17306in 0.38623in 0.16389in 1.00004in @@ -1432,7 +1432,7 @@ Textbox3 - 2.97306in + 3.17306in 2.56334in 0.16389in 1.23959in @@ -1480,7 +1480,7 @@ Textbox3 - 2.97306in + 3.17306in 1.37238in 0.16389in 1.19096in @@ -1520,7 +1520,7 @@ Textbox2 - 3.12445in + 3.32445in 0.3862in 0.17014in 3.4167in @@ -1559,7 +1559,7 @@ Textbox3 - 3.29598in + 3.49598in 0.3862in 0.16389in 3.41668in @@ -1606,7 +1606,7 @@ Textbox3 - 3.45987in + 3.65987in 0.38618in 0.16389in 3.41668in @@ -1653,7 +1653,7 @@ Textbox3 - 3.62376in + 3.82376in 0.38616in 0.16389in 2.17718in @@ -1701,7 +1701,7 @@ Textbox3 - 3.62376in + 3.82376in 2.56338in 0.16389in 1.23948in @@ -1742,7 +1742,7 @@ Textbox43 - 3.78765in + 3.98765in 0.38627in 1.11934in 3.4167in @@ -1784,7 +1784,7 @@ Textbox45 - 3.84321in + 4.04321in 0.79462in 0.38542in 2.70151in @@ -1800,7 +1800,7 @@ - 4.64324in + 4.84324in 0.65712in 0in 1.26042in @@ -1812,7 +1812,7 @@ - 4.64324in + 4.84324in 2.24046in 0in 1.25567in @@ -1840,7 +1840,7 @@ Textbox46 - 4.65851in + 4.85851in 1.11409in 0.16667in 0.34028in @@ -1872,7 +1872,7 @@ Textbox46 - 4.67102in + 4.87102in 2.34254in 0.16667in 1.03692in @@ -1907,7 +1907,7 @@ Textbox46 - 4.47171in + 4.67171in 0.65712in 0.15625in 1.26042in @@ -1944,7 +1944,7 @@ Textbox3 - 2.12028in + 2.32028in 0.38616in 0.16389in 3.4167in @@ -1975,8 +1975,52 @@ 2pt + + true + + + + + Código Defecto: + + + + =Parameters!CodigoTD.Value + + + + + + + + + + + + Middle + 2pt + 2pt + 2pt + 2pt + + - 5.0181in + 5.21602in