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) SqlAdapter.Fill(Data)
retorno = True retorno = True
Catch ex As Exception 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 End Try
Return retorno Return retorno
End Function 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, 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 Optional CveClasificacion2 As Integer = -1, Optional CveTipoAlmacen As String = "-1", Optional Modalidad As Integer = -1) As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
@@ -1745,8 +1745,8 @@ Public Class ClsInventarios
.Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto .Add("@CveConcepto", SqlDbType.Int).Value = CveConcepto
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor .Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
.Add("@Almacenes", SqlDbType.VarChar).Value = Almacenes .Add("@Almacenes", SqlDbType.VarChar).Value = Almacenes
.Add("@CveFamilia", SqlDbType.Int).Value = CveFamilia .Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
.Add("@CveSubFamilia", SqlDbType.Int).Value = CveSubFamilia ' .Add("@CveSubFamilia", SqlDbType.Int).Value = CveSubFamilia
.Add("@CvePS", SqlDbType.Int).Value = CvePS .Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca .Add("@CveMarca", SqlDbType.Int).Value = CveMarca

View File

@@ -1141,7 +1141,7 @@ Public Class ClsPaginas
End Set End Set
End Property 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 Get
If HttpContext.Current.Application("GlobalDTSATMotivosCancelacion") Is Nothing Then If HttpContext.Current.Application("GlobalDTSATMotivosCancelacion") Is Nothing Then
Using ObjGral As New ClsGenerales Using ObjGral As New ClsGenerales
@@ -1151,13 +1151,13 @@ Public Class ClsPaginas
End Using End Using
End If End If
If CveMotivoCancelacion <> -1 OrElse CodigoSAT <> "-1" Then If CveSATMotivoCancelacion <> -1 OrElse CodigoSAT <> "-1" Then
Dim StrSQL As New StringBuilder Dim StrSQL As New StringBuilder
StrSQL.Append("1=1") 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) 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 GlobalDTSATMotivosCancelacion = Dv.ToTable
Dv.Dispose() Dv.Dispose()
Else Else
@@ -1169,6 +1169,47 @@ Public Class ClsPaginas
HttpContext.Current.Application("GlobalDTSATMotivosCancelacion") = value HttpContext.Current.Application("GlobalDTSATMotivosCancelacion") = value
End Set End Set
End Property 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 Property GlobalDTEstatusOrdenCompra() As DataTable
Get Get
GlobalDTEstatusOrdenCompra = DirectCast(Application("GlobalDTEstatusOrdenCompra"), DataTable) GlobalDTEstatusOrdenCompra = DirectCast(Application("GlobalDTEstatusOrdenCompra"), DataTable)
@@ -2511,19 +2552,29 @@ Public Class ClsPaginas
#Region "***********************************************************************DT GENERALES**************************************************************************************" #Region "***********************************************************************DT GENERALES**************************************************************************************"
Property GlobalDTGralCategorias(CveEmpresa As Integer) As DataTable Property GlobalDTGralCategorias(CveEmpresa As Integer) As DataTable
Get Get
If CveEmpresa <> -1 Then Dim AppNombre As String = String.Format("GlobalDTGralCategorias-{0}", CveEmpresa)
Dim Dv As New DataView(DirectCast(Application("GlobalDTGralCategorias"), DataTable), String.Format("CveEmpresa = {0}", CveEmpresa), "", DataViewRowState.CurrentRows) 'sino existe, recarga los datos
GlobalDTGralCategorias = Dv.ToTable If DirectCast(Application(AppNombre), DataTable) Is Nothing Then
Dv.Dispose() Dim ObjGenerales As New ClsGenerales
Else If ObjGenerales.GetCategorias(CveEmpresa) Then Application(AppNombre) = ObjGenerales.DtResultados Else Application(AppNombre) = Nothing
GlobalDTGralCategorias = DirectCast(Application("GlobalDTGralCategorias"), DataTable) ObjGenerales.Dispose()
End If 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 End Get
Set(value As DataTable) Set(value As DataTable)
Application("GlobalDTGralCategorias") = value Dim AppNombre As String = String.Format("GlobalDTGralCategorias-{0}", CveEmpresa)
Application(AppNombre) = value
End Set End Set
End Property End Property
Property GlobalDTGralCategorias2(CveEmpresa As Integer) As DataTable Property GlobalDTGralCategorias2(CveEmpresa As Integer) As DataTable

View File

@@ -241,6 +241,26 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function 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 Public Function GetVentaComplementos() As Boolean
Dim Retorno As Boolean = False Dim Retorno As Boolean = False
DataAdapter("PA_Vta_ComplementosGet") DataAdapter("PA_Vta_ComplementosGet")
@@ -2735,9 +2755,9 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function 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 Dim Retorno As Boolean = False
DataAdapter("Vta_RepRemisionesGet") DataAdapter("PA_Vta_RepRemisionesGet")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@FechaI", SqlDbType.VarChar).Value = FechaI .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
@@ -2749,6 +2769,7 @@ Public Class ClsVentas
.Add("@CveVendedor", SqlDbType.VarChar).Value = CveVendedor .Add("@CveVendedor", SqlDbType.VarChar).Value = CveVendedor
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
.Add("@ConsultaInventario", SqlDbType.Bit).Value = ConsultaInventario
End With End With
Try Try
@@ -2760,9 +2781,9 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function 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 Dim Retorno As Boolean = False
DataAdapter("Vta_RepRemisionesDetalleGet") DataAdapter("PA_Vta_RepRemisionesDetalleGet")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
.Add("@FechaI", SqlDbType.VarChar).Value = FechaI .Add("@FechaI", SqlDbType.VarChar).Value = FechaI
@@ -2774,6 +2795,7 @@ Public Class ClsVentas
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto .Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto
.Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta .Add("@CveUsuarioConsulta", SqlDbType.Int).Value = CveUsuarioConsulta
.Add("@ConsultaInventario", SqlDbType.Bit).Value = ConsultaInventario
End With End With
Try Try
@@ -2848,7 +2870,7 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function 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 Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasUtilidadGet") DataAdapter("PA_Vta_VentasUtilidadGet")
@@ -2860,6 +2882,7 @@ Public Class ClsVentas
.Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto .Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CvePS", SqlDbType.Int).Value = CvePS .Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca .Add("@CveMarca", SqlDbType.Int).Value = CveMarca
End With End With
@@ -2876,7 +2899,7 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function 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 Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasUtilidadDetalleGet") DataAdapter("PA_Vta_VentasUtilidadDetalleGet")
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters
@@ -2888,6 +2911,7 @@ Public Class ClsVentas
.Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto .Add("@CveSubProyecto", SqlDbType.VarChar).Value = CveSubProyecto
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@CvePS", SqlDbType.Int).Value = CvePS .Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca .Add("@CveMarca", SqlDbType.Int).Value = CveMarca
End With End With
@@ -2907,7 +2931,7 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function 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 Dim Retorno As Boolean = False
DataAdapter("PA_Vta_RepVentasUtilidadGet") DataAdapter("PA_Vta_RepVentasUtilidadGet")
@@ -2920,6 +2944,7 @@ Public Class ClsVentas
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
.Add("@Gpo", SqlDbType.Int).Value = Gpo .Add("@Gpo", SqlDbType.Int).Value = Gpo
.Add("@CvePS", SqlDbType.Int).Value = CvePS .Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@CveCategoria", SqlDbType.Int).Value = CveCategoria
.Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion .Add("@CveClasificacion", SqlDbType.Int).Value = CveClasificacion
.Add("@CveMarca", SqlDbType.Int).Value = CveMarca .Add("@CveMarca", SqlDbType.Int).Value = CveMarca
End With End With
@@ -3036,6 +3061,24 @@ Public Class ClsVentas
Return OnError Return OnError
End Function 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 Public Function GetFacturasCanceladasPendientesWS(RFC As String, CveEmpresa As Integer, Optional showalert As Boolean = True) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
Try Try
@@ -3075,6 +3118,8 @@ Public Class ClsVentas
Return retorno Return retorno
End Function End Function
Public Function UpdateVentaFacturas(CveFactura As Integer, CveVenta As Integer, CveEmpresa As Integer) As Boolean Public Function UpdateVentaFacturas(CveFactura As Integer, CveVenta As Integer, CveEmpresa As Integer) As Boolean
Dim OnError As Boolean = False Dim OnError As Boolean = False

View File

@@ -4585,7 +4585,7 @@ Namespace Modelos
End If End If
ObjVentas.Dispose() 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 End Function
''' <summary> ''' <summary>
''' Cancela la factura para poder realizar la refacturacion ''' Cancela la factura para poder realizar la refacturacion
@@ -4600,9 +4600,9 @@ Namespace Modelos
''' <param name="RealizarDevolucionAlmacen"></param> ''' <param name="RealizarDevolucionAlmacen"></param>
''' <param name="ListaRemisionesCancelar"></param> ''' <param name="ListaRemisionesCancelar"></param>
''' <returns></returns> ''' <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 '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 End Function
Private Function CancelarVenta(ObjFactura As Modelos.Factura, UsuarioActual As Usuario, Optional EsRefacturacion As Boolean = False, Optional RealizarDevolucionAlmacen As Boolean = False, 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 RequiereAceptacion As Boolean = False
Dim Mensaje As String = "" 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 'SI YA ESTA TIMBRADA, NUEVO PROCESO REFACTURACION, ASIGNA LA CANCELACION PENDIENTE
If EsRefacturacion AndAlso Me.CveEstatusFactura = 3 AndAlso CveMotivoCancelacion > 0 Then If EsRefacturacion AndAlso Me.CveEstatusFactura = 3 AndAlso CveMotivoCancelacion > 0 Then
CveEstatusFacturaAsignado = 23 CveEstatusFacturaAsignado = 23
@@ -4792,7 +4801,7 @@ Namespace Modelos
If CveEstatusFacturaAsignado <= 0 Then If CveEstatusFacturaAsignado <= 0 Then
Try 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 If ObjFactura.TipoDocto.Contiene("Ing", "Ant", "Dev", "Egs") Then
'VERIFICA SI DEBE VALIDAR ANTE EL SAT 'VERIFICA SI DEBE VALIDAR ANTE EL SAT
@@ -4872,7 +4881,7 @@ Namespace Modelos
If Not ObtenerAcuse Then If Not ObtenerAcuse Then
If ContinuarCancelacion 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 'GENERAMOS EL ACUSE Y MANDAMOS MAIL DE CON EL ACUSE DE CANCELACIÓN
If RequiereAceptacion Then If RequiereAceptacion Then
CancelacionFecha = Now.Date CancelacionFecha = Now.Date

View File

@@ -9,7 +9,7 @@ Imports System.Xml
Imports System.Data Imports System.Data
Imports System.Xml.Serialization Imports System.Xml.Serialization
Imports System.Net Imports System.Net
Imports ProfactCartaPorte = Profact.TimbraCFDI33.Complementos.CartaPorte10 Imports ProfactCartaPorte = Profact.TimbraCFDI33.Complementos.CartaPorte20
Public Class Timbrado Public Class Timbrado
@@ -29,20 +29,42 @@ Public Class Timbrado
Public Property EstatusCancelacion As String Public Property EstatusCancelacion As String
End Class 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 #End Region
Public Shared Function VerificarVigenciaSAT(uuid As String, emisor As String, receptor As String, total As String, produccion As Boolean) As AcuseCancelacionSAT 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 Retorno As AcuseCancelacionSAT = Nothing
Dim resp As Cancelacion.AcuseSat = New Cancelacion.AcuseSat() Dim resp As Cancelacion2022.AcuseSat = New Cancelacion2022.AcuseSat()
Using ws As Cancelacion.CancelacionSoapClient = New Cancelacion.CancelacionSoapClient Using ws As Cancelacion2022.CancelacionSoapClient = New Cancelacion2022.CancelacionSoapClient
Try Try
If Not produccion Then If Not produccion Then
Dim PACUsuario As String = "rene.molina@adsistemas.mx" Dim PACUsuario As String = "UserTest"
Dim PACContrasenia As String = "rene2018" Dim PACContrasenia As String = "1234567890"
resp = ws.ConsultaVigenciaTest(emisor, PACUsuario, PACContrasenia, uuid, receptor, total) resp = ws.ConsultaVigenciaTest(emisor, PACUsuario, PACContrasenia, uuid, receptor, total)
Retorno = New AcuseCancelacionSAT() Retorno = New AcuseCancelacionSAT()
Else 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() Retorno = New AcuseCancelacionSAT()
End If End If
Catch ex As Exception Catch ex As Exception
@@ -61,7 +83,53 @@ Public Class Timbrado
End Using End Using
Return Retorno Return Retorno
End Function 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 Retorno As Boolean = False
Dim MsgCancelacion As New StringBuilder Dim MsgCancelacion As New StringBuilder
@@ -80,9 +148,9 @@ Public Class Timbrado
Dim CodigoSATMotivoCancelacion As String = "" Dim CodigoSATMotivoCancelacion As String = ""
If CveMotivoCancelacion > 0 Then If CveSATMotivoCancelacion > 0 Then
If ClsPaginas.GlobalDTSATMotivosCancelacion(CveMotivoCancelacion) IsNot Nothing AndAlso ClsPaginas.GlobalDTSATMotivosCancelacion(CveMotivoCancelacion).Rows.Count > 0 Then If ClsPaginas.GlobalDTSATMotivosCancelacion(CveSATMotivoCancelacion) IsNot Nothing AndAlso ClsPaginas.GlobalDTSATMotivosCancelacion(CveSATMotivoCancelacion).Rows.Count > 0 Then
CodigoSATMotivoCancelacion = ClsPaginas.GlobalDTSATMotivosCancelacion(CveMotivoCancelacion).Rows(0)("CodigoSAT").ToString() CodigoSATMotivoCancelacion = ClsPaginas.GlobalDTSATMotivosCancelacion(CveSATMotivoCancelacion).Rows(0)("CodigoSAT").ToString()
End If End If
End If End If
@@ -423,12 +491,12 @@ Public Class Timbrado
UrlServicio = "http://alterno.gofac.com.mx/cfdi/timbrado.asmx?WSDL" ' alterno UrlServicio = "http://alterno.gofac.com.mx/cfdi/timbrado.asmx?WSDL" ' alterno
If Not Empresa.FacturaProduccion Then If Not Empresa.FacturaProduccion Then
ArchivoLLave = $"{Empresa.Ruta}Certificados\CSD01_AAA010101AAA.key" ArchivoLLave = $"{Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.key"
ArchivoCertificado = $"{Empresa.Ruta}Certificados\CSD01_AAA010101AAA.cer" ArchivoCertificado = $"{Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.cer"
UsuarioServicio = "UserTest" UsuarioServicio = "UserTest"
ClaveServicio = "1234567890" ClaveServicio = "1234567890"
UrlServicio = "http://juancalderon-001-site6.ftempurl.com/cancelacion.asmx?WSDL" 'UrlServicio = "http://juancalderon-001-site6.ftempurl.com/cancelacion.asmx?WSDL"
End If End If
@@ -3249,7 +3317,7 @@ Public Class Timbrado
ArchivoLLave = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.key" ArchivoLLave = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.key"
ArchivoCertificado = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_ZUÑ920208KL4.cer" 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 End If
@@ -3821,49 +3889,46 @@ Public Class Timbrado
If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then If ObjCFDITimbre.Complementos.CartaPorte IsNot Nothing Then
Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte
''DATOS GENERALES ''DATOS GENERALES
Dim Carta As CFDICartaPorte = ObjCFDITimbre.Complementos.CartaPorte
Dim ComCartaPorte = New ProfactCartaPorte.CartaPorte() Dim ComCartaPorte = New ProfactCartaPorte.CartaPorte()
ComCartaPorte.TranspInternac = CType([Enum].Parse(GetType(ProfactCartaPorte.CartaPorteTranspInternac), Carta.TranspInternac), ProfactCartaPorte.CartaPorteTranspInternac) ComCartaPorte.TranspInternac = CType([Enum].Parse(GetType(ProfactCartaPorte.CartaPorteTranspInternac), Carta.TranspInternac), ProfactCartaPorte.CartaPorteTranspInternac)
ComCartaPorte.EntradaSalidaMercSpecified = False ComCartaPorte.EntradaSalidaMercSpecified = False
ComCartaPorte.ViaEntradaSalidaSpecified = False ComCartaPorte.ViaEntradaSalidaSpecified = False
ComCartaPorte.TotalDistRecSpecified = False ComCartaPorte.TotalDistRecSpecified = False
'UBICACIONES 'UBICACIONES
If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then If Carta.Ubicaciones IsNot Nothing AndAlso Carta.Ubicaciones.Count > 0 Then
Dim i As Integer = 0 Dim i As Integer = 0
ComCartaPorte.Ubicaciones = New ProfactCartaPorte.CartaPorteUbicacion(Carta.Ubicaciones.Count - 1) {} ComCartaPorte.Ubicaciones = New ProfactCartaPorte.CartaPorteUbicacion(Carta.Ubicaciones.Count - 1) {}
For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones For Each ubica As CFDICartaPorteUbicacion In Carta.Ubicaciones
'origen 'origen
ComCartaPorte.Ubicaciones(i) = New ProfactCartaPorte.CartaPorteUbicacion 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).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).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 Next
End If End If
@@ -3885,16 +3950,10 @@ Public Class Timbrado
If concep.BienesTransp <> "" Then 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).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 End If
ComCartaPorte.Mercancias.Mercancia(i).Descripcion = concep.Descripción ComCartaPorte.Mercancias.Mercancia(i).Descripcion = concep.Descripción
ComCartaPorte.Mercancias.Mercancia(i).Cantidad = concep.Cantidad ComCartaPorte.Mercancias.Mercancia(i).Cantidad = concep.Cantidad
ComCartaPorte.Mercancias.Mercancia(i).ClaveUnidadSpecified = False
ComCartaPorte.Mercancias.Mercancia(i).Unidad = concep.Unidad ComCartaPorte.Mercancias.Mercancia(i).Unidad = concep.Unidad
ComCartaPorte.Mercancias.Mercancia(i).Dimensiones = concep.Dimensiones ComCartaPorte.Mercancias.Mercancia(i).Dimensiones = concep.Dimensiones
If concep.ClaveMaterialPeligroso <> "" Then If concep.ClaveMaterialPeligroso <> "" Then
@@ -3906,48 +3965,108 @@ Public Class Timbrado
End If End If
ComCartaPorte.Mercancias.Mercancia(i).DescripEmbalaje = concep.DescripEmbalaje ComCartaPorte.Mercancias.Mercancia(i).DescripEmbalaje = concep.DescripEmbalaje
ComCartaPorte.Mercancias.Mercancia(i).PesoEnKg = concep.PesoenKg ComCartaPorte.Mercancias.Mercancia(i).PesoEnKg = concep.PesoenKg
ComCartaPorte.Mercancias.Mercancia(i).ValorMercanciaSpecified = False ComCartaPorte.Mercancias.Mercancia(i).ValorMercanciaSpecified = False
ComCartaPorte.Mercancias.Mercancia(i).MonedaSpecified = False ComCartaPorte.Mercancias.Mercancia(i).MonedaSpecified = False
ComCartaPorte.Mercancias.Mercancia(i).FraccionArancelariaSpecified = False ComCartaPorte.Mercancias.Mercancia(i).FraccionArancelariaSpecified = False
ComCartaPorte.Mercancias.Mercancia(i).UUIDComercioExt = concep.UUIDComercioExt 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 i += 1
Next Next
End If End If
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 IsNot Nothing Then
If Carta.FiguraTransporte.AutoTransporte 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 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 End If
ComCartaPorte.Mercancias.AutotransporteFederal.NumPermisoSCT = Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT ComCartaPorte.Mercancias.Autotransporte.NumPermisoSCT = Carta.FiguraTransporte.AutoTransporte.NumPermisoSCT
'pendiente RMF 'pendiente RMF
'ComCartaPorte.Mercancias.AutotransporteFederal.NombreAseg = Carta.FiguraTransporte.AutoTransporte.NombreAseg 'ComCartaPorte.Mercancias.AutotransporteFederal.NombreAseg = Carta.FiguraTransporte.AutoTransporte.NombreAseg
'ComCartaPorte.Mercancias.AutotransporteFederal.NumPolizaSeguro = Carta.FiguraTransporte.AutoTransporte.NumPolizaSeguro '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.ConfigVehicular = CType([Enum].Parse(GetType(ProfactCartaPorte.c_ConfigAutotransporte), Carta.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular), ProfactCartaPorte.c_ConfigAutotransporte)
ConfigVehicular.AnioModeloVM = Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM ConfigVehicular.AnioModeloVM = Carta.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM
ConfigVehicular.PlacaVM = Carta.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM 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 If Carta.FiguraTransporte.AutoTransporte.Remolques IsNot Nothing AndAlso Carta.FiguraTransporte.AutoTransporte.Remolques.Count > 0 Then
Dim i As Integer = 0 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 For Each concep As CFDICartaPorteRemolque In Carta.FiguraTransporte.AutoTransporte.Remolques
ComCartaPorte.Mercancias.AutotransporteFederal.Remolques(i) = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteFederalRemolque ComCartaPorte.Mercancias.Autotransporte.Remolques(i) = New ProfactCartaPorte.CartaPorteMercanciasAutotransporteRemolque
ComCartaPorte.Mercancias.AutotransporteFederal.Remolques(i).SubTipoRem = CType([Enum].Parse(GetType(ProfactCartaPorte.c_SubTipoRem), concep.SubTipoRemolque), ProfactCartaPorte.c_SubTipoRem) ComCartaPorte.Mercancias.Autotransporte.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).Placa = concep.Placa
i += 1 i += 1
Next Next
' '
@@ -3956,25 +4075,25 @@ Public Class Timbrado
If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then If Carta.FiguraTransporte.Operadores IsNot Nothing AndAlso Carta.FiguraTransporte.Operadores.Count > 0 Then
Dim i As Integer = 0 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 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(i) = New ProfactCartaPorte.CartaPorteTiposFigura
ComCartaPorte.FiguraTransporte.Operadores(i).NumLicencia = concep.NumLicencia ComCartaPorte.FiguraTransporte(i).RFCFigura = concep.RFCFigura
ComCartaPorte.FiguraTransporte.Operadores(i).NombreOperador = concep.NombreFigura ComCartaPorte.FiguraTransporte(i).NumLicencia = concep.NumLicencia
ComCartaPorte.FiguraTransporte.Operadores(i).NumRegIdTribOperador = concep.NumRegidTribFigura ComCartaPorte.FiguraTransporte(i).NombreFigura = concep.NombreFigura
ComCartaPorte.FiguraTransporte(i).NumRegIdTribFigura = concep.NumRegidTribFigura
'OComCartaPorte.FiguraTransporte.Operadores(i)(0) = concep.ResidenciaFiscalOperador 'falta 'OComCartaPorte.FiguraTransporte.Operadores(i)(0) = concep.ResidenciaFiscalOperador 'falta
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio = New ProfactCartaPorte.CartaPorteFiguraTransporteOperadoresOperadorDomicilio() ComCartaPorte.FiguraTransporte(i).Domicilio = New ProfactCartaPorte.CartaPorteTiposFiguraDomicilio()
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Calle = concep.Domicilio.Calle ComCartaPorte.FiguraTransporte(i).Domicilio.Calle = concep.Domicilio.Calle
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.CodigoPostal = "25350" 'concep.Domicilio.CP ComCartaPorte.FiguraTransporte(i).Domicilio.CodigoPostal = concep.Domicilio.CP
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Colonia = "0347" ComCartaPorte.FiguraTransporte(i).Domicilio.Colonia = concep.Domicilio.Colonia
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Estado = "COA" ComCartaPorte.FiguraTransporte(i).Domicilio.Estado = concep.Domicilio.Estado
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Localidad = "23" ComCartaPorte.FiguraTransporte(i).Domicilio.Localidad = concep.Domicilio.Localidad
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Municipio = "004" ComCartaPorte.FiguraTransporte(i).Domicilio.Municipio = concep.Domicilio.Municipio
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.NumeroExterior = "728" ComCartaPorte.FiguraTransporte(i).Domicilio.NumeroExterior = concep.Domicilio.NumeroExterior
ComCartaPorte.FiguraTransporte.Operadores(i).Domicilio.Pais = ProfactCartaPorte.c_Pais.MEX ComCartaPorte.FiguraTransporte(i).Domicilio.Pais = ProfactCartaPorte.c_Pais.MEX
i += 1 i += 1
Next 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>

View File

@@ -6622,8 +6622,9 @@ Partial Class Bancos_IE
End If End If
Else Else
Dim CveSATMotivoCancelacion As Integer = GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa, CveSATMotivoCancelacion:=2).FiltroPrimeroValor("CveSATMotivoCancelacion").ToEntero()
If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion) Then If ObjCancelacion.CFDICancelar(UsuarioActual.Empresa, FolioFiscalCancelar, 0, RFCReceptorCancelar, UsuarioActual.Empresa.RFC, CvePACCancelacion, CveSATMotivoCancelacion:=CveSATMotivoCancelacion) Then
If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=ObjCancelacion.CancelacionFecha, SelloCancelacion:=ObjCancelacion.CancelacionAcuse) Then

View File

@@ -611,7 +611,7 @@ Partial Class Bancos_PopIECompras
If UsuarioActual.Empresa.UsaAC Then If UsuarioActual.Empresa.UsaAC Then
RegistraScript("if (confirm('La factura está cancelada ante el SAT., ¿Desea eliminar la compra?')) { $get('BtnEliminarCompra').click();}") RegistraScript("if (confirm('La factura está cancelada ante el SAT., ¿Desea eliminar la compra?')) { $get('BtnEliminarCompra').click();}")
Else Else
Alert("La factura está cancelada ante el SAT.") Alert("La factura está cancelada ante el SAT.", TipoMensaje.MsgError)
End If End If
Else Else
@@ -625,46 +625,44 @@ Partial Class Bancos_PopIECompras
Else Else
Validada = True 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 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 TxtFolio.Enabled = True
TxtFechaDocumento.Enabled = True TxtFechaDocumento.Enabled = True
Calendario.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")) 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 If e.Row.DBCampo("TipoComprobante") = "P" Then
e.Row.FCHyperLink("HplAgregar").Visible = False 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.GetGralMunicipios Then Application("GlobalDTGralMunicipios") = ObjGenerales.DtResultados Else Application("GlobalDTGralMunicipios") = Nothing
'If ObjGenerales.GetGralPoblaciones Then Application("GlobalDTGralPoblaciones") = ObjGenerales.DtResultados Else Application("GlobalDTGralPoblaciones") = 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.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, 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, 3) Then Application("GlobalDTCategoriasPresupuestos") = ObjGenerales.DtResultados Else Application("GlobalDTCategoriasPresupuestos") = Nothing
If ObjGenerales.GetCategorias(-1, 4) Then Application("GlobalDTCategorias2") = ObjGenerales.DtResultados Else Application("GlobalDTCategorias2") = Nothing If ObjGenerales.GetCategorias(-1, 4) Then Application("GlobalDTCategorias2") = ObjGenerales.DtResultados Else Application("GlobalDTCategorias2") = Nothing

View File

@@ -933,9 +933,6 @@ Partial Class Inventarios_EntregaAlmacen
'código temporal 'código temporal
Dim AplicaSerie As Boolean = CBool(e.Row.DBCampo("AplicaSerie")) 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
If AplicaSerie Then If AplicaSerie Then
e.Row.FCButton("BtnSerie").Visible = True e.Row.FCButton("BtnSerie").Visible = True

View File

@@ -105,9 +105,9 @@
<div class="col-md-2"> <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> <asp:DropDownList ID="DdlMoneda" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataTextField="Moneda" DataValueField="CveMoneda"></asp:DropDownList>
</div> </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"> <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="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Con Movimientos" Value="2"></asp:ListItem> <asp:ListItem Text="Con Movimientos" Value="2"></asp:ListItem>
<asp:ListItem Text="Sin Movimientos" Value="5"></asp:ListItem> <asp:ListItem Text="Sin Movimientos" Value="5"></asp:ListItem>
@@ -121,17 +121,24 @@
<div class="col-md-2"> <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> <asp:DropDownList ID="DdlProveedor" runat="server" CssClass="form-control input-sm select2me" Width="100%" DataValueField="CveProveedor" DataTextField="RazonSocial"></asp:DropDownList>
</div> </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-1 truncate">Clasificación</div>
<div class="col-md-2"> <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> <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>
<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"> <div class="col-md-2">
<ADS:Dropdownlost runat="server" ID="DdlPS" CssStyle="width: 100%;" CssClass="DdlPS" CssClassDdl="select2me " DataTextField="PSCodigo" DataValueField="CvePS" /> <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>--%> <%--<asp:DropDownList ID="DdlPS" CssClass="form-control input-sm select2me" runat="server" Width="100%" DataTextField="PS" DataValueField="CvePS"></asp:DropDownList>--%>
</div> </div>
<div runat="Server" id="DivMarca"> <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"> <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> <asp:DropDownList ID="DdlMarca" runat="server" CssClass="form-control input-sm select2me" Width="100%" DataValueField="CveMarca" DataTextField="Marca"></asp:DropDownList>
</div> </div>
@@ -164,10 +171,7 @@
</div> </div>
<div id="DivFamiliaSubFamilia" style="display:none" class="row" runat="server" visible="false"> <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-1 truncate" >SubFamilia</div>
<div class="col-md-2"> <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> <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 Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
If Not IsPostBack Then If Not IsPostBack Then
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DivFamiliaSubFamilia.Visible = True
End If
If UsuarioActual.CveEmpresa.Contiene(119) Then If UsuarioActual.CveEmpresa.Contiene(119) Then
LnkFormatoInventario.Visible = True LnkFormatoInventario.Visible = True
End If End If
@@ -144,26 +140,25 @@ Partial Class Inventarios_ReporteEntradasSalidas
DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1")) DdlClasificacion.Items.Insert(0, New ListItem("Todos", "-1"))
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
DdlFamilia.DataSource = GlobalDTFamilias(UsuarioActual.CveEmpresa) DdlCategoria.DataBind()
DdlFamilia.DataBind()
End If DdlCategoria.Items.Insert(0, New ListItem("Todas", "-1"))
DdlFamilia.Items.Insert(0, New ListItem("Todas", "-1"))
DdlSubFamilia.Items.Insert(0, New ListItem("Todas", "-1")) DdlSubFamilia.Items.Insert(0, New ListItem("Todas", "-1"))
'Carga Productos 'Carga Productos
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") DdlPS.setEsWebService(True)
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then 'If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue) DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.SelectedText = "" DdlPS.SelectedText = ""
DdlPS.SelectedValue = "-1" DdlPS.SelectedValue = "-1"
Else 'Else
DdlPS.ddl.Items.Clear() ' DdlPS.ddl.Items.Clear()
DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero) ' DdlPS.ddl.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero)
DdlPS.ddl.DataBind() ' DdlPS.ddl.DataBind()
DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1")) ' DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
End If 'End If
DdlMovs.SelectedValue = "2" DdlMovs.SelectedValue = "2"
@@ -190,12 +185,10 @@ Partial Class Inventarios_ReporteEntradasSalidas
DdlTipoAlmacen.Items.Insert(0, New ListItem("Todos", "-1")) DdlTipoAlmacen.Items.Insert(0, New ListItem("Todos", "-1"))
End Sub End Sub
Protected Sub DdlFamilia_SelectedIndexChanged(sender As Object, e As EventArgs) Protected Sub DdlCategoria_SelectedIndexChanged(sender As Object, e As EventArgs)
DdlSubFamilia.DataSource = GlobalDTSubFamilias(UsuarioActual.CveEmpresa, DdlFamilia.SelectedValue.ToEntero) DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa, CveCategoria:=DdlCategoria.SelectedValue.ToEntero)
DdlSubFamilia.DataBind() DdlClasificacion.DataBind()
DdlSubFamilia.Items.Insert(0, New ListItem("Todas", "-1")) DdlClasificacion.Items.Insert(0, New ListItem("Todas", "-1"))
End Sub End Sub
Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click Protected Sub btConsultar_Click(sender As Object, e As EventArgs) Handles btConsultar.Click
CargaDatos() CargaDatos()
@@ -218,7 +211,7 @@ Partial Class Inventarios_ReporteEntradasSalidas
End If End If
If Reporte.RepMovimientos(UsuarioActual.CveEmpresa, DdlMoneda.SelectedValue.ToEntero, FechaInicial, FechaFinal, DdlTipoMovimiento.SelectedValue.ToEntero, DdlProveedor.SelectedValue.ToEntero, 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, DdlMovs.SelectedValue.ToEntero, CveMarca, CvePersonal:=DdlPersonal.SelectedValue.ToEntero, CveClasificacion2:=DdlClasificacion2.SelectedValue.ToEntero, CveTipoAlmacen:=TipoAlmacen,
Modalidad:=DdlModalidadFiltro.SelectedValue.ToEntero) Then Modalidad:=DdlModalidadFiltro.SelectedValue.ToEntero) Then
dt = Reporte.DtResultados 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 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 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 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 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 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}" 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") Dim tSerie As String = If(TxtnSerie.Visible, TxtnSerie.Text, "-1")
If UsuarioActual.CveEmpresa = 140 Then 'If UsuarioActual.CveEmpresa = 140 Then
Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").ToEntero ' 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 ' If Not CveSubProyecto.Contiene(11791, 11793, 11993, 11994, 11794, 11797, 11795, 12010, 12011) Then
tSerie = "-1" ' tSerie = "-1"
End If ' End If
End If 'End If
Dim Valido = ValidaExistencia(Cantidad, CveProducto, DdlUnidad.SelectedValue.ToEntero, DdlSeccionAlmacen.SelectedValue.ToEntero, tSerie, tLote, tCaducidad) 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 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), "") Dim tFechaCaducidad As String = If(FechaCaducidad > MinFecha, String.Format("AND FechaCaducidad = '{0}' ", FechaCaducidad), "")
If UsuarioActual.CveEmpresa = 140 Then 'If UsuarioActual.CveEmpresa = 140 Then
Dim CveSubProyecto As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen = {DdlAlmacenOrigen.SelectedValue}").ToEntero ' 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 ' If Not CveSubProyecto.Contiene(11791, 11793, 11993, 11994, 11794, 11797, 11795, 12010, 12011) Then
Serie = "-1" ' Serie = "-1"
End If ' End If
End If 'End If
Dim ExistenciaEspecificada As Decimal = 0 Dim ExistenciaEspecificada As Decimal = 0

View File

@@ -104,7 +104,7 @@
</div> </div>
</div> </div>
<asp:GridView ID="GvRefacturaciones" runat="server" AutoGenerateColumns="false" EmptyDataText="No se encontraron solicitudes de cancelación" <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"> CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" data-sort="true" GridLines="None" Width="99%" OnRowDataBound="GvDatos_RowDataBound">
<Columns> <Columns>
<asp:BoundField HeaderText="Cliente" DataField="Nombre" ItemStyle-Width="25%" /> <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 Solicitud" DataField="FechaCambioEstatus" ItemStyle-Width="160px" />
<asp:BoundField HeaderText="Fecha Cancelacion" DataField="FechaCancelacion" 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="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:BoundField HeaderText="Motivo" DataField="MotivoCancelacion" ItemStyle-Width="25%" />
<asp:TemplateField ItemStyle-Width="35px" HeaderText="Verificar"> <asp:TemplateField ItemStyle-Width="35px" HeaderText="Verificar">
<ItemTemplate> <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> </ItemTemplate>
</asp:TemplateField> </asp:TemplateField>
<asp:HyperLinkField HeaderText="Refacturación" Text="Refacturar" DataNavigateUrlFields="CveVenta" ItemStyle-Width="100px" DataNavigateUrlFormatString="/Ventas/Ventas.aspx?CveDevolucion={0}&NuevaFactura=1" /> <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(); 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) if (Request["CveVenta"] != null && Request["CveVenta"].ToString().ToEntero() > 0)
@@ -55,7 +67,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
} }
ObjVentas.Dispose(); 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)"); var DtRefacturar = DtVentas.FiltraParametros("CveEstatusRefacturacion IN (1,3)");
if (DtRefacturar != null && DtRefacturar.Rows.Count > 0) if (DtRefacturar != null && DtRefacturar.Rows.Count > 0)
@@ -89,7 +101,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
var resp = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total); var resp = VerificarVigenciaSAT(CveVenta, CveCliente, Folio, TipoDocto, Uuid, UsuarioActual.Empresa.RFC, RFCCliente, Total);
if (resp.EnviarAcuse) if (resp.EnviarAcuse)
{ {
Alert(resp.Mensaje,TipoMensaje.MsgConfirmacion,"BtnEnviarMailCancelacion();",TextoConfirmacion:"Enviar",TextoSegundoBoton:"Cancelar"); Alert(resp.Mensaje, TipoMensaje.MsgConfirmacion, "BtnEnviarMailCancelacion();", TextoConfirmacion: "Enviar", TextoSegundoBoton: "Cancelar");
} }
else else
{ {
@@ -115,20 +127,20 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
string Folio = GvRow.DataKey("Folio"); string Folio = GvRow.DataKey("Folio");
string TipoDocto = GvRow.DataKey("TipoDocto"); string TipoDocto = GvRow.DataKey("TipoDocto");
string Nombre = GvRow.DataKey("Nombre"); string Nombre = GvRow.DataKey("Nombre");
string FolioSustitucion = GvRow.DataKey("FolioFiscalSustitucion");
if (CveVenta > 0 && Uuid != "") 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(); CargaDatos();
if (respuesta.CveEstatus.Contiene(4,5)) if (respuesta.CveEstatus.Contiene(4, 5))
{ {
HdnLigaRefacturar.Value = respuesta.LigaRefacturacion; HdnLigaRefacturar.Value = respuesta.LigaRefacturacion;
Alert(respuesta.Mensaje, JSBtnAceptar: $"RefacturarDocumento();"); Alert(respuesta.Mensaje, JSBtnAceptar: $"RefacturarDocumento();");
} }
else else
{ {
Alert(respuesta.Mensaje,TipoMensaje.MsgAdvertencia); Alert(respuesta.Mensaje, TipoMensaje.MsgAdvertencia);
} }
//if (respuesta.IrARefacturar) //if (respuesta.IrARefacturar)
@@ -144,7 +156,76 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
UPDatos.Update(); 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 = ""; HdnLigaRefacturar.Value = "";
@@ -183,7 +264,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
if (!UsuarioActual.Empresa.FacturaProduccion && (string.IsNullOrEmpty(uuid) || uuid.Contains("test"))) 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); //sb.AppendFormat("{0} <br/>", respCancelacion.Mensaje);
if (!respCancelacion.HuboError) if (!respCancelacion.HuboError)
@@ -218,7 +299,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
{ {
CveEstatus = 5; 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); //sb.AppendFormat("{0} <br/>", respCancelacion.Mensaje);
if (!respCancelacion.HuboError) if (!respCancelacion.HuboError)
@@ -308,13 +389,17 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
retorno.Mensaje = sb.ToString(); retorno.Mensaje = sb.ToString();
return retorno; 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; 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) if (EsRefacturacion)
{ {
retorno = factura.CancelarPorRefacturacion(1,""); if (CveEstatusRefacturacion > 0)
{
factura.CveEstatusRefacturacion = CveEstatusRefacturacion;
}
retorno = factura.CancelarPorRefacturacion(factura.CveMotivoCancelacion, factura.MotivoCancelacion, FolioSustitucion: FolioSustitucion);
} }
else else
{ {
@@ -372,7 +457,18 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
{ {
if (e.Row.DBCampo("PuedeRefacturar").ToString().ToEntero() == 0) 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;
} }
} }
} }
@@ -485,7 +581,7 @@ public partial class Ventas_RepCancelacionesPorRespuesta : ClsPaginas
} }
else 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);
} }
} }

View File

@@ -91,7 +91,7 @@ Partial Class RepRemisiones
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.GetSelectedValuesM).ToString
Dim ObjVentas As New ClsVentas 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() DtVentas = ObjVentas.DtResultados.Copy()
GvDatos.DataSource = DtVentas GvDatos.DataSource = DtVentas
End If End If

View File

@@ -158,7 +158,7 @@ Partial Class RepRemisionesDetalle
CveContrato = If(DdlContrato.SelectedValue.ToEntero > 0, DdlContrato.SelectedValue.ToEntero, -1) CveContrato = If(DdlContrato.SelectedValue.ToEntero > 0, DdlContrato.SelectedValue.ToEntero, -1)
CveSubProyecto = IIf(DdlSubProyectos.GetSelectedValuesM = "", "-1", DdlSubProyectos.GetSelectedValuesM).ToString 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 If CveMoneda = 1 Or CveMoneda = 2 Then
DtVentas = ObjVentas.DtResultados.FiltraParametros($"CveMoneda = {CveMoneda}") DtVentas = ObjVentas.DtResultados.FiltraParametros($"CveMoneda = {CveMoneda}")
Else Else

View File

@@ -177,6 +177,10 @@
</asp:DropDownList>--%> </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> <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>
<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"> <div class="col-md-1 truncate">
Clasificación: Clasificación:
</div> </div>

View File

@@ -38,7 +38,7 @@ Partial Class Ventas_RepVentasUtilidad
txtFechaF.Text = Now.LastDayOfMonth.ToShortDateString txtFechaF.Text = Now.LastDayOfMonth.ToShortDateString
'Carga Clientes '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 If EsWS Then
DdlClientes.setEsWebService(True) DdlClientes.setEsWebService(True)
DdlClientes.SelectedValue = "-1" DdlClientes.SelectedValue = "-1"
@@ -63,6 +63,11 @@ Partial Class Ventas_RepVentasUtilidad
DdlVendedor.Enabled = False DdlVendedor.Enabled = False
End If End If
'Cargo categorias
DdlCategoria.DataSource = GlobalDTGralCategorias(UsuarioActual.CveEmpresa)
DdlCategoria.DataBind()
'Cargo Clasificaciones 'Cargo Clasificaciones
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa) DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa)
DdlClasificacion.DataBind() DdlClasificacion.DataBind()
@@ -133,6 +138,14 @@ Partial Class Ventas_RepVentasUtilidad
txtFechaF.Text = CveGpo txtFechaF.Text = CveGpo
End Select End Select
End Sub 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 #End Region
#Region " CARGA DATOS " #Region " CARGA DATOS "
@@ -151,7 +164,7 @@ Partial Class Ventas_RepVentasUtilidad
Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.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 DtVentas = ObjVentas.DtResultados
GvDatos.DataSource = ObjVentas.DtResultados GvDatos.DataSource = ObjVentas.DtResultados
GvDatos.DataBind() GvDatos.DataBind()
@@ -302,7 +315,7 @@ Partial Class Ventas_RepVentasUtilidad
Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString Dim Sucursales As String = IIf(DdlSubProyecto.GetSelectedValuesM = "", "-1", DdlSubProyecto.GetSelectedValuesM).ToString
Dim Vendedores As String = IIf(DdlVendedor.GetSelectedValuesM = "", "-1", DdlVendedor.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 FechaInicio As String = txtFechaI.Text
Dim FechaFin As String = txtFechaF.Text Dim FechaFin As String = txtFechaF.Text

View File

@@ -79,24 +79,16 @@
</div> </div>
<div class="titlefiltros caption"> <div class="titlefiltros caption">
<div class="row"> <div class="row">
<div class="col-md-1 truncate">Grupo:</div> <div class="col-md-1 truncate">
<div class="col-md-2 truncate"> Sucursal:
<asp:DropDownList ID="DdlGrupo" runat="server" CssClass="form-control input-small input-sm select2me" Width="100%"> </div>
<asp:ListItem Text="Año Venta" Value="1"></asp:ListItem> <div class="col-md-1 " style="min-width:135px !important">
<asp:ListItem Text="Año/Mes Venta" Value="2"></asp:ListItem> <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>
<asp:ListItem Text="Fecha Venta" Value="3"></asp:ListItem> </div>
<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"> <div class="col-md-1 truncate">
Fecha Inicio: Fecha Inicio:
</div> </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;"> <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> <asp:TextBox Width="80px" ID="txtFechaI" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn "> <span class="input-group-btn ">
@@ -113,7 +105,7 @@
<div class="col-md-1 truncate"> <div class="col-md-1 truncate">
Fecha Fin: Fecha Fin:
</div> </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;"> <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> <asp:TextBox Width="80px" ID="txtFechaF" runat="server" CssClass="form-control" CausesValidation="true" MaxLength="10"></asp:TextBox>
<span class="input-group-btn "> <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="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> <ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div> </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>
</div> </div>
<div class="portlet-body" style="display: none;"> <div class="portlet-body" style="display: none;">
<div class="row"> <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"> <div class="col-md-1 truncate">
Cliente: Cliente:
</div> </div>
@@ -150,6 +152,10 @@
<div class="col-md-2 "> <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> <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>
<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"> <div class="col-md-1 truncate">
Clasificación: Clasificación:
</div> </div>

View File

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

View File

@@ -7076,6 +7076,67 @@
<asp:Label ID="LbCancelarDescripcion" runat="server"></asp:Label> <asp:Label ID="LbCancelarDescripcion" runat="server"></asp:Label>
</div> </div>
</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"> <div id="DivCanRem" runat="server" visible="false">
<h5> <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> <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>
</div> </div>
<div id="DivDevAlm" runat="server" class="row" visible="false"> <div id="DivDevAlm" runat="server" visible="false">
<h5> <h5>
<asp:CheckBox ID="ChkDevAlm" AutoPostBack="true" runat="server" OnCheckedChanged="ChkDevAlm_CheckedChanged" /><asp:Label ID="LblDevAlm" Text="Devolución Almacen" runat="server"></asp:Label> <asp:CheckBox ID="ChkDevAlm" AutoPostBack="true" runat="server" OnCheckedChanged="ChkDevAlm_CheckedChanged" /><asp:Label ID="LblDevAlm" Text="Devolución Almacen" runat="server"></asp:Label>
</h5> </h5>
@@ -7104,8 +7165,8 @@
<div class="modal-footer"> <div class="modal-footer">
<asp:UpdatePanel ID="UpFooterCancelarRemision" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpFooterCancelarRemision" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<button id="BCancelarDocumento" type="button" class="btn btn-default" data-dismiss="modal">No</button> <button id="BCancelarDocumento" type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
<asp:Button Text="Si" ID="BtnCancelarDocumento" OnClick="BtnCancelarDocumento_Click" CssClass="btn btn-primary" ValidationGroup="GrpModalCancelarDocumento" runat="server" /> <asp:Button Text="Cancelar Documento" ID="BtnCancelarDocumento" OnClick="BtnCancelarDocumento_Click" CssClass="btn btn-primary" ValidationGroup="GrpModalCancelarDocumento" runat="server" />
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
@@ -7721,7 +7782,7 @@
</div> </div>
<div id="DivMotivoRefacturacion" class="modal ADS fade" role="dialog"> <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> <ContentTemplate>
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">
@@ -7731,20 +7792,31 @@
<h4 class="modal-title" id="H1" runat="server">Motivo</h4> <h4 class="modal-title" id="H1" runat="server">Motivo</h4>
</div> </div>
<div class="modal-body"> <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"> <div class="col-md-2">
<label>Motivo:</label> <label>Motivo:</label>
</div> </div>
<div class="col-md-8"> <div class="col-md-10">
<asp:DropDownList ID="DdlMotivoCancelacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="CodigoSATDescripcion" DataValueField="CveMotivoCancelacion"> <asp:DropDownList ID="DdlMotivoRefacturacion" CssClass=" form-control input-sm select2me" runat="server" Width="100%" DataTextField="MotivoCancelacion" DataValueField="CveMotivoCancelacion">
</asp:DropDownList> </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> </div>
<div> <div class="row">
<label>Descripción:</label> <div class="col-md-2">
<asp:TextBox ID="TxtMotivoRefac" runat="server" Height="100" Width="600" TextMode="MultiLine" CausesValidation="true" MaxLength="500"></asp:TextBox> <label>Descripción:</label>
<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>
<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> </div>
<div class="modal-footer"> <div class="modal-footer">

View File

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