diff --git a/App_Code/ClsCompras.vb b/App_Code/ClsCompras.vb index 6341d821e..70baf2423 100644 --- a/App_Code/ClsCompras.vb +++ b/App_Code/ClsCompras.vb @@ -173,12 +173,13 @@ Public Class ClsCompras Return Retorno End Function - Public Function GetCompraDetalle(CveCompra As Integer) As Boolean + Public Function GetCompraDetalle(CveCompra As Integer, CveEmpresa As Integer) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Comp_CompraDetalleGet") With SqlAdapter.SelectCommand.Parameters .Add("@CveCompra", SqlDbType.Int).Value = CveCompra + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa End With Try diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index dcb19cede..6f698f90a 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1462,9 +1462,7 @@ Partial Class Compras_Compras BtnGuardar.Enabled = False 'TdIVA.Visible = True 'DdlIVA.Enabled = False - CargaGvBitacora() - InventarioMov() - HabilitaNCInv() + DivConsignaciones.Visible = False ' 2018/05/25 - Muestra Boton Agregar Guia @@ -1639,7 +1637,7 @@ Partial Class Compras_Compras NCSeleccionFacturasRelacionadas(UUIDSList) End If - If CveFactura > 0 AndAlso Serie Isnot nothing AndAlso Serie.ToUpper = "NL" AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then + If CveFactura > 0 AndAlso Serie IsNot Nothing AndAlso Serie.ToUpper = "NL" AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" Then EsDevolucionApoyoLogistico = True DdlTipoComprobante.Items.Clear() DdlTipoComprobante.Items.Add(New ListItem("Devolución", "DEV")) @@ -2830,11 +2828,10 @@ Partial Class Compras_Compras 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%")))) End If - TxtRembolsoNumero.Enabled = If(IdPoliza > 0, False, True) 'CargaDetalle - If ObjCompra.GetCompraDetalle(CveCompra) Then + If ObjCompra.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then TmpDT = ObjCompra.DtResultados TmpDTOriginal = ObjCompra.DtResultados.Copy @@ -2902,61 +2899,61 @@ Partial Class Compras_Compras CalculaTotales(True) - If UsuarioActual.Empresa.UsaInventarios Then - DtInv = TmpDT.FiltraParametros(String.Format("CveTipoPS = 2")).Copy + 'If UsuarioActual.Empresa.UsaInventarios Then + ' DtInv = TmpDT.FiltraParametros(String.Format("CveTipoPS = 2")).Copy - If dr("Inventario").ToString = "1" Then + ' If dr("Inventario").ToString = "1" Then - CveMovimientoAlmacen = dr("CveMovimiento").ToString.ToEntero + ' 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) + ' 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")) + ' 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 + ' 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 + ' 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") + ' dri("CveAlmacen") = drt("CveAlmacen") - End If + ' End If - Next + ' Next - End If + ' 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 + ' ''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() + ' Inv.Dispose() - End If + ' End If - CargaGvInv() + ' CargaGvInv() - 'Ocultamos "Recibir Aqui" - GvInv.Columns(6).Visible = False - GvInv.Columns(7).Visible = False + ' 'Ocultamos "Recibir Aqui" + ' GvInv.Columns(6).Visible = False + ' GvInv.Columns(7).Visible = False - End If + 'End If End If DdlTipoComprobante.Enabled = False @@ -3204,6 +3201,9 @@ Partial Class Compras_Compras End If End If CargaComplementosPago() + CargaGvBitacora() + InventarioMov() + HabilitaNCInv() Else Alert("La compra solicitada no se encontró. Por favor rectifique y vuelva a intentar.", TipoMensaje.MsgAdvertencia) @@ -4194,23 +4194,18 @@ Partial Class Compras_Compras Protected Sub BtnGuardar_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles BtnGuardar.Click - - '------------------ INICIA VALIDACIONES ------------------ - If Not ValidaVincuacionNotaFactura() Then + If Not ValidaVinculacionNotaFactura() Then Alert("Se requiere que la nota este aplciada a las facturas", TipoMensaje.MsgAdvertencia) Exit Sub End If - - If Not ValidaSeleccionAnticipo() Then Alert("El proveedor tiene anticipos sin aplicar, favor de especiar uno.", TipoMensaje.MsgAdvertencia) Exit Sub End If - Dim TotalRealDevolucion As Decimal = 0 Dim EstatusCredito As Integer = 0 @@ -5567,11 +5562,8 @@ Partial Class Compras_Compras Dim indice = 0 Dim ImporteConcepto As Decimal = 0 - - If DdlTipoComprobante.SelectedValue = "Fac" Then - For Each tCveAlmacen As Integer In ListAlmacenes If GvInv.Rows(indice).FCDropDownList("DdlRecibirInv").SelectedValue = "1" Then Continue For @@ -5643,17 +5635,17 @@ Partial Class Compras_Compras ImporteConcepto = If(DdlMoneda.SelectedValue.ToEntero = 1, PUInv, PUInv * TipoCambioGuardar) - If(DdlMoneda.SelectedValue.ToEntero = 1, tDescuento, tDescuento * TipoCambioGuardar) 'si no es por serie lote ImporteConcepto = If(UsuarioActual.Empresa.UsaAC, ImporteConcepto * IVA, ImporteConcepto) - If Dr("CveAlmacen").ToString.ToEntero = tCveAlmacen Then - If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, CantidadInv, CveUnidad, Dr("CvePS").ToString.ToEntero, ImporteConcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, Dr("PU").ToString.ToDecimal), CostoIndirecto:=CostoIndirecto, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then - ErrorMovInv = True - Exit For - End If + If Dr("CveAlmacen").ToString.ToEntero = tCveAlmacen Then + If Not ObjInventario.AddMovimientoDetalle(CveMovimientoInventario, CantidadInv, CveUnidad, Dr("CvePS").ToString.ToEntero, ImporteConcepto, -1, PUTC:=If(DdlMoneda.SelectedValue.ToEntero = 1, -1, Dr("PU").ToString.ToDecimal), CostoIndirecto:=CostoIndirecto, CveCompraDetalle:=Dr("CveCompraDetalle").ToString.ToEntero, CveOrdenCompraDetalle:=Dr("CveOrdenCompraDetalle").ToString.ToEntero) Then + ErrorMovInv = True + Exit For End If - End If + End If - i = i + 1 + + i = i + 1 contadorAlamcen = contadorAlamcen + 1 Next End If @@ -6099,16 +6091,10 @@ Partial Class Compras_Compras ErrorPrepoliza = True End If - - If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, importeMN, 41, Referencia, Concepto, CtaProveedorAcreedores, CveCompra:=CveCompra, CveProveedor:=CveProveedorConcepto, CveIE:=CveIE, CveCreditoDetalle:=CveCreditoDetalle, CveClasificacion:=CveClasificacionDT, CveSubProyecto:=CveSubProyectoDT, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), CveTipoGasto:=CveTipoGastoDT, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then ErrorPrepoliza = True End If - - - - If importeMovimiento <> 0 Then Dim Pago As New CompraPago Pago.ImportePago = importeMovimiento @@ -7113,75 +7099,6 @@ Partial Class Compras_Compras AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) End If Next - - 'If RBLTipoDeudor.SelectedValue.ToEntero = 1 Then - ' For Each rw As GridViewRow In GvDeudores.Rows - ' If rw.FCCheckBox("Chk").Checked Then - - ' importeMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ' OtrosGastosIngresos = rw.FCTextBox("TxtDeudoresOtrosGastosIngresos").Text.ToDecimal - - ' importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL - ' Dim OtrosGastosIngresosMN As Decimal = (OtrosGastosIngresos * tipoCambioActual * Multiplicador).RoundSQL - ' IdCtaContable = CtaProveedorDeudores - ' Dim tCveProveedor As Integer = rw.DataKey("CveProveedor").ToEntero - - ' 'Conta ContPAQ - ' If IdCtaContable = 0 Then - ' CuentasContablesInvalidas.Append("
" & GlobalDTContaConceptosContables(-1).FiltroPrimero(String.Format("CveConceptoContable = {0}", ConceptoContable))("ConceptoContable").ToString) - ' idCuentaContabilizacion = 0 - ' End If - - - ' If OtrosGastosIngresos = 0 Then - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then - ' ErrorPrepoliza = True : Exit For - ' End If - ' Else - - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, (importeMovimiento + OtrosGastosIngresos), Referencia, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then - ' ErrorPrepoliza = True : Exit For - ' End If - ' End If - - - - ' Dim Pago As New CompraPago With {.ImportePago = importeMovimiento, .CveIE = CveIE, .CveMonedaPago = rw.DataKey("CveMoneda").ToEntero} - ' AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) - ' End If - ' Next - 'Else - ' For Each rw As GridViewRow In GvDeudores.Rows - ' If rw.FCCheckBox("Chk").Checked Then - ' importeMovimiento = rw.FCTextBox("TxtSaldoDeudor").Text.ToDecimal - ' OtrosGastosIngresos = rw.FCTextBox("TxtDeudoresOtrosGastosIngresos").Text.ToDecimal - - ' importeMN = (importeMovimiento * tipoCambioActual * Multiplicador).RoundSQL - ' Dim OtrosGastosIngresosMN As Decimal = (OtrosGastosIngresos * tipoCambioActual * Multiplicador).RoundSQL - - ' IdCtaContable = CtaProveedorDeudores - ' Dim tCveProveedor As Integer = rw.DataKey("CveProveedor").ToEntero - - ' If OtrosGastosIngresos = 0 Then - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 254, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then - ' ErrorPrepoliza = True - ' Exit For - ' End If - ' Else - ' adasdasdasd - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, (importeMovimiento + OtrosGastosIngresos), Referencia, 254, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=tCveProveedor, CveIE:=rw.DataKey("CveIE").ToString.ToEntero, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(tipoCambioActual = 1, 0, importeMovimiento), Contabilizable:=SeContabiliza) Then - ' ErrorPrepoliza = True - ' Exit For - ' End If - ' End If - - - ' Dim Pago As New CompraPago With {.ImportePago = importeMovimiento, .CveIE = CveIE, .CveMonedaPago = rw.DataKey("CveMoneda").ToEntero} - ' AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) - ' End If - ' Next - 'End If - importeMovimiento = 0 OtrosGastosIngresos = 0 @@ -7254,60 +7171,6 @@ Partial Class Compras_Compras ErrorMovtosCxP = AplicaPrePolizaPagoCompra(CompraActual, Pago, CvePrePoliza, ObjConta) - ''CveCon = 272 - '''PAGO A FACTURA POR NC - 'If TipoCambioFactura > 1 Then CveCon = 304 - 'If ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimientoNC, Referencia, CveCon, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, Contabilizable:=SeContabiliza, CveCompraAmortizacion:=CveCompra) Then - - ' Dim CveConceptoContableComplementaria As Integer = 206 - ' If Gvr.DataKey("CveTipoConcepto").ToEntero = 2 Then CveConceptoContableComplementaria = 310 'cuando es acreedor - - ' IdCtaContable = CtaProveedorComplementaria - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMNNC - importeMovimientoNC, Referencia, CveConceptoContableComplementaria, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMNNC - importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=TipoCambioFactura, Contabilizable:=SeContabiliza, CveCompraAmortizacion:=CveCompra) Then - ' ErrorPrepoliza = True - ' Exit For - ' End If - 'Else - ' ErrorPrepoliza = True - ' Exit For - 'End If - - 'importeMNNC = importeMovimientoNC * tipoCambioActual * Multiplicador - 'IdCtaContable = CtaProveedorExtranjera - 'If ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimientoNC, Referencia, 60, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveCompraAmortizacion:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then - ' IdCtaContable = CtaProveedorComplementaria - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMNNC - importeMovimientoNC, Referencia, 235, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveCompraAmortizacion:=Gvr.DataKey("CveCompra").ToEntero, CveProveedor:=CveProveedorConcepto, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=importeMNNC - importeMovimientoNC, ImporteME:=importeMovimientoNC, TipoCambio:=tipoCambioActual, Contabilizable:=SeContabiliza) Then - ' ErrorPrepoliza = True - ' Exit For - ' End If - 'Else - ' ErrorPrepoliza = True - ' Exit For - ' Exit For - 'End If - - '' FLUCTUACION CAMBIARIA - 'If tipoCambioActual <> TipoCambioFactura AndAlso Not ChkNCInvNC.Checked Then ' que no se esté afectando mercancía en tránsto - ' importeMovimiento = (importeMovimientoNC * TipoCambioFactura) - (importeMovimientoNC * tipoCambioActual) - - ' If importeMovimiento > 0 Then - ' ConceptoContable = 64 : TipoMovimiento = True - ' IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria - ' ElseIf importeMovimiento < 0 Then - ' ConceptoContable = 65 : TipoMovimiento = False - ' IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria - ' End If - - ' importeMovimiento = importeMovimiento.Abs.RoundSQL() - ' importeMN = importeMovimiento - ' If importeMovimiento <> 0 Then - - ' If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, importeMovimiento, Concepto, ConceptoContable, Concepto, FechaMovimiento, IdCtaContable, -1, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CveIE:=CveIE, ImporteMX:=importeMN, CvePrePolizaOriginal:=CvePrePoliza, ImporteME:=0, Contabilizable:=SeContabiliza, CveSubProyecto:=CveSubProyecto) Then - ' ErrorPrepoliza = True - ' Exit For - ' End If - ' End If - 'End If End If Next @@ -8334,11 +8197,9 @@ Partial Class Compras_Compras End If End Sub - Private Function ValidaVincuacionNotaFactura() As Boolean + Private Function ValidaVinculacionNotaFactura() As Boolean Dim Respuesta As Boolean = False - - If DdlTipoComprobante.SelectedValue.Contiene("NC") Then If UsuarioActual.Empresa.Funcionalidad(531).ToString.ToEntero = 1 Then @@ -8350,15 +8211,12 @@ Partial Class Compras_Compras End If End If Next - Else Respuesta = True End If Else Respuesta = True End If - - Return Respuesta End Function @@ -10134,19 +9992,14 @@ Partial Class Compras_Compras nodeCFDIRelacionados = XMLDoc.SelectSingleNode(String.Format("//{0}:CfdiRelacionados", Prefijo), namespaces) If nodeCFDIRelacionados IsNot Nothing Then - For Each CFDIRelacionados As XmlNode In nodeCFDIRelacionados UUIDSLista.Add("" & CFDIRelacionados.Attributes("UUID").Value.ToString & "") Next - End If - UUIDSList = UUIDSLista End If - - Dim node As XmlNode node = XMLDoc.SelectSingleNode(String.Format("//{0}:Emisor", Prefijo), namespaces) @@ -10176,7 +10029,6 @@ Partial Class Compras_Compras End If End If - node = XMLDoc.SelectSingleNode(String.Format("//{0}:Impuestos", Prefijo), namespaces) If node IsNot Nothing AndAlso node.ChildNodes.Count > 0 Then Dim nodeRetenciones As XmlNodeList = XMLDoc.SelectNodes(String.Format("//{0}:Comprobante/{0}:Impuestos/{0}:Retenciones/{0}:Retencion", Prefijo), namespaces) @@ -10187,9 +10039,7 @@ Partial Class Compras_Compras For Each retencion As XmlNode In nodeRetenciones If retencion.Attributes("Impuesto").Value = "002" Then RetencionIVA += retencion.Attributes("Importe").Value.ToDecimal - If retencion.Attributes("Impuesto").Value = "001" Then RetencionISR += retencion.Attributes("Importe").Value.ToDecimal - Next GvOC1.Columns(6).Visible = True GvOC2.Columns(4).Visible = True @@ -10197,9 +10047,7 @@ Partial Class Compras_Compras For Each retencion As XmlNode In nodeRetenciones If retencion.Attributes("impuesto").Value = "IVA" Then RetencionIVA += retencion.Attributes("importe").Value.ToDecimal - If retencion.Attributes("impuesto").Value = "ISR" Then RetencionISR += retencion.Attributes("importe").Value.ToDecimal - Next End If SumaTotalRetenciones += RetencionIVA @@ -10216,23 +10064,15 @@ Partial Class Compras_Compras If traslado.Attributes("Impuesto").Value = "002" Then TrasladoIVA += traslado.Attributes("Importe").Value.ToDecimal If traslado.Attributes("Impuesto").Value = "003" Then TrasladoIEPS += traslado.Attributes("Importe").Value.ToDecimal End If - - - Next - Else For Each traslado As XmlNode In nodeTraslados - - If traslado.Attributes("Importe") IsNot Nothing Then If traslado.Attributes("impuesto").Value = "IVA" Then TrasladoIVA += traslado.Attributes("importe").Value.ToDecimal If traslado.Attributes("impuesto").Value = "IEPS" Then TrasladoIEPS += traslado.Attributes("importe").Value.ToDecimal End If - - Next End If @@ -10258,9 +10098,7 @@ Partial Class Compras_Compras OtrosImpuestos = ValorXML(node, "TotaldeTraslados", "0").ToDecimal '2022.06.04-- se quitan los datos de retenciones de impuestos locales, generan conflicto. RMF 'OtrosImpuestosRetenciones = ValorXML(node, "TotaldeRetenciones", "0").ToDecimal - End If - End If End Sub @@ -10301,12 +10139,14 @@ Partial Class Compras_Compras 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) + 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(Not e.Row.DBCampo("TCCompra").ToDouble > 1, GlobalTipoCambio(e.Row.DBCampo("Fecha").ToDate), e.Row.DBCampo("TCCompra").ToDouble), + tTCFecha, DdlMoneda.SelectedValue.ToEntero, e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO @@ -10315,7 +10155,7 @@ Partial Class Compras_Compras 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), + tTCFecha, DdlMoneda.SelectedValue.ToEntero, e.Row.FCTextBox("TxtAnticipo").ClientID)) Else @@ -10323,7 +10163,7 @@ Partial Class Compras_Compras e.Row.FCCheckBox("Chk").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), + tTCFecha, DdlMoneda.SelectedValue.ToEntero, e.Row.FCTextBox("TxtComision").ClientID)) 'SI ES UNA COMPRA NUEVA SE PONE EL TOTAL, SI NO EL SALDO @@ -10332,7 +10172,7 @@ Partial Class Compras_Compras 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), + tTCFecha, DdlMoneda.SelectedValue.ToEntero, e.Row.FCTextBox("TxtAnticipo").ClientID)) End If @@ -14255,7 +14095,7 @@ Partial Class Compras_Compras Dim TipoCambioGuardar As Decimal = 1 Dim tcvealmacen As Integer = 0 - If ObjCompra.GetCompraDetalle(CveCompra) Then + If ObjCompra.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then If ObjCompra.DtResultados.Rows.Count > 0 Then TmpDT = ObjCompra.DtResultados End If @@ -16148,7 +15988,7 @@ Partial Class Compras_Compras Return False Else - If ObjCompras.GetCompraDetalle(CveCompra) Then + If ObjCompras.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then If ObjInv.GetMovimientosDetalle(-1, UsuarioActual.CveEmpresa, CveCompra) Then Dtcompra = ObjInv.DtResultados Dim TotalProductos = Dtcompra.SUM("Total").ToString.ToDecimal @@ -16192,7 +16032,6 @@ Partial Class Compras_Compras Protected Sub DdlTipoComprobante_SelectedIndexChanged(sender As Object, e As EventArgs) - If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV", "Ant") Then If DdlTipoComprobante.SelectedValue = "NC" Then @@ -16214,22 +16053,12 @@ Partial Class Compras_Compras DivReembolso.Visible = False RBLPago.Items(2).Enabled = False UpPS.Update() + If CveFactura > 0 Then NCSeleccionFacturasRelacionadas(UUIDSList) End If - - - End If - If CveFactura > 0 Then - If DdlTipoComprobante.SelectedValue = "NC" Then - NCSeleccionFacturasRelacionadas(UUIDSList) - End If - End If - - - UPCondicionesPago.Update() End Sub @@ -16984,12 +16813,14 @@ Partial Class Compras_Compras #Region "Historial de Modificacion" Private Sub CargaGvBitacora() ' COMENTADO POR IPP PARA SUBIR 5 ABRIL 2017 - Dim ObjGral As New ClsGenerales() - If ObjGral.GetHistorialBitacora(-1, -1, -1, -1, -1, CveCompra, -1, UsuarioActual.CveEmpresa) Then - GvBitacora.DataSource = ObjGral.DtResultados - GvBitacora.DataBind() + If CveCompra > 0 Then + Dim ObjGral As New ClsGenerales() + If ObjGral.GetHistorialBitacora(-1, -1, -1, -1, -1, CveCompra, -1, UsuarioActual.CveEmpresa) Then + GvBitacora.DataSource = ObjGral.DtResultados + End If + ObjGral.Dispose() End If - ObjGral.Dispose() + GvBitacora.DataBind() End Sub #End Region @@ -19988,7 +19819,6 @@ Partial Class Compras_Compras End If Next - End If End If @@ -20637,15 +20467,15 @@ Partial Class Compras_Compras End Function - Private Sub NCSeleccionFacturasRelacionadas(UUIDSListRelacioandos As List(Of String)) + Private Sub NCSeleccionFacturasRelacionadas(UUIDSListRelacionados As List(Of String)) - If UUIDSListRelacioandos.Count > 0 Then + If UUIDSListRelacionados.Count > 0 Then Dim SaldoNota As Decimal = TxtTotal.Text.ToDecimal Dim SaldoNotaPorAplicar As Decimal = SaldoNota Dim CountAplicacion As Integer = 0 Dim sbNoencontrados As New StringBuilder - For Each UUID As String In UUIDSListRelacioandos + For Each UUID As String In UUIDSListRelacionados UUID = UUID.ToUpper Dim UUIDEncontrado As Boolean = False @@ -20661,7 +20491,7 @@ Partial Class Compras_Compras Dim TeminarAmortizacion As Boolean = False - For Each UUID As String In UUIDSListRelacioandos + For Each UUID As String In UUIDSListRelacionados For Each GvRow As GridViewRow In GvFacturaNC.Rows @@ -20711,7 +20541,7 @@ Partial Class Compras_Compras MsgSalida = $"Folios Fiscales no encontradas o sin saldo: {sbNoencontrados }

" End If - MsgSalida = $"{MsgSalida} Se seleccionó $ {(SaldoNota - SaldoNotaPorAplicar).FormatoNumero} de $ {SaldoNota.FormatoNumero} a {CountAplicacion} factura {If(CountAplicacion > 0, "s", "")}." + MsgSalida = $"{MsgSalida} Se seleccionó $ {(SaldoNota - SaldoNotaPorAplicar).FormatoNumero} de $ {SaldoNota.FormatoNumero} a {CountAplicacion} factura{If(CountAplicacion > 1, "s", "")}." Alert(MsgSalida, TipoMensaje) diff --git a/Compras/Proveedores.aspx.vb b/Compras/Proveedores.aspx.vb index 88340dacc..55f0f7705 100644 --- a/Compras/Proveedores.aspx.vb +++ b/Compras/Proveedores.aspx.vb @@ -5633,7 +5633,7 @@ Partial Class Compras_Proveedores TxtSerieFolio.Text = ObjCompras.DtResultados.Rows(0)("SerieFolio").ToString() End If End If - If ObjCompras.GetCompraDetalle(CveCompra) Then + If ObjCompras.GetCompraDetalle(CveCompra, UsuarioActual.CveEmpresa) Then Dim StrPS As New StringBuilder() For Each Row As DataRow In ObjCompras.DtResultados.Rows If ObjCompras.DtResultados.Rows.Count > 1 Then diff --git a/Inventarios/RecepcionUsados.aspx.vb b/Inventarios/RecepcionUsados.aspx.vb index 02167a020..40bf87dc4 100644 --- a/Inventarios/RecepcionUsados.aspx.vb +++ b/Inventarios/RecepcionUsados.aspx.vb @@ -3133,13 +3133,15 @@ Partial Class Inventarios_RecepcionUsados Private Sub CargaFolioAjuste() DdlFolioGarantia.Items.Clear() + Dim CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue}").ToEntero() Dim ObjAcum As New ClsAcumuladores - If ObjAcum.FoliosGarantiaGet(-1, UsuarioActual.CveEmpresa, Estatus:=1, Area:=2) Then + If ObjAcum.FoliosGarantiaGet(-1, UsuarioActual.CveEmpresa, Estatus:=1, CveSubProyecto:=CveSubProyecto, Area:=2) Then DdlFolioGarantia.DataSource = ObjAcum.DtResultados - DdlFolioGarantia.Items.Insert(0, New ListItem("Seleccione", "-1")) End If ObjAcum.Dispose() DdlFolioGarantia.DataBind() + DdlFolioGarantia.Items.Insert(0, New ListItem("Seleccione", "-1")) + End Sub Protected Sub DdlFolioGarantia_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlFolioGarantia.SelectedIndexChanged diff --git a/Ventas/PV.aspx.vb b/Ventas/PV.aspx.vb index 818a55fb5..dece79162 100644 --- a/Ventas/PV.aspx.vb +++ b/Ventas/PV.aspx.vb @@ -7038,14 +7038,7 @@ Partial Class PV End Sub Private Sub CargaAjuste() - Dim ObjAcum As New ClsAcumuladores - If ObjAcum.FoliosGarantiaGet(-1, UsuarioActual.CveEmpresa, Estatus:=1, Area:=1) Then - DdlFolioGarantia.DataSource = ObjAcum.DtResultados.Copy().FiltraParametros($"CveSubProyecto={DdlSubProyectoDatos.SelectedValue}") - End If - ObjAcum.Dispose() - DdlFolioGarantia.DataBind() - DdlFolioGarantia.Items.Insert(0, New ListItem("Seleccione", "-1")) - + CargaFoliosGarantia() DdlFacturas.Items.Insert(0, New ListItem("Sin Factura", "-1")) diff --git a/Ventas/ProductosServicios.aspx.vb b/Ventas/ProductosServicios.aspx.vb index 906b22afb..95cffc511 100644 --- a/Ventas/ProductosServicios.aspx.vb +++ b/Ventas/ProductosServicios.aspx.vb @@ -3083,7 +3083,7 @@ Partial Class ProductosyServicios End If If Agregar Then - If Not ObjPS.AddPS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, txtcodigo2.text.trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, + If Not ObjPS.AddPS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, TxtCodigo2.Text.Trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, (TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, DdlProveedor.txtValue.Value.ToEntero, True, ChkAplicaParaVenta.Checked, UsuarioActual.CveUsuario, CveEmpresaFranquicia, CveMetodoInv, EsPaquete, CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, FuePorXML:=False, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarcaFranquicia, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim, AplicaIEPS:=ChkAplicaIeps.Checked, IEPSPorcentaje:=DdlIEPSPorcentaje.SelectedValue.ToDecimal, @@ -3092,6 +3092,7 @@ Partial Class ProductosyServicios PrecioMinimo:=TxtPrecioMinimo.Text.ToDecimal, CveTipoFactor:=DdlTipoFactor.SelectedValue.ToEntero, CveFraccionArancelaria:=DdlFraccionArancelaria.SelectedValue.ToEntero, CveClasificacionDetalle:=CveTipo, CveTamaño:=DdlTamanio.SelectedValue.ToEntero, CveModelo:=CveModelo, CveMedida:=CveMedida, CveRinTamaño:=CveRin, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, + CveObjetoImpuesto:=DdlObjetoImpuesto.SelectedValue.ToEntero, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, TiempoCaducidad:=TxtTiempoCaducidad.Text.ToEntero()) > 0 Then 'Alert(String.Format("Error al agregar el nuevo producto en la franquicia: '{0}'", GlobalDTEmpresas(Franquicia).FiltroPrimeroValor("Empresa"))) @@ -3102,7 +3103,7 @@ Partial Class ProductosyServicios If ObjPS.GetPS(-1, -1, CveEmpresaFranquicia, Codigo:=TxtCodigo.Text.Trim.ToUpper) Then Dim CvePS As Integer = ObjPS.DtResultados.FiltroPrimeroValor("CvePS", String.Format(" Codigo = '{0}'", TxtCodigo.Text.Trim.ToUpper)).ToEntero() - If Not ObjPS.UpdatePS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, txtcodigo2.text.trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, + If Not ObjPS.UpdatePS(CveClasificacion, -1, CveUnidadMedida, TxtCodigo.Text.Trim, TxtCodigo2.Text.Trim, TxtCodigoBarras.Text.Trim, PSS, TxtPrecio.Text.Trim.ToDouble, DdlIVA.SelectedValue.ToDouble, (TxtRetIVA.Text.Trim.ToDouble / 100), ChkInventariable.Checked, -1, True, ChkAplicaParaVenta.Checked, ChkEstado.Checked, UsuarioActual.CveUsuario, CvePS, CveMetodoInv, EsPaquete, DdlSATPS.SelectedValue.ToEntero, CveTipoPS:=DdlTipoPS.SelectedValue.ToEntero, TipoServicio:=-1, CveClasificacion2:=CveClasificacion2, CveMarca:=CveMarcaFranquicia, AlmacenSeccion:=TxtAlmacenSeccion.Text.Trim, AplicaIEPS:=ChkAplicaIeps.Checked, IEPSPorcentaje:=DdlIEPSPorcentaje.SelectedValue.ToDecimal, @@ -3111,6 +3112,7 @@ Partial Class ProductosyServicios CveTipoFactor:=DdlTipoFactor.SelectedValue.ToEntero, CveFraccionArancelaria:=DdlFraccionArancelaria.SelectedValue.ToEntero, CveUsuarioModifico:=UsuarioActual.CveUsuario, CveClasificacionDetalle:=CveTipo, CveTamaño:=DdlTamanio.SelectedValue.ToEntero, CveModelo:=CveModelo, CveMedida:=CveMedida, CveRinTamaño:=CveRin, ClaveImpuestoEmpaque:=DdlImpEmpaque.SelectedValue.ToString, + CveObjetoImpuesto:=DdlObjetoImpuesto.SelectedValue.ToEntero, ClaveImpuestoUM:=DdlImpUM.SelectedValue.ToString, ClaveCategoriaToxicidad:=DdlCategoriaToxicidad.SelectedValue.ToString, ClaveImpuestoTipoProducto:=DdlImpTipoProducto.SelectedValue.ToString, EsOutSourcing:=ChkEsOutSourcing.Checked, AplicaSerie:=ChkSerie.Checked, AplicaLote:=ChkLote.Checked, AplicaCaducidad:=ChkCaducidad.Checked, AplicaSeccion:=ChkSeccion.Checked, TiempoCaducidad:=TxtTiempoCaducidad.Text.ToEntero()) Then diff --git a/Ventas/Ventas.aspx.vb b/Ventas/Ventas.aspx.vb index 5d8e1464a..8bf4bc962 100644 --- a/Ventas/Ventas.aspx.vb +++ b/Ventas/Ventas.aspx.vb @@ -6063,10 +6063,10 @@ Partial Class Ventas End Sub Private Sub CargaFormaPago(CveMetodoPago As Integer) 'EN LA VERSION 4.0 NO PERMITE DESBLOEQUEAR RELACION METODO Y FOMA DE PAGO - If UsuarioActual.Empresa.Funcionalidad(350) <> "1" Then - 'permiso para desbloquear la relación entre Método de pago y forma de pago - If UsuarioActual.TienePermisoProceso(282) Then CveMetodoPago = -1 - End If + 'If UsuarioActual.Empresa.Funcionalidad(350) <> "1" Then + ' 'permiso para desbloquear la relación entre Método de pago y forma de pago + ' If UsuarioActual.TienePermisoProceso(282) Then CveMetodoPago = -1 + 'End If Dim dtt As DataTable = Nothing If CveMetodoPago > 0 Then @@ -21920,6 +21920,10 @@ Partial Class Ventas LblAmort.Text = TxtSubTotal.Text LimpiaEscondeContado() + If Not UsuarioActual.TienePermisoProceso(289) Then + DdlMetodoPago33.Enabled = True + End If + UPPVentas.Update() UpPS.Update() UpCliente.Update()