diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb
index 6d7a6cc18..28c2004c9 100644
--- a/Compras/Compras.aspx.vb
+++ b/Compras/Compras.aspx.vb
@@ -13,6 +13,8 @@ Imports MoreLinq
Imports System.Data.SqlClient
Imports ClsPaginas
Imports Microsoft.Reporting.WebForms
+Imports Microsoft.Owin.Security.Provider
+
Partial Class Compras_Compras
Inherits ClsPaginas
@@ -8028,102 +8030,111 @@ Partial Class Compras_Compras
End If
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 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
- If ObjConta.ValorPolizaDescuadre > 0 Then
- Alert($"{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia}", TipoMensaje.MsgError)
- ErrorPrepolizaDescuadre = True
- End If
End If
- 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
-
- 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
- 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,
+ TxtSerie.Text, TxtFolio.Text, PrefijoSerie:="PP") Then
+ TieneError = True
End If
- If Not TieneError Then
- ObjCompras.Commit()
- If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
+ End If
- Dim CveEvaluacionProveedor As Integer = -1
+ If Not TieneError Then
+ ObjCompras.Commit()
+ If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
- If Me.RequiereEvaluacion Then
- Dim ObjPro As New ClsCompProveedores()
- CveEvaluacionProveedor = ObjPro.AddEvaluacionProveedor(CveProveedor, CveCompra, NowADS(), "", Me.CveUsuarioEvaluador, "", "", UsuarioActual.CveEmpresa)
- ObjPro.Dispose()
- End If
+ Dim CveEvaluacionProveedor As Integer = -1
- '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 Me.RequiereEvaluacion Then
+ Dim ObjPro As New ClsCompProveedores()
+ CveEvaluacionProveedor = ObjPro.AddEvaluacionProveedor(CveProveedor, CveCompra, NowADS(), "", Me.CveUsuarioEvaluador, "", "", UsuarioActual.CveEmpresa)
+ ObjPro.Dispose()
+ End If
- If CveEvaluacionProveedor > 0 Then
- Msg.Append("
El proveedor tiene evaluaciones pendientes ")
- Msg.Append("¿Desea realizar una evaluación al proveedor?")
- Msg.AppendFormat($"Evaluar Proveedor.")
- 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
- BtnGuardar.Enabled = False
- UpFacturar.Update()
-
- Alert(Msg.ToString, TipoMensaje.MsgInformacion, MsgAccionAceptar)
- Else
- ObjCompras.RollBack()
- If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
+<<<<<<< HEAD
+ 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 CveEvaluacionProveedor > 0 Then
+ Msg.Append("
El proveedor tiene evaluaciones pendientes ")
+ Msg.Append("¿Desea realizar una evaluación al proveedor?")
+ Msg.AppendFormat($"Evaluar Proveedor.")
+ End If
+>>>>>>> Compras Plantilla Prorrateo, Cat Secciones Tipo Operación, EMD Ajustes formatos almacén
+ 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)
+ 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
- Alert("Debe seleccionar un Funcionario/Empleado o Caja Chica para Reembolsos. Por favor vuelva a intentar.", TipoMensaje.MsgError)
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
+
Else
- Alert("Ocurrió un error al agregar el movimiento bancario. Revise sus datos de pago y cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgAdvertencia)
+ Alert("Debe seleccionar un Funcionario/Empleado o Caja Chica para Reembolsos. Por favor vuelva a intentar.", TipoMensaje.MsgError)
ObjCompras.RollBack()
+ If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
End If
+ Else
+ Alert("Ocurrió un error al agregar el movimiento bancario. Revise sus datos de pago y cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgAdvertencia)
+ ObjCompras.RollBack()
+ End If
+
End If
- Catch ex As Exception
- ObjCompras.RollBack()
- If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
- Alert("Ocurrió un error al registrar la compra. Cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgError)
- GuardaLog($"Ocurrió un error al registrar la compra. Cualquier detalle comuníquese a Soporte Técnico : {ex}")
- ViewState("CveCompra") = -1
- End Try
- ObjAcar.Dispose()
- ObjCompras.Dispose()
- ObjConta.Dispose()
- ObjIE.Dispose()
- ObjInventario.Dispose()
- ObjAF.Dispose()
- ObjOC.Dispose()
- ObjProveedores.Dispose()
- ObjCGame.Dispose()
- ObjProductosServicios.Dispose()
+ Catch ex As Exception
+ ObjCompras.RollBack()
+ If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
+ Alert("Ocurrió un error al registrar la compra. Cualquier detalle comuníquese a Soporte Técnico", TipoMensaje.MsgError)
+ GuardaLog($"Ocurrió un error al registrar la compra. Cualquier detalle comuníquese a Soporte Técnico : {ex}")
+ ViewState("CveCompra") = -1
+ End Try
+ ObjAcar.Dispose()
+ ObjCompras.Dispose()
+ ObjConta.Dispose()
+ ObjIE.Dispose()
+ ObjInventario.Dispose()
+ ObjAF.Dispose()
+ ObjOC.Dispose()
+ ObjProveedores.Dispose()
+ ObjCGame.Dispose()
+ ObjProductosServicios.Dispose()
End If
End Sub
@@ -22946,7 +22957,7 @@ Partial Class Compras_Compras
End Sub
- Private Sub AgregarProrrateoGasolina(CveSubProyecto As Integer, SubProyecto As String, CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String)
+ Private Sub AgregarProrrateoGasolina(CveSubProyecto As Integer, SubProyecto As String, CvePS As Integer, CveUM As Integer, UM As String, CveClasificacion As Integer, Clasificacion As String, Optional PrecioProrrateo As Decimal = 0)
Dim SubTotalOriginal As Decimal = TxtSubTotal.Text.ToDecimal
Dim IVAOriginal As Decimal = TxtIVA.Text.ToDecimal
@@ -22956,6 +22967,10 @@ Partial Class Compras_Compras
Dim totalParcialDeseado As Decimal = TxtPrecioProrrateoGasolina.Text.ToDecimal
+ If PrecioProrrateo > 0 Then
+ totalParcialDeseado = PrecioProrrateo
+ End If
+
Dim PorcentajeCalculado As Decimal = totalParcialDeseado / TotalOriginal
Dim subtotalParcial As Decimal = SubTotalOriginal * PorcentajeCalculado
@@ -23070,15 +23085,180 @@ Partial Class Compras_Compras
End If
+ End Sub
+ Protected Sub LnkProrrateoPlantilla_Click(sender As Object, e As EventArgs)
+
+ If DdlPSProrrateoGasolina.SelectedValue.ToEntero > 0 And TxtTotal.Text.ToDecimal > 0 Then
+ TxtExcelProrrateo.Text = "[]"
+ UpDropZoneProrrateoPlantilla.Update()
+ RegistraScript("$('#DVModalProrrateoPlantilla').modal('show');")
+ Else
+
+ If Not DdlPSProrrateoGasolina.SelectedValue.ToEntero > 0 Then
+ Alert("Debe seleccionar un producto.", TipoMensaje.MsgAdvertencia)
+ End If
+
+ If Not TxtTotal.Text.ToDecimal > 0 Then
+ Alert("El total de la compra debe de ser mayor a 0.", TipoMensaje.MsgAdvertencia)
+ End If
+
+ End If
End Sub
+ Protected Sub LnkDescargaPlatillaProrrateo_Click(sender As Object, e As EventArgs)
+
+
+ Dim RutaPlantilla As String = ""
+
+ RutaPlantilla = ModExtensiones.DirectorioBaseEmpresas & "Empresas\Grales\PlantillaProrrateo.xlsx"
+
+ If Not (RutaPlantilla = "") Then
+ Dim Archivo As New IO.FileInfo(RutaPlantilla)
+ If Archivo.Exists Then
+ Response.Clear()
+ Response.ClearHeaders()
+ Response.ClearContent()
+ Response.AddHeader("Content-Disposition", "attachment; filename=" + Archivo.Name)
+ Response.AddHeader("Content-Length", Archivo.Length.ToString())
+ Response.ContentType = "text/plain"
+ Response.Flush()
+ Response.TransmitFile(Archivo.FullName)
+ Response.End()
+ End If
+ End If
+
+ End Sub
+
+ Protected Sub BtnAddProrrateoPlantilla_Click(sender As Object, e As EventArgs)
+
+ Dim ErrorPrceos As Boolean = False
+
+ If TxtExcelProrrateo.getfiles().Archivos.Count > 0 Then
+ Dim file As Archivo = TxtExcelProrrateo.getfiles().Archivos(0)
+ Dim Directorio As String = AppDomain.CurrentDomain.BaseDirectory & file.path
+ Try
+ If Not CargarPlantillaProrrateo(Directorio, file.filename) Then
+ ErrorPrceos = True
+ End If
+ Catch ex As Exception
+ OnError("Ocurrio un error al leer el archivo " & ex.Message, ex)
+ End Try
+
+ Else
+ Alert("No existe el archivo. Favor de subir un archivo excel a la plataforma.", TipoMensaje.MsgError)
+ ErrorPrceos = True
+ End If
+
+ If Not ErrorPrceos Then
+ If Not ErrorPrceos Then
+ RegistraScript("$('#DVModalProrrateoPlantilla').modal('hide');")
+ End If
+ End If
+
+ End Sub
+
+ Private Function CargarPlantillaProrrateo(directorio As String, filename As String) As Boolean
+
+ Dim DT As New DataTable
+ Dim ErrorProceso As Boolean = False
+
+
+ Try
+ DT = ReadExcelFile(directorio + filename, True)
+ Catch ex As Exception
+ ErrorProceso = True
+ OnError("Ocurrio un error al leer el archivo " & ex.Message, ex)
+ End Try
+
+ If Not ErrorProceso Then
+
+ Dim ContadorRow As Integer = 1
+ Dim SBErrores As New StringBuilder
+
+ For Each row As DataRow In DT.Rows
+
+ If row("SubProyecto").ToString.Length > 0 Then
+
+ Dim CveSubProyecto As Integer = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $" SubProyecto = '{row("SubProyecto").ToString}' ").ToEntero
+ Dim Importe As Decimal = row("Importe").ToString.ToDecimal
+
+ If Not CveSubProyecto > 0 Then
+ SBErrores.Append($"Fila: {ContadorRow} SubProyecto: {row("SubProyecto").ToString} no encontrado. ")
+ ErrorProceso = True
+ End If
+
+ If Not Importe > 0 Then
+ SBErrores.Append($"Fila: {ContadorRow} Importe Invalido: { Importe } debe ser mayor a 0. ")
+ ErrorProceso = True
+ End If
+
+ End If
+
+ ContadorRow = ContadorRow + 1
+
+ Next
+
+ If Not ErrorProceso Then
+
+ DTProrrateoGasolina.Rows.Clear()
+
+ Dim CvePs As Integer = DdlPSProrrateoGasolina.SelectedValue.ToEntero
+
+ If Not CvePs > 0 Then
+ Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia)
+ ErrorProceso = True
+ End If
+
+ Dim PsRow As DataRow = GlobalDTPS(UsuarioActual.CveEmpresa, CvePs).FiltroPrimero("")
+
+ If PsRow Is Nothing Then
+ Alert("No se encontro el producto", TipoMensaje.MsgAdvertencia)
+ ErrorProceso = True
+ End If
+
+ If Not ErrorProceso Then
+ Dim CveUM As Integer = PsRow("CveUM").ToString.ToEntero
+ Dim UM As String = GlobalDTUnidadesMedida(UsuarioActual.CveEmpresa).FiltroPrimeroValor("UnidadMedida", $" CveUnidadMedida = {CveUM} ")
+
+ Dim CveClasificacion As Integer = PsRow("CveClasificacion").ToString.ToEntero
+ Dim Clasificacion As String = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Clasificacion", $" CveClasificacion = {CveClasificacion} ")
+
+ For Each row As DataRow In DT.Rows
+ Dim CveSubProyecto As Integer = GlobalDTSubProyectos(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $" SubProyecto = '{row("SubProyecto").ToString}' ").ToEntero
+ Dim Importe As Decimal = row("Importe").ToString.ToDecimal
+ AgregarProrrateoGasolina(CveSubProyecto, row("SubProyecto").ToString, CvePs, CveUM, UM, CveClasificacion, Clasificacion, PrecioProrrateo:=Importe)
+ Next
+ End If
+
+ Else
+ Alert(SBErrores.ToString, TipoMensaje.MsgError)
+ End If
+
+ End If
+
+
+ If Not ErrorProceso Then
+ TxtPrecioProrrateoGasolina.Text = ""
+ DdlSubProyectoProrrateoGasolina.SelectedValueExist(-1)
+ UpModalProrrateoGasolina.Update()
+ End If
+
+
+ Return If(ErrorProceso, False, True)
+
+ End Function
+
#End Region
+
+
+
+
End Class
diff --git a/Empresas/Grales/Formatos/Salida.rdlc b/Empresas/Grales/Formatos/Salida.rdlc
index eb306ae32..ec108c2e6 100644
--- a/Empresas/Grales/Formatos/Salida.rdlc
+++ b/Empresas/Grales/Formatos/Salida.rdlc
@@ -345,7 +345,7 @@
=Fields!Cantidad.Value
diff --git a/Empresas/Grales/Formatos/Traslado.rdlc b/Empresas/Grales/Formatos/Traslado.rdlc
index 2c51a13d9..8a36779f7 100644
--- a/Empresas/Grales/Formatos/Traslado.rdlc
+++ b/Empresas/Grales/Formatos/Traslado.rdlc
@@ -826,13 +826,13 @@
- 0.68252in
+ 0.62002in