This commit is contained in:
2025-05-05 12:13:26 -07:00
5 changed files with 1721 additions and 117 deletions

View File

@@ -1779,10 +1779,10 @@ Partial Class Compras_Compras
DdlTipoComprobante.SelectedValueExist("DEV")
End If
If Not CveCompra > 0 Or (CveCompra > 0 And UsuarioActual.CveEmpresa = 141) Then
LnkProrrateoGasolina.Visible = True
InicializaDTProrrateoGasolina()
End If
'If Not CveCompra > 0 Or (CveCompra > 0 And UsuarioActual.CveEmpresa = 141) Then
LnkProrrateoGasolina.Visible = True
InicializaDTProrrateoGasolina()
'End If
'If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
' If Request("SaldarRNC") IsNot Nothing AndAlso Request("SaldarRNC").ToString.ToEntero = 1 Then
@@ -8011,67 +8011,73 @@ Partial Class Compras_Compras
AutoConta = False
End If
If Not ErrorPrepoliza AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, Opcion:=4, AutoConta:=AutoConta) Then
TieneError = True
If ObjConta.ValorPolizaDescuadre > 0 Then
Alert($"{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia}", TipoMensaje.MsgError)
ErrorPrepolizaDescuadre = True
End If
Dim OpValidacion As Integer = 4
If UsuarioActual.CveEmpresa.Contiene(7, 11, 12, 122, 145) AndAlso RBLPago.SelectedValue.ToEntero = 3 AndAlso RBLContado.SelectedValue.ToEntero.Contiene(6, 2) Then
OpValidacion = 499
End If
If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 OrElse ImporteRNCProntoPago > 0) Then
If Not ErrorPrepoliza AndAlso Not ObjConta.ValidacionesPrePoliza(CvePrePoliza, UsuarioActual, Opcion:=OpValidacion, AutoConta:=AutoConta) Then
TieneError = True
If ObjConta.ValorPolizaDescuadre > 0 Then
Alert($"{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia}", TipoMensaje.MsgError)
ErrorPrepolizaDescuadre = True
End If
End If
If ImporteRNC > 0 AndAlso 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}", ImporteRNC, DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal,
If UsuarioActual.Empresa.Funcionalidad(574) = "1" AndAlso (ImporteRNC > 0 OrElse ImporteRNCProntoPago > 0) Then
If ImporteRNC > 0 AndAlso 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}", ImporteRNC, DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal,
TxtSerie.Text, TxtFolio.Text) Then
TieneError = True
End If
TieneError = True
End If
If ImporteRNCProntoPago > 0 AndAlso 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}", ImporteRNCProntoPago, DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal,
If ImporteRNCProntoPago > 0 AndAlso 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}", ImporteRNCProntoPago, DdlMoneda.SelectedValue.ToEntero, TxtTC.Text.ToDecimal,
TxtSerie.Text, TxtFolio.Text, PrefijoSerie:="PP") Then
TieneError = True
TieneError = True
End If
End If
If Not TieneError Then
ObjCompras.Commit()
If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
Dim CveEvaluacionProveedor As Integer = -1
If Me.RequiereEvaluacion Then
Dim ObjPro As New ClsCompProveedores()
CveEvaluacionProveedor = ObjPro.AddEvaluacionProveedor(CveProveedor, CveCompra, NowADS(), "", Me.CveUsuarioEvaluador, "", "", UsuarioActual.CveEmpresa)
ObjPro.Dispose()
End If
'ENVIO DE CORREO NOTIFICACION A VENDEDORES DE OC
MandaCorreoOCVendedores(CveCompra)
If Not ErrorMovInv Then
For Each intMovimientoAlmacen As Integer In ListaMovimientosAlmacen
MandaCorreoOCVendedoresRecepcionAlmacen(CveCompra, intMovimientoAlmacen)
Next
End If
If CveEvaluacionProveedor > 0 Then
Msg.Append("<br/><br/>El proveedor tiene evaluaciones pendientes<br/>")
Msg.Append("¿Desea realizar una evaluación al proveedor?")
Msg.AppendFormat($"</br><a class=""Texto"" target='_blank' href=""/Compras/EvaluacionProveedor.aspx?CveEvaluacionProveedor={CveEvaluacionProveedor}"">Evaluar Proveedor.</a>")
End If
BtnGuardar.Enabled = False
UpFacturar.Update()
Alert(Msg.ToString, TipoMensaje.MsgInformacion, MsgAccionAceptar)
Else
ObjCompras.RollBack()
If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
Alert("Ocurrio un error al guardar la compra. Por favor intente nuevamente.", TipoMensaje.MsgError)
End If
End If
If Not TieneError Then
ObjCompras.Commit()
If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
Dim CveEvaluacionProveedor As Integer = -1
If Me.RequiereEvaluacion Then
Dim ObjPro As New ClsCompProveedores()
CveEvaluacionProveedor = ObjPro.AddEvaluacionProveedor(CveProveedor, CveCompra, NowADS(), "", Me.CveUsuarioEvaluador, "", "", UsuarioActual.CveEmpresa)
ObjPro.Dispose()
End If
'ENVIO DE CORREO NOTIFICACION A VENDEDORES DE OC
MandaCorreoOCVendedores(CveCompra)
If Not ErrorMovInv Then
For Each intMovimientoAlmacen As Integer In ListaMovimientosAlmacen
MandaCorreoOCVendedoresRecepcionAlmacen(CveCompra, intMovimientoAlmacen)
Next
End If
If CveEvaluacionProveedor > 0 Then
Msg.Append("<br/><br/>El proveedor tiene evaluaciones pendientes<br/>")
Msg.Append("¿Desea realizar una evaluación al proveedor?")
Msg.AppendFormat($"</br><a class=""Texto"" target='_blank' href=""/Compras/EvaluacionProveedor.aspx?CveEvaluacionProveedor={CveEvaluacionProveedor}"">Evaluar Proveedor.</a>")
End If
BtnGuardar.Enabled = False
UpFacturar.Update()
Alert(Msg.ToString, TipoMensaje.MsgInformacion, MsgAccionAceptar)
Else
ObjCompras.RollBack()
If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
Alert("Ocurrio un error al guardar la compra. Por favor intente nuevamente.", TipoMensaje.MsgError)
End If
End If
Else
ObjCompras.RollBack()
If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
Alert("Ocurrio un error al guardar la compra. Por favor intente nuevamente..", TipoMensaje.MsgError)
@@ -23028,6 +23034,16 @@ Partial Class Compras_Compras
End If
If DTProrrateoGasolina.Rows.Count > 0 Then
If CveCompra > 0 Then
For Each dRow As DataRow In TmpDT.Rows
Dim CveCompraDetalle As Integer = dRow("CveCompraDetalle").ToString.ToEntero
If CveCompraDetalle > 0 Then
ClavesBorradas.Add(CveCompraDetalle)
End If
Next
End If
TmpDT.Rows.Clear()
For Each dRow As DataRow In DTProrrateoGasolina.Rows
AddPS(1, dRow("CveUM").ToString.ToEntero, dRow("UM").ToString, dRow("CveClasificacion").ToString.ToEntero, dRow("Clasificacion").ToString, dRow("CvePS").ToString.ToEntero, dRow("PS").ToString, 1, dRow("CveSubProyecto").ToString, dRow("SubProyecto").ToString, "",