@@ -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 @@
+
+
@@ -5753,6 +5755,11 @@
+
+
+ Cargar Plantilla
+
+
@@ -5830,6 +5837,10 @@
+
+
+
+
+ <%--CARGA PRORRATEO PLANTILLA--%>
+
+
+
+
+
+
Carga Plantilla Prorrateo
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
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.79361cm11.65255cm0.6cm
- 9.5262cm
+ 9.15694cm4
- 0.68252in
+ 0.62002in