This commit is contained in:
2024-10-29 19:02:58 -07:00
15 changed files with 1344 additions and 1077 deletions

View File

@@ -799,6 +799,22 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function UpdateIxCAnticipoAutorizado(CveIE As Integer, Autorizado As Boolean) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_IxCAnticipoAutorizadoUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveIE", SqlDbType.Int).Value = CveIE
.Add("@Autorizado", SqlDbType.Bit).Value = Autorizado
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el estatus del anticipo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function UpdateFechaVencimientoVenta(CveVenta As Integer, FechaVencimiento As Date) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasFechaVencimientoUpdate")

View File

@@ -243,7 +243,7 @@
</div>
</div>
<div class="row rowcheck truncate" id="DivDescuentocheck" style="margin-top: -25px;">
<div class="row rowcheck truncate" id="DivDescuentocheck" style="margin-top: -25px;" runat="server">
<div class="col-md-1" runat="server" id="Div1" style="width: 155px">
<asp:CheckBox ID="ChkDescuento" runat="server" Text="Descuento" CssClass="checkbox" />
</div>
@@ -273,7 +273,7 @@
</div>
</div>
<div class="row rowcheck truncate" id="DivIntercheck" style="margin-top: -15px;">
<div class="row rowcheck truncate" id="DivIntercheck" style="margin-top: -15px;" runat="server">
<div class="col-md-1" runat="server" id="Div2" style="width: 155px">
<asp:CheckBox ID="ChkIntermediario" runat="server" Text="Intermediario" CssClass="checkbox" />

View File

@@ -45,12 +45,15 @@ Partial Class Bancos_DepositosCaja
'HplImprimirPDF.NavigateUrl = $"/Compras/PopUpVerFactura.aspx?P={StrEncriptPrueba}"
If UsuarioActual.CveEmpresa = 189 Then
If DdlTipoPago.Items.FindByValue("-1") IsNot Nothing Then
DdlTipoPago.Items.Remove(DdlTipoPago.Items.FindByValue("-1"))
End If
If DdlTipoPago.Items.FindByValue("-1") IsNot Nothing Then
DdlTipoPago.Items.Remove(DdlTipoPago.Items.FindByValue("-1"))
End If
End If
DivDescuentocheck.Visible = False
DivIntercheck.Visible = False
End If
End If
End Sub
Private Sub CargaCuentas()
@@ -509,7 +512,7 @@ Partial Class Bancos_DepositosCaja
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha).AddDays(1)
If ObjMovtos.GetRemisionesCobranza(UsuarioActual.CveEmpresa, DdlSubProyectos.SelectedValue.ToEntero, FechaI, FechaF) Then
Dim dtt As DataTable = ObjMovtos.DtResultados.FiltraParametros($"CveVenta > 0 AND (CveUsuarioCobranza IS NULL OR CveUsuarioCobranza = {UsuarioActual.CveUsuario}) AND TipoDocto IN ('Ing','Rem')")
Dim dtt As DataTable = ObjMovtos.DtResultados.FiltraParametros($"CveVenta > 0 AND (CveUsuarioCobranza IS NULL OR CveUsuarioCobranza = {UsuarioActual.CveUsuario}) AND TipoDocto IN ('Ing','Rem') AND RemisionEspecial = 0")
'Dim Dtta As DataTable = dtt.FiltraParametros($"CveUsuarioCobranza = {UsuarioActual.CveUsuario} ")
'If Dtta IsNot Nothing AndAlso Dtta.Rows.Count > 0 Then dtt = Dtta

View File

@@ -1428,7 +1428,7 @@ Partial Class Compras_Compras
End If
Next
If HayDifIEPS Then Alert("El porcentaje de IEPS del producto no coincide con el especificado.", TipoMensaje.MsgAdvertencia)
'If HayDifIEPS Then Alert("El porcentaje de IEPS del producto no coincide con el especificado.", TipoMensaje.MsgAdvertencia)
If UsuarioActual.Empresa.Funcionalidad(562).ToEntero > 0 Then CargaGastosServicios(UsuarioActual.Empresa.Funcionalidad(562).ToEntero)
@@ -1986,13 +1986,14 @@ Partial Class Compras_Compras
End If
End If
Next
If EmisorRegimenFiscal = "626" AndAlso Not RetISRResico AndAlso EmisorRFC.Length = 13 Then 'solo para personas físicas
If EmisorRegimenFiscal = "626" AndAlso Not RetISRResico AndAlso EmisorRFC.Length = 13 AndAlso UsuarioActual.CveEmpresa.Contiene(119, 158) Then 'solo para personas físicas
SbValRet.Append(" La factura no tiene especificado una retención de ISR, ya que el proveedor es Resico. <br/>")
BtnGuardar.Enabled = False
End If
If SbValRet.ToString.Trim.Length > 0 Then
Alert(SbValRet.ToString, TipoMensaje.MsgAdvertencia)
Alert("El porcentaje de IEPS del producto no coincide con el especificado.<br/><br/>" & SbValRet.ToString, TipoMensaje.MsgAdvertencia)
End If
Else
@@ -8055,10 +8056,10 @@ Partial Class Compras_Compras
If (TmpDT.Rows(IndiceUltimo)("IVA").ToString.ToDecimal + DiferenciaIVas) < 0 Then
Dim AjusteteDividido As Decimal = Math.Abs(DiferenciaIVas) / CantidadRegistroConIVA
Dim AjusteteDividido As Decimal = DiferenciaIVas / CantidadRegistroConIVA
For Each dRow As DataRow In TmpDT.Rows
dRow("IVA") = dRow("IVA").ToString.ToDecimal - AjusteteDividido
dRow("IVA") = dRow("IVA").ToString.ToDecimal + AjusteteDividido
Next
Else

View File

@@ -1584,58 +1584,73 @@ Partial Class Compras_eFacturas
Dim FiInfo As New FileInfo(comprmido)
Using stream As Stream = System.IO.File.OpenRead(FiInfo.FullName)
Try
Dim reader = ReaderFactory.Open(stream)
Try
Using stream As Stream = System.IO.File.OpenRead(FiInfo.FullName)
Try
Dim reader = ReaderFactory.Open(stream)
Dim Multiparte As Boolean = False
If Path.GetExtension(FiInfo.FullName.ToUpper()) = ".RAR" And FiInfo.FullName.ToUpper().Contains(".PART") Then
'SI ES .RAR, PUEDE SER MULTI PART Y PUEDE TRONAR
Using archive As RarArchive = RarArchive.Open(FiInfo.FullName)
If archive.IsMultipartVolume() Then
Multiparte = True
End If
End Using
End If
Dim PdfList As New List(Of String)
If Not Multiparte Then
'puede tronar si el archivo es multiparte
While reader.MoveToNextEntry()
If Not reader.Entry.IsDirectory Then
'Si es un archivo XML, lo leo y lo guardo
Dim nombreArchivo As String = ""
If reader.Entry.FilePath.Contains("/") Then
nombreArchivo = reader.Entry.FilePath.Substring(reader.Entry.FilePath.LastIndexOf("/") + 1)
Else
nombreArchivo = reader.Entry.FilePath
Dim Multiparte As Boolean = False
If Path.GetExtension(FiInfo.FullName.ToUpper()) = ".RAR" And FiInfo.FullName.ToUpper().Contains(".PART") Then
'SI ES .RAR, PUEDE SER MULTI PART Y PUEDE TRONAR
Using archive As RarArchive = RarArchive.Open(FiInfo.FullName)
If archive.IsMultipartVolume() Then
Multiparte = True
End If
End Using
End If
If Path.GetExtension(reader.Entry.FilePath.ToUpper()) = ".XML" Then
reader.WriteEntryToDirectory(String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ExtractOptions.None Or ExtractOptions.Overwrite)
ListXML.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, nombreArchivo))
Dim PdfList As New List(Of String)
If Not Multiparte Then
'puede tronar si el archivo es multiparte
While reader.MoveToNextEntry()
If Not reader.Entry.IsDirectory Then
'Si es un archivo XML, lo leo y lo guardo
Dim nombreArchivo As String = ""
If reader.Entry.FilePath.Contains("/") Then
nombreArchivo = reader.Entry.FilePath.Substring(reader.Entry.FilePath.LastIndexOf("/") + 1)
Else
nombreArchivo = reader.Entry.FilePath
End If
If Path.GetExtension(reader.Entry.FilePath.ToUpper()) = ".XML" Then
reader.WriteEntryToDirectory(String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ExtractOptions.None Or ExtractOptions.Overwrite)
ListXML.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, nombreArchivo))
End If
If Path.GetExtension(reader.Entry.FilePath.ToUpper()) = ".PDF" Then
'este sale de un error al leer el pdf, como lo estoy recorriendo de una vez lo guardo y lo vinculo, si la coincidencia es por nombre o número de folio
'string RFCEmisor = BuscaFactura(System.IO.Path.GetFileNameWithoutExtension(reader.Entry.FilePath).ToUpper(), Arreglo, True);
'if (!string.IsNullOrEmpty(RFCEmisor))
' {
'If Not Directory.Exists(String.Format("{0}{1}", Temporal, RFCEmisor)) Then Directory.CreateDirectory(String.Format("{0}{1}", Temporal, RFCEmisor))
'reader.WriteEntryToDirectory(String.Format("{0}{1}", Temporal, ""), ExtractOptions.None Or ExtractOptions.Overwrite)
reader.WriteEntryToDirectory(String.Format("{0}{1}", String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ""), ExtractOptions.None Or ExtractOptions.Overwrite)
ListPDF.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, nombreArchivo))
End If
End If
If Path.GetExtension(reader.Entry.FilePath.ToUpper()) = ".PDF" Then
'este sale de un error al leer el pdf, como lo estoy recorriendo de una vez lo guardo y lo vinculo, si la coincidencia es por nombre o número de folio
'string RFCEmisor = BuscaFactura(System.IO.Path.GetFileNameWithoutExtension(reader.Entry.FilePath).ToUpper(), Arreglo, True);
'if (!string.IsNullOrEmpty(RFCEmisor))
' {
'If Not Directory.Exists(String.Format("{0}{1}", Temporal, RFCEmisor)) Then Directory.CreateDirectory(String.Format("{0}{1}", Temporal, RFCEmisor))
End While
End If
Catch ex As Exception
GuardaLogAD("'ERROR :" & ex.Message, eFacturasLog)
End Try
End Using
Catch ex As Exception
If UsuarioActual.CveRol = 1 Then
Alert($"Error al procesar archivo: {FiInfo.FullName} Error:{ex.Message} stackTrace: {ex.StackTrace}", TipoMensaje.MsgAdvertencia)
GuardaLogAD($"Error al procesar archivo: {FiInfo.FullName} Error:{ex.Message} stackTrace: {ex.StackTrace}")
Else
Alert("Se presento un error al procesar las solcictudes. comuniquese con soporte tecnico.", TipoMensaje.MsgAdvertencia)
GuardaLogAD($"Error al procesar archivo: {FiInfo.FullName} Error:{ex.Message} stackTrace: {ex.StackTrace}")
End If
Exit Sub
End Try
'reader.WriteEntryToDirectory(String.Format("{0}{1}", Temporal, ""), ExtractOptions.None Or ExtractOptions.Overwrite)
reader.WriteEntryToDirectory(String.Format("{0}{1}", String.Format("{0}Temp\Facturas", UsuarioActual.Empresa.Ruta), ""), ExtractOptions.None Or ExtractOptions.Overwrite)
ListPDF.Add(String.Format("{0}Temp\Facturas\{1}", UsuarioActual.Empresa.Ruta, nombreArchivo))
End If
End If
End While
End If
Catch ex As Exception
GuardaLogAD("'ERROR :" & ex.Message, eFacturasLog)
End Try
End Using
Next
@@ -1726,6 +1741,7 @@ Partial Class Compras_eFacturas
For Each s As String In ListComprimidos
Try
File.Delete(s)
GuardaLogAD("")
Catch ex As Exception
End Try
Next
@@ -2853,11 +2869,14 @@ Partial Class Compras_eFacturas
Dim TipoMensaje As ModExtensiones.TipoMensaje = ModExtensiones.TipoMensaje.MsgInformacion
Dim ListComprimidos As New List(Of String)
Dim ListXML As New List(Of String)
Dim ListPDF As New List(Of String)
For Each GvRow As GridViewRow In GVSolicitudesPendientes.Rows
Dim ListComprimidos As New List(Of String)
Dim ListXML As New List(Of String)
Dim ListPDF As New List(Of String)
Dim CveSolicitudActual As Integer = GvRow.DataKey("CveSolicitud").ToEntero()
Dim idSolicitud As String = GvRow.DataKey("idSolicitud").Trim()
Dim CveTipoSolicitud As Integer = GvRow.DataKey("CveTipoSolicitud").ToEntero()
@@ -2872,6 +2891,7 @@ Partial Class Compras_eFacturas
Dim ResultadoSolicitudOK As Boolean = False
Dim api As New GeneralesAPIeFacturas(If(EsProduccion, "http://localhost:4001/", "http://localhost:60281/"))
Dim Verificar As Boolean = True
If idSolicitud.Length = 0 Then
@@ -2938,6 +2958,7 @@ Partial Class Compras_eFacturas
If File.Exists(destFile) Then
ListComprimidos.Add(destFile)
'GuardaLogAD($"eFacturas Solicitudes SAT Archivo copiado a {destFile}")
Else
sbArchivosFaltantes.AppendFormat("<br/> Folio: {0} Archivo: {1}", Folio, fileName)
End If

View File

@@ -3533,6 +3533,8 @@
</ReportParameter>
<ReportParameter Name="RegimenFiscalCodigo">
<DataType>String</DataType>
<Nullable>true</Nullable>
<AllowBlank>true</AllowBlank>
<Prompt>ReportParameter1</Prompt>
</ReportParameter>
</ReportParameters>

View File

@@ -738,7 +738,7 @@ CIUDAD DE MEXICO</Value>
</Paragraphs>
<rd:DefaultName>Textbox6</rd:DefaultName>
<Top>0.93835cm</Top>
<Left>4.49034cm</Left>
<Left>4.52562cm</Left>
<Height>1.56146cm</Height>
<Width>10.79062cm</Width>
<ZIndex>1</ZIndex>

View File

@@ -807,9 +807,10 @@ Partial Class Inventarios_Kardex
Protected Sub ddlProducto2_selectedindexchange(sender As Object, e As EventArgs)
LnkKPIVerComportamiento.Visible = False
If ddlProducto2.SelectedValue.ToEntero > 0 Then
If ddlProducto2.SelectedValue.ToEntero > 0 And UsuarioActual.CveRol = 1 Then
LnkKPIVerComportamiento.Visible = True
End If
UpAcciones.Update()
End Sub
End Class

View File

@@ -1016,13 +1016,12 @@ Partial Class OC_OC
LblPrioridad.Text = "Sucursal"
DdlPrioridad.Visible = False
DdlSubProyectoGral.Visible = True
End If
If UsuarioActual.CveRol = 1 Then
TrDescuentoEscalonado.Visible = True
TrDescuentoProntoPago.Visible = True
End If
If UsuarioActual.Empresa.CveEmpresa = 189 AndAlso CveOrdenCompra <> Nothing AndAlso CveOrdenCompra > 0 Then
BtnEdicionMasiva.Visible = True
End If

View File

@@ -4079,8 +4079,12 @@
<asp:UpdatePanel ID="UPGvDocumentosFirma" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:UpdatePanel ID="UpGvDocumentosFirma2" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="col-md-12">
<asp:GridView ID="GvDocumentosFirma" runat="server" AutoGenerateColumns="False" DataKeyNames="CveDocumentacion,Documentacion,Orden,CveDocumentacionElectronica,Adjunto,Estatus,Observacion,Fecha,FechaIng,Usuario,FechaLimite,DocumentacionFormato,FechaVigencia,DiasLimite,AplicaDiasLimite,AplicaFechaVencimiento"
EmptyDataText="No se encontraron registros de documentos" CssClass="table table-hover table-advance Widthall" GridLines="None">
<Columns>
@@ -4149,7 +4153,9 @@
<asp:TemplateField ItemStyle-HorizontalAlign="Right" ItemStyle-Width="50px">
<ItemTemplate>
<asp:Literal ID="ImgDownLoad" runat="server"></asp:Literal>
<%--<asp:Literal ID="ImgDownLoad" runat="server" ></asp:Literal>--%>
<asp:LinkButton ID="ImgDownLoad" CssClass="btn btn-circle btn-sm blue" OnClick="ImgDownLoad_Click" runat="server"
Text="<i class='fa fa-download' style='color:white' title='Descargar formato'></i>" CausesValidation="False" />
</ItemTemplate>
</asp:TemplateField>
@@ -4161,6 +4167,7 @@
</asp:TemplateField>--%>
</Columns>
</asp:GridView>
</div>
<asp:UpdatePanel ID="UpImprimir" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table runat="server" visible="false" class="table table-hover table-advance Widthall">

View File

@@ -7,6 +7,7 @@ Imports System.Data
Imports Microsoft.Reporting.WebForms
Imports System.Globalization
Imports System.Data.SqlTypes
Imports DocumentFormat.OpenXml.Drawing.Diagrams
Partial Class RH_Personal
Inherits ClsPaginas
@@ -4357,6 +4358,7 @@ Partial Class RH_Personal
objRH.Dispose()
End Sub
Protected Sub GvDocumentosFirma_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvDocumentosFirma.RowDataBound
@@ -4364,7 +4366,8 @@ Partial Class RH_Personal
Dim Adjunto As String = e.Row.DBCampo("Adjunto").ToString()
Dim ImgDownLoadFormato As LinkButton = e.Row.FCLinkButton("ImgDownLoadFormato")
Dim ImgDownLoad As Literal = e.Row.FCLiteral("ImgDownLoad")
Dim ImgDownLoad As LinkButton = e.Row.FCLinkButton("ImgDownLoad")
Dim ImgRequired As Literal = e.Row.FCLiteral("ImgRequired")
Dim txtFechaLimite As TextBox = e.Row.FCTextBox("TxtFechaLimite")
Dim requerido As Boolean = If(e.Row.DBCampo("Requerido").ToUpper = "TRUE", True, False)
@@ -4417,14 +4420,18 @@ Partial Class RH_Personal
If File.Exists(linkDescargaArchivo) Then
ImgDownLoad.Visible = True
If extencion.Length > 0 Then
ImgDownLoad.Text = String.Format(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CvePersonal & Documentacion & "." & extencion)
Else
ImgDownLoad.Text = String.Format(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CvePersonal & Documentacion)
End If
ScriptManager.GetCurrent(Me).RegisterPostBackControl(ImgDownLoad)
'If extencion.Length > 0 Then
' ImgDownLoad.Text = String.Format(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CvePersonal & Documentacion & "." & extencion)
'Else
' ImgDownLoad.Text = String.Format(" <a class='btn btn-circle btn-sm blue' href='{0}' target='_black' download='{1}'><i class='fa fa-download' title='Descargar documento'></i></a>", linkDescarga, CvePersonal & Documentacion)
'End If
Else
ImgDownLoad.Visible = False
End If
Else
ImgDownLoad.Visible = False
End If
@@ -4438,6 +4445,35 @@ Partial Class RH_Personal
End If
End Sub
Protected Sub ImgDownLoad_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
Dim Adjunto As String = GvRow.DataKey("Adjunto").ToString()
Dim ArchivoPath As String = UsuarioActual.Empresa.Ruta & "Personal/" & CvePersonal & "/" & Adjunto
DescargarArchivo(ArchivoPath)
End Sub
Protected Sub DescargarArchivo(rutaArchivo As String)
If System.IO.File.Exists(rutaArchivo) Then
Dim nombreArchivo As String = System.IO.Path.GetFileName(rutaArchivo)
Response.Clear()
Response.ContentType = "application/octet-stream"
Response.AddHeader("Content-Disposition", "attachment; filename=" & nombreArchivo)
Response.AddHeader("Content-Length", New System.IO.FileInfo(rutaArchivo).Length.ToString())
Response.WriteFile(rutaArchivo)
Response.End()
Else
End If
End Sub
Public Sub DownLoadFormato_ClickDocumentacion(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).NamingContainer, GridViewRow)
@@ -8160,5 +8196,7 @@ Partial Class RH_Personal
args.IsValid = retorno
End Sub
End Class

View File

@@ -935,6 +935,39 @@ Partial Class Clientes
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
DivAseguradora.Visible = True
End If
'PROCESOS PARA OCULTAR OPCIONES
If TabAnticipos.Visible Then
TabAnticipos.Visible = Not UsuarioActual.TienePermisoProceso(391)
End If
If TabComplementos.Visible Then
TabComplementos.Visible = Not UsuarioActual.TienePermisoProceso(392)
End If
If TabOtros.Visible Then
TabOtros.Visible = Not UsuarioActual.TienePermisoProceso(393)
End If
If TabUsuarios.Visible Then
TabUsuarios.Visible = Not UsuarioActual.TienePermisoProceso(394)
End If
If TabContratos.Visible Then
TabContratos.Visible = Not UsuarioActual.TienePermisoProceso(395)
End If
If TabSistema.Visible Then
TabSistema.Visible = Not UsuarioActual.TienePermisoProceso(396)
End If
If TabDocumentacion.Visible Then
TabDocumentacion.Visible = Not UsuarioActual.TienePermisoProceso(397)
End If
If TabRH.Visible Then
TabRH.Visible = Not UsuarioActual.TienePermisoProceso(398)
End If
End If
@@ -1746,10 +1779,11 @@ Partial Class Clientes
ElseIf UsuarioActual.Empresa.TipoContabilidad = 2 Then
divCuentas.Visible = False
divCuentasContp.Visible = True
End If
'Ocultamos la mayoria de informacion si es no-frecuente
End If
'Ocultamos la mayoria de informacion si es no-frecuente
If ObjClientes.TipoCliente = 2 Then
If UsuarioActual.CveEmpresa <> 141 Then TabFiscalContable.Visible = False
@@ -1769,7 +1803,8 @@ Partial Class Clientes
'DivPortletBitacora.Visible = False
BtnEliminar.Visible = False
End If
End If
TxtCorreoEntregaCompras.Text = ObjClientes.DtResultados(0)("CorreoEntregaCompras").ToString()
TxtCorreoEntregaAlmacen.Text = ObjClientes.DtResultados(0)("CorreoEntregaAlmacen").ToString()
@@ -1803,11 +1838,11 @@ Partial Class Clientes
TxtRepresentanteLegal.Text = ObjClientes.RepresentanteLegal
End If
UpActivacionPortal.Update()
UpModalPersonaFisica.Update()
ObjClientes.Dispose()
watch.Stop()
' Alert(watch.ElapsedMilliseconds.ToString())
@@ -2992,7 +3027,17 @@ Partial Class Clientes
If UsuarioActual.Empresa.Funcionalidad(185) = "1" AndAlso UsuarioActual.TienePermisoProceso(379) AndAlso CType(sender, GridView).ID = "GVAnticipos" Then
If e.Row.DBCampo("CveVenta").ToString().ToEntero() > 0 AndAlso e.Row.DBCampo("Tipo").ToString() = "Ant" Then
If e.Row.DBCampo("CveVenta").ToString().ToEntero() > 0 AndAlso e.Row.DBCampo("Tipo").ToString().Contiene("NC", "Ant") Then
If Not CBool(e.Row.DBCampo("AnticipoAutorizado")) Then
e.Row.FCLinkButton("LnkAutorizar").Visible = True
e.Row.FCLinkButton("LnkCancelar").Visible = False
Else
e.Row.FCLinkButton("LnkAutorizar").Visible = False
e.Row.FCLinkButton("LnkCancelar").Visible = True
End If
End If
If e.Row.DBCampo("CveIE").ToString().ToEntero() > 0 AndAlso e.Row.DBCampo("Tipo").ToString().Contiene("IxC") Then
If Not CBool(e.Row.DBCampo("AnticipoAutorizado")) Then
e.Row.FCLinkButton("LnkAutorizar").Visible = True
e.Row.FCLinkButton("LnkCancelar").Visible = False
@@ -10744,14 +10789,23 @@ Partial Class Clientes
Protected Sub LnkAutorizarAnticipo_Click(sender As Object, e As EventArgs)
Dim GvRow As GridViewRow = DirectCast((DirectCast(sender, LinkButton)).NamingContainer, GridViewRow)
Dim CveVenta As Integer = GvRow.DataKey("CveVenta").ToEntero()
If CveVenta > 0 Then
Dim CveIE As Integer = GvRow.DataKey("CveIE").ToEntero()
If CveVenta > 0 OrElse CveIE > 0 Then
Using ObjVentas As New ClsVentas
If ObjVentas.UpdateVentaAnticipoAutorizado(CveVenta, True) Then
Alert("El anticipo se autorizó correctamente")
If GvRow.DataKey("Tipo").Contiene("NC", "Ant") Then
If ObjVentas.UpdateVentaAnticipoAutorizado(CveVenta, True) Then
Alert("El anticipo se autorizó correctamente")
End If
ElseIf GvRow.DataKey("Tipo").Contiene("IxC") Then
If ObjVentas.UpdateIxCAnticipoAutorizado(CveIE, True) Then
Alert("El anticipo se autorizó correctamente")
End If
End If
End Using
CargaAnticipos()
End If
CargaAnticipos()
End Sub
Protected Sub LnkCancelarAnticipo_Click(sender As Object, e As EventArgs)

View File

@@ -203,6 +203,9 @@ Partial Class Ventas_PVCobranza
LkbEstadodeCaja.Visible = True
LkbIngreso.Visible = True
LkbRetiro.Visible = True
If UsuarioActual.CveEmpresa = 189 Then
LkbRetiro.Visible = False
End If
UpTurno.Visible = True
End If
@@ -343,6 +346,11 @@ Partial Class Ventas_PVCobranza
'e.Row.CssClass = "blue-madison"
End If
If e.Row.DBCampo("RemisionEspecial") = "1" Then
e.Row.BackColor = Drawing.ColorTranslator.FromHtml("#e9edef")
e.Row.ToolTip = "Remisión especial"
End If
If e.Row.DBCampo("TipoEntrega") = "2" OrElse e.Row.DBCampo("AplicaImpresionPorAnt") = "1" Then
e.Row.FCLinkButton("LnkImprimir").Visible = True
ScriptManager.GetCurrent(Me).RegisterPostBackControl(e.Row.FCLinkButton("LnkImprimir"))
@@ -831,6 +839,9 @@ Partial Class Ventas_PVCobranza
DtAnticipos.Columns.Add("TotalAnticipo", GetType(Decimal))
DtAnticipos.Columns.Add("SubTotalAnticipo", GetType(Decimal))
DtAnticipos.Columns.Add("CveMoneda", GetType(Decimal))
DtAnticipos.Columns.Add("Fecha", GetType(DateTime))
DtAnticipos.Columns.Add("TipoCambioPago", GetType(Decimal))
DtAnticipos.Columns.Add("Folio", GetType(String))
For Each GvRow As GridViewRow In GVAnticipos.Rows
If GvRow.FCCheckBox("Chk" & GvRow.RowIndex) IsNot Nothing AndAlso GvRow.FCCheckBox("Chk" & GvRow.RowIndex).Checked Then
@@ -844,8 +855,11 @@ Partial Class Ventas_PVCobranza
Dim TotalAnticipo As Decimal = GvRow.DataKey("TotalAnticipo").ToDecimal()
Dim SubTotalAnticipo As Decimal = GvRow.DataKey("SubTotalAnticipo").ToDecimal()
Dim CveMoneda As Integer = GvRow.DataKey("CveMoneda").ToEntero()
Dim Fecha As DateTime = GvRow.DataKey("Fecha").ToDateTime()
Dim TipoCambioPago As Decimal = GvRow.DataKey("TipoCambioPago").ToDecimal()
Dim Folio = GvRow.DataKey("Folio")
DtAnticipos.Rows.Add(CveVenta, Importe, CveConceptoContable, CveIE, FolioFiscal, Descuentos, TotalAnticipo, SubTotalAnticipo, CveMoneda)
DtAnticipos.Rows.Add(CveVenta, Importe, CveConceptoContable, CveIE, FolioFiscal, Descuentos, TotalAnticipo, SubTotalAnticipo, CveMoneda, Fecha, TipoCambioPago, Folio)
End If
Next
@@ -968,6 +982,9 @@ Partial Class Ventas_PVCobranza
DtAnticipos.Columns.Add("TotalAnticipo", GetType(Decimal))
DtAnticipos.Columns.Add("SubTotalAnticipo", GetType(Decimal))
DtAnticipos.Columns.Add("CveMoneda", GetType(Decimal))
DtAnticipos.Columns.Add("Fecha", GetType(DateTime))
DtAnticipos.Columns.Add("TipoCambioPago", GetType(Decimal))
DtAnticipos.Columns.Add("Folio", GetType(String))
For Each GvRow As GridViewRow In GVAnticipos.Rows
If GvRow.FCCheckBox("Chk" & GvRow.RowIndex) IsNot Nothing AndAlso GvRow.FCCheckBox("Chk" & GvRow.RowIndex).Checked Then
@@ -981,8 +998,11 @@ Partial Class Ventas_PVCobranza
Dim TotalAnticipo As Decimal = GvRow.DataKey("TotalAnticipo").ToDecimal()
Dim SubTotalAnticipo As Decimal = GvRow.DataKey("SubTotalAnticipo").ToDecimal()
Dim CveMoneda As Integer = GvRow.DataKey("CveMoneda").ToEntero()
Dim Fecha As DateTime = GvRow.DataKey("Fecha").ToDateTime()
Dim TipoCambioPago As Decimal = GvRow.DataKey("TipoCambioPago").ToDecimal()
Dim Folio = GvRow.DataKey("Folio")
DtAnticipos.Rows.Add(CveVenta, Importe, CveConceptoContable, CveIE, FolioFiscal, Descuentos, TotalAnticipo, SubTotalAnticipo, CveMoneda)
DtAnticipos.Rows.Add(CveVenta, Importe, CveConceptoContable, CveIE, FolioFiscal, Descuentos, TotalAnticipo, SubTotalAnticipo, CveMoneda, Fecha, TipoCambioPago, Folio)
End If
Next
@@ -1019,38 +1039,44 @@ Partial Class Ventas_PVCobranza
ObjFactura.Timbre.CFDIRelacionados.UUID.Clear()
If HdnTipoAmortizacion.Value = "2" Then
Dim Anticipos = ListaAnticiposAplicados.Where(Function(Obj) Obj.Tipo = "Ant")
For Each Ant As Modelos.MAnticipoRelacionado In Anticipos
ObjFactura.Timbre.CFDIRelacionados.UUID.Add(Ant.FolioFiscal)
Next
If Anticipos IsNot Nothing AndAlso Anticipos.Count() > 0 Then
For Each Ant As Modelos.MAnticipoRelacionado In Anticipos
ObjFactura.Timbre.CFDIRelacionados.UUID.Add(Ant.FolioFiscal)
Next
ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = "07"
ObjFactura.Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = "07"
ObjFactura.Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
'AJUSTAR NC
If ObjNC IsNot Nothing Then
ObjNC.Timbre.CFDIRelacionados.UUID.Clear()
'AJUSTAR NC
If ObjNC IsNot Nothing Then
ObjNC.Timbre.CFDIRelacionados.UUID.Clear()
ObjNC.Timbre.CFDIRelacionados.TipoRelacion = "07"
ObjNC.Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
ObjNC.Timbre.CFDIRelacionados.TipoRelacion = "07"
ObjNC.Timbre.CFDIRelacionados.TipoRelacionTexto = "07-CFDI por aplicación de anticipo"
End If
End If
End If
'DEVOLUCIONES DE OTRA VENTA, APLICADAS EN UNA NUEVA
If HdnTipoAmortizacion.Value = "4" Then
Dim DevolucionesNC = ListaAnticiposAplicados.Where(Function(Obj) Obj.Tipo = "NC")
For Each Ant As Modelos.MAnticipoRelacionado In DevolucionesNC
ObjFactura.Timbre.CFDIRelacionados.UUID.Add(Ant.FolioFiscal)
Next
If DevolucionesNC IsNot Nothing AndAlso DevolucionesNC.Count() > 0 Then
For Each Ant As Modelos.MAnticipoRelacionado In DevolucionesNC
ObjFactura.Timbre.CFDIRelacionados.UUID.Add(Ant.FolioFiscal)
Next
'TEMPORAL- DEBE SER TIPO RELACION "01 - Nota de crédito de los documentos relacionados"
Dim CveTipoRelacion As Integer = 1
'TEMPORAL- DEBE SER TIPO RELACION "01 - Nota de crédito de los documentos relacionados"
Dim CveTipoRelacion As Integer = 1
ObjFactura.CveTipoRelacion = CveTipoRelacion
ObjFactura.CveTipoRelacion = CveTipoRelacion
Dim RowTipoRelacion As DataRow = GlobalDTVtaTiposRelacion().FiltroPrimero($"CveTipoRelacion = {CveTipoRelacion}")
Dim RowTipoRelacion As DataRow = GlobalDTVtaTiposRelacion().FiltroPrimero($"CveTipoRelacion = {CveTipoRelacion}")
ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = RowTipoRelacion("SATClaveTipoRelacion").ToString()
ObjFactura.Timbre.CFDIRelacionados.TipoRelacionTexto = RowTipoRelacion("SATTipoRelacion").ToString()
ObjFactura.Timbre.CFDIRelacionados.TipoRelacion = RowTipoRelacion("SATClaveTipoRelacion").ToString()
ObjFactura.Timbre.CFDIRelacionados.TipoRelacionTexto = RowTipoRelacion("SATTipoRelacion").ToString()
End If
End If
@@ -1187,22 +1213,58 @@ Partial Class Ventas_PVCobranza
ObjPVenta.Dispose()
End Sub
Private Function ValidaCobranza() As Boolean
Dim Respuesta As Boolean = False
If UsuarioActual.Empresa.Funcionalidad(382) = "1" Then
Dim ObjMovtos As New ClsMovimientos()
Dim FechaI, FechaF As Date
FechaI = If(IsDate(txtFechaI.Text.Trim()), txtFechaI.Text.Trim().ToDate, MinFecha)
FechaF = If(IsDate(txtFechaF.Text.Trim()), txtFechaF.Text.Trim().ToDate, MaxFecha).AddDays(1)
If ObjMovtos.GetRemisionesCobranza(UsuarioActual.CveEmpresa, DdlSubProyecto.SelectedValue.ToEntero(), FechaI, FechaF) Then
Dim dtt As DataTable = ObjMovtos.DtResultados.FiltraParametros($"CveVenta > 0 AND (CveUsuarioCobranza IS NULL OR CveUsuarioCobranza = {UsuarioActual.CveUsuario}) AND TipoDocto IN ('Ing','Rem') AND RemisionEspecial = 0")
'Dim Dtta As DataTable = dtt.FiltraParametros($"CveUsuarioCobranza = {UsuarioActual.CveUsuario} ")
'If Dtta IsNot Nothing AndAlso Dtta.Rows.Count > 0 Then dtt = Dtta
If dtt.Rows.Count = 0 Then
Respuesta = True
Else
Respuesta = False
Alert("No se puede realizar el cerrar el turno, ya que hay cobros pendientes por aplicar.", TipoMensaje.MsgAdvertencia)
End If
Else
Alert("Error al consultarcobros pendientes.", TipoMensaje.MsgAdvertencia)
Respuesta = False
End If
ObjMovtos.Dispose()
Else
Respuesta = True
End If
Return Respuesta
End Function
Private Sub BtnCerrarTurno_Click(sender As Object, e As EventArgs) Handles BtnCerrarTurno.Click
'validar.
' que no existan movimientos pendientes de pago.
' que no halla facturas pendientes de cancelación.
' no facturar remisiones de días anteriores
Dim ObjPVenta As New ClsPuntoVenta
If TxtEfectivoEnCaja.Text.Trim <> "" Then
If ObjPVenta.UpdateFinalizadoVtaCortes(CveCorte, TxtEfectivoEnCaja.Text.ToDouble, LblDiferenciaCaja.Text.ToDouble, NowADS(), UsuarioActual.CveEmpresa) Then
RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}", CveCorte, "PDF"))}'", "Imprimir")
Dim Liga As String = "document.location.href=""/Ventas/PVCobranza.aspx"";"
Alert("Se ha cerrado el turno correctamente.", TipoMensaje.MsgInformacion, Liga)
If ValidaCobranza() Then
Dim ObjPVenta As New ClsPuntoVenta
If TxtEfectivoEnCaja.Text.Trim <> "" Then
If ObjPVenta.UpdateFinalizadoVtaCortes(CveCorte, TxtEfectivoEnCaja.Text.ToDouble, LblDiferenciaCaja.Text.ToDouble, NowADS(), UsuarioActual.CveEmpresa) Then
RegistraScript($"window.location.href = '/Compras/PopUpVerFactura.aspx?P={Encripta(String.Format("OP=CORT&CVECORTE={0}&FORMATO={1}", CveCorte, "PDF"))}'", "Imprimir")
Dim Liga As String = "document.location.href=""/Ventas/PVCobranza.aspx"";"
Alert("Se ha cerrado el turno correctamente.", TipoMensaje.MsgInformacion, Liga)
End If
End If
ObjPVenta.Dispose()
End If
ObjPVenta.Dispose()
End Sub
Private Sub BtnCerrarBloqueo_Click(sender As Object, e As EventArgs) Handles BtnCerrarBloqueo.Click
Dim ObjPVenta As New ClsPuntoVenta
@@ -1239,6 +1301,10 @@ Partial Class Ventas_PVCobranza
ObjPVenta.Dispose()
If UsuarioActual.CveEmpresa = 189 Then
LkbRetiro.Visible = False
End If
RegistraScript("$('#DivCorteDeCaja').hide();")
UpTurno.Update()
@@ -1702,16 +1768,34 @@ Partial Class Ventas_PVCobranza
Dim ObjProceso As New ClsSisProcesos
If ObjProceso.GetUsuariosconProceso(379, UsuarioActual.CveEmpresa) Then 'proceso para autorizar
dtt = ObjProceso.DtResultados.Copy()
dtt = ObjProceso.DtResultados.FiltraParametros("", DistinctColumns:={"CveUsuario", "Celular"})
End If
ObjProceso.Dispose()
Dim NombreCliente As String = ""
If gvr.DataKey("CveCliente").ToEntero() > 0 Then
NombreCliente = GlobalDTCliente(UsuarioActual.CveEmpresa, CveCliente:=gvr.DataKey("CveCliente").ToEntero()).FiltroPrimeroValor("NombreComercial")
End If
Dim EnvioMsg As Boolean = False
If dtt IsNot Nothing AndAlso dtt.Rows.Count > 0 Then
For Each dr As DataRow In dtt.Rows
ClsSisNotificaciones.EnviarAlerta("Solicitud de Anticipo", $"Solicitud de activación de anticipo Folio: {Folio} <br/><a href='/Ventas/Clientes.aspx?CveCliente={CveCliente}&op=ant'>Ir Activar</a>", dr("CveUsuario").ToString, Tipo:=TipoNotificacion.ToastInformacionB)
Dim NumeroTelefono = "526621143532"
'If EsProduccion Then
' NumeroTelefono = String.Format("52{0}", dr("Celular").ToString())
'End If
EnvioMsg = ModExtensiones.EnviarNotificacionWhatsApp2(NumeroTelefono, "", $"Solicitud de activación de anticipo.\\nFolio: {Folio}.\\nCliente: {NombreCliente}.")
'ClsSisNotificaciones.EnviarAlerta("Solicitud de Anticipo", $"Solicitud de activación de anticipo Folio: {Folio} <br/><a href='/Ventas/Clientes.aspx?CveCliente={CveCliente}&op=ant'>Ir Activar</a>", dr("CveUsuario").ToString, Tipo:=TipoNotificacion.ToastInformacionB)
Next
End If
If EnvioMsg Then
Alert("Se envió una solicitud de autorización")
Else
Alert("No se envió la solicitud de autorización", TipoMensaje.MsgAdvertencia)
End If
UpAnticipos.Update()
End Sub
@@ -1806,7 +1890,7 @@ Partial Class Ventas_PVCobranza
End If
If UsuarioActual.Empresa.Funcionalidad(185) = "1" Then
If e.Row.DBCampo("Tipo").ToString().Contiene("Ant", "IxC") AndAlso Not CBool(e.Row.DBCampo("AnticipoAutorizado")) Then
If e.Row.DBCampo("Tipo").ToString().Contiene("NC", "Ant", "IxC") AndAlso Not CBool(e.Row.DBCampo("AnticipoAutorizado")) Then
e.Row.FCCheckBox("Chk" & e.Row.RowIndex).Enabled = False
e.Row.FCCheckBox("Chk" & e.Row.RowIndex).ToolTip = "Anticipo Bloqueado"
e.Row.FCLinkButton("LnkSolicitarActivarAnticipo").Visible = True

View File

@@ -865,6 +865,16 @@
</asp:UpdatePanel>
</td>
</tr>
<tr align="left" id="TrRemEspecial" runat="server" visible="false">
<td><b>Remisión Especial:</b>&nbsp;</td>
<td>
<asp:UpdatePanel ID="UpRemEspecial" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:CheckBox ID="ChkRemEspecial" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</td>
</tr>
<tr align="left" id="TrSinExistencia" runat="server" visible="false">
<td><b>Sin existencia:</b>&nbsp;</td>
<td>

File diff suppressed because it is too large Load Diff