diff --git a/App_Code/Modelos.vb b/App_Code/Modelos.vb index 218d062ef..2295f8946 100644 --- a/App_Code/Modelos.vb +++ b/App_Code/Modelos.vb @@ -4542,7 +4542,7 @@ Namespace Modelos If Not SeCancela Then Dim ObjRem As New Modelos.Factura(UsuarioActual, DrMovtos("CveRem").ToString.ToEntero(), UsuarioActual.CveEmpresa) - If True Then ' ObjRem.SaldoAlmacen = 0 + If ObjRem.SaldoAlmacen = 0 Then CveAlmacenTraspasoDestinoDevRem = DrMovtos("CveAlmacenTraspasoDestino").ToString.ToEntero If Not CveAlmacenTraspasoDestinoDevRem > 0 Then @@ -4613,6 +4613,7 @@ Namespace Modelos Exit For End If End If + ObjRem.Dispose() End If diff --git a/Bancos/IE.aspx b/Bancos/IE.aspx index 53489d4c4..e47da35f1 100644 --- a/Bancos/IE.aspx +++ b/Bancos/IE.aspx @@ -246,6 +246,17 @@ +
+ +
+
+ +
+ $ + + +
+

diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index b4a14655d..09ab57456 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -2686,7 +2686,31 @@ Partial Class Bancos_IE Exit Select End If - 'IMPUESTOS + 'OTROS INGRESOS/EGRESOS + + If TxtOtrosIngresosEgresos.Text.ToDecimal <> 0 Then + Dim Impo As Decimal = TxtOtrosIngresosEgresos.Text.ToDecimal + Dim TipoMovtoIE As Boolean = False + Dim CveConcIE As Integer = 78 + If Impo > 0 Then + TipoMovtoIE = True + Impo = Math.Abs(Impo) + CveConcIE = 78 + Else + TipoMovtoIE = False + Impo = Math.Abs(Impo) + CveConcIE = 211 + End If + + If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovtoIE, Impo, ReferenciaAplicar, CveConcIE, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveVenta:=CveVentaDevDin, CveCliente:=CveCliente, ImporteMX:=Impo, ImporteME:=0) Then + MsgError = "Ocurrió un error al registrar el asiento de pago de devolución" + Exit Select + End If + End If + + + + 'IMPUESTOS If ObjMov.GetPrePolizasDetalle(CvePrePolizaDevDin) Then Dim PorcentajePagoDevDin = (TxtImporte.Text.ToDecimal / ImporteOriginalDevDin).RoundSQL(6) Dim CveConceptoContableAplciar = -1 diff --git a/Compras/RepNotasCredito.aspx.vb b/Compras/RepNotasCredito.aspx.vb index c04fd2c3e..f5d63a35b 100644 --- a/Compras/RepNotasCredito.aspx.vb +++ b/Compras/RepNotasCredito.aspx.vb @@ -143,7 +143,7 @@ Partial Class Compras_RepNotasCredito TCCompra = gr.DataKey("TipoCambio").ToDecimal CveMoneda = gr.DataKey("CveMoneda").ToEntero - CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 2, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + CvePrePoliza = ObjConta.AddPrePolizas("Compras/RepNotasCredito", 103, gr.DataKey("Saldo").ToDecimal, gr.DataKey("Saldo").ToDecimal, gr.DataKey("CveMoneda").ToEntero, Now, "Saldado manual", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveMoneda > 1 Then IdCtaContable = gr.DataKey("IdCtaContExtranjera").ToEntero diff --git a/Contabilidad/RepIVA.aspx b/Contabilidad/RepIVA.aspx index cd25184a0..254800fc3 100644 --- a/Contabilidad/RepIVA.aspx +++ b/Contabilidad/RepIVA.aspx @@ -167,6 +167,7 @@

IVA Acreditable

+ diff --git a/Contabilidad/RepIVA.aspx.cs b/Contabilidad/RepIVA.aspx.cs index 3f8e11bff..0730328b1 100644 --- a/Contabilidad/RepIVA.aspx.cs +++ b/Contabilidad/RepIVA.aspx.cs @@ -62,6 +62,7 @@ public partial class Contabilidad_RepIVA : ClsPaginas { if (TipoCambio == 3 && TxtEspecifico.Text != "") { TCEspecifico = TxtEspecifico.Text.ToDouble(); } else { TCEspecifico = -1; } int Conciliado = DdlTipoMovto.SelectedValue.ToEntero(); + LblMsgAcreditable.Text = ""; // lbl de mensajes de negativos ClsContabilidad ObjCont = new ClsContabilidad(); if (ObjCont.GetRepIVA(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), 1, UsuarioActual.CveUsuario, Conciliado, UsuarioActual.CveEmpresa, TipoCambio, TCEspecifico)) @@ -83,10 +84,18 @@ public partial class Contabilidad_RepIVA : ClsPaginas { GvA.DataSource = ObjCont.DtResultados; DtIVAAcreditable = ObjCont.DtResultados; + if (DtIVAAcreditable.FiltraParametros("IVA < 0 OR IEPS < 0 ").Rows.Count > 0) + { + LblMsgAcreditable.Text = "La información presenta importes en negativo, estos no se incluirán en el archivo generado para DIOT"; + } + + if (ObjCont.GetRepIVAAcumulado(txtFechaI.Text.ToDate(), txtFechaF.Text.ToDate(), Conciliado, 3, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) { GvIVA2.DataSource = ObjCont.DtResultados; } + + } ObjCont.Dispose(); GvT.DataBind(); diff --git a/Inventarios/EntradasSalidas.aspx.vb b/Inventarios/EntradasSalidas.aspx.vb index baab9686f..969fe1031 100644 --- a/Inventarios/EntradasSalidas.aspx.vb +++ b/Inventarios/EntradasSalidas.aspx.vb @@ -588,8 +588,8 @@ Partial Class Inventarios_EntradasSalidas If DtMov.Rows(0)("CvePrePoliza").ToString.ToEntero > 0 Then HplPrePoliza.Visible = True HplPrePoliza.NavigateUrl = String.Format("/Contabilidad/RegPrePoliza.aspx?CvePrePoliza={0}", DtMov.Rows(0)("CvePrePoliza")) - CvePrePoliza = DtMov.Rows(0)("CvePrePoliza").ToString.ToEntero - Else + CvePrePoliza = DtMov.Rows(0)("CvePrePoliza").ToString.ToEntero + Else If UsuarioActual.CveRol = 1 Then BtnGeneraPrepoliza.Visible = True End If @@ -874,7 +874,18 @@ Partial Class Inventarios_EntradasSalidas TxtFecha.Enabled = True ImgFecha.Enabled = True TxtObservaciones.Enabled = True - End If + End If + + Dim ObjContabilidad As New ClsContabilidad + If ObjContabilidad.GetPrePoliza(CvePrePoliza, UsuarioActual.CveEmpresa) Then + Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("") + If dr IsNot Nothing Then + If dr("IdPoliza").ToString.ToEntero > 0 Then + BtnEliminar.Visible = False + End If + End If + End If + ObjContabilidad.Dispose() 'SI TIENE PREPOLIZA NO SE DEBE PODER EDITAR If Mov.TienePrePoliza > 0 Then diff --git a/Inventarios/RecepcionEntrega.aspx.vb b/Inventarios/RecepcionEntrega.aspx.vb index eb89b8e82..e6ea3b001 100644 --- a/Inventarios/RecepcionEntrega.aspx.vb +++ b/Inventarios/RecepcionEntrega.aspx.vb @@ -1465,8 +1465,6 @@ Partial Class Inventarios_RecepcionEntrega End If - - 'VALIDA CANTIDAD DE SALIDA Dim Cantidad As Decimal = 0.0D For Each Gvr As GridViewRow In GvDatos.Rows @@ -2214,122 +2212,123 @@ Partial Class Inventarios_RecepcionEntrega End If End If End If - + ' SE REALIZARA AL MOMENTO DE CANCELAR LA FACTURA { 'DEVOLUCION REMISION - REGRESA LAS EXISTENCIAS A ENTREGA POR ADELANTADO SI LA FACTURA VIENE DE REMISION - If Not ErrorMovInv And EsDevolucionVenta = 1 And TipoDocto = "Ing" Then - Dim DtDevRem As New DataTable - Dim DtMovtosDev As New DataTable - Dim CveAlmacenTraspasoDestinoDevRem = -1 - Dim CveVentaDetalleRem = -1 - Dim CantidadDevolver As Decimal = 0 - Dim CantidadRem As Decimal = 0 + 'If Not ErrorMovInv And EsDevolucionVenta = 1 And TipoDocto = "Ing" Then + ' Dim DtDevRem As New DataTable + ' Dim DtMovtosDev As New DataTable + ' Dim CveAlmacenTraspasoDestinoDevRem = -1 - 'CARGA REMISIONES DE LA VENTA DEVUELTA - If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then - DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen > 0") - Else - ErrorMovInv = True - End If + ' Dim CveVentaDetalleRem = -1 + ' Dim CantidadDevolver As Decimal = 0 + ' Dim CantidadRem As Decimal = 0 - 'CARGA CONCEPTOS DEVUELTOS EN LA VENTA - If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then - DtMovtosDev = ObjInventario.DtResultados - Else - ErrorMovInv = True - End If + ' 'CARGA REMISIONES DE LA VENTA DEVUELTA + ' If ObjInventario.GetDevolucionRemisionesFacturadas(CveVentaSurtir) Then + ' DtDevRem = ObjInventario.DtResultados.FiltraParametros("CantidadAlmacen > 0") + ' Else + ' ErrorMovInv = True + ' End If - If Not ErrorMovInv Then - If DtDevRem.Rows.Count > 0 And DtMovtosDev.Rows.Count > 0 Then + ' 'CARGA CONCEPTOS DEVUELTOS EN LA VENTA + ' If ObjInventario.GetMovimientosDetalle(CveMovimiento, UsuarioActual.CveEmpresa) Then + ' DtMovtosDev = ObjInventario.DtResultados + ' Else + ' ErrorMovInv = True + ' End If - For Each DrMovtos As DataRow In DtDevRem.FiltraParametros("", "CveRem", {"CveRem", "CveAlmacenTraspasoDestino"}).Rows - CveAlmacenTraspasoDestinoDevRem = DrMovtos("CveAlmacenTraspasoDestino").ToString.ToEntero - If Not CveAlmacenTraspasoDestinoDevRem > 0 Then - ErrorMovInv = True - TextoError = "Ocurrió un error al obtener el almacén de devolucion de remisión." - Exit For - End If + ' If Not ErrorMovInv Then + ' If DtDevRem.Rows.Count > 0 And DtMovtosDev.Rows.Count > 0 Then - 'SALIDA GENERAL - CveMovimientoSalidaDevRem = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimiento, CveAlmacenDestino:=CveAlmacenTraspasoDestinoDevRem) - FolioMovimientoSalidaDevRem = ObjInventario.Folio + ' For Each DrMovtos As DataRow In DtDevRem.FiltraParametros("", "CveRem", {"CveRem", "CveAlmacenTraspasoDestino"}).Rows + ' CveAlmacenTraspasoDestinoDevRem = DrMovtos("CveAlmacenTraspasoDestino").ToString.ToEntero + ' If Not CveAlmacenTraspasoDestinoDevRem > 0 Then + ' ErrorMovInv = True + ' TextoError = "Ocurrió un error al obtener el almacén de devolucion de remisión." + ' Exit For + ' End If - 'ENTRADA ADELANTADO - CveMovimientoEntradaDevRem = ObjInventario.AddMovimiento(CveAlmacenTraspasoDestinoDevRem, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimientoSalidaDevRem, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero) - FolioMovimientoEntradaDevRem = ObjInventario.Folio + ' 'SALIDA GENERAL + ' CveMovimientoSalidaDevRem = ObjInventario.AddMovimiento(DdlAlmacen.SelectedValue.ToEntero, 8, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimiento, CveAlmacenDestino:=CveAlmacenTraspasoDestinoDevRem) + ' FolioMovimientoSalidaDevRem = ObjInventario.Folio - If Not (CveMovimientoSalidaDevRem > 0 And CveMovimientoEntradaDevRem > 0) Then - ErrorMovInv = True - TextoError = "Ocurrió un error al generar los movimientos de devolución a remisión." - Exit For - End If + ' 'ENTRADA ADELANTADO + ' CveMovimientoEntradaDevRem = ObjInventario.AddMovimiento(CveAlmacenTraspasoDestinoDevRem, 9, 1, TxtFecha.Text.ToDate, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1, Observaciones:=TxtObservaciones.Text.Trim, Guia:=TxtGuia.Text, CveContrato:=CveContrato, CveMovimientoRelacionado:=CveMovimientoSalidaDevRem, CveAlmacenDestino:=DdlAlmacen.SelectedValue.ToEntero) + ' FolioMovimientoEntradaDevRem = ObjInventario.Folio + + ' If Not (CveMovimientoSalidaDevRem > 0 And CveMovimientoEntradaDevRem > 0) Then + ' ErrorMovInv = True + ' TextoError = "Ocurrió un error al generar los movimientos de devolución a remisión." + ' Exit For + ' End If - 'SALIDA POR TRAPASO DE GENERAL - For Each DrRem As DataRow In DtDevRem.FiltraParametros($"CveRem = {DrMovtos("CveRem")}").Rows - CveVentaDetalleRem = DrRem("CveVentaDetalleRem").ToString.ToEntero - CantidadRem = DrRem("CantidadFacturada").ToString.ToDecimal - 'CantidadDevolver = DtMovtosDev.FiltroPrimeroValor("Cantidad", $"CveVentaDetalle = {DrRem("CveVentaDetalle").ToString.ToEntero}").ToDouble - 'If (Dr("Cantidad").ToString.ToDouble > CantidadRem, CantidadRem, Dr("Cantidad").ToString.ToDouble) Then + ' 'SALIDA POR TRAPASO DE GENERAL + ' For Each DrRem As DataRow In DtDevRem.FiltraParametros($"CveRem = {DrMovtos("CveRem")}").Rows + ' CveVentaDetalleRem = DrRem("CveVentaDetalleRem").ToString.ToEntero + ' CantidadRem = DrRem("CantidadFacturada").ToString.ToDecimal + ' 'CantidadDevolver = DtMovtosDev.FiltroPrimeroValor("Cantidad", $"CveVentaDetalle = {DrRem("CveVentaDetalle").ToString.ToEntero}").ToDouble + ' 'If (Dr("Cantidad").ToString.ToDouble > CantidadRem, CantidadRem, Dr("Cantidad").ToString.ToDouble) Then - If Not CveVentaDetalleRem > 0 Then - ErrorMovInv = True - TextoError = "Ocurrió un error al obtener la relación de la venta con la remisión." - Exit For - End If + ' If Not CveVentaDetalleRem > 0 Then + ' ErrorMovInv = True + ' TextoError = "Ocurrió un error al obtener la relación de la venta con la remisión." + ' Exit For + ' End If - For Each Dr As DataRow In DtMovtosDev.FiltraParametros($"CveVentaDetalle = {DrRem("CveVentaDetalle").ToString.ToEntero}").Rows - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveVentaDetalle:=CveVentaDetalleRem, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then - ErrorMovInv = True - TextoError = "Ocurrió un error al guardar los movimientos de salida de traspaso de devolucion de remisión." - Exit For - End If - Next + ' For Each Dr As DataRow In DtMovtosDev.FiltraParametros($"CveVentaDetalle = {DrRem("CveVentaDetalle").ToString.ToEntero}").Rows + ' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoSalidaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDouble, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveVentaDetalle:=CveVentaDetalleRem, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then + ' ErrorMovInv = True + ' TextoError = "Ocurrió un error al guardar los movimientos de salida de traspaso de devolucion de remisión." + ' Exit For + ' End If + ' Next - If ErrorMovInv Then - Exit For - End If - Next + ' If ErrorMovInv Then + ' Exit For + ' End If + ' Next - If ErrorMovInv Then - Exit For - End If + ' If ErrorMovInv Then + ' Exit For + ' End If - 'ENTRADA POR TRAPASO A ENTREGA POR ADELANTADO - If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaDevRem, UsuarioActual.CveEmpresa) Then - For Each Dr As DataRow In ObjInventario.DtResultados.Rows - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then - ErrorMovInv = True - TextoError = "Ocurrió un error al guardar los movimientos de entrada de traspaso de devolucion de remisión." - Exit For - End If - Next + ' 'ENTRADA POR TRAPASO A ENTREGA POR ADELANTADO + ' If ObjInventario.GetMovimientosDetalle(CveMovimientoSalidaDevRem, UsuarioActual.CveEmpresa) Then + ' For Each Dr As DataRow In ObjInventario.DtResultados.Rows + ' If Not ObjInventario.AddMovimientoDetalle(CveMovimientoEntradaDevRem, Dr("Cantidad").ToString.ToDecimal, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("PU").ToString.ToDecimal, Dr("CveAF").ToString.ToEntero, -1, Dr("SerieLote").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString.ToEntero, Lote:=Dr("Lote").ToString, Batch:=Dr("Batch").ToString) Then + ' ErrorMovInv = True + ' TextoError = "Ocurrió un error al guardar los movimientos de entrada de traspaso de devolucion de remisión." + ' Exit For + ' End If + ' Next - If ErrorMovInv Then - Exit For - End If + ' If ErrorMovInv Then + ' Exit For + ' End If - Else - ErrorMovInv = True - TextoError = "Ocurrió un error al obtener los detalles de la devolución de almacén" - Exit For - End If + ' Else + ' ErrorMovInv = True + ' TextoError = "Ocurrió un error al obtener los detalles de la devolución de almacén" + ' Exit For + ' End If - If Not ObjVentas.UpdateVentasDevolucionAlmacen(0, DrMovtos("CveRem").ToString.ToEntero) Then - TextoError = "Ocurrió un error al hacer la devolucion hacia la remision. Por favor vuelva a intentar." - ErrorMovInv = True - Exit For - End If + ' If Not ObjVentas.UpdateVentasDevolucionAlmacen(0, DrMovtos("CveRem").ToString.ToEntero) Then + ' TextoError = "Ocurrió un error al hacer la devolucion hacia la remision. Por favor vuelva a intentar." + ' ErrorMovInv = True + ' Exit For + ' End If - Next - End If - Else - TextoError = "Ocurrió un error al hacer la devolucion a remisión. Por favor vuelva a intentar." - ErrorMovInv = True - End If - - End If + ' Next + ' End If + ' Else + ' TextoError = "Ocurrió un error al hacer la devolucion a remisión. Por favor vuelva a intentar." + ' ErrorMovInv = True + ' End If + 'End If + '} 'QUEMA DEVOLUCION | QUEMA = LA QUITA DE PENDIENTE POR RECIBIR (DEVOLVER) If Not ErrorMovInv And EsDevolucionVenta = 1 Then diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 226fdaf5a..e93d30672 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -6859,6 +6859,10 @@ Partial Class Ventas If CveVenta > 0 Then MensajeAlert = New StringBuilder Dim ArchivoCotizacion As New System.IO.FileInfo(String.Format("{0}Formatos/Cotizacion.rdlc", UsuarioActual.Empresa.Ruta)) + If Opcion = "Cot" And UsuarioActual.CveEmpresa = 141 Then + MensajeAlert.AppendFormat("Facturar

", CveVenta) + End If + If ArchivoCotizacion.Exists Then MensajeAlert.AppendFormat("
", Encripta(String.Format("OP=VTA&CVEVENTA={0}&PAG=0", CveVenta))) Else @@ -16765,6 +16769,21 @@ Partial Class Ventas End If ObjCliente.Dispose() + + RecargaGlobalCliente() + + End Sub + + Private Sub RecargaGlobalCliente() + Dim Hilo As New System.Threading.Thread(AddressOf GeneraGlobalDTCliente) + Hilo.Start() + End Sub + Private Sub GeneraGlobalDTCliente() + Dim Objclientes As New ClsClientes + If Objclientes.GetClientes(-1, "-1", "-1", "-1", "-1", "-1", "-1", -1, -1, Estatus:=-1) Then + Application("GlobalDTCliente") = Objclientes.DtResultados + End If + Objclientes.Dispose() End Sub #End Region