This commit is contained in:
2023-04-14 06:31:50 -07:00
32 changed files with 23338 additions and 23217 deletions

View File

@@ -456,7 +456,7 @@ Public Class ClsCompras
Optional AF_Medida As Integer = -1, Optional AF_TipoMantenimiento As Integer = -1, Optional Referencia As String = "", Optional OtrosGastos As Decimal = 0,
Optional RetIVA As Decimal = 0, Optional RetISR As Decimal = 0, Optional IEPSPS As Decimal = 0, Optional IEPSPSIVA As Decimal = 0,
Optional IVAPorcentaje As Decimal = 0, Optional RetIVAPorcentaje As Decimal = 0, Optional RetISRPorcentaje As Decimal = 0, Optional IEPSPSPorcentaje As Decimal = 0, Optional IEPSPSIVAPorcentaje As Decimal = 0,
Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1) As Boolean
Optional NoDeducible As Boolean = False, Optional CveContratoDetalle As Integer = -1, Optional CveCultivoCuadroDetalle As Integer = -1, Optional CveActivoFijoCompra As Integer = -1) As Boolean
Dim Retorno As Boolean = False
@@ -501,6 +501,7 @@ Public Class ClsCompras
.Add("@NoDeducible", SqlDbType.Bit).Value = NoDeducible
.Add("@CveContratoDetalle", SqlDbType.Int).Value = CveContratoDetalle
.Add("@CveCultivoCuadroDetalle", SqlDbType.Int).Value = CveCultivoCuadroDetalle
.Add("@CveActivoFijoCompra", SqlDbType.Int).Value = CveActivoFijoCompra
End With
Try

View File

@@ -2723,7 +2723,7 @@ Public Class ClsGenerales
.Add("@SeElimino", SqlDbType.Int).Value = SeElimino
.Add("@Descripcion", SqlDbType.VarChar).Value = Descripcion
.Add("@Tipo", SqlDbType.VarChar).Value = Tipo
.Add("@Id_Clave", SqlDbType.VarChar, 100).Value = Id_Clave
.Add("@Id_Clave", SqlDbType.VarChar, 1000).Value = Id_Clave
.Add("@IdPoliza", SqlDbType.Int).Value = IdPoliza
.Add("@CvePromocion", SqlDbType.Int).Value = CvePromocion
.Add("@CveUsuarioTabla", SqlDbType.Int).Value = CveUsuarioTabla

View File

@@ -3121,7 +3121,7 @@ Public Class ClsNominas
End Try
Return retorno
End Function
Public Function AddMovtoPermanente(cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As String, estatus As Boolean, CveCuenta As Integer) As Integer
Public Function AddMovtoPermanente(cveConcepto As Int32, cvePersonal As Int32, descripcion As String, tipoDescuento As Int32, valor As Double, vecesAplicar As Int32, montoLimite As Decimal, fechaInicioAplicacion As String, estatus As Boolean, CveCuenta As Integer, Optional CveIE As Integer = -1) As Integer
Dim retorno As Integer = 0
DataAdapter("PA_AddMovtoPermanente", CommandType.StoredProcedure)
@@ -3136,6 +3136,7 @@ Public Class ClsNominas
.Add("@fechaInicioAplicacion", SqlDbType.VarChar).Value = (fechaInicioAplicacion)
.Add("@estatus", SqlDbType.Bit).Value = (estatus)
.Add("@CveCuenta", SqlDbType.Int).Value = (CveCuenta)
.Add("@CveIE", SqlDbType.Int).Value = (CveIE)
.Add("@CveMovtoPermanente", SqlDbType.Int).Direction = ParameterDirection.Output
End With
Try

View File

@@ -7321,6 +7321,7 @@ Public Class ClsPaginas
Dim Importe = ""
Dim TotalLetra = ""
Dim FechaRecibo = ""
Dim ProveedorIntermediario As String = ""
Dim RegimenFiscalCodigo As String = ""
Dim CFDIVersion As String = If(UsuarioActual.Empresa.Funcionalidad(350) = "1", "4.0", "3.3")
@@ -7385,6 +7386,7 @@ Public Class ClsPaginas
CveCliente = ObjBancos.DtResultados.FiltroPrimeroValor("CveCliente").ToEntero
CveMoneda = ObjBancos.DtResultados.FiltroPrimeroValor("CveMoneda").ToEntero
FechaComprobante = ObjBancos.DtResultados.FiltroPrimeroValor("Fecha").ToDate
ProveedorIntermediario = ObjBancos.DtResultados.FiltroPrimeroValor("ProveedorIntermediario")
SerieFolio = $"{Serie}-{Folio}"
End If
ObjBancos.Dispose()
@@ -7628,6 +7630,11 @@ Public Class ClsPaginas
Else
params.Add(New ReportParameter("LogoPath", ""))
End If
If UsuarioActual.CveEmpresa = 145 Then
params.Add(New ReportParameter("ProveedorIntermediario", ProveedorIntermediario))
End If
If File.Exists($"{UsuarioActual.Empresa.Ruta}Formatos\ReciboDePago.rdlc") Then
rutaArchivo = $"{UsuarioActual.Empresa.Ruta}Formatos\ReciboDePago.rdlc"
Else

View File

@@ -5155,6 +5155,27 @@ Public Class ClsVentas
Return Retorno
End Function
Public Function GetVentasUsadosSaldosAplicar(CveVentas As String, CveCliente As Integer, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_VentasUsadosSaldosAplicarGet", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveVenta", SqlDbType.VarChar).Value = CveVentas
.Add("@CveCliente", SqlDbType.Int).Value = CveCliente
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener los saldos de las ventas con usados.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function GetVentasGarantiaPendiente(CveVenta As Integer, Fecha As DateTime, CveEmpresa As Integer) As Boolean
Dim Retorno As Boolean = False

View File

@@ -2676,7 +2676,10 @@ Namespace Modelos
Dim ImporteConcepto12 As Decimal = 0
Dim ImporteAcumulado91 As Decimal = 0
Dim CveUltimaVenta As Integer = 0
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
If tipoCambio > 1 Then
Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
ConceptoContable = 293
End If
IdCtaContable = 0
If tipoCambio = 1 Then
IdCtaContable = ObjFactura.Cliente.IdCtaContClientes
@@ -3063,11 +3066,19 @@ Namespace Modelos
If ObjFactura.DtNCVinculadas IsNot Nothing Then
For Each row2 As DataRow In ObjFactura.DtNCVinculadas.Rows
If row2("CveConceptoContable").ToString().ToEntero = 91 Then
If row2("CveConceptoContable").ToString().ToEntero.Contiene(91, 294) Then
importeMovimiento = (row2("Importe").ToString().ToDecimal * ValorMultiplicador)
sumaAmorticaciones += importeMovimiento
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
Dim CveConceptoAplicacionNC As Integer = 91
Dim CveConceptoPagoNC As Integer = 251
If tipoCambio > 1 Then
Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
CveConceptoAplicacionNC = 294
CveConceptoPagoNC = 301
End If
'CTACONTABLE
'IdCtaContable = IdCtaContAnticipos
@@ -3143,7 +3154,7 @@ Namespace Modelos
End If
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, Importe91, Referencia, 91, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=row2("CveVenta").ToString.ToEntero, ImporteMX:=ImporteMN91, ImporteME:=If(tipoCambio = 1, 0, Importe91), CveSubProyecto:=CveSubProyectoContabilizar, TipoCambio:=tipoCambio) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, Importe91, Referencia, CveConceptoAplicacionNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveVentaAmortizacion:=row2("CveVenta").ToString.ToEntero, ImporteMX:=ImporteMN91, ImporteME:=If(tipoCambio = 1, 0, Importe91), CveSubProyecto:=CveSubProyectoContabilizar, TipoCambio:=tipoCambio) Then
ErrorPrepoliza = True
Exit For
End If
@@ -3158,7 +3169,7 @@ Namespace Modelos
End If
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, 251, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(row2("TCCambioValuacion").ToString.ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=row2("TCCambioValuacion").ToString.ToDecimal, TipoCambioPago:=tipoCambio) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, Importe251, Referencia, CveConceptoPagoNC, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=row2("CveVenta").ToString.ToEntero, CveCliente:=ObjFactura.CveCliente, ImporteMX:=ImporteMN251, ImporteME:=If(row2("TCCambioValuacion").ToString.ToDecimal = 1, 0, Importe251), CveSubProyecto:=CveSubProyectoContabilizar, CveVentaAmortizacion:=ObjFactura.CveVenta, TipoCambio:=row2("TCCambioValuacion").ToString.ToDecimal, TipoCambioPago:=tipoCambio) Then
ErrorPrepoliza = True
Exit For
End If

View File

@@ -1,176 +1,176 @@
Imports System.Data
Imports Extensiones
Public Class Timbres
Private _MsgError As StringBuilder
Private _MensajeAlert As StringBuilder
Public Property TieneError As Boolean
Public ReadOnly Property MsgError As String
Get
Return _MsgError.ToString
End Get
End Property
Public ReadOnly Property MensajeAlert As String
Get
Return _MensajeAlert.ToString
End Get
End Property
Private Property CveMovimiento As Integer
Private Property UsuarioActual As Usuario
Private Property AplicaCP As Boolean
Private Property FechaSalida As Date
Private Property Serie As String
Private Property Folio As Integer
Private Property CveTimbre As Integer
Private Property CPCliente As Integer
Public Property ObjFactura As Modelos.Factura
Public Sub New()
End Sub
Public Sub New(TipoDocto As String, tCveTimbre As Integer, tUsuarioActual As Usuario)
_MsgError = New StringBuilder
UsuarioActual = tUsuarioActual
CveTimbre = tCveTimbre
CreaObjetosTraslados(TipoDocto, tCveTimbre)
End Sub
Private Sub CreaObjetosTraslados(TipoDocto As String, CveTimbre As Integer)
Imports System.Data
Imports Extensiones
Public Class Timbres
Private _MsgError As StringBuilder
Private _MensajeAlert As StringBuilder
Public Property TieneError As Boolean
Public ReadOnly Property MsgError As String
Get
Return _MsgError.ToString
End Get
End Property
Public ReadOnly Property MensajeAlert As String
Get
Return _MensajeAlert.ToString
End Get
End Property
Private Property CveMovimiento As Integer
Private Property UsuarioActual As Usuario
Private Property AplicaCP As Boolean
Private Property FechaSalida As Date
Private Property Serie As String
Private Property Folio As Integer
Private Property CveTimbre As Integer
Private Property CPCliente As Integer
Public Property ObjFactura As Modelos.Factura
Public Sub New()
End Sub
Public Sub New(TipoDocto As String, tCveTimbre As Integer, tUsuarioActual As Usuario)
_MsgError = New StringBuilder
UsuarioActual = tUsuarioActual
CveTimbre = tCveTimbre
CreaObjetosTraslados(TipoDocto, tCveTimbre)
End Sub
Private Sub CreaObjetosTraslados(TipoDocto As String, CveTimbre As Integer)
ObjFactura = New Modelos.Factura
ObjFactura.Version = "3.3"
ObjFactura.Version = "3.3"
If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then ObjFactura.Version = "4.0"
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
ObjFactura.UsuarioActual = UsuarioActual
'ObjFactura.TipoCambio = 1
ObjFactura.ConvertirPesos = False
ObjFactura.CveMoneda = 1
ObjFactura.Moneda = "XXX"
ObjFactura.MonedaSAT = "XXX"
ObjFactura.MonedaAbreviatura = "XXX"
ObjFactura.TipoDocto = TipoDocto
ObjFactura.TipoComprobante = "T"
ObjFactura.Fecha = Now
ObjFactura.FechaPago = Now
ObjFactura.FechaEjecucion = Now
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
ObjFactura.TipoDocumento = "Traspaso"
ObjFactura.RFCReceptor = "XAXX010101000" ' RFC empresa traslado , si es entrega RFC Cliente
ObjFactura.Inv_CveMovimiento = CveMovimiento
ObjFactura.CveTimbre = CveTimbre
If CveTimbre > 0 AndAlso ObjFactura.TipoComprobante = "T" Then
ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura)
End If
End Sub
Private Function PreParaTimbreCartaPorte(Obj As Modelos.Factura) As CFDITimbre
Dim Timbre As New CFDITimbre
Timbre.Comprobante.TipoComprobante = "T"
Timbre.Comprobante.Fecha = Obj.Fecha
Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33
Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT
Timbre.Comprobante.SubTotal = Obj.SubTotal
Timbre.Comprobante.Descuentos = Obj.Descuento
Timbre.Comprobante.Moneda = "XXX"
ObjFactura.CveUsuario = UsuarioActual.CveUsuario
ObjFactura.CveEmpresa = UsuarioActual.CveEmpresa
ObjFactura.UsuarioActual = UsuarioActual
'ObjFactura.TipoCambio = 1
ObjFactura.ConvertirPesos = False
ObjFactura.CveMoneda = 1
ObjFactura.Moneda = "XXX"
ObjFactura.MonedaSAT = "XXX"
ObjFactura.MonedaAbreviatura = "XXX"
ObjFactura.TipoDocto = TipoDocto
ObjFactura.TipoComprobante = "T"
ObjFactura.Fecha = Now
ObjFactura.FechaPago = Now
ObjFactura.FechaEjecucion = Now
ObjFactura.UsuarioCreo = UsuarioActual.Usuario
ObjFactura.TipoDocumento = "Traspaso"
ObjFactura.RFCReceptor = "XAXX010101000" ' RFC empresa traslado , si es entrega RFC Cliente
ObjFactura.Inv_CveMovimiento = CveMovimiento
ObjFactura.CveTimbre = CveTimbre
If CveTimbre > 0 AndAlso ObjFactura.TipoComprobante = "T" Then
ObjFactura.Timbre = PreParaTimbreCartaPorte(ObjFactura)
End If
End Sub
Private Function PreParaTimbreCartaPorte(Obj As Modelos.Factura) As CFDITimbre
Dim Timbre As New CFDITimbre
Timbre.Comprobante.TipoComprobante = "T"
Timbre.Comprobante.Fecha = Obj.Fecha
Timbre.Comprobante.FormadePago = Obj.FormaPagoSAT33
Timbre.Comprobante.MetodoPago = Obj.ClaveMetodoPagoSAT
Timbre.Comprobante.SubTotal = Obj.SubTotal
Timbre.Comprobante.Descuentos = Obj.Descuento
Timbre.Comprobante.Moneda = "XXX"
Timbre.Comprobante.TipoCambio = "" ' CONDICIÓN SI LA MONEDA ES 'XXX'
Timbre.Receptor.UsoCFDI = "S01"
If ObjFactura.Version = "3.3" Then Timbre.Receptor.UsoCFDI = "P01"
Dim totSubTotal As Decimal = Obj.SubTotal
Dim totIVA As Decimal = Obj.IVA
Dim totRetIVA As Decimal = Obj.RetIVA
Dim totRetISR As Decimal = Obj.RetISR
Dim i As Integer = 1
Timbre.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString
'DETALLES
Dim tPS As String = ""
Dim CartaPorte As New CFDICartaPorte
CartaPorte.TranspInternac = "No"
CartaPorte.EntradaSalidaMercancia = ""
CartaPorte.ViaEntradaSalida = ""
CartaPorte.Mercancias.UnidadPeso = "KGM"
CartaPorte.Mercancias.CargoporTasacion = 0
Dim FI As Date = New Date(1900, 1, 1)
Dim FF As Date = New Date(9999, 1, 1)
Dim FechaLlegada As DateTime
Dim Distancia As Integer = 1
Dim ObjGrales As New ClsGenerales
If ObjGrales.GetGralTimbre(CveTimbre, Obj.TipoDocto, FI, FF, -1, UsuarioActual.CveEmpresa, -1) Then
If ObjGrales.DtResultados.Rows.Count = 1 Then
Dim DtMovimientos As DataTable = Nothing
Dim drT As DataRow = ObjGrales.DtResultados.Rows(0)
Timbre.Receptor.RFC = drT("EmpresaRFC").ToString
Timbre.Receptor.Nombre = drT("EmpresaNombre").ToString
Timbre.Receptor.DomicilioFiscalReceptor = drT("DomicilioFiscalReceptor").ToString
Timbre.Receptor.RegimenFiscalReceptor = drT("CodigoRegimenFiscalReceptor").ToString
CveMovimiento = drT("CveMovimientoAlmacen").ToString.ToEntero
FechaSalida = drT("FechaEntrega").ToString.ToDateTime
FechaLlegada = drT("FechaLlegada").ToString.ToDateTime
Distancia = drT("Distancia").ToString.ToEntero
ObjFactura.Folio = drT("Folio").ToString.ToEntero
ObjFactura.Serie = drT("Serie").ToString
Timbre.Comprobante.Serie = Obj.Serie
Timbre.Comprobante.Folio = Obj.Folio.ToString
If drT("FolioFiscalRelacionado").ToString <> "" Then
Timbre.CFDIRelacionados.TipoRelacion = "05"
Timbre.CFDIRelacionados.UUID.Add(drT("FolioFiscalRelacionado").ToString)
End If
If ObjGrales.GetGralMovimientosDetalleTimbre(CveTimbre, UsuarioActual.CveEmpresa) Then
DtMovimientos = ObjGrales.DtResultados
Else
TieneError = True
_MsgError.AppendLine("Error al obtener Movimientos")
End If
ObjFactura.DtDetalle = DtMovimientos
AplicaCP = Boolean.Parse(drT("AplicaCP").ToString)
ObjFactura.CveSubProyecto = drT("CveSubProyecto").ToString.ToEntero
ObjFactura.SetSubProyecto()
ObjFactura.SetSubProyectoMatriz()
If AplicaCP Then
CartaPorte.FiguraTransporte.AutoTransporte.PermisoSCT = drT("ClaveTipoPermisoSCT").ToString '"TPAF01"
CartaPorte.FiguraTransporte.AutoTransporte.NumPermisoSCT = drT("NumPermisoSCT").ToString
CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil = drT("NombreAseguradora").ToString
CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil = drT("NumPolizaSeguro").ToString
If ObjFactura.Version = "3.3" Then Timbre.Receptor.UsoCFDI = "P01"
Dim totSubTotal As Decimal = Obj.SubTotal
Dim totIVA As Decimal = Obj.IVA
Dim totRetIVA As Decimal = Obj.RetIVA
Dim totRetISR As Decimal = Obj.RetISR
Dim i As Integer = 1
Timbre.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString
'DETALLES
Dim tPS As String = ""
Dim CartaPorte As New CFDICartaPorte
CartaPorte.TranspInternac = "No"
CartaPorte.EntradaSalidaMercancia = ""
CartaPorte.ViaEntradaSalida = ""
CartaPorte.Mercancias.UnidadPeso = "KGM"
CartaPorte.Mercancias.CargoporTasacion = 0
Dim FI As Date = New Date(1900, 1, 1)
Dim FF As Date = New Date(9999, 1, 1)
Dim FechaLlegada As DateTime
Dim Distancia As Integer = 1
Dim ObjGrales As New ClsGenerales
If ObjGrales.GetGralTimbre(CveTimbre, Obj.TipoDocto, FI, FF, -1, UsuarioActual.CveEmpresa, -1) Then
If ObjGrales.DtResultados.Rows.Count = 1 Then
Dim DtMovimientos As DataTable = Nothing
Dim drT As DataRow = ObjGrales.DtResultados.Rows(0)
Timbre.Receptor.RFC = drT("EmpresaRFC").ToString
Timbre.Receptor.Nombre = drT("EmpresaNombre").ToString
Timbre.Receptor.DomicilioFiscalReceptor = drT("DomicilioFiscalReceptor").ToString
Timbre.Receptor.RegimenFiscalReceptor = drT("CodigoRegimenFiscalReceptor").ToString
CveMovimiento = drT("CveMovimientoAlmacen").ToString.ToEntero
FechaSalida = drT("FechaEntrega").ToString.ToDateTime
FechaLlegada = drT("FechaLlegada").ToString.ToDateTime
Distancia = drT("Distancia").ToString.ToEntero
ObjFactura.Folio = drT("Folio").ToString.ToEntero
ObjFactura.Serie = drT("Serie").ToString
Timbre.Comprobante.Serie = Obj.Serie
Timbre.Comprobante.Folio = Obj.Folio.ToString
If drT("FolioFiscalRelacionado").ToString <> "" Then
Timbre.CFDIRelacionados.TipoRelacion = "05"
Timbre.CFDIRelacionados.UUID.Add(drT("FolioFiscalRelacionado").ToString)
End If
If ObjGrales.GetGralMovimientosDetalleTimbre(CveTimbre, UsuarioActual.CveEmpresa) Then
DtMovimientos = ObjGrales.DtResultados
Else
TieneError = True
_MsgError.AppendLine("Error al obtener Movimientos")
End If
ObjFactura.DtDetalle = DtMovimientos
AplicaCP = Boolean.Parse(drT("AplicaCP").ToString)
ObjFactura.CveSubProyecto = drT("CveSubProyecto").ToString.ToEntero
ObjFactura.SetSubProyecto()
ObjFactura.SetSubProyectoMatriz()
If AplicaCP Then
CartaPorte.FiguraTransporte.AutoTransporte.PermisoSCT = drT("ClaveTipoPermisoSCT").ToString '"TPAF01"
CartaPorte.FiguraTransporte.AutoTransporte.NumPermisoSCT = drT("NumPermisoSCT").ToString
CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroResponsabilidadCivil = drT("NombreAseguradora").ToString
CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroResponsabilidadCivil = drT("NumPolizaSeguro").ToString
If Obj.DtDetalle IsNot Nothing AndAlso Obj.DtDetalle.Rows.Count > 0 Then
If Obj.DtDetalle.MAX("ClaveMaterialPeligroso") <> "" Then
CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroMedioAmbiente = drT("NombreAseguradoraMedioAmbiente").ToString
@@ -178,45 +178,51 @@ Public Class Timbres
End If
End If
CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroCarga = drT("NombreAseguradoraCarga").ToString
CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroCarga = drT("NumPolizaSeguroCarga").ToString
CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular = drT("ConfigCartaPorte").ToString
CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM = drT("Placa").ToString
CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM = drT("Anio").ToString.ToEntero
If drT("ClaveTipoRemolque1").ToString <> "" Then
Dim Rem1 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque1"), .Placa = drT("PlacaRemolque1")}
CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem1)
End If
If drT("ClaveTipoRemolque2").ToString <> "" Then
Dim Rem2 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque2"), .Placa = drT("PlacaRemolque2")}
CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem2)
End If
Dim DomOrigen As CFDICartaPorteDomicilio = Nothing
DomOrigen = New CFDICartaPorteDomicilio With {.Calle = drT("DirOriCalle").ToString,
.Colonia = drT("DirOriClaveSATColonia").ToString,
.CP = drT("DirOriCP").ToString,
.Estado = drT("DirOriClaveSATEstado").ToString,
.Pais = drT("DirOriClaveSATPais").ToString,
.Municipio = drT("DIrOriClaveSATMunicipio").ToString,
.Localidad = drT("DirOriClaveSATLocalidad").ToString}
Dim DomDestino As CFDICartaPorteDomicilio = Nothing
DomDestino = New CFDICartaPorteDomicilio With {.Calle = drT("DirDesCalle").ToString,
.Colonia = drT("DirDesClaveSATColonia").ToString,
.CP = drT("DirDesCP").ToString,
.Estado = drT("DirDesClaveSATEstado").ToString,
.Pais = drT("DirDesClaveSATPais").ToString,
.Municipio = drT("DirDesClaveSATMunicipio").ToString,
.Localidad = drT("DirDesClaveSATLocalidad").ToString}
Dim NumRegIdTrib As String = ""
CartaPorte.FiguraTransporte.AutoTransporte.NombreSeguroCarga = drT("NombreAseguradoraCarga").ToString
CartaPorte.FiguraTransporte.AutoTransporte.PolizaSeguroCarga = drT("NumPolizaSeguroCarga").ToString
CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.ConfigVehicular = drT("ConfigCartaPorte").ToString
CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.PlacaVM = drT("Placa").ToString
CartaPorte.FiguraTransporte.AutoTransporte.Vehiculo.AnioModeloVM = drT("Anio").ToString.ToEntero
If drT("ClaveTipoRemolque1").ToString <> "" Then
Dim Rem1 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque1"), .Placa = drT("PlacaRemolque1")}
CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem1)
End If
If drT("ClaveTipoRemolque2").ToString <> "" Then
Dim Rem2 As New CFDICartaPorteRemolque With {.SubTipoRemolque = drT("ClaveTipoRemolque2"), .Placa = drT("PlacaRemolque2")}
CartaPorte.FiguraTransporte.AutoTransporte.Remolques.Add(Rem2)
End If
Dim DomOrigen As CFDICartaPorteDomicilio = Nothing
DomOrigen = New CFDICartaPorteDomicilio With {.Calle = drT("DirOriCalle").ToString,
.Colonia = drT("DirOriClaveSATColonia").ToString,
.CP = drT("DirOriCP").ToString,
.Estado = drT("DirOriClaveSATEstado").ToString,
.Pais = drT("DirOriClaveSATPais").ToString,
.Municipio = drT("DIrOriClaveSATMunicipio").ToString,
.Localidad = drT("DirOriClaveSATLocalidad").ToString}
Dim DomDestino As CFDICartaPorteDomicilio = Nothing
DomDestino = New CFDICartaPorteDomicilio With {.Calle = drT("DirDesCalle").ToString,
.Colonia = drT("DirDesClaveSATColonia").ToString,
.CP = drT("DirDesCP").ToString,
.Estado = drT("DirDesClaveSATEstado").ToString,
.Pais = drT("DirDesClaveSATPais").ToString,
.Municipio = drT("DirDesClaveSATMunicipio").ToString,
.Localidad = drT("DirDesClaveSATLocalidad").ToString}
Dim NumRegIdTrib As String = ""
Dim ResidenciaFiscal As String = ""
If drT("DestinatarioRFC").ToString.Contiene("XEXX010101000") Then ' cuando es Extranjero, debe de llevar un numregidtrib
NumRegIdTrib = "121585958"
ResidenciaFiscal = DomDestino.Pais
If Not String.IsNullOrEmpty(drT("COM_NumRegIdTrib").ToString()) Then
NumRegIdTrib = drT("COM_NumRegIdTrib").ToString()
End If
End If
Dim Ubica As New CFDICartaPorteUbicacion
@@ -231,6 +237,7 @@ Public Class Timbres
.NombreRemitenteDestinatario = drT("DestinatarioNombre").ToString,
.Domicilio = DomDestino,
.DistanciaRecorrida = Distancia,
.ResidenciaFiscal = ResidenciaFiscal,
.NumRegIdTrib = NumRegIdTrib}
CartaPorte.Ubicaciones.Add(Ubica)
@@ -317,62 +324,62 @@ Public Class Timbres
'' T R A S L A D O S
'DETALLES
If Obj.DtDetalle IsNot Nothing Then
For Each drr As DataRow In Obj.DtDetalle.Rows
If drr("PS").ToString.Length = 1 Then
tPS = drr("Obs").ToString
Else
If drr("PS").ToString.Length = 0 Then
tPS = ""
Else
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
End If
End If
'CONDICIONANTE, ESPECIAL
If UsuarioActual.CveEmpresa = 15 Then drr("UM") = "" 'LES COMENTAN QUE NO DEBE IR LA ETIQUETA DE LA UNIDAD EN EL PRODUCTO
Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString.ToDecimal,
.Descripcion = tPS,
.ValorUnitario = drr("PU").ToString.ToDecimal,
.Importe = drr("TotalImporte").ToString.ToDecimal,
.Descuento = drr("Descuento").ToString.ToDecimal,
.Unidad = drr("UM").ToString,
.ClaveUnidad = drr("SATClaveUM").ToString,
.ClaveProdServ = drr("SATClaveProdServ").ToString,
.Noidentificacion = drr("Noidentificacion").ToString,
.CuentaPredial = "",
.ObjetoImpuesto = "01"}
'VERIFICA SUMA SUBTOTALES
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'PROCESO DE AJUSTA DE DECIMALES
concepto.Importe = totSubTotal
End If
totSubTotal = totSubTotal - concepto.Importe
Timbre.Conceptos.Add(concepto)
i += 1
Next
Else
TieneError = True
_MsgError.AppendLine("timbrado son detalle de productos")
End If
End If
Else
TieneError = True
_MsgError.AppendLine("Consultar datos de timbrado")
End If
ObjGrales.Dispose()
Else
Timbre = Nothing
_MsgError.AppendLine("Consultar datos de timbrado")
End If
Return Timbre
End Function
If Obj.DtDetalle IsNot Nothing Then
For Each drr As DataRow In Obj.DtDetalle.Rows
If drr("PS").ToString.Length = 1 Then
tPS = drr("Obs").ToString
Else
If drr("PS").ToString.Length = 0 Then
tPS = ""
Else
tPS = String.Format("{0} {1}", drr("PS"), drr("Obs"))
End If
End If
'CONDICIONANTE, ESPECIAL
If UsuarioActual.CveEmpresa = 15 Then drr("UM") = "" 'LES COMENTAN QUE NO DEBE IR LA ETIQUETA DE LA UNIDAD EN EL PRODUCTO
Dim concepto As New CFDIConceptos With {.Cantidad = drr("Cantidad").ToString.ToDecimal,
.Descripcion = tPS,
.ValorUnitario = drr("PU").ToString.ToDecimal,
.Importe = drr("TotalImporte").ToString.ToDecimal,
.Descuento = drr("Descuento").ToString.ToDecimal,
.Unidad = drr("UM").ToString,
.ClaveUnidad = drr("SATClaveUM").ToString,
.ClaveProdServ = drr("SATClaveProdServ").ToString,
.Noidentificacion = drr("Noidentificacion").ToString,
.CuentaPredial = "",
.ObjetoImpuesto = "01"}
'VERIFICA SUMA SUBTOTALES
If i = Obj.DtDetalle.Rows.Count AndAlso totSubTotal <> concepto.Importe Then 'PROCESO DE AJUSTA DE DECIMALES
concepto.Importe = totSubTotal
End If
totSubTotal = totSubTotal - concepto.Importe
Timbre.Conceptos.Add(concepto)
i += 1
Next
Else
TieneError = True
_MsgError.AppendLine("timbrado son detalle de productos")
End If
End If
Else
TieneError = True
_MsgError.AppendLine("Consultar datos de timbrado")
End If
ObjGrales.Dispose()
Else
Timbre = Nothing
_MsgError.AppendLine("Consultar datos de timbrado")
End If
Return Timbre
End Function
Public Class MMensajeCartaPorte
Public Property TieneError As Boolean
Public Property Mensaje As String
@@ -626,4 +633,4 @@ Public Class Timbres
End Function
End Class
End Class

View File

@@ -955,6 +955,11 @@ Partial Class Bancos_IE
LnkChqDevuelto.Visible = True
End If
If Not String.IsNullOrEmpty(ObjIE.DtResultados.Rows(0)("ProveedorIntermediario").ToString) Then
DivIntermediario.Visible = True
LtlIntermediarioTexto.Text = ObjIE.DtResultados.Rows(0)("ProveedorIntermediario").ToString
End If
'saco el tipo de transaccion
Dim dr As DataRow = GlobalDTTipoTransacciones.FiltroPrimero(String.Format("CveTipoTransaccion = {0}", ObjIE.CveTipoTransaccion)) 'Egs o Ing
If dr IsNot Nothing Then

File diff suppressed because it is too large Load Diff

View File

@@ -100,6 +100,8 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
CargaCuentas();
CargaPersonal();
CargaReporte();
CargaConceptos();
TxtFechaDocumento.Text = DateTime.Now.ToShortDateString();
TxtFechaPrestamo.Text = DateTime.Now.ToShortDateString();
txtFechaI.Text = DateTime.Now.FirstDayOfMonth().ToShortDateString();
@@ -162,6 +164,21 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
DdlFuncionarioEmpleadoPago.DataBind();
DdlFuncionarioEmpleadoPrestamo.DataBind();
}
private void CargaConceptos()
{
using (ClsNominas objnom = new ClsNominas())
{
if (objnom.GetConceptos(UsuarioActual.CveEmpresa))
{
DdlConcepto.DataSource = objnom.DtResultados.FiltraParametros("Tipo = 'D'");
}
}
DdlConcepto.DataBind();
DdlConcepto.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
#endregion
#region "PAGO ACREEDORES"
@@ -378,17 +395,17 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
//CONTABILIZA
if (UsuarioActual.Empresa.Funcionalidad(200).Equals("1") && MsgError.Equals(""))
{
//if (IDCtaContablePrestamo > 0 && IDCtaContableBancos > 0)
//{
if (ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa))
{
IDPoliza = ObjMov.ContaIdPoliza;
}
else
{
Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError);
}
{
//if (IDCtaContablePrestamo > 0 && IDCtaContableBancos > 0)
//{
if (ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa))
{
IDPoliza = ObjMov.ContaIdPoliza;
}
else
{
Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError);
}
//}
//else
//{
@@ -519,9 +536,43 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
protected void BtnGuardarPrestamo_Click(object sender, EventArgs e)
{
if (ChkDescuentoViaNomina.Checked)
{
if (string.IsNullOrEmpty(TxtObservacionesPrestamo.Text.Trim()))
{
Alert("Debe ingresar texto en el campo de observaciones.", TipoMensaje.MsgAdvertencia);
return;
}
if (string.IsNullOrEmpty(TxtValor.Text.Trim()))
{
Alert("Debe ingresar el valor al prestamo.", TipoMensaje.MsgAdvertencia);
return;
}
if (DdlTipoDescto.SelectedValue.ToEntero() == 3)
{
if (TxtValor.Text.ToDecimal() > TxtImportePrestamo.Text.ToDecimal())
{
Alert("El valor no puede ser mayor al importe del prestamo.", TipoMensaje.MsgAdvertencia);
return;
}
}
if (DdlTipoDescto.SelectedValue.ToEntero() == 4)
{
if (TxtValor.Text.ToDecimal() > 100m)
{
Alert("El porcentaje no puede ser mayor a 100", TipoMensaje.MsgAdvertencia);
return;
}
}
}
ClsBancos ObjIE = new ClsBancos();
ClsContabilidad ObjMov = new ClsContabilidad(ObjIE.IniciaTransacSQL());
ClsCompras ObjComp = new ClsCompras(ObjIE.IniciaTransacSQL());
ClsNominas ObjNominas = new ClsNominas(ObjIE.IniciaTransacSQL());
string MsgError = "";
int CveIE = 0;
@@ -588,7 +639,7 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
//GUARDA COMPROBANTE
if (!filemove.Equals(""))
{
filemove.FilesMove(CveIE.ToString(), string.Format(@"{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase:false);
filemove.FilesMove(CveIE.ToString(), string.Format(@"{0}IE", UsuarioActual.Empresa.Ruta), ConcatenarDirectorioBase: false);
}
if (!ObjMov.AddPrePolizasDetalle(CvePrePoliza, true, Importe, Ref, CveConceptoContableBanco, Conc, DateTime.Now, IDCtaContableBancosPrestamo, -1, CveIE, CvePersonal: DdlFuncionarioEmpleadoPrestamo.SelectedValue.ToEntero(), ImporteMX: ImporteMN, TipoCambio: TC, TipoCambioPago: TC))
@@ -611,6 +662,25 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
MsgError = "No se pudo insertar concepto de acreedor complementaria";
}
}
if (ChkDescuentoViaNomina.Checked && string.IsNullOrEmpty(MsgError))
{
decimal montoLimite = Importe;
double valor = TxtValor.Text.ToDouble();
decimal porcentaje = (valor.ToString().ToDecimal() / montoLimite);
int vecesPorAplicar = 1;
if (porcentaje > 0)
{
vecesPorAplicar = (1m / porcentaje).ToEntero();
}
if (ObjNominas.AddMovtoPermanente(DdlConcepto.SelectedValue.ToEntero(), DdlFuncionarioEmpleadoPrestamo.SelectedValue.ToEntero(), TxtObservacionesPrestamo.Text, DdlTipoDescto.SelectedValue.ToEntero(), valor, vecesPorAplicar, montoLimite, TxtFechaPrestamo.Text, true, -1, CveIE: CveIE) <= 0)
{
MsgError = "No se pudo insertar el movimiento permanente";
}
}
}
else
{
@@ -634,17 +704,17 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
//CONTABILIZA
if (UsuarioActual.Empresa.Funcionalidad(200).Equals("1") && MsgError.Equals(""))
{
//if (IDCtaContablePrestamo > 0 && IDCtaContableBancosPrestamo > 0)
//{
if (ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa))
{
IDPoliza = ObjMov.ContaIdPoliza;
}
else
{
Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError);
}
{
//if (IDCtaContablePrestamo > 0 && IDCtaContableBancosPrestamo > 0)
//{
if (ObjMov.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa))
{
IDPoliza = ObjMov.ContaIdPoliza;
}
else
{
Alert("Ocurrio un error al contabilizar, pongase en contacto con Soporte Técnico", TipoMensaje.MsgError);
}
//}
//else
//{
@@ -667,8 +737,8 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
Msg.Append("El Documento se guardo correctamente");
}
System.IO.FileInfo archivo = null;
if (DdlTipoTransanccionPrestamo.SelectedValue.ToEntero().Contiene(2, 8, 9))
{
archivo = new System.IO.FileInfo(String.Format("{0}Formatos/Transferencia.rdlc", UsuarioActual.Empresa.Ruta));
@@ -690,8 +760,8 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
if (IDPoliza > 0)
{
Msg.AppendFormat(@"<br/><br/><a class=""Texto"" target='_blank' href=""/Contabilidad/RegPoliza.aspx?IdPoliza={0}"">Ver Póliza</a>", IDPoliza);
}
}
}
else
{
@@ -771,4 +841,20 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
protected void ChkDescuentoViaNomina_CheckedChanged(object sender, EventArgs e)
{
DivMovtoPermanente.Visible = ChkDescuentoViaNomina.Checked;
UpPrestamo.Update();
}
//protected void DdlTipoDescto_SelectedIndexChanged(object sender, EventArgs e)
//{
// DivMontoLimite.Visible = DdlTipoDescto.SelectedValue.ToEntero() > 2;
// DivVencesAplicar.Visible = DdlTipoDescto.SelectedValue.ToEntero() < 3;
// DivImportePrestamo.Visible = DdlTipoDescto.SelectedValue.ToEntero() < 3;
// UpPrestamo.Update();
//}
}

View File

@@ -2673,7 +2673,7 @@
<br />
<br />
<asp:Button ID="BtnEliminarCompra" CssClass="btn btn-danger" Visible="False" runat="server" Text="Eliminar Compra" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea eliminar la compra?" data-btn-ok-label="si" />
<asp:Button ID="BtnEliminarCompra" CssClass="btn btn-danger" Visible="False" runat="server" Text="Eliminar Compra" />
<br />
<br />
<asp:Button ID="BtnCancelarCompra" OnClientClick="ShowDivCancelarCompra();" Text="Cancelar Compra" CssClass="btn btn-danger" Visible="false" runat="server" />
@@ -5379,46 +5379,51 @@
</div>
<%-- <div id="DvModalContratos" class="modal ADS fade" role="dialog">
<div id="DvModalEliminarCompra" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
<div class="modal-content" style="width: 500px; margin-left: 50px;">
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h4 class="modal-title">Contratos de Obra</h4>
<h4 class="modal-title">Eliminar Compra</h4>
</div>
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpModalcontratos">
<ContentTemplate>
<div class="row">
<div class="col-md-2" style="text-align: center; margin-top: 5px">
Contrato:
<asp:UpdatePanel runat="server" ID="UpModalEliminarcompraCuerpo" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-2" style="text-align: center; margin-top: 5px">
Observación:
</div>
<div class="col-md-10">
<asp:DropDownList ID="DdlContrato" runat="server" DataTextField="ContratoCompleto" DataValueField="CveContrato" Class="select2me" Width="100%" ></asp:DropDownList>
<asp:TextBox runat="server" ID="TxtModalEliminarCompraDescripcion" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtModalEliminarCompraDescripcion" runat="server" ControlToValidate="TxtModalEliminarCompraDescripcion" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Observación''</b> es necesario, por favor ingréselo." ValidationGroup="GrpModalEliminarCompra" > </asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender9" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtModalEliminarCompraDescripcion"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-5"></div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div class="modal-footer">
<asp:UpdatePanel runat="server">
<ContentTemplate>
<asp:Button ID="BtnModalContratos" OnClick="BtnModalContratos_Click" runat="server" ClientIDMode="Static" Text="Guardar" CssClass="btn btn-primary" />
<button type="button" class="btn btn-danger" data-dismiss="modal">Cancelar</button>
<asp:Button ID="BtnModalEliminarCompra" OnClick="BtnModalEliminarCompra_Click" runat="server" ClientIDMode="Static" Text="Guardar" CssClass="btn btn-danger" ValidationGroup="GrpModalEliminarCompra"
data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea eliminar la compra?" data-btn-ok-label="si" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</div>
</div>--%>
</div>
<div id="DivmodalContrato" class="modal ADS fade">

View File

@@ -5392,7 +5392,7 @@ Partial Class Compras_Compras
RetIVA:=Row("RetIVA").ToString.ToDecimal, RetISR:=Row("RetISR").ToString.ToDecimal, IEPSPS:=Row("IEPSPS").ToString.ToDecimal.RoundSQL, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDecimal,
IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDecimal, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDecimal, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDecimal,
IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDecimal, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDecimal, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False),
CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero) Then
CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero, CveActivoFijoCompra:=CveAFC) Then
ErrorDetalles = True
Exit For
@@ -8501,123 +8501,7 @@ Partial Class Compras_Compras
RegistraScript(String.Format("$('#{0}').modal('show');", "DivAplicaSubProyecto"))
End Sub
Protected Sub BtnEliminarCompra_Click(sender As Object, e As EventArgs) Handles BtnEliminarCompra.Click
Dim ObjAC As ClsContPAQi = Nothing
Dim Comp As New ClsCompras()
Dim ObjEventos As New ClsOIEventos(Comp.IniciaTransacSQL())
Dim ObjConta As New ClsContabilidad(Comp.IniciaTransacSQL())
Dim ObjInventarios As New ClsInventarios(Comp.IniciaTransacSQL())
Dim ObjGral As New ClsGenerales(Comp.IniciaTransacSQL())
Dim ErrorCompra = False
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad) AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjAC.IniciaTransacSQL()
If Not ObjAC.RemovePoliza(IdPoliza) Then
ErrorCompra = True
End If
End If
If Not ErrorCompra Then
For Each gvr As GridViewRow In GvEB.Rows
If Not ObjEventos.RemoveEvento(gvr.DataKey("CveEvento").ToString.ToEntero, UsuarioActual.CveEmpresa) Then
ErrorCompra = True
Exit For
End If
Next
End If
If Not ErrorCompra Then
If Not ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then
ErrorCompra = True
End If
End If
Try
If ObjInventarios.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
Dim DTInventarios As DataTable = ObjInventarios.DtResultados
If DTInventarios.Rows.Count > 0 Then
Dim DTMovimientos As DataTable = DTInventarios.FiltraParametros("", "", {"CVeMovimiento"})
For Each diRow As DataRow In DTMovimientos.Rows
Dim CveMovimientoActual As Integer = diRow("CveMovimiento").ToString.ToEntero
If Not ObjInventarios.MovimientoRemove(CveMovimientoActual, UsuarioActual.CveEmpresa, CveUsuario:=UsuarioActual.CveUsuario) Then
ErrorCompra = True
Exit For
End If
'Dim DTMovimientoActual As DataTable = DTInventarios.FiltraParametros($"CveMovimiento = {CveMovimientoActual} ")
'Dim detalleDescripcion As String = ""
'Dim Description As String = ""
'Dim FolioMovimiento As String = ""
'Dim ConceptoMovimiento As String = ""
'For Each dRowMovActual As DataRow In DTMovimientoActual.Rows
' If dRowMovActual("UM").ToString = "" Then
' FolioMovimiento = dRowMovActual("Folio").ToString
' ConceptoMovimiento = dRowMovActual("Concepto").ToString
' Description = String.Format("Eliminación Compra {6},Movimiento con Concepto: {0}, Almacen: {1}, Fecha: {2}, Folio: {3}, Usuario: {4}, Observaciones adicionales: {5}, Productos Información:<br/>",
' ConceptoMovimiento,
' dRowMovActual("Almacen").ToString,
' dRowMovActual("FechaMovto").ToString.ToDate.ToString("dd/MM/yyyy"),
' FolioMovimiento,
' dRowMovActual("Usuario").ToString,
' dRowMovActual("Observaciones").ToString,
' $"{TxtSerie.Text}-{TxtFolio.Text}")
' Else
' detalleDescripcion = String.Format("- Cant: {0}, PS: {1}, PU: {2}, UM: {3}<br/>", dRowMovActual("Cantidad").ToString.ToEntero, dRowMovActual("CodigoPS"), dRowMovActual("PU"), dRowMovActual("UM"))
' End If
'Next
'If Not ObjGral.AddHistorialBitacora(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1,
' String.Format("{0}, Informacion = {1}", Description, detalleDescripcion),
' "Inventarios", FolioMovimiento + " / " + ConceptoMovimiento) Then
' ErrorCompra = True
' Exit For
'End If
Next
End If
End If
Catch ex As Exception
ErrorCompra = True
End Try
If Not ErrorCompra Then
If Not Comp.DeleteCompra(CveCompra, False) Then
ErrorCompra = True
End If
End If
If Not ErrorCompra Then
Alert("La Compra ha sido eliminada.", TipoMensaje.MsgInformacion, "document.location.href=""/Compras/Compras.aspx""")
If ObjAC IsNot Nothing Then ObjAC.Commit()
Comp.Commit()
Else
Alert("La Compra no ha sido eliminada.", TipoMensaje.MsgAdvertencia)
If ObjAC IsNot Nothing Then ObjAC.RollBack()
Comp.RollBack()
End If
If ObjAC IsNot Nothing Then ObjAC.Dispose()
Comp.Dispose()
ObjConta.Dispose()
End Sub
Protected Sub BtnAceptarAnticipos_Click(sender As Object, e As System.EventArgs) Handles BtnAceptarAnticipos.Click
@@ -20788,10 +20672,169 @@ Partial Class Compras_Compras
End If
End Using
End Sub
#Region "ELIMINAR COMPRA"
Protected Sub BtnEliminarCompra_Click(sender As Object, e As EventArgs) Handles BtnEliminarCompra.Click
TxtModalEliminarCompraDescripcion.Text = ""
RegistraScript("$('#DvModalEliminarCompra').modal('show');")
UpModalEliminarcompraCuerpo.Update()
End Sub
Protected Sub BtnModalEliminarCompra_Click(sender As Object, e As EventArgs)
Dim ObjAC As ClsContPAQi = Nothing
Dim Comp As New ClsCompras()
Dim ObjEventos As New ClsOIEventos(Comp.IniciaTransacSQL())
Dim ObjConta As New ClsContabilidad(Comp.IniciaTransacSQL())
Dim ObjInventarios As New ClsInventarios(Comp.IniciaTransacSQL())
Dim ObjGral As New ClsGenerales(Comp.IniciaTransacSQL())
Dim ErrorCompra = False
If (UsuarioActual.Empresa.UsaAC Or UsuarioActual.Empresa.UsaContabilidad) AndAlso IdPoliza > 0 AndAlso UsuarioActual.Empresa.TipoContabilidad = 2 Then
ObjAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjAC.IniciaTransacSQL()
If Not ObjAC.RemovePoliza(IdPoliza) Then
ErrorCompra = True
End If
End If
If Not ErrorCompra Then
For Each gvr As GridViewRow In GvEB.Rows
If Not ObjEventos.RemoveEvento(gvr.DataKey("CveEvento").ToString.ToEntero, UsuarioActual.CveEmpresa) Then
ErrorCompra = True
Exit For
End If
Next
End If
If Not ErrorCompra Then
If Not ObjConta.UpdatePrePolizasDetalleBloquear(CvePrePoliza, False) Then
ErrorCompra = True
End If
End If
Try
If ObjInventarios.GetInv_ComprasMov(CveCompra, UsuarioActual.CveEmpresa) Then
Dim DTInventarios As DataTable = ObjInventarios.DtResultados
If DTInventarios.Rows.Count > 0 Then
Dim DTMovimientos As DataTable = DTInventarios.FiltraParametros("", "", {"CVeMovimiento"})
For Each diRow As DataRow In DTMovimientos.Rows
Dim CveMovimientoActual As Integer = diRow("CveMovimiento").ToString.ToEntero
If Not ObjInventarios.MovimientoRemove(CveMovimientoActual, UsuarioActual.CveEmpresa, CveUsuario:=UsuarioActual.CveUsuario) Then
ErrorCompra = True
Exit For
End If
Next
End If
End If
Catch ex As Exception
ErrorCompra = True
End Try
Dim SBEliminacionCompra As New StringBuilder
SBEliminacionCompra.Append($"Serie-Folio: {TxtSerie.Text}-{TxtFolio.Text}, Proveedor: {HplProveedor.Text}, Descripción: {TxtDescripcion.Text}, SubTotal: {TxtSubTotal2.Text}, ")
If TxtIVA.Text.Trim.ToDecimal > 0 Then
SBEliminacionCompra.Append($"IVA: { TxtIVA.Text},")
End If
If TxtRetISR.Text.Trim.ToDecimal > 0 Then
SBEliminacionCompra.Append($"Ret. ISR: { TxtRetISR.Text}, ")
End If
If TxtRetIVA.Text.Trim.ToDecimal > 0 Then
SBEliminacionCompra.Append($"Ret. IVA: { TxtRetIVA.Text}, ")
End If
If TxtIEPS.Text.Trim.ToDecimal > 0 Then
SBEliminacionCompra.Append($"IEPS: { TxtIEPS.Text}, ")
End If
SBEliminacionCompra.Append($"Total: {TxtTotal.Text}, ")
SBEliminacionCompra.Append($"Moneda: {DdlMoneda.SelectedItem.Text}, ")
If TxtOC.Text.Trim.Length > 0 Then
SBEliminacionCompra.Append($"OC: {TxtOC.Text }, ")
End If
SBEliminacionCompra.Append($"Fecha {TxtFecha.Text}, ")
SBEliminacionCompra.Append($"Capturó: {LblUsuarioCaptura.Text}, ")
SBEliminacionCompra.Append($"F Captura: {LitFechCaptura.Text}, ")
SBEliminacionCompra.Append($"Dealles: ")
For Each dRow As DataRow In TmpDT.Rows
SBEliminacionCompra.Append($"Cantidad: {dRow("Cantidad")}, PS: {dRow("PS")}, Obs: {dRow("Obs")}, Sub Proyecto: {dRow("SubProyecto")}, Tipo Gasto: {dRow("TipoGasto")}, IVA: {dRow("IVA").ToString.ToDecimal.ToString("###,###,###.00")}, IEPSPS: {dRow("IEPSPS").ToString.ToDecimal.ToString("###,###,###.00") } ")
Next
If Not ObjGral.AddHistorialBitacora(Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, CveCompra, Nothing, "", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1,
TxtModalEliminarCompraDescripcion.Text, "Compras", SBEliminacionCompra.ToString) Then
ErrorCompra = True
End If
If Not ErrorCompra Then
If Not Comp.DeleteCompra(CveCompra, False) Then
ErrorCompra = True
End If
End If
If Not ErrorCompra Then
RegistraScript("$('#DvModalEliminarCompra').modal('hide');")
Alert("La Compra ha sido eliminada.", TipoMensaje.MsgInformacion, "document.location.href=""/Compras/Compras.aspx""")
If ObjAC IsNot Nothing Then ObjAC.Commit()
Comp.Commit()
Else
Alert("La Compra no ha sido eliminada.", TipoMensaje.MsgAdvertencia)
If ObjAC IsNot Nothing Then ObjAC.RollBack()
Comp.RollBack()
End If
If ObjAC IsNot Nothing Then ObjAC.Dispose()
Comp.Dispose()
ObjConta.Dispose()
End Sub
#End Region
End Class
Public Class MMensajeDevolucion
Public Property CveMovimiento As Integer
Public Property TieneError As Boolean

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -497,7 +497,7 @@
</Textbox>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Top>6.71618in</Top>
<Top>6.90368in</Top>
<Left>0.08209in</Left>
<Height>1.40294in</Height>
<Width>8.23953in</Width>
@@ -2126,116 +2126,6 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox40">
<CanGrow>true</CanGrow>
<CanShrink>true</CanShrink>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Sonora: </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextDecoration>None</TextDecoration>
</Style>
</TextRun>
<TextRun>
<Value>Rodríguez (662) 213-0388 - Camino del seri (662) 220-3070 - Colosio (662) 260-8088 - Colosio II (662) 118-9939 - Veracruz (662) 210-0041 - Monteverde (662) 688-1512 - Morelos (662) 211-0805 - Palo Verde (662) 436-3254 - Perisur (662) 254-4849 - Portillo (662) 688-5349 - Progreso (662) 310-5781 - Reforma (662) 213-8724 - Sahuaro (662) 216-1471 - Solidaridad (662) 216-0935 - Quiroga (662) 261-0838 - Guaymas (622) 222-2417 - Nogales (631) 319-0093 - San Luis Rio Colorado (653) 596-1799 - Agua Prieta (633) 688-0080 - Caborca (637) 372-4214 - Magdalena (632) 322-4080 - Cananea (645) 332-2040 - Obregón (644) 412-2002 - Obregón II (644) 413-1543 - Obregón III (644) 413-4501 - Navojoa (642) 422-9852 – </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
</Style>
</TextRun>
<TextRun>
<Value>Sinaloa: </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextDecoration>None</TextDecoration>
</Style>
</TextRun>
<TextRun>
<Value>Mochis (668) 817-0209 - Mochis II (668) 176-5802 - Guasave (687) 871-5317 - Guamúchil (673) 688-0108 - Calzada (667) 729-2112 - Zapata (667) 992-0876 - Sanalona (667) 713-6671 - Tres Ríos (667) 211-4696 - La Primavera (667) 304-2060 - Corredor Automotriz (667) 715-5004 - Del Valle (667) 721-5577 - Mazatlán (669) 910-2122 - </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
</Style>
</TextRun>
<TextRun>
<Value>Baja California</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextDecoration>None</TextDecoration>
</Style>
</TextRun>
<TextRun>
<Value>: Tijuana (664) 622-5221 – Tijuana II (664) 626-2615 - Rosarito (661) 612-4461 - Mexicali (686) 567-6102 - Mexicali II (686) 326 02 79 - Tecate (665) 5212080 - Ensenada (646) 172-4075 – Ensenada II (646) 176-2703 - </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
</Style>
</TextRun>
<TextRun>
<Value>Baja California Sur</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Bold</FontWeight>
<TextDecoration>None</TextDecoration>
</Style>
</TextRun>
<TextRun>
<Value>: La Paz (612) 146-3656 - La Paz II (612) 121-3185 - Los Cabos (624) 688 3552 - San José del Cabo (624) 247-4739</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>7pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
<LineHeight>1pt</LineHeight>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>10.55218cm</Top>
<Left>0.28679cm</Left>
<Height>2.03224cm</Height>
<Width>20.79751cm</Width>
<ZIndex>13</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox9">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
@@ -2251,11 +2141,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>14.13159cm</Top>
<Top>14.60784cm</Top>
<Left>0.31554cm</Left>
<Height>0.05496cm</Height>
<Width>20.88652cm</Width>
<ZIndex>14</ZIndex>
<ZIndex>13</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2309,7 +2199,7 @@
<Left>17.15637cm</Left>
<Height>0.64028cm</Height>
<Width>3.90165cm</Width>
<ZIndex>15</ZIndex>
<ZIndex>14</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2472,11 +2362,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>14.29238cm</Top>
<Top>14.76863cm</Top>
<Left>0.22954cm</Left>
<Height>2.44366cm</Height>
<Width>15.5106cm</Width>
<ZIndex>16</ZIndex>
<ZIndex>15</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2507,11 +2397,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox19</rd:DefaultName>
<Top>5.61303in</Top>
<Top>5.80053in</Top>
<Left>6.24204in</Left>
<Height>0.17708in</Height>
<Width>0.94607in</Width>
<ZIndex>17</ZIndex>
<ZIndex>16</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2542,11 +2432,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox19</rd:DefaultName>
<Top>5.8055in</Top>
<Top>5.993in</Top>
<Left>6.24203in</Left>
<Height>0.17966in</Height>
<Width>0.94607in</Width>
<ZIndex>18</ZIndex>
<ZIndex>17</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2577,11 +2467,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox19</rd:DefaultName>
<Top>6.00449in</Top>
<Top>6.19199in</Top>
<Left>6.24203in</Left>
<Height>0.18819in</Height>
<Width>0.94607in</Width>
<ZIndex>19</ZIndex>
<ZIndex>18</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2612,11 +2502,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox19</rd:DefaultName>
<Top>6.21074in</Top>
<Top>6.39824in</Top>
<Left>6.25245in</Left>
<Height>0.17119in</Height>
<Width>0.94607in</Width>
<ZIndex>20</ZIndex>
<ZIndex>19</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2648,11 +2538,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox19</rd:DefaultName>
<Top>6.40137in</Top>
<Top>6.58887in</Top>
<Left>6.26287in</Left>
<Height>0.19596in</Height>
<Width>0.94607in</Width>
<ZIndex>21</ZIndex>
<ZIndex>20</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2684,11 +2574,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox42</rd:DefaultName>
<Top>5.61303in</Top>
<Top>5.79903in</Top>
<Left>7.18811in</Left>
<Height>0.17708in</Height>
<Width>0.98426in</Width>
<ZIndex>22</ZIndex>
<ZIndex>21</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2719,11 +2609,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox42</rd:DefaultName>
<Top>5.8055in</Top>
<Top>5.9915in</Top>
<Left>7.18811in</Left>
<Height>0.17966in</Height>
<Width>0.98425in</Width>
<ZIndex>23</ZIndex>
<ZIndex>22</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2754,11 +2644,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox42</rd:DefaultName>
<Top>6.00449in</Top>
<Top>6.19049in</Top>
<Left>7.19853in</Left>
<Height>0.18819in</Height>
<Width>0.98425in</Width>
<ZIndex>24</ZIndex>
<ZIndex>23</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2790,11 +2680,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox42</rd:DefaultName>
<Top>6.21074in</Top>
<Top>6.39674in</Top>
<Left>7.19853in</Left>
<Height>0.17119in</Height>
<Width>0.98425in</Width>
<ZIndex>25</ZIndex>
<ZIndex>24</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2826,11 +2716,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox42</rd:DefaultName>
<Top>6.40137in</Top>
<Top>6.58737in</Top>
<Left>7.20895in</Left>
<Height>0.19596in</Height>
<Width>0.98425in</Width>
<ZIndex>26</ZIndex>
<ZIndex>25</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2856,11 +2746,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox5</rd:DefaultName>
<Top>16.93361cm</Top>
<Top>17.40986cm</Top>
<Left>0.1428cm</Left>
<Height>0.05496cm</Height>
<Width>20.88652cm</Width>
<ZIndex>27</ZIndex>
<ZIndex>26</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2880,7 +2770,7 @@
<Left>1.21932cm</Left>
<Height>2.413cm</Height>
<Width>2.75323cm</Width>
<ZIndex>28</ZIndex>
<ZIndex>27</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2937,7 +2827,7 @@
<Left>1.22666cm</Left>
<Height>0.62233cm</Height>
<Width>9.17089cm</Width>
<ZIndex>29</ZIndex>
<ZIndex>28</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -2974,11 +2864,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>9.92663cm</Top>
<Left>10.53866cm</Left>
<Top>9.72009cm</Top>
<Left>10.83734cm</Left>
<Height>0.64039cm</Height>
<Width>9.53276cm</Width>
<ZIndex>30</ZIndex>
<ZIndex>29</ZIndex>
<Visibility>
<Hidden>=IIF((Sum(IIF(UCase(Fields!Clasificacion.Value) = "AJUSTE" , 1, 0), "DsOC") &gt; 0),false,true)</Hidden>
</Visibility>
@@ -3027,7 +2917,7 @@
<Left>1.21932cm</Left>
<Height>1.32415cm</Height>
<Width>19.15078cm</Width>
<ZIndex>31</ZIndex>
<ZIndex>30</ZIndex>
<Visibility>
<Hidden>=IIF((Sum(IIF(Fields!CveClasificacion.Value = 20775,1,0), "DsOC") = 0) and (Sum(IIF(Fields!CveClasificacion.Value = 20774,1,0), "DsOC") &gt; 0),false,true)</Hidden>
</Visibility>
@@ -3069,7 +2959,7 @@
<Left>1.21932cm</Left>
<Height>1.05791cm</Height>
<Width>19.15078cm</Width>
<ZIndex>32</ZIndex>
<ZIndex>31</ZIndex>
<Visibility>
<Hidden>=IIF((Sum(IIF(Fields!CveClasificacion.Value = 20775,1,0), "DsOC") &gt; 0),false,true)</Hidden>
</Visibility>
@@ -3106,11 +2996,11 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox4</rd:DefaultName>
<Top>13.6904cm</Top>
<Top>14.16665cm</Top>
<Left>0.20852cm</Left>
<Height>0.40655cm</Height>
<Width>12.88812cm</Width>
<ZIndex>33</ZIndex>
<ZIndex>32</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -3121,21 +3011,6 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="Image2">
<Source>Embedded</Source>
<Value>LogoLlantas1</Value>
<Sizing>FitProportional</Sizing>
<Top>12.6957cm</Top>
<Left>0.22461cm</Left>
<Height>0.85359cm</Height>
<Width>20.86494cm</Width>
<ZIndex>34</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Rectangle Name="Rectangle5">
<ReportItems>
<Textbox Name="Textbox41">
@@ -3587,11 +3462,11 @@
</Tablix>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Top>20.69313cm</Top>
<Top>21.16938cm</Top>
<Left>0.1428cm</Left>
<Height>2.25247cm</Height>
<Width>20.89818cm</Width>
<ZIndex>35</ZIndex>
<ZIndex>33</ZIndex>
<Visibility>
<Hidden>=Microsoft.VisualBasic.Interaction.IIF(First(Fields!SerieFolio.Value, "DataSet4") &lt;&gt; "", False, True)</Hidden>
</Visibility>
@@ -3601,14 +3476,299 @@
</Border>
</Style>
</Rectangle>
<Rectangle Name="Rectangle1">
<ReportItems>
<Textbox Name="Textbox60">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>DESCARGA NUESTRA NUEVA APLICACIÓN</Value>
<Style>
<FontFamily>CALIbri</FontFamily>
<FontSize>12pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName>
<Top>0cm</Top>
<Left>0.01593cm</Left>
<Height>0.58237cm</Height>
<Width>20.96485cm</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox61">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Puedes encontrarla en Appstore o Google play </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>como Econollantas:</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName>
<Top>0cm</Top>
<Left>0.0506cm</Left>
<Height>1.49135cm</Height>
<Width>5.37042cm</Width>
<ZIndex>1</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox62">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Con tu aplicación el beneficio más</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>importante es poder escanear el código QR de tu póliza y siempre traerla contigo para </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>atenderte</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
<Paragraph>
<TextRuns>
<TextRun>
<Value>MÁS RÁPIDO Y MEJOR.</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName>
<Top>0.6882cm</Top>
<Left>7.25125cm</Left>
<Height>1.98084cm</Height>
<Width>6.56105cm</Width>
<ZIndex>2</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox63">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>Una vez descargada la App, podras agregar tu póliza escaneando el código QR</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>Calibri</FontFamily>
<FontSize>9pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox60</rd:DefaultName>
<Top>0cm</Top>
<Left>14.64769cm</Left>
<Height>1.46939cm</Height>
<Width>6.32076cm</Width>
<ZIndex>3</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Image Name="QRCodeDescarga">
<Source>Database</Source>
<Value>=System.Convert.FromBase64String(Parameters!QRDescarga.Value)</Value>
<MIMEType>image/png</MIMEType>
<Sizing>FitProportional</Sizing>
<Top>0.43341in</Top>
<Left>6.67293in</Left>
<Height>0.6035in</Height>
<Width>0.78275in</Width>
<ZIndex>4</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
<Image Name="Image6">
<Source>Embedded</Source>
<Value>ID3</Value>
<Sizing>FitProportional</Sizing>
<Top>1.7033cm</Top>
<Left>0.09579cm</Left>
<Height>0.93046cm</Height>
<Width>5.37042cm</Width>
<ZIndex>5</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
</ReportItems>
<KeepTogether>true</KeepTogether>
<Top>10.40145cm</Top>
<Left>0.1258cm</Left>
<Height>2.92445cm</Height>
<Width>20.98078cm</Width>
<ZIndex>34</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Rectangle>
<Image Name="Image2">
<Source>Embedded</Source>
<Value>logoLlantas21</Value>
<Sizing>FitProportional</Sizing>
<Top>13.33295cm</Top>
<Left>0.22931cm</Left>
<Height>0.85359cm</Height>
<Width>20.86494cm</Width>
<ZIndex>35</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
</Style>
</Image>
</ReportItems>
<Height>22.9456cm</Height>
<Height>23.5806cm</Height>
<Style />
</Body>
<Width>21.23237cm</Width>
<Page>
<PageFooter>
<Height>0.52388cm</Height>
<Height>0.51506cm</Height>
<PrintOnFirstPage>true</PrintOnFirstPage>
<PrintOnLastPage>true</PrintOnLastPage>
<ReportItems>
@@ -4550,6 +4710,59 @@ gWMQRyXmjjrX4vPF3yExkpgspuNCUWmRKH42L24p3ga9aFhk4Savlc94IGUJxZ5J0J+qoi92tHqEg+PC
hxlM/hnCGbwasNw/gfLfA1Ue4j+Y127OX2kcBEcStLprzFo+nY4YJEak4UxEElak78CnS77E4qObcCFaH/TycF+zLojlHJi2+CdcjEpGjBeFfCk50P/GJ9ExpjYSGI8jPb21KEMgqp+/jBoHfrKtGZYbhFx+8PvPglXhwz9TMhz/SvjXanZwJb2/4icT7b9i4t9h4Ar4u/b9HfwvVP0fALk248C58598jR9fGYOKOeJQplxp5G7eGmjdCihVgoxKN6FxYANKuoZ8cR/eAulEJBnSYwQa+4ESKNClPym7GeMvMw0nS4dNHHpmHCgaoNE3WmaM+Hh0RpED3b8sTFCBgJL7U5opoXJh9ARG0wdH35V389WBhay87yuuH+PFNw4ITqnnviXfp29ttrWQjmWNXytr2QSfrtYJBlzrhOeMA3f8SGXpWMbdTbACBhnrTYggwbXaZ9j+Hd8+Hv/9JMMUmp+jVBfw12+B8WO44VIRmmtxeKq1T87qCwfRFZ4bF64StZ0+25SJtlAtJYCgPe5H4QDfqBi+ny3fS7PXMRgh/8fP9cMh1ADCi4dBqExQjkCG7St/BNdE5vkNU9hhKl2WophkCoVp4heq8vzOtGCAriSLkI4mqHW0E6+cdZSyrYRf3vAFLiezH+CJL4XC85xz9Ymyz7v4ZL0O0wk4BEr3ScqZCIxHZRJ8ZCvFNF9EoexwYqYcqKzoKIHhIFsh5whKdBU5fD/RZGqOoDS/skCsynO+fumEGtThR92vC4X6J4RrifqxPAurfmZYquG4eAgYdPIUqA/9iNXr8AKZGDl67qEbh6f1Tpa3Q+UPk7UEGPj8ZQafiMqLRFBOLpCV8SgUV0cA/23jwPgRzzpzKQNBiVojddsy4DVwwgkGluK6EyK52BRmgm6F6raTGTxaWKMpR902VNwIhMaxo600ge+HRQ3tKpDRbz4EZf5NyGQcXCFrY9EFQ3DV6sMTr1ogQAgyNX/t14+7ukPjRt6VRa4C
oblJCKGFtcdoBG36Gzp/B4F8/tY4CODv6gjwrsD5i+R/Cf7tORMqxgAHVrBauZ4gDVsE/HRTktz6LAUmeKBRQz81kspZRDKNBH18z8MWHMKSS4ewYPkilI5MwEMtuhEvFanpqUiIzIJ8kbmQjSaBnjOw40SkqFlidwvkVLfq0WA3vsSF0vz0sBQD4zMUyxT8n8C1998HlQ/gX6ETXu5KuCqdvyrwnzD//2ugQLj+2t1orsF69bTdRdAzAlrANQe0hgdOdw4kLBtT8kXDfggZwnVDyaVr5PnahsU1Lm15t1hQxgrYv0vRr0q4tT6TceDjqA5HU2/eTzM8h+DzaI5g6cIiH0SSIa591jmj5Jyhi6gr68j5PLiYEqx88IExx5sls7lqZeBUQjzTD8kpbPYF5BhQ0F3ZzqApcMaB41cl9advMrg69eOX07+tXXKOjksMUQ855bhgOJ6lmmyUJZBcXGqQIp8p9FSn4ylEwSDw/wzk/AoyDhgJM+6MJ+Mlo3bLImTQJo8ZEQPhStUISGtcBadWAOD/A/iTyYq8ZFetAAAAAElFTkSuQmCC</ImageData>
</EmbeddedImage>
<EmbeddedImage Name="logoLlantas21">
<MIMEType>image/png</MIMEType>
<ImageData>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</ImageData>
</EmbeddedImage>
</EmbeddedImages>
<Language>es-MX</Language>
<ConsumeContainerWhitespace>true</ConsumeContainerWhitespace>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -112,7 +112,7 @@
<label class="col-md-1 truncate" style="width: 110px">Almacén:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlAlmacen" AutoPostBack="true" AppendDataBoundItems="true" OnSelectedIndexChanged="DdlAlmacen_SelectedIndexChanged" runat="server" CssClass="form-control input-sm select2me" Style="max-width: 200px" DataTextField="Almacen" DataValueField="CveAlmacen"></asp:DropDownList>
<asp:DropDownList ID="DdlAlmacen" AutoPostBack="true" OnSelectedIndexChanged="DdlAlmacen_SelectedIndexChanged" runat="server" CssClass="form-control input-sm select2me" Style="max-width: 200px" DataTextField="Almacen" DataValueField="CveAlmacen"></asp:DropDownList>
<asp:RequiredFieldValidator InitialValue="-1" ID="RfvAlmacen" Display="None" ValidationGroup="GrpGuardar" runat="server" ControlToValidate="DdlAlmacen" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Almacen''</b> es necesario, por favor seleccione uno."></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="RfvAlmacen" Width="350px"></ajax:ValidatorCalloutExtender>
</div>

View File

@@ -408,6 +408,9 @@ Partial Class Inventarios_RecepcionUsados
VisualizaAF(True)
CargaSubProyectos()
End If
Else
RblUsadosAjuste.Enabled = False
RblUsadosAjuste.SelectedValue = "0"
End If
CargaSubProyectosUsados()
@@ -774,6 +777,7 @@ Partial Class Inventarios_RecepcionUsados
End If
RblUsadosAjuste.Enabled = True
RblUsadosAjuste.SelectedValue = "0"
CveRemisionRecibida = -1
EsDistribuidor = False
@@ -1604,21 +1608,22 @@ Partial Class Inventarios_RecepcionUsados
Exit Sub
End If
Dim filtro As String = ""
'Dim filtro As String = ""
Dim CveTipoAlmacen = GlobalDTAlmacenUsuarios(UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1).FiltroPrimeroValor("CveTipoAlmacen", $"CveAlmacen = {DdlAlmacen.SelectedValue}").ToEntero
filtro = If(UsuarioActual.TienePermisoProceso(144), "CveConcepto NOT IN (1,4,5,8,9,10,12,26,27,29)", "CveConcepto NOT IN (1,2,4,5,8,9,10,12,26,27,29)")
'filtro = If(UsuarioActual.TienePermisoProceso(144), "CveConcepto NOT IN (1,4,5,8,9,10,12,26,27,29)", "CveConcepto NOT IN (1,2,4,5,8,9,10,12,26,27,29)")
If DdlAlmacen.SelectedValue = "-1" Then
filtro = IIf(UsuarioActual.CveEmpresa.Contiene(72, 1, 80), "CveConcepto NOT IN (4,5,10)", filtro).ToString
Else
filtro = String.Format("{0} AND CveTipoAlmacen = {1}", IIf(UsuarioActual.CveEmpresa.Contiene(72, 1, 80, 4, 7, 11, 12), "CveConcepto NOT IN (4,5,10)", filtro).ToString, CveTipoAlmacen)
'If DdlAlmacen.SelectedValue = "-1" Then
' filtro = IIf(UsuarioActual.CveEmpresa.Contiene(72, 1, 80), "CveConcepto NOT IN (4,5,10)", filtro).ToString
'Else
' filtro = String.Format("{0} AND CveTipoAlmacen = {1}", IIf(UsuarioActual.CveEmpresa.Contiene(72, 1, 80, 4, 7, 11, 12), "CveConcepto NOT IN (4,5,10)", filtro).ToString, CveTipoAlmacen)
'End If
If CveTipoAlmacen = 6 Then
CargaFolioAjuste()
End If
End Sub
@@ -2052,6 +2057,8 @@ Partial Class Inventarios_RecepcionUsados
If CargaFacturas Then
CargaFacturasCliente()
End If
RblUsadosAjuste.Enabled = True
End If
UpGenerales.Update()
End Sub
@@ -2934,7 +2941,6 @@ Partial Class Inventarios_RecepcionUsados
LnkAgregarUsado.Visible = True
UppAcciones.Update()
End If
DdlAlmacen.DataBind()
End Sub
Private Sub CargaAjuste()
@@ -3133,13 +3139,17 @@ Partial Class Inventarios_RecepcionUsados
Private Sub CargaFolioAjuste()
DdlFolioGarantia.Items.Clear()
Dim CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue}").ToEntero()
Dim ObjAcum As New ClsAcumuladores
If ObjAcum.FoliosGarantiaGet(-1, UsuarioActual.CveEmpresa, Estatus:=1, CveSubProyecto:=CveSubProyecto, Area:=2) Then
DdlFolioGarantia.DataSource = ObjAcum.DtResultados
If DdlAlmacen.SelectedValue.ToEntero() > 0 Then
Dim CveSubProyecto = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("CveSubProyecto", $"CveAlmacen={DdlAlmacen.SelectedValue}").ToEntero()
Dim ObjAcum As New ClsAcumuladores
If ObjAcum.FoliosGarantiaGet(-1, UsuarioActual.CveEmpresa, Estatus:=1, CveSubProyecto:=CveSubProyecto, Area:=2) Then
DdlFolioGarantia.DataSource = ObjAcum.DtResultados
End If
ObjAcum.Dispose()
DdlFolioGarantia.DataBind()
End If
ObjAcum.Dispose()
DdlFolioGarantia.DataBind()
DdlFolioGarantia.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
@@ -3152,7 +3162,7 @@ Partial Class Inventarios_RecepcionUsados
End If
ObjAcumuladores.Dispose()
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
Dim FolioGarantia As Modelos.MFolioGarantiaMensaje = ValidaFolioGarantia(DdlPSAjuste.SelectedValue.ToEntero(), DdlFolioGarantia.SelectedValue.ToEntero())
If Not FolioGarantia.Valido Then
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
@@ -3160,8 +3170,8 @@ Partial Class Inventarios_RecepcionUsados
End Sub
Private Function ValidaFolioGarantia(CvePS As Integer, CveFolioGarantia As Integer) As MFolioGarantiaMensaje
Dim Retorno As New MFolioGarantiaMensaje
Private Function ValidaFolioGarantia(CvePS As Integer, CveFolioGarantia As Integer) As Modelos.MFolioGarantiaMensaje
Dim Retorno As New Modelos.MFolioGarantiaMensaje
Dim Valido As Boolean = False
Dim TipoFolio As String = ""
@@ -3372,7 +3382,7 @@ Partial Class Inventarios_RecepcionUsados
Dim CvePS As Integer = DdlPSAjuste.SelectedValue.ToEntero
Dim FolioGarantia As MFolioGarantiaMensaje = ValidaFolioGarantia(CvePS, DdlFolioGarantia.SelectedValue.ToEntero())
Dim FolioGarantia As Modelos.MFolioGarantiaMensaje = ValidaFolioGarantia(CvePS, DdlFolioGarantia.SelectedValue.ToEntero())
If Not FolioGarantia.Valido Then
Alert($"El folio de garantía no es valido.<br/> Clasificacion del Producto:{FolioGarantia.ClasificacionPS}.<br/>Tipo Folio:{FolioGarantia.TipoFolio}", TipoMensaje.MsgAdvertencia)
@@ -3745,15 +3755,4 @@ Partial Class Inventarios_RecepcionUsados
End Function
#End Region
Partial Class MFolioGarantiaMensaje
Public Property CvePS As Integer
Public Property CveClasificacionPS As Integer
Public Property ClasificacionPS As String
Public Property CveFolioGarantia As Integer
Public Property TipoFolio As String
Public Property Valido As Boolean
End Class
End Class

View File

@@ -1342,24 +1342,25 @@
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("TipoDescuentoTexto")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Valor">
<asp:TemplateField HeaderText="Valor" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" OnClick="LnkEditarMovtoPermanente_Click"
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("Valor")%>'></asp:LinkButton>
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("Valor","{0:###,###.##}")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Veces por aplicar">
<asp:TemplateField HeaderText="Veces por aplicar" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" OnClick="LnkEditarMovtoPermanente_Click"
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("VecesAplicar","{0:###,###.##}")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Monto limite">
<asp:TemplateField HeaderText="Monto limite" ItemStyle-HorizontalAlign="Right">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" OnClick="LnkEditarMovtoPermanente_Click"
CssClass="lnkMovotPermanente" runat="server" Text='<%# Eval("MontoLimite","{0:###,###.##}")%>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:HyperLinkField HeaderText="Movto. Bancario" DataNavigateUrlFields="CveIE" DataTextField="FolioIE" DataNavigateUrlFormatString="/Bancos/IE.aspx?CveIE={0}" Target="_blank" />
<asp:TemplateField ItemStyle-Width="38">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" ID="LnkEditarmovtoper" OnClick="LnkEditarMovtoPermanente_Click" CssClass="btn btn-circle btn-sm btn-xs green" runat="server" Text="<i class='fa fa-pencil'></i>"></asp:LinkButton>

View File

@@ -136,6 +136,7 @@ Partial Class RH_RepAsistencias
For index = 1 To GV.Columns.Count - 1
CType(GV.Columns(index), BoundField).DataField = Nothing
GV.Columns(index).Visible = False
Next
UpDatos.Update()
End Sub
@@ -145,7 +146,7 @@ Partial Class RH_RepAsistencias
For index = 1 To dt.Columns.Count - 5
CType(GV.Columns(index + 4), BoundField).DataField = dt.Columns(index + 4).ColumnName
GV.Columns(index + 4).Visible = True
Dim tmpDate As Date
If (Date.TryParse(dt.Columns(index + 4).ColumnName, tmpDate)) Then
CType(GV.Columns(index + 4), BoundField).HeaderText = tmpDate.ToString("dd-MMM").Replace(".", "")
@@ -171,7 +172,7 @@ Partial Class RH_RepAsistencias
End If
e.Row.Attributes.Add("style", "max-height: 22px;")
' e.Row.Attributes.Add("style", "max-height: 22px;")
End If

View File

@@ -15,9 +15,9 @@
<li>
<asp:HyperLink ID="HlSaldarCuentasIncobrables" data-toggle="modal" data-target="#ModalSaldarCuentaIncobrable" title="Saldar Cuentas!" runat="server" Visible="false"><i class="fa fa-money"></i> Saldar Cuentas Incobrables</asp:HyperLink>
</li>
<li>
<%--<li>
<asp:HyperLink ID="HplVincularIntermediario" data-toggle="modal" data-target="#ModalVincularIntermediario" title="Vincular Intermediario" runat="server"><i class="fa fa-money"></i> Vincular Intermediario</asp:HyperLink>
</li>
</li>--%>
<li>
<asp:LinkButton runat="server" ID="LnkAccionesModalSeleccionLayout" OnClick="LnkAccionesModalSeleccionLayout_Click" Visible="false"><i class="fa fa-file-excel-o" aria-hidden="true"></i> Cargar Layout</asp:LinkButton>
@@ -42,7 +42,7 @@
<div class="col-lg-8 col-md-10">
<div class="chequesie">
<div class="chequesie1">
<div class="row" id="divTipoPago" runat="server" >
<div class="row" id="divTipoPago" runat="server">
<div class="col-md-7">
<asp:RadioButtonList ID="RblTipoPago" AutoPostBack="true" runat="server" RepeatDirection="Horizontal">
<asp:ListItem Value="1" Selected="true">Banco &nbsp;</asp:ListItem>
@@ -114,7 +114,7 @@
<ajax:ValidatorCalloutExtender ID="VCOCuenta" runat="server" HighlightCssClass="vco" TargetControlID="RFVCuenta" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
<div class="col-md-5" runat="server" id="DivTCDolaresDolares" visible="false">
T.C:
<asp:TextBox ID="TxtTCDolaresDolares" runat="server" placeholder="Tipo de Cambio" CssClass="form-control input-sm" MaxLength="12" Width="70px" ClientIDMode="Static" Style="text-align: right; display: inline-block;" />
@@ -190,43 +190,43 @@
</div>
</div>
<div class="row">
<div class="col-md-2" runat="server" id="rowComisiones1">Otros Ingresos:</div>
<div class="col-md-3" runat="server" id="rowComisiones2">
<div class="col-md-2" runat="server" id="rowComisiones1">Otros Ingresos:</div>
<div class="col-md-3" runat="server" id="rowComisiones2">
<asp:CheckBox ID="ChkAjusteOI" runat="server" AutoPostBack="true" />
</div>
<div class="col-md-2" runat="server" id="DvLiquidacion1" visible="false">Liquidación:</div>
<div class="col-md-3" runat="server" id="DvLiquidacion2" visible="false">
<div class="col-md-2" runat="server" id="DvLiquidacion1" visible="false">Liquidación:</div>
<div class="col-md-3" runat="server" id="DvLiquidacion2" visible="false">
<asp:UpdatePanel ID="UppTiempo" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:CheckBox ID="ChkLiquidacion" OnCheckedChanged="ChkLiquidacion_CheckedChanged" runat="server" AutoPostBack="true" />
<asp:CheckBox ID="ChkLiquidacion" OnCheckedChanged="ChkLiquidacion_CheckedChanged" runat="server" AutoPostBack="true" />
<asp:Timer runat="server" ID="TimTiempo" Interval="300000" Enabled="false" OnTick="TimTiempo_Tick"></asp:Timer>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div class="row" id="divAnticipo" runat="server" visible="false" >
<div class="col-md-2" >Anticipo:</div>
<div class="row" id="divAnticipo" runat="server" visible="false">
<div class="col-md-2">Anticipo:</div>
<div class="col-md-3">
<asp:TextBox ID="TxtAnticipo" runat="server" Width ="100px" ClientIDMode="Static" />
<asp:TextBox ID="TxtAnticipo" runat="server" Width="100px" ClientIDMode="Static" />
</div>
<div class="col-md-2" runat="server" id="Div3" visible="false"> </div>
<div class="col-md-3" runat="server" id="Div4" visible="false">
<div class="col-md-2" runat="server" id="Div3" visible="false"></div>
<div class="col-md-3" runat="server" id="Div4" visible="false">
</div>
</div>
<div class="row" id="divPrestamo" runat="server" visible="false" >
<div class="col-md-2" >Préstamo:</div>
<div class="row" id="divPrestamo" runat="server" visible="false">
<div class="col-md-2">Préstamo:</div>
<div class="col-md-3">
<asp:TextBox ID="TxtPrestamoImporte" runat="server" Width="100px" ClientIDMode="Static"></asp:TextBox>
</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlPrestamo" runat="server" Width="100%" DataTextField="TextoDocumento" DataValueField="CveIE"></asp:DropDownList>
</div>
<div class="col-md-3" >Intereses:
<div class="col-md-2">
<asp:DropDownList ID="DdlPrestamo" runat="server" Width="100%" DataTextField="TextoDocumento" DataValueField="CveIE"></asp:DropDownList>
</div>
<div class="col-md-3">
Intereses:
<asp:TextBox ID="TxtPrestamoIntereses" runat="server" Width="80px" ClientIDMode="Static"></asp:TextBox>
</div>
</div>
@@ -256,8 +256,39 @@
</div>
<div class="col-lg-4 col-md-2">
<div>
<asp:TextBox ID="Anexo" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
<div class="row">
<div class="col-md-12">
<asp:TextBox ID="Anexo" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
</div>
<br />
<div class="row">
<div class="col-md-12">
<div class="portlet light smmallpadding traspasorow bordered" id="PorletIntermediario" runat="server" visible="false">
<div class="portlet-title">
<div class="caption font-green">
<span class="caption-subject bold uppercase" style="line-height: 1;">Vinculación de intermediarios
<asp:Literal ID="LtlFacturasPendiente" runat="server"></asp:Literal></span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-4">
<asp:CheckBox ID="ChkProveedorIntermediario" runat="server" />
A Cuenta de terceros:
</div>
<div class="col-md-8">
<ADS:Dropdownlost ID="DdlProveedorIntermediario" SelectedText="Seleccione" IncluyeTodos="true" runat="server" CssClassDdl="select2me" Width="100%" CssStyle="width: 100%;"
DataTextField="RazonSocial" DataValueField="CveProveedor"></ADS:Dropdownlost>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
@@ -269,7 +300,7 @@
<br />
<asp:UpdatePanel ID="UpGuardar" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table class="Widthall" >
<table class="Widthall">
<tr>
<td style="text-align: right; width: 20%">
<asp:CheckBox Text=" Seguir Registrando Pagos" ID="ChkSeguirRegistrando" CssClass="md-checksd" runat="server" />
@@ -279,19 +310,19 @@
<br />
<asp:Label ID="LblValidaCeuntaTipoTransaccion" runat="server" Visible="false" ForeColor="Red"></asp:Label>
</td>
<td style="text-align: left; ">
<td style="text-align: left;">
<asp:Button ID="BtnIEGuardar" runat="server" Text="Guardar" ValidationGroup="GrpGuardar" class="btn btn-primary" />
</td>
<td style="text-align: right; width: 18%">
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvCxC.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 125px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvCxC.ClientID) %>" style="margin-top: -3px; margin-right: 20px" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
<input type="text" id="TxtBusqueda" class="form-control input-sm" onkeyup="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvCxC.ClientID) %>" style="display: inline-block; margin-right: -20px; width: 125px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtBusqueda','{0}')", GvCxC.ClientID) %>" style="margin-top: -3px; margin-right: 20px" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</td>
</tr>
</table>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UPVentas" runat="server" UpdateMode="Conditional">
<ContentTemplate>
@@ -299,7 +330,7 @@
DataKeyNames="TipoDocto,CveVenta,CveCliente,SerieFolio,Original,SubTotal,IVA,IEPS,RetIVA,RetISR,Num3,CveSubProyecto,CveMoneda,Saldo,TipoCambio, RFC,UUID,Fecha,PorcentajeIVA,DescuentoProntoPago,CveTipoRetencion,Descuento,ClaveMetodoPagoSAT"
CssClass="table table-striped table-advance table-hover Widthall" Style="text-align: center;" GridLines="None" HeaderStyle-CssClass="ADtr">
<Columns>
<%--0--%>
<asp:TemplateField>
<HeaderTemplate>
@@ -318,55 +349,78 @@
</asp:TemplateField>
<%--2--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>Tipo<br> Docto</HeaderTemplate>
<HeaderTemplate>
Tipo<br>
Docto
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlTipoDocto" runat="server" Text='<%# Eval("TipoDocto") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</asp:TemplateField>
<%--3--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>Fecha<br> Venta</HeaderTemplate>
<HeaderTemplate>
Fecha<br>
Venta
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFecha" runat="server" Text='<%# Eval("Fecha", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<%--4--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>Fecha <br> Vencimiento</HeaderTemplate>
<HeaderTemplate>
Fecha
<br>
Vencimiento
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFechaVenci" runat="server" Text='<%# Eval("FechaVencimiento", "{0:d}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<%--5--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>Días<br>Vencidos</HeaderTemplate>
<HeaderTemplate>
Días<br>
Vencidos
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlDiasVencido" runat="server" Text='<%# Eval("DiasVencidos", "{0}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<%--6--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>Método<br> de Pago</HeaderTemplate>
<HeaderTemplate>
Método<br>
de Pago
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlMetodoPago" runat="server" Text='<%# Eval("ClaveMetodoPagoSAT", "{0}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<%--7--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Left">
<HeaderTemplate>Forma<br> de Pago</HeaderTemplate>
<HeaderTemplate>
Forma<br>
de Pago
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlFormaPago" runat="server" Text='<%# Eval("FormaPago", "{0}") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</asp:TemplateField>
<%--8--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Right">
<HeaderTemplate>Monto <br> Venta</HeaderTemplate>
<HeaderTemplate>
Monto
<br>
Venta
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlSaldoOriginal" runat="server" Text='<%# Eval("Original", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<%--9--%>
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-width="25px">
<asp:TemplateField ItemStyle-HorizontalAlign="Center" ItemStyle-Width="25px">
<HeaderTemplate></HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="LtlMoneda" runat="server" Text='<%# Eval("TMoneda", "{0}") %>' Style="text-decoration: none" Enabled="false" ForeColor="#333333"></asp:HyperLink>&nbsp;
@@ -404,82 +458,88 @@
</asp:TemplateField>
<%--14--%>
<asp:TemplateField Visible="false" ItemStyle-HorizontalAlign="Center">
<HeaderTemplate>Descuento<br>Pronto Pago</HeaderTemplate>
<HeaderTemplate>
Descuento<br>
Pronto Pago
</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlDescuentoProntoPago" runat="server" Text='<%# Eval("DescuentoProntoPago", "{0:N2}") %>'></asp:Literal>&nbsp;
</ItemTemplate>
</asp:TemplateField>
<%--15--%>
<asp:TemplateField Visible="false" >
<HeaderTemplate>Generar<br> NC</HeaderTemplate>
<asp:TemplateField Visible="false">
<HeaderTemplate>
Generar<br>
NC
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkGenerarNC" CssClass="chkgv" runat="server" Visible="false" Enabled="false"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateField>
<%--16--%>
<%--16--%>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:DropDownList ID="DdlTG" runat="server" Width="60px" DataTextField="TipoGasto" DataValueField ="CveTipoGasto">
</asp:DropDownList>
<asp:DropDownList ID="DdlTG" runat="server" Width="60px" DataTextField="TipoGasto" DataValueField="CveTipoGasto">
</asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<%--17--%>
<%--17--%>
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqCol1" Width="55px" runat="server" Style="text-align: right;" ></asp:TextBox>
<asp:TextBox ID="TxtLiqCol1" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%--18--%>
<asp:TemplateField Visible="false">
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqCol2" Width="55px" runat="server" Style="text-align: right;" ></asp:TextBox>
<asp:TextBox ID="TxtLiqCol2" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%--19--%>
<asp:TemplateField Visible="false">
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqCol3" Width="55px" runat="server" Style="text-align: right;" ></asp:TextBox>
<asp:TextBox ID="TxtLiqCol3" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%--20--%>
<asp:TemplateField Visible="false">
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqCol4" Width="55px" runat="server" Style="text-align: right;" ></asp:TextBox>
<asp:TextBox ID="TxtLiqCol4" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%--21--%>
<asp:TemplateField Visible="false">
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqCol5" Width="55px" runat="server" Style="text-align: right;" ></asp:TextBox>
<asp:TextBox ID="TxtLiqCol5" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%--22--%>
<asp:TemplateField Visible="false">
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqCol6" Width="55px" runat="server" Style="text-align: right;" ></asp:TextBox>
<asp:TextBox ID="TxtLiqCol6" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%--23--%>
<asp:TemplateField Visible="false">
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqCol7" Width="55px" runat="server" Style="text-align: right;" ></asp:TextBox>
<asp:TextBox ID="TxtLiqCol7" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%--24--%>
<asp:TemplateField Visible="false">
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqCol8" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
<asp:TextBox ID="TxtLiqCol8" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
<%--25--%>
<asp:TemplateField Visible="false">
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqCol9" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
<asp:TextBox ID="TxtLiqCol9" Width="55px" runat="server" Style="text-align: right;"></asp:TextBox>
</ItemTemplate>
</asp:TemplateField>
</asp:TemplateField>
<%--26--%>
<asp:TemplateField Visible="false">
<asp:TemplateField Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtLiqColT" Width="55px" runat="server" Font-Bold="true" Style="text-align: right;" onkeypress="return disablekeys();"></asp:TextBox>
</ItemTemplate>
@@ -487,31 +547,34 @@
<%--27--%>
<asp:TemplateField Visible="false" HeaderText="Anticipo" ItemStyle-Width="120px">
<ItemTemplate>
<asp:TextBox ID="TxtAmort" Width="50px" runat="server" Style="text-align: right;" ></asp:TextBox>
<asp:DropDownList ID="DdlAnti" runat="server" Width="40px" DataTextField="RazonSocial" DataValueField="CveIE"></asp:DropDownList>
<asp:TextBox ID="TxtAmort" Width="50px" runat="server" Style="text-align: right;"></asp:TextBox>
<asp:DropDownList ID="DdlAnti" runat="server" Width="40px" DataTextField="RazonSocial" DataValueField="CveIE"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<%--28--%>
<asp:TemplateField Visible="false" HeaderText="Anticipo2" ItemStyle-Width="120px">
<ItemTemplate>
<asp:TextBox ID="TxtAmort2" Width="50px" runat="server" Style="text-align: right;" ></asp:TextBox>
<asp:DropDownList ID="DdlAnti2" runat="server" Width="40px" DataTextField="RazonSocial" DataValueField="CveIE"></asp:DropDownList>
<asp:TextBox ID="TxtAmort2" Width="50px" runat="server" Style="text-align: right;"></asp:TextBox>
<asp:DropDownList ID="DdlAnti2" runat="server" Width="40px" DataTextField="RazonSocial" DataValueField="CveIE"></asp:DropDownList>
</ItemTemplate>
</asp:TemplateField>
<%--29--%>
<asp:TemplateField >
<asp:TemplateField>
<HeaderTemplate>Auxiliar</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlAux" runat="server"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</asp:TemplateField>
<%--30--%>
<asp:TemplateField >
<HeaderTemplate>Comp<br> Pago</HeaderTemplate>
<asp:TemplateField>
<HeaderTemplate>
Comp<br>
Pago
</HeaderTemplate>
<ItemTemplate>
<asp:Literal runat="server" ID="LtlComplemento" Text="<i class='fa fa-check text-success ' aria-hidden='true'></i>" ></asp:Literal>
<asp:Literal runat="server" ID="LtlComplemento" Text="<i class='fa fa-check text-success ' aria-hidden='true'></i>"></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
@@ -608,7 +671,7 @@
</div>
<%-- FIN MODAL SALDAR INCOBRABLE--%>
<div id="ModalVincularIntermediario" class="modal ADS fade" role="dialog">
<%--<div id="ModalVincularIntermediario" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
@@ -621,7 +684,7 @@
<div class="modal-body">
<asp:UpdatePanel runat="server" ID="UpdatePanel1" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="row">
<div class="col-md-6">
<asp:CheckBox ID="ChkProveedorIntermediario" runat="server" />
Intermediario:
@@ -645,9 +708,9 @@
</div>
</div>
</div>
</div>
</div>--%>
<div id="ModalSeleccionLayout" class="modal ADS fade" role="dialog">
<div id="ModalSeleccionLayout" class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<!-- Modal content-->
@@ -658,8 +721,8 @@
</div>
<div class="modal-body">
<br />
<br />
<asp:UpdatePanel runat="server" ID="UpModalSeleccionLayout" UpdateMode="Conditional">
<ContentTemplate>
@@ -669,7 +732,7 @@
<asp:TextBox ID="TxtModalLayoutExcel" CssClass="ADSdropzone hidden" Text="" data-maxFile="1" runat="server"></asp:TextBox>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
@@ -677,12 +740,12 @@
<asp:UpdatePanel runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="col-md-2" style="text-align: left">
<asp:Button ID="LnkDescargaFormato" OnClick="LnkDescargaFormato_Click" runat="server" CssClass="btn btn-warning" Text="Descargar Formato" />
<asp:Button ID="LnkDescargaFormato" OnClick="LnkDescargaFormato_Click" runat="server" CssClass="btn btn-warning" Text="Descargar Formato" />
</div>
<div class="col-md-10" style="text-align: right">
<div class="col-md-10" style="text-align: right">
<asp:LinkButton ID="LnkSeleccionLayout" runat="server" CssClass="btn btn-primary" Text="Aceptar" OnClick="LnkSeleccionLayout_Click" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkDescargaFormato" />
@@ -700,7 +763,7 @@
var Ventas = '';
function FnSuma(t, txt, importe, CveVenta) {
var chkPesosBancos = $get("ChkPagarPesos");
var chkDolaresBancos = $get("ChkPagarDolares");
@@ -714,10 +777,10 @@
let ClsSelLiqVentaTotal = ".ClsSelLiqVentaTotal" + CveVenta;
$(ClsSelLiqVenta).val('');
$(ClsSelLiqVentaTotal).val('');
$(ClsSelLiqVentaTotal).val('');
}
if (chkPesosBancos) {
CambiaPesosDolares()
} else if (chkDolaresBancos) {
@@ -726,7 +789,7 @@
}
function SumaValores(pagoMultiple, monedaPago) {
var Importe = 0;
var Comision = 0.00;
var topLevelElem = document.getElementById("form1");
@@ -800,19 +863,19 @@
$(".ClsSelLiq").each(function () {
totalLiquidacion = totalLiquidacion + ToDouble($(this).val());
});
$(".ClsSelLiqAnt").each(function () {
totalAnti = totalAnti + ToDouble($(this).val());
});
totalLiquidacion = totalLiquidacion + totalAnti;
if ($get('TxtAnticipo') != null) {
if ($get('TxtAnticipo').value == '') {
$get('TxtAnticipo').value = 0.00
}
@@ -854,7 +917,7 @@
}
else {
return Importe - totalLiquidacion
}
}
}
function FnCambia(chk, txt, saldo, op, pagoMultiple, monedaPago) {
@@ -893,8 +956,7 @@
}
}
function FnSeleccionaNC(chk, chkNC,txtImporte)
{
function FnSeleccionaNC(chk, chkNC, txtImporte) {
if (chk.checked) {
chkNC.disabled = false;
chkNC.click();
@@ -902,7 +964,7 @@
chkNC.disabled = true;
if (chkNC.checked) {
chkNC.click();
}
}
}
txtImporte.disabled = chkNC.checked;
}
@@ -947,12 +1009,12 @@
}
function CambiaDolaresPesos() {
$get('TxtImporte').value = FormatoNumero(SumaValores(), 2);
$('#LtlTotalMXN').text(FormatoNumero(SumaValores(), 2))
if ($("#LbImporteMN").length) {
$get('LbImporteMN').innerHTML = '$ ' + FormatoNumero(SumaValores(), 2) + ' MXN';
$get('TxtImporte').value = FormatoNumero(ToDouble($get('TxtImporte').value) / ToDouble($get('TxtTCDolares').value), 2);
@@ -999,7 +1061,7 @@
for (var i = 0; i < textBoxes.length; i++) {
if (textBoxes[i].type == "checkbox") {
if (textBoxes[i].id == "ChkAll") {
check = !textBoxes[i].checked;
@@ -1025,7 +1087,7 @@
$get("BtnCambiaTipoMoneda").click();
TipoCambioActual = TipoCambioTxt;
}
}
}
function SumaLiq(txt, CveVenta, pagoMultiple, monedaPago) {
@@ -1037,34 +1099,33 @@
let Anticipos = 0.0;
debugger;
$( ClsSelLiqVenta).each(function () {
$(ClsSelLiqVenta).each(function () {
Total = Total + ToDouble($(this).val());
Total = Total + ToDouble($(this).val());
});
$(ClsSelLiqAnticipo).each(function () {
Anticipos = Anticipos + ToDouble($(this).val());
});
Total = Total + Anticipos;
Total = Total + Anticipos;
$(ClsSelLiqVentaTotal).each(function () {
$(this).val(Total.toFixed(2));
FormatoMoneda2($(this));
});
//FormatoMoneda(txt);
var Suma = SumaValores(pagoMultiple, monedaPago);
$get('TxtImporte').value = FormatoNumero(Suma, 2);
}
function disablekeys()
{
function disablekeys() {
return false;
}

View File

@@ -257,12 +257,18 @@ Partial Class Ventas_ClientesAbonar
DdlProveedorIntermediario.setEsWebService(True)
DdlProveedorIntermediario.Attributes.Add("data-metodo", "getproveedores")
DdlProveedorIntermediario.SelectedText = "Seleccione"
DdlProveedorIntermediario.SelectedValue = "-1"
FechaCorteIE = DateTime.Now
Dim dia As Integer = If(UsuarioActual.CveEmpresa = 13, Now.Day - 1, Now.Day)
Fecha = (dia.ToString + "/" + Now.Month.ToString + "/" + Now.Year.ToString).ToDate
If UsuarioActual.Empresa.Funcionalidad(712) = "1" Then
PorletIntermediario.Visible = True
End If
If CargaCliente(CveCliente, CveMonedaFiltro) Then
IdCuentaBancaria = 0

View File

@@ -4521,6 +4521,11 @@ Partial Class PV
CargaClienteSucursal(DdlSucursalCliente.SelectedValue.ToEntero)
End Sub
Private Sub DdlSubProyectoDatos_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlSubProyectoDatos.SelectedIndexChanged
If CveVenta <= 0 AndAlso (TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count > 0) Then
Alert("No se puede cambiar el subproyecto si ya se agregaron productos y/o servicios.", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
CambiaSucursalGeneral()
CargaFoliosGarantia()

View File

@@ -2784,6 +2784,10 @@ Partial Class Ventas
BtnCrearApartirDe.Visible = False
End If
If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue = "Ing" Then BtnEditar.Visible = True
If UsuarioActual.TienePermisoProceso(302) AndAlso DdlTipoComprobante.SelectedValue = "Egs" AndAlso LblSeTimbro.Text = "No" Then
BtnEditar.Visible = True
End If
'DdlEstatus.Enabled = True
DivFechaAnticipoCliente.Visible = True
@@ -8411,6 +8415,7 @@ Partial Class Ventas
TmpDT.Rows(e.RowIndex)("TiempoEntrega") = GvPS.Rows(e.RowIndex).FCTextBox("TxtTiempoEntrega").Text.Trim
TmpDT.Rows(e.RowIndex)("PU") = PU
TmpDT.Rows(e.RowIndex)("Descuento") = ObjDescuento.ImporteDescuento
TmpDT.Rows(e.RowIndex)("Total") = (Cantidad * PU)
TmpDT.Rows(e.RowIndex)("TotalImporte") = (Cantidad * PU).RoundSQL(NumeroDecimales)
TmpDT.Rows(e.RowIndex)("ImporteIVA") = (TmpDT.Rows(e.RowIndex)("PorcentajeIVA").ToString().ToDecimal * TotalCalculableImpuestosIVA).RoundSQL(NumeroDecimales)
TmpDT.Rows(e.RowIndex)("ImporteIEPS") = (TmpDT.Rows(e.RowIndex)("PorcentajeIEPS").ToString().ToDecimal * TotalCalculableImpuestos).RoundSQL(NumeroDecimales)
@@ -23675,7 +23680,7 @@ Partial Class Ventas
End If
End If
Else
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Dev") Then
If DdlTipoComprobante.SelectedValue.Contiene("Ing", "Rem", "Dev", "RNC") Then
CargaInventario(Me.CveVenta)
End If
End If