-- verificar RNC, que no exista el folio previo al registro.

-- prefijo de RNC si es de Dev
This commit is contained in:
2025-01-29 13:29:02 -07:00
parent 4c1073830b
commit 3c9041e9b6
2 changed files with 74 additions and 75 deletions

View File

@@ -250,7 +250,7 @@
<div class="whitoutcol" style="width: 120px;"> <div class="whitoutcol" style="width: 120px;">
<div class="form-group "> <div class="form-group ">
<asp:Label ID="lblOCLabel" runat="server" CssClass="whitoutcol linewhitsize" Style="width: 40px;"># O.C.:</asp:Label> <asp:Label ID="lblOCLabel" runat="server" CssClass="whitoutcol linewhitsize" Style="width: 40px;"># O.C.:</asp:Label>
<div class="whitoutcol form-group form-md-line-input linewhitsize" style="width: 60px;"> <div class="whitoutcol form-group form-md-line-input linewhitsize" style="width: 75px;">
<asp:TextBox ID="TxtOC" ClientIDMode="Static" runat="server" CssClass="form-control input-xs " onkeypress="fncBuscaOC(event);" MaxLength="100"></asp:TextBox> <asp:TextBox ID="TxtOC" ClientIDMode="Static" runat="server" CssClass="form-control input-xs " onkeypress="fncBuscaOC(event);" MaxLength="100"></asp:TextBox>
</div> </div>
<asp:LinkButton ID="ImgBtnBuscarOC" data-toggle="tooltip" data-placement="top" runat="server" CssClass="linewhitsize" ClientIDMode="Static" BorderWidth="0" Style="float: left;" ToolTip="Buscar O.C" OnClientClick=""><i class="fa fa-search"></i></asp:LinkButton> <asp:LinkButton ID="ImgBtnBuscarOC" data-toggle="tooltip" data-placement="top" runat="server" CssClass="linewhitsize" ClientIDMode="Static" BorderWidth="0" Style="float: left;" ToolTip="Buscar O.C" OnClientClick=""><i class="fa fa-search"></i></asp:LinkButton>

View File

@@ -13,7 +13,6 @@ Imports MoreLinq
Imports System.Data.SqlClient Imports System.Data.SqlClient
Imports ClsPaginas Imports ClsPaginas
Imports Microsoft.Reporting.WebForms Imports Microsoft.Reporting.WebForms
Imports Stimulsoft.Report
Partial Class Compras_Compras Partial Class Compras_Compras
Inherits ClsPaginas Inherits ClsPaginas
@@ -1680,14 +1679,11 @@ Partial Class Compras_Compras
InicializaDTProrrateoGasolina() InicializaDTProrrateoGasolina()
End If End If
'If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then ' If Request("SaldarRNC") IsNot Nothing AndAlso Request("SaldarRNC").ToString.ToEntero = 1 Then
If Request("SaldarRNC") IsNot Nothing AndAlso Request("SaldarRNC").ToString.ToEntero = 1 Then ' SaldaConRNC()
SaldaConRNC() ' End If
End If 'End If
End If
End If End If
'SE OCUPAN AFUERA DEL POSTBACK ?? 'SE OCUPAN AFUERA DEL POSTBACK ??
@@ -1721,77 +1717,77 @@ Partial Class Compras_Compras
End Sub End Sub
Private Sub SaldaConRNC() 'Private Sub SaldaConRNC()
If CompraSaldo > 0 Then ' If CompraSaldo > 0 Then
ImporteRNC = CompraSaldo.ToDecimal ' ImporteRNC = CompraSaldo.ToDecimal
Dim ErrorSaldoRNC As Boolean = False ' Dim ErrorSaldoRNC As Boolean = False
Dim ObjCompras As New ClsCompras ' Dim ObjCompras As New ClsCompras
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL) ' Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL)
ObjCompras.IniciaTransacSQL() ' ObjCompras.IniciaTransacSQL()
ObjCompras.IniciaTransacSQL() ' ObjCompras.IniciaTransacSQL()
If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then ' If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 Or ImporteRNCProntoPago > 0) Then
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal ' Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
Dim CompraSaldar As New Compra ' Dim CompraSaldar As New Compra
CompraSaldar.CveCompra = CveCompra ' CompraSaldar.CveCompra = CveCompra
CompraSaldar.CveTipoConceptoProveedor = CveTipoConcepto ' CompraSaldar.CveTipoConceptoProveedor = CveTipoConcepto
CompraSaldar.CveProveedor = CveProveedor ' CompraSaldar.CveProveedor = CveProveedor
CompraSaldar.CveMoneda = DdlMoneda.SelectedValue.ToEntero ' CompraSaldar.CveMoneda = DdlMoneda.SelectedValue.ToEntero
CompraSaldar.Fecha = TxtFecha.Text.ToDate ' CompraSaldar.Fecha = TxtFecha.Text.ToDate
CompraSaldar.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim ' CompraSaldar.SerieFolio = TxtSerie.Text.Trim & "-" & TxtFolio.Text.Trim
CompraSaldar.ProveedorNombre = HplProveedor.Text ' CompraSaldar.ProveedorNombre = HplProveedor.Text
CompraSaldar.TC = TipoCambioOriginal ' CompraSaldar.TC = TipoCambioOriginal
CompraSaldar.Total = TxtTotal.Text.ToDecimal ' CompraSaldar.Total = TxtTotal.Text.ToDecimal
CompraSaldar.IVA = TxtIVA.Text.ToDecimal ' CompraSaldar.IVA = TxtIVA.Text.ToDecimal
CompraSaldar.IVADeducible = TxtIVA.Text.ToDecimal ' CompraSaldar.IVADeducible = TxtIVA.Text.ToDecimal
CompraSaldar.IEPS = TxtIEPS.Text.ToDecimal ' CompraSaldar.IEPS = TxtIEPS.Text.ToDecimal
CompraSaldar.RetIVA = TxtRetIVA.Text.ToDecimal ' CompraSaldar.RetIVA = TxtRetIVA.Text.ToDecimal
CompraSaldar.RetISR = TxtRetISR.Text.ToDecimal ' CompraSaldar.RetISR = TxtRetISR.Text.ToDecimal
CompraSaldar.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero ' CompraSaldar.CveConceptoRetISR = DdlRetISRConcepto.SelectedValue.ToEntero
CompraSaldar.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero ' CompraSaldar.CveConceptoRetIVA = DdlRetIVAConcepto.SelectedValue.ToEntero
CompraSaldar.PorcentajeIVA = PorcentajeIVA ' CompraSaldar.PorcentajeIVA = PorcentajeIVA
CompraSaldar.UsuarioActual = UsuarioActual ' CompraSaldar.UsuarioActual = UsuarioActual
CompraSaldar.CveSubProyecto = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero ' CompraSaldar.CveSubProyecto = TmpDT.FiltroPrimeroValor("CveSubProyecto", " CveSubProyecto > 0").ToEntero
CompraSaldar.EsImportacion = chkImportacion.Checked ' CompraSaldar.EsImportacion = chkImportacion.Checked
Dim FolioFijo As Integer = 0 ' Dim FolioFijo As Integer = 0
'cheque ' 'cheque
If DdlTipoTransaccion.SelectedValue = "1" AndAlso UsuarioActual.CveEmpresa <> 119 Then FolioFijo = TxtFolio.Text.ToEntero ' If DdlTipoTransaccion.SelectedValue = "1" AndAlso UsuarioActual.CveEmpresa <> 119 Then FolioFijo = TxtFolio.Text.ToEntero
Dim ConceptoPoliza As String = String.Format("{0} - {1}{2} - {3}", NombreProveedor, TxtSerie.Text, TxtFolio.Text, TxtDescripcion.Text.Trim) ' Dim ConceptoPoliza As String = String.Format("{0} - {1}{2} - {3}", NombreProveedor, TxtSerie.Text, TxtFolio.Text, TxtDescripcion.Text.Trim)
Dim CvePrePolizaSaldar = ObjConta.AddPrePolizas("Compras/SaldarRNC", 53, ImporteRNC.RoundSQL(2), ImporteRNC.RoundSQL(2), DdlMoneda.SelectedValue.ToEntero, TxtFecha.Text.ToDate, 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)) ' Dim CvePrePolizaSaldar = ObjConta.AddPrePolizas("Compras/SaldarRNC", 53, ImporteRNC.RoundSQL(2), ImporteRNC.RoundSQL(2), DdlMoneda.SelectedValue.ToEntero, TxtFecha.Text.ToDate, 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 CvePrePolizaSaldar > 0 Then ' If CvePrePolizaSaldar > 0 Then
ImporteRNC = ImporteRNC.RoundSQL(2) ' ImporteRNC = ImporteRNC.RoundSQL(2)
If PorcentajeIVA > 0 Then ' If PorcentajeIVA > 0 Then
ImporteRNC = ((ImporteRNC) / (1 + PorcentajeIVA)) ' ImporteRNC = ((ImporteRNC) / (1 + PorcentajeIVA))
End If ' End If
If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraSaldar, ObjConta, CvePrePolizaSaldar, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate, $"Remisión Nota de Crédito {TxtDescripcion.Text}", DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal, ' If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraSaldar, ObjConta, CvePrePolizaSaldar, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate, $"Remisión Nota de Crédito {TxtDescripcion.Text}", DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal,
TxtSerie.Text, TxtFolio.Text, RedondearSaldado:=True) Then ' TxtSerie.Text, TxtFolio.Text, RedondearSaldado:=True) Then
ErrorSaldoRNC = True ' ErrorSaldoRNC = True
End If ' End If
End If ' End If
End If ' End If
If ErrorSaldoRNC Then ' If ErrorSaldoRNC Then
ObjCompras.RollBack() ' ObjCompras.RollBack()
Else ' Else
ObjCompras.Commit() ' ObjCompras.Commit()
End If ' End If
ObjCompras.Dispose() ' ObjCompras.Dispose()
ObjConta.Dispose() ' ObjConta.Dispose()
End If ' End If
End Sub 'End Sub
Private Sub ConfiguraseleccionRemisionNotaCredito() Private Sub ConfiguraseleccionRemisionNotaCredito()
@@ -15328,7 +15324,7 @@ Partial Class Compras_Compras
Protected Sub GvOC1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvOC1.RowDataBound Protected Sub GvOC1_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvOC1.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.RowType = DataControlRowType.DataRow Then
Dim JSCambiaScript As String = $"CalculaTotalOCEdit('{e.Row.DBCampo("PS").Replace("'", "").Replace(vbLf, " ").Replace(vbCrLf, " ")}', {e.Row.DBCampo("Cantidad).ToDouble},{e.Row.DBCampo("PU").ToDouble}, {e.Row.FCTextBox("TxtCantidad").ClientID}, {e.Row.FCTextBox("TxtPU").ClientID}, {e.Row.FCTextBox("TxtTotalOC1").ClientID}, {e.Row.DBCampo("IEPSPS").ToDouble},{e.Row.FCHiddenField("HdnOC1IEPSImporte").ClientID}, {e.Row.DBCampo("IVA").ToDouble},{e.Row.FCHiddenField("HdnOC1IVA").ClientID},{e.Row.DBCampo("RetIVA").ToDouble},{e.Row.FCHiddenField("HdnOC1RetIVA").ClientID},{e.Row.DBCampo("RetISR").ToDouble},{e.Row.FCHiddenField("HdnOC1RetISR").ClientID},{e.Row.DBCampo("IEPSPS").ToDouble},{e.Row.FCHiddenField("HdnOC1IEPSIVA").ClientID},{e.Row.DBCampo("Descuento")},{e.Row.FCHiddenField("HdnOC1Descuento").ClientID},{e.Row.DBCampo("IVAPorcentaje").ToDouble},{e.Row.DBCampo("RetIVAPorcentaje").ToString.ToDouble},{e.Row.DBCampo("RetISRPorcentaje").ToDouble},{e.Row.DBCampo("IEPSPSPorcentaje").ToDouble},{e.Row.DBCampo("IEPSPSIVAPorcentaje").ToDouble});" Dim JSCambiaScript As String = $"CalculaTotalOCEdit('{e.Row.DBCampo("PS").Replace("'", "").Replace(vbLf, " ").Replace(vbCrLf, " ")}', {e.Row.DBCampo("Cantidad").ToDouble},{e.Row.DBCampo("PU").ToDouble}, {e.Row.FCTextBox("TxtCantidad").ClientID}, {e.Row.FCTextBox("TxtPU").ClientID}, {e.Row.FCTextBox("TxtTotalOC1").ClientID}, {e.Row.DBCampo("IEPSPS").ToDouble},{e.Row.FCHiddenField("HdnOC1IEPSImporte").ClientID}, {e.Row.DBCampo("IVA").ToDouble},{e.Row.FCHiddenField("HdnOC1IVA").ClientID},{e.Row.DBCampo("RetIVA").ToDouble},{e.Row.FCHiddenField("HdnOC1RetIVA").ClientID},{e.Row.DBCampo("RetISR").ToDouble},{e.Row.FCHiddenField("HdnOC1RetISR").ClientID},{e.Row.DBCampo("IEPSPS").ToDouble},{e.Row.FCHiddenField("HdnOC1IEPSIVA").ClientID},{e.Row.DBCampo("Descuento")},{e.Row.FCHiddenField("HdnOC1Descuento").ClientID},{e.Row.DBCampo("IVAPorcentaje").ToDouble},{e.Row.DBCampo("RetIVAPorcentaje").ToString.ToDouble},{e.Row.DBCampo("RetISRPorcentaje").ToDouble},{e.Row.DBCampo("IEPSPSPorcentaje").ToDouble},{e.Row.DBCampo("IEPSPSIVAPorcentaje").ToDouble});"
e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"LimitaCantidadOC({e.Row.DBCampo("CantidadPendienteVincular")}, this);{JSCambiaScript}") e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"LimitaCantidadOC({e.Row.DBCampo("CantidadPendienteVincular")}, this);{JSCambiaScript}")
@@ -19271,7 +19267,7 @@ Partial Class Compras_Compras
If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, objConta, CvePrePoliza, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate, If Not GeneraRNC(ObjCompras.IniciaTransacSQL, CveCompra, CompraActual, objConta, CvePrePoliza, DdlProveedor.SelectedValue.ToEntero, DdlProveedor.SelectedItem.Text, TxtFecha.Text.ToDate,
$"Remisión Nota de Crédito {TxtDescripcion.Text}", DdlMoneda.SelectedValue.ToEntero, TipoCambioOriginal, $"Remisión Nota de Crédito {TxtDescripcion.Text}", DdlMoneda.SelectedValue.ToEntero, TipoCambioOriginal,
TxtSerie.Text, TxtFolio.Text, EsDRMN:=True) Then TxtSerie.Text, TxtFolio.Text, PrefijoSerie:="Dev", EsDRMN:=True) Then
TieneError = True TieneError = True
End If End If
@@ -22034,7 +22030,7 @@ Partial Class Compras_Compras
Public Function GeneraRNC(ByRef sqltransaccion As SqlTransaction, CveCompraRegistrada As Integer, ByRef CompraActual As Compra, ByRef ObjConta As ClsContabilidad, CvePrePoliza As Integer, Public Function GeneraRNC(ByRef sqltransaccion As SqlTransaction, CveCompraRegistrada As Integer, ByRef CompraActual As Compra, ByRef ObjConta As ClsContabilidad, CvePrePoliza As Integer,
CveProveedor As Integer, NombreProveedor As String, Fecha As Date, Descripcion As String, CveMoneda As Integer, TipoCambio As Decimal, Serie As String, Folio As String, CveProveedor As Integer, NombreProveedor As String, Fecha As Date, Descripcion As String, CveMoneda As Integer, TipoCambio As Decimal, Serie As String, Folio As String,
Optional EsDRMN As Boolean = False, Optional TmpListadoPS As DataTable = Nothing, Optional RedondearSaldado As Boolean = False) As Boolean Optional PrefijoSerie As String = "D", Optional EsDRMN As Boolean = False, Optional TmpListadoPS As DataTable = Nothing, Optional RedondearSaldado As Boolean = False) As Boolean
CveCompraDRMC = -1 CveCompraDRMC = -1
Dim respuesta As Boolean = True Dim respuesta As Boolean = True
Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal Dim PorcentajeIVA As Decimal = TmpDT.MAX("IVAPorcentaje").ToDecimal
@@ -22068,16 +22064,19 @@ Partial Class Compras_Compras
.Fecha = Fecha, .Fecha = Fecha,
.CveMoneda = CveMoneda, .CveMoneda = CveMoneda,
.TipoCambio = If(CveMoneda = 1, 1, TipoCambio), .TipoCambio = If(CveMoneda = 1, 1, TipoCambio),
.Serie = $"D-{Serie}", .Serie = $"{PrefijoSerie}-{Serie}",
.Folio = Folio, .Folio = Folio,
.CveCompraAmortizacion = CveCompraRegistrada, .CveCompraAmortizacion = CveCompraRegistrada,
.CveCompraRelacionada = CveCompraRegistrada .CveCompraRelacionada = CveCompraRegistrada
} }
'VERIFICAR SI NO EXISTE YA EL FOLIO
'Dim CveTipoPS As Integer = PSRow("CveTipoPS").ToString.ToEntero Dim ObjCompra As New ClsCompras
'If PSRow("CvePSCargo").ToString <> "" Then If ObjCompra.GetCompras(-1, CompraRNC.Serie, CompraRNC.Folio, CompraRNC.CveProveedor, -1, UsuarioActual.CveEmpresa) Then
' CveTipoPS = 2 If ObjCompra.DtResultados.Rows.Count > 0 Then
'End If CompraRNC.Serie = $"{PrefijoSerie}{ObjCompra.DtResultados.Rows.Count}-{Serie}" 'reasigna la serie, para que permita insertar
End If
End If
ObjCompra.Dispose()
Dim CveClasificacion As Integer = PSRow("CveClasificacion").ToString.ToEntero Dim CveClasificacion As Integer = PSRow("CveClasificacion").ToString.ToEntero
Dim Clasificacion As String = PSRow("Clasificacion").ToString Dim Clasificacion As String = PSRow("Clasificacion").ToString