This commit is contained in:
Raúl Pimienta
2022-01-06 00:17:10 -07:00
29 changed files with 3190 additions and 1759 deletions

View File

@@ -269,7 +269,39 @@ Public Class ClsGenerales
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los mptivos de cancelación.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
OnError("Ocurrió un error al obtener los motivos de cancelación.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GetMotivosCancelacionEmpresa(CveEmpresa As Integer, Optional CveMotivoCancelacion As Integer = -1, Optional CveSATMotivoCancelacion As Integer = -1) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Gral_MotivosCancelacionGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveMotivoCancelacion", SqlDbType.Int).Value = CveMotivoCancelacion
.Add("@CveSATMotivoCancelacion", SqlDbType.Int).Value = CveSATMotivoCancelacion
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los motivos de cancelación.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function GenerarMotivosCancelacionEmpresaDefault(CveEmpresa As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Gral_MotivosCancelacionDefaultAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar los motivos de cancelacion.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function

View File

@@ -1730,7 +1730,7 @@ Public Class ClsInventarios
Public Function RepMovimientos(CveEmpresa As Integer, CveMoneda As Integer, FechaI As String, FechaF As String, CveConcepto As Integer, CveProveedor As Integer, Almacenes As String,
CveFamilia As Integer, CveSubFamilia As Integer, CvePS As Integer, CveClasificacion As Integer, Tipo As Integer, Optional CveMarca As Integer = -1, Optional CvePersonal As Integer = -1,
CveCategoria As Integer, CveClasificacion As Integer, CvePS As Integer, Tipo As Integer, Optional CveMarca As Integer = -1, Optional CvePersonal As Integer = -1,
Optional CveClasificacion2 As Integer = -1, Optional CveTipoAlmacen As String = "-1", Optional Modalidad As Integer = -1) As Boolean
Dim Retorno As Boolean = False
@@ -1745,8 +1745,8 @@ Public Class ClsInventarios
.Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
.Add("@Almacenes", SqlDbType.VarChar).Value = Almacenes
.Add("@CveFamilia", SqlDbType.Int).Value = CveFamilia
.Add("@CveSubFamilia", SqlDbType.Int).Value = CveSubFamilia
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
' .Add("@CveSubFamilia", SqlDbType.Int).Value = CveSubFamilia
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca

View File

@@ -1141,7 +1141,7 @@ Public Class ClsPaginas
End Set
End Property
Public Shared Property GlobalDTSATMotivosCancelacion(Optional CveMotivoCancelacion As Integer = -1, Optional CodigoSAT As String = "-1") As DataTable
Public Shared Property GlobalDTSATMotivosCancelacion(Optional CveSATMotivoCancelacion As Integer = -1, Optional CodigoSAT As String = "-1") As DataTable
Get
If HttpContext.Current.Application("GlobalDTSATMotivosCancelacion") Is Nothing Then
Using ObjGral As New ClsGenerales
@@ -1151,13 +1151,13 @@ Public Class ClsPaginas
End Using
End If
If CveMotivoCancelacion <> -1 OrElse CodigoSAT <> "-1" Then
If CveSATMotivoCancelacion <> -1 OrElse CodigoSAT <> "-1" Then
Dim StrSQL As New StringBuilder
StrSQL.Append("1=1")
If CveMotivoCancelacion <> -1 Then StrSQL.AppendFormat(" AND CveMotivoCancelacion = {0}", CveMotivoCancelacion)
If CveSATMotivoCancelacion <> -1 Then StrSQL.AppendFormat(" AND CveSATMotivoCancelacion = {0}", CveSATMotivoCancelacion)
If CodigoSAT <> "-1" Then StrSQL.AppendFormat(" AND CodigoSAT = '{0}'", CodigoSAT)
Dim Dv As New DataView(DirectCast(HttpContext.Current.Application("GlobalDTSATMotivosCancelacion"), DataTable), StrSQL.ToString.Trim.TrimStart("A"c, "N"c, "D"c), " CveMotivoCancelacion", DataViewRowState.CurrentRows)
Dim Dv As New DataView(DirectCast(HttpContext.Current.Application("GlobalDTSATMotivosCancelacion"), DataTable), StrSQL.ToString.Trim.TrimStart("A"c, "N"c, "D"c), " CveSATMotivoCancelacion", DataViewRowState.CurrentRows)
GlobalDTSATMotivosCancelacion = Dv.ToTable
Dv.Dispose()
Else
@@ -1169,6 +1169,47 @@ Public Class ClsPaginas
HttpContext.Current.Application("GlobalDTSATMotivosCancelacion") = value
End Set
End Property
Public Shared Property GlobalDTMotivosCancelacionEmpresa(CveEmpresa As Integer, Optional CveMotivoCancelacion As Integer = -1, Optional CveSATMotivoCancelacion As Integer = -1) As DataTable
Get
Dim AppNombre As String = String.Format("GlobalDTMotivosCancelacionEmpresa-{0}", CveEmpresa)
'sino existe, recarga los datos
If HttpContext.Current.Application(AppNombre) Is Nothing Then
Dim ObjGral As New ClsGenerales()
If ObjGral.GetMotivosCancelacionEmpresa(CveEmpresa) Then
'SI NO TIENE, GENERA LOS MOTIVOS
If ObjGral.DtResultados.Rows.Count = 0 Then
If ObjGral.GenerarMotivosCancelacionEmpresaDefault(CveEmpresa) Then
If ObjGral.GetMotivosCancelacionEmpresa(CveEmpresa) AndAlso ObjGral.DtResultados.Rows.Count > 0 Then
HttpContext.Current.Application(AppNombre) = ObjGral.DtResultados
End If
End If
Else
HttpContext.Current.Application(AppNombre) = ObjGral.DtResultados
End If
End If
ObjGral.Dispose()
End If
If HttpContext.Current.Application(AppNombre) IsNot Nothing Then
Dim Str As New StringBuilder
Str.AppendFormat(" 1 = 1 ")
If CveMotivoCancelacion > 0 Then Str.AppendFormat(" AND CveMotivoCancelacion = {0}", CveMotivoCancelacion)
If CveSATMotivoCancelacion > 0 Then Str.AppendFormat(" AND CveSATMotivoCancelacion = {0}", CveSATMotivoCancelacion)
Dim Dv As New DataView(DirectCast(HttpContext.Current.Application(AppNombre), DataTable), Str.ToString, "", DataViewRowState.CurrentRows)
GlobalDTMotivosCancelacionEmpresa = Dv.ToTable
Dv.Dispose()
Else
GlobalDTMotivosCancelacionEmpresa = Nothing
End If
End Get
Set(value As DataTable)
Dim AppNombre As String = String.Format("GlobalDTMotivosCancelacionEmpresa-{0}", CveEmpresa)
HttpContext.Current.Application(AppNombre) = value
End Set
End Property
Property GlobalDTEstatusOrdenCompra() As DataTable
Get
GlobalDTEstatusOrdenCompra = DirectCast(Application("GlobalDTEstatusOrdenCompra"), DataTable)
@@ -2511,19 +2552,29 @@ Public Class ClsPaginas
#Region "***********************************************************************DT GENERALES**************************************************************************************"
Property GlobalDTGralCategorias(CveEmpresa As Integer) As DataTable
Get
If CveEmpresa <> -1 Then
Dim Dv As New DataView(DirectCast(Application("GlobalDTGralCategorias"), DataTable), String.Format("CveEmpresa = {0}", CveEmpresa), "", DataViewRowState.CurrentRows)
GlobalDTGralCategorias = Dv.ToTable
Dv.Dispose()
Else
GlobalDTGralCategorias = DirectCast(Application("GlobalDTGralCategorias"), DataTable)
Dim AppNombre As String = String.Format("GlobalDTGralCategorias-{0}", CveEmpresa)
'sino existe, recarga los datos
If DirectCast(Application(AppNombre), DataTable) Is Nothing Then
Dim ObjGenerales As New ClsGenerales
If ObjGenerales.GetCategorias(CveEmpresa) Then Application(AppNombre) = ObjGenerales.DtResultados Else Application(AppNombre) = Nothing
ObjGenerales.Dispose()
End If
Dim filtro As New StringBuilder
'If CveMarca > 0 Then
' filtro.AppendFormat(" CveMarca={0} ", CveMarca)
'End If
Dim Dv As New DataView(DirectCast(Application(AppNombre), DataTable), filtro.ToString, "", DataViewRowState.CurrentRows)
GlobalDTGralCategorias = Dv.ToTable
Dv.Dispose()
End Get
Set(value As DataTable)
Application("GlobalDTGralCategorias") = value
Dim AppNombre As String = String.Format("GlobalDTGralCategorias-{0}", CveEmpresa)
Application(AppNombre) = value
End Set
End Property
Property GlobalDTGralCategorias2(CveEmpresa As Integer) As DataTable

View File

@@ -241,6 +241,26 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function GetVentasPendientesCancelacion(CveEmpresa As Integer, CveUsuarioConsulta As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasPendientesCancelacionGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener las Ventas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetVentaComplementos() As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ComplementosGet")
@@ -2735,9 +2755,9 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function GetRepRemisionesSinFacturar(FechaI As String, FechaF As String, FechaV As String, CveSubProyecto As String, CveCliente As Integer, CveContrato As Integer, CveVendedor As String, CveEmpresa As Integer, Optional CveUsuarioConsulta As Integer = -1) As Boolean
Public Function GetRepRemisionesSinFacturar(FechaI As String, FechaF As String, FechaV As String, CveSubProyecto As String, CveCliente As Integer, CveContrato As Integer, CveVendedor As String, CveEmpresa As Integer, Optional CveUsuarioConsulta As Integer = -1, Optional ConsultaInventario As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("Vta_RepRemisionesGet")
DataAdapter("PA_Vta_RepRemisionesGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaI", SqlDbType.VarChar).Value = FechaI
@@ -2749,6 +2769,7 @@ Public Class ClsVentas
.Add("@CveVendedor", SqlDbType.VarChar).Value = CveVendedor
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
.Add("@ConsultaInventario", SqlDbType.Bit).Value = ConsultaInventario
End With
Try
@@ -2760,9 +2781,9 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function GetRepRemisionesSinFacturarDetalle(FechaI As String, FechaF As String, FechaV As String, CveCliente As Integer, CveContrato As Integer, CveVenta As Integer, CveEmpresa As Integer, CveSubProyecto As String, Optional CveUsuarioConsulta As Integer = -1) As Boolean
Public Function GetRepRemisionesSinFacturarDetalle(FechaI As String, FechaF As String, FechaV As String, CveCliente As Integer, CveContrato As Integer, CveVenta As Integer, CveEmpresa As Integer, CveSubProyecto As String, Optional CveUsuarioConsulta As Integer = -1, Optional ConsultaInventario As Boolean = False) As Boolean
Dim Retorno As Boolean = False
DataAdapter("Vta_RepRemisionesDetalleGet")
DataAdapter("PA_Vta_RepRemisionesDetalleGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@FechaI", SqlDbType.VarChar).Value = FechaI
@@ -2774,6 +2795,7 @@ Public Class ClsVentas
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
.Add("@ConsultaInventario", SqlDbType.Bit).Value = ConsultaInventario
End With
Try
@@ -2848,7 +2870,7 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function GetReporteVentasUtilidad(CveVendedor As String, CveCliente As Integer, CveSubProyecto As String, FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer, CvePS As Integer, CveClasificacion As Integer, CveMarca As Integer) As Boolean
Public Function GetReporteVentasUtilidad(CveVendedor As String, CveCliente As Integer, CveSubProyecto As String, FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer, CvePS As Integer, CveCategoria As Integer, CveClasificacion As Integer, CveMarca As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasUtilidadGet")
@@ -2860,6 +2882,7 @@ Public Class ClsVentas
.Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
End With
@@ -2876,7 +2899,7 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function GetReporteVentasUtilidadDetalle(CveVendedor As String, CveVenta As Integer, CveCliente As Integer, CveSubProyecto As String, FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer, CvePS As Integer, CveClasificacion As Integer, CveMarca As Integer) As Boolean
Public Function GetReporteVentasUtilidadDetalle(CveVendedor As String, CveVenta As Integer, CveCliente As Integer, CveSubProyecto As String, FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer, CvePS As Integer, CveCategoria As Integer, CveClasificacion As Integer, CveMarca As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasUtilidadDetalleGet")
With SqlAdapter.SelectCommand.Parameters
@@ -2888,6 +2911,7 @@ Public Class ClsVentas
.Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
End With
@@ -2907,7 +2931,7 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function GetReportePadreVentasUtilidad(CveVendedor As String, CveCliente As Integer, CveSubProyecto As String, FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer, Gpo As Integer, CvePS As Integer, CveClasificacion As Integer, CveMarca As Integer) As Boolean
Public Function GetReportePadreVentasUtilidad(CveVendedor As String, CveCliente As Integer, CveSubProyecto As String, FechaInicio As Date, FechaFin As Date, CveEmpresa As Integer, Gpo As Integer, CvePS As Integer, CveCategoria As Integer, CveClasificacion As Integer, CveMarca As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_RepVentasUtilidadGet")
@@ -2920,6 +2944,7 @@ Public Class ClsVentas
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Gpo", SqlDbType.Int).Value = Gpo
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca
End With
@@ -3036,6 +3061,24 @@ Public Class ClsVentas
Return OnError
End Function
Public Function GetFacturasRelacionadasPorFolioFiscal(FoliosFiscales As String, CveEmpresa As Integer) As Boolean
Dim OnError As Boolean = False
DataAdapter("PA_Vta_FacturasRelacionadasPorFolioFiscalGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@FoliosFiscales", SqlDbType.VarChar).Value = FoliosFiscales
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
OnError = True
Catch ex As Exception
Me.OnError("Ocurrió un error al obtener las facturas.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return OnError
End Function
Public Function GetFacturasCanceladasPendientesWS(RFC As String, CveEmpresa As Integer, Optional showalert As Boolean = True) As Boolean
Dim retorno As Boolean = False
Try
@@ -3075,6 +3118,8 @@ Public Class ClsVentas
Return retorno
End Function
Public Function UpdateVentaFacturas(CveFactura As Integer, CveVenta As Integer, CveEmpresa As Integer) As Boolean
Dim OnError As Boolean = False

View File

@@ -4585,7 +4585,7 @@ Namespace Modelos
End If
ObjVentas.Dispose()
Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=Me.RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusFacturaAsignado:=CveEstatus, FechaCancelacion:=FechaCancelacion.ToString("dd/MM/yyyy hh:mm:ss"), AcuseCancelacion:=AcuseCancelacion)
Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=Me.RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusFacturaAsignado:=CveEstatus, FechaCancelacion:=FechaCancelacion.ToString("dd/MM/yyyy hh:mm:ss"), AcuseCancelacion:=AcuseCancelacion, CveMotivoCancelacion:=Me.CveMotivoCancelacion, MotivoCancelacion:=Me.MotivoCancelacion)
End Function
''' <summary>
''' Cancela la factura para poder realizar la refacturacion
@@ -4600,9 +4600,9 @@ Namespace Modelos
''' <param name="RealizarDevolucionAlmacen"></param>
''' <param name="ListaRemisionesCancelar"></param>
''' <returns></returns>
Public Function CancelarFactura(RealizarDevolucionAlmacen As Boolean, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional Motivo As String = "") As MCancelacionVentaMensaje
Public Function CancelarFactura(RealizarDevolucionAlmacen As Boolean, Optional ListaRemisionesCancelar As List(Of Integer) = Nothing, Optional CveMotivoCancelacion As Integer = -1, Optional Motivo As String = "") As MCancelacionVentaMensaje
'Comprobante emitido con errores sin relación
Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveMotivoCancelacion:=2, MotivoCancelacion:=Motivo)
Return CancelarVenta(Me, Me.UsuarioActual, RealizarDevolucionAlmacen:=RealizarDevolucionAlmacen, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveMotivoCancelacion:=CveMotivoCancelacion, MotivoCancelacion:=Motivo)
End Function
Private Function CancelarVenta(ObjFactura As Modelos.Factura, UsuarioActual As Usuario, Optional EsRefacturacion As Boolean = False, Optional RealizarDevolucionAlmacen As Boolean = False,
@@ -4785,6 +4785,15 @@ Namespace Modelos
Dim RequiereAceptacion As Boolean = False
Dim Mensaje As String = ""
Dim CveSATMotivoCancelacion As Integer = -1
If CveMotivoCancelacion > 0 Then
Dim Row As DataRow = ClsPaginas.GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveMotivoCancelacion:=CveMotivoCancelacion).FiltroPrimero("")
If Row IsNot Nothing Then
CveSATMotivoCancelacion = Row("CveSATMotivoCancelacion").ToString().ToEntero()
End If
End If
'SI YA ESTA TIMBRADA, NUEVO PROCESO REFACTURACION, ASIGNA LA CANCELACION PENDIENTE
If EsRefacturacion AndAlso Me.CveEstatusFactura = 3 AndAlso CveMotivoCancelacion > 0 Then
CveEstatusFacturaAsignado = 23
@@ -4792,7 +4801,7 @@ Namespace Modelos
If CveEstatusFacturaAsignado <= 0 Then
Try
If ObjFactura.FolioFiscal <> "" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
If ObjFactura.FolioFiscal <> "" AndAlso (UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1) Then
If ObjFactura.TipoDocto.Contiene("Ing", "Ant", "Dev", "Egs") Then
'VERIFICA SI DEBE VALIDAR ANTE EL SAT
@@ -4872,7 +4881,7 @@ Namespace Modelos
If Not ObtenerAcuse Then
If ContinuarCancelacion Then
If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveMotivoCancelacion:=CveMotivoCancelacion, FolioSustitucion:=FolioSustitucion) Then
If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, TotalT, RFCReceptor, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion, FolioSustitucion:=FolioSustitucion) Then
'GENERAMOS EL ACUSE Y MANDAMOS MAIL DE CON EL ACUSE DE CANCELACIÓN
If RequiereAceptacion Then
CancelacionFecha = Now.Date

View File

@@ -9,7 +9,7 @@ Imports System.Xml
Imports System.Data
Imports System.Xml.Serialization
Imports System.Net
Imports ProfactCartaPorte = Profact.TimbraCFDI33.Complementos.CartaPorte10
Imports ProfactCartaPorte = Profact.TimbraCFDI33.Complementos.CartaPorte20
Public Class Timbrado
@@ -29,20 +29,42 @@ Public Class Timbrado
Public Property EstatusCancelacion As String
End Class
Public Class RelacionadosPadre
Public Property Uuid As String
Public Property RfcEmisor As String
Public Property RfcReceptor As String
End Class
Public Class RelacionadosHijo
Public Property Uuid As String
Public Property RfcEmisor As String
Public Property RfcReceptor As String
End Class
Public Class MRespUUIDRelacionados
Public Property Codigo As Integer
Public Property Mensaje As String
Public Property Resultado As String
Public Property RelacionadosPadre As List(Of RelacionadosPadre)
Public Property RelacionadosHijo As List(Of RelacionadosHijo)
End Class
#End Region
Public Shared Function VerificarVigenciaSAT(uuid As String, emisor As String, receptor As String, total As String, produccion As Boolean) As AcuseCancelacionSAT
Dim Retorno As AcuseCancelacionSAT = Nothing
Dim resp As Cancelacion.AcuseSat = New Cancelacion.AcuseSat()
Using ws As Cancelacion.CancelacionSoapClient = New Cancelacion.CancelacionSoapClient
Dim resp As Cancelacion2022.AcuseSat = New Cancelacion2022.AcuseSat()
Using ws As Cancelacion2022.CancelacionSoapClient = New Cancelacion2022.CancelacionSoapClient
Try
If Not produccion Then
Dim PACUsuario As String = "rene.molina@adsistemas.mx"
Dim PACContrasenia As String = "rene2018"
Dim PACUsuario As String = "UserTest"
Dim PACContrasenia As String = "1234567890"
resp = ws.ConsultaVigenciaTest(emisor, PACUsuario, PACContrasenia, uuid, receptor, total)
Retorno = New AcuseCancelacionSAT()
Else
resp = ws.ConsultaVigencia(emisor, "UserTest", "1234567890", uuid, receptor, total)
Dim PACUsuario As String = "rene.molina@adsistemas.mx"
Dim PACContrasenia As String = "rene2018"
resp = ws.ConsultaVigencia(emisor, PACUsuario, PACContrasenia, uuid, receptor, total)
Retorno = New AcuseCancelacionSAT()
End If
Catch ex As Exception
@@ -61,7 +83,53 @@ Public Class Timbrado
End Using
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 CveMotivoCancelacion As Integer = -1, Optional FolioSustitucion As String = "") As Boolean
Public Shared Function ConsultarUUIDRelacionados(Empresa As Empresa, FolioFiscal As String, Optional Produccion As Boolean = True) As MRespUUIDRelacionados
Dim Retorno = New MRespUUIDRelacionados()
Dim resp As Cancelacion2022.StructRelations = New Cancelacion2022.StructRelations()
Using ws As Cancelacion2022.CancelacionSoapClient = New Cancelacion2022.CancelacionSoapClient
Try
Dim ArchivoLLave As String = $"{Empresa.Ruta}Certificados\{Empresa.ArchivoKey}"
Dim ArchivoCertificado As String = $"{Empresa.Ruta}Certificados\{Empresa.ArchivoCer}"
Dim Key As String = Empresa.ContraseñaKey
Dim llaveByte As Byte(), certByte As Byte()
Dim llaveBase64 As String = "", certBase64 As String = ""
llaveByte = System.IO.File.ReadAllBytes(ArchivoLLave)
llaveBase64 = Convert.ToBase64String(llaveByte)
certByte = System.IO.File.ReadAllBytes(ArchivoCertificado)
certBase64 = Convert.ToBase64String(certByte)
If Not Produccion Then
Dim PACUsuario As String = "UserTest"
Dim PACContrasenia As String = "1234567890"
resp = ws.ObtieneRelacionadosTest(Empresa.RFC, PACUsuario, PACContrasenia, certBase64, llaveBase64, Key, FolioFiscal)
Else
Dim PACUsuario As String = "rene.molina@adsistemas.mx"
Dim PACContrasenia As String = "rene2018"
resp = ws.ObtieneRelacionados(Empresa.RFC, PACUsuario, PACContrasenia, certBase64, llaveBase64, Key, FolioFiscal)
End If
Catch ex As Exception
Dim Strr As String = String.Format("Error al verificar estatus de cancelacion:{0}", ex.Message)
Strr.GuardaLog()
Return Nothing
End Try
End Using
Dim Json As String = Newtonsoft.Json.JsonConvert.SerializeObject(resp)
If Not String.IsNullOrEmpty(Json) Then
Retorno = Newtonsoft.Json.JsonConvert.DeserializeObject(Of MRespUUIDRelacionados)(Json)
End If
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
Dim MsgCancelacion As New StringBuilder
@@ -80,9 +148,9 @@ Public Class Timbrado
Dim CodigoSATMotivoCancelacion As String = ""
If CveMotivoCancelacion > 0 Then
If ClsPaginas.GlobalDTSATMotivosCancelacion(CveMotivoCancelacion) IsNot Nothing AndAlso ClsPaginas.GlobalDTSATMotivosCancelacion(CveMotivoCancelacion).Rows.Count > 0 Then
CodigoSATMotivoCancelacion = ClsPaginas.GlobalDTSATMotivosCancelacion(CveMotivoCancelacion).Rows(0)("CodigoSAT").ToString()
If CveSATMotivoCancelacion > 0 Then
If ClsPaginas.GlobalDTSATMotivosCancelacion(CveSATMotivoCancelacion) IsNot Nothing AndAlso ClsPaginas.GlobalDTSATMotivosCancelacion(CveSATMotivoCancelacion).Rows.Count > 0 Then
CodigoSATMotivoCancelacion = ClsPaginas.GlobalDTSATMotivosCancelacion(CveSATMotivoCancelacion).Rows(0)("CodigoSAT").ToString()
End If
End If
@@ -423,12 +491,12 @@ Public Class Timbrado
UrlServicio = "http://alterno.gofac.com.mx/cfdi/timbrado.asmx?WSDL" ' alterno
If Not Empresa.FacturaProduccion Then
ArchivoLLave = $"{Empresa.Ruta}Certificados\CSD01_AAA010101AAA.key"
ArchivoCertificado = $"{Empresa.Ruta}Certificados\CSD01_AAA010101AAA.cer"
ArchivoLLave = $"{Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.key"
ArchivoCertificado = $"{Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.cer"
UsuarioServicio = "UserTest"
ClaveServicio = "1234567890"
UrlServicio = "http://juancalderon-001-site6.ftempurl.com/cancelacion.asmx?WSDL"
'UrlServicio = "http://juancalderon-001-site6.ftempurl.com/cancelacion.asmx?WSDL"
End If
@@ -3249,7 +3317,7 @@ Public Class Timbrado
ArchivoLLave = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.key"
ArchivoCertificado = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.cer"
UrlServicio = "http://generacfdi.com.mx/rvltimbrado/service1.asmx?WSDL" '"http://108.60.211.43/rvltimbrado/service1.asmx"
UrlServicio = "https://pruebas.timbracfdi33.mx/Timbrado.asmx"
End If
@@ -3821,49 +3889,46 @@ Public Class Timbrado
If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then
Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte
''DATOS GENERALES
Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte
Dim ComCartaPorte = New ProfactCartaPorte.CartaPorte()
ComCartaPorte.TranspInternac = CType([Enum].Parse(GetType(ProfactCartaPorte.CartaPorteTranspInternac), Carta.TranspInternac), ProfactCartaPorte.CartaPorteTranspInternac)
ComCartaPorte.EntradaSalidaMercSpecified = False
ComCartaPorte.ViaEntradaSalidaSpecified = False
ComCartaPorte.TotalDistRecSpecified = False
ComCartaPorte.ViaEntradaSalidaSpecified = False
ComCartaPorte.TotalDistRecSpecified = False
'UBICACIONES
If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then
Dim i As Integer = 0
ComCartaPorte.Ubicaciones = New ProfactCartaPorte.CartaPorteUbicacion(Carta.Ubicaciones.Count - 1) {}
For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones
'origen
ComCartaPorte.Ubicaciones(i) = New ProfactCartaPorte.CartaPorteUbicacion
ComCartaPorte.Ubicaciones(i).TipoUbicacion = CType([Enum].Parse(GetType(ProfactCartaPorte.CartaPorteUbicacionTipoUbicacion), ubica.TipoUbicacion), ProfactCartaPorte.CartaPorteUbicacionTipoUbicacion)
ComCartaPorte.Ubicaciones(i).TipoEstacionSpecified = False
ComCartaPorte.Ubicaciones(i).IDUbicacion = ubica.IDUbicacion
ComCartaPorte.Ubicaciones(i).RFCRemitenteDestinatario = ubica.RFCRemitenteDestinatario
ComCartaPorte.Ubicaciones(i).NombreRemitenteDestinatario = ubica.NombreRemitenteDestinatario
ComCartaPorte.Ubicaciones(i).NumRegIdTrib = ubica.NumRegIdTrib
'ComCartaPorte.Ubicaciones(i).ResidenciaFiscal = ubica.ResidenciaFiscal
'ComCartaPorte.Ubicaciones(i).NumEstacion = ubica.NumEstacion
'ComCartaPorte.Ubicaciones(i).NavegacionTrafico = ubica.NavegacionTrafico
ComCartaPorte.Ubicaciones(i).FechaHoraSalidaLlegada = ubica.FechaHoraSalidaLlegada.ToDate
ComCartaPorte.Ubicaciones(i).DistanciaRecorrida = ubica.DistanciaRecorrida
'ComCartaPorte.Ubicaciones(i).Origen = New ProfactCartaPorte.CartaPorteUbicacion With {.IDOrigen = ubica.IDOrigen,
' .RFCRemitente = ubica.RFCRemitenteDestinatario,
' .NombreRemitente = ubica.NombreRemitenteDestinatario,
' .FechaHoraSalida = ubica.FechaHoraSalida.ToDate}
'ComCartaPorte.Ubicaciones(i).Domicilio = New ProfactCartaPorte.CartaPorteUbicacionDomicilio With {.Calle = ubica.Domicilio.Calle,
' .NumeroExterior = ubica.Domicilio.NumeroExterior,
' .NumeroInterior = ubica.Domicilio.NumeroInterior,
' .Colonia = ubica.Domicilio.Colonia,
' .Localidad = ubica.Domicilio.Localidad,
' .Referencia = ubica.Domicilio.Referencia,
' .Municipio = ubica.Domicilio.Municipio,
' .Estado = ubica.Domicilio.Estado,
' .CodigoPostal = ubica.Domicilio.CP}
''falta pais
ComCartaPorte.Ubicaciones(i).Domicilio = New ProfactCartaPorte.CartaPorteUbicacionDomicilio With {.Calle = ubica.Domicilio.Calle,
.NumeroExterior = ubica.Domicilio.NumeroExterior,
.NumeroInterior = ubica.Domicilio.NumeroInterior,
.Colonia = ubica.Domicilio.Colonia,
.Localidad = ubica.Domicilio.Localidad,
.Referencia = ubica.Domicilio.Referencia,
.Municipio = ubica.Domicilio.Municipio,
.Estado = ubica.Domicilio.Estado,
.CodigoPostal = ubica.Domicilio.CP,
.Pais = CType([Enum].Parse(GetType(ProfactCartaPorte.c_Pais), ubica.Domicilio.Pais), ProfactCartaPorte.c_Pais)}
'cfdi.CartaPorteUbicacion(ubica.TipoEstacion, ubica.DistanciaRecorrida)
'cfdi.CartaPorteOrigen(ubica.Origen.IDOrigen, ubica.Origen.RFCRemitente, ubica.Origen.NombreRemitente, ubica.Origen.NumRegIdTrib, ubica.Origen.ResidenciaFiscal, ubica.Origen.NumEstacion, ubica.Origen.NombreEstacion, ubica.Origen.NavegacionTrafico, ubica.Origen.FechaHoraSalida)
'cfdi.CartaPorteDomicilio(ubica.Origen.Domicilio.Calle, ubica.Origen.Domicilio.NumeroExterior, ubica.Origen.Domicilio.NumeroInterior, ubica.Origen.Domicilio.Colonia, ubica.Origen.Domicilio.Localidad, ubica.Origen.Domicilio.Referencia, ubica.Origen.Domicilio.Municipio, ubica.Origen.Domicilio.Estado, ubica.Origen.Domicilio.Pais, ubica.Origen.Domicilio.CP)
'destino
'cfdi.CartaPorteUbicacion(ubica.TipoEstacion, ubica.DistanciaRecorrida)
'cfdi.CartaPorteDestino(ubica.Destino.IDDestino, ubica.Destino.RFCDestinatario, ubica.Destino.NombreDestinatario, ubica.Destino.NumRegIdTrib, ubica.Destino.ResidenciaFiscal, ubica.Destino.NumEstacion, ubica.Destino.NombreEstacion, ubica.Destino.NavegacionTrafico, ubica.Destino.FechaHoraProgLlegada)
'cfdi.CartaPorteDomicilio(ubica.Destino.Domicilio.Calle, ubica.Destino.Domicilio.NumeroExterior, ubica.Destino.Domicilio.NumeroInterior, ubica.Destino.Domicilio.Colonia, ubica.Destino.Domicilio.Localidad, ubica.Destino.Domicilio.Referencia, ubica.Destino.Domicilio.Municipio, ubica.Destino.Domicilio.Estado, ubica.Destino.Domicilio.Pais, ubica.Destino.Domicilio.CP)
Next
End If
@@ -3885,16 +3950,10 @@ Public Class Timbrado
If concep.BienesTransp <> "" Then
ComCartaPorte.Mercancias.Mercancia(i).BienesTransp = CType([Enum].Parse(GetType(ProfactCartaPorte.c_ClaveProdServCP), "Item" & concep.BienesTransp), ProfactCartaPorte.c_ClaveProdServCP)
ComCartaPorte.Mercancias.Mercancia(i).BienesTranspSpecified = True
End If
If concep.ClaveSTCC <> "" Then
ComCartaPorte.Mercancias.Mercancia(i).ClaveSTCCSpecified = True
ComCartaPorte.Mercancias.Mercancia(i).ClaveSTCC = CType([Enum].Parse(GetType(ProfactCartaPorte.c_ClaveProdSTCC), "Item" & concep.ClaveSTCC), ProfactCartaPorte.c_ClaveProdSTCC)
End If
ComCartaPorte.Mercancias.Mercancia(i).Descripcion = concep.Descripción
ComCartaPorte.Mercancias.Mercancia(i).Cantidad = concep.Cantidad
ComCartaPorte.Mercancias.Mercancia(i).ClaveUnidadSpecified = False
ComCartaPorte.Mercancias.Mercancia(i).Unidad = concep.Unidad
ComCartaPorte.Mercancias.Mercancia(i).Dimensiones = concep.Dimensiones
If concep.ClaveMaterialPeligroso <> "" Then
@@ -3906,48 +3965,108 @@ Public Class Timbrado
End If
ComCartaPorte.Mercancias.Mercancia(i).DescripEmbalaje = concep.DescripEmbalaje
ComCartaPorte.Mercancias.Mercancia(i).PesoEnKg = concep.PesoenKg
ComCartaPorte.Mercancias.Mercancia(i).ValorMercanciaSpecified = False
ComCartaPorte.Mercancias.Mercancia(i).MonedaSpecified = False
ComCartaPorte.Mercancias.Mercancia(i).FraccionArancelariaSpecified = False
ComCartaPorte.Mercancias.Mercancia(i).UUIDComercioExt = concep.UUIDComercioExt
Dim j As Integer = 0
ComCartaPorte.Mercancias.Mercancia(i).CantidadTransporta = New ProfactCartaPorte.CartaPorteMercanciasMercanciaCantidadTransporta(Carta.Mercancias.Mercancias.Count - 1) {}
For Each transp In concep.MercanciasCantidadTransporta
ComCartaPorte.Mercancias.Mercancia(i).CantidadTransporta(j) = New ProfactCartaPorte.CartaPorteMercanciasMercanciaCantidadTransporta
ComCartaPorte.Mercancias.Mercancia(i).CantidadTransporta(j).Cantidad = transp.Cantidad
ComCartaPorte.Mercancias.Mercancia(i).CantidadTransporta(j).IDOrigen = transp.IDOrigen
ComCartaPorte.Mercancias.Mercancia(i).CantidadTransporta(j).IDDestino = transp.IDDestino
'ComCartaPorte.Mercancias.Mercancia(i).CantidadTransporta(1).CvesTransporte = transp.CvesTransportes
Next
i += 1
Next
End If
End If
'If Carta.FiguraTransporte IsNot Nothing Then
' If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then
' cfdi.CartaPorteAutotransporte(Carta.FiguraTransporte.AutoTransporte.PermisoSCT, Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT)
' cfdi.CartaPorteIdentificacionVehicular(Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular, Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM, Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM)
' cfdi.CartaPorteSeguros(Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil,
' Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente,
' Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga, Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga,
' Carta.FiguraTransporte.AutoTransporte.PrimaSeguro)
' If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then
' For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques
' cfdi.CartaPorteRemolque(concep.SubTipoRemolque, concep.Placa)
' Next
' End If
' End If
' If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then
' For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores
' cfdi.CartaPorteTiposFigura(concep.TipoFigura, concep.RFCFigura, concep.NumLicencia, concep.NombreFigura, concep.NumRegidTribFigura, If(concep.ResidenciaFiscalFigura <> "MEX", concep.ResidenciaFiscalFigura, ""))
' If concep.TipoFigura.Contiene("02", "03") Then ' “02”- Propietario o “03” -Arrendador
' cfdi.CartaPortePartesTransporte("PT01")
' cfdi.CartaPortePartesTransporteDomicilio(concep.Domicilio.Calle, concep.Domicilio.NumeroExterior, concep.Domicilio.NumeroInterior, concep.Domicilio.Colonia, concep.Domicilio.Localidad, concep.Domicilio.Referencia, concep.Domicilio.Municipio, concep.Domicilio.Estado, concep.Domicilio.Pais, concep.Domicilio.CP)
' End If
' Next
' End If
'End If
'
If Carta.FiguraTransporte IsNot Nothing Then
If Carta.FiguraTransporte.AutoTransporte IsNot Nothing Then
ComCartaPorte.FiguraTransporte = New ProfactCartaPorte.CartaPorteFiguraTransporte
ComCartaPorte.FiguraTransporte.CveTransporte = ProfactCartaPorte.c_CveTransporte.Item02
ComCartaPorte.Mercancias.AutotransporteFederal = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteFederal
'ComCartaPorte.FiguraTransporte(1). = ProfactCartaPorte.c_CveTransporte.Item02
ComCartaPorte.Mercancias.Autotransporte = New ProfactCartaPorte.CartaPorteMercanciasAutotransporte
If Carta.FiguraTransporte.AutoTransporte.PermisoSCT <> "" Then
ComCartaPorte.Mercancias.AutotransporteFederal.PermSCT = CType([Enum].Parse(GetType(ProfactCartaPorte.c_TipoPermiso), Carta.FiguraTransporte.AutoTransporte.PermisoSCT), ProfactCartaPorte.c_TipoPermiso)
ComCartaPorte.Mercancias.Autotransporte.PermSCT = CType([Enum].Parse(GetType(ProfactCartaPorte.c_TipoPermiso), Carta.FiguraTransporte.AutoTransporte.PermisoSCT), ProfactCartaPorte.c_TipoPermiso)
End If
ComCartaPorte.Mercancias.AutotransporteFederal.NumPermisoSCT = Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT
ComCartaPorte.Mercancias.Autotransporte.NumPermisoSCT = Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT
'pendiente RMF
'ComCartaPorte.Mercancias.AutotransporteFederal.NombreAseg = Carta.FiguraTransporte.AutoTransporte.NombreAseg
'ComCartaPorte.Mercancias.AutotransporteFederal.NumPolizaSeguro = Carta.FiguraTransporte.AutoTransporte.NumPolizaSeguro
Dim ConfigVehicular As New ProfactCartaPorte.CartaPorteMercanciasAutotransporteFederalIdentificacionVehicular
Dim ConfigVehicular As New ProfactCartaPorte.CartaPorteMercanciasAutotransporteIdentificacionVehicular
ConfigVehicular.ConfigVehicular = CType([Enum].Parse(GetType(ProfactCartaPorte.c_ConfigAutotransporte), Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular), ProfactCartaPorte.c_ConfigAutotransporte)
ConfigVehicular.AnioModeloVM = Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM
ConfigVehicular.PlacaVM = Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM
ComCartaPorte.Mercancias.AutotransporteFederal.IdentificacionVehicular = ConfigVehicular
ComCartaPorte.Mercancias.Autotransporte.IdentificacionVehicular = ConfigVehicular
Dim ConfigVehicularSeguros As New ProfactCartaPorte.CartaPorteMercanciasAutotransporteSeguros
ConfigVehicularSeguros.AseguraRespCivil = Carta.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil
ConfigVehicularSeguros.PolizaRespCivil = Carta.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil
ConfigVehicularSeguros.AseguraMedAmbiente = Carta.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente
ConfigVehicularSeguros.PolizaMedAmbiente = Carta.FiguraTransporte.AutoTransporte.PolizaSeguroMedioAmbiente
ConfigVehicularSeguros.AseguraCarga = Carta.FiguraTransporte.AutoTransporte.NombreSeguroCarga
ConfigVehicularSeguros.PolizaCarga = Carta.FiguraTransporte.AutoTransporte.PolizaSeguroCarga
If Carta.FiguraTransporte.AutoTransporte.PrimaSeguro > 0 Then
ConfigVehicularSeguros.PrimaSeguro = Carta.FiguraTransporte.AutoTransporte.PrimaSeguro
ConfigVehicularSeguros.PrimaSeguroSpecified = True
End If
If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then
Dim i As Integer = 0
ComCartaPorte.Mercancias.AutotransporteFederal.Remolques = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteFederalRemolque(Carta.FiguraTransporte.AutoTransporte.Remolques.Count - 1) {}
ComCartaPorte.Mercancias.Autotransporte.Remolques = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteRemolque(Carta.FiguraTransporte.AutoTransporte.Remolques.Count - 1) {}
For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques
ComCartaPorte.Mercancias.AutotransporteFederal.Remolques(i) = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteFederalRemolque
ComCartaPorte.Mercancias.AutotransporteFederal.Remolques(i).SubTipoRem = CType([Enum].Parse(GetType(ProfactCartaPorte.c_SubTipoRem), concep.SubTipoRemolque), ProfactCartaPorte.c_SubTipoRem)
ComCartaPorte.Mercancias.AutotransporteFederal.Remolques(i).Placa = concep.Placa
ComCartaPorte.Mercancias.Autotransporte.Remolques(i) = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteRemolque
ComCartaPorte.Mercancias.Autotransporte.Remolques(i).SubTipoRem = CType([Enum].Parse(GetType(ProfactCartaPorte.c_SubTipoRem), concep.SubTipoRemolque), ProfactCartaPorte.c_SubTipoRem)
ComCartaPorte.Mercancias.Autotransporte.Remolques(i).Placa = concep.Placa
i += 1
Next
'
@@ -3956,25 +4075,25 @@ Public Class Timbrado
If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then
Dim i As Integer = 0
ComCartaPorte.FiguraTransporte.Operadores = New ProfactCartaPorte.CartaPorteFiguraTransporteOperadoresOperador(Carta.FiguraTransporte.Operadores.Count - 1) {}
ComCartaPorte.FiguraTransporte = New ProfactCartaPorte.CartaPorteTiposFigura(Carta.FiguraTransporte.Operadores.Count - 1) {}
For Each concep As CFDICartaPorteOperador In Carta.FiguraTransporte.Operadores
ComCartaPorte.FiguraTransporte.Operadores(i) = New ProfactCartaPorte.CartaPorteFiguraTransporteOperadoresOperador
ComCartaPorte.FiguraTransporte.Operadores(i).RFCOperador = concep.RFCFigura
ComCartaPorte.FiguraTransporte.Operadores(i).NumLicencia = concep.NumLicencia
ComCartaPorte.FiguraTransporte.Operadores(i).NombreOperador = concep.NombreFigura
ComCartaPorte.FiguraTransporte.Operadores(i).NumRegIdTribOperador = concep.NumRegidTribFigura
ComCartaPorte.FiguraTransporte(i) = New ProfactCartaPorte.CartaPorteTiposFigura
ComCartaPorte.FiguraTransporte(i).RFCFigura = concep.RFCFigura
ComCartaPorte.FiguraTransporte(i).NumLicencia = concep.NumLicencia
ComCartaPorte.FiguraTransporte(i).NombreFigura = concep.NombreFigura
ComCartaPorte.FiguraTransporte(i).NumRegIdTribFigura = concep.NumRegidTribFigura
'OComCartaPorte.FiguraTransporte.Operadores(i)(0) = concep.ResidenciaFiscalOperador 'falta
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio = New ProfactCartaPorte.CartaPorteFiguraTransporteOperadoresOperadorDomicilio()
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Calle = concep.Domicilio.Calle
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.CodigoPostal = "25350" 'concep.Domicilio.CP
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Colonia = "0347"
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Estado = "COA"
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Localidad = "23"
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Municipio = "004"
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.NumeroExterior = "728"
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Pais = ProfactCartaPorte.c_Pais.MEX
ComCartaPorte.FiguraTransporte(i).Domicilio = New ProfactCartaPorte.CartaPorteTiposFiguraDomicilio()
ComCartaPorte.FiguraTransporte(i).Domicilio.Calle = concep.Domicilio.Calle
ComCartaPorte.FiguraTransporte(i).Domicilio.CodigoPostal = concep.Domicilio.CP
ComCartaPorte.FiguraTransporte(i).Domicilio.Colonia = concep.Domicilio.Colonia
ComCartaPorte.FiguraTransporte(i).Domicilio.Estado = concep.Domicilio.Estado
ComCartaPorte.FiguraTransporte(i).Domicilio.Localidad = concep.Domicilio.Localidad
ComCartaPorte.FiguraTransporte(i).Domicilio.Municipio = concep.Domicilio.Municipio
ComCartaPorte.FiguraTransporte(i).Domicilio.NumeroExterior = concep.Domicilio.NumeroExterior
ComCartaPorte.FiguraTransporte(i).Domicilio.Pais = ProfactCartaPorte.c_Pais.MEX
i += 1
Next

View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<discovery xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/disco/">
<contractRef ref="https://cancel.gofac.com.mx/Cancelacion.asmx?wsdl" docRef="https://cancel.gofac.com.mx/Cancelacion.asmx" xmlns="http://schemas.xmlsoap.org/disco/scl/" />
<soap address="https://cancel.gofac.com.mx/Cancelacion.asmx" xmlns:q1="http://tempuri.org/" binding="q1:CancelacionSoap" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
<soap address="https://cancel.gofac.com.mx/Cancelacion.asmx" xmlns:q2="http://tempuri.org/" binding="q2:CancelacionSoap12" xmlns="http://schemas.xmlsoap.org/disco/soap/" />
</discovery>

View File

@@ -0,0 +1,496 @@
<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://tempuri.org/" xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:s1="http://microsoft.com/wsdl/types/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" targetNamespace="http://tempuri.org/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
<s:import namespace="http://microsoft.com/wsdl/types/" />
<s:element name="CancelTest">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Clave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CancelB64" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="CancelTestResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CancelTestResult" type="tns:StructCancel" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="StructCancel">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Estado" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Descripcion" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Xml" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="ConsultaVigencia">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RfcEmisor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Clave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Uuid" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="RfcReceptor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Total" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ConsultaVigenciaResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ConsultaVigenciaResult" type="tns:AcuseSat" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="AcuseSat">
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="CodigoEstatus" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Estado" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="EsCancelable" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="EstatusCancelacion" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="ConsultaVigenciaTest">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RfcEmisor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Clave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Uuid" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="RfcReceptor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Total" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ConsultaVigenciaTestResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ConsultaVigenciaTestResult" type="tns:AcuseSat" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ObtienePendientes">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RfcReceptor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Clave" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ObtienePendientesResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ObtienePendientesResult" type="tns:StructCancel" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ObtienePendientesTest">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RfcReceptor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Clave" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ObtienePendientesTestResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ObtienePendientesTestResult" type="tns:StructCancel" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AceptaRechaza">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RfcReceptor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Clave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CertB64" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="KeyB64" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ClaveLlave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Uuid" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Accion" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AceptaRechazaResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="AceptaRechazaResult" type="tns:StructCancel" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AceptaRechazaTest">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RfcReceptor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Clave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CertB64" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="KeyB64" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ClaveLlave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Uuid" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Accion" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="AceptaRechazaTestResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="AceptaRechazaTestResult" type="tns:StructCancel" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ObtieneRelacionadosTest">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RfcEmisor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Clave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CertB64" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="KeyB64" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ClaveLlave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Uuid" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ObtieneRelacionadosTestResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ObtieneRelacionadosTestResult" type="tns:StructRelations" />
</s:sequence>
</s:complexType>
</s:element>
<s:complexType name="StructRelations">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Codigo" type="s:int" />
<s:element minOccurs="0" maxOccurs="1" name="Mensaje" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Resultado" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="RelacionadosPadre" type="tns:ArrayOfFactura" />
<s:element minOccurs="0" maxOccurs="1" name="RelacionadosHijo" type="tns:ArrayOfFactura" />
</s:sequence>
</s:complexType>
<s:complexType name="ArrayOfFactura">
<s:sequence>
<s:element minOccurs="0" maxOccurs="unbounded" name="Factura" nillable="true" type="tns:Factura" />
</s:sequence>
</s:complexType>
<s:complexType name="Factura">
<s:sequence>
<s:element minOccurs="1" maxOccurs="1" name="Uuid" type="s1:guid" />
<s:element minOccurs="0" maxOccurs="1" name="RfcEmisor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="RfcReceptor" type="s:string" />
</s:sequence>
</s:complexType>
<s:element name="ObtieneRelacionados">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="RfcEmisor" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Usuario" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Clave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="CertB64" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="KeyB64" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="ClaveLlave" type="s:string" />
<s:element minOccurs="0" maxOccurs="1" name="Uuid" type="s:string" />
</s:sequence>
</s:complexType>
</s:element>
<s:element name="ObtieneRelacionadosResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="ObtieneRelacionadosResult" type="tns:StructRelations" />
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
<s:schema elementFormDefault="qualified" targetNamespace="http://microsoft.com/wsdl/types/">
<s:simpleType name="guid">
<s:restriction base="s:string">
<s:pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}" />
</s:restriction>
</s:simpleType>
</s:schema>
</wsdl:types>
<wsdl:message name="CancelTestSoapIn">
<wsdl:part name="parameters" element="tns:CancelTest" />
</wsdl:message>
<wsdl:message name="CancelTestSoapOut">
<wsdl:part name="parameters" element="tns:CancelTestResponse" />
</wsdl:message>
<wsdl:message name="ConsultaVigenciaSoapIn">
<wsdl:part name="parameters" element="tns:ConsultaVigencia" />
</wsdl:message>
<wsdl:message name="ConsultaVigenciaSoapOut">
<wsdl:part name="parameters" element="tns:ConsultaVigenciaResponse" />
</wsdl:message>
<wsdl:message name="ConsultaVigenciaTestSoapIn">
<wsdl:part name="parameters" element="tns:ConsultaVigenciaTest" />
</wsdl:message>
<wsdl:message name="ConsultaVigenciaTestSoapOut">
<wsdl:part name="parameters" element="tns:ConsultaVigenciaTestResponse" />
</wsdl:message>
<wsdl:message name="ObtienePendientesSoapIn">
<wsdl:part name="parameters" element="tns:ObtienePendientes" />
</wsdl:message>
<wsdl:message name="ObtienePendientesSoapOut">
<wsdl:part name="parameters" element="tns:ObtienePendientesResponse" />
</wsdl:message>
<wsdl:message name="ObtienePendientesTestSoapIn">
<wsdl:part name="parameters" element="tns:ObtienePendientesTest" />
</wsdl:message>
<wsdl:message name="ObtienePendientesTestSoapOut">
<wsdl:part name="parameters" element="tns:ObtienePendientesTestResponse" />
</wsdl:message>
<wsdl:message name="AceptaRechazaSoapIn">
<wsdl:part name="parameters" element="tns:AceptaRechaza" />
</wsdl:message>
<wsdl:message name="AceptaRechazaSoapOut">
<wsdl:part name="parameters" element="tns:AceptaRechazaResponse" />
</wsdl:message>
<wsdl:message name="AceptaRechazaTestSoapIn">
<wsdl:part name="parameters" element="tns:AceptaRechazaTest" />
</wsdl:message>
<wsdl:message name="AceptaRechazaTestSoapOut">
<wsdl:part name="parameters" element="tns:AceptaRechazaTestResponse" />
</wsdl:message>
<wsdl:message name="ObtieneRelacionadosTestSoapIn">
<wsdl:part name="parameters" element="tns:ObtieneRelacionadosTest" />
</wsdl:message>
<wsdl:message name="ObtieneRelacionadosTestSoapOut">
<wsdl:part name="parameters" element="tns:ObtieneRelacionadosTestResponse" />
</wsdl:message>
<wsdl:message name="ObtieneRelacionadosSoapIn">
<wsdl:part name="parameters" element="tns:ObtieneRelacionados" />
</wsdl:message>
<wsdl:message name="ObtieneRelacionadosSoapOut">
<wsdl:part name="parameters" element="tns:ObtieneRelacionadosResponse" />
</wsdl:message>
<wsdl:portType name="CancelacionSoap">
<wsdl:operation name="CancelTest">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Cancela un Cfdi en pruebas</wsdl:documentation>
<wsdl:input message="tns:CancelTestSoapIn" />
<wsdl:output message="tns:CancelTestSoapOut" />
</wsdl:operation>
<wsdl:operation name="ConsultaVigencia">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Obtiene el estatus de un Cfdi en producción</wsdl:documentation>
<wsdl:input message="tns:ConsultaVigenciaSoapIn" />
<wsdl:output message="tns:ConsultaVigenciaSoapOut" />
</wsdl:operation>
<wsdl:operation name="ConsultaVigenciaTest">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Obtiene el estatus de un Cfdi en pruebas</wsdl:documentation>
<wsdl:input message="tns:ConsultaVigenciaTestSoapIn" />
<wsdl:output message="tns:ConsultaVigenciaTestSoapOut" />
</wsdl:operation>
<wsdl:operation name="ObtienePendientes">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Obtiene los Uuid pendientes de aceptar/rechazar de un Receptor (Producción)</wsdl:documentation>
<wsdl:input message="tns:ObtienePendientesSoapIn" />
<wsdl:output message="tns:ObtienePendientesSoapOut" />
</wsdl:operation>
<wsdl:operation name="ObtienePendientesTest">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Obtiene los Uuid pendientes de aceptar/rechazar de un Receptor (Pruebas)</wsdl:documentation>
<wsdl:input message="tns:ObtienePendientesTestSoapIn" />
<wsdl:output message="tns:ObtienePendientesTestSoapOut" />
</wsdl:operation>
<wsdl:operation name="AceptaRechaza">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Acepta/Rechaza una solicitud pendiente de cancelación (Producción)</wsdl:documentation>
<wsdl:input message="tns:AceptaRechazaSoapIn" />
<wsdl:output message="tns:AceptaRechazaSoapOut" />
</wsdl:operation>
<wsdl:operation name="AceptaRechazaTest">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Acepta/Rechaza una solicitud pendiente de cancelación (Pruebas)</wsdl:documentation>
<wsdl:input message="tns:AceptaRechazaTestSoapIn" />
<wsdl:output message="tns:AceptaRechazaTestSoapOut" />
</wsdl:operation>
<wsdl:operation name="ObtieneRelacionadosTest">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Obtiene el/los Cfdi(s) relacionado(s) de un UUID de un RFC (Pruebas)</wsdl:documentation>
<wsdl:input message="tns:ObtieneRelacionadosTestSoapIn" />
<wsdl:output message="tns:ObtieneRelacionadosTestSoapOut" />
</wsdl:operation>
<wsdl:operation name="ObtieneRelacionados">
<wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Obtiene el/los Cfdi(s) relacionado(s) de un UUID de un RFC</wsdl:documentation>
<wsdl:input message="tns:ObtieneRelacionadosSoapIn" />
<wsdl:output message="tns:ObtieneRelacionadosSoapOut" />
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="CancelacionSoap" type="tns:CancelacionSoap">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="CancelTest">
<soap:operation soapAction="http://tempuri.org/CancelTest" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ConsultaVigencia">
<soap:operation soapAction="http://tempuri.org/ConsultaVigencia" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ConsultaVigenciaTest">
<soap:operation soapAction="http://tempuri.org/ConsultaVigenciaTest" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ObtienePendientes">
<soap:operation soapAction="http://tempuri.org/ObtienePendientes" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ObtienePendientesTest">
<soap:operation soapAction="http://tempuri.org/ObtienePendientesTest" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AceptaRechaza">
<soap:operation soapAction="http://tempuri.org/AceptaRechaza" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AceptaRechazaTest">
<soap:operation soapAction="http://tempuri.org/AceptaRechazaTest" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ObtieneRelacionadosTest">
<soap:operation soapAction="http://tempuri.org/ObtieneRelacionadosTest" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ObtieneRelacionados">
<soap:operation soapAction="http://tempuri.org/ObtieneRelacionados" style="document" />
<wsdl:input>
<soap:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="CancelacionSoap12" type="tns:CancelacionSoap">
<soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
<wsdl:operation name="CancelTest">
<soap12:operation soapAction="http://tempuri.org/CancelTest" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ConsultaVigencia">
<soap12:operation soapAction="http://tempuri.org/ConsultaVigencia" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ConsultaVigenciaTest">
<soap12:operation soapAction="http://tempuri.org/ConsultaVigenciaTest" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ObtienePendientes">
<soap12:operation soapAction="http://tempuri.org/ObtienePendientes" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ObtienePendientesTest">
<soap12:operation soapAction="http://tempuri.org/ObtienePendientesTest" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AceptaRechaza">
<soap12:operation soapAction="http://tempuri.org/AceptaRechaza" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="AceptaRechazaTest">
<soap12:operation soapAction="http://tempuri.org/AceptaRechazaTest" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ObtieneRelacionadosTest">
<soap12:operation soapAction="http://tempuri.org/ObtieneRelacionadosTest" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="ObtieneRelacionados">
<soap12:operation soapAction="http://tempuri.org/ObtieneRelacionados" style="document" />
<wsdl:input>
<soap12:body use="literal" />
</wsdl:input>
<wsdl:output>
<soap12:body use="literal" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="Cancelacion">
<wsdl:port name="CancelacionSoap" binding="tns:CancelacionSoap">
<soap:address location="https://cancel.gofac.com.mx/Cancelacion.asmx" />
</wsdl:port>
<wsdl:port name="CancelacionSoap12" binding="tns:CancelacionSoap12">
<soap12:address location="https://cancel.gofac.com.mx/Cancelacion.asmx" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>

View File

@@ -0,0 +1,31 @@
<?xml version="1.0" encoding="utf-8"?>
<ReferenceGroup xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" ID="550267bb-3000-47cf-a528-b1e63deead44" xmlns="urn:schemas-microsoft-com:xml-wcfservicemap">
<ClientOptions>
<GenerateAsynchronousMethods>false</GenerateAsynchronousMethods>
<EnableDataBinding>true</EnableDataBinding>
<ExcludedTypes />
<ImportXmlTypes>false</ImportXmlTypes>
<GenerateInternalTypes>false</GenerateInternalTypes>
<GenerateMessageContracts>false</GenerateMessageContracts>
<NamespaceMappings />
<CollectionMappings />
<GenerateSerializableTypes>true</GenerateSerializableTypes>
<Serializer>Auto</Serializer>
<UseSerializerForFaults>true</UseSerializerForFaults>
<ReferenceAllAssemblies>true</ReferenceAllAssemblies>
<ReferencedAssemblies />
<ReferencedDataContractTypes />
<ServiceContractMappings />
</ClientOptions>
<MetadataSources>
<MetadataSource Address="https://cancel.gofac.com.mx/Cancelacion.asmx" Protocol="http" SourceId="1" />
</MetadataSources>
<Metadata>
<MetadataFile FileName="Cancelacion.disco" MetadataType="Disco" ID="eee7b15e-c407-415f-a388-bc289970c2bf" SourceId="1" SourceUrl="https://cancel.gofac.com.mx/Cancelacion.asmx?disco" />
<MetadataFile FileName="Cancelacion.wsdl" MetadataType="Wsdl" ID="86ca9d7e-3703-46f1-a3db-f42c5ae119f5" SourceId="1" SourceUrl="https://cancel.gofac.com.mx/Cancelacion.asmx?wsdl" />
</Metadata>
<Extensions>
<ExtensionFile FileName="configuration91.svcinfo" Name="configuration91.svcinfo" />
<ExtensionFile FileName="configuration.svcinfo" Name="configuration.svcinfo" />
</Extensions>
</ReferenceGroup>

View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="utf-8"?>
<configurationSnapshot xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:schemas-microsoft-com:xml-wcfconfigurationsnapshot">
<behaviors />
<bindings>
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data name=&quot;CancelacionSoap4&quot;&gt;&lt;security mode=&quot;Transport&quot; /&gt;&lt;/Data&gt;" bindingType="basicHttpBinding" name="CancelacionSoap4" />
<binding digest="System.ServiceModel.Configuration.BasicHttpBindingElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089:&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data name=&quot;CancelacionSoap5&quot; /&gt;" bindingType="basicHttpBinding" name="CancelacionSoap5" />
</bindings>
<endpoints>
<endpoint normalizedDigest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;https://cancel.gofac.com.mx/Cancelacion.asmx&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;CancelacionSoap4&quot; contract=&quot;Cancelacion2022.CancelacionSoap&quot; name=&quot;CancelacionSoap2&quot; /&gt;" digest="&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-16&quot;?&gt;&lt;Data address=&quot;https://cancel.gofac.com.mx/Cancelacion.asmx&quot; binding=&quot;basicHttpBinding&quot; bindingConfiguration=&quot;CancelacionSoap4&quot; contract=&quot;Cancelacion2022.CancelacionSoap&quot; name=&quot;CancelacionSoap2&quot; /&gt;" contractName="Cancelacion2022.CancelacionSoap" name="CancelacionSoap2" />
</endpoints>
</configurationSnapshot>

View File

@@ -0,0 +1,310 @@
<?xml version="1.0" encoding="utf-8"?>
<SavedWcfConfigurationInformation xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" Version="9.1" CheckSum="7+MEvvtS3Uq9xUIyiVlLzkRFvow=">
<bindingConfigurations>
<bindingConfiguration bindingType="basicHttpBinding" name="CancelacionSoap4">
<properties>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>CancelacionSoap4</serializedValue>
</property>
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>StrongWildcard</serializedValue>
</property>
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>65536</serializedValue>
</property>
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
</property>
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Text.UTF8Encoding</serializedValue>
</property>
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Buffered</serializedValue>
</property>
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Text</serializedValue>
</property>
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
</property>
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Transport</serializedValue>
</property>
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
</property>
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Never</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>TransportSelected</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>(Collection)</serializedValue>
</property>
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
</property>
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>UserName</serializedValue>
</property>
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Default</serializedValue>
</property>
</properties>
</bindingConfiguration>
<bindingConfiguration bindingType="basicHttpBinding" name="CancelacionSoap5">
<properties>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>CancelacionSoap5</serializedValue>
</property>
<property path="/closeTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/openTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/receiveTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/sendTimeout" isComplexType="false" isExplicitlyDefined="true" clrType="System.TimeSpan, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/allowCookies" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/bypassProxyOnLocal" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/hostNameComparisonMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HostNameComparisonMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>StrongWildcard</serializedValue>
</property>
<property path="/maxBufferPoolSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/maxBufferSize" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>65536</serializedValue>
</property>
<property path="/maxReceivedMessageSize" isComplexType="false" isExplicitlyDefined="true" clrType="System.Int64, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/proxyAddress" isComplexType="false" isExplicitlyDefined="false" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/readerQuotas" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.XmlDictionaryReaderQuotasElement</serializedValue>
</property>
<property path="/readerQuotas/maxDepth" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxStringContentLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxArrayLength" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxBytesPerRead" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/readerQuotas/maxNameTableCharCount" isComplexType="false" isExplicitlyDefined="false" clrType="System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>0</serializedValue>
</property>
<property path="/textEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.Text.Encoding, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Text.UTF8Encoding</serializedValue>
</property>
<property path="/transferMode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.TransferMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Buffered</serializedValue>
</property>
<property path="/useDefaultWebProxy" isComplexType="false" isExplicitlyDefined="true" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/messageEncoding" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.WSMessageEncoding, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Text</serializedValue>
</property>
<property path="/security" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpSecurityElement</serializedValue>
</property>
<property path="/security/mode" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpSecurityMode, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.HttpTransportSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.HttpTransportSecurityElement</serializedValue>
</property>
<property path="/security/transport/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpClientCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/proxyCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.HttpProxyCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>None</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.Security.Authentication.ExtendedProtection.Configuration.ExtendedProtectionPolicyElement</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/policyEnforcement" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.PolicyEnforcement, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Never</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/protectionScenario" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.ProtectionScenario, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>TransportSelected</serializedValue>
</property>
<property path="/security/transport/extendedProtectionPolicy/customServiceNames" isComplexType="true" isExplicitlyDefined="false" clrType="System.Security.Authentication.ExtendedProtection.Configuration.ServiceNameElementCollection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>(Collection)</serializedValue>
</property>
<property path="/security/transport/realm" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/security/message" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.BasicHttpMessageSecurityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.BasicHttpMessageSecurityElement</serializedValue>
</property>
<property path="/security/message/clientCredentialType" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.BasicHttpMessageCredentialType, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>UserName</serializedValue>
</property>
<property path="/security/message/algorithmSuite" isComplexType="false" isExplicitlyDefined="false" clrType="System.ServiceModel.Security.SecurityAlgorithmSuite, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Default</serializedValue>
</property>
</properties>
</bindingConfiguration>
</bindingConfigurations>
<endpoints>
<endpoint name="CancelacionSoap2" contract="Cancelacion2022.CancelacionSoap" bindingType="basicHttpBinding" address="https://cancel.gofac.com.mx/Cancelacion.asmx" bindingConfiguration="CancelacionSoap4">
<properties>
<property path="/address" isComplexType="false" isExplicitlyDefined="true" clrType="System.Uri, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>https://cancel.gofac.com.mx/Cancelacion.asmx</serializedValue>
</property>
<property path="/behaviorConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/binding" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>basicHttpBinding</serializedValue>
</property>
<property path="/bindingConfiguration" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>CancelacionSoap4</serializedValue>
</property>
<property path="/contract" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>Cancelacion2022.CancelacionSoap</serializedValue>
</property>
<property path="/headers" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.AddressHeaderCollectionElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.AddressHeaderCollectionElement</serializedValue>
</property>
<property path="/headers/headers" isComplexType="false" isExplicitlyDefined="true" clrType="System.ServiceModel.Channels.AddressHeaderCollection, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>&lt;Header /&gt;</serializedValue>
</property>
<property path="/identity" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.IdentityElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.IdentityElement</serializedValue>
</property>
<property path="/identity/userPrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.UserPrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.UserPrincipalNameElement</serializedValue>
</property>
<property path="/identity/userPrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/servicePrincipalName" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.ServicePrincipalNameElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.ServicePrincipalNameElement</serializedValue>
</property>
<property path="/identity/servicePrincipalName/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/dns" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.DnsElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.DnsElement</serializedValue>
</property>
<property path="/identity/dns/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/rsa" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.RsaElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.RsaElement</serializedValue>
</property>
<property path="/identity/rsa/value" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificate" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.CertificateElement</serializedValue>
</property>
<property path="/identity/certificate/encodedValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificateReference" isComplexType="true" isExplicitlyDefined="false" clrType="System.ServiceModel.Configuration.CertificateReferenceElement, System.ServiceModel, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>System.ServiceModel.Configuration.CertificateReferenceElement</serializedValue>
</property>
<property path="/identity/certificateReference/storeName" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreName, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>My</serializedValue>
</property>
<property path="/identity/certificateReference/storeLocation" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.StoreLocation, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>LocalMachine</serializedValue>
</property>
<property path="/identity/certificateReference/x509FindType" isComplexType="false" isExplicitlyDefined="false" clrType="System.Security.Cryptography.X509Certificates.X509FindType, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>FindBySubjectDistinguishedName</serializedValue>
</property>
<property path="/identity/certificateReference/findValue" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/identity/certificateReference/isChainIncluded" isComplexType="false" isExplicitlyDefined="false" clrType="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>False</serializedValue>
</property>
<property path="/name" isComplexType="false" isExplicitlyDefined="true" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue>CancelacionSoap2</serializedValue>
</property>
<property path="/kind" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
<property path="/endpointConfiguration" isComplexType="false" isExplicitlyDefined="false" clrType="System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<serializedValue />
</property>
</properties>
</endpoint>
</endpoints>
</SavedWcfConfigurationInformation>

File diff suppressed because it is too large Load Diff

View File

@@ -611,7 +611,7 @@ Partial Class Bancos_PopIECompras
If UsuarioActual.Empresa.UsaAC Then
RegistraScript("if (confirm('La factura está cancelada ante el SAT., ¿Desea eliminar la compra?')) { $get('BtnEliminarCompra').click();}")
Else
Alert("La factura está cancelada ante el SAT.")
Alert("La factura está cancelada ante el SAT.", TipoMensaje.MsgError)
End If
Else
@@ -624,47 +624,45 @@ Partial Class Bancos_PopIECompras
Valida.Dispose()
Else
Validada = True
End If
End If
'CargaProveedor
CveProveedor = dr("CveProveedor").ToString.ToEntero
HdnCveProveedor.Value = CveProveedor.ToString
CargaProveedor(CveProveedor, "-1")
CveMoneda = dr("CveMoneda").ToString.ToEntero
CveTipoConcepto = dr("CveTipoConcepto").ToString.ToEntero
CveMonedaCompra = dr("CveMoneda").ToString.ToEntero
CveMonedaFiltros = dr("CveMoneda").ToString.ToEntero
SerieFolio = dr("SerieFolio").ToString
TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDecimal
NombreProveedor = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", String.Format("CveProveedor = {0}", CveProveedor))
CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero
LtlTitulo.Text = "Cuentas por Pagar"
LtlTipo2.Text = "Folio"
LtlTipo3.Text = "Fecha"
LtlFechaVenta.Text = dr("Fecha").ToString.ToDate.ToShortDateString()
LtlFolio.Text = dr("SerieFolio").ToString
LtlSaldo.Text = If(CveMoneda = 1, $"{dr("Saldo").ToString.FormatoNumero}{" MXN"}", $"{dr("Saldo").ToString.FormatoNumero}{" USD"}")
'Configuración de Modalidad Update
MovimientoPagar = New IEMovimiento
MovimientoPagar.SubTotal = dr("SubTotal").ToString.ToDecimal
MovimientoPagar.IVA = dr("IVA").ToString.ToDecimal
MovimientoPagar.IVADeducible = dr("IVADeducible").ToString.ToDecimal.RoundSQL
MovimientoPagar.IVANoDeducible = dr("IVANoDeducible").ToString.ToDecimal.RoundSQL
MovimientoPagar.RetIVA = dr("RetIVA").ToString.ToDecimal
MovimientoPagar.RetISR = dr("RetISR").ToString.ToDecimal
MovimientoPagar.Total = dr("Total").ToString.ToDecimal
MovimientoPagar.Saldo = dr("Saldo").ToString.ToDecimal
MovimientoPagar.IEPS = dr("IEPS").ToString.ToDecimal
MovimientoPagar.ConceptoRetIVA = dr("CveRetIVAConcepto").ToString.ToEntero
MovimientoPagar.ConceptoRetISR = dr("CveRetISRConcepto").ToString.ToEntero
MovimientoPagar.PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal
MovimientoPagar.IVAPorPagar = dr("IVAPorPagar").ToString.ToDecimal
If Validada Then
'CargaProveedor
CveProveedor = dr("CveProveedor").ToString.ToEntero
HdnCveProveedor.Value = CveProveedor.ToString
CargaProveedor(CveProveedor, "-1")
CveMoneda = dr("CveMoneda").ToString.ToEntero
CveTipoConcepto = dr("CveTipoConcepto").ToString.ToEntero
CveMonedaCompra = dr("CveMoneda").ToString.ToEntero
CveMonedaFiltros = dr("CveMoneda").ToString.ToEntero
SerieFolio = dr("SerieFolio").ToString
TipoCambioOriginal = dr("TipoCambioOriginal").ToString.ToDecimal
NombreProveedor = GlobalDTCompProveedores(UsuarioActual.CveEmpresa).FiltroPrimeroValor("RazonSocial", String.Format("CveProveedor = {0}", CveProveedor))
CveSubProyecto = dr("CveSubProyecto").ToString.ToEntero
LtlTitulo.Text = "Cuentas por Pagar"
LtlTipo2.Text = "Folio de la Compra"
LtlTipo3.Text = "Fecha de la Compra"
LtlFechaVenta.Text = dr("Fecha").ToString.ToDate.ToShortDateString()
LtlFolio.Text = dr("SerieFolio").ToString
LtlSaldo.Text = If(CveMoneda = 1, $"{dr("Saldo").ToString.FormatoNumero}{" MXN"}", $"{dr("Saldo").ToString.FormatoNumero}{" USD"}")
'Configuración de Modalidad Update
MovimientoPagar = New IEMovimiento
MovimientoPagar.SubTotal = dr("SubTotal").ToString.ToDecimal
MovimientoPagar.IVA = dr("IVA").ToString.ToDecimal
MovimientoPagar.IVADeducible = dr("IVADeducible").ToString.ToDecimal.RoundSQL
MovimientoPagar.IVANoDeducible = dr("IVANoDeducible").ToString.ToDecimal.RoundSQL
MovimientoPagar.RetIVA = dr("RetIVA").ToString.ToDecimal
MovimientoPagar.RetISR = dr("RetISR").ToString.ToDecimal
MovimientoPagar.Total = dr("Total").ToString.ToDecimal
MovimientoPagar.Saldo = dr("Saldo").ToString.ToDecimal
MovimientoPagar.IEPS = dr("IEPS").ToString.ToDecimal
MovimientoPagar.ConceptoRetIVA = dr("CveRetIVAConcepto").ToString.ToEntero
MovimientoPagar.ConceptoRetISR = dr("CveRetISRConcepto").ToString.ToEntero
MovimientoPagar.PorcentajeIVA = dr("PorcentajeIVA").ToString.ToDecimal
MovimientoPagar.IVAPorPagar = dr("IVAPorPagar").ToString.ToDecimal
TxtFolio.Enabled = True
TxtFechaDocumento.Enabled = True
Calendario.Enabled = True

View File

@@ -1063,7 +1063,7 @@ Partial Class Compras_eFacturas
e.Row.FCHyperLink("HplProveedor").NavigateUrl = String.Format("/Compras/Proveedores.aspx?CveProveedor={0}", e.Row.DBCampo("CveProveedor"))
If e.Row.DBCampo("CveCompra") = "" AndAlso (e.Row.DBCampo("FueValidado") = "1") Then ' OrElse UsuarioActual.CveEmpresa = 66
If e.Row.DBCampo("CveCompra") = "" AndAlso (e.Row.DBCampo("FueValidado") = "1" OrElse UsuarioActual.Empresa.Funcionalidad(529) = "1") Then ' OrElse UsuarioActual.CveEmpresa = 66
If e.Row.DBCampo("TipoComprobante") = "P" Then
e.Row.FCHyperLink("HplAgregar").Visible = False

View File

@@ -235,7 +235,7 @@
'If ObjGenerales.GetGralMunicipios Then Application("GlobalDTGralMunicipios") = ObjGenerales.DtResultados Else Application("GlobalDTGralMunicipios") = Nothing
'If ObjGenerales.GetGralPoblaciones Then Application("GlobalDTGralPoblaciones") = ObjGenerales.DtResultados Else Application("GlobalDTGralPoblaciones") = Nothing
If ObjGenerales.GetEscolaridades Then Application("GlobalDTGralEscolaridades") = ObjGenerales.DtResultados Else Application("GlobalDTGralEscolaridades") = Nothing
If ObjGenerales.GetCategorias Then Application("GlobalDTGralCategorias") = ObjGenerales.DtResultados Else Application("GlobalDTGralCategorias") = Nothing
'If ObjGenerales.GetCategorias Then Application("GlobalDTGralCategorias") = ObjGenerales.DtResultados Else Application("GlobalDTGralCategorias") = Nothing
If ObjGenerales.GetCategorias(-1, 2) Then Application("GlobalDTFamilias") = ObjGenerales.DtResultados Else Application("GlobalDTFamilias") = Nothing
If ObjGenerales.GetCategorias(-1, 3) Then Application("GlobalDTCategoriasPresupuestos") = ObjGenerales.DtResultados Else Application("GlobalDTCategoriasPresupuestos") = Nothing
If ObjGenerales.GetCategorias(-1, 4) Then Application("GlobalDTCategorias2") = ObjGenerales.DtResultados Else Application("GlobalDTCategorias2") = Nothing

View File

@@ -932,11 +932,8 @@ Partial Class Inventarios_EntregaAlmacen
If e.Row.RowType = DataControlRowType.DataRow Then
'código temporal
Dim AplicaSerie As Boolean = CBool(e.Row.DBCampo("AplicaSerie"))
If UsuarioActual.CveEmpresa = 140 AndAlso Not CveSubProyecto.Contiene(11791, 11793, 11993, 11994, 11794, 11797, 11795, 12010, 12011) Then
AplicaSerie = False
End If
Dim AplicaSerie As Boolean = CBool(e.Row.DBCampo("AplicaSerie"))
If AplicaSerie Then
e.Row.FCButton("BtnSerie").Visible = True
e.Row.FCButton("BtnSerie").Text = "Serie"

View File

@@ -105,9 +105,9 @@
<div class="col-md-2">
<asp:DropDownList ID="DdlMoneda" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataTextField="Moneda" DataValueField="CveMoneda"></asp:DropDownList>
</div>
<div class="col-md-1 truncate" style="width:150px !important">Solo con Movimientos</div>
<div class="col-md-1 truncate">Opción</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlMovs" CssClass="form-control input-sm select2me" runat="server" Width="250" DataValueField="CveAlmacen" DataTextField="Almacen">
<asp:DropDownList ID="DdlMovs" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataValueField="CveAlmacen" DataTextField="Almacen">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Con Movimientos" Value="2"></asp:ListItem>
<asp:ListItem Text="Sin Movimientos" Value="5"></asp:ListItem>
@@ -121,17 +121,24 @@
<div class="col-md-2">
<asp:DropDownList ID="DdlProveedor" runat="server" CssClass="form-control input-sm select2me" Width="100%" DataValueField="CveProveedor" DataTextField="RazonSocial"></asp:DropDownList>
</div>
<div class="col-md-1 truncate">Categoría</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlCategoria" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlCategoria_SelectedIndexChanged" Width="100%" DataTextField="Categoria" DataValueField="CveCategoria"></asp:DropDownList>
</div>
<div class="col-md-1 truncate">Clasificación</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacion" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlClasificacion_SelectedIndexChanged" CssClass="form-control input-sm select2me" Width="100%" DataValueField="CveClasificacion" DataTextField="Clasificacion"></asp:DropDownList>
</div>
<div class="col-md-1 truncate" style="width:50px !important" >PS</div>
</div>
<div class="row">
<div class="col-md-1 truncate" >Producto</div>
<div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" />
<%--<asp:DropDownList ID="DdlPS" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataTextField="PS" DataValueField="CvePS"></asp:DropDownList>--%>
</div>
<div runat="Server" id="DivMarca">
<div class="col-md-1 truncate" style="width:50px !important" >Marca</div>
<div class="col-md-1 truncate" >Marca</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlMarca" runat="server" CssClass="form-control input-sm select2me" Width="100%" DataValueField="CveMarca" DataTextField="Marca"></asp:DropDownList>
</div>
@@ -164,10 +171,7 @@
</div>
<div id="DivFamiliaSubFamilia" style="display:none" class="row" runat="server" visible="false">
<div class="col-md-1 truncate">Familia</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlFamilia" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlFamilia_SelectedIndexChanged" Width="100%" DataTextField="Categoria" DataValueField="CveCategoria"></asp:DropDownList>
</div>
<div class="col-md-1 truncate" >SubFamilia</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlSubFamilia" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataTextField="Clasificacion" DataValueField="CveClasificacion"></asp:DropDownList>

View File

@@ -59,10 +59,6 @@ Partial Class Inventarios_ReporteEntradasSalidas
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DivFamiliaSubFamilia.Visible = True
End If
If UsuarioActual.CveEmpresa.Contiene(119) Then
LnkFormatoInventario.Visible = True
End If
@@ -144,26 +140,25 @@ Partial Class Inventarios_ReporteEntradasSalidas
DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlFamilia.DataSource = GlobalDTFamilias(UsuarioActual.CveEmpresa)
DdlFamilia.DataBind()
End If
DdlFamilia.Items.Insert(0, New ListItem("Todas", "-1"))
DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
DdlCategoria.DataBind()
DdlCategoria.Items.Insert(0, New ListItem("Todas", "-1"))
DdlSubFamilia.Items.Insert(0, New ListItem("Todas", "-1"))
'Carga Productos
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
DdlPS.setEsWebService(True)
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = ""
DdlPS.SelectedValue = "-1"
Else
DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero)
DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
End If
'If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = ""
DdlPS.SelectedValue = "-1"
'Else
' DdlPS.ddl.Items.Clear()
' DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero)
' DdlPS.ddl.DataBind()
' DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
'End If
DdlMovs.SelectedValue = "2"
@@ -190,12 +185,10 @@ Partial Class Inventarios_ReporteEntradasSalidas
DdlTipoAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub
Protected Sub DdlFamilia_SelectedIndexChanged(sender As Object, e As EventArgs)
DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa, DdlFamilia.SelectedValue.ToEntero)
DdlSubFamilia.DataBind()
DdlSubFamilia.Items.Insert(0, New ListItem("Todas", "-1"))
Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs)
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveCategoria:=DdlCategoria.SelectedValue.ToEntero)
DdlClasificacion.DataBind()
DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click
CargaDatos()
@@ -218,7 +211,7 @@ Partial Class Inventarios_ReporteEntradasSalidas
End If
If Reporte.RepMovimientos(UsuarioActual.CveEmpresa, DdlMoneda.SelectedValue.ToEntero, FechaInicial, FechaFinal, DdlTipoMovimiento.SelectedValue.ToEntero, DdlProveedor.SelectedValue.ToEntero,
Almacenes, DdlFamilia.SelectedValue.ToEntero, DdlSubFamilia.SelectedValue.ToEntero, DdlPS.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero,
Almacenes, DdlCategoria.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlPS.SelectedValue.ToEntero,
DdlMovs.SelectedValue.ToEntero, CveMarca, CvePersonal:=DdlPersonal.SelectedValue.ToEntero, CveClasificacion2:=DdlClasificacion2.SelectedValue.ToEntero, CveTipoAlmacen:=TipoAlmacen,
Modalidad:=DdlModalidadFiltro.SelectedValue.ToEntero) Then
dt = Reporte.DtResultados
@@ -353,7 +346,7 @@ Partial Class Inventarios_ReporteEntradasSalidas
Dim SoloConMov = If(DdlMovs.SelectedValue = "-1", "", $"&emsp;<b>Solo&nbsp;Movimientos:</b>&nbsp;{DdlMovs.SelectedItem.Text}")
Dim Proveedor = If(DdlProveedor.SelectedValue = "-1", "", $"&emsp;<b>Proveedor:</b>&nbsp;{DdlProveedor.SelectedItem.Text}")
Dim Clasificacion = If(DdlClasificacion.SelectedValue = "-1", "", $"&emsp;<b>Clasificación:</b>&nbsp;{DdlClasificacion.SelectedItem.Text}")
Dim Familia = If(DdlFamilia.SelectedValue = "-1", "", $"&emsp;<b>Familia:</b>&nbsp;{DdlFamilia.SelectedItem.Text}")
Dim Familia = If(DdlCategoria.SelectedValue = "-1", "", $"&emsp;<b>Categoria:</b>&nbsp;{DdlCategoria.SelectedItem.Text}")
Dim SubFamilia = If(DdlSubFamilia.SelectedValue = "-1", "", $"&emsp;<b>SubFamilia:</b>&nbsp;{DdlSubFamilia.SelectedItem.Text}")
Dim PS = If(DdlPS.SelectedValue = "-1", "", $"&emsp;<b>PS:</b>&nbsp;{DdlPS.SelectedText}")
Dim FechaIn As String = $"&emsp;<b>Fecha&nbsp;Inicio:</b>&nbsp;{TxtFechaI.Text}"

View File

@@ -577,14 +577,14 @@ Partial Class Inventarios_TraspasoAlmacen
Dim tSerie As String = If(TxtnSerie.Visible, TxtnSerie.Text, "-1")
If UsuarioActual.CveEmpresa = 140 Then
Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").ToEntero
'If UsuarioActual.CveEmpresa = 140 Then
' Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").ToEntero
If Not CveSubProyecto.Contiene(11791, 11793, 11993, 11994, 11794, 11797, 11795, 12010, 12011) Then
tSerie = "-1"
End If
' If Not CveSubProyecto.Contiene(11791, 11793, 11993, 11994, 11794, 11797, 11795, 12010, 12011) Then
' tSerie = "-1"
' End If
End If
'End If
Dim Valido = ValidaExistencia(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, DdlSeccionAlmacen.SelectedValue.ToEntero, tSerie, tLote, tCaducidad)
@@ -870,14 +870,14 @@ Partial Class Inventarios_TraspasoAlmacen
Dim tLote As String = If(Lote <> "-1", String.Format("AND Lote = '{0}' ", Lote), "")
Dim tFechaCaducidad As String = If(FechaCaducidad > MinFecha, String.Format("AND FechaCaducidad = '{0}' ", FechaCaducidad), "")
If UsuarioActual.CveEmpresa = 140 Then
Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").ToEntero
'If UsuarioActual.CveEmpresa = 140 Then
' Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").ToEntero
If Not CveSubProyecto.Contiene(11791, 11793, 11993, 11994, 11794, 11797, 11795, 12010, 12011) Then
Serie = "-1"
End If
' If Not CveSubProyecto.Contiene(11791, 11793, 11993, 11994, 11794, 11797, 11795, 12010, 12011) Then
' Serie = "-1"
' End If
End If
'End If
Dim ExistenciaEspecificada As Decimal = 0

View File

@@ -104,7 +104,7 @@
</div>
</div>
<asp:GridView ID="GvRefacturaciones" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron solicitudes de cancelación"
DataKeyNames="CveVenta,CveCliente,Folio,TipoDocto,Nombre,FolioFiscal,Total,SubTotal,RFCCliente"
DataKeyNames="CveVenta,CveCliente,Folio,TipoDocto,Nombre,FolioFiscal,Total,SubTotal,RFCCliente,FolioFiscalSustitucion"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" GridLines="None" Width="99%" OnRowDataBound="GvDatos_RowDataBound">
<Columns>
<asp:BoundField HeaderText="Cliente" DataField="Nombre" ItemStyle-Width="25%" />
@@ -116,10 +116,17 @@
<asp:BoundField HeaderText="Fecha Solicitud" DataField="FechaCambioEstatus" ItemStyle-Width="160px" />
<asp:BoundField HeaderText="Fecha Cancelacion" DataField="FechaCancelacion" ItemStyle-Width="160px" />
<asp:BoundField HeaderText="Estatus" DataField="EstatusFactura" ItemStyle-Width="160px" />
<asp:BoundField HeaderText="Serie Folio Nuevo" DataField="SerieFolioSustitucion" ItemStyle-Width="25%" />
<asp:BoundField HeaderText="Folio Sustitucion" DataField="FolioFiscalSustitucion" ItemStyle-Width="25%" />
<asp:BoundField HeaderText="Motivo" DataField="MotivoCancelacion" ItemStyle-Width="25%" />
<asp:TemplateField ItemStyle-Width="35px" HeaderText="Verificar">
<ItemTemplate>
<asp:LinkButton runat="server" OnClick="BtnValidarRefacturacion_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea verificar la cancelación?" data-btn-ok-label="si"></asp:LinkButton>
<asp:LinkButton ID="LnkValidarRefac" runat="server" OnClick="BtnValidarRefacturacion_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea verificar la cancelación?" data-btn-ok-label="si"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="35px" HeaderText="Cancelar">
<ItemTemplate>
<asp:LinkButton ID="LnkCancelar" Visible="false" runat="server" OnClick="BtnCancelarDocumento_Click" CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-check'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea cancelar el documento?" data-btn-ok-label="si"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField HeaderText="Refacturación" Text="Refacturar" DataNavigateUrlFields="CveVenta" ItemStyle-Width="100px" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveDevolucion={0}&NuevaFactura=1" />

View File

@@ -41,7 +41,19 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
}
var ObjVentas = new ClsVentas();
if (ObjVentas.GetVentas(UsuarioActual.CveEmpresa, "-1", "-1", -1, "-1", -1, -1, -2, -1, "-1", "-1", "-1", CveUsuarioConsulta: UsuarioActual.CveUsuario))
//if (ObjVentas.GetVentas(UsuarioActual.CveEmpresa, "-1", "-1", -1, "-1", -1, -1, -2, -1, "-1", "-1", "-1", CveUsuarioConsulta: UsuarioActual.CveUsuario))
//{
// if (Request["CveVenta"] != null && Request["CveVenta"].ToString().ToEntero() > 0)
// {
// DtVentas = ObjVentas.DtResultados.FiltraParametros($"CveVenta={Request["CveVenta"].ToString().ToEntero()}");
// }
// else
// {
// DtVentas = ObjVentas.DtResultados.Copy();
// }
//}
if (ObjVentas.GetVentasPendientesCancelacion(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario))
{
if (Request["CveVenta"] != null && Request["CveVenta"].ToString().ToEntero() > 0)
@@ -55,7 +67,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
}
ObjVentas.Dispose();
GvDatos.DataSource = DtVentas.FiltraParametros("CveEstatusFactura IN(20,23) AND CveEstatusRefacturacion = 0");
GvDatos.DataSource = DtVentas.FiltraParametros("CveEstatusFactura = 20 AND CveEstatusRefacturacion = 0");
var DtRefacturar = DtVentas.FiltraParametros("CveEstatusRefacturacion IN (1,3)");
if (DtRefacturar != null && DtRefacturar.Rows.Count > 0)
@@ -89,13 +101,13 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
var resp = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total);
if (resp.EnviarAcuse)
{
Alert(resp.Mensaje,TipoMensaje.MsgConfirmacion,"BtnEnviarMailCancelacion();",TextoConfirmacion:"Enviar",TextoSegundoBoton:"Cancelar");
Alert(resp.Mensaje, TipoMensaje.MsgConfirmacion, "BtnEnviarMailCancelacion();", TextoConfirmacion: "Enviar", TextoSegundoBoton: "Cancelar");
}
else
{
Alert(resp.Mensaje);
}
}
CargaDatos();
}
@@ -115,22 +127,22 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
string Folio = GvRow.DataKey("Folio");
string TipoDocto = GvRow.DataKey("TipoDocto");
string Nombre = GvRow.DataKey("Nombre");
string FolioSustitucion = GvRow.DataKey("FolioFiscalSustitucion");
if (CveVenta > 0 && Uuid != "")
{
var respuesta = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total, true);
var respuesta = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total, true, FolioSustitucion);
CargaDatos();
if (respuesta.CveEstatus.Contiene(4,5))
if (respuesta.CveEstatus.Contiene(4, 5))
{
HdnLigaRefacturar.Value = respuesta.LigaRefacturacion;
Alert(respuesta.Mensaje, JSBtnAceptar: $"RefacturarDocumento();");
}
else
{
Alert(respuesta.Mensaje,TipoMensaje.MsgAdvertencia);
Alert(respuesta.Mensaje, TipoMensaje.MsgAdvertencia);
}
//if (respuesta.IrARefacturar)
//{
// Server.Transfer(respuesta.LigaRefacturacion);
@@ -142,9 +154,78 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
//}
}
UPDatos.Update();
}
private MRespuestaSAT VerificarVigenciaSAT(int CveVenta, int CveCliente, string Folio, string TipoDocto, string uuid, string emisor, string receptor, string total, bool EsRefacturacion = false)
protected void BtnCancelarDocumento_Click(object sender, EventArgs e)
{
this.HdnLigaRefacturar.Value = "";
this.CveVenta = -1;
GridViewRow GvRow = (GridViewRow)(((LinkButton)sender).NamingContainer);
this.CveVenta = GvRow.DataKey("CveVenta").ToEntero();
int CveCliente = GvRow.DataKey("CveCliente").ToEntero();
string Total = GvRow.DataKey("Total");
string SubTotal = GvRow.DataKey("SubTotal");
string Uuid = GvRow.DataKey("FolioFiscal");
string RFCCliente = GvRow.DataKey("RFCCliente");
string Folio = GvRow.DataKey("Folio");
string TipoDocto = GvRow.DataKey("TipoDocto");
string Nombre = GvRow.DataKey("Nombre");
string FolioSustitucion = GvRow.DataKey("FolioFiscalSustitucion");
if (CveVenta > 0 && Uuid != "")
{
var respCancelacion = CancelarDocumento(CveVenta, -1, CveCliente, Folio, Uuid, "", DateTime.Now, TipoDocto, Total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: true, FolioSustitucion: FolioSustitucion, CveEstatusRefacturacion: 2);
if (!respCancelacion.HuboError)
{
var sb = new StringBuilder();
var EnviarAcuse = false;
if (respCancelacion.CveEstatus > 0)
{
EnviarAcuse = true;
var CveEstatus = respCancelacion.CveEstatus;
var ObjVentas = new ClsVentas();
if (ObjVentas.UpdateEstatusVenta(CveVenta, CveEstatus, UsuarioActual.CveEmpresa))
{
sb.Append("El estatus de la factura fue cambiado a 'Cancelada'.");
}
else
{
sb.Append("Ocurrió un error al cambiar el estatus de la factura.");
}
ObjVentas.Dispose();
sb.Append("El documento se canceló correctamente.");
sb.Append($"</br> <a href='/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=CAN&CVEVTA={CveVenta}")}' class='Texto' target='_blank'>Imprimir Acuse</a>");
sb.Append("</br></br> ¿Desea enviar el Acuse de Cancelación al Cliente?");
}
else
{
sb.Append(respCancelacion.Mensaje);
}
if (EnviarAcuse)
{
Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, "BtnEnviarMailCancelacion();", TextoConfirmacion: "Enviar", TextoSegundoBoton: "Cancelar");
}
else
{
Alert(sb.ToString());
}
}
else
{
Alert(respCancelacion.Mensaje, TipoMensaje.MsgError);
}
CargaDatos();
}
UPDatos.Update();
}
private MRespuestaSAT VerificarVigenciaSAT(int CveVenta, int CveCliente, string Folio, string TipoDocto, string uuid, string emisor, string receptor, string total, bool EsRefacturacion = false, string FolioSustitucion = "")
{
HdnLigaRefacturar.Value = "";
@@ -183,20 +264,20 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
if (!UsuarioActual.Empresa.FacturaProduccion && (string.IsNullOrEmpty(uuid) || uuid.Contains("test")))
{
var respCancelacion = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: EsRefacturacion);
var respCancelacion = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: EsRefacturacion, FolioSustitucion: FolioSustitucion);
//sb.AppendFormat("{0} <br/>", respCancelacion.Mensaje);
if (!respCancelacion.HuboError)
{
CveEstatus = respCancelacion.CveEstatus;
retorno.EnviarAcuse = true;
sb.Append("El documento se canceló correctamente.");
sb.Append($"</br> <a href='/Compras/PopUpVerFactura.aspx?P={Encripta($"OP=CAN&CVEVTA={CveVenta}")}' class='Texto' target='_blank'>Imprimir Acuse</a>");
if (!EsRefacturacion)
{
sb.Append("</br></br> ¿Desea enviar el Acuse de Cancelación al Cliente?");
}
}
}
if (respCancelacion.CveEstatus.Contiene(4, 5) && EsRefacturacion)
@@ -218,7 +299,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
{
CveEstatus = 5;
var respCancelacion = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: EsRefacturacion);
var respCancelacion = CancelarDocumento(CveVenta, CveEstatus, CveCliente, Folio, uuid, CancelacionAcuse, CancelacionFecha, TipoDocto, total.ToDouble(), UsuarioActual.Empresa.CvePAC, EsRefacturacion: EsRefacturacion, FolioSustitucion: FolioSustitucion);
//sb.AppendFormat("{0} <br/>", respCancelacion.Mensaje);
if (!respCancelacion.HuboError)
@@ -308,13 +389,17 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
retorno.Mensaje = sb.ToString();
return retorno;
}
private Modelos.Factura.MCancelacionVentaMensaje CancelarDocumento(int CveVenta, int CveEstatus, int CveCliente, string Folio, string FolioFiscal, string CancelacionAcuse, DateTime CancelacionFecha, string TipoComprobante, double Total, int CvePACCancelacion, bool EsRefacturacion = false)
private Modelos.Factura.MCancelacionVentaMensaje CancelarDocumento(int CveVenta, int CveEstatus, int CveCliente, string Folio, string FolioFiscal, string CancelacionAcuse, DateTime CancelacionFecha, string TipoComprobante, double Total, int CvePACCancelacion, bool EsRefacturacion = false, string FolioSustitucion = "", int CveEstatusRefacturacion = -1)
{
Modelos.Factura.MCancelacionVentaMensaje retorno = null;
var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion:true);
var factura = new Modelos.Factura(UsuarioActual, CveVenta, UsuarioActual.CveEmpresa, EsCancelacion: true);
if (EsRefacturacion)
{
retorno = factura.CancelarPorRefacturacion(1,"");
if (CveEstatusRefacturacion > 0)
{
factura.CveEstatusRefacturacion = CveEstatusRefacturacion;
}
retorno = factura.CancelarPorRefacturacion(factura.CveMotivoCancelacion, factura.MotivoCancelacion, FolioSustitucion: FolioSustitucion);
}
else
{
@@ -323,7 +408,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
return retorno;
}
private string DecodeBase64(string strXMLCodificado)
{
try
@@ -372,7 +457,18 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
{
if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 0)
{
e.Row.Cells[10].Text = "";
e.Row.Cells[14].Text = "";
}
if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 1 && e.Row.DBCampo("CveEstatusFactura").ToString().ToEntero() == 23)
{
e.Row.FCLinkButton("LnkValidarRefac").Visible = false;
}
if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 0 && e.Row.DBCampo("CveEstatusFactura").ToString().ToEntero() == 23 && e.Row.DBCampo("CveVentaSustitucion").ToEntero() > 0)
{
e.Row.FCLinkButton("LnkCancelar").Visible = true;
e.Row.FCLinkButton("LnkValidarRefac").Visible = false;
}
}
}
@@ -419,7 +515,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
byte[] ObjetoPDF = StreamPDF(@"Empresas\Grales\Formatos\AcuseCancelacion.rdlc", DtDatos, parametros, "AcuseCancelacion" + CveVenta);
List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
string Asunto = string.Empty;
string Cuerpo = string.Empty;
@@ -485,11 +581,11 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
}
else
{
Alert("El acuse de cancelación no pudo ser enviado.",TipoMensaje.MsgError);
Alert("El acuse de cancelación no pudo ser enviado.", TipoMensaje.MsgError);
}
}
}
}
public class MRespuestaSAT

View File

@@ -91,7 +91,7 @@ Partial Class RepRemisiones
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString
Dim ObjVentas As New ClsVentas
If ObjVentas.GetRepRemisionesSinFacturar(FechaI, FechaF, FechaV, Sucursales, CveCliente, CveContrato, Vendedores, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
If ObjVentas.GetRepRemisionesSinFacturar(FechaI, FechaF, FechaV, Sucursales, CveCliente, CveContrato, Vendedores, UsuarioActual.CveEmpresa, CveUsuarioConsulta:=UsuarioActual.CveUsuario, ConsultaInventario:=UsuarioActual.TienePermisoProceso(201)) Then
DtVentas = ObjVentas.DtResultados.Copy()
GvDatos.DataSource = DtVentas
End If

View File

@@ -158,7 +158,7 @@ Partial Class RepRemisionesDetalle
CveContrato = If(DdlContrato.SelectedValue.ToEntero > 0, DdlContrato.SelectedValue.ToEntero, -1)
CveSubProyecto = IIf(DdlSubProyectos.GetSelectedValuesM = "", "-1", DdlSubProyectos.GetSelectedValuesM).ToString
If ObjVentas.GetRepRemisionesSinFacturarDetalle(FechaI, FechaF, FechaV, CveCliente, CveContrato, CveVenta, UsuarioActual.CveEmpresa, CveSubProyecto, CveUsuarioConsulta:=UsuarioActual.CveUsuario) Then
If ObjVentas.GetRepRemisionesSinFacturarDetalle(FechaI, FechaF, FechaV, CveCliente, CveContrato, CveVenta, UsuarioActual.CveEmpresa, CveSubProyecto, CveUsuarioConsulta:=UsuarioActual.CveUsuario, ConsultaInventario:=UsuarioActual.TienePermisoProceso(201)) Then
If CveMoneda = 1 Or CveMoneda = 2 Then
DtVentas = ObjVentas.DtResultados.FiltraParametros($"CveMoneda = {CveMoneda}")
Else

View File

@@ -177,6 +177,10 @@
</asp:DropDownList>--%>
<asp:ListBox ID="DdlVendedor" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<div class="col-md-1 truncate">Categoría</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlCategoria" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlCategoria_SelectedIndexChanged" Width="100%" DataTextField="Categoria" DataValueField="CveCategoria"></asp:DropDownList>
</div>
<div class="col-md-1 truncate">
Clasificación:
</div>

View File

@@ -38,7 +38,7 @@ Partial Class Ventas_RepVentasUtilidad
txtFechaF.Text = Now.LastDayOfMonth.ToShortDateString
'Carga Clientes
Dim EsWS = If(UsuarioActual.Empresa.Funcionalidad(105) = "1" Or UsuarioActual.Empresa.Funcionalidad(141) = "1", True, False)
Dim EsWS As Boolean = True
If EsWS Then
DdlClientes.setEsWebService(True)
DdlClientes.SelectedValue = "-1"
@@ -63,6 +63,11 @@ Partial Class Ventas_RepVentasUtilidad
DdlVendedor.Enabled = False
End If
'Cargo categorias
DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
DdlCategoria.DataBind()
'Cargo Clasificaciones
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacion.DataBind()
@@ -133,6 +138,14 @@ Partial Class Ventas_RepVentasUtilidad
txtFechaF.Text = CveGpo
End Select
End Sub
Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs)
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveCategoria:=DdlCategoria.SelectedValue.ToEntero)
DdlClasificacion.DataBind()
DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
#End Region
#Region " CARGA DATOS "
@@ -151,7 +164,7 @@ Partial Class Ventas_RepVentasUtilidad
Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString
If ObjVentas.GetReporteVentasUtilidad(Vendedores, DdlClientes.SelectedValue.ToEntero, Sucursales, FechaI, FechaF, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlMarcas.SelectedValue.ToEntero) Then
If ObjVentas.GetReporteVentasUtilidad(Vendedores, DdlClientes.SelectedValue.ToEntero, Sucursales, FechaI, FechaF, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, DdlCategoria.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlMarcas.SelectedValue.ToEntero) Then
DtVentas = ObjVentas.DtResultados
GvDatos.DataSource = ObjVentas.DtResultados
GvDatos.DataBind()
@@ -302,7 +315,7 @@ Partial Class Ventas_RepVentasUtilidad
Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString
If ObjVentas.GetReporteVentasUtilidad(Vendedores, DdlClientes.SelectedValue.ToEntero, Sucursales, FechaI, FechaF, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlMarcas.SelectedValue.ToEntero) Then
If ObjVentas.GetReporteVentasUtilidad(Vendedores, DdlClientes.SelectedValue.ToEntero, Sucursales, FechaI, FechaF, UsuarioActual.CveEmpresa, DdlPS.SelectedValue.ToEntero, DdlCategoria.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero, DdlMarcas.SelectedValue.ToEntero) Then
Dim FechaInicio As String = txtFechaI.Text
Dim FechaFin As String = txtFechaF.Text

View File

@@ -79,24 +79,16 @@
</div>
<div class="titlefiltros caption">
<div class="row">
<div class="col-md-1 truncate">Grupo:</div>
<div class="col-md-2 truncate">
<asp:DropDownList ID="DdlGrupo" runat="server" CssClass="form-control input-small input-sm select2me" Width="100%">
<asp:ListItem Text="Año Venta" Value="1"></asp:ListItem>
<asp:ListItem Text="Año/Mes Venta" Value="2"></asp:ListItem>
<asp:ListItem Text="Fecha Venta" Value="3"></asp:ListItem>
<asp:ListItem Selected="True" Text="Cliente" Value="4"></asp:ListItem>
<asp:ListItem Text="Sucursal" Value="5"></asp:ListItem>
<asp:ListItem Text="Vendedor" Value="6"></asp:ListItem>
<asp:ListItem Text="Producto/Servicio" Value="7"></asp:ListItem>
<asp:ListItem Text="Clasificación" Value="8"></asp:ListItem>
<asp:ListItem Text="Marca" Value="9"></asp:ListItem>
</asp:DropDownList>
</div>
<div class="col-md-1 truncate">
Sucursal:
</div>
<div class="col-md-1 " style="min-width:135px !important">
<asp:ListBox ID="DdlSubProyecto" SelectionMode="Multiple" data-text="Todas" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<div class="col-md-1 truncate">
Fecha Inicio:
</div>
<div class="col-md-2">
<div class="col-md-1" style="min-width:120px !important">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
@@ -113,7 +105,7 @@
<div class="col-md-1 truncate">
Fecha Fin:
</div>
<div class="col-md-2">
<div class="col-md-1" style="min-width:120px !important">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 100px !important; padding: 0px;">
<asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
@@ -127,17 +119,27 @@
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-1 truncate">Grupo:</div>
<div class="col-md-1 truncate">
<asp:DropDownList ID="DdlGrupo" runat="server" CssClass="form-control input-small input-sm select2me" Width="100%">
<asp:ListItem Text="Año Venta" Value="1"></asp:ListItem>
<asp:ListItem Text="Año/Mes Venta" Value="2"></asp:ListItem>
<asp:ListItem Text="Fecha Venta" Value="3"></asp:ListItem>
<asp:ListItem Selected="True" Text="Cliente" Value="4"></asp:ListItem>
<asp:ListItem Text="Sucursal" Value="5"></asp:ListItem>
<asp:ListItem Text="Vendedor" Value="6"></asp:ListItem>
<asp:ListItem Text="Producto/Servicio" Value="7"></asp:ListItem>
<asp:ListItem Text="Clasificación" Value="8"></asp:ListItem>
<asp:ListItem Text="Marca" Value="9"></asp:ListItem>
</asp:DropDownList>
</div>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<div class="row">
<div class="col-md-1 truncate">
Sucursal:
</div>
<div class="col-md-2 ">
<asp:ListBox ID="DdlSubProyecto" SelectionMode="Multiple" data-text="Todas" AppendDataBoundItems="true" DataTextField="SubProyecto" DataValueField="CveSubProyecto" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<div class="col-md-1 truncate">
Cliente:
</div>
@@ -150,6 +152,10 @@
<div class="col-md-2 ">
<asp:ListBox ID="DdlVendedor" SelectionMode="Multiple" data-text="Todos" AppendDataBoundItems="true" DataTextField="Vendedor" DataValueField="CveVendedor" CssClass="ddlFiltros input-sm select2me Widthall" Style="width: 100%;" runat="server"></asp:ListBox>
</div>
<div class="col-md-1 truncate">Categoría</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlCategoria" CssClass="form-control input-sm select2me" runat="server" AutoPostBack="true" OnSelectedIndexChanged="DdlCategoria_SelectedIndexChanged" Width="100%" DataTextField="Categoria" DataValueField="CveCategoria"></asp:DropDownList>
</div>
<div class="col-md-1 truncate">
Clasificación:
</div>

View File

@@ -68,6 +68,10 @@ Partial Class Ventas_RepVentasUtilidadPadre
DdlVendedor.Enabled = False
End If
'Cargo categorias
DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
DdlCategoria.DataBind()
'Cargo Clasificaciones
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacion.DataBind()
@@ -94,6 +98,12 @@ Partial Class Ventas_RepVentasUtilidadPadre
LblPorNeto.Text = "0"
End Sub
Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs)
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveCategoria:=DdlCategoria.SelectedValue.ToEntero)
DdlClasificacion.DataBind()
DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub
Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlPS.UsaWebService Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
@@ -114,7 +124,7 @@ Partial Class Ventas_RepVentasUtilidadPadre
Dim ObjVentas As New ClsVentas
If ObjVentas.GetReportePadreVentasUtilidad(If(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM), DdlClientesWS.SelectedValue.ToEntero,
If(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM), txtFechaI.Text.ToDate, txtFechaF.Text.ToDate,
UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, DdlPS.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero,
UsuarioActual.CveEmpresa, DdlGrupo.SelectedValue.ToEntero, DdlPS.SelectedValue.ToEntero, DdlCategoria.SelectedValue.ToEntero, DdlClasificacion.SelectedValue.ToEntero,
DdlMarcas.SelectedValue.ToEntero) Then
GvDatos.DataSource = ObjVentas.DtResultados
DtDatos = ObjVentas.DtResultados

View File

@@ -7076,6 +7076,67 @@
<asp:Label ID="LbCancelarDescripcion" runat="server"></asp:Label>
</div>
</div>
<div class="row" id="DivRelacionadasCancelacion" runat="server" visible="false">
<div class="col-md-6">
<div class="row">
<div class="col-md-12">
Facturas Padre
</div>
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvFacturasPadreCancelar" runat="server" DataKeyNames="CveVenta" CssClass="table table-striped table-hover Widthall" AutoGenerateColumns="False" ClientIDMode="Static" EmptyDataText="" GridLines="None">
<Columns>
<asp:HyperLinkField DataTextField="SerieFolio" HeaderText="Serie Folio" Target="_blank" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
<asp:BoundField DataField="TipoDocto" HeaderText="Tipo" />
<asp:BoundField DataField="FolioFiscal" HeaderText="Folio Fiscal" />
</Columns>
</asp:GridView>
</div>
</div>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-12">
Facturas Hijo
</div>
</div>
<div class="row">
<div class="col-md-12">
<asp:GridView ID="GvFacturasHijosCancelar" runat="server" DataKeyNames="CveVenta" CssClass="table table-striped table-hover Widthall" AutoGenerateColumns="False" ClientIDMode="Static" EmptyDataText="" GridLines="None">
<Columns>
<asp:HyperLinkField DataTextField="SerieFolio" HeaderText="Serie Folio" Target="_blank" DataNavigateUrlFields="CveVenta" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveVenta={0}" />
<asp:BoundField DataField="TipoDocto" HeaderText="Tipo" />
<asp:BoundField DataField="FolioFiscal" HeaderText="Folio Fiscal" />
</Columns>
</asp:GridView>
</div>
</div>
</div>
</div>
<br />
<div class="row" id="DivMotivoCancelacion" runat="server">
<div class="col-md-2">
<label>Motivo:</label>
</div>
<div class="col-md-10">
<asp:DropDownList ID="DdlMotivoCancelacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="MotivoCancelacion" DataValueField="CveMotivoCancelacion">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVMotivoCancelacion" runat="server" CssClass="help-block errorimput" Display="Dynamic" InitialValue="-1" ControlToValidate="DdlMotivoCancelacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalCancelarDocumento"></asp:RequiredFieldValidator>
</div>
</div>
<div class="row" id="DivMotivoCancelacionTxt" runat="server">
<div class="col-md-2">
<label>Descripción:</label>
</div>
<div class="col-md-10">
<asp:TextBox ID="TxtMotivoCancelacion" runat="server" Height="100" Width="100%" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVDescripcionCancelacion" runat="server" CssClass="help-block errorimput" Display="Dynamic" ControlToValidate="TxtMotivoCancelacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalCancelarDocumento"></asp:RequiredFieldValidator>
</div>
</div>
<div id="DivCanRem" runat="server" visible="false">
<h5>
<asp:CheckBox ID="ChkCanRem" runat="server" AutoPostBack="true" OnCheckedChanged="ChkCanRem_CheckedChanged" /><asp:Label ID="LblChkCanRem" Text="Cancelar la Remisión" runat="server"></asp:Label>
@@ -7095,7 +7156,7 @@
</div>
</div>
</div>
<div id="DivDevAlm" runat="server" class="row" visible="false">
<div id="DivDevAlm" runat="server" visible="false">
<h5>
<asp:CheckBox ID="ChkDevAlm" AutoPostBack="true" runat="server" OnCheckedChanged="ChkDevAlm_CheckedChanged" /><asp:Label ID="LblDevAlm" Text="Devolución Almacen" runat="server"></asp:Label>
</h5>
@@ -7104,8 +7165,8 @@
<div class="modal-footer">
<asp:UpdatePanel ID="UpFooterCancelarRemision" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<button id="BCancelarDocumento" type="button" class="btn btn-default" data-dismiss="modal">No</button>
<asp:Button Text="Si" ID="BtnCancelarDocumento" OnClick="BtnCancelarDocumento_Click" CssClass="btn btn-primary" ValidationGroup="GrpModalCancelarDocumento" runat="server" />
<button id="BCancelarDocumento" type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
<asp:Button Text="Cancelar Documento" ID="BtnCancelarDocumento" OnClick="BtnCancelarDocumento_Click" CssClass="btn btn-primary" ValidationGroup="GrpModalCancelarDocumento" runat="server" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
@@ -7721,7 +7782,7 @@
</div>
<div id="DivMotivoRefacturacion" class="modal ADS fade" role="dialog">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpRefac" UpdateMode="Conditional">
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpMotivoRefac" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content">
<div class="modal-header">
@@ -7731,20 +7792,31 @@
<h4 class="modal-title" id="H1" runat="server">Motivo</h4>
</div>
<div class="modal-body">
<div class="row">
<div class="row">
<div class="col-md-12 text-center">
<h4>
<asp:Label ID="LblEstatusRefacturacion" runat="server"></asp:Label>
</h4>
</div>
</div>
<div class="row">
<div class="col-md-2">
<label>Motivo:</label>
</div>
<div class="col-md-8">
<asp:DropDownList ID="DdlMotivoCancelacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="CodigoSATDescripcion" DataValueField="CveMotivoCancelacion">
<div class="col-md-10">
<asp:DropDownList ID="DdlMotivoRefacturacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="MotivoCancelacion" DataValueField="CveMotivoCancelacion">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVDdlMotivo" runat="server" CssClass="help-block errorimput" InitialValue="-1" ControlToValidate="DdlMotivoCancelacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMotivo"></asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="RFVDdlMotivoRefac" runat="server" CssClass="help-block errorimput" Display="Dynamic" InitialValue="-1" ControlToValidate="DdlMotivoRefacturacion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Motivo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMotivo"></asp:RequiredFieldValidator>
</div>
</div>
<div>
<label>Descripción:</label>
<asp:TextBox ID="TxtMotivoRefac" runat="server" Height="100" Width="600" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtMotivoRefac" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtMotivoRefac" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripcion''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMotivo"></asp:RequiredFieldValidator>
<div class="row">
<div class="col-md-2">
<label>Descripción:</label>
</div>
<div class="col-md-10">
<asp:TextBox ID="TxtMotivoRefac" runat="server" Height="100" Width="100%" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtMotivoRefac" runat="server" Display="Dynamic" CssClass="help-block errorimput" ControlToValidate="TxtMotivoRefac" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpMotivo"></asp:RequiredFieldValidator>
</div>
</div>
</div>
<div class="modal-footer">

View File

@@ -802,7 +802,7 @@ Partial Class Ventas
End Property
Private ReadOnly Property IdCtaContClientes As Integer
Get
Return ViewState("IdCtaContClientes").ToString().ToEntero()
Return IfNull(ViewState("IdCtaContClientes"), "").ToString().ToEntero()
End Get
End Property
@@ -1929,12 +1929,21 @@ Partial Class Ventas
Private Property CvePrecioLista As Integer
Get
Return ViewState("CvePrecioLista").ToString().ToEntero()
Return IfNull(ViewState("CvePrecioLista"), 0, ViewState("CvePrecioLista").ToString().ToEntero()).ToString().ToEntero()
End Get
Set(value As Integer)
ViewState("CvePrecioLista") = value
End Set
End Property
Private Property CvePrecioListaCliente As Integer
Get
Return IfNull(ViewState("CvePrecioListaCliente"), 0, ViewState("CvePrecioListaCliente").ToString().ToEntero()).ToString().ToEntero()
End Get
Set(value As Integer)
ViewState("CvePrecioListaCliente") = value
End Set
End Property
Private Property FacturarSucursal As Boolean
Get
Return CBool(IfNull(ViewState("FacturarSucursal"), "False", ViewState("FacturarSucursal")))
@@ -2080,6 +2089,13 @@ Partial Class Ventas
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
If IfNull(Request("Opcionx"), "").ToString = "Saldar" And UsuarioActual.CveUsuario = 100 Then
TxtFechaSaldarVenta.Text = "2021/12/31"
SaldarVenta()
Exit Sub
End If
Modalidad = ""
Opcion = ""
Index = 0
@@ -2114,6 +2130,7 @@ Partial Class Ventas
ViewState("ClienteRetIVA") = 0
ViewState("ClienteRetISR") = 0
ViewState("CvePrecioLista") = 0
ViewState("CvePrecioListaCliente") = 0
idCuentaContabilizacion = 1
CveEmpresaCRM = 0
CveAcercamientoCRM = 0
@@ -3052,6 +3069,8 @@ Partial Class Ventas
End If
MostrarOpcionesPaqueteria()
'If ViewState("CveCotizacion").ToString().ToEntero() > 0 Then
'If Not AjustarTotalCotizacionFacturada(ViewState("CveCotizacion").ToString().ToEntero(), TxtTotal.Text.ToDecimal) Then
@@ -5486,9 +5505,14 @@ Partial Class Ventas
End Sub
Private Sub CargaMotivosCancelacion()
DdlMotivoCancelacion.DataSource = GlobalDTSATMotivosCancelacion()
DdlMotivoRefacturacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveSATMotivoCancelacion:=1)
DdlMotivoRefacturacion.DataBind()
DdlMotivoCancelacion.DataSource = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa).FiltraParametros("CveSATMotivoCancelacion IN (2,3)")
DdlMotivoCancelacion.DataBind()
DdlMotivoRefacturacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
DdlMotivoCancelacion.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
Private Sub CargaTiposRelacion()
@@ -5749,6 +5773,7 @@ Partial Class Ventas
ViewState("CodCliente") = ObjCliente.Codigo
ViewState("CvePrecioLista") = ObjCliente.CvePrecioLista
ViewState("CvePrecioListaCliente") = ObjCliente.CvePrecioLista
ViewState("CliNoExt") = ObjCliente.NoExt
ViewState("CliNoInt") = ObjCliente.NoInt
@@ -8062,7 +8087,7 @@ Partial Class Ventas
Me.CveAutorizacion = -1
'SI ES A CREDITO DEBE VERIFICAR SI TIENE AUTORIZACIONES
If UsuarioActual.CveRol = 1 AndAlso UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso CveCliente > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Egs") AndAlso RBLPago.SelectedValue = "1" Then
If UsuarioActual.Empresa.Funcionalidad(531) = "1" AndAlso CveCliente > 0 AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Egs") AndAlso RBLPago.SelectedValue = "1" Then
Dim TipoDocumentoAutorizacion As String = ""
Dim ImporteAutorizacion As Decimal = 0
Dim TipoAutorizacion As Integer = 0
@@ -8719,13 +8744,9 @@ Partial Class Ventas
DebeTimbrar = False
End If
'Si es BDH no debe timbrar
If UsuarioActual.CveEmpresa = 140 Then
DebeTimbrar = False
End If
If ObjFactura.TipoDocto.Contiene("Ing", "Egs", "Ant", "Dev") Then
If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso UsuarioActual.Empresa.FacturaProduccion Then
If UsuarioActual.Empresa.TipoFacturacion = "CFDi" AndAlso (UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1) Then
'FACTURA INGRESO/EGRESO
Dim ObjTimbrado As New Timbrado
@@ -8777,8 +8798,10 @@ Partial Class Ventas
Alert(ObjTimbrado.MensajeErrorCFDI, TipoMensaje.MsgError)
End If
'CANCELAR FACTURA ANTERIOR
If SeTimbro AndAlso (Me.CveDevolucion > 0 AndAlso Me.NuevaFactura = 1) Then
If Me.ObjFacturaNC IsNot Nothing Then
Me.ObjFacturaNC.CveEstatusRefacturacion = 2 'MARCAR COMO REFACTURADA
Me.ObjFacturaNC.CancelarPorRefacturacion(Me.ObjFacturaNC.CveMotivoCancelacion, Me.ObjFacturaNC.MotivoCancelacion, ObjTimbrado.UUID)
End If
End If
@@ -11723,13 +11746,13 @@ Partial Class Ventas
End If
'Actualiar el estatus de la venta refacturada
If ObjVentas.CveVenta > 0 AndAlso NuevaFactura = 1 AndAlso CveDevolucion > 0 Then
'If ObjVentas.CveVenta > 0 AndAlso NuevaFactura = 1 AndAlso CveDevolucion > 0 Then
'If CveEstatusRefacturacion = 1 Then CveEstatusRefacturacion = 2 'cuando viene del proceso de refacturación con aceptació
If Not ObjVentas.UpdateEstatusRefacturacion(CveDevolucion, 2) Then ' se marca como refacturada
ErrorList.Add("Ocurrió un error al actualizar el estatus de la refacturacion")
End If
End If
' 'If CveEstatusRefacturacion = 1 Then CveEstatusRefacturacion = 2 'cuando viene del proceso de refacturación con aceptació
' If Not ObjVentas.UpdateEstatusRefacturacion(CveDevolucion, 2) Then ' se marca como refacturada
' ErrorList.Add("Ocurrió un error al actualizar el estatus de la refacturacion")
' End If
'End If
'Pedido2'
If ObjVentas.CveVenta > 0 And CvePedido2 > 0 And DdlTipoComprobante.SelectedValue.Contiene("Rem", "PA") Then
@@ -15526,11 +15549,6 @@ Partial Class Ventas
Exit Sub
End If
'Si es BDH no debe timbrar
If UsuarioActual.CveEmpresa = 140 Then
Exit Sub
End If
If UsuarioActual.Empresa.TipoFacturacion = "CFDi" Then
If UsuarioActual.Empresa.EstatusFacturacion Then
@@ -16198,7 +16216,7 @@ Partial Class Ventas
If TipoPrecioLista = 10 Then
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("CvePrecioLista").ToEntero()
CvePrecioListaPS = Me.CvePrecioListaCliente 'GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("CvePrecioLista").ToEntero()
If CvePrecioListaPS <= 0 Then
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
@@ -16210,7 +16228,7 @@ Partial Class Ventas
CvePrecioListaPS = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimeroValor("CvePrecioLista", "").ToEntero()
If CvePrecioListaPS <= 0 Then
CvePrecioListaPS = GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("CvePrecioLista").ToEntero()
CvePrecioListaPS = Me.CvePrecioListaCliente 'GlobalDTCliente(UsuarioActual.CveEmpresa, Estatus:=-1, CveCliente:=CveCliente).FiltroPrimeroValor("CvePrecioLista").ToEntero()
End If
@@ -20292,7 +20310,6 @@ Partial Class Ventas
SWatch.Start()
Dim Vigencia = Timbrado.VerificarVigenciaSAT(FolioFiscal, UsuarioActual.Empresa.RFC, RFCReceptor, TotalT.ToString(), True)
SWatch.Stop()
Dim SegundosRespuesta As Double = SWatch.ElapsedMilliseconds / 1000
@@ -20310,28 +20327,32 @@ Partial Class Ventas
End If
If Vigencia.EsCancelable = "Cancelable sin aceptación" Then
script = "BtnRefacturacionConfirmarAceptacion();"
'script = "BtnRefacturacionConfirmarAceptacion();"
sb.AppendFormat("<b>{0}</b> <br/>", Vigencia.EsCancelable)
sb.Append("Está seguro de realizar la refacturación?.")
End If
If Vigencia.EsCancelable = "Cancelable con aceptación" OrElse String.IsNullOrEmpty(Vigencia.EsCancelable) Then
script = "BtnRefacturacionConfirmar();"
'script = "BtnRefacturacionConfirmar();"
sb.AppendFormat("<b>{0}</b> <br/>", "Cancelable con aceptación")
sb.Append("Está seguro de cancelar el documento para realizar la refacturación?.")
End If
Else
If Not UsuarioActual.Empresa.FacturaProduccion Then
script = "BtnRefacturacionConfirmar();"
End If
'If Not UsuarioActual.Empresa.FacturaProduccion Then
' script = "BtnRefacturacionConfirmar();"
'End If
sb.Append("<b>No encontrado</b> <br/>")
End If
Else
sb.Append("¿Desea realizar la refacturación?<br/>")
'sb.Append("¿Desea realizar la refacturación?<br/>")
script = "BtnRefacturacionConfirmarAceptacion();"
End If
Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, JSBtnAceptar:=script, TextoConfirmacion:="&nbsp;&nbsp;&nbsp;&nbsp;Si&nbsp;&nbsp;&nbsp;&nbsp;", TextoCancelacion:="&nbsp;&nbsp;&nbsp;&nbsp;No&nbsp;&nbsp;&nbsp;&nbsp;")
LblEstatusRefacturacion.Text = sb.ToString()
UpMotivoRefac.Update()
RegistraScript("$('#DivMotivoRefacturacion').modal({ backdrop: 'static', keyboard: false });", "R1")
'Alert(sb.ToString(), TipoMensaje.MsgConfirmacion, JSBtnAceptar:=script, TextoConfirmacion:="&nbsp;&nbsp;&nbsp;&nbsp;Si&nbsp;&nbsp;&nbsp;&nbsp;", TextoCancelacion:="&nbsp;&nbsp;&nbsp;&nbsp;No&nbsp;&nbsp;&nbsp;&nbsp;")
End If
End Sub
@@ -20340,18 +20361,18 @@ Partial Class Ventas
End Sub
'BtnRefacturacionConfirmar
Private Sub BtnRefacturacionConfirmar_Click(sender As Object, e As System.EventArgs) Handles BtnRefacturacionConfirmar.Click
DdlMotivoCancelacion.SelectedValueExist(1)
DdlMotivoCancelacion.Enabled = False
' DdlMotivoRefactura.SelectedValueExist(1)
' DdlMotivoCancelacion.Enabled = False
UpRefac.Update()
'UpRefac.Update()
RegistraScript("$('#DivMotivoRefacturacion').modal({ backdrop: 'static', keyboard: false });", "R1")
'CancelarDocumento(True)
End Sub
Private Sub BtnRefacturacionConfirmarAceptacion_Click(sender As Object, e As System.EventArgs) Handles BtnRefacturacionConfirmarAceptacion.Click
DdlMotivoCancelacion.SelectedValueExist(1)
DdlMotivoCancelacion.Enabled = False
'DdlMotivoCancelacion.SelectedValueExist(1)
'DdlMotivoCancelacion.Enabled = False
UpRefac.Update()
'UpRefac.Update()
RegistraScript("$('#DivMotivoRefacturacion').modal({ backdrop: 'static', keyboard: false });", "R1")
'CancelarDocumento(True)
End Sub
@@ -22782,7 +22803,7 @@ Partial Class Ventas
ObjVentas.Dispose()
End Sub
Private Sub MostrarCondicionesCancelacion()
Private Sub MostrarCondicionesCancelacion(Optional Extra As String = "")
Dim SbCondiciones As New StringBuilder()
If VentaSaldoAlmacen < 0 AndAlso ChkDevAlm.Checked Then
@@ -22795,6 +22816,10 @@ Partial Class Ventas
SbCondiciones.Append("<br><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-La remisión está relacionada con otra factura.</b>")
End If
If Extra.Length > 0 Then
SbCondiciones.AppendFormat("<br><b>*{0}</b>", Extra)
End If
LbCancelarDescripcion.Text = SbCondiciones.ToString()
SbCondiciones.Clear()
UpCancelarDocumento.Update()
@@ -22810,8 +22835,10 @@ Partial Class Ventas
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Dev", "Egs", "RNC") Then
Dim sb As New StringBuilder()
Dim sbExtra As New StringBuilder()
sb.Append("La factura se encuentra en el siguiente estatus del SAT:<br/>")
Dim TotalT As Decimal = TxtTotal.Text.ToDecimal
Dim RFCReceptor As String = ""
@@ -22843,8 +22870,59 @@ Partial Class Ventas
If Vigencia IsNot Nothing Then
If Vigencia.EsCancelable.ToUpper() = "NO CANCELABLE" Then
Alert("Esta factura no es cancelable.", TipoMensaje.MsgAdvertencia)
Exit Sub
DivRelacionadasCancelacion.Visible = True
BtnCancelarDocumento.Visible = False
DivMotivoCancelacion.Visible = False
DivMotivoCancelacionTxt.Visible = False
DivCanRem.Visible = False
DivDevAlm.Visible = False
Dim Relacionados = Timbrado.ConsultarUUIDRelacionados(UsuarioActual.Empresa, FolioFiscal, UsuarioActual.Empresa.FacturaProduccion)
If Relacionados IsNot Nothing Then
sbExtra.Append(Relacionados.Mensaje)
Dim SbHijos = New StringBuilder()
Dim SbPadres = New StringBuilder()
If Relacionados.RelacionadosHijo IsNot Nothing Then
For Each hijo In Relacionados.RelacionadosHijo
SbHijos.AppendFormat("{0};", hijo.Uuid)
Next
If SbHijos.Length > 0 Then
SbHijos.Remove(SbHijos.Length - 1, 1)
End If
End If
If Relacionados.RelacionadosPadre IsNot Nothing Then
For Each padre In Relacionados.RelacionadosPadre
SbPadres.AppendFormat("{0};", padre.Uuid)
Next
If SbPadres.Length > 0 Then
SbPadres.Remove(SbPadres.Length - 1, 1)
End If
End If
Using ObjVentas As New ClsVentas
If SbHijos.Length > 0 Then
If ObjVentas.GetFacturasRelacionadasPorFolioFiscal(SbHijos.ToString(), UsuarioActual.CveEmpresa) Then
GvFacturasHijosCancelar.DataSource = ObjVentas.DtResultados.Copy()
End If
End If
If SbPadres.Length > 0 Then
If ObjVentas.GetFacturasRelacionadasPorFolioFiscal(SbPadres.ToString(), UsuarioActual.CveEmpresa) Then
GvFacturasPadreCancelar.DataSource = ObjVentas.DtResultados.Copy()
End If
End If
End Using
GvFacturasHijosCancelar.DataBind()
GvFacturasPadreCancelar.DataBind()
End If
End If
If String.IsNullOrEmpty(Vigencia.EsCancelable) Then
If UsuarioActual.Empresa.FacturaProduccion AndAlso Not String.IsNullOrEmpty(FolioFiscal) Then
@@ -22853,17 +22931,20 @@ Partial Class Ventas
End If
sb.Append("<b>No encontrado</b> <br/>")
sb.Append("Está seguro de cancelar el documento?.")
Else
sb.AppendFormat("<b>{0}</b> <br/>", Vigencia.EsCancelable)
If Vigencia.EsCancelable.ToUpper() <> "NO CANCELABLE" Then
sb.Append("Está seguro de cancelar el documento?.")
End If
End If
Else
sb.Append("<b>No encontrado</b> <br/>")
sb.Append("Está seguro de cancelar el documento?.")
End If
sb.Append("Está seguro de cancelar el documento?.")
LblCancelarDocumento.Text = sb.ToString()
MostrarCondicionesCancelacion()
MostrarCondicionesCancelacion(sbExtra.ToString())
RegistraScript("$('#ModalCancelarDocumento').modal();")
UpCancelarDocumento.Update()
@@ -23039,7 +23120,7 @@ Partial Class Ventas
'ObjE.AddEventoBitacora(msgBitacora, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveVenta:=CveVenta)
'ObjE.Dispose()
resp = ObjFacturaCancelacion.CancelarPorRefacturacion(DdlMotivoCancelacion.SelectedValue.ToEntero(), TxtMotivoRefac.Text)
resp = ObjFacturaCancelacion.CancelarPorRefacturacion(DdlMotivoRefacturacion.SelectedValue.ToEntero(), TxtMotivoRefac.Text.Trim())
Else
Dim ListaRemisionesCancelar As New List(Of Integer)
If ChkCanRem.Checked Then
@@ -23052,7 +23133,7 @@ Partial Class Ventas
ObjFacturaCancelacion.CveAlmacenDevolucion = CveAlmacenDevolucion
resp = ObjFacturaCancelacion.CancelarFactura(ChkDevAlm.Checked, ListaRemisionesCancelar)
resp = ObjFacturaCancelacion.CancelarFactura(ChkDevAlm.Checked, ListaRemisionesCancelar, CveMotivoCancelacion:=DdlMotivoCancelacion.SelectedValue.ToEntero(), Motivo:=TxtMotivoCancelacion.Text.Trim())
End If
SWatch.Stop()
@@ -24946,6 +25027,8 @@ Partial Class Ventas
'RegistraScript("$('#ModalSaldarVenta').modal('hide')", "ModalSaldarVentaHidde")
Dim ObjConta As New ClsContabilidad
ObjConta.IniciaTransacSQL()
Dim CvePrePoliza As Integer = 0
@@ -24979,19 +25062,55 @@ Partial Class Ventas
'End If
' ObjIE.Dispose()
Dim IdCtaContable As Integer = IdCtaContClientes
Dim PorcentajePago As Decimal = SaldoVenta / TxtTotal.Text.ToDecimal
Dim Saldo As Decimal = SaldoVenta
Dim SubTotal As Decimal = PorcentajePago * TxtSubTotal.Text.ToDecimal
Dim IVA As Decimal = PorcentajePago * TxtIVA.Text.ToDecimal
Dim IEPS As Decimal = PorcentajePago * TxtIEPS.Text.ToDecimal
Dim TCVenta As Decimal = TxtTipoCambio.Text.ToDecimal
Dim FechaVenta As Date = TxtFecha.Text.ToDate
Dim FechaPago As Date = TxtFechaSaldarVenta.Text.ToDate
Dim tCveMoneda As Integer = DdlMoneda.SelectedValue.ToEntero()
Dim TCPago As Decimal = GlobalTipoCambio(TxtFechaSaldarVenta.Text.ToDate).FormatoNumero(4).ToDecimal
Dim Total As Decimal = 0
Dim Saldo As Decimal = 0
Dim SubTotal As Decimal
Dim IVA As Decimal
Dim IEPS As Decimal
Dim Descuentos As Decimal
Dim TCVenta As Decimal
Dim FechaVenta As Date
Dim FechaPago As Date = Request("FechaSaldar").ToDate
Dim tCveMoneda As Integer
Dim PorcentajePago As Decimal
Dim SerieFolio As String = ""
Dim CveSubProyecto As Integer
Dim CveClasificacion As Integer
Dim PorcentajeImpuesto As Decimal = 0
ViewState("CveVenta") = IfNull(Request("CveVenta"), 0).ToString.ToEntero
Dim Obj As New ClsVentas
If Obj.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
Dim DbRowVenta As DataRow = Obj.DtResultados.FiltroPrimero("")
ViewState("SaldoVenta") = DbRowVenta("Saldo").ToString()
Total = DbRowVenta("Total").ToString.ToDecimal
SubTotal = DbRowVenta("Saldo").ToString.ToDecimal
SerieFolio = DbRowVenta("SerieFolio").ToString
Saldo = SaldoVenta
PorcentajePago = SaldoVenta / Total
IVA = PorcentajePago * DbRowVenta("IVA").ToString.ToDecimal
IEPS = PorcentajePago * DbRowVenta("IEPS").ToString.ToDecimal
Descuentos = PorcentajePago * DbRowVenta("Descuento").ToString.ToDecimal
TCVenta = DbRowVenta("TipoCambio").ToString.ToDecimal
FechaVenta = DbRowVenta("Fecha").ToString.ToDate
' FechaPago = TxtFechaSaldarVenta.Text.ToDate
tCveMoneda = DbRowVenta("CveMoneda").ToString.ToEntero
ViewState("CveCliente") = DbRowVenta("CveCliente").ToString.ToEntero
CveSubProyecto = DbRowVenta("CveSubProyecto").ToString.ToEntero
PorcentajeImpuesto = DbRowVenta("PorcentajeIVA").ToString.ToDecimal
If Obj.GetVentaDetalle(CveVenta) Then
CveClasificacion = Obj.DtResultados.MAX("CveClasificacion").ToEntero
End If
SubTotal = Saldo - IVA - IEPS
End If
Obj.Dispose()
Dim TCPago As Decimal = GlobalTipoCambio(FechaPago).FormatoNumero(4).ToDecimal
Dim CveConceptoDeduccion As Integer = 211
@@ -25009,9 +25128,8 @@ Partial Class Ventas
Dim CveConceptoCliente As Integer = 2
Dim ImpuestosMovto As Boolean = False
Dim IdCuentaContableNoDeducible As Integer = 0
Dim SerieFolio As String = LblSerie.Text & "-" & TxtFolio.Text
Dim ConceptoPartida As String = "saldado " & SerieFolio
Dim CveSubProyecto As Integer = DdlSubProyectoDatos.SelectedValue.ToEntero()
If CveConceptoDeduccion = 255 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(266).ToEntero()
If CveConceptoDeduccion = 211 Then IdCuentaContableNoDeducible = UsuarioActual.Empresa.Funcionalidad(559).ToEntero()
@@ -25029,8 +25147,8 @@ Partial Class Ventas
Dim UsaComplementaria As Boolean = True
If MsgError = "" Then
CvePrePoliza = ObjConta.AddPrePolizas("Ventas/Saldarr", 47, SaldoVenta, SaldoVenta, tCveMoneda, TxtFechaSaldarVenta.Text.ToDate, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If MsgError = "" AndAlso Saldo > 0 Then
CvePrePoliza = ObjConta.AddPrePolizas("Ventas/Saldarr", 47, SaldoVenta, SaldoVenta, tCveMoneda, FechaPago, ConceptoPartida, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If tCveMoneda = 2 Then
IdCtaContable = IdCtaContMonedaExtranjera
@@ -25074,10 +25192,6 @@ Partial Class Ventas
End If
' iva
Dim PorcentajeImpuesto As Decimal = DdlIVA.SelectedValue.ToEntero()
Dim IdCtaIVAXTrasladar As Integer = 0
If GlobalDTClasificacionPorcentaje(UsuarioActual.CveEmpresa, PorcentajeIVA:=PorcentajeImpuesto).Rows.Count > 0 Then
@@ -25094,10 +25208,14 @@ Partial Class Ventas
End If
'al gasto,Subtotal
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, SubtotalMovto, SubTotal, SerieFolio, CveConceptoDeduccion, ConceptoPartida, FechaPago, IdCuentaContableNoDeducible, -1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=SubTotal, CveCuenta:=-1, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=DdlSubProyectoDatos.SelectedValue.ToEntero()) Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, SubtotalMovto, SubTotal, SerieFolio, CveConceptoDeduccion, ConceptoPartida, FechaPago, IdCuentaContableNoDeducible, -1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=SubTotal, CveCuenta:=-1, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveSubProyecto:=CveSubProyecto) Then
MsgError = "Ocurrio un error al saldar el movimiento"
End If
'If Descuentos > 0 AndAlso Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, Not SubtotalMovto, Descuentos, SerieFolio, 103, ConceptoPartida, FechaPago, IdCuentaContableNoDeducible, -1, CveCliente:=CveCliente, CveVenta:=CveVenta, ImporteMX:=Descuentos, CveCuenta:=-1, TipoCambio:=TCVenta, TipoCambioPago:=TCPago, CveClasificacion:=CveClasificacion, CveSubProyecto:=CveSubProyecto) Then
' MsgError = "Ocurrio un error al saldar el movimiento"
'End If
If ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 5) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
MsgError = ObjConta.MensajePolizaDescuadre + " " + ObjConta.ValorDiferencia
@@ -25105,6 +25223,8 @@ Partial Class Ventas
End If
End If
Else
MsgError = "Saldo Cero"
End If