-- 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> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<asp:UpdatePanel ID="UpGVRemisionesNotaDeCredito" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpGVRNC" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div style="width:381px!important"> <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" 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"> GridLines="None">
<Columns> <Columns>

View File

@@ -13,6 +13,7 @@ Imports MoreLinq
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports ClsPaginas Imports ClsPaginas
Imports Microsoft.Reporting.WebForms Imports Microsoft.Reporting.WebForms
Imports CrystalDecisions.[Shared]
Partial Class Compras_Compras Partial Class Compras_Compras
Inherits ClsPaginas Inherits ClsPaginas
@@ -2305,7 +2306,7 @@ Partial Class Compras_Compras
If item("CveUM").ToString() <> EquivalenciaBase("CveUM").ToString() Then If item("CveUM").ToString() <> EquivalenciaBase("CveUM").ToString() Then
Dim EquivalenciaACambiar = GlobalDTProductosServiciosEquivalencias(item("CvePS").ToString().ToEntero(), item("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa).FiltroPrimero("") Dim EquivalenciaACambiar = GlobalDTProductosServiciosEquivalencias(item("CvePS").ToString().ToEntero(), item("CveUM").ToString().ToEntero(), UsuarioActual.CveEmpresa).FiltroPrimero("")
If EquivalenciaACambiar IsNot Nothing Then 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) Dim PU As Decimal = Math.Round((item("Total").ToString().ToDecimal() + item("Descuento").ToString().ToDecimal()) / Cantidad, 6)
item("Cantidad") = Cantidad item("Cantidad") = Cantidad
item("PU") = PU item("PU") = PU
@@ -4298,7 +4299,7 @@ Partial Class Compras_Compras
End If End If
End If End If
If Not ValidaPresupuesto(2) Then If Not ValidaPresupuesto(2) Then
Exit Sub Exit Sub
End If End If
@@ -7190,43 +7191,36 @@ Partial Class Compras_Compras
Next Next
If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then If UsuarioActual.Empresa.Funcionalidad(574) = "1" Then
Dim TotalSaldo As Decimal = TxtTotal.Text.ToDecimal
For Each gvRow As GridViewRow In GvRNC.Rows
For Each gvRow As GridViewRow In GVRemisionesNotaDeCredito.Rows
If gvRow.FCCheckBox("Chk").Checked Then If gvRow.FCCheckBox("Chk").Checked Then
Dim ImporteRNCSaldar As Decimal = gvRow.DataKey("Saldo").ToDecimal Dim ImporteRNCSaldar As Decimal = gvRow.DataKey("Saldo").ToDecimal
Dim CveCompraRNC As Integer = gvRow.DataKey("CveCompra").ToEntero Dim CveCompraRNC As Integer = gvRow.DataKey("CveCompra").ToEntero
If ImporteRNCSaldar > TotalSaldo Then ImporteRNCSaldar = TotalSaldo
If Not ErrorPrepoliza Then 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 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 ErrorPrepoliza = True
Exit For Exit For
End If 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 End If
End If
Next Next
If ErrorPrepoliza Then If ErrorPrepoliza Then
ErrorMovtosCxP = True ErrorMovtosCxP = True
Exit Select Exit Select
@@ -9695,12 +9689,14 @@ Partial Class Compras_Compras
'End Function 'End Function
Private Sub MandaCorreoActualizacionDetalle() Private Sub MandaCorreoActualizacionDetalle()
Dim DTCorreos As New DataTable Dim DTCorreos As New DataTable
Dim DTMovimientos As New DataTable Dim DTMovimientos As New DataTable
Dim strBody As New StringBuilder Dim strBody As New StringBuilder
Dim Asunto, Para, ArrayCC, Body As String Dim Asunto, Para, ArrayCC, Body As String
'Para = GlobalDTUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa).FiltroPrimeroValor("Correo") '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 If Para.ToString = "" AndAlso UsuarioActual.CveRol = 1 Then
Para = Para & ";oscar.irigoyen@adssistemas.mx;rene.molina@adssistemas.mx" Para = Para & ";oscar.irigoyen@adssistemas.mx;rene.molina@adssistemas.mx"
@@ -9747,7 +9743,7 @@ Partial Class Compras_Compras
strBody.Append("</html>") strBody.Append("</html>")
'' ENVIO DEL CORREO '' ENVIO DEL CORREO
Asunto = $"Actualizacion de Compra: {SerieFolioCompra} Proveedor: {HplProveedor.Text}" Asunto = $"Actualización de Compra: {SerieFolioCompra} Proveedor: {HplProveedor.Text}"
ArrayCC = "" ArrayCC = ""
Body = strBody.ToString Body = strBody.ToString
Dim Mail As New ClsSisMail() Dim Mail As New ClsSisMail()
@@ -14101,7 +14097,8 @@ Partial Class Compras_Compras
CargaGVsAF() CargaGVsAF()
CargaTipoCentroCostoOC() CargaTipoCentroCostoOC()
GvOC1.DataSource = DTOCTemp.FiltraParametros("", "CodigoPS") DTOCTemp = DTOCTemp.FiltraParametros("", "CodigoPS")
GvOC1.DataSource = DTOCTemp
Dim DTCVEOCS As DataTable = DTOCTemp.FiltraParametros("", "", {"CveOrdenCompra"}) Dim DTCVEOCS As DataTable = DTOCTemp.FiltraParametros("", "", {"CveOrdenCompra"})
If DTCVEOCS IsNot Nothing AndAlso DTCVEOCS.Rows.Count > 1 Then 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 'SI ES MAS DE UNA OC ORDENA POR PRODUCTO
Dim ArrayCveOC As String() = HdnVCveOC.Value.Split(New Char() {","c}) 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() CargaTipoCentroCostoOC()
GvOC1.DataSource = DTOCGV
GvOC1.DataSource = DTOCGV.FiltraParametros("", "CodigoPS")
GvOC1.DataBind() GvOC1.DataBind()
Dim DTCVEOGV As DataTable = DTOCGV.FiltraParametros("", "", {"CveOrdenCompra"}) Dim DTCVEOGV As DataTable = DTOCGV.FiltraParametros("", "", {"CveOrdenCompra"})
If DTCVEOGV.Rows.Count > 1 Then If DTCVEOGV.Rows.Count > 1 Then
GvOC1.Columns(0).Visible = True GvOC1.Columns(0).Visible = True
@@ -15210,7 +15206,12 @@ Partial Class Compras_Compras
Dim Change As Boolean = False Dim Change As Boolean = False
For Each Dr2 As DataRow In TmpDT.Rows For Each Dr2 As DataRow In TmpDT.Rows
If Gvr.DataKey("NumeroParte") = Dr2("NoIdentificacion").ToString() OrElse Gvr.DataKey("CvePS") = Dr2("CvePS").ToString() Then 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 Change = True
End If End If
Next Next
@@ -15234,7 +15235,8 @@ Partial Class Compras_Compras
GvOC1.Columns(5).Visible = False 'proyecto GvOC1.Columns(5).Visible = False 'proyecto
GvOC1.Columns(6).Visible = False 'codigoSAT GvOC1.Columns(6).Visible = False 'codigoSAT
GvOC2.Columns(4).Visible = False GvOC2.Columns(4).Visible = False
GvOC2.DataSource = TmpDT.FiltraParametros("", "CodigoPS") TmpDT = TmpDT.FiltraParametros("", "CodigoPS")
GvOC2.DataSource = TmpDT
Else Else
GvOC2.DataSource = TmpDT GvOC2.DataSource = TmpDT
@@ -15866,7 +15868,7 @@ Partial Class Compras_Compras
CargaGVsAF() CargaGVsAF()
CargaTipoCentroCostoOC() CargaTipoCentroCostoOC()
GvOC1.DataSource = DTOCGV.FiltraParametros("", "CodigoPS") GvOC1.DataSource = DTOCGV
GvOC1.DataBind() GvOC1.DataBind()
Dim DTCVEOCS As DataTable = DTOCGV.FiltraParametros("", "", {"CveOrdenCompra"}) Dim DTCVEOCS As DataTable = DTOCGV.FiltraParametros("", "", {"CveOrdenCompra"})
@@ -21878,10 +21880,11 @@ Partial Class Compras_Compras
Else Else
Dim TmpImporteRNC As Decimal = If(AjusteProntoPagoPorcentajeIVA > 0, ImporteRNC + (ImporteRNC * AjusteProntoPagoPorcentajeIVA), ImporteRNC) Dim TmpImporteRNC As Decimal = If(AjusteProntoPagoPorcentajeIVA > 0, ImporteRNC + (ImporteRNC * AjusteProntoPagoPorcentajeIVA), ImporteRNC)
Dim TmpImporteRNCProntoPago As Decimal = If(AjusteProntoPagoPorcentajeIVA > 0, ImporteRNCProntoPago + (ImporteRNCProntoPago * AjusteProntoPagoPorcentajeIVA), ImporteRNCProntoPago) 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 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 End If
LblModalConfirmaVinculacionProntoPago.Text = StrMsg LblModalConfirmaVinculacionProntoPago.Text = StrMsg
@@ -21904,8 +21907,8 @@ Partial Class Compras_Compras
Private Sub CargaGVRemisionNotaCredito() Private Sub CargaGVRemisionNotaCredito()
'DvDdlRemisionNotaCredito.Visible = True 'DvDdlRemisionNotaCredito.Visible = True
DTRemisionesNotaDeCredito = New DataTable DTRemisionesNotaDeCredito = New DataTable
GVRemisionesNotaDeCredito.DataSource = Nothing GvRNC.DataSource = Nothing
GVRemisionesNotaDeCredito.Visible = False GvRNC.Visible = False
Dim CveComprasAmortizadas As New List(Of String) 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 If ObjCompras.GetNotasCreditoRep(DdlProveedor.SelectedValue.ToEntero, 0, "-1", "-1", UsuarioActual.CveEmpresa, 2, String.Join(",", CveComprasAmortizadas)) Then
'DdlRemisionNotaCredito.DataSource = ObjCompras.DtResultados 'DdlRemisionNotaCredito.DataSource = ObjCompras.DtResultados
DTRemisionesNotaDeCredito = ObjCompras.DtResultados DTRemisionesNotaDeCredito = ObjCompras.DtResultados
GVRemisionesNotaDeCredito.DataSource = DTRemisionesNotaDeCredito GvRNC.DataSource = DTRemisionesNotaDeCredito
GVRemisionesNotaDeCredito.Visible = True GvRNC.Visible = True
End If End If
ObjCompras.Dispose() ObjCompras.Dispose()
GvRNC.DataBind()
GVRemisionesNotaDeCredito.DataBind()
'DdlRemisionNotaCredito.DataBind() 'DdlRemisionNotaCredito.DataBind()
'DdlRemisionNotaCredito.Items.Insert(0, New ListItem("-", "-1")) 'DdlRemisionNotaCredito.Items.Insert(0, New ListItem("-", "-1"))