From e283f4450d7123a91f4871e3e9177cbe9a76170a Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 17 Feb 2025 21:47:38 -0700 Subject: [PATCH] =?UTF-8?q?--=20devoluci=C3=B3n=20con=20descuento=20por=20?= =?UTF-8?q?RNC.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Compras/Compras.aspx | 2 +- Compras/Compras.aspx.vb | 1268 ++++++++++++++++++++------------------- 2 files changed, 645 insertions(+), 625 deletions(-) diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 8a318b45f..4555bc825 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -1524,7 +1524,7 @@
- + diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 908a8771d..b98c6e2e8 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1439,12 +1439,18 @@ Partial Class Compras_Compras End If If DdlTipoComprobante.SelectedValue = "NC" Then - 'paneldevolucion.Visible = True Pnlalmaceninventarios.Visible = False - 'cargaddldevoluciones(CveProveedor, TxtSubTotal2.Text.ToDouble) - InicializaAplicaNCFact() DivReembolso.Visible = False RBLPago.Items(2).Enabled = False + + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + ConfiguraseleccionRNC() + Else + InicializaAplicaNCFact() + End If + 'paneldevolucion.Visible = True + 'cargaddldevoluciones(CveProveedor, TxtSubTotal2.Text.ToDouble) + End If If DdlTipoComprobante.SelectedValue = "DEV" Then @@ -1579,7 +1585,6 @@ Partial Class Compras_Compras 'RFVSubProyecto.Enabled = True End If - 'VALIDA Usuario TIPO REMESA If UsuarioActual.TienePermisoProceso(108) Then RBLPago.Enabled = False @@ -1672,10 +1677,6 @@ Partial Class Compras_Compras DdlTipoComprobante.SelectedValueExist("DEV") End If - If UsuarioActual.Empresa.Funcionalidad(574).ToEntero = 1 AndAlso DdlTipoComprobante.SelectedValue = "NC" Then - ConfiguraseleccionRemisionNotaCredito() - End If - If Not CveCompra > 0 Then LnkProrrateoGasolina.Visible = True InicializaDTProrrateoGasolina() @@ -1791,7 +1792,7 @@ Partial Class Compras_Compras 'End Sub - Private Sub ConfiguraseleccionRemisionNotaCredito() + Private Sub ConfiguraseleccionRNC() Dim AutoSelRNC As Boolean = False DdlTipoComprobante_SelectedIndexChanged(Nothing, Nothing) @@ -2011,8 +2012,10 @@ Partial Class Compras_Compras SubTotalConceptos = TmpDT.SUMD("Total").RoundSQL If Not TmpDT.Columns.Contains("Amortizacion") Then TmpDT.Columns.Add("Amortizacion", GetType(Decimal)) + If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add(New DataColumn("AplicaSerie", GetType(Boolean)) With {.DefaultValue = False}) If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add(New DataColumn("AplicaLote", GetType(Boolean)) With {.DefaultValue = False}) If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add(New DataColumn("AplicaCaducidad", GetType(Boolean)) With {.DefaultValue = False}) + If Not TmpDT.Columns.Contains("Serie") Then TmpDT.Columns.Add("Serie", GetType(String)) If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) @@ -2121,7 +2124,10 @@ Partial Class Compras_Compras DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("DEV")) DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("6")) DdlTipoCompra.Items.Remove(DdlTipoCompra.Items.FindByValue("11")) - If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then DdlTipoCompra.Items.Add(New ListItem("Recolección", "14")) + If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + DdlTipoCompra.Items.Add(New ListItem("Recolección", "14")) + DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16")) + End If Case "E" DdlTipoComprobante.SelectedValue = "NC" DdlTipoComprobante.Items.Remove(DdlTipoComprobante.Items.FindByValue("Fac")) @@ -2841,6 +2847,10 @@ Partial Class Compras_Compras CvePrePoliza = dr("CvePrePoliza").ToString.ToEntero EstatusAlmacen = dr("EstatusAlmacen").ToString.ToEntero DdlTipoCompra.SelectedValueExist(dr("CveTipoCompra")) + If DdlTipoCompra.SelectedValue = "16" Then + DdlTipoCompra.Items.Add(New ListItem("Apoyo sin virtual", "16")) + DdlTipoCompra.SelectedValue = dr("CveTipoCompra").ToString + End If TipoCompraOriginal = dr("CveTipoCompra").ToString.ToEntero CveTipoConcepto = dr("CveTipoConcepto").ToString.ToEntero ChkEsNoDeducible.Checked = dr("NoDeducible").ToString.ToEntero > 0 @@ -2868,565 +2878,565 @@ Partial Class Compras_Compras TxtSubTotal2.Text = (dr("SubTotal").ToString.ToDouble - dr("Descuentos").ToString.ToDouble).FormatoNumero(2) TxtDescuento.Text = dr("Descuentos").ToString.FormatoNumero(2) - LblAmortizacion.Text = dr("Amortizacion").ToString.FormatoNumero(2) - TxtIVA.Text = dr("IVA").ToString.FormatoNumero(2) - TxtRetIVA.Text = dr("RetIVA").ToString.FormatoNumero(2) - TxtRetISR.Text = dr("RetISR").ToString.FormatoNumero(2) - TxtIEPS.Text = dr("IEPS").ToString.FormatoNumero(2) - If dr("IEPS").ToString.ToDouble > 0 Then TrIEPS.Visible = True - If dr("RetIVA").ToString.ToDouble > 0 Then TrRetIVA.Visible = True - If dr("RetISR").ToString.ToDouble > 0 Then TrRetISR.Visible = True - If Math.Abs(dr("Redondeo").ToString.ToDouble) > 0 Then TrRedondeo.Visible = True - TxtRedondeo.Text = dr("Redondeo").ToString.FormatoNumero(2) + LblAmortizacion.Text = dr("Amortizacion").ToString.FormatoNumero(2) + TxtIVA.Text = dr("IVA").ToString.FormatoNumero(2) + TxtRetIVA.Text = dr("RetIVA").ToString.FormatoNumero(2) + TxtRetISR.Text = dr("RetISR").ToString.FormatoNumero(2) + TxtIEPS.Text = dr("IEPS").ToString.FormatoNumero(2) + If dr("IEPS").ToString.ToDouble > 0 Then TrIEPS.Visible = True + If dr("RetIVA").ToString.ToDouble > 0 Then TrRetIVA.Visible = True + If dr("RetISR").ToString.ToDouble > 0 Then TrRetISR.Visible = True + If Math.Abs(dr("Redondeo").ToString.ToDouble) > 0 Then TrRedondeo.Visible = True + TxtRedondeo.Text = dr("Redondeo").ToString.FormatoNumero(2) - TxtOtrosImpuestos.Text = dr("OtrosImpuestos").ToString.FormatoNumero(2) - If dr("OtrosImpuestos").ToString.ToDouble > 0 Then TrOtrosImpuestos.Visible = True - TxtTotal.Text = dr("Total").ToString.FormatoNumero(2) + TxtOtrosImpuestos.Text = dr("OtrosImpuestos").ToString.FormatoNumero(2) + If dr("OtrosImpuestos").ToString.ToDouble > 0 Then TrOtrosImpuestos.Visible = True + TxtTotal.Text = dr("Total").ToString.FormatoNumero(2) - HfTotalCompra.Value = TxtTotal.Text + HfTotalCompra.Value = TxtTotal.Text - TipoCambio = dr("TipoCambio").ToString.ToDecimal - TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDecimal - If TipoCambio > 1 Then LblTC.Text = String.Format("TC: {0}", TipoCambio.ToString("N4")) - If TipoCambio <> TipoCambioOriginal Then LblTCO.Text = String.Format("
TC Original: {0}", TipoCambioOriginal.ToString("N4")) + TipoCambio = dr("TipoCambio").ToString.ToDecimal + TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDecimal + If TipoCambio > 1 Then LblTC.Text = String.Format("TC: {0}", TipoCambio.ToString("N4")) + If TipoCambio <> TipoCambioOriginal Then LblTCO.Text = String.Format("
TC Original: {0}", TipoCambioOriginal.ToString("N4")) - AsignaValoresOriginales(TxtSubTotal.Text.ToDecimal, TxtSubTotal2.Text.ToDecimal, TxtIVA.Text.ToDouble, TxtRetIVA.Text.ToDouble, TxtRetISR.Text.ToDouble, TxtTotal.Text.ToDecimal) - CalculaTotalPorDevengar() - TxtDocumentoImporteFE.Text = dr("Total").ToString - RVDocumentoImporte.MaximumValue = dr("Total").ToString.FormatoNumero(2) - RVDocumentoImporteFE.MaximumValue = RVDocumentoImporte.MaximumValue - RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue + AsignaValoresOriginales(TxtSubTotal.Text.ToDecimal, TxtSubTotal2.Text.ToDecimal, TxtIVA.Text.ToDouble, TxtRetIVA.Text.ToDouble, TxtRetISR.Text.ToDouble, TxtTotal.Text.ToDecimal) + CalculaTotalPorDevengar() + TxtDocumentoImporteFE.Text = dr("Total").ToString + RVDocumentoImporte.MaximumValue = dr("Total").ToString.FormatoNumero(2) + RVDocumentoImporteFE.MaximumValue = RVDocumentoImporte.MaximumValue + RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue - HFDiferenciaCompra.Value = TxtTotal.Text + HFDiferenciaCompra.Value = TxtTotal.Text - TotalGeneral = dr("Total").ToString.ToDouble - CveMoneda = dr("CveMoneda").ToString.ToEntero - DdlValidadaSAT.SelectedValue = "Si" - TxtObsFact.Text = dr("Observaciones").ToString - LblUsuarioCaptura.Text = dr("Usuario").ToString - LitFechCaptura.Text = dr("FechaIng").ToString.ToDate.ToShortDateString - LitFechCaptura.ToolTip = dr("FechaIng").ToString - LblRetIVA.Text = If(dr("RetIVA").ToString.ToDecimal > 0, TmpDT.MAX("RetIVAPorcentaje").ToDecimal * 100, 0).ToString.FormatoNumero(4) '(If(SubTotal2 > 0, (RetencionIVA / SubTotal2), 0) * 100).FormatoNumero(3) + "%" - LblRetISR.Text = If(dr("RetISR").ToString.ToDecimal > 0, TmpDT.MAX("RetISRPorcentaje").ToDecimal * 100, 0).ToString.FormatoNumero(4) '(If(SubTotal2 > 0, (RetencionISR / SubTotal2), 0) * 100).FormatoNumero(3) - If dr("TipoFactura").ToString <> "CFDi" Then LblTipoFact.Text = dr("TipoFactura").ToString : divTipoFactura.Visible = True - ViewState("CveFactura") = dr("CveFactura").ToString.ToEntero - ViewState("IdPoliza") = dr("IdPoliza").ToString.ToEntero + TotalGeneral = dr("Total").ToString.ToDouble + CveMoneda = dr("CveMoneda").ToString.ToEntero + DdlValidadaSAT.SelectedValue = "Si" + TxtObsFact.Text = dr("Observaciones").ToString + LblUsuarioCaptura.Text = dr("Usuario").ToString + LitFechCaptura.Text = dr("FechaIng").ToString.ToDate.ToShortDateString + LitFechCaptura.ToolTip = dr("FechaIng").ToString + LblRetIVA.Text = If(dr("RetIVA").ToString.ToDecimal > 0, TmpDT.MAX("RetIVAPorcentaje").ToDecimal * 100, 0).ToString.FormatoNumero(4) '(If(SubTotal2 > 0, (RetencionIVA / SubTotal2), 0) * 100).FormatoNumero(3) + "%" + LblRetISR.Text = If(dr("RetISR").ToString.ToDecimal > 0, TmpDT.MAX("RetISRPorcentaje").ToDecimal * 100, 0).ToString.FormatoNumero(4) '(If(SubTotal2 > 0, (RetencionISR / SubTotal2), 0) * 100).FormatoNumero(3) + If dr("TipoFactura").ToString <> "CFDi" Then LblTipoFact.Text = dr("TipoFactura").ToString : divTipoFactura.Visible = True + ViewState("CveFactura") = dr("CveFactura").ToString.ToEntero + ViewState("IdPoliza") = dr("IdPoliza").ToString.ToEntero - DdlMoneda.SelectedValue = dr("CveMoneda").ToString - 'primero se asigna la moneda, para que dentro del proveedor carge los anticipos solo de esa moneda - DdlProveedor.Visible = False - HplProveedor.Visible = True - If dr("CveRetIVAConcepto").ToString.Contiene("2", "3") Then RetIVAFlete = True - If dr("CveRetISRConcepto").ToString.Contiene("3") Then RetISRResico = True - CargaProveedor(CveProveedor, "-1") + DdlMoneda.SelectedValue = dr("CveMoneda").ToString + 'primero se asigna la moneda, para que dentro del proveedor carge los anticipos solo de esa moneda + DdlProveedor.Visible = False + HplProveedor.Visible = True + If dr("CveRetIVAConcepto").ToString.Contiene("2", "3") Then RetIVAFlete = True + If dr("CveRetISRConcepto").ToString.Contiene("3") Then RetISRResico = True + CargaProveedor(CveProveedor, "-1") - DdlRetIVAConcepto.SelectedValueExist(dr("CveRetIVAConcepto").ToString) + DdlRetIVAConcepto.SelectedValueExist(dr("CveRetIVAConcepto").ToString) - DdlRetISRConcepto.SelectedValueExist(dr("CveRetISRConcepto").ToString) - CveRetIVAConceptoOriginal = If(dr("CveRetIVAConcepto").ToString.ToEntero > 0, dr("CveRetIVAConcepto").ToString.ToEntero, -1) - CveRetISRConceptoOriginal = If(dr("CveRetISRConcepto").ToString.ToEntero > 0, dr("CveRetISRConcepto").ToString.ToEntero, -1) + DdlRetISRConcepto.SelectedValueExist(dr("CveRetISRConcepto").ToString) + CveRetIVAConceptoOriginal = If(dr("CveRetIVAConcepto").ToString.ToEntero > 0, dr("CveRetIVAConcepto").ToString.ToEntero, -1) + CveRetISRConceptoOriginal = If(dr("CveRetISRConcepto").ToString.ToEntero > 0, dr("CveRetISRConcepto").ToString.ToEntero, -1) - If dr("CveTipoConcepto").ToString.ToEntero = 1 Then LblProveedor.Text = "Proveedor:" Else LblProveedor.Text = "Acreedor:" - HdnCveEstatusFactura.Value = dr("CveEstatusFactura").ToString - LblCompraEstatus.Text = dr("EstatusFactura").ToString - If dr("CveEstatusFactura").ToString = "2" Then ChkProgramarPago.Checked = True + If dr("CveTipoConcepto").ToString.ToEntero = 1 Then LblProveedor.Text = "Proveedor:" Else LblProveedor.Text = "Acreedor:" + HdnCveEstatusFactura.Value = dr("CveEstatusFactura").ToString + LblCompraEstatus.Text = dr("EstatusFactura").ToString + If dr("CveEstatusFactura").ToString = "2" Then ChkProgramarPago.Checked = True - TrRembolsoUpdate.Visible = True - TrRembolsoNumero.Visible = True + TrRembolsoUpdate.Visible = True + TrRembolsoNumero.Visible = True - Dim DtPersonal As DataTable = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("", "NombreCompleto") - DdlRembolsoPersonal.DataSource = DtPersonal - DdlRembolsoPersonal.Items.Insert(0, New ListItem("Sin Seleccionar", "-1")) - DdlRembolsoPersonal.DataBind() - If dr("CvePersonal").ToString.ToEntero > 0 Then - DdlRembolsoPersonal.SelectedValueExist(dr("CvePersonal").ToString) - TxtRembolsoNumero.Text = dr("NumeroReembolso").ToString - RblRembolso.SelectedValuesIfExist("1") - TrRembolsoPersonal.Visible = True - End If + Dim DtPersonal As DataTable = GlobalDTRHPersonal(UsuarioActual.CveEmpresa).FiltraParametros("", "NombreCompleto") + DdlRembolsoPersonal.DataSource = DtPersonal + DdlRembolsoPersonal.Items.Insert(0, New ListItem("Sin Seleccionar", "-1")) + DdlRembolsoPersonal.DataBind() + If dr("CvePersonal").ToString.ToEntero > 0 Then + DdlRembolsoPersonal.SelectedValueExist(dr("CvePersonal").ToString) + TxtRembolsoNumero.Text = dr("NumeroReembolso").ToString + RblRembolso.SelectedValuesIfExist("1") + TrRembolsoPersonal.Visible = True + End If - Dim DtCajaChica As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) - DtCajaChica = DtCajaChica.FiltraParametros(String.Format("CveTipoCuenta = 1")) - DdlRembolsoCajaChica.DataSource = DtCajaChica - DdlRembolsoCajaChica.Items.Insert(0, New ListItem("Sin Seleccionar", "-1")) - DdlRembolsoCajaChica.DataBind() - If dr("CveCajaChica").ToString.ToEntero > 0 Then - DdlRembolsoCajaChica.SelectedValueExist(dr("CveCajaChica").ToString) - TxtRembolsoNumero.Text = dr("NumeroReembolso").ToString - RblRembolso.SelectedValuesIfExist("2") - TrRembolsoCajaChica.Visible = True - End If + Dim DtCajaChica As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) + DtCajaChica = DtCajaChica.FiltraParametros(String.Format("CveTipoCuenta = 1")) + DdlRembolsoCajaChica.DataSource = DtCajaChica + DdlRembolsoCajaChica.Items.Insert(0, New ListItem("Sin Seleccionar", "-1")) + DdlRembolsoCajaChica.DataBind() + If dr("CveCajaChica").ToString.ToEntero > 0 Then + DdlRembolsoCajaChica.SelectedValueExist(dr("CveCajaChica").ToString) + TxtRembolsoNumero.Text = dr("NumeroReembolso").ToString + RblRembolso.SelectedValuesIfExist("2") + TrRembolsoCajaChica.Visible = True + End If - If dr("CvePersonal").ToString.ToEntero > 0 Or dr("CveCajaChica").ToString.ToEntero > 0 Then - NumeroReembolsoOriginal = dr("NumeroReembolso").ToString - End If + If dr("CvePersonal").ToString.ToEntero > 0 Or dr("CveCajaChica").ToString.ToEntero > 0 Then + NumeroReembolsoOriginal = dr("NumeroReembolso").ToString + End If - VisualizaEstatusCompraSaldo(dr("TipoDocto").ToString, dr("Saldo").ToString.ToDecimal, dr("Total").ToString.ToDecimal) - If dr("IdPoliza").ToString.ToEntero > 0 Then - HplCompraContabilizada.Text = "Si" - If UsuarioActual.Empresa.TipoContabilidad = 2 Then HplCompraContabilizada.NavigateUrl = String.Format("/Contabilidad/RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza")) - LblCompraEstatus.ForeColor = Drawing.Color.Navy - trContabilizada.Visible = True - If UsuarioActual.TienePermisoProceso(107) Then BtnDescontabilizar.Visible = True - Else - BtnDescontabilizar.Visible = False - HplCompraContabilizada.Text = "No" - trContabilizada.Visible = True - End If - - If UsuarioActual.Empresa.TipoContabilidad = 1 Then - trContabilizada.Visible = False - End If - - UPPDescontablizar.Update() - - TxtFechaPago.Text = dr("FechaVencimiento").ToString.ToDate.ToShortDateString - RowBitacora.Visible = True - CargaEventoBitacora() - 'ImgAddObs.Attributes.Add("onclick", "javascript: PosicionaObjeto(this.id,'DivEventoBitacora',null,-250,-250); $('#DivEventoBitacora').show(1000); ") - ImgAddObs.Visible = True - ChkAplicaNotaCredito.Checked = CBool(dr("AplicaNotaCredito").ToString) - - 'CompraSaldo = TotalGeneral - LblAmortizacion.Text.ToDouble - CompraSaldo = dr("Saldo").ToString.ToDouble - - If CompraSaldo > dr("Saldo").ToString.ToDouble Then - CompraSaldo = dr("Saldo").ToString.ToDouble - End If - HdnCompraSaldo.Value = CompraSaldo.ToString - - If CompraSaldo > 0 And UsuarioActual.TienePermisoProceso(100) Then - HLPagar.Visible = True - HLPagar.NavigateUrl = $"/Bancos/PopIECompras.aspx?CveCompra={CveCompra}&TB_iframe=true&height=520&width=700" - End If - - If dr("CveFactura").ToString.ToEntero > 0 Then - ImgDownXML.Visible = True : ImgDownXML.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=xml&CveFactura={0}&RFC={1}", dr("CveFactura"), dr("RFC").ToString.Replace("&", "%26%")))) - ImgDownPDF.Visible = True : ImgDownPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=pdf&CveFactura={0}&RFC={1}", dr("CveFactura"), dr("RFC").ToString.Replace("&", "%26%")))) - Else - LnkGenrarPDF.Visible = True - End If - - TxtRembolsoNumero.Enabled = If(IdPoliza > 0, False, True) - - If dr("CveImportacion").ToString <> "" Then - divCompraImportacion.Visible = True - HplCompraImportacion.Text = dr("Importacion").ToString - If dr("TipoImportacion").ToString = "2" Then 'flete/indirecto - LtlImportacionTexto.Text = "Indirecto" - HplCompraImportacion.NavigateUrl = $"/Inventarios/Fletes.aspx?CveFlete={dr("CveImportacion")}" + VisualizaEstatusCompraSaldo(dr("TipoDocto").ToString, dr("Saldo").ToString.ToDecimal, dr("Total").ToString.ToDecimal) + If dr("IdPoliza").ToString.ToEntero > 0 Then + HplCompraContabilizada.Text = "Si" + If UsuarioActual.Empresa.TipoContabilidad = 2 Then HplCompraContabilizada.NavigateUrl = String.Format("/Contabilidad/RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza")) + LblCompraEstatus.ForeColor = Drawing.Color.Navy + trContabilizada.Visible = True + If UsuarioActual.TienePermisoProceso(107) Then BtnDescontabilizar.Visible = True Else - HplCompraImportacion.NavigateUrl = $"/Compras/Importaciones.aspx?CveImportacion={dr("CveImportacion")}" - End If - End If - - If dr("CveFolioGarantia").ToString <> "" Then - divFolioGarantia.Visible = True - DdlFolioGarantia.Items.Insert(0, New ListItem(dr("FolioGarantia").ToString, dr("CveFolioGarantia").ToString)) - DdlFolioGarantia.SelectedValue = dr("CveFolioGarantia").ToString - End If - - 'CargaDetalle - If ObjCompra.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then - TmpDT = ObjCompra.DtResultados - TmpDTOriginal = ObjCompra.DtResultados.Copy - - TmpDT.Columns.Add("CveClasificacionActualizar", GetType(Integer)) - 'TmpDT.Columns.Add("CveEq", GetType(Integer)) - TmpDT.Columns.Add("CveAlmacen", GetType(Integer)) - 'TmpDT.Columns.Add("CvePersonal", GetType(Integer)) - - TmpDT.Columns.Add("IdCuentaComprometido", GetType(Integer)) - TmpDT.Columns.Add("IdCuentaPorEjercer", GetType(Integer)) - TmpDT.Columns.Add("IdCuentaDevengado", GetType(Integer)) - TmpDT.Columns.Add("IdCuentaMatriz", GetType(Integer)) - - TmpDT.Columns.Add("PSDescripcion", GetType(String)) - TmpDT.Columns.Add("ProductoOC", GetType(String)) - TmpDT.Columns.Add("CantidadF", GetType(Double)) - - 'Consignaciones - TmpDT.Columns.Add("CveAlmacenConsignacion", GetType(Integer)) - TmpDT.Columns.Add("NoConsignacion", GetType(Integer)) - TmpDT.Columns.Add("CveConsignacion", GetType(Integer)) - TmpDT.Columns.Add("HdnPS", GetType(String)) - TmpDT.Columns.Add("HdnCvePS", GetType(String)) - TmpDT.Columns.Add("HdnClasificacion", GetType(String)) - TmpDT.Columns.Add("HdnCveClasificacion", GetType(String)) - TmpDT.Columns.Add("HdnCveAlmacen", GetType(String)) - - 'INVENTARIO SERIE/LOTE - TmpDT.Columns.Add("CveMetodoInventario", GetType(Integer)) - - 'Fletes y Servicios - 'TmpDT.Columns.Add("AplicaCostoIndirecto", GetType(Integer)) 'Ya traemos el estatus flete - TmpDT.Columns.Add("CostoIndirectoAlmacen", GetType(Decimal)) - TmpDT.Columns.Add("EntregaDirecta", GetType(Integer)) - - TmpDT.Columns.Add("CveContrato", GetType(Integer)) - TmpDT.Columns.Add("DifPSSat", GetType(Integer)) - - If Not TmpDT.Columns.Contains("CveContratoDetalle") Then - TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) - End If - If Not TmpDT.Columns.Contains("CveCultivoCuadroDetalle") Then - TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) + BtnDescontabilizar.Visible = False + HplCompraContabilizada.Text = "No" + trContabilizada.Visible = True End If - If Not TmpDT.Columns.Contains("CveSATPSActualizado") Then - TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer)) + If UsuarioActual.Empresa.TipoContabilidad = 1 Then + trContabilizada.Visible = False End If - If Not TmpDT.Columns.Contains("ImporteSinImpuestos") Then - TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Decimal)) + UPPDescontablizar.Update() + + TxtFechaPago.Text = dr("FechaVencimiento").ToString.ToDate.ToShortDateString + RowBitacora.Visible = True + CargaEventoBitacora() + 'ImgAddObs.Attributes.Add("onclick", "javascript: PosicionaObjeto(this.id,'DivEventoBitacora',null,-250,-250); $('#DivEventoBitacora').show(1000); ") + ImgAddObs.Visible = True + ChkAplicaNotaCredito.Checked = CBool(dr("AplicaNotaCredito").ToString) + + 'CompraSaldo = TotalGeneral - LblAmortizacion.Text.ToDouble + CompraSaldo = dr("Saldo").ToString.ToDouble + + If CompraSaldo > dr("Saldo").ToString.ToDouble Then + CompraSaldo = dr("Saldo").ToString.ToDouble End If - If Not TmpDT.Columns.Contains("AplicaLote") Then - TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) - End If - If Not TmpDT.Columns.Contains("AplicaCaducidad") Then - TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + HdnCompraSaldo.Value = CompraSaldo.ToString + + If CompraSaldo > 0 And UsuarioActual.TienePermisoProceso(100) Then + HLPagar.Visible = True + HLPagar.NavigateUrl = $"/Bancos/PopIECompras.aspx?CveCompra={CveCompra}&TB_iframe=true&height=520&width=700" End If - If Not TmpDT.Columns.Contains("Lote") Then - TmpDT.Columns.Add("Lote", GetType(String)) - End If - If Not TmpDT.Columns.Contains("FechaCaducidad") Then - TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) + If dr("CveFactura").ToString.ToEntero > 0 Then + ImgDownXML.Visible = True : ImgDownXML.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=xml&CveFactura={0}&RFC={1}", dr("CveFactura"), dr("RFC").ToString.Replace("&", "%26%")))) + ImgDownPDF.Visible = True : ImgDownPDF.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=Fact&EXT=pdf&CveFactura={0}&RFC={1}", dr("CveFactura"), dr("RFC").ToString.Replace("&", "%26%")))) + Else + LnkGenrarPDF.Visible = True End If - GvPS.DataSource = TmpDT - GvPS.DataBind() + TxtRembolsoNumero.Enabled = If(IdPoliza > 0, False, True) - If UsuarioActual.Empresa.UsaAC Then - CargaHidendsAC() - End If - - CalculaTotales(True) - - 'If UsuarioActual.Empresa.UsaInventarios Then - ' DtInv = TmpDT.FiltraParametros(String.Format("CveTipoPS = 2")).Copy - - ' If dr("Inventario").ToString = "1" Then - - ' CveMovimientoAlmacen = dr("CveMovimiento").ToString.ToEntero - - ' Dim Inv As New ClsInventarios - ' If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa) Then - ' 'Dim TempParametros = Encripta(String.Format("OP=Alm&CveMovimiento={0}", dr("CveMovimiento"))) - ' 'ImgImprimirAlmacen.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", TempParametros) - - ' ImgImprimirAlmacen.Visible = True - ' ImgImprimirAlmacen.NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", dr("CveMovimiento")) - - ' Dim drt As DataRow - ' 'actualizo el almacen - ' For Each dri As DataRow In DtInv.Rows - - ' drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) - ' If drt IsNot Nothing Then - ' Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) 'Charlie - ' TmpDr("CveAlmacen") = drt("CveAlmacen") 'Charlie - - ' dri("CveAlmacen") = drt("CveAlmacen") - - ' End If - - ' Next - - ' End If - - ' ''Proceso Super Tramposo de Charlie - ' 'If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa, CveCompra:=-123) Then - ' ' Dim drt As DataRow - ' ' For Each dri As DataRow In DtInv.Rows - ' ' drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) - ' ' If drt IsNot Nothing Then - ' ' Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) - ' ' TmpDr("CveAlmacen") = drt("CveAlmacen") - ' ' End If - ' ' Next - ' 'End If - - ' Inv.Dispose() - - ' End If - - ' CargaGvInv() - - ' 'Ocultamos "Recibir Aqui" - ' GvInv.Columns(6).Visible = False - ' GvInv.Columns(7).Visible = False - - 'End If - End If - - DdlTipoComprobante.Enabled = False - If dr("TipoDocto").ToString = "RNC" Then - DdlTipoComprobante.Items.Add(New ListItem("Remisión de Nota de Crédito", "RNC")) - End If - - DdlTipoComprobante.SelectedValue = dr("TipoDocto").ToString - If dr("TipoDocto").ToString.Contiene("Fac", "Ant") Then - ChkAplicaNotaCredito.Enabled = True - ImgAnticiposPendientes.Visible = True - Else - ImgAnticiposPendientes.Visible = False - ChkAplicaNotaCredito.Enabled = False - End If - HlProveedor.HRef = "" - TxtCodigo.ReadOnly = True - 'IPP Usuario Sistema No Bloquea, se cambió al proceso - If UsuarioActual.TienePermisoProceso(79) Then - TxtCantidad.Enabled = True - TxtPrecio.Enabled = True - Else - TxtCantidad.Enabled = False - TxtPrecio.Enabled = False - End If - - DdlPS.Enabled = False - TxtObsPS.Enabled = False - 'ImgAmort.Attributes.Clear() - LbAgregar.Enabled = False - TxtSerie.Enabled = False - TxtFolio.Enabled = False - - TxtFecha.Enabled = False - ImgFecha.Enabled = False - CEFecha.Enabled = False - - If UsuarioActual.TienePermisoProceso(342) Then - TxtFecha.Enabled = True - ImgFecha.Enabled = True - CEFecha.Enabled = True - LnkActualziarFechadecompra.Visible = True - End If - - DdlProveedor.Enabled = False - DdlProveedorSucursal.Enabled = False - DdlEstatus.Enabled = False - DdlMoneda.Enabled = False - DdlRetIVAConcepto.Enabled = False - DdlRetISRConcepto.Enabled = False - If UsuarioActual.TienePermisoProceso(79) Then - BtnActualizar.Visible = True - DdlProveedorSucursal.Enabled = True - DdlPS.Enabled = True - TxtObsPS.Enabled = True - LbAgregar.Enabled = True - LnkUpdateFechaPago.Visible = True - - If DdlRetIVAConcepto.SelectedValue.ToEntero > 0 Then - DdlRetIVAConcepto.Enabled = True - End If - - If DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then - DdlRetISRConcepto.Enabled = True - End If - End If - - BtnGuardar.Visible = False - BtnGuardar.Enabled = False - UpPSS.Update() - - 'GvLeyendasFiscales.Enabled = False - TxtSubTotal.ReadOnly = True - TxtIVA.ReadOnly = True - TxtRetIVA.ReadOnly = True - TxtRetISR.ReadOnly = True - TxtIEPS.ReadOnly = True - TxtOtrosImpuestos.ReadOnly = True - TxtTotal.ReadOnly = True - - 'CargaLeyendasFiscales - ViewState("CompraFolio") = TxtFolio.Text.Trim - - Dim dtnc As DataTable = Nothing - If dr("TipoDocto").ToString = "Fac" Then - 'carga as notas de credito vinculadas - If ObjCompra.GetComprasNotasCredito(CveCompra, -1) Then - dtnc = ObjCompra.DtResultados - End If - ElseIf dr("TipoDocto").ToString.Contiene("NC", "DEV", "Ant") Then - If dr("TipoDocto").ToString = "NC" Then - DivReembolso.Visible = False - RBLPago.Items(2).Enabled = False - End If - If ObjCompra.GetComprasNotasCredito(-1, CveCompra) Then - dtnc = ObjCompra.DtResultados - LtlGvAnticiposSel.Text = "
Compras Aplicadas
" - End If - End If - - 'VINCULACIÓN OC - NUEVA DICIEMBRE 2015 - If dr("OCVinculada").ToString() <> "" Then - - Dim OCS As String = "", CveOCS As String = "" - Dim DtOCs As New DataTable - DtOCs.Columns.Add("SerieFolioOC", GetType(String)) - DtOCs.Columns.Add("CveOrdenCompra", GetType(Integer)) - DtOCs.Columns.Add("Fecha", GetType(Date)) - DtOCs.Columns.Add("Descripcion", GetType(String)) - For Each drt As DataRow In TmpDT.FiltraParametros("", "", {"SerieFolioOC", "CveOrdenCompra"}).Rows - If drt("SerieFolioOC").ToString <> "" Then - Dim DrOC As DataRow = DtOCs.NewRow - DrOC("SerieFolioOC") = drt("SerieFolioOC").ToString - DrOC("CveOrdenCompra") = drt("CveOrdenCompra").ToString - DtOCs.Rows.Add(DrOC) + If dr("CveImportacion").ToString <> "" Then + divCompraImportacion.Visible = True + HplCompraImportacion.Text = dr("Importacion").ToString + If dr("TipoImportacion").ToString = "2" Then 'flete/indirecto + LtlImportacionTexto.Text = "Indirecto" + HplCompraImportacion.NavigateUrl = $"/Inventarios/Fletes.aspx?CveFlete={dr("CveImportacion")}" + Else + HplCompraImportacion.NavigateUrl = $"/Compras/Importaciones.aspx?CveImportacion={dr("CveImportacion")}" End If - Next + End If - If DtOCs.Rows.Count > 0 Then - For Each drt As DataRow In DtOCs.Rows - OCS += If(OCS <> "", String.Format(",{0}", drt("SerieFolioOC").ToString), drt("SerieFolioOC").ToString) - CveOCS += If(CveOCS <> "", String.Format(",{0}", drt("CveOrdenCompra").ToString), drt("CveOrdenCompra").ToString) - 'If ObjOC.GetOrdenesCompraRep("OC", -1, -1, -1, -1, MinFecha, MaxFecha, drt("CveOrdenCompra").ToString.ToEntero, CveProveedor, -1, -1, -1, UsuarioActual.CveEmpresa, -1) Then - ' If ObjOC.DtResultados.Rows.Count = 1 Then - ' OCS += If(OCS <> "", String.Format(",{0}", drt("FolioOC").ToString), drt("FolioOC").ToString) - ' CveOCS += If(CveOCS <> "", String.Format(",{0}", drt("CveOrdenCompra").ToString), drt("CveOrdenCompra").ToString) - ' drt("Fecha") = ObjOC.DtResultados.FiltroPrimeroValor("FechaIng") - ' drt("Descripcion") = ObjOC.DtResultados.FiltroPrimeroValor("Descripcion") - ' End If - 'End If + If dr("CveFolioGarantia").ToString <> "" Then + divFolioGarantia.Visible = True + DdlFolioGarantia.Items.Insert(0, New ListItem(dr("FolioGarantia").ToString, dr("CveFolioGarantia").ToString)) + DdlFolioGarantia.SelectedValue = dr("CveFolioGarantia").ToString + End If + + 'CargaDetalle + If ObjCompra.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then + TmpDT = ObjCompra.DtResultados + TmpDTOriginal = ObjCompra.DtResultados.Copy + + TmpDT.Columns.Add("CveClasificacionActualizar", GetType(Integer)) + 'TmpDT.Columns.Add("CveEq", GetType(Integer)) + TmpDT.Columns.Add("CveAlmacen", GetType(Integer)) + 'TmpDT.Columns.Add("CvePersonal", GetType(Integer)) + + TmpDT.Columns.Add("IdCuentaComprometido", GetType(Integer)) + TmpDT.Columns.Add("IdCuentaPorEjercer", GetType(Integer)) + TmpDT.Columns.Add("IdCuentaDevengado", GetType(Integer)) + TmpDT.Columns.Add("IdCuentaMatriz", GetType(Integer)) + + TmpDT.Columns.Add("PSDescripcion", GetType(String)) + TmpDT.Columns.Add("ProductoOC", GetType(String)) + TmpDT.Columns.Add("CantidadF", GetType(Double)) + + 'Consignaciones + TmpDT.Columns.Add("CveAlmacenConsignacion", GetType(Integer)) + TmpDT.Columns.Add("NoConsignacion", GetType(Integer)) + TmpDT.Columns.Add("CveConsignacion", GetType(Integer)) + TmpDT.Columns.Add("HdnPS", GetType(String)) + TmpDT.Columns.Add("HdnCvePS", GetType(String)) + TmpDT.Columns.Add("HdnClasificacion", GetType(String)) + TmpDT.Columns.Add("HdnCveClasificacion", GetType(String)) + TmpDT.Columns.Add("HdnCveAlmacen", GetType(String)) + + 'INVENTARIO SERIE/LOTE + TmpDT.Columns.Add("CveMetodoInventario", GetType(Integer)) + + 'Fletes y Servicios + 'TmpDT.Columns.Add("AplicaCostoIndirecto", GetType(Integer)) 'Ya traemos el estatus flete + TmpDT.Columns.Add("CostoIndirectoAlmacen", GetType(Decimal)) + TmpDT.Columns.Add("EntregaDirecta", GetType(Integer)) + + TmpDT.Columns.Add("CveContrato", GetType(Integer)) + TmpDT.Columns.Add("DifPSSat", GetType(Integer)) + + If Not TmpDT.Columns.Contains("CveContratoDetalle") Then + TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) + End If + If Not TmpDT.Columns.Contains("CveCultivoCuadroDetalle") Then + TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) + End If + + If Not TmpDT.Columns.Contains("CveSATPSActualizado") Then + TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer)) + End If + + If Not TmpDT.Columns.Contains("ImporteSinImpuestos") Then + TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Decimal)) + End If + If Not TmpDT.Columns.Contains("AplicaLote") Then + TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) + End If + If Not TmpDT.Columns.Contains("AplicaCaducidad") Then + TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + End If + + If Not TmpDT.Columns.Contains("Lote") Then + TmpDT.Columns.Add("Lote", GetType(String)) + End If + If Not TmpDT.Columns.Contains("FechaCaducidad") Then + TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) + End If + + GvPS.DataSource = TmpDT + GvPS.DataBind() + + If UsuarioActual.Empresa.UsaAC Then + CargaHidendsAC() + End If + + CalculaTotales(True) + + 'If UsuarioActual.Empresa.UsaInventarios Then + ' DtInv = TmpDT.FiltraParametros(String.Format("CveTipoPS = 2")).Copy + + ' If dr("Inventario").ToString = "1" Then + + ' CveMovimientoAlmacen = dr("CveMovimiento").ToString.ToEntero + + ' Dim Inv As New ClsInventarios + ' If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa) Then + ' 'Dim TempParametros = Encripta(String.Format("OP=Alm&CveMovimiento={0}", dr("CveMovimiento"))) + ' 'ImgImprimirAlmacen.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", TempParametros) + + ' ImgImprimirAlmacen.Visible = True + ' ImgImprimirAlmacen.NavigateUrl = String.Format("/Inventarios/EntradasSalidas.aspx?CveMovimiento={0}", dr("CveMovimiento")) + + ' Dim drt As DataRow + ' 'actualizo el almacen + ' For Each dri As DataRow In DtInv.Rows + + ' drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) + ' If drt IsNot Nothing Then + ' Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) 'Charlie + ' TmpDr("CveAlmacen") = drt("CveAlmacen") 'Charlie + + ' dri("CveAlmacen") = drt("CveAlmacen") + + ' End If + + ' Next + + ' End If + + ' ''Proceso Super Tramposo de Charlie + ' 'If Inv.GetMovimientosDetalle(dr("CveMovimiento").ToString.ToEntero, UsuarioActual.CveEmpresa, CveCompra:=-123) Then + ' ' Dim drt As DataRow + ' ' For Each dri As DataRow In DtInv.Rows + ' ' drt = Inv.DtResultados.FiltroPrimero(String.Format("CvePS = {0} AND Cantidad = {1}", dri("CvePS"), dri("Cantidad"))) + ' ' If drt IsNot Nothing Then + ' ' Dim TmpDr As DataRow = TmpDT.Select($"Consec = {dri("Consec").ToString.ToEntero}")(0) + ' ' TmpDr("CveAlmacen") = drt("CveAlmacen") + ' ' End If + ' ' Next + ' 'End If + + ' Inv.Dispose() + + ' End If + + ' CargaGvInv() + + ' 'Ocultamos "Recibir Aqui" + ' GvInv.Columns(6).Visible = False + ' GvInv.Columns(7).Visible = False + + 'End If + End If + + DdlTipoComprobante.Enabled = False + If dr("TipoDocto").ToString = "RNC" Then + DdlTipoComprobante.Items.Add(New ListItem("Remisión de Nota de Crédito", "RNC")) + End If + + DdlTipoComprobante.SelectedValue = dr("TipoDocto").ToString + If dr("TipoDocto").ToString.Contiene("Fac", "Ant") Then + ChkAplicaNotaCredito.Enabled = True + ImgAnticiposPendientes.Visible = True + Else + ImgAnticiposPendientes.Visible = False + ChkAplicaNotaCredito.Enabled = False + End If + HlProveedor.HRef = "" + TxtCodigo.ReadOnly = True + 'IPP Usuario Sistema No Bloquea, se cambió al proceso + If UsuarioActual.TienePermisoProceso(79) Then + TxtCantidad.Enabled = True + TxtPrecio.Enabled = True + Else + TxtCantidad.Enabled = False + TxtPrecio.Enabled = False + End If + + DdlPS.Enabled = False + TxtObsPS.Enabled = False + 'ImgAmort.Attributes.Clear() + LbAgregar.Enabled = False + TxtSerie.Enabled = False + TxtFolio.Enabled = False + + TxtFecha.Enabled = False + ImgFecha.Enabled = False + CEFecha.Enabled = False + + If UsuarioActual.TienePermisoProceso(342) Then + TxtFecha.Enabled = True + ImgFecha.Enabled = True + CEFecha.Enabled = True + LnkActualziarFechadecompra.Visible = True + End If + + DdlProveedor.Enabled = False + DdlProveedorSucursal.Enabled = False + DdlEstatus.Enabled = False + DdlMoneda.Enabled = False + DdlRetIVAConcepto.Enabled = False + DdlRetISRConcepto.Enabled = False + If UsuarioActual.TienePermisoProceso(79) Then + BtnActualizar.Visible = True + DdlProveedorSucursal.Enabled = True + DdlPS.Enabled = True + TxtObsPS.Enabled = True + LbAgregar.Enabled = True + LnkUpdateFechaPago.Visible = True + + If DdlRetIVAConcepto.SelectedValue.ToEntero > 0 Then + DdlRetIVAConcepto.Enabled = True + End If + + If DdlRetISRConcepto.SelectedValue.ToEntero > 0 Then + DdlRetISRConcepto.Enabled = True + End If + End If + + BtnGuardar.Visible = False + BtnGuardar.Enabled = False + UpPSS.Update() + + 'GvLeyendasFiscales.Enabled = False + TxtSubTotal.ReadOnly = True + TxtIVA.ReadOnly = True + TxtRetIVA.ReadOnly = True + TxtRetISR.ReadOnly = True + TxtIEPS.ReadOnly = True + TxtOtrosImpuestos.ReadOnly = True + TxtTotal.ReadOnly = True + + 'CargaLeyendasFiscales + ViewState("CompraFolio") = TxtFolio.Text.Trim + + Dim dtnc As DataTable = Nothing + If dr("TipoDocto").ToString = "Fac" Then + 'carga as notas de credito vinculadas + If ObjCompra.GetComprasNotasCredito(CveCompra, -1) Then + dtnc = ObjCompra.DtResultados + End If + ElseIf dr("TipoDocto").ToString.Contiene("NC", "DEV", "Ant") Then + If dr("TipoDocto").ToString = "NC" Then + DivReembolso.Visible = False + RBLPago.Items(2).Enabled = False + End If + If ObjCompra.GetComprasNotasCredito(-1, CveCompra) Then + dtnc = ObjCompra.DtResultados + LtlGvAnticiposSel.Text = "
Compras Aplicadas
" + End If + End If + + 'VINCULACIÓN OC - NUEVA DICIEMBRE 2015 + If dr("OCVinculada").ToString() <> "" Then + + Dim OCS As String = "", CveOCS As String = "" + Dim DtOCs As New DataTable + DtOCs.Columns.Add("SerieFolioOC", GetType(String)) + DtOCs.Columns.Add("CveOrdenCompra", GetType(Integer)) + DtOCs.Columns.Add("Fecha", GetType(Date)) + DtOCs.Columns.Add("Descripcion", GetType(String)) + For Each drt As DataRow In TmpDT.FiltraParametros("", "", {"SerieFolioOC", "CveOrdenCompra"}).Rows + If drt("SerieFolioOC").ToString <> "" Then + Dim DrOC As DataRow = DtOCs.NewRow + DrOC("SerieFolioOC") = drt("SerieFolioOC").ToString + DrOC("CveOrdenCompra") = drt("CveOrdenCompra").ToString + DtOCs.Rows.Add(DrOC) + End If Next + + If DtOCs.Rows.Count > 0 Then + For Each drt As DataRow In DtOCs.Rows + OCS += If(OCS <> "", String.Format(",{0}", drt("SerieFolioOC").ToString), drt("SerieFolioOC").ToString) + CveOCS += If(CveOCS <> "", String.Format(",{0}", drt("CveOrdenCompra").ToString), drt("CveOrdenCompra").ToString) + 'If ObjOC.GetOrdenesCompraRep("OC", -1, -1, -1, -1, MinFecha, MaxFecha, drt("CveOrdenCompra").ToString.ToEntero, CveProveedor, -1, -1, -1, UsuarioActual.CveEmpresa, -1) Then + ' If ObjOC.DtResultados.Rows.Count = 1 Then + ' OCS += If(OCS <> "", String.Format(",{0}", drt("FolioOC").ToString), drt("FolioOC").ToString) + ' CveOCS += If(CveOCS <> "", String.Format(",{0}", drt("CveOrdenCompra").ToString), drt("CveOrdenCompra").ToString) + ' drt("Fecha") = ObjOC.DtResultados.FiltroPrimeroValor("FechaIng") + ' drt("Descripcion") = ObjOC.DtResultados.FiltroPrimeroValor("Descripcion") + ' End If + 'End If + Next + End If + + TxtOC.Text = OCS + TieneOC = True + + If DtOCs.Rows.Count > 1 Then + HLOCsVinculadas.Visible = True + GvOCsVinculadas.DataSource = DtOCs + GvOCsVinculadas.DataBind() + UpOCsVinculadas.Update() + ElseIf DtOCs.Rows.Count = 1 Then + HLOCsVinculadas.Visible = True + HLOCsVinculadas.Attributes.Remove("data-toggle") + HLOCsVinculadas.Attributes.Remove("data-target") + HLOCsVinculadas.Attributes.Add("data-toggle", "tooltip") + HLOCsVinculadas.NavigateUrl = $"/OC/OC.aspx?OC={DtOCs.FiltroPrimeroValor("CveOrdenCompra")}" + HLOCsVinculadas.Target = "_blank" + End If + + End If - TxtOC.Text = OCS - TieneOC = True + 'BLOQUEA OC + TxtOC.Enabled = False + ImgBtnBuscarOC.Visible = False + Tab.ActiveTabIndex = 0 - If DtOCs.Rows.Count > 1 Then - HLOCsVinculadas.Visible = True - GvOCsVinculadas.DataSource = DtOCs - GvOCsVinculadas.DataBind() - UpOCsVinculadas.Update() - ElseIf DtOCs.Rows.Count = 1 Then - HLOCsVinculadas.Visible = True - HLOCsVinculadas.Attributes.Remove("data-toggle") - HLOCsVinculadas.Attributes.Remove("data-target") - HLOCsVinculadas.Attributes.Add("data-toggle", "tooltip") - HLOCsVinculadas.NavigateUrl = $"/OC/OC.aspx?OC={DtOCs.FiltroPrimeroValor("CveOrdenCompra")}" - HLOCsVinculadas.Target = "_blank" + GvAnticiposSel.DataSource = dtnc + GvAnticiposSel.DataBind() + + If dtnc IsNot Nothing AndAlso dtnc.Rows.Count > 0 Then + LtlGvAnticiposSel.Visible = True End If + '' VALIDA ELIMINAR COMPRA, QUE NO TENGA PAGOS CONCILIADOS + If (UsuarioActual.TienePermisoProceso(77) OrElse UsuarioActual.TienePermisoProceso(135)) AndAlso dr("NumPagosConciliados").ToString.ToEntero = 0 Then ' Eliminar compra - End If + 'SIN VINCULACIÓN + If UsuarioActual.TienePermisoProceso(135) Then + If TxtOC.Text = "" AndAlso IdPoliza < 1 AndAlso CveMovimientoAlmacen < 1 AndAlso LblUsuarioCaptura.Text = UsuarioActual.Usuario AndAlso TmpDT.MAX("CveActivoFijo").ToEntero < 1 AndAlso Not ChkProgramarPago.Checked AndAlso CompraSaldo = TxtTotal.Text.ToDouble Then + BtnEliminarCompra.Visible = True + End If + End If - 'BLOQUEA OC - TxtOC.Enabled = False - ImgBtnBuscarOC.Visible = False - Tab.ActiveTabIndex = 0 - - GvAnticiposSel.DataSource = dtnc - GvAnticiposSel.DataBind() - - If dtnc IsNot Nothing AndAlso dtnc.Rows.Count > 0 Then - LtlGvAnticiposSel.Visible = True - End If - - '' VALIDA ELIMINAR COMPRA, QUE NO TENGA PAGOS CONCILIADOS - If (UsuarioActual.TienePermisoProceso(77) OrElse UsuarioActual.TienePermisoProceso(135)) AndAlso dr("NumPagosConciliados").ToString.ToEntero = 0 Then ' Eliminar compra - - 'SIN VINCULACIÓN - If UsuarioActual.TienePermisoProceso(135) Then - If TxtOC.Text = "" AndAlso IdPoliza < 1 AndAlso CveMovimientoAlmacen < 1 AndAlso LblUsuarioCaptura.Text = UsuarioActual.Usuario AndAlso TmpDT.MAX("CveActivoFijo").ToEntero < 1 AndAlso Not ChkProgramarPago.Checked AndAlso CompraSaldo = TxtTotal.Text.ToDouble Then + 'ELIMINAR A FUERZAS + If UsuarioActual.TienePermisoProceso(77) Then BtnEliminarCompra.Visible = True + If CompraSaldo <> TxtTotal.Text.ToDouble AndAlso dr("TipoDocto").ToString = "Fac" Then + BtnEliminarCompra.Enabled = False + BtnEliminarCompra.ToolTip = "La compra tiene pagos asociados, elimine los pagos primero." + End If + End If + + Dim StrInventario As String = "" + If dr("Inventario").ToString = "1" Then + StrInventario = "los Movimientos de Inventario relacionados" + End If + + If UsuarioActual.Empresa.UsaAC Then + BtnEliminarCompra.Attributes.Add("data-original-title", String.Format("¿Está seguro que desea eliminar la Compra, {0} y la Poliza Asociada?", StrInventario)) + ElseIf BtnEliminarCompra.Enabled Then + BtnEliminarCompra.Attributes.Add("data-original-title", String.Format("¿Está seguro que desea eliminar la Compra y {0}?", StrInventario)) End If End If - 'ELIMINAR A FUERZAS - If UsuarioActual.TienePermisoProceso(77) Then - BtnEliminarCompra.Visible = True - If CompraSaldo <> TxtTotal.Text.ToDouble AndAlso dr("TipoDocto").ToString = "Fac" Then - BtnEliminarCompra.Enabled = False - BtnEliminarCompra.ToolTip = "La compra tiene pagos asociados, elimine los pagos primero." + 'VALIDA CANCELAR COMPRA - AC + ValidaCancelarCompra() + + 'CUANDO ESTA CANCELADA + If dr("CveEstatusFactura").ToString = "-2" Then + BtnEliminarCompra.Visible = False + BtnActualizar.Visible = False + BtnGuardar.Visible = False + BtnCancelarCompra.Visible = False + + LblCompraEstatus.Text = "CANCELADA" + LblCompraEstatus.Font.Bold = True + LblCompraEstatus.Font.Size = 12 + LblCompraEstatus.ForeColor = Drawing.Color.DarkRed + 'HplIr.Visible = False + + BtnDescontabilizar.Visible = False + BtnEliminarPolizaMultiple.Visible = False + + 'LIGA POLIZA CANCELACIÓN + 'HplPolizaCancelación.NavigateUrl = String.Format("/Contabilidad/RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza")) + + End If + + 'CUANDO FUE REFACTURADA + If dr("CompraRefacturada").ToString.ToEntero > 0 Then + BtnEliminarCompra.Visible = False + BtnActualizar.Visible = False + BtnGuardar.Visible = False + BtnCancelarCompra.Visible = False + End If + + 'TIENE AMORTIZACIÓN + If GvAnticiposSel.Rows.Count > 0 Then + + If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then + BtnCancelarCompra.Visible = False + BtnEliminarCompra.Visible = False End If End If - Dim StrInventario As String = "" - If dr("Inventario").ToString = "1" Then - StrInventario = "los Movimientos de Inventario relacionados" + 'Tiene Importacion + + If dr("EsImportacion").ToString = "True" Then + chkImportacion.Checked = True + Else + chkImportacion.Checked = False + End If + CargaComplementosPago() + CargaGvBitacora() + InventarioMov() + HabilitaNCInv() + + If Request("RG") IsNot Nothing Then + BtnRegenerarPrePolizaAlmacen_Click(Nothing, Nothing) End If - If UsuarioActual.Empresa.UsaAC Then - BtnEliminarCompra.Attributes.Add("data-original-title", String.Format("¿Está seguro que desea eliminar la Compra, {0} y la Poliza Asociada?", StrInventario)) - ElseIf BtnEliminarCompra.Enabled Then - BtnEliminarCompra.Attributes.Add("data-original-title", String.Format("¿Está seguro que desea eliminar la Compra y {0}?", StrInventario)) - End If - End If - - 'VALIDA CANCELAR COMPRA - AC - ValidaCancelarCompra() - - 'CUANDO ESTA CANCELADA - If dr("CveEstatusFactura").ToString = "-2" Then - BtnEliminarCompra.Visible = False - BtnActualizar.Visible = False - BtnGuardar.Visible = False - BtnCancelarCompra.Visible = False - - LblCompraEstatus.Text = "CANCELADA" - LblCompraEstatus.Font.Bold = True - LblCompraEstatus.Font.Size = 12 - LblCompraEstatus.ForeColor = Drawing.Color.DarkRed - 'HplIr.Visible = False - - BtnDescontabilizar.Visible = False - BtnEliminarPolizaMultiple.Visible = False - - 'LIGA POLIZA CANCELACIÓN - 'HplPolizaCancelación.NavigateUrl = String.Format("/Contabilidad/RegPoliza.aspx?IdPoliza={0}", dr("IdPoliza")) - - End If - - 'CUANDO FUE REFACTURADA - If dr("CompraRefacturada").ToString.ToEntero > 0 Then - BtnEliminarCompra.Visible = False - BtnActualizar.Visible = False - BtnGuardar.Visible = False - BtnCancelarCompra.Visible = False - End If - - 'TIENE AMORTIZACIÓN - If GvAnticiposSel.Rows.Count > 0 Then - - If Not DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") Then + If DdlTipoComprobante.SelectedValue = "RNC" And CompraSaldo <> TxtTotal.Text.ToDecimal Then BtnCancelarCompra.Visible = False BtnEliminarCompra.Visible = False End If - End If - 'Tiene Importacion - - If dr("EsImportacion").ToString = "True" Then - chkImportacion.Checked = True - Else - chkImportacion.Checked = False - End If - CargaComplementosPago() - CargaGvBitacora() - InventarioMov() - HabilitaNCInv() - - If Request("RG") IsNot Nothing Then - BtnRegenerarPrePolizaAlmacen_Click(Nothing, Nothing) - End If - - If DdlTipoComprobante.SelectedValue = "RNC" And CompraSaldo <> TxtTotal.Text.ToDecimal Then - BtnCancelarCompra.Visible = False - BtnEliminarCompra.Visible = False - End If - - If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then - If ObjCompra.GetGastoMedicos(CveCompra) Then - DTMedicos = ObjCompra.DtResultados - GvMedicosGastos.DataSource = ObjCompra.DtResultados - GvMedicosGastos.DataBind() + If UsuarioActual.Empresa.Funcionalidad(578) = "1" Then + If ObjCompra.GetGastoMedicos(CveCompra) Then + DTMedicos = ObjCompra.DtResultados + GvMedicosGastos.DataSource = ObjCompra.DtResultados + GvMedicosGastos.DataBind() + End If End If - End If - Else - Alert("La compra solicitada no se encontró. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) + Else + Alert("La compra solicitada no se encontró. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) End If Else Alert("Ocurrió un error al cargar la compra. Por favor vuelta a intentar o comuniquese con Sistemas.", TipoMensaje.MsgError) @@ -5559,12 +5569,15 @@ Partial Class Compras_Compras Dim TmpDr As DataRow = TmpDT.Select($"Consec = {Row("Consec").ToString}")(0) TmpDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle - ' Si no es un movimiento de almacen va a tronar - Try - Dim InvDr As DataRow = DtInv.Select($"Consec = {Row("Consec").ToString}")(0) - InvDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle - Catch ex As Exception - End Try + Dim drs As DataRow() = DtInv.Select($"Consec = {Row("Consec").ToString}") + If drs.Count > 0 Then drs(0)("CveCompraDetalle") = ObjCompras.CveCompraDetalle + + '' Si no es un movimiento de almacen va a tronar + 'Try + ' Dim InvDr As DataRow = DtInv.Select($"Consec = {Row("Consec").ToString}")(0) + ' InvDr("CveCompraDetalle") = ObjCompras.CveCompraDetalle + 'Catch ex As Exception + 'End Try End If @@ -6540,7 +6553,6 @@ Partial Class Compras_Compras End If AlmacenSoloExistencia = True End If - Dr.AcceptChanges() Next End If @@ -6583,7 +6595,6 @@ Partial Class Compras_Compras Dim CvePrePoliza2Almacen As Integer = ObjConta.AddPrePolizas("Compras/Registrar/Almacen", If(EsContado And CvePlantillaPrePoliza = 1, 2, CvePlantillaPrePoliza), ImporteCompra, TxtTotal.Text.ToDouble, DdlMoneda.SelectedValue.ToEntero, NowADS(), ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjCompras.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjConta.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, DdlTipoTransaccionCaja.SelectedValue, UsuarioActual.CveEmpresa)) If CvePrePoliza2Almacen > 0 Then - Dim ImpPrepoliza As Decimal = 0D Dim ImpPrepolizaMN As Decimal = 0D @@ -6604,16 +6615,13 @@ Partial Class Compras_Compras Else ErrorPrepoliza = True End If - Else 'SI ES GASTO CON ALMACEN NO DEBE CONTABILIZAR CONCEPTO 68 If CveMovimientoInventario > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 68, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=ContabilizableAlmacen) Then ErrorPrepoliza = True End If - End If - 'SI ES GASTO CON ALMACEN REGISTRA EL CONCEPTO 95 If DdlTipoCompra.SelectedValue = "10" Or EntradaComoGastoConAlmacen Then If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not TipoMovimiento, importeMN.RoundSQL(2), importeMN.RoundSQL(2), 95, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CvePersonal:=CvePersonal, CveMovimientoAlmacen:=CveMovimientoInventario, CveCreditoDetalle:=CveCreditoDetalle, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), TipoCambio:=tipoCambioActual, Contabilizable:=False) Then @@ -6831,7 +6839,7 @@ Partial Class Compras_Compras If RegistraConcepto225 Then - importeMovimiento = TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 And ISNULL(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal + importeMovimiento = TmpDT.SUM("Total") 'TmpDT.SUM(If(ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 AndAlso TxtTotal.Text.ToDecimal = 0, "ImporteSinImpuestos", "Total"), $"ISNULL(TipoAF,0) <> 2 And ISNULL(AplicaCostoIndirecto,0) <> 1 And ISNULL(CveTipoPS,0) = 2").ToString.ToDecimal importeMN = importeMovimiento * tipoCambioActual * Multiplicador 'no es necesario, ya se está interpretandoe l usado como producto @@ -6851,8 +6859,6 @@ Partial Class Compras_Compras End If Concepto = $"{NombreProveedor} {TxtSerie.Text} - {TxtFolio.Text}" - - If importeMovimiento > 0 Or TxtTotal.Text.ToDecimal = 0 Then RegistroCuentaPuente = True Dim ImporteTransito As Decimal = 0 @@ -6870,8 +6876,6 @@ Partial Class Compras_Compras End If End If Next - - Dim importeMNTemp As Decimal = 0 Dim CveCompraAmortizacion As Integer = -1 @@ -6902,7 +6906,6 @@ Partial Class Compras_Compras End If End If - 'si se marca que no se va a recibir, falta validación If Not ErrorMovInv AndAlso Not ObjCompras.UpdateEstatusAlmacen(CveCompra, 1, UsuarioActual.CveUsuario) Then ErrorMovInv = True @@ -6923,20 +6926,28 @@ Partial Class Compras_Compras End If End If Else - - Dim DiferenciaDevolucion As Decimal = If(DdlMoneda.SelectedValue.ToEntero <> 1, (importeMovimiento * TxtTC.Text.ToDecimal), importeMovimiento) - TotalRealDevolucion If TotalRealDevolucion <> 0 Then - + Dim tCveCompra As Integer = CveCompra + Dim tCveCompraAmortizacion As Integer = -1 If Math.Abs(DiferenciaDevolucion) > 0 Then Dim tMovto As Boolean = False + Dim tConceptoDiferencia As Integer = 69 If UsuarioActual.CveEmpresa = 119 Then tMovto = True Else DiferenciaDevolucion = -DiferenciaDevolucion End If - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, 69, Referencia, Concepto, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then ' las devoluciones, que tengan descuento por rnc, debe de descontar del saldo de la factura aplicada + tConceptoDiferencia = 272 + tCveCompraAmortizacion = tCveCompra + If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) Then + tCveCompra = ObjConta.DtResultados.FiltroPrimeroValor("CveCompraAmortizacion", "CveConceptoContable = 60").ToEntero 'a aplicación de la nc + End If + End If + + If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, tMovto, DiferenciaDevolucion, DiferenciaDevolucion, tConceptoDiferencia, Referencia, Concepto, CveCompra:=tCveCompra, CveCompraAmortizacion:=tCveCompraAmortizacion, CveProveedor:=CveProveedorConcepto, ImporteME:=If(tipoCambioActual = 1, 0, DiferenciaDevolucion), TipoCambio:=tipoCambioActual, CveMovimientoAlmacen:=CveMovimientoDevolucion, Contabilizable:=SeContabiliza, CveSubProyecto:=tCveSubProyecto, CveClasificacion:=tCveClasif) Then ErrorPrepoliza = True End If End If @@ -7014,8 +7025,6 @@ Partial Class Compras_Compras End If End If - 'ChkNCInvNC - If Not RegistroCuentaPuente AndAlso Not ChkNCInvNC.Checked Then 'GASTO If UsuarioActual.CveEmpresa = 119 Then @@ -7040,20 +7049,7 @@ Partial Class Compras_Compras If AgregaMercanciaInventario Then DT = DT.FiltraParametros("ISNULL(CveTipoPS,0) <> 2") End If - Dim DTDistinct As DataTable = DT.Copy - 'If UsuarioActual.Empresa.Funcionalidad(126) = "1" Then - ' For Each drowdis As DataRow In DTDistinct.Rows - ' If drowdis("CveTipoGasto").ToString = "" Then - ' drowdis("CveTipoGasto") = 0 - ' End If - ' If drowdis("TipoGasto").ToString.Trim = "" Then - ' drowdis("TipoGasto") = "ND" - ' End If - ' Next - ' DTDistinct = DTDistinct.FiltraParametros("ISNULL(TipoAF, 0) <> 2", "", {"CveClasificacion", "Clasificacion", "SubProyecto", "CveSubProyecto", "CveTipoGasto", "TipoGasto"}) - 'Else - For Each drowdis As DataRow In DTDistinct.Rows If drowdis("CveTipoGasto").ToString = "" Then @@ -7258,7 +7254,7 @@ Partial Class Compras_Compras End If Next - If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso DdlTipoCompra.SelectedValue = "15" Then Dim TotalSaldo As Decimal = TxtTotal.Text.ToDecimal For Each gvRow As GridViewRow In GvRNC.Rows @@ -10918,17 +10914,17 @@ Partial Class Compras_Compras TmpDT.Columns.Add("DifPSSat", GetType(Integer)) - TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) TmpDT.Columns.Add("TemporadaCuadro", GetType(String)) + TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + TmpDT.Columns.Add("Serie", GetType(String)) TmpDT.Columns.Add("Lote", GetType(String)) TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) - TmpDTOriginal = New DataTable TmpDTOriginal.Columns.Add("Consec", GetType(Integer)) TmpDTOriginal.Columns.Add("Cantidad", GetType(Decimal)) @@ -11038,8 +11034,10 @@ Partial Class Compras_Compras TmpDTOriginal.Columns.Add("CveCultivoCuadroDetalle", GetType(Double)) TmpDTOriginal.Columns.Add("TemporadaCuadro", GetType(String)) + TmpDTOriginal.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDTOriginal.Columns.Add("AplicaLote", GetType(Boolean)) TmpDTOriginal.Columns.Add("AplicaCaducidad", GetType(Boolean)) + TmpDTOriginal.Columns.Add("Serie", GetType(String)) TmpDTOriginal.Columns.Add("Lote", GetType(String)) TmpDTOriginal.Columns.Add("FechaCaducidad", GetType(Date)) @@ -13876,9 +13874,14 @@ Partial Class Compras_Compras 'si no esta vinculado a nc simplemente me lo brinco If realizadevolucion Then - 'si el subtotal es iwal a la nc lo guardo si no marco error - If subtotal > subtotaldevolucion - 1 AndAlso subtotal < subtotaldevolucion + 1 Then - + 'si el subtotal es igual a la nc lo guardo si no marco error + Dim tTolerancia As Decimal = 0 + Dim tAjustaUltimo As Boolean = True + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) + tAjustaUltimo = False + End If + If Math.Abs(subtotal - subtotaldevolucion) <= tTolerancia Then CveMovimientoEntrada = ObjInventario.AddMovimiento(CveAlmacen, 13, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveCompra, -1, -1, -1, Modulo:="Comp/G1") If CveMovimientoEntrada <= 0 Then ErrorMovInv = True @@ -13894,17 +13897,16 @@ Partial Class Compras_Compras PU = Dr.DataKey("PU").ToString.ToDecimal PUExtranjero = Dr.DataKey("PUExtranjero").ToString.ToDecimal ii += 1 - If CantidadRenglones = ii Then + If CantidadRenglones = ii AndAlso tAjustaUltimo Then Dim dif As Decimal = subtotal - Acumulado - PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToString.ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal + PU = (((Dr.FCTextBox("TxtCantidad").Text.ToDecimal * Dr.DataKey("PU").ToDecimal)) + dif) / Dr.FCTextBox("TxtCantidad").Text.ToDecimal End If - If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToString.ToEntero, Dr.DataKey("CveUM").ToString.ToEntero, UsuarioActual.CveEmpresa, CveAlmacen, - FechaMovto:=TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second).ToString("yyyy/MM/dd HH:mm")) Then - + Dim tFechaExistencia As DateTime = TxtFecha.Text.ToDateTime.AddHours(NowADS().Hour).AddMinutes(NowADS().Minute).AddSeconds(NowADS().Second) + If ObjInventario.GetExistenciasProducto(Dr.DataKey("CvePS").ToEntero, Dr.DataKey("CveUM").ToEntero, UsuarioActual.CveEmpresa, CveAlmacen, + FechaMovto:=tFechaExistencia.ToString("yyyy/MM/dd HH:mm")) Then Dim Existencia As Decimal = ObjInventario.DtResultados.FiltroPrimeroValor("ExistenciaFinal", String.Format("CveAlmacen = {0}", CveAlmacen)).ToDecimal - If Dr.FCTextBox("TxtCantidad").Text.ToDouble > Existencia Then - Alert($"No hay existencia suficiente del producto {Dr.DataKey("PS").ToString} en la fecha:{TxtFecha.Text}", TipoMensaje.MsgAdvertencia) + Alert($"No hay existencia suficiente del producto:
- {Dr.DataKey("CodigoPS")} en la fecha: {tFechaExistencia.ToString("yyyy/MM/dd HH:mm")}", TipoMensaje.MsgAdvertencia) ErrorMovInv = True Exit For End If @@ -13930,11 +13932,11 @@ Partial Class Compras_Compras End If Else ErrorMovInv = True - Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia) + Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia) + End If End If - End If - If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa, -1) Then + If ObjInventario.GetMovimientosDetalle(CveMovimientoEntrada, UsuarioActual.CveEmpresa, -1) Then For Each drow As DataRow In ObjInventario.DtResultados.Rows TotalSumaPU = TotalSumaPU + drow("Total").ToString.ToDecimal @@ -14003,7 +14005,6 @@ Partial Class Compras_Compras Dim subtotaldevolucion As Decimal = 0 Dim realizadevolucion As Boolean = False - 'Calculo los subtotales para comparar con la NC Dim cantidad As Decimal = 0D @@ -14018,11 +14019,13 @@ Partial Class Compras_Compras 'si no esta vinculado a nc simplemente me lo brinco If realizadevolucion Then - 'si el subtotal es iwal a la nc lo guardo si no marco error - If TxtSubTotal2.Text.ToDouble > subtotaldevolucion - 1 AndAlso TxtSubTotal2.Text.ToDouble < subtotaldevolucion + 1 Then - + 'si el subtotal es igual a la nc lo guardo si no marco error + 'si tiene FNC574, se ajustará la diferencia a un concepto como RNC + Dim tTolerancia As Decimal = 1 + 'si tiene la funcionalidad ajustará en un producto la diferencia + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tTolerancia = Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) + If Math.Abs(TxtSubTotal2.Text.ToDecimal - subtotaldevolucion) <= tTolerancia Then VinculaDevolucion() - Else Alert("El Total de la NC debe ser igual al total de la devolucion", TipoMensaje.MsgAdvertencia) End If @@ -14053,15 +14056,17 @@ Partial Class Compras_Compras Dim IVAPorcentajeCompra As Decimal = Math.Round((IVACompra / SubTotalCompra), 2) Dim Contador As Integer = 0 Dim Consec As Integer = 0 - + Dim tAjusteUltimo As Boolean = True For Each gvr As GridViewRow In GVDevolucion.Rows If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then Contador += 1 End If Next - Dim CveSubProyectoContrato As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto") - Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoContrato.ToEntero).FiltroPrimeroValor("SubProyecto") + Dim Total As Decimal = 0 + Dim CveSubProyectoDev As String = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero).FiltroPrimeroValor("CveSubProyecto") + Dim SubProyecto As String = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoDev.ToEntero).FiltroPrimeroValor("SubProyecto") 'Iteramos el GridView de la OC + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then tAjusteUltimo = False For Each gvr As GridViewRow In GVDevolucion.Rows If gvr.FCTextBox("TxtCantidad").Text.ToDecimal > 0 Then @@ -14073,7 +14078,7 @@ Partial Class Compras_Compras Dim UM As String = gvr.DataKey("UM").ToString Dim CveClasificacion As Integer = gvr.DataKey("CveClasificacion").ToString.ToEntero Dim Clasificacion As String = gvr.DataKey("Clasificacion").ToString - Dim PS As String = gvr.DataKey("PS").ToString + Dim PS As String = gvr.DataKey("CodigoPS").ToString Dim CveTipoPS As Integer = gvr.DataKey("CveTipoPS").ToString.ToEntero Dim CveProyecto As String = "-1" @@ -14081,14 +14086,14 @@ Partial Class Compras_Compras Dim Proyecto As String = "Seleccione" Dim Obs As String = "" Dim PU As Decimal = gvr.DataKey("PU").ToString.ToDecimal - Dim Total As Decimal = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal - Dim IVA As Decimal = IVAPorcentajeCompra 'Math.Round(Total * IVAPorcentajeCompra, 2) + Total = gvr.FCTextBox("TxtTotalDevolucion").Text.ToDecimal + Dim IVA As Decimal = IVAPorcentajeCompra 'Math.Round(Total * IVAPorcentajeCompra, 2) Dim Descuento As Decimal = 0 Acumulado += (PU * Cantidad) Consec += 1 - If Consec = Contador Then 'SubTotalCompra < Acumulado Then + If Consec = Contador AndAlso tAjusteUltimo Then 'SubTotalCompra < Acumulado Then 'ajusta el valor Dim dif As Decimal = SubTotalCompra - Acumulado If dif <> 0 Then @@ -14096,10 +14101,26 @@ Partial Class Compras_Compras Total = Cantidad * PU End If End If - AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoContrato, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVA, 0, 0, 0, 0, Descuento, -1, False) + AddPS(Cantidad, CveUM, UM, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyectoDev, SubProyecto, Proyecto, CveProyecto, Obs, PU, Total, IVAPorcentajeCompra, 0, 0, 0, 0, Descuento, -1, False, CveAlmacen:=DdlAlmacenDevolucion.SelectedValue.ToEntero) End If Next + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then + Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero + If CvePS_RNC = 0 Then + Alert("producto utilizado para diferencia no definido.") + Exit Sub + End If + Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS_RNC).FiltroPrimero("") + Dim PS As String = PSRow("PSCodigo").ToString + Dim tDif As Decimal = TxtSubTotal2.Text.ToDecimal - Total + + AddPS(1, PSRow("CveUnidadMedida").ToString.ToEntero, PSRow("UnidadMedida").ToString, + PSRow("CveClasificacion").ToString.ToEntero, PSRow("Clasificacion").ToString, CvePS_RNC, PS, 1, CveSubProyectoDev.ToString, SubProyecto, "", "-1", "", tDif, tDif, IVAPorcentajeCompra, 0, 0, 0, 0, 0) + + End If + + AddPS2() BtnGuardar.Enabled = True @@ -14115,7 +14136,6 @@ Partial Class Compras_Compras ImgClasificacion.Visible = False LbAgregar.Visible = False - UpPSS.Update() 'CargaGvInv() @@ -14137,7 +14157,6 @@ Partial Class Compras_Compras End If GvOC1.DataBind() - ' TmpDT = OrdenarTablas("CvePS", DTOCTemp, TmpDT) GvOC2.DataSource = TmpDT GvOC2.DataBind() @@ -14491,19 +14510,13 @@ Partial Class Compras_Compras End If End If - If Not TmpDT.Columns.Contains("AplicaLote") Then - TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) - End If - If Not TmpDT.Columns.Contains("AplicaCaducidad") Then - TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) - End If - If Not TmpDT.Columns.Contains("Lote") Then - TmpDT.Columns.Add("Lote", GetType(String)) - End If - If Not TmpDT.Columns.Contains("FechaCaducidad") Then - TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) - End If + If Not TmpDT.Columns.Contains("AplicaLote") Then TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) + If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + + If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) + + If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) If ObjInventario.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then If ObjInventario.DtResultados.Rows.Count > 0 Then @@ -16721,7 +16734,6 @@ Partial Class Compras_Compras End If End If - UPCondicionesPago.Update() End Sub @@ -18169,7 +18181,7 @@ Partial Class Compras_Compras Case "A" 'ADD Dim SATClavePS As Integer = -1 - Dim PSRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") + Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimero("") If PSRow IsNot Nothing Then SATClavePS = PSRow("SATClavePS").ToString.ToEntero End If @@ -18258,13 +18270,11 @@ Partial Class Compras_Compras Optional PSCodigo As String = "-", Optional PSDescripcion As String = "-", Optional CantidadF As Double = -1, Optional EntregaDirecta As Integer = -1, Optional OtrosGastos As Decimal = 0, Optional CveSATPS As Integer = -1, Optional CargaXml As Boolean = False, Optional CveTipoGasto As Integer = -1, Optional TipoGasto As String = "", Optional PorcentajeIVA As Decimal = 0, Optional PorcentajeIEPS As Decimal = 0, Optional PorcentajeRetIVA As Decimal = 0, Optional PorcentajeRetISR As Decimal = 0, Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1, - Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "") As Integer + Optional CveSATPSActualizado As Boolean = False, Optional TemporadaCuadro As String = "", Optional CodigoPS As String = "", Optional CveAlmacen As Integer = -1) As Integer Dim Row As DataRow = Nothing - If Not TmpDT.Columns.Contains("CodigoPS") Then - TmpDT.Columns.Add("CodigoPS") - End If + If Not TmpDT.Columns.Contains("CodigoPS") Then TmpDT.Columns.Add("CodigoPS") Row = TmpDT.NewRow() Dim Retorno As Integer = 0 @@ -18425,8 +18435,13 @@ Partial Class Compras_Compras Row("CveContratoDetalle") = CveContratoDetalle + Row("AplicaSerie") = DrPS("AplicaSerie") + Row("AplicaLote") = DrPS("AplicaLote") + Row("AplicaCaducidad") = DrPS("AplicaCaducidad") + Row("CveCultivoCuadroDetalle") = CveCultivoCuadroDetalle Row("TemporadaCuadro") = TemporadaCuadro + If CveAlmacen > 0 Then Row("CveAlmacen") = CveAlmacen If UsuarioActual.Empresa.UsaAC Then Row("CveProgramaOperativo") = DdlACGeneral1.SelectedValue.ToEntero @@ -19430,7 +19445,7 @@ Partial Class Compras_Compras For Each Dr As DataRow In Dt.Rows Dim Total As Decimal = ObjInventario.DtResultados.FiltraParametros($"CveClasificacion = {Dr("CveClasificacion")}").SUM("Total").RoundSQL() ' * (If(EsCancelacion, -1, 1)) - If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, 95, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then + If Not ObjConta.AddPrePolizasDetalle(CvePrePolizaSalida, Not TipoMovtoAlmacen, Total, Total, 259, LblFolio.Text, Obs, 0, CveMovimientoAlmacen:=CveMovimientoSalida, CveClasificacion:=Dr("CveClasificacion").ToString.ToEntero, CveSubProyecto:=tCveSubProyecto, Contabilizable:=EsContabilizable) Then Respuesta = False End If Next @@ -20749,15 +20764,23 @@ Partial Class Compras_Compras End If End If - If DdlTipoCompra.SelectedValue = "15" Then 'Remisión de nota de crédito + If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then 'cuando es emp DIAZ - If DdlTipoComprobante.SelectedValue = "NC" Then - CargaGVRemisionNotaCredito() - HLAplicaNCFact.Visible = False + If DdlTipoCompra.SelectedValue = "15" Then 'Remisión de nota de crédito + + If DdlTipoComprobante.SelectedValue = "NC" Then + CargaGVRemisionNotaCredito() + HLAplicaNCFact.Visible = False + Else + Alert("Para elegir Remisión de Nota de Crédito el tipo de documento debe de ser Nota de Crédito.", TipoMensaje.MsgAdvertencia) + 'DdlRemisionNotaCredito.SelectedValueExist(-1) + DdlTipoCompra.SelectedValueExist(-1) + End If Else - Alert("Para elegir Remisión de Nota de Crédito el tipo de documento debe de ser Nota de Crédito.", TipoMensaje.MsgAdvertencia) - 'DdlRemisionNotaCredito.SelectedValueExist(-1) - DdlTipoCompra.SelectedValueExist(-1) + 'SE ACTIVA DE NUEVO PARA LA SELECCIÓN + HLAplicaNCFact.Visible = True + InicializaAplicaNCFact() + If CveFactura > 0 Then NCSeleccionFacturasRelacionadas(UUIDSList) End If End If @@ -22038,12 +22061,12 @@ Partial Class Compras_Compras Dim respuesta As Boolean = True Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal - Dim CvePS_RNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero - Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePS_RNC).FiltroPrimero("") + Dim CvePSRNC As Integer = UsuarioActual.Empresa.Funcionalidad(580).ToEntero + Dim PSRow As DataRow = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CvePS:=CvePSRNC).FiltroPrimero("") Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal() Dim SubProyecto As String = "" - If Not CvePS_RNC > 0 Then + If Not CvePSRNC > 0 Then Alert("No esta definido el producto de Remisión de Nota de Crédito.", TipoMensaje.MsgAdvertencia) Return False End If @@ -22056,7 +22079,6 @@ Partial Class Compras_Compras SubProyecto = GlobalDTSubProyectos(UsuarioActual.CveEmpresa, CveSubProyecto:=CveSubProyectoPrincipal).FiltroPrimeroValor("SubProyecto") If PSRow IsNot Nothing Then - Dim CompraRNC As New ClsCompraManagerCompras(UsuarioActual) With { .TipoDocto = "RNC", .CveProveedor = CveProveedor, @@ -22090,7 +22112,7 @@ Partial Class Compras_Compras Dim IVARNC As Decimal = (Importe * PorcentajeIVA).RoundSQL(2) Dim TotalRNC As Decimal = If(RedondearSaldado, (Importe + IVARNC).RoundSQL(2), (Importe + IVARNC)) - CompraRNC.ConfiguraRegistroRapido(CvePS_RNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal) + CompraRNC.ConfiguraRegistroRapido(CvePSRNC, CveUM, UM, CveClasificacion, Clasificacion, PS, CveSubProyectoPrincipal, SubProyecto, ImporteRNC, IVARNC, TotalRNC, PorcentajeIVA, TipoCambio:=TipoCambioOriginal) If CompraRNC.AddCompra(sqltransaccion) Then Dim tImporteRNC = TotalRNC ' le agrego el importe del iva Dim Pago As New CompraPago @@ -22619,7 +22641,7 @@ Partial Class Compras_Compras nRow("SubTotal") = subtotalParcial.RoundSQL(4) nRow("Total") = totalParcialDeseado.RoundSQL(4) - nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(4) + nRow("PorcentajeIVA") = (ivaParcial / subtotalParcial).RoundSQL(2) nRow("Porcentaje") = ((totalParcialDeseado.RoundSQL(4) * 100) / TotalOriginal).RoundSQL(2) nRow("RetIVAPorcentaje") = (retIvaParcial / subtotalParcial).RoundSQL(4) @@ -22850,7 +22872,7 @@ Public Class ClsCompraManagerCompras Public Property CveMetodoPago As Integer Public Property MetodoPago As String - Public Property DocumentosRelacionadosUUIDSList As List(Of String) = New List(Of String) + Public Property DocumentosRelacionadosUUIDSList As HashSet(Of String) = New HashSet(Of String) Public ReadOnly Property DocumentosRelacionadosUUIDSString As String Get Return GeneraStringDoctosRelacionados() @@ -23069,7 +23091,7 @@ Public Class ClsCompraManagerCompras If TipoComprobante.ToUpper = "E" AndAlso (CFDIVersion = EnumCFDIVersion.v33 OrElse CFDIVersion = EnumCFDIVersion.v40) Then Dim UUIDS As String = "" - Dim UUIDSLista As New List(Of String) + Dim UUIDSLista As New HashSet(Of String) Dim nodeCFDIRelacionados As XmlNode nodeCFDIRelacionados = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces) @@ -23222,6 +23244,8 @@ Public Class ClsCompraManagerCompras If Not TmpDT.Columns.Contains("AplicaCaducidad") Then TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + If Not TmpDT.Columns.Contains("AplicaSerie") Then TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) + If Not TmpDT.Columns.Contains("Lote") Then TmpDT.Columns.Add("Lote", GetType(String)) If Not TmpDT.Columns.Contains("FechaCaducidad") Then TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) @@ -23454,7 +23478,6 @@ Public Class ClsCompraManagerCompras TmpDT.Columns.Add("SATClaveUnidadMedida", GetType(String)) TmpDT.Columns.Add("CveSATPSActualizado", GetType(Integer)) - 'Tipo de Gasto TmpDT.Columns.Add("CveTipoGasto", GetType(Integer)) TmpDT.Columns.Add("TipoGasto", GetType(String)) @@ -23462,26 +23485,23 @@ Public Class ClsCompraManagerCompras TmpDT.Columns.Add("ImporteSinImpuestos", GetType(Double)) TmpDT.Columns.Add("ImporteConImpuestos", GetType(Double)) TmpDT.Columns.Add("NoDeducible", GetType(Boolean)) - TmpDT.Columns.Add("DifPSSat", GetType(Integer)) - TmpDT.Columns.Add("CveContratoDetalle", GetType(Integer)) TmpDT.Columns.Add("CveCultivoCuadroDetalle", GetType(Integer)) TmpDT.Columns.Add("TemporadaCuadro", GetType(String)) TmpDT.Columns.Add("NoIdentificacion", GetType(String)) - + TmpDT.Columns.Add("AplicaSerie", GetType(Boolean)) TmpDT.Columns.Add("AplicaLote", GetType(Boolean)) TmpDT.Columns.Add("AplicaCaducidad", GetType(Boolean)) + TmpDT.Columns.Add("Serie", GetType(String)) TmpDT.Columns.Add("Lote", GetType(String)) TmpDT.Columns.Add("FechaCaducidad", GetType(Date)) - TmpDT.AcceptChanges() - End Sub Private Function AjustesValidacion() As Boolean Dim respuesta As Boolean = True