Merge branch 'master' of http://oirigoyen@192.168.10.111:8383/SIG.git
This commit is contained in:
@@ -105,7 +105,7 @@ Partial Class ACumuladores_RepIndicadorDiario
|
||||
TCEspecifico = -1
|
||||
End If
|
||||
|
||||
If ObjAcum.GetRepIndicadorDiario(FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
|
||||
If ObjAcum.GetRepIndicadorDiario(FechaI, FechaF, DdlSubProyecto.SelectedValue.ToEntero, usuarioactual.cveusuario, UsuarioActual.CveEmpresa) Then
|
||||
GvDatos.DataSource = ObjAcum.DtResultados
|
||||
DtDatos = ObjAcum.DtResultados
|
||||
Else
|
||||
|
||||
@@ -51,7 +51,7 @@ Partial Class Acumuladores_RepIndicadorDiarioDetalle
|
||||
FechaI = txtFechaI.Text.ToDate
|
||||
FechaF = txtFechaF.Text.ToDate
|
||||
|
||||
If ObjAcum.GetRepIndicadorDiarioDetalle(FechaI, FechaF, DdlOpcion.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then
|
||||
If ObjAcum.GetRepIndicadorDiarioDetalle(FechaI, FechaF, DdlOpcion.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
|
||||
GvDatos.DataSource = ObjAcum.DtResultados
|
||||
Else
|
||||
GvDatos.DataSource = Nothing
|
||||
|
||||
@@ -1135,7 +1135,7 @@ Public Class ClsAcumuladores
|
||||
End Function
|
||||
|
||||
|
||||
Public Function GetRepIndicadorDiario(FechaInicio As Date, FechaFin As Date, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean
|
||||
Public Function GetRepIndicadorDiario(FechaInicio As Date, FechaFin As Date, CveSubProyecto As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
@@ -1145,6 +1145,7 @@ Public Class ClsAcumuladores
|
||||
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
|
||||
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
|
||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
|
||||
@@ -1162,7 +1163,7 @@ Public Class ClsAcumuladores
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function GetRepIndicadorDiarioDetalle(FechaInicio As Date, FechaFin As Date, Opcion As Integer, CveSubProyecto As Integer, CveEmpresa As Integer) As Boolean
|
||||
Public Function GetRepIndicadorDiarioDetalle(FechaInicio As Date, FechaFin As Date, Opcion As Integer, CveSubProyecto As Integer, CveUsuario As Integer, CveEmpresa As Integer) As Boolean
|
||||
|
||||
Dim Retorno As Boolean = False
|
||||
|
||||
@@ -1173,6 +1174,7 @@ Public Class ClsAcumuladores
|
||||
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
|
||||
.Add("@Opcion", SqlDbType.Int).Value = Opcion
|
||||
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
|
||||
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
|
||||
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
|
||||
End With
|
||||
|
||||
|
||||
@@ -16,6 +16,9 @@ Imports Stimulsoft.Report
|
||||
Imports System.Xml
|
||||
Imports System.Web.Http.ValueProviders
|
||||
Imports ADServerControl
|
||||
Imports System.Net.Http
|
||||
Imports Newtonsoft.Json
|
||||
Imports Newtonsoft.Json.Linq
|
||||
|
||||
|
||||
'NOTA AD TEAM
|
||||
@@ -7687,8 +7690,14 @@ Public Class ClsPaginas
|
||||
|
||||
Dim Archivo As New System.IO.FileInfo(RutaFormato)
|
||||
If Archivo.Exists Then
|
||||
|
||||
'If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
|
||||
' RutaFormato = RutaFormato.Replace(".rdlc", ".mrt")
|
||||
' retorno = StreamBytesStimulsoft("Facturas", RutaFormato, lrds, params, NombreArchivo:=NombreArchivo, Formato:="PDF")
|
||||
'Else
|
||||
' retorno = StreamPDF(RutaFormato, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
|
||||
'End If
|
||||
retorno = StreamPDF(RutaFormato, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
|
||||
|
||||
Dim ArchivoPDF As New System.IO.FileInfo(String.Format("{0}PDF\{1}\{2}.pdf", UsuarioActual.Empresa.Ruta, Vta.TipoDocto, Vta.SerieFolio))
|
||||
If Guardar Then
|
||||
If Not ArchivoPDF.Exists Then
|
||||
@@ -7711,6 +7720,12 @@ Public Class ClsPaginas
|
||||
Else
|
||||
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
|
||||
params.Add(New ReportParameter("RFC", UsuarioActual.Empresa.RFC))
|
||||
'If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
|
||||
' RutaFormato = RutaFormato.Replace(".rdlc", ".mrt")
|
||||
' retorno = StreamBytesStimulsoft("Facturas", RutaFormatoDefault, lrds, params, NombreArchivo:=NombreArchivo, Formato:="PDF")
|
||||
'Else
|
||||
' retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
|
||||
'End If
|
||||
retorno = StreamPDF(RutaFormatoDefault, lrds, params, NombreArchivo, "PDF", MR:=Nothing)
|
||||
End If
|
||||
Catch ex As Exception
|
||||
@@ -7719,6 +7734,82 @@ Public Class ClsPaginas
|
||||
|
||||
Return retorno
|
||||
End Function
|
||||
|
||||
Protected Function StreamBytesStimulsoft(Opcion As String, RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF") As Byte()
|
||||
'limpio ReportViwer
|
||||
Dim sw As New System.Diagnostics.Stopwatch()
|
||||
sw.Start()
|
||||
Dim Bytes As Byte() = Nothing
|
||||
|
||||
Dim CveUsuario As Integer = 0
|
||||
Dim CveEmpresa As Integer = 0
|
||||
Dim RutaEmpresa As String = ""
|
||||
|
||||
If Context.Session("UsuarioSIG") IsNot Nothing Then
|
||||
CveUsuario = UsuarioActual.CveUsuario
|
||||
CveEmpresa = UsuarioActual.CveEmpresa
|
||||
RutaEmpresa = UsuarioActual.Empresa.RutaArchivos
|
||||
End If
|
||||
|
||||
Dim bdir As String = If(RutaReporte.Contains("Empresas"), ModExtensiones.DirectorioBaseEmpresas, AppDomain.CurrentDomain.BaseDirectory)
|
||||
|
||||
'TOMAR LA RUTA BASE PARA EL DIRECTORIO DE LA EMPRESA
|
||||
If Not String.IsNullOrEmpty(RutaEmpresa) AndAlso Not RutaReporte.Contains("Grales") AndAlso Not RutaReporte.Contains("Contabilidad/Reportes/") Then
|
||||
bdir = RutaEmpresa.Replace($"{CveEmpresa}/", "")
|
||||
End If
|
||||
|
||||
RutaReporte.Replace("/", "\")
|
||||
|
||||
If Not RutaReporte.ToUpper().StartsWith(bdir.ToUpper()) Then
|
||||
RutaReporte = String.Format("{0}{1}", bdir, RutaReporte)
|
||||
End If
|
||||
|
||||
'SITIO DE PRUEBA EN IIS
|
||||
Dim Url = New Uri(String.Format("{0}{1}", "http://localhost:2202/", Opcion))
|
||||
|
||||
Try
|
||||
Dim dataSourceArray As New JArray()
|
||||
Dim paramsArray As New JArray()
|
||||
|
||||
For Each rds As ReportDataSource In DataSource
|
||||
dataSourceArray.Add(New JObject(New JProperty("Nombre", rds.Name), New JProperty("Valor", JArray.Parse(JsonConvert.SerializeObject(rds.Value)))))
|
||||
Next
|
||||
|
||||
For Each param As ReportParameter In Parametros
|
||||
paramsArray.Add(New JObject(New JProperty("Nombre", param.Name), New JProperty("Valor", param.Values.Item(0))))
|
||||
Next
|
||||
|
||||
Dim payload As New JObject(
|
||||
New JProperty("formato", Formato),
|
||||
New JProperty("ruta", RutaReporte),
|
||||
New JProperty("parametros", paramsArray),
|
||||
New JProperty("dataSource", dataSourceArray)
|
||||
)
|
||||
|
||||
Dim data = New StringContent(payload.ToString(), Encoding.UTF8, "application/json")
|
||||
|
||||
Using httpClient = New HttpClient()
|
||||
Using request = New HttpRequestMessage(HttpMethod.Post, Url)
|
||||
'request.Headers.Add("ADSToken", Encripta(String.Format("CVEEMPRESA={0}&TICKS={1}&CVEUSUARIO=100", CveEmpresa, DateTime.UtcNow.Ticks)))
|
||||
request.Content = New StringContent(payload.ToString(), Encoding.UTF8, "application/json")
|
||||
Dim response = httpClient.SendAsync(request).Result
|
||||
If response.StatusCode = Net.HttpStatusCode.OK Then
|
||||
Bytes = response.Content.ReadAsByteArrayAsync().Result
|
||||
End If
|
||||
End Using
|
||||
End Using
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al descargar la factura", ex)
|
||||
End Try
|
||||
|
||||
sw.Stop()
|
||||
|
||||
If sw.Elapsed.TotalSeconds > 5 Then
|
||||
GuardaLog($"Reporte:{RutaReporte} | Tiempo Renderizado Milisegundos: {sw.ElapsedMilliseconds},Total Segundos: {sw.Elapsed.TotalSeconds} ")
|
||||
End If
|
||||
|
||||
Return Bytes
|
||||
End Function
|
||||
Private Function ValorNodoXML(n As System.Xml.XmlNode, Campo As String, Optional Retorno As String = "") As String
|
||||
Dim o As System.Xml.XmlNode = n.Attributes.Cast(Of System.Xml.XmlAttribute)().SingleOrDefault(Function(a) String.Compare(a.Name, Campo, True) = 0)
|
||||
If o Is Nothing Then
|
||||
|
||||
@@ -3345,7 +3345,9 @@ Public Class ClsVentas
|
||||
|
||||
'SOLO SI ESTA CANCELADA ANTE SAT EN SIG SE INTENTARA CANCELAR DE NUEVO CONTRA EL SAT
|
||||
If CveEstatus = 5 Then
|
||||
If ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC) Then
|
||||
Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC)
|
||||
If Resp.Verificado Then
|
||||
|
||||
If Not ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, Now, PCveVenta.ToEntero, -1, CvePAC:=Usuario.Empresa.CvePAC) Then
|
||||
CveVentasError.Add(PCveVenta.ToEntero)
|
||||
End If
|
||||
|
||||
@@ -394,9 +394,14 @@ Namespace Modelos
|
||||
SetSubProyecto()
|
||||
SetSubProyectoMatriz()
|
||||
SetCliente()
|
||||
If ObjVentas.DtResultados.Rows(0)("IEPS").ToString.ToDecimal <= 0 Then
|
||||
Me.VentaDesglosaIEPS = False
|
||||
Else
|
||||
Me.VentaDesglosaIEPS = True
|
||||
End If
|
||||
SetTotales(ObjVentas.DtResultados, ObjVentas)
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
If ObjVentas.GetVentaDetalle(CveVenta) Then
|
||||
Me.DtDetalle = ObjVentas.DtResultados.Copy()
|
||||
End If
|
||||
@@ -4636,8 +4641,8 @@ Namespace Modelos
|
||||
''' Cancela la factura para poder realizar la refacturacion
|
||||
''' </summary>
|
||||
''' <returns></returns>
|
||||
Public Function CancelarPorRefacturacion(CveMotivoCancelacion As Integer, Motivo As String, Optional FolioSustitucion As String = "", Optional ValidarSAT As Boolean = False, Optional CveEstadoCancelacion As Integer = 0) As MCancelacionVentaMensaje
|
||||
Return CancelarVenta(Me, Me.UsuarioActual, EsRefacturacion:=True, CveMotivoCancelacion:=CveMotivoCancelacion, MotivoCancelacion:=Motivo, FolioSustitucion:=FolioSustitucion, ValidarSAT:=ValidarSAT, CveEstadoCancelacion:=CveEstadoCancelacion)
|
||||
Public Function CancelarPorRefacturacion(CveMotivoCancelacion As Integer, Motivo As String, Optional FolioSustitucion As String = "", Optional ValidarSAT As Boolean = False, Optional CveEstadoCancelacion As Integer = 0, Optional CveEstatusFacturaAsignado As Integer = -1) As MCancelacionVentaMensaje
|
||||
Return CancelarVenta(Me, Me.UsuarioActual, EsRefacturacion:=True, CveMotivoCancelacion:=CveMotivoCancelacion, MotivoCancelacion:=Motivo, FolioSustitucion:=FolioSustitucion, ValidarSAT:=ValidarSAT, CveEstadoCancelacion:=CveEstadoCancelacion, CveEstatusFacturaAsignado:=CveEstatusFacturaAsignado)
|
||||
End Function
|
||||
''' <summary>
|
||||
''' Cancela la factura y realiza las operaciones correspondientes
|
||||
@@ -4904,7 +4909,8 @@ Namespace Modelos
|
||||
|
||||
'SI NO SE PUDO OBTENER DEL SERVICIO, UTILIZA EL METODO DE CANCELACION PARA OBTENER EL ACUSE
|
||||
If CancelacionAcuse = "" Then
|
||||
If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion, FolioSustitucion:=FolioSustitucion) Then
|
||||
Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion, FolioSustitucion:=FolioSustitucion)
|
||||
If Resp.Verificado Then
|
||||
'GENERAMOS EL ACUSE Y MANDAMOS MAIL DE CON EL ACUSE DE CANCELACIÓN
|
||||
If RequiereAceptacion Then
|
||||
CancelacionFecha = Now.Date
|
||||
@@ -4983,15 +4989,18 @@ Namespace Modelos
|
||||
|
||||
If Not ObtenerAcuse Then
|
||||
If ContinuarCancelacion Then
|
||||
If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion:=CvePACCancelacion, ValidaFactura:=ValidarSAT, CveSATMotivoCancelacion:=CveSATMotivoCancelacion, FolioSustitucion:=FolioSustitucion) Then
|
||||
Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion:=CvePACCancelacion, ValidaFactura:=ValidarSAT, CveSATMotivoCancelacion:=CveSATMotivoCancelacion, FolioSustitucion:=FolioSustitucion)
|
||||
If Resp.Verificado Then
|
||||
'GENERAMOS EL ACUSE Y MANDAMOS MAIL DE CON EL ACUSE DE CANCELACIÓN
|
||||
If RequiereAceptacion Then
|
||||
CancelacionFecha = Now.Date
|
||||
CveEstatus = 20
|
||||
Else
|
||||
CancelacionFecha = ObjCancelacion.CancelacionFecha
|
||||
CveEstatus = 5
|
||||
End If
|
||||
'If Resp.cve Then
|
||||
' CancelacionFecha = Now.Date
|
||||
' CveEstatus = 20
|
||||
'Else
|
||||
' CancelacionFecha = ObjCancelacion.CancelacionFecha
|
||||
' CveEstatus = 5
|
||||
'End If
|
||||
CveEstatus = Resp.CveEstatus
|
||||
CancelacionFecha = Resp.CancelacionFecha
|
||||
CancelacionAcuse = ObjCancelacion.CancelacionAcuse
|
||||
Else
|
||||
Retorno.Mensaje = "Los servicios de cancelación del SAT no se encuentran disponibles o presentan time out. Intente de nuevo en unos minutos.<br/>Origen del error: WebService www.sat.gob.mx"
|
||||
@@ -5093,7 +5102,7 @@ Namespace Modelos
|
||||
If Not AplicaRefacturacionConPagos AndAlso ((((ObjFactura.Saldo > 0 AndAlso (CveEstatus > 0 AndAlso Not CveEstatus.Contiene(20, 23))) OrElse (ObjFactura.Total = 0 AndAlso UsuarioActual.CveEmpresa.Contiene(72) AndAlso ObjFactura.TipoDocto.Contiene("Ing"))) AndAlso CveEstatus.Contiene(4, 5)) OrElse (CvePlantillaPoliza = 7 AndAlso (CveEstatus > 0 AndAlso Not CveEstatus.Contiene(20, 23)))) Then
|
||||
|
||||
'CUANDO SE CANCELA, LA PÓLIZA DEBE DE SER DE DIARIO
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("Modelos/CancelarDocumento", CvePlantillaPoliza, ObjFactura.Total, ObjFactura.Total, ObjFactura.CveMoneda, Now, ObjFactura.Cliente.Nombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
|
||||
CvePrePoliza = ObjConta.AddPrePolizas("Modelos/CancelarDocumento", CvePlantillaPoliza, ObjFactura.Total, ObjFactura.Total, ObjFactura.CveMoneda, CancelacionFecha, ObjFactura.Cliente.Nombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveTipoPoliza:=3)
|
||||
ObjFactura.CvePrePoliza = CvePrePoliza
|
||||
|
||||
If ObjFactura.CvePrePoliza <= 0 Then
|
||||
@@ -6123,7 +6132,9 @@ Namespace Modelos
|
||||
ErrorCancelar = True
|
||||
End If
|
||||
|
||||
If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, Total, RFCReceptor, UsuarioActual.Empresa.RFC) Then
|
||||
Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, Total, RFCReceptor, UsuarioActual.Empresa.RFC)
|
||||
|
||||
If Resp.Verificado Then
|
||||
'falta verificar traer el acuse y reenviarlo
|
||||
If UsuarioActual.Empresa.UsaAC Then
|
||||
Dim Pol As Modelos.RetornoPolizaConta = GenerarPolizaAC(Me, ObjAC, True)
|
||||
|
||||
@@ -111,7 +111,8 @@ Public Class Timbrado
|
||||
End If
|
||||
solicitud = Nothing
|
||||
Else
|
||||
If CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion, FolioSustitucion:=FolioSustitucion) Then
|
||||
Dim Resp As RespuestaCancelacionSAT = CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion, FolioSustitucion:=FolioSustitucion)
|
||||
If Resp.Verificado Then
|
||||
'GENERAMOS EL ACUSE Y MANDAMOS MAIL DE CON EL ACUSE DE CANCELACIÓN
|
||||
CancelacionFecha = Me.CancelacionFecha
|
||||
CancelacionAcuse = Me.CancelacionAcuse
|
||||
@@ -206,8 +207,8 @@ Public Class Timbrado
|
||||
Return Retorno
|
||||
End Function
|
||||
|
||||
Public Function CFDICancelar(Empresa As Empresa, FolioFiscal As String, Total As Decimal, RFCReceptor As String, RFCEmisor As String, Optional CvePACCancelacion As Integer = 2, Optional ValidaFactura As Boolean = True, Optional CveSATMotivoCancelacion As Integer = -1, Optional FolioSustitucion As String = "") As Boolean
|
||||
Dim Retorno As Boolean = False
|
||||
Public Function CFDICancelar(Empresa As Empresa, FolioFiscal As String, Total As Decimal, RFCReceptor As String, RFCEmisor As String, Optional CvePACCancelacion As Integer = 2, Optional ValidaFactura As Boolean = True, Optional CveSATMotivoCancelacion As Integer = -1, Optional FolioSustitucion As String = "") As RespuestaCancelacionSAT
|
||||
Dim Retorno As New RespuestaCancelacionSAT
|
||||
Dim MsgCancelacion As New StringBuilder
|
||||
|
||||
If CvePACCancelacion = 3 Then
|
||||
@@ -219,10 +220,14 @@ Public Class Timbrado
|
||||
Dim Vigencia = VerificarVigenciaSAT(FolioFiscal, RFCEmisor, RFCReceptor, Total.ToString(), True)
|
||||
If Vigencia IsNot Nothing Then
|
||||
If Vigencia.EsCancelable.ToUpper() = "NO CANCELABLE" Then
|
||||
Return False
|
||||
Retorno.Estado = "NO CANCELABLE"
|
||||
Retorno.Verificado = False
|
||||
Return Retorno
|
||||
End If
|
||||
Else
|
||||
Return False
|
||||
Retorno.Estado = "NO VALIDADO"
|
||||
Retorno.Verificado = False
|
||||
Return Retorno
|
||||
End If
|
||||
End If
|
||||
End If
|
||||
@@ -277,7 +282,10 @@ Public Class Timbrado
|
||||
Catch ex As Exception
|
||||
CancelacionFecha = xmlDoc.GetElementsByTagName("CancelaCFDResult")(0).Attributes("Fecha").Value.ToDate
|
||||
End Try
|
||||
Retorno = True
|
||||
|
||||
Retorno.Verificado = True
|
||||
Retorno.CancelacionFecha = CancelacionFecha
|
||||
Retorno.CancelacionAcuse = CancelacionAcuse
|
||||
End If
|
||||
|
||||
'End If
|
||||
@@ -324,15 +332,15 @@ Public Class Timbrado
|
||||
#Region "Valida"
|
||||
If Not File.Exists(ArchivoCertificado) Then
|
||||
Alert("El archivo de certificado no existe", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End If
|
||||
If Not File.Exists(ArchivoLLave) Then
|
||||
Alert("El archivo de llave privada no existe", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End If
|
||||
If Empresa.ContraseñaKey = "" Then
|
||||
Alert("La clave no puede ser vacía", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End If
|
||||
#End Region
|
||||
|
||||
@@ -351,7 +359,7 @@ Public Class Timbrado
|
||||
llaveBase64 = Convert.ToBase64String(llaveByte)
|
||||
Catch ex As Exception
|
||||
Alert($"Error al leer la llave privada: {ex.Message}", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End Try
|
||||
|
||||
|
||||
@@ -360,8 +368,7 @@ Public Class Timbrado
|
||||
certBase64 = Convert.ToBase64String(certByte)
|
||||
Catch ex As Exception
|
||||
Alert($"Error al leer el certificado: {ex.Message}", TipoMensaje.MsgError)
|
||||
Return False
|
||||
|
||||
Retorno.Verificado = False
|
||||
End Try
|
||||
#End Region
|
||||
|
||||
@@ -430,10 +437,14 @@ Public Class Timbrado
|
||||
|
||||
CancelacionAcuse = xmlDoc.GetElementsByTagName("SignatureValue")(0).InnerText
|
||||
CancelacionFecha = xmlDoc.SelectSingleNode("Acuse").Attributes("Fecha").Value.ToDate
|
||||
Retorno = True
|
||||
Retorno.Verificado = True
|
||||
Retorno.CancelacionFecha = CancelacionFecha
|
||||
Retorno.CancelacionAcuse = CancelacionAcuse
|
||||
Else
|
||||
CancelacionAcuse = resp.MensajeDeError
|
||||
Retorno = False
|
||||
Retorno.Verificado = True
|
||||
Retorno.CancelacionFecha = CancelacionFecha
|
||||
Retorno.CancelacionAcuse = CancelacionAcuse
|
||||
End If
|
||||
solicitud = Nothing
|
||||
Case 4
|
||||
@@ -456,10 +467,13 @@ Public Class Timbrado
|
||||
|
||||
CancelacionAcuse = xmlDoc.GetElementsByTagName("SignatureValue")(0).InnerText
|
||||
CancelacionFecha = xmlDoc.SelectSingleNode("Acuse").Attributes("Fecha").Value.ToDate
|
||||
Retorno = True
|
||||
Retorno.Verificado = True
|
||||
Retorno.CancelacionFecha = CancelacionFecha
|
||||
Retorno.CancelacionAcuse = CancelacionAcuse
|
||||
Else
|
||||
CancelacionAcuse = resp.Descripcion
|
||||
Retorno = False
|
||||
Retorno.Verificado = True
|
||||
Retorno.CancelacionAcuse = CancelacionAcuse
|
||||
End If
|
||||
solicitud = Nothing
|
||||
End Select
|
||||
@@ -468,7 +482,7 @@ Public Class Timbrado
|
||||
End If
|
||||
Catch ex As Exception
|
||||
CancelacionMensaje += $" | ex: {ex}"
|
||||
Retorno = False
|
||||
Retorno.Verificado = False
|
||||
End Try
|
||||
|
||||
'Libera memoria
|
||||
@@ -503,15 +517,15 @@ Public Class Timbrado
|
||||
#Region "Valida"
|
||||
If Not File.Exists(ArchivoCertificado) Then
|
||||
Alert("El archivo de certificado no existe", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End If
|
||||
If Not File.Exists(ArchivoLLave) Then
|
||||
Alert("El archivo de llave privada no existe", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End If
|
||||
If Empresa.ContraseñaKey = "" Then
|
||||
Alert("La clave no puede ser vacía", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End If
|
||||
#End Region
|
||||
|
||||
@@ -561,16 +575,19 @@ Public Class Timbrado
|
||||
MsgCancelacion.AppendFormat("-3.4.3")
|
||||
CancelacionAcuse = xmlDoc.GetElementsByTagName("SignatureValue")(0).InnerText
|
||||
CancelacionFecha = xmlDoc.SelectSingleNode("Acuse").Attributes("Fecha").Value.ToDate
|
||||
Retorno.CancelacionAcuse = CancelacionAcuse
|
||||
Retorno.CancelacionFecha = CancelacionFecha
|
||||
|
||||
Else
|
||||
CancelacionFecha = Now
|
||||
End If
|
||||
Retorno.Verificado = True
|
||||
|
||||
Retorno = True
|
||||
Else
|
||||
MsgCancelacion.AppendFormat("-3.5")
|
||||
CancelacionAcuse = resp.NumeroError
|
||||
CancelacionMensaje = resultadoCancelacion.Descripcion
|
||||
Retorno = False
|
||||
Retorno.Verificado = True
|
||||
End If
|
||||
|
||||
Case 4
|
||||
@@ -599,15 +616,15 @@ Public Class Timbrado
|
||||
#Region "Valida"
|
||||
If Not File.Exists(ArchivoCertificado) Then
|
||||
Alert("El archivo de certificado no existe", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End If
|
||||
If Not File.Exists(ArchivoLLave) Then
|
||||
Alert("El archivo de llave privada no existe", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End If
|
||||
If Empresa.ContraseñaKey = "" Then
|
||||
Alert("La clave no puede ser vacía", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End If
|
||||
#End Region
|
||||
|
||||
@@ -627,7 +644,7 @@ Public Class Timbrado
|
||||
llaveBase64 = Convert.ToBase64String(llaveByte)
|
||||
Catch ex As Exception
|
||||
Alert($"Error al leer la llave privada: {ex.Message}", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End Try
|
||||
|
||||
|
||||
@@ -636,8 +653,7 @@ Public Class Timbrado
|
||||
certBase64 = Convert.ToBase64String(certByte)
|
||||
Catch ex As Exception
|
||||
Alert($"Error al leer el certificado: {ex.Message}", TipoMensaje.MsgError)
|
||||
Return False
|
||||
|
||||
Retorno.Verificado = False
|
||||
End Try
|
||||
#End Region
|
||||
objCan.CancelacionCfdi = True
|
||||
@@ -662,7 +678,9 @@ Public Class Timbrado
|
||||
|
||||
CancelacionAcuse = xmlDoc.GetElementsByTagName("SignatureValue")(0).InnerText
|
||||
CancelacionFecha = xmlDoc.DocumentElement.Attributes("Fecha").Value.ToDate
|
||||
Retorno = True
|
||||
Retorno.Verificado = True
|
||||
Retorno.CancelacionAcuse = CancelacionAcuse
|
||||
Retorno.CancelacionFecha = CancelacionFecha
|
||||
MsgCancelacion.AppendFormat("4.5.2-")
|
||||
End If
|
||||
|
||||
@@ -671,7 +689,6 @@ Public Class Timbrado
|
||||
|
||||
Case 5
|
||||
CancelacionAcuse = ""
|
||||
Retorno = False
|
||||
|
||||
MsgCancelacion.AppendFormat("5.1-")
|
||||
Dim TimbraProduccion As Boolean = True
|
||||
@@ -700,7 +717,7 @@ Public Class Timbrado
|
||||
llaveBase64 = Convert.ToBase64String(llaveByte)
|
||||
Catch ex As Exception
|
||||
Alert($"Error al leer la llave privada: {ex.Message}", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End Try
|
||||
|
||||
Try
|
||||
@@ -708,7 +725,7 @@ Public Class Timbrado
|
||||
certBase64 = Convert.ToBase64String(certByte)
|
||||
Catch ex As Exception
|
||||
Alert($"Error al leer el certificado: {ex.Message}", TipoMensaje.MsgError)
|
||||
Return False
|
||||
Retorno.Verificado = False
|
||||
End Try
|
||||
|
||||
Dim Contrato As String = "72330711-cac6-4106-8051-cbcda1aef495"
|
||||
@@ -734,8 +751,11 @@ Public Class Timbrado
|
||||
'EN PROCESO, CANCELABLE SIN ACEPTACION,CANCEALDO PREVIAMENTE
|
||||
If cancelacion.codigo.Contiene("96", "201", "202") Then
|
||||
CancelacionFecha = Now
|
||||
Retorno = True
|
||||
|
||||
CancelacionAcuse = result.acuseCancelBase64
|
||||
Retorno.Verificado = True
|
||||
Retorno.CancelacionAcuse = CancelacionAcuse
|
||||
Retorno.CancelacionFecha = CancelacionFecha
|
||||
End If
|
||||
CancelacionMensaje = cancelacion.mensaje
|
||||
Else
|
||||
@@ -749,8 +769,25 @@ Public Class Timbrado
|
||||
End If
|
||||
End Select
|
||||
|
||||
'valida que si se halla cancelado
|
||||
Dim VigenciaExtra = VerificarVigenciaSAT(FolioFiscal, RFCEmisor, RFCReceptor, Total.ToString(), True)
|
||||
If Retorno.Verificado AndAlso VigenciaExtra IsNot Nothing Then
|
||||
If VigenciaExtra.Estado.ToUpper = "VIGENTE" AndAlso Not VigenciaExtra.EstatusCancelacion.ToUpper.Contiene("EN PROCESO") Then
|
||||
Retorno.Estado = "VIGENTE"
|
||||
Retorno.CveEstatus = 23
|
||||
End If
|
||||
If VigenciaExtra.Estado.ToUpper = "VIGENTE" AndAlso VigenciaExtra.EstatusCancelacion.ToUpper.Contiene("EN PROCESO") Then
|
||||
Retorno.Estado = "EN PROCESO"
|
||||
Retorno.CveEstatus = 20
|
||||
End If
|
||||
If VigenciaExtra.Estado.ToUpper = "CANCELADO" Then
|
||||
Retorno.Estado = "CANCELADO"
|
||||
Retorno.CveEstatus = 5
|
||||
End If
|
||||
|
||||
If Not Retorno Then
|
||||
End If
|
||||
|
||||
If Not Retorno.Verificado Then
|
||||
GuardaLog($"****** Error al cancelar factura ****** Estatus: {CancelacionState} | Mensaje: {CancelacionMensaje} | Mensaje SAT: {MsgCancelacion.ToString} ")
|
||||
End If
|
||||
|
||||
@@ -4010,9 +4047,12 @@ Public Class Timbrado
|
||||
|
||||
Try
|
||||
Dim RutaCBB As String = $"{UsuarioActual.Empresa.Ruta}CBB\{ObjCFDITimbre.Comprobante.SerieFolio}.jpg"
|
||||
'temp
|
||||
'Dim b As Byte() = cfdi. .QrCode($"?re={UsuarioActual.Empresa.RFC}&rr={ObjCFDITimbre.Receptor.RFC}&tt={String.Format("{0,12:F6}", ObjCFDITimbre.Comprobante.Total).Trim()}&id={FolioFiscal}")
|
||||
'File.WriteAllBytes(RutaCBB, b)
|
||||
Dim qrCode As New GoFac.QrCode()
|
||||
'String cadenaqrCode = qrCode.GenerarCadenaQrCode(txtXml.Text)
|
||||
|
||||
Dim bCBB As Byte() = qrCode.GenerarQrCode($"{LigaVerificacionSAT}?re={UsuarioActual.Empresa.RFC}&rr={ObjCFDITimbre.Receptor.RFC}&tt={String.Format("{0,12:F6}", ObjCFDITimbre.Comprobante.Total).Trim()}&id={FolioFiscal}&fe=ELleDg==")
|
||||
File.WriteAllBytes(RutaCBB, bCBB)
|
||||
bCBB = Nothing
|
||||
Catch ex As Exception
|
||||
OnError("Ocurrió un error al generar el QR", ex)
|
||||
End Try
|
||||
|
||||
@@ -85,12 +85,8 @@ Public Class Timbres
|
||||
Timbre.Comprobante.Descuentos = Obj.Descuento
|
||||
Timbre.Comprobante.Moneda = "XXX"
|
||||
Timbre.Comprobante.TipoCambio = "" ' CONDICIÓN SI LA MONEDA ES 'XXX'
|
||||
|
||||
Timbre.Receptor.RFC = UsuarioActual.Empresa.RFC
|
||||
Timbre.Receptor.Nombre = UsuarioActual.Empresa.Empresa
|
||||
Timbre.Receptor.UsoCFDI = "P01"
|
||||
|
||||
|
||||
Dim totSubTotal As Decimal = Obj.SubTotal
|
||||
Dim totIVA As Decimal = Obj.IVA
|
||||
Dim totRetIVA As Decimal = Obj.RetIVA
|
||||
@@ -124,9 +120,11 @@ Public Class Timbres
|
||||
|
||||
If ObjGrales.DtResultados.Rows.Count = 1 Then
|
||||
Dim DtMovimientos As DataTable = Nothing
|
||||
|
||||
Dim drT As DataRow = ObjGrales.DtResultados.Rows(0)
|
||||
|
||||
Timbre.Receptor.RFC = drT("DestinatarioRFC").ToString
|
||||
Timbre.Receptor.Nombre = drT("DestinatarioNombre").ToString
|
||||
|
||||
CveMovimiento = drT("CveMovimientoAlmacen").ToString.ToEntero
|
||||
FechaSalida = drT("FechaEntrega").ToString.ToDateTime
|
||||
FechaLlegada = drT("FechaLlegada").ToString.ToDateTime
|
||||
|
||||
@@ -67,8 +67,9 @@ Public Class WsSIGWeb
|
||||
|
||||
'SOLO SI ESTA CANCELADA ANTE SAT EN SIG SE INTENTARA CANCELAR DE NUEVO CONTRA EL SAT
|
||||
If CveEstatus = 5 Then
|
||||
If ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC) Then
|
||||
If ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, Now, PCveVenta.ToEntero, -1, CvePAC:=Usuario.Empresa.CvePAC) Then
|
||||
Dim Resp As RespuestaCancelacionSAT = ObjCancelacion.CFDICancelar(Usuario.Empresa, FolioFiscal, Total, RFCReceptor, Usuario.Empresa.RFC)
|
||||
If Resp.Verificado Then
|
||||
If ObjVentas.UpdateEstatusFactura(5, FolioFiscal, ObjCancelacion.CancelacionAcuse, Resp.CancelacionFecha, PCveVenta.ToEntero, -1, CvePAC:=Usuario.Empresa.CvePAC) Then
|
||||
Retorno = True
|
||||
Else
|
||||
MensajeError = $"Ocurrió un error al actualizar la cancelación la CveVenta {PCveVenta}"
|
||||
|
||||
@@ -147,6 +147,16 @@ Namespace Extensiones
|
||||
End If
|
||||
End Function
|
||||
|
||||
Public Class RespuestaCancelacionSAT
|
||||
Public Property Verificado As Boolean = False
|
||||
Public Property CveEstatus As Integer = 0
|
||||
Public Property Estado As String = ""
|
||||
Public Property EstatusCancelacion As String = ""
|
||||
Public Property CancelacionFecha As Date
|
||||
Public Property CancelacionAcuse As String = ""
|
||||
End Class
|
||||
|
||||
|
||||
#Region "Log"
|
||||
|
||||
<Runtime.CompilerServices.Extension()>
|
||||
|
||||
@@ -839,7 +839,7 @@ Partial Class Bancos_IE
|
||||
|
||||
|
||||
|
||||
DdlMotivoCancelacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa)
|
||||
DdlMotivoCancelacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa).FiltraParametros("CveSATMotivoCancelacion IN (2,3)")
|
||||
DdlMotivoCancelacion.DataBind()
|
||||
DdlMotivoCancelacion.Items.Insert(0, New ListItem("Seleccione uno", "-1"))
|
||||
|
||||
@@ -5902,7 +5902,7 @@ Partial Class Bancos_IE
|
||||
|
||||
e.Row.FCLinkButton("LnkCancelarComplemetno").Visible = True
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").Visible = True
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa)
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa).FiltraParametros("CveSATMotivoCancelacion IN (2,3)")
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").DataBind()
|
||||
e.Row.FCDropDownList("DdlMotivoCancelacion").Items.Insert(0, New ListItem("Seleccione Uno", "-1"))
|
||||
|
||||
|
||||
@@ -589,6 +589,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
dt.Columns.Add("TotalExtranjero", Type.GetType("System.Double"))
|
||||
dt.Columns.Add("CveTamaño", Type.GetType("System.Int32"))
|
||||
dt.Columns.Add("Tamaño", Type.GetType("System.String"))
|
||||
dt.Columns.Add("CveVentaDetalle", Type.GetType("System.Int32"))
|
||||
CargaGVM(dt)
|
||||
|
||||
DtMovimientos = dt.Clone
|
||||
@@ -1048,7 +1049,8 @@ Partial Class Inventarios_RecepcionUsados
|
||||
|
||||
|
||||
Protected Sub AddNew(CvePS As Integer, PS As String, CveUM As Integer, UM As String, Cantidad As Double, PU As Double, Serie As String, CodigoAF As String, Codigo As String,
|
||||
CveAF As String, Observaciones As String, Lote As String, CveSeccionAlmacen As Integer, SeccionAlmacen As String, Tamaño As String, CveTamaño As Integer)
|
||||
CveAF As String, Observaciones As String, Lote As String, CveSeccionAlmacen As Integer, SeccionAlmacen As String, Tamaño As String, CveTamaño As Integer,
|
||||
Optional CveVentaDetalle As Integer = -1)
|
||||
|
||||
'If DdlAlmacen.SelectedValue.ToEntero <= 0 Then Alert("Seleccione un almacen", TipoMensaje.MsgAdvertencia) : RegistraScript("playsonidito('142608__autistic-lucario__error.wav')") : DdlProducto2.SelectedText = "" : Exit Sub
|
||||
|
||||
@@ -1116,6 +1118,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
|
||||
registro.Item("CveTamaño") = CveTamaño
|
||||
registro.Item("Tamaño") = Tamaño
|
||||
registro.Item("CveVentaDetalle") = CveVentaDetalle
|
||||
|
||||
DtMovimientos.Rows.Add(registro)
|
||||
CargaGVM(DtMovimientos.FiltraParametros("Estatus <> 'E' "))
|
||||
@@ -1281,7 +1284,7 @@ Partial Class Inventarios_RecepcionUsados
|
||||
ImporteConcepto = Dr("PU").ToString.ToDecimal
|
||||
End If
|
||||
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, ImporteConcepto, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, Observaciones:=Dr("Observaciones").ToString, CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
||||
If Not ObjInventario.AddMovimientoDetalle(CveMovimiento, Dr("Cantidad").ToString.ToDouble, Dr("CveUM").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, ImporteConcepto, CveAF:=Dr("CveAF").ToString.ToEntero, Serie:=Dr("Serie").ToString, Lote:=Dr("Lote").ToString, FechaCaducidad:=Dr("FechaCaducidad").ToString.ToDate, Observaciones:=Dr("Observaciones").ToString, CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), CveUsuarioModifico:=UsuarioActual.CveUsuario) Then
|
||||
Mensaje = "Error al guardar los movimientos"
|
||||
ErrorMovInv = True
|
||||
Exit For
|
||||
@@ -2269,6 +2272,18 @@ Partial Class Inventarios_RecepcionUsados
|
||||
DtUsados = ObjVentas.DtResultados.Copy()
|
||||
End If
|
||||
|
||||
'RELACIONA LA VENTA DETALLA DE LA REMISION
|
||||
If DtUsados IsNot Nothing Then
|
||||
DtUsados.Columns.Add(New DataColumn("CveVentaDetalle", GetType(Integer)))
|
||||
For Each RowUsado As DataRow In DtUsados.Rows
|
||||
Dim CveVentaDetalle As Integer = Me.ObjFactura.DtDetalle.FiltroPrimeroValor("CveVentaDetalle", $"EsCargo = 1 AND Cantidad = {RowUsado("Cantidad")} AND CvePS = {RowUsado("CvePS")}").ToEntero()
|
||||
If CveVentaDetalle > 0 Then
|
||||
RowUsado("CveVentaDetalle") = CveVentaDetalle
|
||||
End If
|
||||
Next
|
||||
|
||||
End If
|
||||
|
||||
Dim RecepcionValida As Boolean = True
|
||||
|
||||
If ObjVentas.GetVentasUsados(ObjFactura.CveVenta, ObjFactura.CveSubProyecto, ObjFactura.Fecha, UsuarioActual.CveEmpresa, ServicioDomicilio:=ObjFactura.ServicioDomicilio) Then
|
||||
@@ -2334,7 +2349,9 @@ Partial Class Inventarios_RecepcionUsados
|
||||
Dim Cantidad As Double = RowUsado("Cantidad").ToString().ToEntero()
|
||||
Dim PU As Double = RowUsado("PU").ToString().ToDouble()
|
||||
|
||||
AddNew(CvePS, PS, CveUM, UM, Cantidad, PU, "", "-1", "-1", "-1", "", "", DdlAlmacen.SelectedValue.ToEntero, DdlAlmacen.SelectedItem.Text, "", CveTamaño)
|
||||
Dim CveVentaDetalle = RowUsado("CveVentaDetalle").ToString().ToEntero()
|
||||
|
||||
AddNew(CvePS, PS, CveUM, UM, Cantidad, PU, "", "-1", "-1", "-1", "", "", DdlAlmacen.SelectedValue.ToEntero, DdlAlmacen.SelectedItem.Text, "", CveTamaño, CveVentaDetalle:=CveVentaDetalle)
|
||||
|
||||
Next
|
||||
End If
|
||||
|
||||
@@ -6158,7 +6158,7 @@
|
||||
|
||||
<th style="width: 73px;"></th>
|
||||
</tr>
|
||||
<tr align="center">
|
||||
<tr id="TrAgregarPMarca" runat="server" visible="false" align="center">
|
||||
<td></td>
|
||||
<td style="text-align: center;">
|
||||
<div class="psagregar">
|
||||
@@ -6226,7 +6226,7 @@
|
||||
<ContentTemplate>
|
||||
<%--table table-striped table-advance table-hover Widthall ScrollAD
|
||||
tabla_correcto grides Widthall mysmallbtn--%>
|
||||
<asp:GridView ID="GvM" runat="server" GridLines="none" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" DataKeyNames="No" EmptyDataText="Aún no hay registros." AutoGenerateColumns="False" AllowPaging="False" ShowHeaderWhenEmpty="True">
|
||||
<asp:GridView ID="GvM" runat="server" GridLines="none" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" DataKeyNames="No" EmptyDataText="Aún no hay registros." AutoGenerateColumns="False" AllowPaging="False" ShowHeaderWhenEmpty="True" >
|
||||
<Columns>
|
||||
<asp:TemplateField HeaderText="" ItemStyle-Font-Size="6pt">
|
||||
<EditItemTemplate>
|
||||
@@ -6310,8 +6310,8 @@
|
||||
</center>
|
||||
</EditItemTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CommandName="Edit" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||
<asp:LinkButton ID="lnkRemove" runat="server" AlternateText="Eliminar" OnClick="DeleteRowMarca" CommandArgument='<%# Eval("No")%>' CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea eliminar el porcentaje?" data-btn-ok-label="si" />
|
||||
<asp:LinkButton ID="imgE" runat="server" Visible="false" AlternateText="Editar" CausesValidation="False" CommandName="Edit" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
|
||||
<asp:LinkButton ID="lnkRemove" runat="server" Visible="false" AlternateText="Eliminar" OnClick="DeleteRowMarca" CommandArgument='<%# Eval("No")%>' CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea eliminar el porcentaje?" data-btn-ok-label="si" />
|
||||
</ItemTemplate>
|
||||
<ItemStyle Width="73px"></ItemStyle>
|
||||
</asp:TemplateField>
|
||||
@@ -6327,7 +6327,7 @@
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="BtnGuardarPorcentajesMarca" runat="server" Text="Guardar" CssClass="btn btn-primary" />
|
||||
<asp:Button ID="BtnGuardarPorcentajesMarca" Visible="false" runat="server" Text="Guardar" CssClass="btn btn-primary" />
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
@@ -6365,7 +6365,7 @@
|
||||
Aplicado </th>
|
||||
<th style="width: 73px;"></th>
|
||||
</tr>
|
||||
<tr align="center">
|
||||
<tr id="TrPreciosPP" runat="server" visible="false" align="center">
|
||||
<td></td>
|
||||
<td style="text-align: center;">
|
||||
<div class="psagregar">
|
||||
@@ -6458,7 +6458,7 @@
|
||||
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="BtnGuardarPorcentajes" runat="server" Text="Guardar" CssClass="btn btn-primary" />
|
||||
<asp:Button ID="BtnGuardarPorcentajes" Visible="false" runat="server" Text="Guardar" CssClass="btn btn-primary" />
|
||||
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
|
||||
@@ -1449,15 +1449,26 @@ Partial Class Clientes
|
||||
' CargaGridRetenciones()
|
||||
' CargaDocs()
|
||||
CargaCombos()
|
||||
CargaDocumentacionCliente()
|
||||
'CargaMetodosPago33()
|
||||
'CargaFormaPago33()
|
||||
'CargaComboCFDI()
|
||||
'CargarPagosNoBancarios()
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(279) Then
|
||||
CargaDocumentacionCliente()
|
||||
'CargaMetodosPago33()
|
||||
'CargaFormaPago33()
|
||||
'CargaComboCFDI()
|
||||
'CargarPagosNoBancarios()
|
||||
|
||||
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
LnkPorcentajeMarcas.Visible = True
|
||||
LnkPorcentajePrecios.Visible = True
|
||||
LnkPorcentajePrecios.Visible = True
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(279) Then
|
||||
TrPreciosPP.Visible = True
|
||||
TrAgregarPMarca.Visible = True
|
||||
|
||||
BtnGuardarPorcentajesMarca.Visible = True
|
||||
BtnGuardarPorcentajes.Visible = True
|
||||
End If
|
||||
|
||||
End If
|
||||
|
||||
|
||||
@@ -1474,9 +1485,9 @@ Partial Class Clientes
|
||||
If ObjClientes.Pais = "" Then ObjClientes.Pais = "México"
|
||||
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso CveCliente > 0 Then
|
||||
LnkAgregarVendedorSucursal.Visible = True
|
||||
End If
|
||||
'If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso CveCliente > 0 Then
|
||||
' LnkAgregarVendedorSucursal.Visible = True
|
||||
'End If
|
||||
|
||||
'Campos para Modificación
|
||||
LtlCliente.Text = ObjClientes.Nombre
|
||||
@@ -1517,7 +1528,20 @@ Partial Class Clientes
|
||||
LblFechaCaptura.Text = ObjClientes.FechaIng.ToShortDateString()
|
||||
LblUsuarioCapturo.Text = ObjClientes.Usuario
|
||||
TxtNombreCorto.Text = ObjClientes.NombreCorto
|
||||
DdlVendedor.SelectedValueExist(ObjClientes.Vendedor.ToString())
|
||||
|
||||
Dim CveVendedor = ObjClientes.Vendedor.ToEntero()
|
||||
'SI YA TIENE UN VALOR ASIGNADO SELECCIONA EL GUARDADO
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
Dim Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=1).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", CveVendedor))
|
||||
'SI NO ENCUENTRA BUSCA EN LOS VENDEDORES DEL PV
|
||||
If String.IsNullOrEmpty(Vendedor) Then
|
||||
Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=4).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", CveVendedor))
|
||||
End If
|
||||
DdlVendedor.SelectedValueExistInsert(CveVendedor, Vendedor)
|
||||
Else
|
||||
DdlVendedor.SelectedValueExist(CveVendedor)
|
||||
End If
|
||||
|
||||
'TxtVendedor.Text = ObjClientes.Vendedor
|
||||
TxtPlazoCobranza.Text = ObjClientes.PlazoCobranza.ToString()
|
||||
TxtPlazoCobranzaRemision.Text = ObjClientes.PlazoCobranzaRemision.ToString()
|
||||
@@ -8948,8 +8972,28 @@ Partial Class Clientes
|
||||
|
||||
CargaDTPorcentajePrecios(DTPorcentajePrecios.FiltraParametros("Estatus <> 'D' "))
|
||||
|
||||
End Sub
|
||||
Protected Sub GvM_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvM.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(279) Then
|
||||
e.Row.FCLinkButton("imgE").Visible = True
|
||||
e.Row.FCLinkButton("lnkRemove").Visible = True
|
||||
End If
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Sub GvP_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvP.RowDataBound
|
||||
If e.Row.RowType = DataControlRowType.DataRow Then
|
||||
|
||||
If UsuarioActual.TienePermisoProceso(279) Then
|
||||
e.Row.FCLinkButton("imgE").Visible = True
|
||||
e.Row.FCLinkButton("lnkRemove").Visible = True
|
||||
End If
|
||||
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Protected Sub GvM_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvM.RowEditing
|
||||
GvM.EditIndex = e.NewEditIndex
|
||||
|
||||
@@ -10422,6 +10466,7 @@ Partial Class Clientes
|
||||
Alert("Los cambios se guardaron satisfactoriamente.")
|
||||
End Using
|
||||
|
||||
End Sub
|
||||
End Sub
|
||||
|
||||
End Class
|
||||
|
||||
|
||||
@@ -1560,7 +1560,7 @@ Partial Class PV
|
||||
End If
|
||||
DdlSubProyectoDatos.SelectedValueExistInsert(DbRowVenta("CveSubProyecto").ToString, DbRowVenta("SubProyecto").ToString)
|
||||
CargarAlmacenes()
|
||||
|
||||
CargaFoliosGarantia()
|
||||
|
||||
CargaClienteSucursal(DbRowVenta("CveClienteSucursal").ToString.ToEntero)
|
||||
|
||||
@@ -2042,13 +2042,12 @@ Partial Class PV
|
||||
|
||||
End If
|
||||
|
||||
|
||||
'GUARDA USADOS
|
||||
If Not OcurrioError AndAlso Not ObjVentas.EliminarUsados(CveVenta) Then
|
||||
OcurrioError = True
|
||||
End If
|
||||
If Not OcurrioError AndAlso TmpDTRecepcionUsados IsNot Nothing AndAlso TmpDTRecepcionUsados.Rows.Count > 0 Then
|
||||
If Not OcurrioError AndAlso Not ObjVentas.EliminarUsados(CveVenta) Then
|
||||
OcurrioError = True
|
||||
End If
|
||||
|
||||
If Not OcurrioError AndAlso TmpDTRecepcionUsados IsNot Nothing Then
|
||||
For Each drow As DataRow In TmpDTRecepcionUsados.Rows
|
||||
If Not ObjVentas.AddVentaUsado(CveVenta, drow("CvePS").ToString.ToEntero, drow("Cantidad").ToString.ToDecimal, drow("PU").ToString.ToDecimal, drow("CveBCIUsado").ToString.ToEntero, drow("CveModeloAuto").ToString.ToEntero) Then
|
||||
OcurrioError = True
|
||||
@@ -2057,12 +2056,12 @@ Partial Class PV
|
||||
Next
|
||||
End If
|
||||
|
||||
'GUARDAR AJUSTES'
|
||||
If Not OcurrioError AndAlso Not ObjAcum.EliminarGarantiasDetalle(CveVenta) Then
|
||||
OcurrioError = True
|
||||
End If
|
||||
|
||||
'GUARDAR AJUSTES
|
||||
If Not OcurrioError AndAlso TmpDTAjustes IsNot Nothing AndAlso TmpDTAjustes.Rows.Count > 0 Then
|
||||
If Not OcurrioError AndAlso Not ObjAcum.EliminarGarantiasDetalle(CveVenta) Then
|
||||
OcurrioError = True
|
||||
End If
|
||||
|
||||
For Each Dr As DataRow In TmpDTAjustes.Rows
|
||||
If Not ObjAcum.AddGarantiasDetalle(Dr("CveVentaDetalle").ToString.ToEntero, Dr("CvePS").ToString.ToEntero, Dr("CveFolioGarantia").ToString.ToEntero, Dr("CveTipoUso").ToString.ToEntero,
|
||||
Dr("CodigoEnsamble").ToString, Dr("CodigoLinea").ToString, Dr("CodigoInspeccion").ToString, Dr("CveTipoDefecto").ToString.ToEntero, Dr("CodigoTD").ToString, Dr("TipoComprobante").ToString.ToEntero,
|
||||
@@ -2075,11 +2074,12 @@ Partial Class PV
|
||||
End If
|
||||
|
||||
'GUARDAR POLIZA VIRTUAL
|
||||
If Not OcurrioError AndAlso Not ObjAcum.EliminarPolizaVirtual(CveVenta) Then
|
||||
OcurrioError = True
|
||||
End If
|
||||
If Not OcurrioError AndAlso TmpDTPolizaVirtual IsNot Nothing AndAlso TmpDTPolizaVirtual.Rows.Count > 0 Then
|
||||
|
||||
If Not OcurrioError AndAlso Not ObjAcum.EliminarPolizaVirtual(CveVenta) Then
|
||||
OcurrioError = True
|
||||
End If
|
||||
|
||||
If Not OcurrioError AndAlso TmpDTPolizaVirtual IsNot Nothing Then
|
||||
For Each drow As DataRow In TmpDTPolizaVirtual.Rows
|
||||
If ObjAcum.AddPolizaVirtual(CveVenta, drow("CveVentaDetalle").ToString().ToEntero(), drow("CvePS").ToString.ToEntero, drow("Cantidad").ToString.ToDecimal, drow("PU").ToString.ToDecimal, drow("Descuento").ToString.ToDecimal,
|
||||
drow("Total").ToString.ToDecimal, drow("TipoServicio").ToString.ToEntero, drow("TipoPoliza").ToString.ToEntero, drow("CveModeloAuto").ToString.ToEntero, drow("AnioVehiculo").ToString.ToEntero, CBool(drow("TieneUsado").ToString),
|
||||
@@ -2711,6 +2711,8 @@ Partial Class PV
|
||||
UpParametros.Update()
|
||||
End If
|
||||
|
||||
CargaFoliosGarantia()
|
||||
|
||||
If ObjCliente.GetSucursales(CveCliente) Then
|
||||
DdlSucursalCliente.DataSource = ObjCliente.DtResultados
|
||||
If ObjCliente.DtResultados.Rows.Count > 0 Then
|
||||
@@ -3000,7 +3002,7 @@ Partial Class PV
|
||||
'SELECCIONA VENDEDOR DEL USUARIO CUANDO SEA VENTA NUEVA Y SIN CLIENTE
|
||||
If UsuarioActual.CveVendedor > 0 Then
|
||||
If CveVenta <= 0 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
|
||||
If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
If Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
DdlVendedor.Enabled = False
|
||||
End If
|
||||
'multiples vendedores visible
|
||||
@@ -4395,11 +4397,17 @@ Partial Class PV
|
||||
End Sub
|
||||
Private Sub DdlSubProyectoDatos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubProyectoDatos.SelectedIndexChanged
|
||||
CambiaSucursalGeneral()
|
||||
CargaFoliosGarantia()
|
||||
|
||||
UpAjuste.Update()
|
||||
UpModalVenta.Update()
|
||||
End Sub
|
||||
|
||||
Private Sub CargaFoliosGarantia()
|
||||
If UsuarioActual.Empresa.Funcionalidad(531).ToString = "1" Then
|
||||
Dim ObjAcum As New ClsAcumuladores
|
||||
If ObjAcum.FoliosGarantiaGet(-1, UsuarioActual.CveEmpresa, Estatus:=1, Area:=1) Then
|
||||
DdlFolioGarantia.DataSource = ObjAcum.DtResultados.FiltraParametros($"CveSubProyecto={DdlSubProyectoDatos.SelectedValue}")
|
||||
If ObjAcum.FoliosGarantiaGet(-1, UsuarioActual.CveEmpresa, Estatus:=1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), Area:=1) Then
|
||||
DdlFolioGarantia.DataSource = ObjAcum.DtResultados
|
||||
End If
|
||||
ObjAcum.Dispose()
|
||||
DdlFolioGarantia.DataBind()
|
||||
@@ -7045,6 +7053,7 @@ Partial Class PV
|
||||
|
||||
DdlBCIAjuste.Items.Clear()
|
||||
If DTBCIUsados IsNot Nothing AndAlso CveTamanio > 0 Then
|
||||
DdlBCIAjuste.SelectedValue = Nothing
|
||||
DdlBCIAjuste.DataSource = DTBCIUsados.FiltraParametros($"CveTamaño={CveTamanio}")
|
||||
DdlBCIAjuste.DataBind()
|
||||
DdlBCIAjuste.Items.Insert(0, New ListItem("Seleccione", "-1"))
|
||||
@@ -7295,7 +7304,7 @@ Partial Class PV
|
||||
|
||||
Protected Sub ChkAjuste_CheckedChanged(sender As Object, e As EventArgs)
|
||||
If ChkAjuste.Checked Then
|
||||
|
||||
CargaFoliosGarantia()
|
||||
'For Each Gvr As GridViewRow In GvRecepcionUsados.Rows
|
||||
' If Gvr.RowType = DataControlRowType.DataRow Then
|
||||
' Gvr.FCTextBox("TxtCantidad").Text = ""
|
||||
|
||||
@@ -406,7 +406,15 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
|
||||
{
|
||||
factura.CveEstatusRefacturacion = CveEstatusRefacturacion;
|
||||
}
|
||||
retorno = factura.CancelarPorRefacturacion(factura.CveMotivoCancelacion, factura.MotivoCancelacion, FolioSustitucion: FolioSustitucion);
|
||||
|
||||
int CveEstatusFactura = -1;
|
||||
//SI LA FACTURA YA ESTA CANCELADA, LA ASIGNA YA COMO CANCELADA
|
||||
if (CveEstatus == 5)
|
||||
{
|
||||
CveEstatusFactura = CveEstatus;
|
||||
}
|
||||
|
||||
retorno = factura.CancelarPorRefacturacion(factura.CveMotivoCancelacion, factura.MotivoCancelacion, FolioSustitucion: FolioSustitucion, CveEstatusFacturaAsignado: CveEstatusFactura);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -1930,6 +1930,31 @@ Partial Class Ventas
|
||||
ViewState("CveVendedorCliente") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property CveVendedorClienteSucursal As Integer
|
||||
Get
|
||||
Return If(IsNothing(ViewState("CveVendedorClienteSucursal")), -1, ViewState("CveVendedorClienteSucursal")).ToString().ToEntero
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveVendedorClienteSucursal") = value
|
||||
End Set
|
||||
End Property
|
||||
|
||||
Private Property CveVendedorContrato As Integer
|
||||
Get
|
||||
Return If(IsNothing(ViewState("CveVendedorContrato")), -1, ViewState("CveVendedorContrato")).ToString().ToEntero
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveVendedorContrato") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property CveVendedorEmpresaCRM As Integer
|
||||
Get
|
||||
Return If(IsNothing(ViewState("CveVendedorEmpresaCRM")), -1, ViewState("CveVendedorEmpresaCRM")).ToString().ToEntero
|
||||
End Get
|
||||
Set(value As Integer)
|
||||
ViewState("CveVendedorEmpresaCRM") = value
|
||||
End Set
|
||||
End Property
|
||||
Private Property DiasCredito As Integer
|
||||
Get
|
||||
Return ViewState("DiasCredito").ToString().ToEntero()
|
||||
@@ -2203,6 +2228,9 @@ Partial Class Ventas
|
||||
ViewState("CvePrecioListaCliente") = 0
|
||||
Me.CveVendedorVenta = -1
|
||||
Me.CveVendedorCliente = -1
|
||||
Me.CveVendedorClienteSucursal = -1
|
||||
Me.CveVendedorContrato = -1
|
||||
Me.CveVendedorEmpresaCRM = -1
|
||||
Me.EsGarantia = False
|
||||
idCuentaContabilizacion = 1
|
||||
CveEmpresaCRM = 0
|
||||
@@ -2883,16 +2911,16 @@ Partial Class Ventas
|
||||
If CveVenta < 1 Then CargaFolios()
|
||||
|
||||
'SELECCIONA VENDEDOR DEL USUARIO CUANDO SEA VENTA NUEVA Y SIN CLIENTE
|
||||
If UsuarioActual.CveVendedor > 0 Then
|
||||
If CveVenta = -1 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
|
||||
If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
DdlVendedor.Enabled = False
|
||||
End If
|
||||
'multiples vendedores visible
|
||||
If UsuarioActual.TienePermisoProceso(153) Then
|
||||
DdlVendedor.Enabled = True
|
||||
End If
|
||||
End If
|
||||
'If UsuarioActual.CveVendedor > 0 Then
|
||||
' If CveVenta = -1 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
|
||||
' If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
' DdlVendedor.Enabled = False
|
||||
' End If
|
||||
' 'multiples vendedores visible
|
||||
' If UsuarioActual.TienePermisoProceso(153) Then
|
||||
' DdlVendedor.Enabled = True
|
||||
' End If
|
||||
'End If
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(301).ToEntero() > 0 Then
|
||||
TxtFecha.Enabled = False
|
||||
@@ -3632,6 +3660,8 @@ Partial Class Ventas
|
||||
NumeroContrato = DrContrato("NumeroContrato").ToString()
|
||||
DescripcionContrato = DrContrato("DescripcionContrato").ToString()
|
||||
NumeroLicitacion = DrContrato("NumeroLicitacion").ToString().Trim
|
||||
|
||||
Me.CveVendedorContrato = DrContrato("CveVendedor").ToString().ToEntero()
|
||||
DdlVendedor.SelectedValueExist(DrContrato("CveVendedor"))
|
||||
|
||||
If DrContrato("CveSucursalCliente").ToString().ToEntero() > 0 Then
|
||||
@@ -4702,14 +4732,14 @@ Partial Class Ventas
|
||||
Me.CveVendedorVenta = DbRowVenta("CveVendedor").ToString().ToEntero()
|
||||
|
||||
'SI YA TIENE UN VALOR ASIGNADO SELECCIONA EL GUARDADO
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso Me.CveVenta > 0 AndAlso Me.CveVendedorVenta > 0 Then
|
||||
Dim Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=1).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", Me.CveVendedorVenta))
|
||||
'SI NO ENCUENTRA BUSCA EN LOS VENDEDORES DEL PV
|
||||
If String.IsNullOrEmpty(Vendedor) Then
|
||||
Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=4).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", Me.CveVendedorVenta))
|
||||
End If
|
||||
DdlVendedor.SelectedValueExistInsert(Me.CveVendedorVenta, Vendedor)
|
||||
End If
|
||||
'If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso Me.CveVenta > 0 AndAlso Me.CveVendedorVenta > 0 Then
|
||||
' Dim Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=1).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", Me.CveVendedorVenta))
|
||||
' 'SI NO ENCUENTRA BUSCA EN LOS VENDEDORES DEL PV
|
||||
' If String.IsNullOrEmpty(Vendedor) Then
|
||||
' Vendedor = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=4).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", Me.CveVendedorVenta))
|
||||
' End If
|
||||
' DdlVendedor.SelectedValueExistInsert(Me.CveVendedorVenta, Vendedor)
|
||||
'End If
|
||||
|
||||
If DdlFormaPago33.SelectedValue <> DbRowVenta("CveFormaPago33").ToString() And DbRowVenta("CveFormaPago33").ToString() <> "" Then
|
||||
'sino está seleccionada la asginada la debe de cargar
|
||||
@@ -5537,7 +5567,7 @@ Partial Class Ventas
|
||||
dr("CvePS").ToString().ToEntero(), dr("PS").ToString(), dr("Obs").ToString(), dr("PU").ToString().ToDecimal, dr("Descuento").ToString().ToDecimal,
|
||||
dr("CveProyecto").ToString().ToEntero(), dr("Proyecto").ToString(), dr("CveSubProyecto").ToString().ToEntero(), dr("SubProyecto").ToString(),
|
||||
CveContratoDetalle:=dr("CveContratoDetalle").ToString().ToEntero(), CveVentaDetalleCotizacion:=dr("CveVentaDetalleCotizacion").ToString().ToEntero(),
|
||||
CveVentaDetalle:=dr("CveVentaDetalle").ToString().ToEntero(), RegeneraIEPS:=True, SeActualiza:=True)
|
||||
CveVentaDetalle:=dr("CveVentaDetalle").ToString().ToEntero(), RegeneraIEPS:=False, SeActualiza:=True)
|
||||
|
||||
|
||||
Next
|
||||
@@ -5546,6 +5576,13 @@ Partial Class Ventas
|
||||
'TmpDT.Columns.Add("EntregaDirecta", GetType(Integer))
|
||||
'TmpDT.Columns.Add("CveMovimientoDetallePedido", GetType(Integer))
|
||||
''TmpDT.Columns.Add("CantidadFacturadaRem", GetType(Decimal))
|
||||
|
||||
ObjVentas.DtResultados.Columns.Add("TieneProntoPago", GetType(String))
|
||||
ObjVentas.DtResultados.Columns.Add("ImporteProntoPago", GetType(Decimal))
|
||||
|
||||
ObjVentas.DtResultados.Columns("TieneProntoPago").DefaultValue = "No"
|
||||
ObjVentas.DtResultados.Columns("ImporteProntoPago").DefaultValue = 0
|
||||
|
||||
GvPS.DataSource = ObjVentas.DtResultados
|
||||
GvPS.DataBind()
|
||||
End If
|
||||
@@ -5867,6 +5904,7 @@ Partial Class Ventas
|
||||
UpEmpresaCRM.Visible = True
|
||||
|
||||
End If
|
||||
Me.CveVendedorEmpresaCRM = ObjCRM.DtResultados.Rows(0)("CveVendedorAsignado").ToString().ToEntero()
|
||||
|
||||
DdlVendedor.SelectedValueExist(ObjCRM.DtResultados.Rows(0)("CveVendedorAsignado").ToString())
|
||||
DdlVendedor.Enabled = False
|
||||
@@ -6137,18 +6175,18 @@ Partial Class Ventas
|
||||
TxtFordGSDB.Text = ObjCliente.Ford_GSDB
|
||||
|
||||
If ObjCliente.DtResultados(0)("CveVendedor").ToString().ToEntero() > 0 Then
|
||||
DdlVendedor.SelectedValueExist(ObjCliente.DtResultados(0)("CveVendedor").ToString().ToEntero())
|
||||
CveVendedorCliente = ObjCliente.DtResultados(0)("CveVendedor").ToString().ToEntero()
|
||||
End If
|
||||
|
||||
'SI EL CLIENTE NO TIENE VENDEDOR SELECCIONAMOS EL DEL USUARIO
|
||||
If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then
|
||||
DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
|
||||
End If
|
||||
'If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then
|
||||
' DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
|
||||
'End If
|
||||
|
||||
If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
DdlVendedor.Enabled = False
|
||||
End If
|
||||
'If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
' DdlVendedor.Enabled = False
|
||||
'End If
|
||||
CargaVendedores()
|
||||
|
||||
UpFacturar.Update()
|
||||
|
||||
@@ -6370,10 +6408,6 @@ Partial Class Ventas
|
||||
End If
|
||||
BloqueaCondiconesPago()
|
||||
DeshabilitarAplicarNotaDeCredito(LblRFC.Text)
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
CargaVendedoresSubProyectos()
|
||||
End If
|
||||
End Sub
|
||||
|
||||
Private Sub CargaRelacionadasPendientes()
|
||||
@@ -6946,7 +6980,7 @@ Partial Class Ventas
|
||||
ViewState("CliPais") = ObjCliente.DtResultados.Rows(0)("Pais").ToString()
|
||||
ViewState("CliNoExt") = ObjCliente.DtResultados.Rows(0)("NoExt").ToString()
|
||||
ViewState("CliNoInt") = ObjCliente.DtResultados.Rows(0)("NoInt").ToString()
|
||||
DdlVendedor.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveVendedor").ToString())
|
||||
Me.CveVendedorClienteSucursal = ObjCliente.DtResultados.Rows(0)("CveVendedor").ToString().ToEntero()
|
||||
ViewState("CveClienteSucursal") = ObjCliente.DtResultados(0)("CveClienteSucursal").ToString()
|
||||
ViewState("CliCorreoCot") = ObjCliente.DtResultados.Rows(0)("CorreoCotizacion").ToString()
|
||||
|
||||
@@ -7014,7 +7048,8 @@ Partial Class Ventas
|
||||
LblEstado.Text = ObjCliente.Estado
|
||||
LblCP.Text = ObjCliente.CP
|
||||
LblTelefono.Text = ObjCliente.Telefono
|
||||
DdlVendedor.SelectedValueExist(ObjCliente.DtResultados.Rows(0)("CveVendedor").ToString())
|
||||
Me.CveVendedorClienteSucursal = -1
|
||||
Me.CveVendedorCliente = ObjCliente.DtResultados.Rows(0)("CveVendedor").ToString().ToEntero()
|
||||
ViewState("CliNoExt") = ObjCliente.NoExt
|
||||
ViewState("CliNoInt") = ObjCliente.NoInt
|
||||
PlazoCobranza = ObjCliente.PlazoCobranza
|
||||
@@ -7035,10 +7070,12 @@ Partial Class Ventas
|
||||
End If
|
||||
End If
|
||||
|
||||
'SI LA SUCURSAL DEL CLIENTE NO TIENE VENDEDOR SELECCIONAMOS EL DEL USUARIO
|
||||
If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then
|
||||
DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
|
||||
End If
|
||||
''SI LA SUCURSAL DEL CLIENTE NO TIENE VENDEDOR SELECCIONAMOS EL DEL USUARIO
|
||||
'If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then
|
||||
' DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
|
||||
'End If
|
||||
|
||||
CargaVendedores()
|
||||
|
||||
'SI LA VENTA YA ESTA REGISTRADA NO DEBE HABILITAR ACCIONES
|
||||
If CveVenta <= 0 Then
|
||||
@@ -13634,7 +13671,7 @@ Partial Class Ventas
|
||||
|
||||
|
||||
Case 30 'PAGO - BANCOS
|
||||
If DtPagos IsNot Nothing AndAlso DtPagos.Rows.Count > 0 Then
|
||||
If DtPagos IsNot Nothing AndAlso DtPagos.Rows.Count > 0 AndAlso ObjFactura.TipoDocto <> "Rem" Then
|
||||
|
||||
For Each DrPago As DataRow In DtPagos.Rows
|
||||
CveIEPago = -1
|
||||
@@ -17004,9 +17041,7 @@ Partial Class Ventas
|
||||
End If
|
||||
ObjSubProyectos.Dispose()
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
CargaVendedoresSubProyectos()
|
||||
End If
|
||||
CargaVendedores()
|
||||
|
||||
UpDetalle.Update()
|
||||
End Sub
|
||||
@@ -17189,43 +17224,93 @@ Partial Class Ventas
|
||||
UpParametros.Update()
|
||||
End Sub
|
||||
Private Sub CargaVendedores()
|
||||
Dim CveVendedorActual As Integer = 0
|
||||
|
||||
Dim CveVendedorActual = DdlVendedor.SelectedValue.ToEntero()
|
||||
|
||||
If Not CveVendedorActual > 0 AndAlso Me.CveVendedorCliente > 0 Then
|
||||
DdlVendedor.SelectedValueExist(Me.CveVendedorCliente)
|
||||
CveVendedorActual = Me.CveVendedorCliente
|
||||
End If
|
||||
Dim EsVentaNueva As Boolean = (Me.CveVenta <= 0 OrElse Me.EsCreaApartirDe OrElse NuevaFactura = 1)
|
||||
|
||||
DdlVendedor.Items.Clear()
|
||||
DdlVendedor.SelectedValue = Nothing
|
||||
|
||||
DdlVendedorSucursal.Items.Clear()
|
||||
DdlVendedorSucursal.SelectedValue = Nothing
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(302) = "1" AndAlso DdlSubProyectoDatos.SelectedValue.ToEntero() > 0 Then
|
||||
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyectoDatos.SelectedValue)).FiltraParametros("VendedorTipo = 1")
|
||||
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("(CveSubProyecto IS NULL OR CveSubProyecto = {0})", DdlSubProyectoDatos.SelectedValue)).FiltraParametros("VendedorTipo = 1")
|
||||
Else
|
||||
DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros("VendedorTipo = 1")
|
||||
End If
|
||||
|
||||
DdlVendedor.SelectedValue = "0"
|
||||
DdlVendedor.Items.Insert(0, New ListItem("Sin Asignar", "0"))
|
||||
|
||||
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then
|
||||
CargaVendedoresSubProyectos()
|
||||
End If
|
||||
|
||||
DdlVendedorSucursal.DataSource = DdlVendedor.DataSource
|
||||
|
||||
DdlVendedor.DataBind()
|
||||
DdlVendedorSucursal.DataBind()
|
||||
|
||||
DdlVendedor.SelectedValueExist(CveVendedorActual)
|
||||
DdlVendedor.Items.Insert(0, New ListItem("Sin Asignar"))
|
||||
DdlVendedorSucursal.Items.Insert(0, New ListItem("Sin Asignar"))
|
||||
|
||||
If Not DdlVendedor.SelectedValue.ToEntero() > 0 Then
|
||||
DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
|
||||
DdlVendedor.SelectedValueExist("0")
|
||||
DdlVendedorSucursal.SelectedValueExist("0")
|
||||
|
||||
'SI NO ES VENTA ACTUAL
|
||||
If EsVentaNueva Then
|
||||
'PRIMERO TOMA EL VENDEDOR DEL USUARIO
|
||||
If UsuarioActual.CveVendedor > 0 Then
|
||||
CveVendedorActual = UsuarioActual.CveVendedor
|
||||
End If
|
||||
'DAR PREFERENCIA AL VENDEDOR ASIGNADO AL CLIENTE
|
||||
If Me.CveVendedorCliente > 0 Then
|
||||
CveVendedorActual = Me.CveVendedorCliente
|
||||
End If
|
||||
'DAR PREFERENCIA AL VENDEDOR ASIGNADO LA SUCURSAL CLIENTE
|
||||
If Me.CveVendedorClienteSucursal > 0 Then
|
||||
CveVendedorActual = Me.CveVendedorClienteSucursal
|
||||
End If
|
||||
'SI TIENE CONTRATO TOMA EL DEL CONTRATO
|
||||
If Me.CveVendedorContrato > 0 Then
|
||||
CveVendedorActual = Me.CveVendedorContrato
|
||||
End If
|
||||
'SI ES EMPRESA CRM TOMA DE AQUI
|
||||
If Me.CveVendedorEmpresaCRM > 0 Then
|
||||
CveVendedorActual = Me.CveVendedorEmpresaCRM
|
||||
End If
|
||||
Else
|
||||
'SI ES VENTA EXISTENTE TOMA EL DE LA VENTA
|
||||
If Me.CveVendedorVenta > 0 Then
|
||||
CveVendedorActual = Me.CveVendedorVenta
|
||||
End If
|
||||
End If
|
||||
|
||||
If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
DdlVendedor.Enabled = False
|
||||
If CveVendedorActual > 0 Then
|
||||
Dim VendedorActual As String = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("Vendedor", $"CveVendedor = {CveVendedorActual}")
|
||||
'SI NO ENCUENTRA BUSCA EN LOS VENDEDORES DEL PV
|
||||
If String.IsNullOrEmpty(VendedorActual) Then
|
||||
VendedorActual = GlobalDTVendedores(UsuarioActual.CveEmpresa, VendedorTipo:=4).FiltroPrimeroValor("Vendedor", String.Format("CveVendedor = {0}", CveVendedorActual))
|
||||
End If
|
||||
|
||||
If String.IsNullOrEmpty(VendedorActual) Then
|
||||
DdlVendedor.SelectedValueExist(CveVendedorActual)
|
||||
Else
|
||||
DdlVendedor.SelectedValueExistInsert(CveVendedorActual, VendedorActual)
|
||||
End If
|
||||
End If
|
||||
|
||||
If UsuarioActual.CveEmpresa = 140 Then
|
||||
If Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
DdlVendedor.Enabled = False
|
||||
End If
|
||||
Else
|
||||
If DdlVendedor.SelectedValue.ToEntero() > 0 AndAlso Not UsuarioActual.TienePermisoProceso(161) Then
|
||||
DdlVendedor.Enabled = False
|
||||
End If
|
||||
End If
|
||||
|
||||
|
||||
'multiples vendedores visible
|
||||
If UsuarioActual.TienePermisoProceso(153) Then
|
||||
DdlVendedor.Enabled = True
|
||||
End If
|
||||
|
||||
UPPVentas.Update()
|
||||
'TxtCorreoNotificaciones.Text = GlobalDTUsuarios(UsuarioActual.CveUsuario).FiltroPrimeroValor("Correo")
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -17872,7 +17957,7 @@ Partial Class Ventas
|
||||
Dim FacturaDesglosoIEPS As Boolean = ((CveDevolucion > 0 AndAlso NuevaFactura = 1) AndAlso (Me.ObjFacturaNC IsNot Nothing AndAlso Not Me.ObjFacturaNC.VentaDesglosaIEPS))
|
||||
|
||||
If Not ClienteDesglosaIEPS Then
|
||||
If RegeneraIEPS AndAlso FacturaDesglosoIEPS Then
|
||||
If Not RegeneraIEPS AndAlso Not FacturaDesglosoIEPS Then
|
||||
PU = PU * (1 + DrPS("IEPSPorcentaje").ToString().ToDecimal)
|
||||
VentaDesglosaIEPS = True
|
||||
End If
|
||||
@@ -33644,23 +33729,29 @@ Partial Class Ventas
|
||||
UpModalSolicitud.Update()
|
||||
End Sub
|
||||
|
||||
Private Sub CargaVendedoresSubProyectos()
|
||||
'Private Sub CargaVendedoresSubProyectos()
|
||||
|
||||
Dim DtVendedoresSucursales = GlobalDTClientesVendedoresSubProyectos(UsuarioActual.CveEmpresa, CveCliente:=Me.CveCliente, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero())
|
||||
' DdlVendedor.Items.Clear()
|
||||
' DdlVendedor.SelectedValue = Nothing
|
||||
|
||||
If DtVendedoresSucursales IsNot Nothing AndAlso DtVendedoresSucursales.Rows.Count > 0 Then
|
||||
DdlVendedor.Items.Clear()
|
||||
DdlVendedor.SelectedValue = Nothing
|
||||
' Dim DtVendedoresSucursales = GlobalDTClientesVendedoresSubProyectos(UsuarioActual.CveEmpresa, CveCliente:=Me.CveCliente, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero())
|
||||
|
||||
DdlVendedor.DataSource = DtVendedoresSucursales
|
||||
DdlVendedor.DataBind()
|
||||
DdlVendedor.Items.Insert(0, New ListItem("Sin Asignar", "0"))
|
||||
' If DtVendedoresSucursales IsNot Nothing AndAlso DtVendedoresSucursales.Rows.Count > 0 Then
|
||||
' DdlVendedor.DataSource = DtVendedoresSucursales
|
||||
' DtVendedoresSucursales.Dispose()
|
||||
' Else
|
||||
' If UsuarioActual.Empresa.Funcionalidad(302) = "1" AndAlso DdlSubProyectoDatos.SelectedValue.ToEntero() > 0 Then
|
||||
' DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveSubProyecto = {0}", DdlSubProyectoDatos.SelectedValue)).FiltraParametros("VendedorTipo = 1")
|
||||
' Else
|
||||
' DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa).FiltraParametros("VendedorTipo = 1")
|
||||
' End If
|
||||
' End If
|
||||
|
||||
DtVendedoresSucursales.Dispose()
|
||||
End If
|
||||
' DdlVendedor.DataBind()
|
||||
' DdlVendedor.Items.Insert(0, New ListItem("Sin Asignar", "0"))
|
||||
|
||||
UpParametros.Update()
|
||||
End Sub
|
||||
' UpParametros.Update()
|
||||
'End Sub
|
||||
|
||||
Public Class MAnticipoRelacionado
|
||||
Public Property CveVenta As Integer
|
||||
|
||||
Reference in New Issue
Block a user