diff --git a/App_Code/ClsPaginas.vb b/App_Code/ClsPaginas.vb index e285a7287..215aada2b 100644 --- a/App_Code/ClsPaginas.vb +++ b/App_Code/ClsPaginas.vb @@ -7729,14 +7729,14 @@ Public Class ClsPaginas If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento Dim Ret As ConceptosRetenciones = CompraActual.ConceptoPrePolizaIVA If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True - If CompraActual.IVADeducible > 0 Then + If Not ErrorMovtos AndAlso CompraActual.IVADeducible > 0 Then ImporteMovimiento = (PorcentajePago * CompraActual.IVADeducible).RoundSQL ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento.RoundSQL * Pago.TCPago).RoundSQL If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, PorcentajeImpuesto:=CompraActual.PorcentajeIVA, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True End If - If CompraActual.IVANoDeducible > 0 Then + If Not ErrorMovtos AndAlso CompraActual.IVANoDeducible > 0 Then ImporteMovimiento = (PorcentajePago * CompraActual.IVANoDeducible).RoundSQL ImporteMN = (ImporteMovimiento * CompraActual.TC).RoundSQL If CompraActual.CveMoneda > 1 Then ImporteME = ImporteMovimiento @@ -7752,7 +7752,9 @@ Public Class ClsPaginas If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ErrorMovtos Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + End If End If 'si tiene Ret ISR y su proporcion If Not ErrorMovtos AndAlso CompraActual.RetISR > 0 Then @@ -7767,7 +7769,9 @@ Public Class ClsPaginas If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, Ret.CveConceptoxAcreditar, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ErrorMovtos Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, Ret.CveConceptoAcreditable, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, Contabilizable:=ContabilizableISR, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + End If End If 'si tiene IEPS y su proporcion If Not ErrorMovtos AndAlso CompraActual.IEPS > 0 Then @@ -7782,7 +7786,9 @@ Public Class ClsPaginas If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteMovimiento, ImporteMN, 25, CompraActual.SerieFolio, Concepto, Ret.IdCtaContablexAcreditar, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True 'si tiene funcionalidad para tomar el TC de pago. se recalcula el importe If FuncionalidadFluctuacionImpuestos Then ImporteMN = (ImporteMovimiento * Pago.TCPago).RoundSQL - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + If Not ErrorMovtos Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteMovimiento, ImporteMN, 26, CompraActual.SerieFolio, Concepto, Ret.IdCtaContableAcreditable, CveCompra:=CompraActual.CveCompra, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE, CvePersonal:=Pago.CvePersonal, TipoCambio:=CompraActual.TC, TipoCambioPago:=Pago.TCPago, ImporteME:=ImporteME, CveSubProyecto:=CompraActual.CveSubProyecto) Then ErrorMovtos = True + End If End If End If @@ -7866,7 +7872,7 @@ Public Class ClsPaginas Diferencia = Diferencia.Abs.RoundSQL End If If Diferencia <> 0 Then - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Diferencia, Diferencia, ConceptoContable, Concepto, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, Diferencia, Diferencia, ConceptoContable, Pago.Referencia, Concepto, IdCtaContable, CveCompra:=CompraActual.CveCompra, CveSubProyecto:=CompraActual.CveSubProyecto, CveProveedor:=CompraActual.CveProveedor, CveIE:=Pago.CveIE) Then ErrorMovtos = True End If End If @@ -8051,7 +8057,7 @@ Public Class ClsPaginas Retorno.CveConcepto = If(CveTipoProveedor = 1, 21, 56) Case 2 'dólares Retorno.CveConcepto = If(CveTipoProveedor = 1, 339, 346) - Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 266, 340) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 340, 347) End Select Case 15 ' notas de crédito Select Case CveMoneda @@ -8086,7 +8092,7 @@ Public Class ClsPaginas Retorno.CveConcepto = If(CveTipoProveedor = 1, 10, 48) Case 2 'dólares Retorno.CveConcepto = If(CveTipoProveedor = 1, 338, 345) - Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 266, 340) + Retorno.CveConceptoComplementario = If(CveTipoProveedor = 1, 340, 347) End Select Case 15 ' notas de crédito Select Case CveMoneda diff --git a/Bancos/PopIECompras.aspx.vb b/Bancos/PopIECompras.aspx.vb index 9e161e4eb..a5f621127 100644 --- a/Bancos/PopIECompras.aspx.vb +++ b/Bancos/PopIECompras.aspx.vb @@ -1625,7 +1625,7 @@ Partial Class Bancos_PopIECompras Dim StrMsg As New StringBuilder StrMsg.Append("El Documento se guardó correctamente.
") If TipoTransaccion = "Egs" AndAlso CveIE > 0 Then GeneraChequePDF(CveIE, UsuarioActual.Empresa) - If IdPoliza > 0 Then StrMsg.AppendFormat("
Ver Póliza", IdPoliza) + If IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then StrMsg.AppendFormat("
Ver Póliza", IdPoliza) If RBLContado.SelectedValue.ToEntero = 6 And ChkEmitirComplementoPago.Checked Then GeneraTimbre(CvePrePoliza) Else Alert(StrMsg.ToString, TipoMensaje.MsgInformacion, "self.parent.tb_remove();self.parent.location.reload();") diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 5facc8424..17f32de8d 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -4845,7 +4845,7 @@
+ DataKeyNames="CveCompra,TipoCambio,CveTipoConcepto,UUID,Saldo,SerieFolio,Fecha,CveMoneda,Total,CveProveedor" runat="server" AutoGenerateColumns="false" GridLines="None" CssClass="table table-striped table-hover Widthall ScrollAD"> @@ -5880,46 +5880,34 @@ } - function chkAnt(t, txt, importe, TotalSaldo, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal) { + function chkAnt(t, txt, importe, TotalSaldoCompra, CveMonedaAnticipo, TCAnticipo, CveMonedaOriginal, TCCompra) { var Total = ToDouble($get('TxtTotal').value); - //TotalSaldo = Total; + debugger; var txtvalue = ToDouble(txt.value); + var ImportePago, ImporteCompra; + + var TCC = TCCompra / TCAnticipo; var importevalue = ToDouble(importe); - if (CveMonedaAnticipo = 1 && CveMonedaOriginal == 2) { - txtvalue = ToDouble(txtvalue / TCAnticipo); - importevalue = ToDouble(importevalue / TCAnticipo); - } else if (CveMonedaAnticipo = 2 && CveMonedaOriginal == 1) { - txtvalue = ToDouble(txtvalue * TCAnticipo); - importevalue = ToDouble(importevalue * TCAnticipo); - } - //var SaldoCompra = parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); - var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + txtvalue).toFixed(2); // le agrego lo del valor actual para validarlo - - - - if (t.checked) { - - if (SaldoCompra > 0) { - if (SaldoCompra > importevalue) { - txt.value = ToDouble(importevalue).toFixed(2); - //SaldoCompra = SaldoCompra - importe; - //$get('HdnCompraSaldo').value = SaldoCompra; - - } else { - txt.value = ToDouble(SaldoCompra).toFixed(2); - //SaldoCompra = 0.00; - //$get('HdnCompraSaldo').value = SaldoCompra; - } - - } else { - t.checked = false; - txt.value = ""; - //SaldoCompra = SaldoCompra - importe; + if (CveMonedaAnticipo != CveMonedaOriginal) { + if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { + txtvalue = ToDouble(txtvalue / TCAnticipo); + importevalue = ToDouble(importevalue / TCAnticipo); + } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { + txtvalue = ToDouble(txtvalue * TCAnticipo); + importevalue = ToDouble(importevalue * TCAnticipo); } + } + var DifSaldo = (TotalSaldoCompra - FnSumaValoresAnt()).toFixed(2); // le agrego lo del valor actual para validarlo - } else { - //$get('HdnCompraSaldo').value = parseFloat(SaldoCompra) + parseFloat(txt.value); + if (t.checked) + { + if (DifSaldo > importevalue) { + txt.value = ToDouble(importevalue*TCC).toFixed(2); + } else { + txt.value = ToDouble(DifSaldo*TCC).toFixed(2); + } + } else { txt.value = ""; } @@ -5935,6 +5923,7 @@ var Total = ToDouble($get('TxtTotal').value); let txtComisionImporte = 0; + debugger; if (txtComision != null) { if (!isNaN(txtComision.value)) { @@ -5952,8 +5941,7 @@ } return; } - - debugger; + if (CveMonedaAnticipo == 1 && CveMonedaOriginal == 2) { txtvalue = ToDouble(txtvalue / TCAnticipo); } else if (CveMonedaAnticipo == 2 && CveMonedaOriginal == 1) { @@ -5961,7 +5949,7 @@ } var SaldoCompra = (TotalSaldo - FnSumaValoresAnt() + ToDouble(txtvalue)).toFixed(2); // le agrego lo del valor actual para validarlo //parseFloat(parseFloat($get('HdnCompraSaldo').value).toFixed(2)); - alert(txtvalue); + if (SaldoCompra < 0) txt.value = SaldoCompra - txtvalue; //minimo entre saldocompra y el saldoanticipo if (SaldoCompra < saldo) saldo = SaldoCompra; diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 841911cad..10c4b925e 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -7,11 +7,8 @@ Imports System.Diagnostics Imports System.Globalization Imports System.IO Imports System.Threading.Tasks -Imports Newtonsoft.Jsonf +Imports Newtonsoft.Json Imports Extensiones -Imports System.Activities.Expressions -Imports iText.Barcodes.Dmcode -Imports Microsoft.Reporting.WebForms Imports MoreLinq Partial Class Compras_Compras @@ -490,14 +487,6 @@ Partial Class Compras_Compras ViewState("CompraSaldo") = value End Set End Property - Private Property Saldo As Double - Get - Return ViewState("Saldo").ToString.ToDouble - End Get - Set(value As Double) - ViewState("Saldo") = value - End Set - End Property Private Property CveMoneda As Integer Get @@ -1234,7 +1223,7 @@ Partial Class Compras_Compras CierrePeriodo = False NCDevolucion = False CompraCargada = False - Saldo = 0 + CompraSaldo = 0 SubTotalOriginal = 0 CveConceptoContableAlmacen = 0 EsNoDeducible = False @@ -1418,8 +1407,6 @@ Partial Class Compras_Compras InicializaAplicaNCFact() End If - - If UsuarioActual.Empresa.UsaAC Then CambiaEjercicioAC() End If @@ -1509,7 +1496,7 @@ Partial Class Compras_Compras End If 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO - LblSaldoFactura.Text = If(CveCompra > 0, Saldo.FormatoNumero, TxtTotal.Text.FormatoNumero) + LblSaldoFactura.Text = If(CveCompra > 0, CompraSaldo.FormatoNumero, TxtTotal.Text.FormatoNumero) 'cuando es factura con amortizacion, el importe a descontar es el saldo que se debe de aplicar para la amortizacion If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 Then LblSaldoFactura.Text = TmpDT.SUMD("Descuento").ToString @@ -2425,12 +2412,6 @@ Partial Class Compras_Compras End If End If - Dim MostrarRetIva6 As Boolean = False - - - - - TxtSubTotal.Text = SubtotalTemp.FormatoNumero TxtDescuento.Text = DescuentosTemp.FormatoNumero TxtSubTotal2.Text = Subtotal2Temp.FormatoNumero @@ -2476,23 +2457,6 @@ Partial Class Compras_Compras 'ASIGNA VALORES ORIGINALES PARA GUARDAR AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total) - 'If UsuarioActual.Empresa.Funcionalidad(577).ToString = "1" Then - - - ' If RetencionIVA = 0 And IVAOriginal > 0 Then - ' For Each dRow As DataRow In TmpDT.Rows - ' If dRow("CveTipoPS").ToString.ToEntero = 1 Then - - ' 'comentado para reubicar el boton - ' 'tdIVA6.Visible = True - - - ' Exit For - ' End If - ' Next - ' End If - - 'End If End Sub @@ -2592,7 +2556,7 @@ Partial Class Compras_Compras 'CargaProveedor Dim dr As DataRow = ObjCompra.DtResultados.Rows(0) - Saldo = dr("Saldo").ToString.ToDecimal + CompraSaldo = dr("Saldo").ToString.ToDecimal RBLPago.Visible = False Dim CveProveedor As Integer = dr("CveProveedor").ToString.ToEntero @@ -2689,7 +2653,6 @@ Partial Class Compras_Compras TxtTotal.Text = dr("Total").ToString.FormatoNumero(2) HfTotalCompra.Value = TxtTotal.Text - CompraSaldo = TxtTotal.Text.ToDouble TipoCambio = dr("TipoCambio").ToString.ToDecimal Dim TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDouble @@ -2797,29 +2760,7 @@ Partial Class Compras_Compras 'ImgAddObs.Attributes.Add("onclick", "javascript: PosicionaObjeto(this.id,'DivEventoBitacora',null,-250,-250); $('#DivEventoBitacora').show(1000); ") ImgAddObs.Visible = True ChkAplicaNotaCredito.Checked = CBool(dr("AplicaNotaCredito").ToString) - 'RBLPago.Enabled = False - 'If dr("CveIE").ToString.ToEntero > 0 Then - ' RBLPago.SelectedValue = "2" - ' 'cargo los datos del pago - ' 'PnlPago.Visible = True - ' 'PnlChkFuncionariosEmpleados.Visible = True - ' Dim ObjIE As New ClsBancos() - - ' If ObjIE.GetBancosIE(dr("CveIE").ToString.ToEntero, UsuarioActual.CveEmpresa) Then - ' If ObjIE.DtResultados.Rows.Count > 0 Then - - ' DdlTipoTransaccion.SelectedValue = ObjIE.CveTipoTransaccion.ToString - ' DdlCuenta.SelectedValue = ObjIE.CveCuenta.ToString - ' TxtDocumentoFolio.Text = ObjIE.Folio - ' TxtDocumentoImporte.Text = ObjIE.Importe.FormatoNumero - ' TxtDocumentoObservaciones.Text = ObjIE.Observaciones - - ' End If - ' End If - - ' ObjIE.Dispose() - 'End If CompraSaldo = TotalGeneral - LblAmortizacion.Text.ToDouble If EmpresaPrueba Then CompraSaldo = dr("Saldo").ToString.ToDouble @@ -7208,19 +7149,27 @@ Partial Class Compras_Compras Pago.TipoPago = "NC" Pago.Fecha = CompraActual.Fecha 'toma la misma fecha de la provisión en el pago de NC + Dim CompraPago As New Compra 'datos de la compra tipodocto:Fac, para sobreescribirlos - CompraActual.CveCompra = Gvr.DataKey("CveCompra").ToEntero - CompraActual.SerieFolio = Gvr.DataKey("SerieFolio") - CompraActual.TC = Gvr.DataKey("TipoCambio").ToDecimal - CompraActual.Fecha = Gvr.DataKey("Fecha").ToDate - CompraActual.CveMoneda = Gvr.DataKey("CveMoneda").ToEntero - - ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) + CompraPago.CveCompra = Gvr.DataKey("CveCompra").ToEntero + CompraPago.CveProveedor = Gvr.DataKey("CveProveedor").ToEntero + CompraPago.SerieFolio = Gvr.DataKey("SerieFolio") + CompraPago.TC = Gvr.DataKey("TipoCambio").ToDecimal + CompraPago.Fecha = Gvr.DataKey("Fecha").ToDate + CompraPago.CveMoneda = Gvr.DataKey("CveMoneda").ToEntero + CompraPago.Total = Gvr.DataKey("Total").ToDecimal + CompraPago.CveTipoConceptoProveedor = Gvr.DataKey("CveTipoConcepto").ToEntero + CompraPago.CveSubProyecto = CompraActual.CveSubProyecto + ErrorPrepoliza = AplicaPrePolizaPagoCompra(CompraPago, Pago, CvePrePoliza, ObjConta) + If ErrorPrepoliza Then + Exit For + End If End If Next If ErrorPrepoliza Then + ErrorMovtosCxP = True Exit Select End If @@ -8089,6 +8038,21 @@ Partial Class Compras_Compras Dim Msg As New StringBuilder Msg.Append("La compra se registró correctamente") + If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then + If ObjConta.ValorPolizaDescuadre > 0 Then + GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + ErrorPrepolizaDescuadre = True + End If + End If + + + If Not ErrorPrepoliza AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then + If ObjConta.ValorPolizaDescuadre > 0 Then + GuardaLogAD($"Compras/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas") + ErrorPrepolizaDescuadre = True + End If + End If + 'ACTUALIZA CVEFACTURA If Request("CveFactura") IsNot Nothing Then @@ -8142,8 +8106,6 @@ Partial Class Compras_Compras Dim TempParametros = Encripta(String.Format("OP=PREPO&CvePrePoliza={0}", CvePrePoliza)) Msg.Append($" Imprimir ") - - End If If CveMovimientoInventario > 0 Then @@ -8170,7 +8132,6 @@ Partial Class Compras_Compras End If End If - If Not TieneError Then ObjCompras.Commit() If ObjContaAC IsNot Nothing Then ObjContaAC.Commit() @@ -8621,6 +8582,7 @@ Partial Class Compras_Compras Dim ImporteAnt As Decimal = gvr.FCTextBox("TxtAnticipo").Text.ToDecimal Dim ImporComisionAnticipo As Decimal = gvr.FCTextBox("TxtComision").Text.ToDecimal + Dim Pago As New CompraPago Pago.TipoPago = gvr.DataKey("TipoDocto") Pago.ImportePago = ImporteAnt @@ -8629,6 +8591,10 @@ Partial Class Compras_Compras Pago.TCPago = TipoCambioAnt Pago.CveProveedor = gvr.DataKey("CveProveedor").ToEntero + If CompraActual.CveMoneda = 1 AndAlso Pago.CveMonedaPago = 2 Then + CompraActual.TC = Pago.TCPago + End If + Select Case gvr.DataKey("TipoDocto") Case "NC", "DEV" CveConceptoCompra = If(CveMonedaAnticipo = 1, 60, 60) @@ -8638,8 +8604,8 @@ Partial Class Compras_Compras CveIE = -1 Pago.AplicaAcreditable = False Case "Egsc" - CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21) - CveConceptoCompraComplementaria = 266 + 'CveConceptoCompra = If(CveMonedaAnticipo = 1, 21, 21) + 'CveConceptoCompraComplementaria = 266 IdCtaContable = If(CveMonedaAnticipo = 1, CtaProveedorAnticipos, CtaProveedorAnticiposExtranjera) IdCtaContableComp = CtaProveedorAnticiposComplementaria @@ -9791,68 +9757,6 @@ Partial Class Compras_Compras importeMovimiento = 0 IdCtaContable = 0 - ' Case 5 'Proveedores - ' Dim TieneConceptoProveedorAcreedor As Boolean = False - ' Dim CveIE As Integer = -1 - - ' 'If Not ObjConta.GetPrePolizasDetalleCompra(CveCompra, UsuarioActual.CveEmpresa) Then - ' ' ErrorPrepoliza = True - ' 'Else - ' ' If ObjConta.DtResultados.FiltraParametros("CveConceptoContable IN (5,305)").Rows.Count > 0 Then - ' ' TieneConceptoProveedorAcreedor = True - ' ' CveIE = ObjConta.DtResultados.FiltraParametros("CveConceptoContable = 6 OR CveConceptoContable = 68 OR CveConceptoContable = 49 OR CveConceptoContable = 205 OR CveConceptoContable = 176").Rows(0)("CveIE").ToString.ToEntero - ' ' End If - ' 'End If - - ' If TieneConceptoProveedorAcreedor Then - ' If CveTipoConcepto = 2 Then ConceptoContable = 305 'cuando es acreedor - ' Dim UsaComplementaria As Boolean = True - ' If tipoCambioActual <> 1 Then - ' Select Case ConceptoContable - ' Case 5 - ' ConceptoContable = 311 - ' Case 305 - ' ConceptoContable = 306 - ' Case Else - ' End Select - ' End If - - ' Dim importeProv As Decimal = 0 - ' importeProv = TxtTotal.Text.ToDecimal - - ' If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then - - ' importeMovimiento = importeProv - ' importeMN = importeMovimiento * tipoCambioActual * Multiplicador - - ' If tipoCambioActual > 1 Then Referencia += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}" - ' Dim CveConceptoContableComplementaria As Integer = 201 - ' If CveTipoConcepto = 2 Then CveConceptoContableComplementaria = 307 - - - - ' If tipoCambioActual = 1 Then - ' IdCtaContable = If(CveTipoConcepto = 2, CtaProveedorAcreedores, CtaProveedor) - ' Dim Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" - - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveSubProyecto:=-1, CveProveedor:=CveProveedor, CveIE:=CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=-1, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual) Then - ' ErrorPrepoliza = True - ' Exit For - ' End If - - ' Else - ' IdCtaContable = CtaProveedorComplementaria - ' If importeMovimiento <> 0 AndAlso (IdCtaContable > 0 Or UsaComplementaria) Then 'Cuando tiene complementaria lo dividimos en dos Then - ' importeMN = importeMovimiento - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Referencia, CveConceptoContableComplementaria, Referencia, FechaMovimiento, IdCtaContable, -1, CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, ImporteMX:=importeMovimiento * tipoCambioActual - importeMovimiento, ImporteME:=importeMovimiento, TipoCambio:=tipoCambioActual) Then - ' ErrorPrepoliza = True - ' End If - ' End If - ' IdCtaContable = CtaProveedorExtranjera - ' End If - ' End If - ' End If - End Select Next End If @@ -10154,17 +10058,25 @@ Partial Class Compras_Compras If e.Row.DBCampo("Saldo").ToDouble < 0 Then e.Row.Cells(3).ForeColor = Drawing.Color.Red If e.Row.DBCampo("Saldo").ToDouble = 0 Then e.Row.FCLiteral("LtlAnticipos").Text = "" Dim ImporteAmortizacion As Decimal = If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0, TmpDT.SUMD("ImporteConImpuestos"), TxtTotal.Text.ToDecimal) - - e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2});", e.Row.FCTextBox("TxtAnticipo").ClientID, e.Row.DBCampo("Saldo"), If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), DdlMoneda.SelectedValue.ToEntero)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO - - Dim tTCFecha As Double = If(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble) + + e.Row.FCCheckBox("Chk").Attributes.Add("onclick", String.Format("chkAnt(this,{0},{1},{2},{3},{4},{5},{6});", + e.Row.FCTextBox("TxtAnticipo").ClientID, + e.Row.DBCampo("Saldo"), + If(CveCompra > 0, CompraSaldo, ImporteAmortizacion), + e.Row.DBCampo("CveMoneda"), + tTCFecha, + DdlMoneda.SelectedValue, + IIf(DdlMoneda.SelectedValue = "1", 1, TxtTC.Text))) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO + + + If UsuarioActual.Empresa.CveEmpresa.Contiene(13, 83) Then e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2},{3},{4},{5},{6});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), - If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, + If(CveCompra > 0, CompraSaldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, tTCFecha, DdlMoneda.SelectedValue.ToEntero, e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO @@ -10172,7 +10084,7 @@ Partial Class Compras_Compras e.Row.FCTextBox("TxtComision").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},{6},{1},{2},{3},{4},{5},this);", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), - If(CveCompra > 0, Saldo, ImporteAmortizacion), + If(CveCompra > 0, CompraSaldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, tTCFecha, DdlMoneda.SelectedValue.ToEntero, @@ -10181,7 +10093,7 @@ Partial Class Compras_Compras e.Row.FCTextBox("TxtAnticipo").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},this,{1},{2},{3},{4},{5});", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), - If(CveCompra > 0, Saldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, + If(CveCompra > 0, CompraSaldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, tTCFecha, DdlMoneda.SelectedValue.ToEntero, e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO @@ -10189,7 +10101,7 @@ Partial Class Compras_Compras e.Row.FCTextBox("TxtComision").Attributes.Add("onKeyUp", String.Format("FnCambiaAnt({0},{6},{1},{2},{3},{4},{5},this);", e.Row.FCCheckBox("Chk").ClientID, e.Row.DBCampo("Saldo"), - If(CveCompra > 0, Saldo, ImporteAmortizacion), + If(CveCompra > 0, CompraSaldo, ImporteAmortizacion), e.Row.DBCampo("CveMoneda").ToEntero, tTCFecha, DdlMoneda.SelectedValue.ToEntero, @@ -20424,7 +20336,7 @@ Partial Class Compras_Compras Dim MensajeProducto As String = "" Dim MensajeCantidad As String = "" Dim MensajeImporte As String = "" - If objContratos.ValidaPSContrato(TempPS) Then + If TempPS <> "" AndAlso objContratos.ValidaPSContrato(TempPS) Then If objContratos.DtResultados.Rows.Count > 0 Then MensajeProducto = "Los siguientes productos no pertenece al contrato seleccionado: " MensajeCantidad = "Los siguientes productos sobrepasan la cantidad faltante del contrato seleccionado: " @@ -20461,7 +20373,7 @@ Partial Class Compras_Compras If DtPS.MAX("CveSubProyecto", "CveSubProyecto IS NOT NULL").ToEntero > 0 AndAlso DtPS.MAX("CvePS", "CvePS IS NOT NULL").ToEntero > 0 Then Dim TempPS As String = JsonConvert.SerializeObject(DtPS).ToString - If ObjContratos.GetPSContratoDetalle(CveContrato, TempPS) Then + If TempPS <> "" AndAlso ObjContratos.GetPSContratoDetalle(CveContrato, TempPS) Then DtpsTemp = ObjContratos.DtResultados End If ObjContratos.Dispose() diff --git a/Compras/ReembolsosComprobaciones.aspx b/Compras/ReembolsosComprobaciones.aspx index 188dfb37c..855f4c6e4 100644 --- a/Compras/ReembolsosComprobaciones.aspx +++ b/Compras/ReembolsosComprobaciones.aspx @@ -45,26 +45,26 @@
- - + +
-
+
  • - + - + @@ -74,7 +74,7 @@
- + <%----%>
@@ -117,6 +117,7 @@ +
diff --git a/Compras/ReembolsosComprobaciones.aspx.vb b/Compras/ReembolsosComprobaciones.aspx.vb index b578e2ee8..ce8b4b94f 100644 --- a/Compras/ReembolsosComprobaciones.aspx.vb +++ b/Compras/ReembolsosComprobaciones.aspx.vb @@ -122,20 +122,17 @@ Partial Class Compras_ReembolsosComprobaciones DdlCajaChica.DataSource = dt DdlCajaChica.DataBind() - Dim ObjPersonal As New ClsRH - ObjPersonal.GetPersonal(-1, UsuarioActual.CveEmpresa) - If UsuarioActual.CveEmpresa.Contiene(119, 158) Then - DdlPersonal.DataSource = ObjPersonal.DtResultados + DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa) Else - DdlPersonal.DataSource = ObjPersonal.DtResultados.FiltraParametros("CveEstatusPersonal = 1") + DdlPersonal.DataSource = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("CveEstatusPersonal = 1") End If - - - ObjPersonal.Dispose() DdlPersonal.DataBind() CargaTipoTransaccion() + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then 'acumuladores + ChkMesSiguiente.Visible = True + End If If UsuarioActual.Empresa.Funcionalidad(506) = "1" Then CbPermitirExcedente.Visible = True @@ -143,19 +140,10 @@ Partial Class Compras_ReembolsosComprobaciones CbPermitirExcedente.Visible = False End If - ' If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then - 'rowComisiones.Visible = True - ' End If - - If UsuarioActual.CveEmpresa = 119 Then - ChkReembolsarSinBancos.Visible = True - End If + If UsuarioActual.CveEmpresa = 119 Then ChkReembolsarSinBancos.Visible = True TxtFechaPrePoliza.Text = Date.Now.ToShortDateString - 'CargaCuentasDiferencia() - - 'TableDiferencia.Visible = False End If End Sub @@ -176,7 +164,7 @@ Partial Class Compras_ReembolsosComprobaciones DdlPersonal.Visible = True DdlPersonal.SelectedValue = "-2" If UsuarioActual.CveRol = 1 Then ChkAplicaViatico.Visible = True - LtTituloPago.Text = "Viaticos - Personal:" + LtTituloPago.Text = "Viáticos:" 'Valida Proceso 120 para ROL Administrador de obra - para FyE solo puede ver los del UsuarioActual If UsuarioActual.TienePermisoProceso(120) Then @@ -413,49 +401,38 @@ Partial Class Compras_ReembolsosComprobaciones #Region " BTN GUARDAR " Protected Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click - Dim ValFechaDocumento As Boolean = False Dim FoliosFechasValFechaDocumento As New StringBuilder - FoliosFechasValFechaDocumento.AppendLine("Se seleccionaron facturas con fecha de mes superior al mes del pago:
") For Each gvRowVal As GridViewRow In GvCxP.Rows If gvRowVal.FCCheckBox("Chk").Checked Then - Dim FechaFactura As Date = gvRowVal.DataKey("FechaCompra").ToDate - - Dim FechaDocumento As Date - - If DDlCheques.SelectedValue.ToEntero = -1 Then FechaDocumento = TxtFechaDocumento.Text.ToDate Else FechaDocumento = TxtFechaPrePoliza.Text.ToDate End If - Dim AnioFactura As Integer = FechaFactura.Year Dim MesFactura As Integer = FechaFactura.Month Dim AnioDocumento As Integer = FechaDocumento.Year Dim MesDocumento As Integer = FechaDocumento.Month If AnioFactura > AnioDocumento Then - FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") }
") ValFechaDocumento = True ElseIf AnioFactura = AnioDocumento And MesFactura > MesDocumento Then FoliosFechasValFechaDocumento.AppendLine($"Folio: { gvRowVal.DataKey("SerieFolio") } fecha: {gvRowVal.DataKey("FechaCompra").ToDate.ToString("dd/MM/yyyy") }
") ValFechaDocumento = True End If - End If - Next 'rmf. codigo temporal - If UsuarioActual.CveEmpresa.Contiene(13, 83) Then + If UsuarioActual.CveEmpresa.Contiene(13, 83) OrElse ChkMesSiguiente.Checked Then ValFechaDocumento = False End If @@ -535,8 +512,7 @@ Partial Class Compras_ReembolsosComprobaciones If HdnCheque.Value.ToEntero > 0 AndAlso Not ChkReembolsarSinBancos.Checked Then CveIERegistrado = DDlCheques.SelectedValue.ToEntero - - If UsuarioActual.CveEmpresa.Contiene(119, 158) Then + If UsuarioActual.CveEmpresa.Contiene(119, 158) OrElse ChkMesSiguiente.Checked Then CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones1", 9, TxtImporteVinculado.Text.ToDecimal, TxtImporteVinculado.Text.ToDecimal, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) If CveCajaChica > 0 Then @@ -592,8 +568,6 @@ Partial Class Compras_ReembolsosComprobaciones End If End If - - End If ElseIf Not ChkReembolsarSinBancos.Checked Then CvePrePolizaIERegistrado = ObjMov.AddPrePolizas("Compras/Comprobaciones4", 9, TxtImporte.Text.ToDecimal, TxtImporte.Text.ToDecimal, CveMoneda, TxtFechaDocumento.Text.ToDate, If(TxtObservaciones.Text.Trim = "", concepto, TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) @@ -747,8 +721,8 @@ Partial Class Compras_ReembolsosComprobaciones CvePrePolizaPago = CvePrePolizaIERegistrado - 'SE USARA PARA PODER ELIMINAR UNA COMPROBACION - CvePrePolizaPagoOriginal = ObjMov.AddPrePolizas("Compras/Comprobaciones6", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) + ''SE USARA PARA PODER ELIMINAR UNA COMPROBACION + CvePrePolizaPagoOriginal = -1 'ObjMov.AddPrePolizas("Compras/Comprobaciones6", 9, ImporteMovto, ImporteMovto, CveMoneda, TxtFechaPrePoliza.Text.ToDate, If(TxtObservaciones.Text.Trim = "", $"Compra: { gvr.DataKey("SerieFolio").ToString }", TxtObservaciones.Text.Trim), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) 'registramos el nuevo IE If CveCajaChica > 0 Then @@ -779,7 +753,7 @@ Partial Class Compras_ReembolsosComprobaciones MsgError = "Detalle" End If - If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158)) Then + If Not ChkReembolsarSinBancos.Checked AndAlso (Not HdnCheque.Value.ToEntero > 0 Or Not UsuarioActual.CveEmpresa.Contiene(119, 158) AndAlso Not ChkMesSiguiente.Checked) Then 'Si es caja chica metemos el concepto 30, si es funcionario metemos 29 ImporteMovto += Pago.OtroGastoIngreso ' si ajuste, sedebe de aplicar en su contraparte If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, ImporteMovto, Referencia, If(CveCajaChica > 0, 30, 29), ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(CveCajaChica > 0, IdCuentaBancaria, IdCtaPersonal), -1, CveIE:=CveIEPago, CveIEDevolucion:=If(CveCajaChica > 0, If(DDlCheques.SelectedValue.ToEntero = -1, CveIECajaChica, DDlCheques.SelectedValue.ToEntero), -1), CvePersonal:=CvePersonal, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, ImporteMovto), ImporteMX:=ImporteMovto * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, Contabilizable:=If(CveCajaChica > 0 Or CvePersonal > 0, Not UsaSimplificacionCajaChica, True)) Then @@ -1178,16 +1152,16 @@ Partial Class Compras_ReembolsosComprobaciones End If If e.Row.RowIndex = 1 Then e.Row.Cells(0).Width = Unit.Pixel(20) - e.Row.Cells(1).Width = Unit.Pixel(70) - e.Row.Cells(2).Width = Unit.Pixel(250) - e.Row.Cells(3).Width = Unit.Pixel(70) - e.Row.Cells(4).Width = Unit.Pixel(80) - e.Row.Cells(5).Width = Unit.Pixel(40) - e.Row.Cells(6).Width = Unit.Pixel(80) - e.Row.Cells(7).Width = Unit.Pixel(70) - e.Row.Cells(8).Width = Unit.Pixel(70) - e.Row.Cells(9).Width = Unit.Pixel(80) - e.Row.Cells(15).Width = Unit.Pixel(80) + 'e.Row.Cells(1).Width = Unit.Pixel(70) + 'e.Row.Cells(2).Width = Unit.Pixel(250) + 'e.Row.Cells(3).Width = Unit.Pixel(70) + 'e.Row.Cells(4).Width = Unit.Pixel(80) + 'e.Row.Cells(5).Width = Unit.Pixel(40) + 'e.Row.Cells(6).Width = Unit.Pixel(80) + 'e.Row.Cells(7).Width = Unit.Pixel(70) + 'e.Row.Cells(8).Width = Unit.Pixel(70) + 'e.Row.Cells(9).Width = Unit.Pixel(80) + 'e.Row.Cells(15).Width = Unit.Pixel(80) End If e.Row.Cells(6).HorizontalAlign = HorizontalAlign.Right diff --git a/Contabilidad/PlantillasPolizasDetalle.aspx b/Contabilidad/PlantillasPolizasDetalle.aspx index 691215228..7688b9272 100644 --- a/Contabilidad/PlantillasPolizasDetalle.aspx +++ b/Contabilidad/PlantillasPolizasDetalle.aspx @@ -176,7 +176,7 @@ -  > +  > diff --git a/Contabilidad/PlantillasPolizasDetalle.aspx.vb b/Contabilidad/PlantillasPolizasDetalle.aspx.vb index 9ecb78a66..f87298a0c 100644 --- a/Contabilidad/PlantillasPolizasDetalle.aspx.vb +++ b/Contabilidad/PlantillasPolizasDetalle.aspx.vb @@ -244,8 +244,8 @@ Partial Class Contabilidad_PlantillasPolizasDetalle Public Sub updatatos() Dim ObjPlantillaPolizaDetalle As New ClsContabilidad - If ObjPlantillaPolizaDetalle.GetConta_PlantillasPolizasDetalle(-1, UsuarioActual.CveEmpresa) Then - ViewState("DTPlantillaPolizaDetalle") = ObjPlantillaPolizaDetalle.DtResultados.FiltraParametros(String.Format(" CvePlantillaPoliza={0} AND CveEmpresa = {1}", CvePlantillaPoliza, UsuarioActual.CveEmpresa)) + If ObjPlantillaPolizaDetalle.GetConta_PlantillasPolizasDetalle(CvePlantillaPoliza, UsuarioActual.CveEmpresa) Then + ViewState("DTPlantillaPolizaDetalle") = ObjPlantillaPolizaDetalle.DtResultados ' GlobalDTContaPlantillasPolizasDetalle(UsuarioActual.CveEmpresa, CvePlantillaPoliza) = ObjPlantillaPolizaDetalle.DtResultados End If ObjPlantillaPolizaDetalle.Dispose() diff --git a/Contabilidad/RegPrePolizaS.aspx b/Contabilidad/RegPrePolizaS.aspx index 55e1b78b0..214930c38 100644 --- a/Contabilidad/RegPrePolizaS.aspx +++ b/Contabilidad/RegPrePolizaS.aspx @@ -325,24 +325,7 @@
- - - - - - - - - - - -
CuentaReferenciaDescripciónSubProyecto -
-
-
Tipo GastoRef. BancariaCargoAbono
- -
- +
@@ -365,7 +348,7 @@
- @@ -373,7 +356,7 @@ Cuenta
- +
@@ -387,7 +370,7 @@ Concepto - + @@ -398,14 +381,14 @@ - + TipoGasto - + Ref. Bancaria @@ -420,7 +403,7 @@ TC:
- + Abono @@ -428,10 +411,10 @@
ME:
- +
- + @@ -439,7 +422,7 @@ - + diff --git a/Contabilidad/RegPrePolizaS.aspx.vb b/Contabilidad/RegPrePolizaS.aspx.vb index 75e9ceaf2..fbcb71590 100644 --- a/Contabilidad/RegPrePolizaS.aspx.vb +++ b/Contabilidad/RegPrePolizaS.aspx.vb @@ -279,7 +279,6 @@ Partial Class ContabilidadC_RegPrePolizaS If IfNull(Request("Tipo"), "").ToString = "NOMPROV" Then DivTipoGasto.Visible = True - ThTipoGasto.Visible = True CargaTiposGasto() End If @@ -377,7 +376,6 @@ Partial Class ContabilidadC_RegPrePolizaS DtMovimientos = New DataTable("Movimientos") Dim IDMov As DataColumn = DtMovimientos.Columns.Add("IdMov", Type.GetType("System.Int32")) : IDMov.AutoIncrement = True With DtMovimientos.Columns - .Add("CodigoCuenta", Type.GetType("System.String")) .Add("Cuenta", Type.GetType("System.String")) .Add("Referencia", Type.GetType("System.String")) .Add("Concepto", Type.GetType("System.String")) @@ -662,9 +660,7 @@ Partial Class ContabilidadC_RegPrePolizaS DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) DdlSubProyecto.DataBind() DdlSubProyecto.Items.Insert(0, New ListItem(" - ", "-1")) - DdlSubProyectoFiltroMov.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) - DdlSubProyectoFiltroMov.DataBind() - DdlSubProyectoFiltroMov.Items.Insert(0, New ListItem("Todos", "-1")) + End Sub Private Sub CargaCuentasContables() @@ -790,27 +786,15 @@ Partial Class ContabilidadC_RegPrePolizaS Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(UsuarioActual.CveEmpresa, CvePlantilla).FiltraParametros("", "Orden") - 'Dim Dt As DataTable = GlobalDTContaPlantillasPolizasDetalle(CvePlantilla, UsuarioActual.CveEmpresa) - Dim Cuenta As String = "" - Dim IdCuenta As Integer = 0 - Dim CodigoCuenta As String = "" - Dim NombreCuenta As String = "" Dim EsComodin As Integer = 0 DtMovimientos.Clear() For Each drt As DataRow In Dt.Rows - Cuenta = drt("ConceptoContable").ToString - IdCuenta = 0 - CodigoCuenta = "" - NombreCuenta = "" - - Dim dr As DataRow = DtMovimientos.NewRow - dr("CodigoCuenta") = drt("Codigo").ToString & "
" & drt("Nombre").ToString dr("CodigoNombreCuenta") = drt("Codigo").ToString & "
" & drt("Nombre").ToString - dr("Cuenta") = Cuenta 'TxtCuentaContable.Text + dr("Cuenta") = drt("ConceptoContable").ToString dr("Referencia") = If(drt("CveConceptoContable").ToString.Contiene("29", "130"), drt("Personal"), drt("RazonSocial")) dr("Concepto") = TxtConcepto.Text dr("TipoMovto") = If(drt("TipoMovto").ToString = "False", 0, 1) @@ -826,6 +810,7 @@ Partial Class ContabilidadC_RegPrePolizaS dr("CveCuenta") = drt("CveCuenta") dr("EsComplementaria") = drt("EsComplementaria") dr("EsMonedaExtranjera") = drt("EsMonedaExtranjera") + dr("PorcentajeImpuesto") = drt("PorcentajeImpuesto") DtMovimientos.Rows.Add(dr) Next @@ -1736,7 +1721,6 @@ Partial Class ContabilidadC_RegPrePolizaS Dim dr As DataRow = DtMovimientos.NewRow dr("IdCtaContable") = IdCtaContable dr("CveCuenta") = DdlCuentaContableE.SelectedValue - 'dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta dr("CodigoNombreCuenta") = DdlCuentaContableE.SelectedItem.Text dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue @@ -1913,7 +1897,7 @@ Partial Class ContabilidadC_RegPrePolizaS End If End If - dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta + dr("CodigoNombreCuenta") = CodigoCuenta & "
" & NombreCuenta dr("Cuenta") = DdlConceptosContables.SelectedItem dr("Referencia") = TxtReferencia.Text dr("Concepto") = TxtConcepto.Text @@ -1984,7 +1968,7 @@ Partial Class ContabilidadC_RegPrePolizaS End If End If - dr("CodigoCuenta") = CodigoCuenta & "
" & NombreCuenta + dr("CodigoNombreCuenta") = CodigoCuenta & "
" & NombreCuenta dr("Cuenta") = DdlConceptosContables.SelectedItem.Text dr("Referencia") = TxtReferencia.Text dr("Concepto") = TxtConcepto.Text @@ -2172,23 +2156,23 @@ Partial Class ContabilidadC_RegPrePolizaS RegistraScript("calculateCargo()", "abono") RegistraScript("comparar()", "compara") End Sub - Protected Sub DdlSubProyectoFiltroMov_SelectedIndexChanged(sender As Object, e As EventArgs) - For Each Gvr As GridViewRow In GvMov.Rows - If DdlSubProyectoFiltroMov.SelectedValue.ToEntero > 0 Then - If Gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero = DdlSubProyectoFiltroMov.SelectedValue.ToEntero Or Not Gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero > 0 Then - Gvr.Visible = True - Else - Gvr.Visible = False - End If - Else - Gvr.Visible = True - End If - Next - UpPrePoliza.Update() - RegistraScript("calculateAbono()", "cargo") - RegistraScript("calculateCargo()", "abono") - RegistraScript("comparar()", "compara") - End Sub + 'Protected Sub DdlSubProyectoFiltroMov_SelectedIndexChanged(sender As Object, e As EventArgs) + ' For Each Gvr As GridViewRow In GvMov.Rows + ' If DdlSubProyectoFiltroMov.SelectedValue.ToEntero > 0 Then + ' If Gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero = DdlSubProyectoFiltroMov.SelectedValue.ToEntero Or Not Gvr.FCDropDownList("DdlSubProyecto").SelectedValue.ToEntero > 0 Then + ' Gvr.Visible = True + ' Else + ' Gvr.Visible = False + ' End If + ' Else + ' Gvr.Visible = True + ' End If + ' Next + ' UpPrePoliza.Update() + ' RegistraScript("calculateAbono()", "cargo") + ' RegistraScript("calculateCargo()", "abono") + ' RegistraScript("comparar()", "compara") + 'End Sub Private Sub GvMov_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvMov.RowEditing Actualizar = True @@ -2552,9 +2536,7 @@ Partial Class ContabilidadC_RegPrePolizaS End If Dim dr As DataRow = DtMovimientos.NewRow - Dim CodigoCuenta As String = "" - dr("CodigoCuenta") = NombreCuenta dr("CodigoNombreCuenta") = NombreCuenta dr("Cuenta") = ConceptoAdministrativo dr("Referencia") = Row("Referencia").ToString diff --git a/Finanzas/RepRazonesFinancieras2.aspx b/Finanzas/RepRazonesFinancieras2.aspx index ab46b5920..186359d82 100644 --- a/Finanzas/RepRazonesFinancieras2.aspx +++ b/Finanzas/RepRazonesFinancieras2.aspx @@ -11,9 +11,20 @@ -
  • - Generar Excel -
  • + + + +
  • + Generar Excel +
  • +
    + + + +
    + + +
    @@ -35,7 +46,7 @@
    - +
    @@ -66,7 +77,7 @@ - + @@ -84,19 +95,19 @@ - - + Codigo - + Cuenta @@ -234,9 +245,9 @@ - <%-- @@ -246,126 +257,126 @@ --%> - + Ratio - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Finanzas/RepRazonesFinancieras2.aspx.vb b/Finanzas/RepRazonesFinancieras2.aspx.vb index 65aac5862..67fb0272f 100644 --- a/Finanzas/RepRazonesFinancieras2.aspx.vb +++ b/Finanzas/RepRazonesFinancieras2.aspx.vb @@ -4,6 +4,7 @@ Option Strict On Imports System.Data Imports System.Drawing Imports System.IO +Imports System.Windows.Forms Imports Extensiones Imports GemBox.Spreadsheet Imports Microsoft.Reporting.WebForms @@ -13,6 +14,24 @@ Partial Class Finanzas_RepRazonesFinancieras2 + + + Property DTRatios As DataTable + Get + If ViewState("DTRatios") Is Nothing Then + ViewState("DTRatios") = New DataTable + End If + + Return DirectCast(ViewState("DTRatios"), DataTable) + + End Get + Set(value As DataTable) + ViewState("DTRatios") = value + End Set + End Property + + + Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then @@ -107,14 +126,14 @@ Partial Class Finanzas_RepRazonesFinancieras2 Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) + LnkExportar.Visible = False - - If TAB.ActiveTabIndex = 0 Then + If Tab.ActiveTabIndex = 0 Then CargaDatosBalanceGeneral() End If - If TAB.ActiveTabIndex = 1 Then + If Tab.ActiveTabIndex = 1 Then CargaDatosEstadoResultados() End If @@ -158,7 +177,7 @@ Partial Class Finanzas_RepRazonesFinancieras2 GVEstadoRsultados.DataSource = dtTemp If dtTemp.Rows.Count > 0 Then - LnkExportar.Visible = True + ' LnkExportar.Visible = True End If Else @@ -203,6 +222,7 @@ Partial Class Finanzas_RepRazonesFinancieras2 If e.Row.DataKey("Tipo").ToEntero = 1 Then e.Row.Font.Bold = True + e.Row.Cells(0).Text = "" End If If e.Row.DataKey("Tipo").ToEntero = 3 Then @@ -211,6 +231,7 @@ Partial Class Finanzas_RepRazonesFinancieras2 If e.Row.DataKey("Tipo").ToEntero = 4 Then e.Row.Attributes.Add("style", "border-top: solid;border-bottom: solid") + e.Row.Cells(0).Text = "" End If @@ -229,6 +250,8 @@ Partial Class Finanzas_RepRazonesFinancieras2 + DTRatios = New DataTable + LnkExportar.Visible = False GVRatiosOcultarColumnas(GVRatios, 1) @@ -241,16 +264,16 @@ Partial Class Finanzas_RepRazonesFinancieras2 Dim objFinanzas As New ClsFinanzas - Dim dtTemp As New DataTable + If objFinanzas.GetRazonesFinancierasRatiosRep(FechaI, FechaF, -1, CveSubProyecto, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, 1, 12) Then - dtTemp = objFinanzas.DtResultados + DTRatios = objFinanzas.DtResultados - GVRatiosMostrarColumnas(dtTemp, GVRatios) - GVRatios.DataSource = dtTemp + GVRatiosMostrarColumnas(DTRatios, GVRatios) + GVRatios.DataSource = DTRatios - If dtTemp.Rows.Count > 0 Then - LnkExportar.Visible = True + If DTRatios.Rows.Count > 0 Then + ' LnkExportar.Visible = True End If Else @@ -274,19 +297,28 @@ Partial Class Finanzas_RepRazonesFinancieras2 End Sub Private Sub GVRatiosMostrarColumnas(dt As DataTable, ByRef Gv As GridView) - Dim index = 1 + Dim index = 3 - For index = 1 To dt.Columns.Count - 2 + For index = 3 To dt.Columns.Count - 2 CType(Gv.Columns(index + 1), BoundField).DataField = dt.Columns(index + 1).ColumnName - - CType(Gv.Columns(index + 1), BoundField).DataFormatString = "{0:P2}" - - + 'CType(Gv.Columns(index + 1), BoundField).DataFormatString = "{0:P2}" Gv.Columns(index + 1).Visible = True CType(Gv.Columns(index + 1), BoundField).HeaderText = dt.Columns(index + 1).ColumnName - Next + + 'Dim Count As Integer = 1 + 'For Each GvColumn As DataGridViewColumn In GVRatios.Columns + + + ' GvColumn.Width = If(Count = 1, 300, 75) + + ' Count = Count + 1 + 'Next + + + + End Sub Protected Sub GVRatios_RowDataBound(sender As Object, e As GridViewRowEventArgs) @@ -305,6 +337,25 @@ Partial Class Finanzas_RepRazonesFinancieras2 e.Row.Attributes.Add("style", "border-top: solid;border-bottom: solid") End If + If e.Row.DataKey("Tipo").ToEntero <> 1 AndAlso DTRatios.Columns.Count > 0 Then + + Dim EsPorcentaje = If(e.Row.DataKey("EsPorcentaje").ToEntero = 1, True, False) + + For x = 1 To DTRatios.Columns.Count - 2 + + 'If e.Row.Cells(x).Text.ToDecimal = 0 Then + ' e.Row.Cells(x).Text = "" + 'Else + If EsPorcentaje Then + e.Row.Cells(x).Text = $"{(e.Row.Cells(x).Text.ToDecimal * 100.0).ToString("###.00")}%" + Else + e.Row.Cells(x).Text = $"{e.Row.Cells(x).Text.ToDecimal.ToString("###,###,###.00")}" + End If + 'End If + + Next + + End If End If @@ -323,12 +374,46 @@ Partial Class Finanzas_RepRazonesFinancieras2 #Region "DESCARGA EXCEL" + Protected Sub LnkExportar_Click(sender As Object, e As EventArgs) + + Dim SubProyecto As String = "" + + If DdlSubproyecto.SelectedValue.ToEntero > 0 Then + SubProyecto = DdlSubproyecto.SelectedItem.Text + End If + + Dim SbFiltros As New StringBuilder() + SbFiltros.Append($"Año Inicio: {DdlEjercicio.SelectedItem.Text} Año Fin: {DdlEjercicio2.SelectedItem.Text} ") + SbFiltros.Append($"SubProyecto: {SubProyecto}") + + Dim Titulo As String = "" + Dim NombreReporte As String = "" + + If Tab.ActiveTabIndex = 0 Then + Titulo = "Balance General" + NombreReporte = "BalanceGenral" + End If + + If Tab.ActiveTabIndex = 1 Then + Titulo = "Estado de Resultados" + NombreReporte = "Estado de Resultados" + End If + + If Tab.ActiveTabIndex = 2 Then + + Titulo = "Ratios" + NombreReporte = "Ratios" + End If + + + GVRatios.ExportToExcelGembox(NombreReporte, UsuarioActual, $"Reporte {Titulo}", "", DatosFiltros:=SbFiltros.ToString()) - Public Overrides Sub VerifyRenderingInServerForm(ByVal control As Control) End Sub + + #End Region @@ -338,5 +423,8 @@ Partial Class Finanzas_RepRazonesFinancieras2 + + + End Class