diff --git a/App_Code/ClsPuntoVenta.vb b/App_Code/ClsPuntoVenta.vb index 6a0112680..79f8f82ed 100644 --- a/App_Code/ClsPuntoVenta.vb +++ b/App_Code/ClsPuntoVenta.vb @@ -243,6 +243,29 @@ Public Class ClsPuntoVenta Return Retorno End Function + Public Function GetCortesPorCuenta(CveCuenta As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_Vta_CuentaCorteGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveCuenta", SqlDbType.Int).Value = CveCuenta + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + .Add("@CveCorte", SqlDbType.Int).Direction = ParameterDirection.Output + End With + + Try + SqlAdapter.Fill(Data) + CveCorte = Integer.Parse(SqlAdapter.SelectCommand.Parameters("@CveCorte").Value.ToString) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al obtener los cuenta de corte", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function + + Public Function GetVta_ReporteCortes(CveEmpresa As Integer, FechaI As Date, FechaF As Date, Optional CveSubProyecto As Integer = -1) As Boolean Dim Retorno As Boolean = False DataAdapter("PA_Vta_ReporteCortesGet") diff --git a/App_Code/ClsRH.vb b/App_Code/ClsRH.vb index 9d5bfabce..2f7f7c87d 100644 --- a/App_Code/ClsRH.vb +++ b/App_Code/ClsRH.vb @@ -6912,6 +6912,26 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo End Function + Public Function GethorariosChecador(CveChecadorHorario As Integer, Estatus As Integer, CveEmpresa As Integer) As Boolean + Dim Retorno As Boolean = False + + DataAdapter("PA_RH_ChecadorHorariosGet") + + With SqlAdapter.SelectCommand.Parameters + .Add("@CveChecadorHorario", SqlDbType.Int).Value = CveChecadorHorario + .Add("@Estatus", SqlDbType.Int).Value = Estatus + .Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa + End With + + Try + SqlAdapter.Fill(Data) + Retorno = True + Catch ex As Exception + OnError("Ocurrió un error al consultar las vacaciones", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) + End Try + + Return Retorno + End Function #End Region diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index d4788ee22..56fce0da2 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -656,6 +656,12 @@ Public Class Timbrado If Ret <> "" Then MensajeErrorCFDI = Ret Retorno = If(Ret = "", True, False) + Case 5 + + Dim Ret As String = TimbrarFacturaPADEv33(Ventas, UsuarioActual, CvePACEspecial) + If Ret <> "" Then MensajeErrorCFDI = Ret + Retorno = If(Ret = "", True, False) + End Select @@ -2187,6 +2193,604 @@ Public Class Timbrado GuardaLogTimbrado(swTiempo.ToString, CvePACEspecial) Return Retorno End Function + + Public Function TimbrarFacturaPADEv33(Ventas As Modelos.Factura, UsuarioActual As Usuario, Optional CvePACEspecial As Integer = -1) As String + If CvePACEspecial = -1 Then + CvePACEspecial = UsuarioActual.Empresa.CvePAC + End If + Dim sw As New Diagnostics.Stopwatch + Dim swmili As Long = 0 + Dim swTiempo As New StringBuilder + sw.Start() + Dim Retorno As String = "" + Dim ObjCFDITimbre As CFDITimbre = Ventas.Timbre + ' 'Sucursal matriz de la empresa + Dim ArchivoLLave As String = String.Format("{0}Certificados\{1}", UsuarioActual.Empresa.Ruta, UsuarioActual.Empresa.ArchivoKey) + Dim ArchivoCertificado As String = String.Format("{0}Certificados\{1}", UsuarioActual.Empresa.Ruta, UsuarioActual.Empresa.ArchivoCer) + Dim UsuarioServicio As String = If(CvePACEspecial = 2, UsuarioActual.Empresa.RFC, "rene.molina@adsistemas.mx") + Dim ClaveServicio As String = If(CvePACEspecial = 2, UsuarioActual.Empresa.RFC.ToLower, "rene2018") + Dim Clave As String = UsuarioActual.Empresa.ContraseñaKey + Dim EmisorRFC As String = UsuarioActual.Empresa.RFC + Dim UrlServicio As String = "" ' Produccion + Dim RutaArchivo As String = String.Format("{0}XML\{1}\", UsuarioActual.Empresa.Ruta, Ventas.TipoDocto) + Dim NombreArchivoXML As String = ObjCFDITimbre.Comprobante.SerieFolio + Dim SubTotal As Decimal = 0 + Dim TimbraProduccion As Boolean = True + If Not Directory.Exists(RutaArchivo) Then Directory.CreateDirectory(RutaArchivo) + Select Case CvePACEspecial + Case 2 + UrlServicio = "http://generacfdi.com.mx/rvltimbrado/service1.asmx?WSDL" 'productivo + Case 4 + 'UrlServicio = "http://juancalderon-001-site1.ftempurl.com/timbrado.asmx?WSDL" + UrlServicio = "http://alterno.gofac.com.mx/cfdi/timbrado.asmx?WSDL" ' alterno + End Select + + If Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa = 1 Then + + EmisorRFC = "AAA010101AAA" + ArchivoLLave = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_AAA010101AAA.key" + ArchivoCertificado = $"{UsuarioActual.Empresa.Ruta}Certificados\CSD01_AAA010101AAA.cer" + Clave = "12345678a" + TimbraProduccion = False + Select Case CvePACEspecial + Case 2 + UsuarioServicio = "fgomez" + ClaveServicio = "12121212" + UrlServicio = "http://generacfdi.com.mx/rvltimbrado/service1.asmx?WSDL" '"http://108.60.211.43/rvltimbrado/service1.asmx" + Case 4 + UsuarioServicio = "UserTest" + ClaveServicio = "1234567890" + UrlServicio = "http://juancalderon-001-site1.ftempurl.com/timbrado.asmx?WSDL" + End Select + End If + +#Region "Valida" + If Not File.Exists(ArchivoCertificado) Then + Alert("El archivo de certificado no existe", TipoMensaje.MsgError) + Return "El archivo de certificado no existe" + End If + If Not File.Exists(ArchivoLLave) Then + Alert("El archivo de llave privada no existe", TipoMensaje.MsgError) + Return "El archivo de llave privada no existe" + End If + If UsuarioActual.Empresa.ContraseñaKey = "" Then + Alert("La clave no puede ser vacía", TipoMensaje.MsgError) + Return "La clave no puede ser vacía" + End If +#End Region + +#Region "Variables" + Dim llaveByte As Byte(), certByte As Byte() + Dim llaveBase64 As String, certBase64 As String + Dim cfdi As New GoFac.GoCfdi() + Dim complemento As String = "" + Dim complementoConcepto As String = "" + +#End Region + +#Region "Verifica" + Try + llaveByte = System.IO.File.ReadAllBytes(ArchivoLLave) + llaveBase64 = Convert.ToBase64String(llaveByte) + Catch ex As Exception + Alert($"Error al leer la llave privada: {ex.Message}", TipoMensaje.MsgError) + Return "Error al leer la llave privada" + End Try + + + Try + certByte = System.IO.File.ReadAllBytes(ArchivoCertificado) + certBase64 = Convert.ToBase64String(certByte) + Catch ex As Exception + Alert($"Error al leer el certificado: {ex.Message}", TipoMensaje.MsgError) + Return "Error al leer el certificado" + + End Try +#End Region + + + sw.Stop() + swTiempo.AppendFormat("Verificado : ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds) + swmili = sw.ElapsedMilliseconds + sw.Start() + + ' cfdi.saltarValidacion("bNtMuvZockPVhEjaPj0E") + ' cfdi.Decimales = 4 +#Region "Certificado" + cfdi.CertificadoArchivo(ArchivoCertificado) +#End Region + + + sw.Stop() + swTiempo.AppendFormat("Certificado : ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds) + swmili = sw.ElapsedMilliseconds + sw.Start() + +#Region "Comprobante" + + cfdi.Comprobante33( + ObjCFDITimbre.Comprobante.Serie, + ObjCFDITimbre.Comprobante.Folio, + ObjCFDITimbre.Comprobante.Fecha.ToString("yyyy-MM-ddTHH:mm:ss"), + ObjCFDITimbre.Comprobante.FormadePago, + ObjCFDITimbre.Comprobante.CondicionesdePago, + ObjCFDITimbre.Comprobante.Subtotal, + ObjCFDITimbre.Comprobante.Descuentos, + ObjCFDITimbre.Comprobante.Moneda, + ObjCFDITimbre.Comprobante.TipoCambio.ToString, + ObjCFDITimbre.Comprobante.Total, + ObjCFDITimbre.Comprobante.TipoComprobante, + ObjCFDITimbre.Comprobante.MetodoPago, + ObjCFDITimbre.Comprobante.LugarExpedicion, + ObjCFDITimbre.Comprobante.Confirmacion) + + If ObjCFDITimbre.CFDIRelacionados.TipoRelacion <> "" Then + cfdi.CfdiRelacionados(ObjCFDITimbre.CFDIRelacionados.TipoRelacion) + For Each uid As String In ObjCFDITimbre.CFDIRelacionados.UUID + cfdi.CfdiRelacionado(uid) + Next + End If +#Region "Emisor" + ' cfdi.agregarCfdiRelacionados() + cfdi.Emisor(EmisorRFC, UsuarioActual.Empresa.Empresa, UsuarioActual.Empresa.CodigoRegimenFiscal) + +#End Region + +#Region "Receptor" + + cfdi.Receptor(ObjCFDITimbre.Receptor.RFC, ObjCFDITimbre.Receptor.Nombre, ObjCFDITimbre.Receptor.ResidenciaFiscal, ObjCFDITimbre.Receptor.NumeroRegistroTributario, ObjCFDITimbre.Receptor.UsoCFDI) + +#End Region + +#End Region + +#Region "Conceptos" + + 'Nodo conceptos, se agregan los PS + + If ObjCFDITimbre.Conceptos IsNot Nothing AndAlso ObjCFDITimbre.Conceptos.Count > 0 Then + For Each concep As CFDIConceptos In ObjCFDITimbre.Conceptos + cfdi.Concepto(concep.ClaveProdServ, concep.Noidentificacion, concep.Cantidad, concep.ClaveUnidad, concep.Unidad, concep.Descripcion, concep.ValorUnitario, concep.Importe, concep.Descuento) + For Each imp As CFDIConceptosImpuestos In concep.Impuestos + If imp.TrasladooRetencion = "T" Then + cfdi.ImpuestoConceptoTraslado(imp.Base, imp.Impuesto, imp.TipoFactor, imp.TasaOCuota, imp.Importe) + Else + cfdi.ImpuestoConceptoRetenido(imp.Base, imp.Impuesto, imp.TipoFactor, imp.TasaOCuota, imp.Importe) + End If + Next + If concep.CuentaPredial <> "" Then cfdi.CuentaPredial(concep.CuentaPredial) + If concep.NumeroPedimento <> "" Then cfdi.InformacionAduanera(concep.NumeroPedimento) + Next + End If + +#End Region + + If ObjCFDITimbre.Comprobante.TipoComprobante.Contiene("I", "E") Then + +#Region "Impuestos" + 'SI NO ES FACTURA EN 0 AGREGA LOS IMPUESTOS + If Ventas.Total <> 0 OrElse (ObjCFDITimbre.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.TotalImpuestosTrasladados > 0) Then + cfdi.Impuestos(ObjCFDITimbre.TotalImpuestosRetenidos, ObjCFDITimbre.TotalImpuestosTrasladados) + End If +#End Region +#Region " Traslados y Retenciones" + + + If ObjCFDITimbre.Retenciones.Sum(Function(x) x.Importe) > 0 Then + ''se acumulan los importes + For Each Ret In ObjCFDITimbre.Retenciones + cfdi.Retencion(Ret.Impuesto, Ret.Importe) + Next + End If + + ''se acumulan los importes + For Each Tras In ObjCFDITimbre.Traslados + cfdi.Traslado(Tras.Impuesto, Tras.TipoFactor, Tras.TasaOCuota, Tras.Importe) + Next +#End Region + +#Region "Impuestos Locales" + + If ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe) > 0 OrElse ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe) > 0 Then + + cfdi.ImpuestosLocales(ObjCFDITimbre.RetencionesLocales.Sum(Function(x) x.Importe), ObjCFDITimbre.TrasladosLocales.Sum(Function(x) x.Importe)) + + For Each ret As CFDIRetencionesLocales In ObjCFDITimbre.RetencionesLocales + If ret.Importe > 0 Then + cfdi.RetencionLocal(ret.ImpuestoLocalRetenido, ret.TasaRetencion, ret.Importe) + End If + Next + + For Each ret As CFDITrasladosLocales In ObjCFDITimbre.TrasladosLocales + If ret.Importe > 0 Then + cfdi.TrasladoLocal(ret.ImpuestoLocalTraslado, ret.TasaTraslado, ret.Importe) + End If + Next + End If + + If Ventas.CveComplementoTimbrado > 0 Then + + Select Case Ventas.CveComplementoTimbrado + Case 5 'INE Proceso Ordinario Directivo Estatal" + cfdi.Ine11("Ordinario", "Directivo Estatal", "0") + + cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "") + cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad) + Case 6 'INE Proceso Ordinario Ejecutivo Estatal" + cfdi.Ine11("Ordinario", "Ejecutivo Estatal", "0") + + cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, "") + cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad) + Case 7 'INE Proceso Ordinario Ejecutivo Nacional" + + cfdi.Ine11("Ordinario", "Ejecutivo Nacional", Ventas.ComplementoINE.INEIdContabilidad.ToString) + Case 8 'INE PreCampaña + cfdi.Ine11(Ventas.ComplementoINE.INETipoProceso, "", "0") + + cfdi.IneEntidad(Ventas.ComplementoINE.INEEntidad, Ventas.ComplementoINE.INETipoComite) + cfdi.IneContabilidad(Ventas.ComplementoINE.INEIdContabilidad) + End Select + + End If + + + +#End Region + + +#Region "Comercio Exterior" + + If Ventas.Cliente.AplicaComercioExterior And ObjCFDITimbre.Complementos.ComercioExterior11.AplicaComercioExteriorSubProyecto Then + If ObjCFDITimbre.Complementos.ComercioExterior11 IsNot Nothing Then + + 'DATOS GENERALES + cfdi.ComercioExterior11(ObjCFDITimbre.Complementos.ComercioExterior11.MotivoTraslado, + ObjCFDITimbre.Complementos.ComercioExterior11.TipoOperacion, + ObjCFDITimbre.Complementos.ComercioExterior11.ClavedePedimento, + ObjCFDITimbre.Complementos.ComercioExterior11.CertificadoOrigen, + ObjCFDITimbre.Complementos.ComercioExterior11.NumCertificadoOrigen, + ObjCFDITimbre.Complementos.ComercioExterior11.NumeroExportadorConfiable, + ObjCFDITimbre.Complementos.ComercioExterior11.Incoterm, + ObjCFDITimbre.Complementos.ComercioExterior11.Subdivision, + ObjCFDITimbre.Complementos.ComercioExterior11.Observaciones, + ObjCFDITimbre.Complementos.ComercioExterior11.TipoCambioUSD, + ObjCFDITimbre.Complementos.ComercioExterior11.TotalUSD) + 'EMISOR + cfdi.ComercioExterior11Emisor(If(EmisorRFC.Length >= 12, "", ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CURP)) + cfdi.ComercioExterior11Domicilio(ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Calle, + ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroExterior, + ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.NumeroInterior, + ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Colonia, + ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Localidad, + ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Referencia, + ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Municipio, + ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Estado, + ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.Pais, + ObjCFDITimbre.Complementos.ComercioExterior11.Emisor.CP) + 'RECEPTOR + cfdi.ComercioExterior11Receptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumRegIdTrib) + cfdi.ComercioExterior11DomicilioReceptor(ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Calle, + ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroExterior, + ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.NumeroInterior, + ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Colonia, + ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Localidad, + ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Referencia, + ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Municipio, + ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Estado, + ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.Pais, + ObjCFDITimbre.Complementos.ComercioExterior11.Receptor.CP) + cfdi.ComercioExterior11Destinatario(ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumRegIdTrib, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Nombre, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Calle, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroExterior, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.NumeroInterior, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Colonia, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Localidad, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Referencia, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Municipio, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Estado, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.Pais, + ObjCFDITimbre.Complementos.ComercioExterior11.Destinatario.CP) + 'MERCANCIAS + If ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias IsNot Nothing AndAlso ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias.Count > 0 Then + For Each concep As CFDIComercioExterior11Mercancias In ObjCFDITimbre.Complementos.ComercioExterior11.Mercancias + cfdi.ComercioExterior11Mercancia(concep.NoIdentificacion, concep.FraccionArancelaria, concep.CantidadAduana, concep.UnidadAduana, concep.ValorUnitarioAduana, concep.ValorDolares) + If concep.DescripcionesEspecificas.Marca <> "" Then + cfdi.ComercioExterior11MercanciaDescripcionesEspeciales(concep.DescripcionesEspecificas.Marca, + concep.DescripcionesEspecificas.Modelo, + concep.DescripcionesEspecificas.SubModelo, + concep.DescripcionesEspecificas.NumeroSerie) + End If + Next + + End If + + + End If + End If + +#End Region + + + End If + +#Region "Complemento Pago" + + If ObjCFDITimbre.Comprobante.TipoComprobante = "P" Then + + cfdi.Pago(ObjCFDITimbre.ComplementoPagos.FechaPago.ToString("yyyy-MM-ddTHH:mm:ss"), + ObjCFDITimbre.ComplementoPagos.FormaDePagoP, + ObjCFDITimbre.ComplementoPagos.MonedaP, + ObjCFDITimbre.ComplementoPagos.TipoCambioP, + ObjCFDITimbre.ComplementoPagos.Monto, + ObjCFDITimbre.ComplementoPagos.NumOperacion, + ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaOrd, + ObjCFDITimbre.ComplementoPagos.NomBancoOrdExt, + ObjCFDITimbre.ComplementoPagos.CtaOrdenante, + ObjCFDITimbre.ComplementoPagos.RfcEmisorCtaBen, + ObjCFDITimbre.ComplementoPagos.CtaBeneficiario, + ObjCFDITimbre.ComplementoPagos.TipoCadPago, + ObjCFDITimbre.ComplementoPagos.CertPago, + ObjCFDITimbre.ComplementoPagos.CadPago, + ObjCFDITimbre.ComplementoPagos.SelloPago) + + + If ObjCFDITimbre.ComplementoPagos.DocumentosRelacionados.Count > 0 Then + + + For Each doc As CFDIComplementoPagosDocsRelacionados In ObjCFDITimbre.ComplementoPagos.DocumentosRelacionados + cfdi.PagoDoctoRelacionado(doc.IdDocumento, + doc.Serie, + doc.Folio, + doc.MonedaDR, + doc.TipoCambioDR, + doc.MetodoDePagoDR, + doc.NumParcialidad, + doc.ImpSaldoAnt, + doc.ImpPagado, + doc.ImpSaldoInsoluto) + + Next + + 'Estos impuestos aplicarían para anticipos + If ObjCFDITimbre.ComplementoPagos.TotalImpuestosRetenidos > 0 OrElse ObjCFDITimbre.ComplementoPagos.TotalImpuestosTrasladados > 0 Then + + cfdi.PagoImpuestos(ObjCFDITimbre.ComplementoPagos.TotalImpuestosRetenidos, ObjCFDITimbre.ComplementoPagos.TotalImpuestosTrasladados) + If (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "R").Count > 0 Then + For Each Ret As CFDIConceptosImpuestos In (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "R") + cfdi.PagoRetencion(Ret.Impuesto, Ret.Importe) + Next + End If + If (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "T").Count > 0 Then + For Each Tra As CFDIConceptosImpuestos In (ObjCFDITimbre.ComplementoPagos.Impuestos).Where(Function(x) x.TrasladooRetencion = "T") + cfdi.PagoTraslado(Tra.Impuesto, Tra.TipoFactor, Tra.TasaOCuota, Tra.Importe) + Next + End If + + End If + + + + End If + + End If +#End Region + + + +#Region "Nomina12" + If ObjCFDITimbre.Comprobante.TipoComprobante = "N" Then + + 'cfdi.Esquema.AgregarEsquema("http://www.sat.gob.mx/nomina12 http://www.sat.gob.mx/sitio_internet/cfd/nomina/nomina12.xsd") + cfdi.Nomina12(ObjCFDITimbre.Nomina.TipoNomina, ObjCFDITimbre.Nomina.FechaPago.ToString("yyyy-MM-dd"), ObjCFDITimbre.Nomina.FechaInicio.ToDate().ToString("yyyy-MM-dd"), ObjCFDITimbre.Nomina.FechaFin.ToDate().ToString("yyyy-MM-dd"), ObjCFDITimbre.Nomina.NumDiasPagados, If(ObjCFDITimbre.Nomina.Percepciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Percepciones.Count > 0, ObjCFDITimbre.Nomina.TotalPercepciones, 0), If(ObjCFDITimbre.Nomina.Deducciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Deducciones.Count > 0, ObjCFDITimbre.Nomina.TotalDeducciones, 0), If(ObjCFDITimbre.Nomina.OtrosPagos IsNot Nothing AndAlso ObjCFDITimbre.Nomina.OtrosPagos.Count > 0, ObjCFDITimbre.Nomina.TotalOtrosPagos, 0)) + + cfdi.Nomina12Emisor(ObjCFDITimbre.Emisor.CURP, If(ObjCFDITimbre.Nomina.Receptor.TipoContrato = "99", "", ObjCFDITimbre.Emisor.RegistroPatronal), ObjCFDITimbre.Emisor.RFC) + + If UsuarioActual.Empresa.UsaAC Then cfdi.Nomina12EntidadSNCF("IF", 90) + + +#Region "Receptor" + + cfdi.Nomina12Receptor(ObjCFDITimbre.Nomina.Receptor.CURP, + ObjCFDITimbre.Nomina.Receptor.NSS, + ObjCFDITimbre.Nomina.Receptor.FechaInicioContrato.ToDate().ToString("yyyy-MM-dd"), + ObjCFDITimbre.Nomina.Receptor.Antiguedad, + ObjCFDITimbre.Nomina.Receptor.TipoContrato, + ObjCFDITimbre.Nomina.Receptor.Sindicalizado, + ObjCFDITimbre.Nomina.Receptor.CodigoTipoJornada, + ObjCFDITimbre.Nomina.Receptor.CodigoRegimenContratacion, + ObjCFDITimbre.Nomina.Receptor.CodigoEmpleado, + ObjCFDITimbre.Nomina.Receptor.Departamento, + ObjCFDITimbre.Nomina.Receptor.Puesto, + ObjCFDITimbre.Nomina.Receptor.CodigoRiesgoPuesto, + If(ObjCFDITimbre.Nomina.TipoNomina = "E", "99", ObjCFDITimbre.Nomina.Receptor.TipoPeriodo), + ObjCFDITimbre.Nomina.Receptor.CodigoBanco, + ObjCFDITimbre.Nomina.Receptor.NumeroCuenta, + ObjCFDITimbre.Nomina.Receptor.SBC, + ObjCFDITimbre.Nomina.Receptor.SDI, + ObjCFDITimbre.Nomina.Receptor.CodigoEntidadFederativa) + 'cfdi.Nomina12SubContratacion("", "0") + 'cfdi.agregarNominaPercepcionesPercepcionAccionesOTitulos12("100", "200"); + 'cfdi.agregarNominaPercepcionesSeparacionIndemnizacion12("100", "10", "1000", "100", "50"); + 'cfdi.agregarNominaPercepcionesJubilacionPensionRetiro12("50", "100", "10", "100", "0"); + + + End If +#End Region + If ObjCFDITimbre.Nomina IsNot Nothing Then + + If ObjCFDITimbre.Nomina.Percepciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Percepciones.Count > 0 Then + cfdi.Nomina12Percepciones(ObjCFDITimbre.Nomina.TotalSueldos, ObjCFDITimbre.Nomina.TotalIndemnizacion, ObjCFDITimbre.Nomina.TotalJubilacion, ObjCFDITimbre.Nomina.TotalPercepcionesGravado, ObjCFDITimbre.Nomina.TotalPercepcionesExento) + For Each percep As CFDINominaPercepciones In ObjCFDITimbre.Nomina.Percepciones + cfdi.Nomina12Percepcion(percep.TipoPercepcion, percep.Clave, percep.Concepto, Math.Round(percep.ImporteGravado, 2), Math.Round(percep.ImporteExento, 2)) + Next + End If + + 'deducciones al final + If ObjCFDITimbre.Nomina.Deducciones IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Deducciones.Count > 0 Then + cfdi.Nomina12Deducciones(ObjCFDITimbre.Nomina.TotalDeduccionesOtras, Math.Round(ObjCFDITimbre.Nomina.TotalDeduccionesImpuestosRetenidos, 2)) + For Each deduc As CFDINominaDeducciones In ObjCFDITimbre.Nomina.Deducciones + cfdi.Nomina12Deduccion(deduc.TipoDeduccion, deduc.Clave, deduc.Concepto, Math.Round(deduc.Importe, 2)) + Next + End If + + If ObjCFDITimbre.Nomina.HorasExtras IsNot Nothing AndAlso ObjCFDITimbre.Nomina.HorasExtras.Count > 0 Then + For Each HoraExtra As CFDINominaHorasExtras In ObjCFDITimbre.Nomina.HorasExtras + cfdi.Nomina12HorasExtra(HoraExtra.Dias.ToEntero, HoraExtra.TipoHoras, HoraExtra.HorasExtra, HoraExtra.ImportePagado) + Next + End If + + If ObjCFDITimbre.Nomina.Incapacidades IsNot Nothing AndAlso ObjCFDITimbre.Nomina.Incapacidades.Count > 0 Then + For Each Incap As CFDINominaIncapacidades In ObjCFDITimbre.Nomina.Incapacidades + cfdi.Nomina12Incapacidad(Incap.DiasIncapacidad.ToEntero, Incap.TipoIncapacidad, Incap.Importe) + Next + End If + + If ObjCFDITimbre.Nomina.OtrosPagos IsNot Nothing Then + ' cfdi.agregarNominaOtrosPagosOtroPago12("002", "002", "Subsidio", "10.00"); + ' cfdi.agregarNominaOtrosPagosOtroPagoSubsidioAlEmpleo12("10.00"); + If ObjCFDITimbre.Nomina.OtrosPagos IsNot Nothing AndAlso ObjCFDITimbre.Nomina.OtrosPagos.Count > 0 Then + For Each otpag As CFDINominaOtrosPagos In ObjCFDITimbre.Nomina.OtrosPagos + cfdi.Nomina12OtroPago(otpag.TipoOtroPago, otpag.Clave, otpag.Concepto, otpag.Importe) + If otpag.TipoOtroPago = "002" Then + cfdi.Nomina12SubsidioAlEmpleo(otpag.Subsidiocausado) + End If + + Next + End If + End If + End If +#End Region + + sw.Stop() + swTiempo.AppendFormat("Armado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds) + swmili = sw.ElapsedMilliseconds + sw.Start() +#Region "Genera XML" + Dim ArchivoGenerado As Boolean = False + Try + cfdi.GenerarXMLB64(llaveBase64, Clave) + ArchivoGenerado = True + Catch ex As Exception + Retorno = cfdi.MensajeError + If Retorno = "" OrElse IsNothing(Retorno) Then + Retorno = $"llaveBase64 ={llaveBase64}
Clave ={Clave}
{ex.ToString()}" + End If + MensajeErrorCFDI = Retorno + End Try + +#End Region + sw.Stop() + swTiempo.AppendFormat("Genera: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds) + swmili = sw.ElapsedMilliseconds + sw.Start() + +#Region "Timbra" + If ArchivoGenerado Then + + 'cfdi.TimbrarCfdi(UsuarioServicio, ClaveServicio, UrlServicio, TimbraProduccion) + + 'sw.Stop() + 'swTiempo.AppendFormat("Timbrado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds) + 'swmili = sw.ElapsedMilliseconds + 'sw.Start() + ''Verifica el error + 'If cfdi.CodigoError = 0 Then + + ' Dim FolioFiscal As String + + ' UUID = cfdi.UUID + ' FolioFiscal = cfdi.UUID 'obtenerAtributo(cfdi.XmlTimbrado, "TimbreFiscalDigital", "UUID") 'XmlDoc.DocumentElement("cfdi:Complemento").FirstChild.Attributes("UUID").InnerText + + ' If FolioFiscal <> "" Then + + ' cfdi.EscribirXML(cfdi.Xml, RutaArchivo, NombreArchivoXML) + + ' sw.Stop() + ' swTiempo.AppendFormat("Guardado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds) + ' swmili = sw.ElapsedMilliseconds + ' sw.Start() + + ' If ObjCFDITimbre.Comprobante.TipoComprobante <> "P" Then + + ' 'Actualiza Estatus Factura + ' If Ventas.CveVenta > 0 Then + + ' Using ObjVentas As New ClsVentas() + + ' If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=CvePACEspecial) Then + ' Retorno = "" + ' Else + ' Retorno = "Error" + ' End If + ' End Using + + ' 'Genero la addenda Ford + ' If Ventas.Cliente.Ford_GSDB <> "" Then + + ' Dim RutaCadena As String = String.Format("{0}{1}.xml", RutaArchivo, NombreArchivoXML) 'If(UsuarioActual.Empresa.FacturaProduccion, String.Format("{0}XML\{1}\{2}.xml", Ruta, Ventas.SerieFolio), String.Format("{0}XML\{1}\{2}.xml", Ruta, Ventas.TipoDocto, Ventas.SerieFolio)) + + ' Dim FolioFactura As String = "" + ' If UsuarioActual.CveEmpresa = 8 Then FolioFactura = Ventas.Folio.ToString ' sogo, pordefault manda el folio de la factura + ' GeneraAddendaFord(RutaCadena, FolioFactura, Ventas.FordASN, Ventas.FordGSDB) + + ' End If + + ' End If + + ' If ObjCFDITimbre.Comprobante.TipoComprobante = "N" Then + ' Using ObjNomina2 As New ClsNominas() + + ' If ObjNomina2.UpdateEstatusNomNominas(3, CvePACEspecial, FolioFiscal, "", ("01/01/2000").ToDate, ObjCFDITimbre.Nomina.CveNomina, 0, 0, 0, 0, 0) Then + ' Retorno = "" + ' Else + ' Retorno = "Error" + ' End If + ' End Using + ' End If + + ' If ObjCFDITimbre.Comprobante.TipoComprobante = "T" Then + ' Using ObjInv As New ClsInventarios() + ' If ObjInv.UpdateMovimientoTimbrado(Ventas.Inv_CveMovimiento, 1, FolioFiscal, MinFecha) Then + ' Retorno = "" + ' Else + ' Retorno = "Error" + ' End If + ' End Using + ' End If + ' End If + + ' If Not IO.Directory.Exists($"{UsuarioActual.Empresa.Ruta}CBB\") Then IO.Directory.CreateDirectory($"{UsuarioActual.Empresa.Ruta}CBB\") + + ' Try + ' Dim RutaCBB As String = $"{UsuarioActual.Empresa.Ruta}CBB\{ObjCFDITimbre.Comprobante.SerieFolio}.jpg" + ' Dim b As Byte() = cfdi.QrCode($"?re={UsuarioActual.Empresa.RFC}&rr={ObjCFDITimbre.Receptor.RFC}&tt={String.Format("{0,12:F6}", ObjCFDITimbre.Comprobante.Total).Trim()}&id={FolioFiscal}") + ' File.WriteAllBytes(RutaCBB, b) + ' Catch ex As Exception + ' OnError("Ocurrió un error al generar el QR", ex) + ' End Try + ' Retorno = "" + ' Else + ' Retorno = "No se pudo timbrar ante el SAT. UUID no generado." + ' End If + ' sw.Stop() + ' swTiempo.AppendFormat("Actualizado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds) + ' swmili = sw.ElapsedMilliseconds + ' sw.Start() + + 'Else + ' Retorno = cfdi.MensajeError + ' MensajeErrorCFDI = cfdi.MensajeError + ' If cfdi.Xml <> "" Then cfdi.EscribirXML(cfdi.Xml, RutaArchivo, NombreArchivoXML) + + ' End If + End If + +#End Region + GuardaLogTimbrado(swTiempo.ToString, CvePACEspecial) + Return Retorno + End Function + Public Sub GuardaLogTimbrado(Str As String, CvePAC As Integer) Dim ArchivoW As StreamWriter Dim strLineaTMP As String diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 63a198a2d..598bfd446 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -1261,13 +1261,14 @@ Partial Class Bancos_IE GvRH.DataBind() UpGvRH.Update() End Sub - Private Sub CargaCorteCaja() + Private Sub CargaCorteCaja(CveCuenta As Integer) 'Checar si hay un Turno Abierto Dim ObjPVenta As New ClsPuntoVenta - If ObjPVenta.GetVta_Cortes("-1", "-1", UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, 0) Then - If ObjPVenta.DtResultados.Rows.Count > 0 Then - CveCorte = ObjPVenta.CveCorte - End If + + If ObjPVenta.GetCortesPorCuenta(CveCuenta, UsuarioActual.CveEmpresa) Then + + CveCorte = ObjPVenta.CveCorte + End If ObjPVenta.Dispose() End Sub @@ -1637,8 +1638,8 @@ Partial Class Bancos_IE End If 'PAGAR NC CON C.CH DEBE DESCONTAR EN EL CORTE - If UsuarioActual.TienePermisoProceso(160) AndAlso Opcion IsNot Nothing AndAlso Opcion = "DevDinV" AndAlso dr("CveTipoCuenta").ToString.ToEntero = 1 Then - CargaCorteCaja() + If Opcion IsNot Nothing AndAlso Opcion = "DevDinV" AndAlso dr("CveTipoCuenta").ToString.ToEntero = 1 Then + CargaCorteCaja(DdlCuenta.SelectedValue.ToEntero) End If If dr("UsaTarjeta").ToString = "True" Then diff --git a/Compras/Compras.aspx b/Compras/Compras.aspx index b5bfea7dd..9d90e76a0 100644 --- a/Compras/Compras.aspx +++ b/Compras/Compras.aspx @@ -5158,7 +5158,7 @@ - - + --%> + + + + + + + + @@ -6292,14 +6396,80 @@ } - //function ScrollVentanaAddProducto() { - // let wh = $(window).height(); - - // if (wh <= 770) { - // // $('#DVBodyAddProducto').css("max-height", 450); - // } - //} - + function ValidateCant(ncss, SubtotalValidar) { + + let SubTotal = 0.0; + + let CantidadS = $(".CssCantidad" + ncss).val(); + let PuS = $(".CssPU" + ncss).val(); + + let Cantidad = 0.0; + let Pu = 0.0; + + try{ + + if (CantidadS.length > 0 && PuS.length > 0) { + + Cantidad = parseFloat(CantidadS); + Pu = parseFloat(PuS); + + $(".CssImporte" + ncss).val(Cantidad * Pu); + + + }else{ + $(".CssImporte" + ncss).val("0"); + } + + + } catch (error) { + $(".CssImporte" + ncss).val("0"); + } + + //$('.ImporteCSS').each(function () { + + + // if(! isNaN(parseFloat($(this).val()) )){ + // SubTotal = SubTotal + parseFloat($(this).val()) + // } + + //}); + + ValidaBotonContrato(SubtotalValidar); + + + + //if (SubtotalValidar == SubTotal) { + // $('#BtnAplicarContrato').prop('disabled', false); + //} else { + // $('#BtnAplicarContrato').prop('disabled', true); + //} + + } + + function ValidaBotonContrato(SubtotalValidar) { + + let SubTotal = 0.0; + + + + $('.ImporteCSS').each(function () { + + if (!isNaN(parseFloat($(this).val()))) { + SubTotal = SubTotal + parseFloat($(this).val()) + } + }); + + + + if (SubtotalValidar == SubTotal) { + $('#BtnAplicarContrato').prop('disabled', false); + } else { + $('#BtnAplicarContrato').prop('disabled', true); + } + + $('#LblTotalContrato').text(SubTotal); + + } diff --git a/Compras/Compras.aspx.vb b/Compras/Compras.aspx.vb index 596aa860d..4f8101173 100644 --- a/Compras/Compras.aspx.vb +++ b/Compras/Compras.aspx.vb @@ -1181,6 +1181,37 @@ Partial Class Compras_Compras + Private Property MaxIVAProcentaje As Decimal + Get + If ViewState("MaxIVAProcentaje") Is Nothing Then + Return 0 + Else + Return ViewState("MaxIVAProcentaje").ToString.ToDecimal + End If + End Get + Set(value As Decimal) + ViewState("MaxIVAProcentaje") = value + End Set + End Property + + + Private Property MAXRetIVAPorcentaje As Decimal + Get + If ViewState("MAXRetIVAPorcentaje") Is Nothing Then + Return 0 + Else + Return ViewState("MAXRetIVAPorcentaje").ToString.ToDecimal + End If + End Get + Set(value As Decimal) + ViewState("MAXRetIVAPorcentaje") = value + End Set + End Property + + + + + @@ -1206,7 +1237,7 @@ Partial Class Compras_Compras CveConceptoContableAlmacen = 0 EsNoDeducible = False CveTipoConcepto = 1 - CargaContratos() + 'CargaContratos() '******** Prorrateo ******************************************** If UsuarioActual.Empresa.Funcionalidad(117) <> "" Then btnProrateo.Visible = True @@ -1781,31 +1812,42 @@ Partial Class Compras_Compras Xml.Append(Replace(Replace(Replace(nodeconceptos.OuterXml, " 0 Then + MaxIVAProcentaje = ObjeFacturas.DtResultados.MAX("IVAPorcentaje").ToDecimal + MAXRetIVAPorcentaje = ObjeFacturas.DtResultados.MAX("RetIVAPorcentaje").ToDecimal + Else + MaxIVAProcentaje = 0 + End If + + + + 'TmpDT.Columns.Add("IVAPorcentaje") 'TmpDT.Columns.Add("RetIVAPorcentaje") 'TmpDT.Columns.Add("RetISRPorcentaje") 'TmpDT.Columns.Add("IEPSPSPorcentaje") 'TmpDT.Columns.Add("IEPSPSIVAPorcentaje") SubTotalConceptos = Math.Round(TmpDT.SUM("Total"), 2).ToDecimal - AddPS2(False) + AddPS2(False) - 'VALIDA QUE EL XML SI VIENE CON EL CODIGO SAT 01010101 - Dim ProductosCodigoSATNoPermitidos As New StringBuilder("") - For Each drr As DataRow In TmpDT.FiltraParametros("ClaveProdServ = '01010101'").Rows + 'VALIDA QUE EL XML SI VIENE CON EL CODIGO SAT 01010101 + Dim ProductosCodigoSATNoPermitidos As New StringBuilder("") + For Each drr As DataRow In TmpDT.FiltraParametros("ClaveProdServ = '01010101'").Rows - ProductosCodigoSATNoPermitidos.AppendFormat("{0}
", drr("PS")) + ProductosCodigoSATNoPermitidos.AppendFormat("{0}
", drr("PS")) - Next + Next - If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then - Dim mensajeAdvertencia As String = String.Format("El comprobante contiene productos con código SAT '01010101', revise los productos:

{0}", ProductosCodigoSATNoPermitidos.ToString) - Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia) + If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then + Dim mensajeAdvertencia As String = String.Format("El comprobante contiene productos con código SAT '01010101', revise los productos:

{0}", ProductosCodigoSATNoPermitidos.ToString) + Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia) + + End If End If - - End If - Else + Else CargaConceptosXML(XMLDoc) End If @@ -1831,7 +1873,7 @@ Partial Class Compras_Compras DdlTipoCompra.Items.Add(New ListItem("Apoyo Logístico", "9")) DdlTipoCompra.Items.Add(New ListItem("NC Por Devolución", "11")) - + LiAccionesContratos.Visible = True End Select 'DIV ALIAS @@ -20475,22 +20517,183 @@ Partial Class Compras_Compras End Function - Private Sub CargaContratos() - DdlContrato.DataSource = GlobalDTContratos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveContratoTipo IN(30,31) ") - DdlContrato.DataBind() - DdlContrato.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todos", "-1")) - End Sub + 'Private Sub CargaContratos() + ' DdlContrato.DataSource = GlobalDTContratos.FiltraParametros($"CveEmpresa = {UsuarioActual.CveEmpresa} AND CveContratoTipo IN(30,31) ") + ' DdlContrato.DataBind() + ' DdlContrato.Items.Insert(0, New System.Web.UI.WebControls.ListItem("Todos", "-1")) + 'End Sub - Protected Sub BtnModalContratos_Click(sender As Object, e As EventArgs) + 'Protected Sub BtnModalContratos_Click(sender As Object, e As EventArgs) - RegistraScript("$('#DvModalContratos').modal('hide');") - CveContratoObra = DdlContrato.SelectedValue.ToEntero + ' RegistraScript("$('#DvModalContratos').modal('hide');") + ' CveContratoObra = DdlContrato.SelectedValue.ToEntero + + + 'End Sub - End Sub Protected Sub LnkContratos_Click(sender As Object, e As EventArgs) - RegistraScript("$('#DvModalContratos').modal('show');") + + 'RegistraScript("$('#DvModalContratos').modal('show');") + + DdlContratosObra.Items.Clear() + DdlContratosObra.DataSource = GlobalDTContratos.FiltraParametros(String.Format($"CveContratoTipo in (30,31) AND CveEmpresa = {UsuarioActual.CveEmpresa}")) + DdlContratosObra.DataBind() + 'DdlContratosObra.Items.Insert(0, New ListItem("Seleccione", "-1")) + + + DdlTipoGastoObra.Items.Clear() + DdlTipoGastoObra.DataSource = GlobalDTTiposGastos(UsuarioActual.CveEmpresa) + DdlTipoGastoObra.DataBind() + DdlTipoGastoObra.Items.Insert(0, New ListItem("Seleccione", "-1")) + + + + RegistraScript($"$('#DivmodalConmtrato').modal('show'); $( '#BtnAplicarContrato' ).prop( 'disabled', true ); ValidaBotonContrato({TxtSubTotal2.Text.ToDecimal});") + UpModalContrato.Update() + + End Sub + + + Protected Sub DdlContratosCompras_SelectedIndexChanged(sender As Object, e As EventArgs) + + + If DdlContratosObra.SelectedValue.ToEntero > 0 Then + Dim ObjContratos As New ClsContratos() + + If ObjContratos.GetContratosObraCompras(DdlContratosObra.SelectedValue.ToEntero, UsuarioActual.CveEmpresa) Then + + If ObjContratos.DtResultados.Rows.Count > 0 Then + GvContratosControl.DataSource = ObjContratos.DtResultados + 'BtnAplicarContrato.Visible = True + Else + GvContratosControl.DataSource = Nothing + 'BtnAplicarContrato.Visible = False + End If + + End If + + + ObjContratos.Dispose() + + GvContratosControl.DataBind() + + UpModalContrato.Update() + End If + + RegistraScript("$( '#BtnAplicarContrato' ).prop( 'disabled', true );") + + End Sub + + + Protected Sub BtnAplicarContrato_Click(sender As Object, e As EventArgs) + + + TmpDT.Rows.Clear() + + Dim CveTipoGastoObra As Integer = DdlTipoGasto.SelectedValue.ToEntero + + For Each GvRow As GridViewRow In GvContratosControl.Rows + + Dim CveContratoDetalle As Integer = GvRow.DataKey("CveContratoDetalle").ToEntero + + Dim Cantidad As Double = GvRow.FCTextBox("TxtCantidad").Text.ToDouble + Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero + Dim PS As String = GvRow.DataKey("PS") + Dim PU As Double = GvRow.FCTextBox("TxtPU").Text.ToDouble + Dim TotalPS As Double = GvRow.FCTextBox("TxtImporte").Text.ToDouble + Dim CveUnidadMedida As Integer = GvRow.DataKey("CveUnidadMedida").ToEntero + Dim UMAbreviatura As String = GvRow.DataKey("Abreviatura").ToString + + Dim SubProyecto As String = GvRow.DataKey("SubProyecto") + Dim CveSubProyecto As Integer = GvRow.DataKey("CveSubProyecto").ToEntero + Dim Codigo As String = "" 'GvRow.DataKey("Codigo") + + Dim Proyecto As String = GvRow.DataKey("Proyecto") + Dim CveProyecto As Integer = GvRow.DataKey("CveProyecto").ToEntero + + Dim RetISR As Double = GvRow.DataKey("RetISR").ToString.ToDouble + Dim RetIVA As Double = MAXRetIVAPorcentaje 'GvRow.DataKey("RetIVA").ToString.ToDouble + + Dim IvaPS As Double = MaxIVAProcentaje + + Dim CveClasificacion As Integer = GvRow.DataKey("CveClasificacion").ToString.ToEntero + Dim Clasificacion As String = GvRow.DataKey("Clasificacion") + + + Dim IEPSPS As Double = GvRow.DataKey("IEPSPorcentaje").ToString.ToDouble + Dim IEPSPSIVA As Double = If(GvRow.DataKey("IEPSGrabaIVA").ToString = "True", IEPSPS, 0) + + + Dim CveTipoPS As Integer = GvRow.DataKey("CveTipoPS").ToEntero + + Dim CveSATPS As Integer = GvRow.DataKey("CveSATPS").ToEntero + + + Dim IdCuentaPorEjercer As Integer = -1 + Dim IdCuentaComprometido As Integer = -1 + + Dim TotalRow As Decimal = (PU * Cantidad).RoundSQL(2).ToDecimal + + If Cantidad > 0 Then + + + AddPS(Cantidad, CveUnidadMedida, UMAbreviatura, CveClasificacion, Clasificacion, CvePS, PS, CveTipoPS, CveSubProyecto.ToString, SubProyecto, Proyecto, CveProyecto.ToString, "", PU, TotalRow, IvaPS, RetIVA, RetISR, IEPSPS, IEPSPSIVA, 0, -1, False, + CantidadF:=0, EntregaDirecta:=0, CveSATPS:=CveSATPS, CveTipoGasto:=DdlTipoGastoObra.SelectedValue.ToEntero, TipoGasto:=DdlTipoGastoObra.SelectedItem.Text, CveContratoDetalle:=CveContratoDetalle, CveCultivoCuadroDetalle:=-1) + + + 'AddPS(Cantidad, CvePS, PS, PS, PU, 0, TotalPS, + 'CveUnidadMedida, IvaPS, IEPSPS, IEPSPSIVA, CveClasificacion, UMAbreviatura, Clasificacion, CveProyecto, Proyecto, + 'CveSubProyecto, SubProyecto, Codigo, -1, 0, -1, -1, IdCuentaPorEjercer, + 'IdCuentaComprometido, -1, -1, -1, -1, + '-1, RetIVA, RetISR, CveContratoDetalle:=CveContratoDetalle, CveTipoGastoObra:=CveTipoGastoObra, CveCultivoCuadroDetalle:=-1, Cuadro:="") + + + '' ContratoObraAplciado = True + + End If + + Next + + 'CargaSuperior() + 'CargaDatosDetalles() + + + + GvPS.DataSource = TmpDT + GvPS.DataBind() + UpPS.Update() + + RegistraScript("$('#DivmodalConmtrato').modal('hide')") + ' UPPDetalle.Update() + + + End Sub + + Private Sub GvContratosControl_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvContratosControl.RowDataBound + + + If e.Row.RowType = DataControlRowType.DataRow Then + + Dim CveContratoDetalle As Integer = e.Row.DataKey("CveContratoDetalle").ToEntero + + e.Row.FCTextBox("TxtCantidad").CssClass = $"CssCantidad{CveContratoDetalle}" + e.Row.FCTextBox("TxtCantidad").Attributes.Add("onkeyup", $"ValidateCant('{CveContratoDetalle}',{TxtSubTotal2.Text.ToDecimal})") + + e.Row.FCTextBox("TxtPU").CssClass = $"CssPU{CveContratoDetalle}" + e.Row.FCTextBox("TxtPU").Attributes.Add("onkeyup", $"ValidateCant('{CveContratoDetalle}',{TxtSubTotal2.Text.ToDecimal})") + + + e.Row.FCTextBox("TxtImporte").CssClass = $"ImporteCSS CssImporte{CveContratoDetalle}" + + + + End If + + + End Sub + End Class Public Class MMensajeDevolucion diff --git a/Contabilidad/PlantillasPolizasDetalle.aspx b/Contabilidad/PlantillasPolizasDetalle.aspx index 34fb74f4f..294b70ce4 100644 --- a/Contabilidad/PlantillasPolizasDetalle.aspx +++ b/Contabilidad/PlantillasPolizasDetalle.aspx @@ -251,8 +251,6 @@ @@ -1375,12 +1375,12 @@ - + - + @@ -2391,7 +2391,8 @@
- + + @@ -2401,6 +2402,18 @@ + + + + + + + + + + + +
diff --git a/Contratos/ContratoObra.aspx.vb b/Contratos/ContratoObra.aspx.vb index f627ea687..84bf44ec2 100644 --- a/Contratos/ContratoObra.aspx.vb +++ b/Contratos/ContratoObra.aspx.vb @@ -2299,7 +2299,7 @@ Partial Class Contratos_ContratoObra If e.Row.DBCampo("CveClasificacion").ToString.ToEntero = 0 Then e.Row.CssClass = "Totales white" - ElseIf e.Row.DBCampo("CvePS").ToString.ToEntero = 0 Then + ElseIf e.Row.DBCampo("CveContratoDetalle").ToString.Length = 0 And e.Row.DBCampo("CveClasificacion").ToString.ToEntero <> 0 Then e.Row.CssClass = "SubTotales" End If @@ -2313,10 +2313,13 @@ Partial Class Contratos_ContratoObra End If End Sub + Protected Sub MuestaModalVentasAvance(sender As Object, e As EventArgs) Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) + GvDatosVentasAvance.Visible = True + GvDatosVentasAvanceInterno.Visible = False 'Dim Btn = CType(sender, LinkButton) 'Dim Parametros = Btn.CommandArgument.Split("|"c) @@ -2347,6 +2350,43 @@ Partial Class Contratos_ContratoObra UpVentasAvance.Update() End Sub + + + Protected Sub MuestaModalVentasAvanceInterno(sender As Object, e As EventArgs) + + Dim GvRow As GridViewRow = CType(((CType(sender, LinkButton)).NamingContainer), GridViewRow) + + + GvDatosVentasAvance.Visible = False + GvDatosVentasAvanceInterno.Visible = True + + + Dim CveClasificacion As Integer = GvRow.DataKey("CveClasificacion").ToEntero + Dim CvePS As Integer = GvRow.DataKey("CvePS").ToEntero + Dim CodigoPS As String = GvRow.DataKey("CodigoPS") + Dim Clasificacion As String = GvRow.DataKey("Clasificacion") + + Dim ObjContratos As New ClsContratos + + If ObjContratos.GetVentasAvanceObra(CveContrato, CveClasificacion, CvePS, 2) Then + GvDatosVentasAvanceInterno.DataSource = ObjContratos.DtResultados + RegistraScript("$('#ModalVentasAvance').modal('show');RecargaAvances = true;") + Else + Alert("Ocurrió un error al obtener el Listado de Ventas de Avance. Por favor vuelva a intentar", TipoMensaje.MsgError) + End If + + ObjContratos.Dispose() + GvDatosVentasAvanceInterno.DataBind() + + LbTituloModalVentasAvance.Text = "Compras de Avance" + + LbClasificacionVentasAvance.Text = Clasificacion + LbPSVentasAvance.Text = CodigoPS + + UpVentasAvance.Update() + + End Sub + #End Region #Region " TAB: REPORTE AVANCES POR DOCUMENTO " diff --git a/Empresas/72/Formatos/SobreRecibo.rdlc b/Empresas/72/Formatos/SobreRecibo.rdlc new file mode 100644 index 000000000..aaecab447 --- /dev/null +++ b/Empresas/72/Formatos/SobreRecibo.rdlc @@ -0,0 +1,5081 @@ + + + 0 + + + + System.Data.DataSet + /* Local Connection */ + + f55ecc33-47ff-4fc5-a233-35ea9bb1f578 + + + + + + DataSet + /* Local Query */ + + + + ConceptoP + System.String + + + LabelValorP + System.String + + + CveConceptoP + System.Int32 + + + ImporteP + System.Double + + + ValorP + System.Double + + + EstatusP + System.Int32 + + + ConceptoD + System.String + + + LabelValorD + System.String + + + CveConceptoD + System.Int32 + + + ImporteD + System.Double + + + ValorD + System.Double + + + EstatusD + System.Int32 + + + NoConceptoP + System.String + + + NoConceptoD + System.String + + + + DataSet + C:\Users\Caudillo\Documents\Visual Studio 2013\WebSites\WebSite9\App_Code\DataSet.xsd + DataTable1 + + + + + + + + + + + + + + + 1.08889cm + + + 3.12306cm + + + 2.5cm + + + 0.71847cm + + + 2.68521cm + + + 1.01833cm + + + 2.89625cm + + + 2.5cm + + + 0.72729cm + + + 3.00271cm + + + + + 0.6cm + + + + + true + true + + + + + COMPUPROVEEDORES SA DE CV + + + + Textbox1 + + + 2pt + 2pt + 2pt + 2pt + + + 10 + + + + + + + + + + + + + + + 0.6cm + + + + + true + true + + + + + RECIBO DE NOMINA + + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + San luis Potosi No. 21 Col Centro C.P. 83000 + + + + Textbox205 + + + 2pt + 2pt + 2pt + 2pt + + + 4 + + + + + + + + + true + true + + + + + R.F.C + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + COM-890602-EE8 + + + + Textbox210 + + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + 0.6cm + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Hermosillo,Sonora,Mexico + + + + Textbox195 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 4 + + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + No. Trabajador + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + =Parameters!Codigo.Value + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Días Trabajados + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!DiasLaborados.Value + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Sueldo Correspondiente + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + =Parameters!NombreCompleto.Value + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Faltas + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!DiasFaltados.Value + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + R.F.C. + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + =Parameters!RFC.Value + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Retardos + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!DiasRetardos.Value + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + CURP + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + =Parameters!CURP.Value + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Días Vacaciones + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!DiasVacaciones.Value + + + 2pt + 2pt + 2pt + 2pt + + + true + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Tipo de Pago + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + =Parameters!TipoPeriodo.Value + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Días Incapacidad + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!DiasIncapacidad.Value + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + Afi I.M.S.S. + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + =Parameters!NSS.Value + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Periodo de + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!FechaInicio.Value + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + 0.6cm + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + 3 + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Fecha de Pago + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!FechaPago.Value + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + PERCEPCIONES + + + + Textbox61 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 5 + + + + + + + + + + true + true + + + + + DEDUCCIONES + + + + Textbox65 + + + + Black + 1pt + + + Black + 1pt + + + + + + Black + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 5 + + + + + + + + + + 0.6cm + + + + + true + true + + + + + Concepto + + + + Textbox21 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + + + + + Textbox138 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + Textbox24 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Concepto + + + + Textbox25 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + + + + + Textbox190 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Importe + + + + Textbox28 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + =Fields!NoConceptoP.Value + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ConceptoP.Value + + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + $ + + + + Textbox6 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteP.Value + + + + + + + ImporteP + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!NoConceptoD.Value + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ConceptoD.Value + + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + $ + + + + Textbox14 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteD.Value + + + + + + + ImporteD + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 1.39375cm + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox215 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox216 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox220 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox221 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Total Percepciones + + + + Textbox223 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + $ + + + + Textbox225 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteP.Value + + + + + + + ImporteP1 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Total Deducciones + + + + Textbox228 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + $ + + + + Textbox230 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteD.Value + + + + + + + ImporteD1 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox235 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox236 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + Neto a pagar + + + + Textbox239 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + $ + + + + Textbox240 + + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Fields!ImporteD.Value + + + + + + + ImporteD2 + + + + Black + + 1pt + + + Black + + 1pt + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + 10 + + + + + + + + + + + + + + + 0.6cm + + + + + true + true + + + + + Recibí de la empresa arriba mencionada, la cantidad neta a que este documento se refiere, estando conforme con las + + + 2pt + 2pt + 2pt + 2pt + + + 10 + + + + + + + + + + + + + + + 0.6cm + + + + + true + true + + + + + Percepciones y deducciones que en el aparecen a la fecha COMPUPROVEEDORES SA DE CV no me adeuda + + + 2pt + 2pt + 2pt + 2pt + + + 10 + + + + + + + + + + + + + + + 0.6cm + + + + + true + true + + + + + cantidad alguna por concepto de sueldos, ni ningun otro concepto analogo. + + + 2pt + 2pt + 2pt + 2pt + + + 10 + + + + + + + + + + + + + + + 1.2cm + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox285 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox286 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox289 + + + + Black + + 1pt + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox290 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox291 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + 0.6cm + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox295 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox296 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + =Parameters!NombreCompleto.Value + + + 2pt + 2pt + 2pt + 2pt + + + 2 + + + + + + + true + true + + + + + + + + + Textbox300 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + true + true + + + + + + + + + Textbox301 + + + 2pt + 2pt + 2pt + 2pt + + + + + + + + + + + + + + + + + + + + + + + + + + After + + + After + + + After + + + After + + + After + + + After + + + After + + + After + + + After + + + After + + + After + + + After + + + After + + + + + + + =Fields!EstatusD.Value =-3 OR Fields!EstatusP.Value =-2 + + + + + =Fields!EstatusD.Value <> 2 + + + + + =Fields!EstatusD.Value <> -2 + + + + + =Fields!EstatusD.Value <> -3 + + + + + + Before + + + Before + + + Before + + + Before + + + Before + + + Before + + + + DataSet1 + 0.07625cm + 15.19375cm + 20.26021cm + + + + + + 5.98179in +