diff --git a/App_Code/ClsInventarios.vb b/App_Code/ClsInventarios.vb index e5334119c..6e398afc5 100644 --- a/App_Code/ClsInventarios.vb +++ b/App_Code/ClsInventarios.vb @@ -1625,6 +1625,44 @@ Public Class ClsInventarios End Function + Public Function GetKardexPSNavegacion(Entrada As Boolean, Salida As Boolean, CvePS As Integer, FechaI As String, FechaF As String, CveAlmacen As Integer, CveTiposAlmacen As String, CveUnidadMedida As Integer, CveUsuario As Integer, CveEmpresa As Integer, Optional CveAlmacenes As String = "-1", Optional Siguiente As Boolean = True) As Boolean + + Dim Retorno As Boolean = False + + DataAdapter("PA_Inv_KardexPSNavegacionGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@Entrada", SqlDbType.Bit).Value = Entrada + .Add("@Salida", SqlDbType.Bit).Value = Salida + .Add("@FechaI", SqlDbType.VarChar).Value = FechaI + .Add("@FechaF", SqlDbType.VarChar).Value = FechaF + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CvePS", SqlDbType.Int).Value = CvePS + .Add("@CveAlmacen", SqlDbType.Int).Value = CveAlmacen + .Add("@CveTiposAlmacen", SqlDbType.VarChar).Value = CveTiposAlmacen + .Add("@CveUnidadMedida", SqlDbType.Int).Value = CveUnidadMedida + .Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario + + .Add("@CveAlmacenes", SqlDbType.VarChar).Value = CveAlmacenes + .Add("@Siguiente", SqlDbType.Bit).Value = Siguiente + + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch Ex1 As SqlException + + Me.OnError("Ocurrió un error al obtener el kardex.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + + Catch ex As Exception + OnError("Ocurrió un error al obtener el kardex.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + + End Function + Public Function GetExistenciasProductoSerie(CvePS As Integer, CveUsuario As Integer, CveEmpresa As Integer, Fecha As DateTime, Optional CveAlmacenes As String = "-1") As Boolean Dim Retorno As Boolean = False diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index 3fc7edff6..f6868d9ec 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -9010,6 +9010,22 @@ Public Class ClsPaginas If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, ConPrepAplicacion.CveConcepto, Pago.Referencia, Concepto, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True End If End If + + If Pago.TipoPago.Contiene("RNC") AndAlso Not ErrorMovtos Then ' R E M I S I Ó N D E N O T A D E C R E D I T O + '371 + Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, Pago.CveMonedaPago, True, CompraActual.CveTipoConceptoProveedor) + + If Pago.CveMonedaPago > 1 Then + 'Agregamos la Extranjera + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 371, Pago.Referencia, Concepto, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + ImporteMN = (Pago.ImportePago * TCValuacionPago - Pago.ImportePago).RoundSQL + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, ImporteMN, ConPrepAplicacion.CveConceptoComplementario, Pago.Referencia, Concepto, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, ImporteME:=Pago.ImportePago, TipoCambio:=TCValuacionPago, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + Else + 'Agregamos Nacional + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, Pago.ImportePago, Pago.ImportePago, 371, Pago.Referencia, Concepto, CveCompra:=Pago.CveCompraAmortizacion, CveCompraAmortizacion:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal) Then ErrorMovtos = True + End If + End If + If Pago.TipoPago = "DD" AndAlso Not ErrorMovtos Then ' D E U D O R D I V E R S O Dim ConPrepAplicacion As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(17, Pago.CveMonedaPago, True, CompraActual.CveTipoConceptoProveedor) If Pago.CveMonedaPago > 1 Then diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 2c1c5dec4..0d02c285a 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -1458,7 +1458,7 @@ Namespace Modelos Optional CveSubProyecto As Integer = -1, Optional SubProyecto As String = "", Optional PorcentajeIVA As Decimal = -1, Optional CuentaPredial As String = "", Optional CveVentaDetallePadre As Integer = -1, - Optional CveVentaDetalleRemision As Integer = -1, Optional CveViajePasajero As Integer = -1) As Boolean + Optional CveVentaDetalleRemision As Integer = -1, Optional CveViajePasajero As Integer = -1, Optional RedondearTotal As Boolean = True) As Boolean If Not CvePS > 0 Then Alert("Ocurrió un error al cargar la información del producto a agregar. Por favor verifique y vuelva a intentar.", TipoMensaje.MsgError) @@ -1622,7 +1622,13 @@ Namespace Modelos Row("Descuento") = (Descuento).RoundSQL(NumeroDecimales) Row("TipoDescuento") = -1 Row("CvePromocionDetalle") = -1 - Row("Total") = (Cantidad * PU) + + If RedondearTotal Then + Row("Total") = (Cantidad * PU).RoundSQL(NumeroDecimales) + Else + Row("Total") = (Cantidad * PU) + End If + Row("TotalImporte") = (Cantidad * PU).RoundSQL(NumeroDecimales) Row("SATClaveProdServ") = DrPS("SATClavePS") Row("SATClaveUM") = DrPS("SATClaveUnidadMedida") diff --git a/Bancos/PopIECompras.aspx b/Bancos/PopIECompras.aspx index 9b31ac375..94086dd01 100644 --- a/Bancos/PopIECompras.aspx +++ b/Bancos/PopIECompras.aspx @@ -524,7 +524,7 @@
- +
diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 43e4d2d87..0ecfd9ef6 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -1679,13 +1679,6 @@ Partial Class Bancos_PopIECompras UpGuardar.Update() End Sub - Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init - RVTxtFechaDocumento.MaximumValue = NowADS().ToShortDateString - Calendario.EndDate = NowADS() - - End Sub - - Protected Sub CVTxtImporte_ServerValidate(source As Object, args As ServerValidateEventArgs) @@ -1721,15 +1714,22 @@ Partial Class Bancos_PopIECompras End Sub + Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init + RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(2).ToShortDateString + Calendario.EndDate = NowADS().AddDays(2) + + End Sub Private Sub ValidaFechaDocumentoDiasPosteriores() RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(2).ToShortDateString Calendario.EndDate = NowADS().AddDays(2) + RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior a 6 meses de la fecha actual" If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1, 16) Then RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(30).ToShortDateString + RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior a 6 meses de la fecha actual" Calendario.EndDate = NowADS().AddDays(30) End If diff --git a/Bancos/ProveedoresAbonar.aspx b/Bancos/ProveedoresAbonar.aspx index cdadcb7d9..1b1028021 100644 --- a/Bancos/ProveedoresAbonar.aspx +++ b/Bancos/ProveedoresAbonar.aspx @@ -338,7 +338,13 @@ + + + + + + diff --git a/Bancos/ProveedoresAbonar.aspx.vb b/Bancos/ProveedoresAbonar.aspx.vb index 8e8952fee..f4c14812e 100644 --- a/Bancos/ProveedoresAbonar.aspx.vb +++ b/Bancos/ProveedoresAbonar.aspx.vb @@ -317,6 +317,9 @@ Partial Class Bancos_ProveedoresAbonar chkaplicaDescuento.Visible = True End If + + tmpValida() + End If End Sub @@ -1607,10 +1610,10 @@ Partial Class Bancos_ProveedoresAbonar #End Region Private Sub RVTxtFechaDocumento_Init(sender As Object, e As EventArgs) Handles RVTxtFechaDocumento.Init - RVTxtFechaDocumento.MaximumValue = NowADS().ToShortDateString + RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(2).ToShortDateString RVTxtFechaDocumentoMenor.MinimumValue = NowADS().AddMonths(-38).ToShortDateString - RVTxtFechaDocumentoMenor.MaximumValue = NowADS().ToShortDateString - Calendario.EndDate = NowADS() + RVTxtFechaDocumentoMenor.MaximumValue = NowADS().AddDays(2).ToShortDateString + Calendario.EndDate = NowADS().AddDays(2) End Sub @@ -1620,17 +1623,17 @@ Partial Class Bancos_ProveedoresAbonar RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(2).ToShortDateString RVTxtFechaDocumentoMenor.MaximumValue = NowADS().AddDays(2).ToShortDateString - RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior 2 días de la fecha actual" + RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior a 6 meses de la fecha actual" Calendario.EndDate = NowADS().AddDays(2) If DdlTipoTransaccion.SelectedValue.ToEntero.Contiene(1, 16) Then - RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(30).ToShortDateString - RVTxtFechaDocumentoMenor.MaximumValue = NowADS().AddDays(30).ToShortDateString - RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior 30 días de la fecha actual" + RVTxtFechaDocumento.MaximumValue = NowADS().AddDays(182).ToShortDateString + RVTxtFechaDocumentoMenor.MaximumValue = NowADS().AddDays(182).ToShortDateString + RVTxtFechaDocumento.ErrorMessage = "ERROR:
La fecha del documento no puede ser superior a 6 meses de la fecha actual" - Calendario.EndDate = NowADS().AddDays(30) + Calendario.EndDate = NowADS().AddDays(182) End If UpDatos.Update() @@ -1645,5 +1648,75 @@ Partial Class Bancos_ProveedoresAbonar UPCompras.Update() End Sub + + + + Private Sub tmpValida() + + Dim ValidaSAT As Boolean = True + Dim ImporteSeleccionado As Decimal = 0 + 'If UsuarioActual.Empresa.Funcionalidad(529) = "1" OrElse ChkNoValidaSAT.Checked Then ValidaSAT = False + + If ValidaSAT Then + Dim Validada As Boolean = False + Dim MsgValidadas As New StringBuilder + Dim Valida As New ClsValidaCFDi() + 'verifico ante el SAT las compras que voy a pagar + For Each gvr As GridViewRow In GvCxP.Rows + If gvr.FCCheckBox("Chk").Checked Then + + ImporteSeleccionado += gvr.FCTextBox("TxtAbonar").Text.ToDecimal + If gvr.DataKey("UUID") <> "" Then + + Valida.Verificar(gvr.DataKey("UUID"), gvr.DataKey("RFC"), UsuarioActual.Empresa.RFC, gvr.DataKey("TotalOriginal").ToDecimal) + + If Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa < 2 Then + Valida.EsValida = 1 + End If + + If Valida.EsValida <> 1 Then + + Validada = False + If Valida.EsValida = 2 Then 'Cancelada + 'estatus inventario, no surtida + If gvr.DataKey("EstatusInventario") = "1" Then + MsgValidadas.AppendFormat("Factura Cancelada: {0} - {1} , relacione su factura nueva para descontar saldo
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion")) + Else + MsgValidadas.AppendFormat("Factura Cancelada: {0} - {1} con movimientos de almacen, relacione su factura nueva para descontar saldo
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion")) + End If + Else + MsgValidadas.AppendFormat("Factura No se pudo Validar: {0} - {1}
", gvr.DataKey("SerieFolio"), gvr.DataKey("Descripcion")) + End If + End If + End If + End If + Next + + Valida.Dispose() + + 'verificacion doble, si no la han cancelado, ya tiene una validaci[on para que llegue aqui + + If MsgValidadas.Length > 0 Then + Alert(String.Format("
Las Facturas presentan la siguiente situación ante el SAT.
{0}", MsgValidadas.ToString), TipoMensaje.MsgAdvertencia) + Exit Sub + End If + Else + For Each gvr As GridViewRow In GvCxP.Rows + If gvr.FCCheckBox("Chk").Checked Then + ImporteSeleccionado += gvr.FCTextBox("TxtAbonar").Text.ToDecimal + End If + Next + End If + + If ImporteSeleccionado <= 0 Then + Alert("Seleccione facturas", TipoMensaje.MsgAdvertencia) + Exit Sub + End If + End Sub + + + Protected Sub Button1_Click(sender As Object, e As EventArgs) + tmpValida() + End Sub End Class diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index aeb94a329..4950bd341 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1511,6 +1511,11 @@ Partial Class Compras_Compras ElseIf Request("CveCompra") IsNot Nothing AndAlso IsNumeric(Request("CveCompra")) AndAlso Request("CveCompra").ToEntero > 0 Then + If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 Then + DdlTipoComprobante.Items.Clear() + DdlTipoComprobante.Items.Add(New ListItem("Remisión de Nota de Crédito", "RNC")) + End If + ViewState("CveCompra") = Request("CveCompra") CargaCompra() BtnGuardar.Enabled = False @@ -3235,6 +3240,13 @@ Partial Class Compras_Compras BtnRegenerarPrePolizaAlmacen_Click(Nothing, Nothing) End If + If DdlTipoComprobante.SelectedValue = "RNC" And CompraSaldo <> TxtTotal.Text.ToDecimal Then + BtnCancelarCompra.Visible = False + BtnEliminarCompra.Visible = False + End If + + + Else Alert("La compra solicitada no se encontró. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) End If @@ -7012,7 +7024,7 @@ Partial Class Compras_Compras Pago.Referencia = CompraActual.SerieFolio Pago.TCPago = CompraActual.TC Pago.AplicaAcreditable = False - Pago.TipoPago = "NC" + Pago.TipoPago = "RNC" Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC Dim CompraPago As New Compra @@ -7029,19 +7041,19 @@ Partial Class Compras_Compras ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraPago, Pago, CvePrePoliza, ObjConta) - If Not ErrorPrepoliza Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, 371, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, - CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then - ErrorPrepoliza = True - End If + 'If Not ErrorPrepoliza Then + ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, 371, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, + ' CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then + ' ErrorPrepoliza = True + ' End If - If Not ErrorPrepoliza Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 372, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, - CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then - ErrorPrepoliza = True - End If - End If - End If + ' If Not ErrorPrepoliza Then + ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 372, Referencia, Concepto, CveCompra:=DdlRemisionNotaCredito.SelectedValue.ToEntero, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio, + ' CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then + ' ErrorPrepoliza = True + ' End If + ' End If + 'End If End If @@ -17468,6 +17480,7 @@ Partial Class Compras_Compras Descuento = TxtDescuentoModal.Text.ToDouble Total = (Cantidad * PU) - Descuento DrPS("Cantidad") = Cantidad + DrPS("CantidadF") = Cantidad DrPS("PU") = PU DrPS("Descuento") = Descuento DrPS("OtrosGastos") = 0 diff --git a/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index 5810f81d3..b012e31e1 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -1653,23 +1653,28 @@ Partial Class PopUpVerFactura TipoTabla = 2 Case "VentasCorte" rowData("Columna") = "Total Ventas" - Orden = 2 + Orden = 1 TipoTabla = 1 Case "NotasCredito" rowData("Columna") = "N.C." - Orden = 3 + Orden = 2 TipoTabla = 1 Case "VentasCredito" rowData("Columna") = "Ventas Crédito" + Orden = 3 + TipoTabla = 1 + Case "VentasContado" + rowData("Columna") = "Ventas Contado" Orden = 4 TipoTabla = 1 + Case "VentaTotalIngreso" rowData("Columna") = "Ventas Ingreso" - Orden = 4 + Orden = 5 TipoTabla = 1 Case "VentaTotalRemision" rowData("Columna") = "Ventas Remisiones" - Orden = 4 + Orden = 6 TipoTabla = 1 'Case "TotalEfectivo" ' rowData("Columna") = "Total Efectivo" @@ -1726,13 +1731,13 @@ Partial Class PopUpVerFactura End If Next - Dim TotalCredito As Decimal = DtCortesVentasResumen.SUMD("Importe", "MetodoPago = 'Crédito'") + 'Dim TotalCredito As Decimal = DtCortesVentasResumen.SUMD("Importe", "MetodoPago = 'Crédito'") - Dim rowCredito = DtDatosVentas.NewRow() - rowCredito("Columna") = "Crédito" - rowCredito("Importe") = TotalCredito - rowCredito("Orden") = 4 - DtDatosVentas.Rows.Add(rowCredito) + 'Dim rowCredito = DtDatosVentas.NewRow() + 'rowCredito("Columna") = "Crédito" + 'rowCredito("Importe") = TotalCredito + 'rowCredito("Orden") = 4 + 'DtDatosVentas.Rows.Add(rowCredito) Dim rds3 As New ReportDataSource With {.Name = "DataSet3", .Value = DtDatosVentas.FiltraParametros("Orden > 0", "Orden")} lrds.Add(rds3) @@ -6309,6 +6314,11 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("Numero", FolioPoliza)) params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano"))) params.Add(New ReportParameter("CodigoPostal", "")) + + If RutaReporte.Contains("Grales\Formatos\") Then + params.Add(New ReportParameter("LogoPath", RutaImagenLogo)) + End If + If UsuarioActual.CveEmpresa.Contiene(141) Then params.Add(New ReportParameter("Fecha", Fecha.ToString("dd/MM/yyyy hh:mm:ss"))) Else diff --git a/Empresas/13/Formatos/CartaPorteTimbrado.rdlc b/Empresas/13/Formatos/CartaPorteTimbrado.rdlc index c0af07228..cf3392514 100644 --- a/Empresas/13/Formatos/CartaPorteTimbrado.rdlc +++ b/Empresas/13/Formatos/CartaPorteTimbrado.rdlc @@ -4119,7 +4119,7 @@ - Carta Porte 2.0 + Carta Porte 3.0 - 1.83665in + 1.71028in - 1.83665in + 1.71028in