diff --git a/AF/CatAF.aspx b/AF/CatAF.aspx index 7b11dbbb3..2477b9e6d 100644 --- a/AF/CatAF.aspx +++ b/AF/CatAF.aspx @@ -36,7 +36,54 @@ padding-right: 4px !important; padding-left: 4px !important; } + + img.cbp-img-ajustada { + max-width: 150px; + max-height: 150px; + height: auto; + width: auto; + object-fit: contain; + display: block; + cursor: pointer; +} + + @@ -370,6 +417,39 @@ + + + <%-- 20 --%> + + + + +
+
+
+
+ +
+
+
+ + <%----%> +
+
+
+
+
+
+
+
+
+
+
+
+
+ @@ -436,30 +516,18 @@ - - - - - + + + + + + - + - - - - - - - + - - - - - - - @@ -496,7 +564,10 @@ - +
+ × + Vista ampliada +
@@ -516,4 +587,57 @@ } --%> + + <%----%> + + + + + diff --git a/AF/CatAF.aspx.vb b/AF/CatAF.aspx.vb index 6feb748f4..d50f844b9 100644 --- a/AF/CatAF.aspx.vb +++ b/AF/CatAF.aspx.vb @@ -53,6 +53,14 @@ Partial Class AF_CatAF CargaCombos() CargaCaracteristicas() + If UsuarioActual.CveEmpresa = 13 Then + ChkUltimaImagen.Checked = True + ChkMarcaActivoFijo.Checked = True + ChkModeloActivoFijo.Checked = True + ChkNoSerie.Checked = True + ChkObservaciones.Checked = True + End If + If (Request("GPO") IsNot Nothing AndAlso Request("GPO").ToEntero() > 0) Then CargaParametrosInicial() Else @@ -62,6 +70,7 @@ Partial Class AF_CatAF CargaPersonalizacion() + End If End Sub @@ -598,6 +607,8 @@ Partial Class AF_CatAF If ChkObservaciones.Checked Then ListPersonalizada.Add("Observaciones") + If ChkUltimaImagen.Checked Then ListPersonalizada.Add("UltimaImagen") + If objUsuario.AddUsuariosPersonalizaciones(UsuarioActual, "CatAF.aspx", String.Join("|", ListPersonalizada)) Then 'Alert("Personalizacion guardada") @@ -638,6 +649,15 @@ Partial Class AF_CatAF 'ChkSubProyecto.Checked = False ChkNombreCliente.Checked = False ChkObservaciones.Checked = False + ChkUltimaImagen.Checked = False + + If UsuarioActual.CveEmpresa = 13 Then + ChkUltimaImagen.Checked = True + ChkMarcaActivoFijo.Checked = True + ChkModeloActivoFijo.Checked = True + ChkNoSerie.Checked = True + ChkObservaciones.Checked = True + End If Dim Personalizaciones As String() = strBasePersonalizacion.Split("|"c) @@ -703,6 +723,9 @@ Partial Class AF_CatAF Case "Observaciones" ChkObservaciones.Checked = True Exit Select + Case "UltimaImagen" + ChkUltimaImagen.Checked = True + Exit Select Case Else Exit Select End Select @@ -762,6 +785,7 @@ Partial Class AF_CatAF 'GvDatos.Columns(18).Visible = ChkSubProyecto.Checked GvDatos.Columns(18).Visible = ChkNombreCliente.Checked GvDatos.Columns(19).Visible = ChkObservaciones.Checked + GvDatos.Columns(20).Visible = ChkUltimaImagen.Checked diff --git a/App_Code/ClsBancos.vb b/App_Code/ClsBancos.vb index 145843325..135d41b25 100644 --- a/App_Code/ClsBancos.vb +++ b/App_Code/ClsBancos.vb @@ -1593,7 +1593,14 @@ Public Class ClsBancos ' Me.OnError("Ocurrió un error al guardar los cambios en el Banco", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) ' End If Catch ex As Exception - OnError("Ocurrió un error al guardar los cambios en el Banco IE Conciliar.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + + If ex.Message.Contains("Número: 2601;") Then + Alert("Ya existe un movimiento bancario con el mismo Folio: " & Folio & ".", TipoMensaje.MsgAdvertencia) + Me.OnError("Ocurrió un error al Guardar el Movimiento. Ya existe un movimiento bancario con el mismo Folio: " & Folio & ".", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo()) + Else + OnError("Ocurrió un error al guardar los cambios en el Banco IE Conciliar.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End If + End Try Return Retorno diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index 889e34b70..bf2ccb6ec 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -5741,6 +5741,8 @@ +
+ + Cargar Plantilla + +
@@ -5830,6 +5837,10 @@ + + + +
+ <%--CARGA PRORRATEO PLANTILLA--%> + + + +
diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 8639d2747..97a59218f 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,66 +8030,66 @@ 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() - - 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("

El proveedor tiene evaluaciones pendientes
") - Msg.Append("¿Desea realizar una evaluación al proveedor?") - Msg.AppendFormat($"
Evaluar Proveedor.") - 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("

El proveedor tiene evaluaciones pendientes
") + Msg.Append("¿Desea realizar una evaluación al proveedor?") + Msg.AppendFormat($"
Evaluar Proveedor.") + 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) @@ -22946,7 +22948,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 +22958,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 +23076,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.MsgAdvertencia) + 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/Compras/PopUpVerFactura.aspx.vb b/Compras/PopUpVerFactura.aspx.vb index c6e5e4842..59ece46c1 100644 --- a/Compras/PopUpVerFactura.aspx.vb +++ b/Compras/PopUpVerFactura.aspx.vb @@ -3538,7 +3538,12 @@ Partial Class PopUpVerFactura params.Add(New ReportParameter("Almacen", Almacen)) params.Add(New ReportParameter("Fecha", Fecha)) params.Add(New ReportParameter("FacturaProveedor", FolioVenta)) - params.Add(New ReportParameter("FacturadoA", If(DtMovimientos(0)("Nombre").ToString <> "", DtMovimientos(0)("Nombre").ToString, NombreCliente))) + If NombreCliente = "" Then + params.Add(New ReportParameter("FacturadoA", Recibio)) + Else + params.Add(New ReportParameter("FacturadoA", If(DtMovimientos(0)("Nombre").ToString <> "", DtMovimientos(0)("Nombre").ToString, NombreCliente))) + End If + params.Add(New ReportParameter("Observaciones", Observaciones)) params.Add(New ReportParameter("FechaImpresion", NowADS().ToString("dd/MM/yyyy"))) params.Add(New ReportParameter("Folio", Folio)) diff --git a/Empresas/Grales/Formatos/Salida.rdlc b/Empresas/Grales/Formatos/Salida.rdlc index eb306ae32..3428967bb 100644 --- a/Empresas/Grales/Formatos/Salida.rdlc +++ b/Empresas/Grales/Formatos/Salida.rdlc @@ -345,7 +345,7 @@ =Fields!Cantidad.Value @@ -1104,7 +1104,7 @@ 0.79361cm 11.65255cm 0.6cm - 9.5262cm + 9.15694cm 4 - 0.68252in + 0.62002in @@ -1045,7 +1045,7 @@ =Parameters!SubProyecto.Value @@ -1057,7 +1057,7 @@ 3.24566cm 0.00711cm 0.6cm - 14.27979cm + 16.54562cm 6