-- limitar la vinculación de RNC. cuando es mayor la RNC a la vinculación de la NC

This commit is contained in:
2024-12-24 05:25:01 -07:00
parent 732d1b221b
commit 4c632cdb86
2 changed files with 45 additions and 44 deletions

View File

@@ -995,10 +995,10 @@
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpGVRemisionesNotaDeCredito" runat="server" UpdateMode="Conditional">
<asp:UpdatePanel ID="UpGVRNC" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div style="width:381px!important">
<asp:GridView ID="GVRemisionesNotaDeCredito" runat="server" CssClass="table table-striped table-hover ScrollAD" Width="380px" AutoGenerateColumns="False" Visible="false"
<asp:GridView ID="GvRNC" runat="server" CssClass="table table-striped table-hover ScrollAD" Width="380px" AutoGenerateColumns="False" Visible="false"
DataKeyNames="Tipo,CveCompra,Fecha,TipoDocto,SerieFolio,CveIE,Original,Abonado,Saldo,CveProveedor,RazonSocial,Descripcion,CveMoneda,Moneda,Abreviatura,Referencia,CvePersonal,TipoCambio,CveSubProyecto,CveTipoConcepto" ClientIDMode="Static" EmptyDataText="" data-height="200"
GridLines="None">
<Columns>

View File

@@ -13,6 +13,7 @@ Imports MoreLinq
Imports System.Data.SqlClient
Imports ClsPaginas
Imports Microsoft.Reporting.WebForms
Imports CrystalDecisions.[Shared]
Partial Class Compras_Compras
Inherits ClsPaginas
@@ -2305,7 +2306,7 @@ Partial Class Compras_Compras
If item("CveUM").ToString() <> EquivalenciaBase("CveUM").ToString() Then
Dim EquivalenciaACambiar = GlobalDTProductosServiciosEquivalencias(item("CvePS").ToString().ToEntero(), item("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa).FiltroPrimero("")
If EquivalenciaACambiar IsNot Nothing Then
Dim Cantidad As Decimal = Math.Round(item("Cantidad").ToString().ToDecimal() / EquivalenciaACambiar("Cantidad").ToString().ToDecimal(), 6)
Dim Cantidad As Decimal = Math.Round(EquivalenciaACambiar("Cantidad").ToString.ToDecimal * item("Cantidad").ToString.ToDecimal, 6)
Dim PU As Decimal = Math.Round((item("Total").ToString().ToDecimal() + item("Descuento").ToString().ToDecimal()) / Cantidad, 6)
item("Cantidad") = Cantidad
item("PU") = PU
@@ -4298,7 +4299,7 @@ Partial Class Compras_Compras
End If
End If
If Not ValidaPresupuesto(2) Then
If Not ValidaPresupuesto(2) Then
Exit Sub
End If
@@ -7190,43 +7191,36 @@ Partial Class Compras_Compras
Next
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
Dim TotalSaldo As Decimal = TxtTotal.Text.ToDecimal
For Each gvRow As GridViewRow In GVRemisionesNotaDeCredito.Rows
For Each gvRow As GridViewRow In GvRNC.Rows
If gvRow.FCCheckBox("Chk").Checked Then
Dim ImporteRNCSaldar As Decimal = gvRow.DataKey("Saldo").ToDecimal
Dim CveCompraRNC As Integer = gvRow.DataKey("CveCompra").ToEntero
If ImporteRNCSaldar > TotalSaldo Then ImporteRNCSaldar = TotalSaldo
If Not ErrorPrepoliza Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 373, Referencia, Concepto, CveCompra:=CveCompraRNC, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ImporteRNCSaldar, ImporteRNCSaldar, 373, Referencia, Concepto, CveCompra:=CveCompraRNC, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
ErrorPrepoliza = True
Exit For
End If
If Not ErrorPrepoliza Then
Dim ConPrePNC As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, ConPrePNC.CveConcepto, Referencia, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
ErrorPrepoliza = True
Exit For
End If
If Not ErrorPrepoliza Then
Dim ConPrePNC As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(15, CompraActual.CveMoneda, True, CompraActual.CveTipoConceptoProveedor)
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ImporteRNCSaldar, ImporteRNCSaldar, ConPrePNC.CveConcepto, Referencia, Concepto, CveCompra:=CompraActual.CveCompra, CveProveedor:=Me.CveProveedor, ImporteME:=If(TipoCambio = 1, 0, ImporteRNCSaldar), TipoCambio:=TipoCambio,
CveClasificacion:=-1, CveSubProyecto:=CompraActual.CveSubProyecto, Contabilizable:=True) Then
ErrorPrepoliza = True
Exit For
End If
End If
End If
End If
End If
Next
If ErrorPrepoliza Then
ErrorMovtosCxP = True
Exit Select
@@ -9695,12 +9689,14 @@ Partial Class Compras_Compras
'End Function
Private Sub MandaCorreoActualizacionDetalle()
Dim DTCorreos As New DataTable
Dim DTMovimientos As New DataTable
Dim strBody As New StringBuilder
Dim Asunto, Para, ArrayCC, Body As String
'Para = GlobalDTUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo")
Para = "fernanda.romo@agrojam.com.mx"
Para = ""
If EsProduccion Then Para = "fernanda.romo@agrojam.com.mx"
If Para.ToString = "" AndAlso UsuarioActual.CveRol = 1 Then
Para = Para & ";oscar.irigoyen@adssistemas.mx;rene.molina@adssistemas.mx"
@@ -9747,7 +9743,7 @@ Partial Class Compras_Compras
strBody.Append("</html>")
'' ENVIO DEL CORREO
Asunto = $"Actualizacion de Compra: {SerieFolioCompra} Proveedor: {HplProveedor.Text}"
Asunto = $"Actualización de Compra: {SerieFolioCompra} Proveedor: {HplProveedor.Text}"
ArrayCC = ""
Body = strBody.ToString
Dim Mail As New ClsSisMail()
@@ -14101,7 +14097,8 @@ Partial Class Compras_Compras
CargaGVsAF()
CargaTipoCentroCostoOC()
GvOC1.DataSource = DTOCTemp.FiltraParametros("", "CodigoPS")
DTOCTemp = DTOCTemp.FiltraParametros("", "CodigoPS")
GvOC1.DataSource = DTOCTemp
Dim DTCVEOCS As DataTable = DTOCTemp.FiltraParametros("", "", {"CveOrdenCompra"})
If DTCVEOCS IsNot Nothing AndAlso DTCVEOCS.Rows.Count > 1 Then
@@ -15181,14 +15178,13 @@ Partial Class Compras_Compras
'SI ES MAS DE UNA OC ORDENA POR PRODUCTO
Dim ArrayCveOC As String() = HdnVCveOC.Value.Split(New Char() {","c})
DTOCGV = If(ArrayCveOC.Length > 1, DTOCGV.FiltraParametros("", "Producto"), DTOCGV)
'DTOCGV = If(ArrayCveOC.Length > 1, DTOCGV.FiltraParametros("", "Producto"), DTOCGV)
DTOCGV = DTOCGV.FiltraParametros("", " CodigoPS")
CargaTipoCentroCostoOC()
GvOC1.DataSource = DTOCGV.FiltraParametros("", "CodigoPS")
GvOC1.DataSource = DTOCGV
GvOC1.DataBind()
Dim DTCVEOGV As DataTable = DTOCGV.FiltraParametros("", "", {"CveOrdenCompra"})
If DTCVEOGV.Rows.Count > 1 Then
GvOC1.Columns(0).Visible = True
@@ -15210,7 +15206,12 @@ Partial Class Compras_Compras
Dim Change As Boolean = False
For Each Dr2 As DataRow In TmpDT.Rows
If Gvr.DataKey("NumeroParte") = Dr2("NoIdentificacion").ToString() OrElse Gvr.DataKey("CvePS") = Dr2("CvePS").ToString() Then
Gvr.FCTextBox("TxtCantidad").Text = Dr2("Cantidad").ToString
' que la cantidad de la Fact no exceda a la de la OC
If Dr2("Cantidad").ToString.ToDecimal > Gvr.DataKey("CantidadF").ToDecimal Then
Gvr.FCTextBox("TxtCantidad").Text = Gvr.DataKey("CantidadF").ToDecimal.ToString("#,###.####")
Else
Gvr.FCTextBox("TxtCantidad").Text = Dr2("Cantidad").ToString
End If
Change = True
End If
Next
@@ -15234,7 +15235,8 @@ Partial Class Compras_Compras
GvOC1.Columns(5).Visible = False 'proyecto
GvOC1.Columns(6).Visible = False 'codigoSAT
GvOC2.Columns(4).Visible = False
GvOC2.DataSource = TmpDT.FiltraParametros("", "CodigoPS")
TmpDT = TmpDT.FiltraParametros("", "CodigoPS")
GvOC2.DataSource = TmpDT
Else
GvOC2.DataSource = TmpDT
@@ -15866,7 +15868,7 @@ Partial Class Compras_Compras
CargaGVsAF()
CargaTipoCentroCostoOC()
GvOC1.DataSource = DTOCGV.FiltraParametros("", "CodigoPS")
GvOC1.DataSource = DTOCGV
GvOC1.DataBind()
Dim DTCVEOCS As DataTable = DTOCGV.FiltraParametros("", "", {"CveOrdenCompra"})
@@ -21878,10 +21880,11 @@ Partial Class Compras_Compras
Else
Dim TmpImporteRNC As Decimal = If(AjusteProntoPagoPorcentajeIVA > 0, ImporteRNC + (ImporteRNC * AjusteProntoPagoPorcentajeIVA), ImporteRNC)
Dim TmpImporteRNCProntoPago As Decimal = If(AjusteProntoPagoPorcentajeIVA > 0, ImporteRNCProntoPago + (ImporteRNCProntoPago * AjusteProntoPagoPorcentajeIVA), ImporteRNCProntoPago)
Dim PorcentajeRNCs As Decimal = (TmpImporteRNC + TmpImporteRNCProntoPago) / TxtTotal.Text.ToDecimal * 100D
Dim StrMsg As String = $"Existe una diferencia de ${(TmpImporteRNC + TmpImporteRNCProntoPago).ToString("###,###,###.00")} entre la compra y la Orden de Compra. <br/> Se generaran Remisiones de Nota de Crédito. <br/> - Descuento de ${TmpImporteRNC.ToString("###,###,###.00")}.<br/>"
Dim StrMsg As String = $"Existe una diferencia de ${(TmpImporteRNC + TmpImporteRNCProntoPago).ToString("###,###,###.00")} ({PorcentajeRNCs.FormatoNumero}%) entre la compra y la Orden de Compra. <br/> Se generaran Remisiones de Nota de Crédito. <br/> - Descuento de ${TmpImporteRNC.ToString("###,###,###.00")} ({ (TmpImporteRNC / TxtTotal.Text.ToDecimal * 100D).FormatoNumero}%) .<br/>"
If TmpImporteRNCProntoPago > 0 Then
StrMsg = StrMsg & $"- Pronto pago de ${TmpImporteRNCProntoPago.ToString("###,###,###.00")}"
StrMsg = StrMsg & $"- Pronto pago de ${TmpImporteRNCProntoPago.ToString("###,###,###.00")} ({ (TmpImporteRNCProntoPago / TxtTotal.Text.ToDecimal * 100D).FormatoNumero}%)"
End If
LblModalConfirmaVinculacionProntoPago.Text = StrMsg
@@ -21904,8 +21907,8 @@ Partial Class Compras_Compras
Private Sub CargaGVRemisionNotaCredito()
'DvDdlRemisionNotaCredito.Visible = True
DTRemisionesNotaDeCredito = New DataTable
GVRemisionesNotaDeCredito.DataSource = Nothing
GVRemisionesNotaDeCredito.Visible = False
GvRNC.DataSource = Nothing
GvRNC.Visible = False
Dim CveComprasAmortizadas As New List(Of String)
@@ -21921,14 +21924,12 @@ Partial Class Compras_Compras
If ObjCompras.GetNotasCreditoRep(DdlProveedor.SelectedValue.ToEntero, 0, "-1", "-1", UsuarioActual.CveEmpresa, 2, String.Join(",", CveComprasAmortizadas)) Then
'DdlRemisionNotaCredito.DataSource = ObjCompras.DtResultados
DTRemisionesNotaDeCredito = ObjCompras.DtResultados
GVRemisionesNotaDeCredito.DataSource = DTRemisionesNotaDeCredito
GVRemisionesNotaDeCredito.Visible = True
GvRNC.DataSource = DTRemisionesNotaDeCredito
GvRNC.Visible = True
End If
ObjCompras.Dispose()
GVRemisionesNotaDeCredito.DataBind()
GvRNC.DataBind()
'DdlRemisionNotaCredito.DataBind()
'DdlRemisionNotaCredito.Items.Insert(0, New ListItem("-", "-1"))