-- consecutivo
This commit is contained in:
@@ -1671,7 +1671,6 @@ Partial Class Bancos_IE
|
||||
|
||||
End If
|
||||
|
||||
|
||||
UpDatos.Update()
|
||||
End Sub
|
||||
#End Region
|
||||
@@ -1761,586 +1760,6 @@ Partial Class Bancos_IE
|
||||
|
||||
#End Region
|
||||
|
||||
'#Region "VIATICOS"
|
||||
|
||||
' Private Function TimbrarNomina12(CvePersonal As Integer) As String
|
||||
|
||||
' Dim Retorno As String = ""
|
||||
' UsuarioActual.Empresa.CvePAC = 2
|
||||
' Dim sw As New Diagnostics.Stopwatch
|
||||
' sw.Start()
|
||||
' Select Case UsuarioActual.Empresa.CvePAC
|
||||
' Case 1
|
||||
' 'Retorno = TimbrarBIInformNomina12(CveNomina, CvePersonal, CvePeriodo)
|
||||
' Case 2, 4
|
||||
' Dim cfdi As CFDITimbre = PreTimbrar(CvePersonal)
|
||||
' If cfdi Is Nothing Then
|
||||
' sw.Stop()
|
||||
' Return "No tiene asignado un folio de viaticos"
|
||||
' End If
|
||||
' If cfdi IsNot Nothing AndAlso cfdi.Mensaje = "" Then
|
||||
' Dim ObjTimbrado As New Timbrado
|
||||
' Dim ObjFactura As New Modelos.Factura
|
||||
' ObjFactura.TipoDocto = "Viaticos"
|
||||
' ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero
|
||||
' ObjFactura.Serie = cfdi.Comprobante.Serie
|
||||
' ObjFactura.Timbre = cfdi
|
||||
' If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura) Then
|
||||
' Retorno = ObjTimbrado.MensajeErrorCFDI
|
||||
' End If
|
||||
|
||||
' 'Retorno = TimbrarFacturaRealVirtual(cfdi, UsuarioActual)
|
||||
' If Retorno <> "" Then
|
||||
' Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}"
|
||||
' Else
|
||||
' 'Genero la addenda Ford
|
||||
' ' GeneraPDFNuevo(String.Format("{0}XML\Nomina\{1}.xml", Ruta, NominaFolio), CvePersonal, CvePeriodo)
|
||||
' End If
|
||||
' Else
|
||||
' Retorno = $"No se pudo generar el pretimbre: <br/> {cfdi.Mensaje}"
|
||||
' End If
|
||||
' End Select
|
||||
' sw.Stop()
|
||||
' GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString, UsuarioActual.Empresa.CvePAC, "Nomina")
|
||||
|
||||
' Return Retorno
|
||||
|
||||
' End Function
|
||||
|
||||
|
||||
|
||||
|
||||
' Private Function PreTimbrar(CvePersonal As Integer) As CFDITimbre
|
||||
' Dim cfdi As New CFDITimbre
|
||||
' Dim ObjFolio As New ClsGralFolios
|
||||
' If ObjFolio.GetFolios("VIA", UsuarioActual.CveEmpresa) Then
|
||||
' If ObjFolio.DtResultados.Rows.Count > 0 Then
|
||||
' Folio = ObjFolio.DtResultados.Rows(0)("FActual").ToString
|
||||
' Else
|
||||
' ObjFolio.Dispose()
|
||||
' Return Nothing
|
||||
' End If
|
||||
' End If
|
||||
' ObjFolio.Dispose()
|
||||
|
||||
' Dim objPersonal As New ClsRH
|
||||
' objPersonal.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa)
|
||||
|
||||
' Dim AntiguedadSemanas As Integer = DateDiff(DateInterval.Weekday, objPersonal.FechaIngreso, Now).ToEntero
|
||||
|
||||
' cfdi.Nomina = New CFDINomina
|
||||
' cfdi.Nomina.Version = "1.2"
|
||||
' cfdi.Nomina.TipoNomina = "E"
|
||||
' cfdi.Nomina.FechaPago = TxtFechaDocumento.Text.ToDate
|
||||
' cfdi.Nomina.FechaInicio = TxtFechaDocumento.Text
|
||||
' cfdi.Nomina.FechaFin = TxtFechaDocumento.Text
|
||||
' cfdi.Nomina.NumDiasPagados = 1
|
||||
' cfdi.Emisor.Nombre = UsuarioActual.Empresa.Empresa
|
||||
' cfdi.Emisor.RFC = UsuarioActual.Empresa.RFC
|
||||
' cfdi.Emisor.RegistroPatronal = objPersonal.DtResultados.Rows(0)("RegistroPatronal").ToString()
|
||||
' cfdi.Emisor.RegimenFiscal = UsuarioActual.Empresa.CodigoRegimenFiscal
|
||||
|
||||
' 'aplica persona fisica debe de tener CURP
|
||||
' If cfdi.Emisor.RegimenFiscal.Contiene("605", "606", "608", "611", "612", "614", "616", "621", "622", "629", "630", "615") Then
|
||||
' cfdi.Emisor.CURP = UsuarioActual.Empresa.CURP
|
||||
' End If
|
||||
|
||||
|
||||
' cfdi.Receptor.UsoCFDI = "P01"
|
||||
' cfdi.Receptor.RFC = objPersonal.RFC
|
||||
' cfdi.Receptor.Nombre = objPersonal.NombreCompleto
|
||||
|
||||
' Dim ObjOtrosPagos As New List(Of CFDINominaOtrosPagos)
|
||||
' ObjOtrosPagos.Add(New CFDINominaOtrosPagos With {.TipoOtroPago = "003",
|
||||
' .Clave = "003",
|
||||
' .Concepto = "Viáticos (entregados al trabajador).",
|
||||
' .Importe = TxtImporte.Text.ToString.ToDecimal
|
||||
' }
|
||||
' )
|
||||
' If ObjOtrosPagos IsNot Nothing AndAlso ObjOtrosPagos.Count > 0 Then cfdi.Nomina.OtrosPagos = ObjOtrosPagos
|
||||
|
||||
' cfdi.Comprobante.Version = "3.3"
|
||||
' cfdi.Comprobante.Serie = "VIA"
|
||||
' cfdi.Comprobante.Folio = Folio
|
||||
' cfdi.Comprobante.Fecha = Now
|
||||
' cfdi.Comprobante.Subtotal = TxtImporte.Text.ToDecimal
|
||||
' cfdi.Comprobante.Descuentos = 0
|
||||
' cfdi.Comprobante.Total = TxtImporte.Text.ToDecimal
|
||||
' cfdi.Comprobante.MotivoDescuento = ""
|
||||
' cfdi.Comprobante.Moneda = "MXN"
|
||||
' cfdi.Comprobante.TipoComprobante = "N"
|
||||
' cfdi.Comprobante.TipoDocto = "Egs"
|
||||
' cfdi.Comprobante.MetodoPago = "PUE"
|
||||
' cfdi.Comprobante.CondicionesdePago = ""
|
||||
' cfdi.Comprobante.FormadePago = "99"
|
||||
' cfdi.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString
|
||||
' cfdi.Comprobante.NumCuentaPago = ""
|
||||
|
||||
|
||||
' cfdi.Nomina.Receptor.CURP = objPersonal.CURP
|
||||
' cfdi.Nomina.Receptor.NSS = objPersonal.NumeroSS
|
||||
' cfdi.Nomina.Receptor.FechaInicioContrato = objPersonal.FechaInicioContrato.ToShortDateString
|
||||
' cfdi.Nomina.Receptor.Antiguedad = $"P{AntiguedadSemanas}W"
|
||||
' cfdi.Nomina.Receptor.TipoContrato = objPersonal.CodigoTipoContrato
|
||||
' cfdi.Nomina.Receptor.CodigoTipoJornada = objPersonal.ClaveTipoJornada
|
||||
' cfdi.Nomina.Receptor.CodigoRegimenContratacion = If(objPersonal.CveRegimenContratacion = "", "99", objPersonal.CveRegimenContratacion)
|
||||
' cfdi.Nomina.Receptor.CodigoEmpleado = objPersonal.Codigo
|
||||
' cfdi.Nomina.Receptor.Departamento = objPersonal.Departamento
|
||||
' cfdi.Nomina.Receptor.Puesto = objPersonal.Puesto
|
||||
' cfdi.Nomina.Receptor.CodigoRiesgoPuesto = If(objPersonal.CveSATRiesgoPuesto.ToString = "0", "99", objPersonal.CveSATRiesgoPuesto.ToString)
|
||||
' cfdi.Nomina.Receptor.TipoPeriodo = objPersonal.TipoPeriodoPago
|
||||
' cfdi.Nomina.Receptor.CodigoBanco = objPersonal.ClaveBanco
|
||||
' cfdi.Nomina.Receptor.NumeroCuenta = objPersonal.BancoNumCuenta
|
||||
' cfdi.Nomina.Receptor.SDI = objPersonal.SDI.ToDecimal
|
||||
' cfdi.Nomina.Receptor.SBC = objPersonal.SDI.ToDecimal
|
||||
|
||||
' cfdi.Nomina.Receptor.Sindicalizado = ""
|
||||
' cfdi.Nomina.Receptor.CodigoEntidadFederativa = objPersonal.ClaveEstado
|
||||
|
||||
|
||||
' cfdi.Conceptos.Add(New CFDIConceptos With {.Cantidad = 1, .ClaveUnidad = "ACT", .ClaveProdServ = "84111505", .Descripcion = "Pago de nómina", .ValorUnitario = cfdi.Comprobante.Subtotal, .Importe = cfdi.Comprobante.Subtotal, .Descuento = cfdi.Nomina.TotalDeducciones.ToDecimal})
|
||||
|
||||
' objPersonal.Dispose()
|
||||
' Return cfdi
|
||||
' End Function
|
||||
|
||||
' 'Private Function TimbrarBIInformNomina12(CveNomina As Integer, CvePersonal As Integer, CvePeriodo As Integer) As String
|
||||
|
||||
' ' If UsuarioActual.CveEmpresa = 8 Then
|
||||
' ' UsuarioActual.Empresa.FacturaProduccion = True
|
||||
' ' End If
|
||||
' ' 'UsuarioActual.Empresa.FacturaProduccion = False
|
||||
|
||||
' ' Dim MsgError As String = String.Empty
|
||||
|
||||
' ' Dim CFDi As New ClbNegBICFDv3_2.ClsNegEDI
|
||||
' ' CFDi.ObjCompNomina12 = New ClbNegBICFDv3_2.ClsNegComplementoNomina12()
|
||||
' ' 'CFDi.ObjCompNomina = New ClbNegBICFDv3_2.ClsNegCompNomina
|
||||
|
||||
' ' Dim objPersonal As New ClsRH
|
||||
' ' 'Dim objNomina As New ClsNominas
|
||||
' ' objPersonal.GetPersonal(CvePersonal, UsuarioActual.CveEmpresa)
|
||||
' ' 'objNomina.GetNom_Nominas(CveNomina, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa)
|
||||
|
||||
|
||||
' ' Dim Total As Decimal = 0
|
||||
' ' Dim SubTotal As Decimal = 0
|
||||
' ' Dim Descuentos As Decimal = 0
|
||||
' ' Dim RetISR As Decimal = 0
|
||||
' ' Dim TotalExcento As Decimal = 0
|
||||
' ' Dim TotalGravado As Decimal = 0
|
||||
' ' Dim TotalPercepciones As Decimal = 0
|
||||
' ' Dim TotalDeducciones As Decimal = 0
|
||||
' ' Dim TotalOtrosPagos As Decimal = 0
|
||||
|
||||
' ' Dim Serie As String = ""
|
||||
' ' Dim Folio As String = ""
|
||||
' ' Dim NominaFolio As String = Serie & "-" & Folio
|
||||
' ' Dim RFC As String = objPersonal.RFC.Trim
|
||||
' ' Dim Nombre As String = objPersonal.NombreCompleto.Trim
|
||||
' ' Dim Direccion As String = String.Format("{0} {1} {2}", objPersonal.Calle.Trim, objPersonal.NumExt.Trim, objPersonal.NumInt.Trim).Trim
|
||||
' ' Dim Ciudad As String = objPersonal.Ciudad.Trim
|
||||
' ' Dim Estado As String = objPersonal.Estado.Trim
|
||||
' ' Dim CP As String = objPersonal.CP.Trim
|
||||
|
||||
|
||||
|
||||
' ' 'Dim TipoContrato As String = GlobalDTTiposContrato.FiltraParametros("CveTipoContrato = " + objPersonal.CveTipoContrato.ToString)(0)("TipoContrato").ToString
|
||||
' ' 'Dim TipoPeriodo As String = GlobalDTTipoPeriodo.FiltraParametros("CveTipoPeriodo = " + objPersonal.CveTipoPeriodo.ToString)(0)("TipoPeriodo").ToString
|
||||
' ' Dim AntiguedadSemanas As Integer = DateDiff(DateInterval.Weekday, objPersonal.FechaIngreso, Now).ToEntero
|
||||
' ' Dim FormatoReciboCFDi As String = objPersonal.FormatoReciboCFDi
|
||||
|
||||
' ' Dim FechaInicio, FechaFin, FechaPago As Date
|
||||
' ' Dim DiasPagados As Integer = 0
|
||||
' ' Dim Msg As String = String.Empty
|
||||
' ' Dim DiasIncapacitados As Integer = 0
|
||||
' ' Dim DrPeriodo As DataRow = Nothing
|
||||
|
||||
' ' Dim ObjFolio As New ClsGralFolios
|
||||
' ' If ObjFolio.GetFolios("VIA", UsuarioActual.CveEmpresa) Then
|
||||
' ' If ObjFolio.DtResultados.Rows.Count > 0 Then
|
||||
' ' Folio = ObjFolio.DtResultados.Rows(0)("FActual").ToString
|
||||
' ' End If
|
||||
' ' End If
|
||||
|
||||
|
||||
' ' 'If objNomina.GetPeriodos(-1, -1, -1, -1, CvePeriodo) Then
|
||||
' ' ' If objNomina.DtResultados.Rows().Count > 0 Then
|
||||
' ' ' DrPeriodo = objNomina.DtResultados.Rows(0)
|
||||
' ' ' End If
|
||||
' ' 'End If
|
||||
' ' 'Dim DrPeriodo As DataRow = GlobalDTNominasPeriodos(-1, CvePeriodo, -1).FiltroPrimero("")
|
||||
' ' If DrPeriodo IsNot Nothing Then
|
||||
' ' FechaInicio = DrPeriodo("FechaInicio").ToString.ToDate
|
||||
' ' FechaFin = DrPeriodo("FechaFin").ToString.ToDate
|
||||
' ' FechaPago = DrPeriodo("FechaPago").ToString.ToDate
|
||||
' ' If objPersonal.GetAsistencias(CvePersonal, -1, -1, -1, -1, -1, FechaInicio, FechaFin, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
' ' Dim Asistencias As Integer = objPersonal.DtResultados.SUM("AplicaAsistencia").ToEntero
|
||||
' ' Dim Vacaciones As Integer = objPersonal.DtResultados.SUM("AplicaVacacion").ToEntero
|
||||
' ' DiasIncapacitados = objPersonal.DtResultados.SUM("AplicaIncapacidad").ToEntero
|
||||
' ' DiasPagados = Asistencias - Vacaciones
|
||||
' ' If DiasPagados < 0 Then DiasPagados = 0
|
||||
|
||||
' ' End If
|
||||
|
||||
' ' End If
|
||||
|
||||
' ' Dim DtPercepciones As Data.DataTable = Nothing
|
||||
' ' Dim DtDeducciones As Data.DataTable = Nothing
|
||||
' ' Dim DtOtrosPagos As Data.DataTable = Nothing
|
||||
' ' 'If objNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then
|
||||
' ' ' If objNomina.DtResultados.Rows.Count > 0 Then
|
||||
' ' ' DtPercepciones = objNomina.DtResultados.FiltraParametros("Tipo = 'P' AND EsPadre = 1 ")
|
||||
' ' ' DtDeducciones = objNomina.DtResultados.FiltraParametros("Tipo = 'D' AND EsPadre = 1 ")
|
||||
' ' ' TotalPercepciones = DtPercepciones.SUM("Importe")
|
||||
' ' ' TotalDeducciones = DtDeducciones.SUM("Importe")
|
||||
' ' ' Total = CType((Total + DtPercepciones.SUM("Importe")), Decimal)
|
||||
' ' ' End If
|
||||
' ' 'End If
|
||||
|
||||
' ' 'Tipo Nomina O de Ordinaria o E de extraordinaria
|
||||
' ' 'Dim FechaPago As Date = Now
|
||||
' ' Dim TotalSueldos As Decimal = 0
|
||||
' ' Dim TotalIndemnizacion As Decimal = 0
|
||||
' ' Dim TotalJubilacion As Decimal = 0
|
||||
' ' Msg = CFDi.ObjCompNomina12.Cargar("O", FechaPago, FechaInicio, FechaFin, DiasPagados, TotalPercepciones, TotalDeducciones, 0)
|
||||
|
||||
|
||||
|
||||
' ' If Msg = String.Empty Then
|
||||
' ' If DtPercepciones IsNot Nothing Then
|
||||
' ' If DtPercepciones.Rows.Count > 0 Then
|
||||
' ' TotalSueldos = DtPercepciones.SUM("Importe", "SATCveConcepto = '001'")
|
||||
' ' TotalIndemnizacion = DtPercepciones.SUM("Importe", "SATCveConcepto IN ('022','023','025')") ' https://www.ccpm.org.mx/avisos/nuevo-complemento-de-nomina-version-1.2-puntos-finos-diciembre-2016.pdf
|
||||
' ' TotalJubilacion = DtPercepciones.SUM("Importe", "SATCveConcepto IN ('039','044')") 'https://www.ccpm.org.mx/avisos/nuevo-complemento-de-nomina-version-1.2-puntos-finos-diciembre-2016.pdf
|
||||
' ' Msg = CFDi.ObjCompNomina12.CargarPercepciones(TotalSueldos, TotalIndemnizacion, TotalJubilacion, DtPercepciones.SUM("ImporteGravado").ToDecimal, DtPercepciones.SUM("ImporteExento").ToDecimal)
|
||||
' ' End If
|
||||
' ' For Each Row As DataRow In DtPercepciones.Rows
|
||||
' ' If Row("Importe").ToString.ToDecimal > 0 Then
|
||||
' ' If Row("CveSATConcepto").ToString = "" Then
|
||||
' ' Msg = String.Format("Concepto No registrado ({0})", Row("Concepto").ToString)
|
||||
' ' Else
|
||||
' ' Msg = CFDi.ObjCompNomina12.AgregarPercepcion(Row("SATCveConcepto").ToString, Row("Codigo").ToString, Row("Concepto").ToString, Row("ImporteGravado").ToString.ToDecimal, Row("ImporteExento").ToString.ToDecimal)
|
||||
' ' TotalExcento = TotalExcento + Row("ImporteExento").ToString.ToDecimal
|
||||
' ' TotalGravado = TotalGravado + Row("ImporteGravado").ToString.ToDecimal
|
||||
' ' SubTotal = SubTotal + Row("Importe").ToString.ToDecimal
|
||||
' ' End If
|
||||
|
||||
' ' If Msg <> String.Empty Then
|
||||
' ' Me.OnError("El SAT regresó el siguiente mensaje: " & Msg & ". Objeto: Percepcion", New Exception)
|
||||
' ' Exit For
|
||||
' ' End If
|
||||
' ' End If
|
||||
' ' 'RMF, falta poner el numero de horas pagadas
|
||||
' ' If Row("CveSATConcepto").ToString.ToEntero = 19 Then 'cuando son horas extras
|
||||
|
||||
' ' 'Obtengo el desglose de horas extras
|
||||
|
||||
' ' If objNomina.GetHorasExtras(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
' ' Dim dr As DataRow = objNomina.DtResultados.FiltroPrimero("")
|
||||
' ' If dr IsNot Nothing Then
|
||||
|
||||
' ' If dr("HorasDobles").ToString.ToDouble > 0 Then CFDi.ObjCompNomina12.AgregarHorasExtra(dr("DiasHorasDobles").ToString.ToEntero, ClbNegBICFDv3_2.TipoHoras.Dobles, dr("HorasDobles").ToString.ToEntero, Row("Importe").ToString.ToDecimal)
|
||||
' ' If dr("HorasTriples").ToString.ToDouble > 0 Then CFDi.ObjCompNomina12.AgregarHorasExtra(dr("DiasHorasTriples").ToString.ToEntero, ClbNegBICFDv3_2.TipoHoras.Triples, dr("HorasTriples").ToString.ToEntero, Row("Importe").ToString.ToDecimal)
|
||||
|
||||
|
||||
' ' End If
|
||||
|
||||
|
||||
' ' End If
|
||||
|
||||
' ' End If
|
||||
' ' Next
|
||||
' ' If Msg = "" Then
|
||||
' ' CFDi.ObjCompNomina12.ObjPercepciones.TotalExento = TotalExcento
|
||||
' ' CFDi.ObjCompNomina12.ObjPercepciones.TotalGravado = TotalGravado
|
||||
' ' End If
|
||||
|
||||
' ' End If
|
||||
|
||||
' ' 'cargo las incapacidades
|
||||
' ' If DiasIncapacitados > 0 Then
|
||||
|
||||
' ' If objNomina.GetIncapacidades(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa) Then
|
||||
|
||||
' ' CFDi.ObjCompNomina12.CargarIncapacidades()
|
||||
' ' For Each dr As DataRow In objNomina.DtResultados.Rows
|
||||
' ' CFDi.ObjCompNomina12.AgregarIncapacidad(dr("Dias").ToString.ToDecimal, dr("ClaveTipoIncapacidad").ToString.ToEntero, dr("Descuento").ToString.ToDecimal)
|
||||
' ' Next
|
||||
|
||||
' ' End If
|
||||
|
||||
' ' End If
|
||||
|
||||
|
||||
|
||||
' ' TotalExcento = 0
|
||||
' ' TotalGravado = 0
|
||||
|
||||
' ' If Msg = String.Empty Then
|
||||
' ' If DtDeducciones IsNot Nothing Then
|
||||
' ' If DtDeducciones.Rows.Count > 0 Then
|
||||
' ' Total = CType((Total - DtDeducciones.SUM("Importe")), Decimal)
|
||||
' ' CFDi.ObjCompNomina12.CargarDeducciones(CType(DtDeducciones.SUM("ImporteGravado"), Decimal), CType(DtDeducciones.SUM("ImporteExento"), Decimal))
|
||||
' ' End If
|
||||
' ' For Each Row As DataRow In DtDeducciones.Rows
|
||||
|
||||
' ' If Row("Importe").ToString.ToDecimal > 0 Then
|
||||
' ' If Row("CveSATConcepto").ToString = "" Then
|
||||
' ' Msg = String.Format("Concepto No registrado ({0})", Row("Concepto").ToString)
|
||||
' ' Else
|
||||
|
||||
' ' Msg = CFDi.ObjCompNomina12.AgregarDeduccion(Row("SATCveConcepto").ToString, Row("Codigo").ToString, Row("Concepto").ToString, 0)
|
||||
' ' TotalExcento = TotalExcento + Row("ImporteExento").ToString.ToDecimal
|
||||
' ' TotalGravado = TotalGravado + Row("ImporteGravado").ToString.ToDecimal
|
||||
|
||||
' ' If Row("CveSATConcepto").ToString.ToEntero = 3 Then
|
||||
' ' RetISR = RetISR + Row("Importe").ToString.ToDecimal
|
||||
' ' Else
|
||||
' ' Descuentos = Descuentos + Row("Importe").ToString.ToDecimal
|
||||
' ' End If
|
||||
' ' End If
|
||||
|
||||
' ' If Msg <> String.Empty Then
|
||||
' ' Me.OnError("El SAT regresó el siguiente mensaje: " & Msg & ". Objeto: Deduccion", New Exception)
|
||||
' ' Exit For
|
||||
' ' End If
|
||||
' ' End If
|
||||
' ' Next
|
||||
' ' If Msg = "" Then
|
||||
' ' If CFDi.ObjCompNomina12.ObjDeducciones IsNot Nothing Then
|
||||
' ' CFDi.ObjCompNomina12.ObjDeducciones.TotalOtrasDeducciones = Descuentos
|
||||
' ' CFDi.ObjCompNomina12.ObjDeducciones.TotalImpuestosRetenidos = RetISR
|
||||
' ' End If
|
||||
|
||||
' ' End If
|
||||
' ' End If
|
||||
|
||||
' ' If Msg = String.Empty Then
|
||||
' ' If DtOtrosPagos IsNot Nothing Then
|
||||
' ' If DtOtrosPagos.Rows.Count > 0 Then
|
||||
' ' Total = CType((Total - DtOtrosPagos.SUM("Importe")), Decimal)
|
||||
' ' CFDi.ObjCompNomina12.CargarOtrosPagos()
|
||||
' ' End If
|
||||
|
||||
' ' For Each Row As DataRow In DtOtrosPagos.Rows
|
||||
' ' If Row("Importe").ToString.ToDecimal > 0 Then
|
||||
' ' If Row("CveSATConcepto").ToString = "" Then
|
||||
' ' Msg = String.Format("Concepto No registrado ({0})", Row("Concepto").ToString)
|
||||
' ' Else
|
||||
' ' Msg = CFDi.ObjCompNomina12.AgregarOtroPago(Row("SATCveConcepto").ToString, Row("Codigo").ToString, Row("Concepto").ToString, 0)
|
||||
' ' 'Msg = CFDi.ObjCompNomina12.CargarSubsidioAlEmpleo(0)
|
||||
' ' 'Msg = CFDi.ObjCompNomina12.CargarCompensacionSaldosAFavor(0, 0, 0)
|
||||
' ' End If
|
||||
|
||||
' ' If Msg <> String.Empty Then
|
||||
' ' Me.OnError("El SAT regresó el siguiente mensaje: " & Msg & ". Objeto: Otros Pagos", New Exception)
|
||||
' ' Exit For
|
||||
' ' End If
|
||||
' ' End If
|
||||
' ' Next
|
||||
|
||||
' ' End If
|
||||
|
||||
' ' If Msg = String.Empty Then
|
||||
' ' Dim x As Integer = 0
|
||||
|
||||
' ' Dim Moneda As String = "MXN"
|
||||
' ' Dim LugarExp As String = String.Format("{0}, {1}, {2}, {3}, {4}, {5}, {6}, {7}, {8} ", SucCalle, SucNoExt, SucNoInt, SucColonia, SucLocalidad, SucMunicipio, SucEstado, SucPais, SucCP)
|
||||
' ' Dim FechaFactura As DateTime = Now
|
||||
' ' 'Nodo Comprobante
|
||||
|
||||
' ' Dim TipoComprobante As ClbNegBICFDv3_2.TipoDeComprobante = ClbNegBICFDv3_2.TipoDeComprobante.egreso
|
||||
' ' Msg = CFDi.comprobantecfd(0, 0, Serie, Folio, FechaFactura, "PAGO EN UNA SOLA EXHIBICION", "CONTADO", SubTotal, Descuentos, "Deducciones nómina", "1", Moneda, Total, objPersonal.MetodoPagoSAT, ClbNegBICFDv3_2.TipoDeComprobante.egreso, LugarExp, "", "", "", New Date(1900, 1, 1), 0)
|
||||
|
||||
' ' If Msg = String.Empty Then
|
||||
' ' 'Nodo emisor
|
||||
' ' Msg = CFDi.ObjCompNomina12.CargarEmisor("", objPersonal.DtResultados.Rows(0)("RegistroPatronal").ToString(), UsuarioActual.Empresa.RFC)
|
||||
' ' 'If Msg = String.Empty Then Msg = CFDi.EmisorRegimen(UsuarioActual.Empresa.CodigoRegimenFiscal)
|
||||
' ' If Msg = String.Empty Then
|
||||
' ' 'Nodo Entidad SNCF
|
||||
' ' If 1 = 2 Then 'cuando es gobierno
|
||||
' ' Msg = CFDi.ObjCompNomina12.CargarEntidadSNCF("", 0)
|
||||
' ' End If
|
||||
|
||||
' ' If Msg = String.Empty Then
|
||||
' ' 'Nodo Receptor
|
||||
' ' Msg = CFDi.ObjCompNomina12.CargarReceptor(objPersonal.CURP, objPersonal.NumeroSS, objPersonal.FechaInicioContrato, AntiguedadSemanas, objPersonal.TipoContrato, "", objPersonal.ClaveTipoJornada, objPersonal.CveRegimenContratacion, objPersonal.Codigo.ToString,
|
||||
' ' objPersonal.Departamento, objPersonal.Puesto, objPersonal.CveRiesgoPuesto, objPersonal.TipoPeriodo, objPersonal.ClaveBanco, objPersonal.BancoNumCuenta, Total, objPersonal.SDI.ToString.ToDecimal, objPersonal.ClaveEstado)
|
||||
' ' If Msg = String.Empty Then
|
||||
' ' 'Nodo SubContratacion
|
||||
' ' If 1 = 2 Then Msg = CFDi.ObjCompNomina12.AgregarSubContratacion("", 0)
|
||||
' ' If Msg = String.Empty Then
|
||||
|
||||
' ' CFDi.LstCompNomina12.Add(CFDi.ObjCompNomina12)
|
||||
|
||||
' ' Dim HasErrorConceptos As Boolean = False
|
||||
' ' 'Dim Importe As Decimal = 0
|
||||
|
||||
|
||||
' ' Msg = CFDi.ConceptosCfd(1, "ACT", "", "Pago de nómina", SubTotal, SubTotal)
|
||||
|
||||
' ' 'Timbrado
|
||||
|
||||
' ' 'Web Services de producción: http://biinform.com.mx/srvCFDi/service1.asmx
|
||||
' ' 'Web Services de pruebasd: http://biinform.com.mx/srvCFDiPrueba/service1.asmx
|
||||
|
||||
|
||||
' ' Dim WS As String = String.Empty
|
||||
' ' If UsuarioActual.Empresa.FacturaProduccion Then
|
||||
' ' WS = "http://portalbiinform.com.mx/srvCFDiPrueba/service1.asmx"
|
||||
' ' Else
|
||||
' ' WS = "http://portalbiinform.com.mx/srvCFDiPrueba/service1.asmx"
|
||||
' ' End If
|
||||
|
||||
' ' If Not System.IO.Directory.Exists(Ruta & "XML\") Then System.IO.Directory.CreateDirectory(Ruta & "XML\")
|
||||
' ' If Not System.IO.Directory.Exists(Ruta & "XML\Nomina\") Then System.IO.Directory.CreateDirectory(Ruta & "XML\Nomina\")
|
||||
|
||||
' ' 'Generar Timbre
|
||||
' ' 'If UsuarioActual.Empresa.FacturaProduccion Then
|
||||
' ' If 1 = 2 Then
|
||||
' ' CFDi.Generar(String.Format("{0}Certificados\{1}", Ruta, UsuarioActual.Empresa.ArchivoPfx),
|
||||
' ' UsuarioActual.Empresa.ContraseñaKey,
|
||||
' ' String.Format("{0}Certificados\{1}", Ruta, UsuarioActual.Empresa.ArchivoCer),
|
||||
' ' String.Format("{0}XML\Nomina\{1}.xml", Ruta, NominaFolio),
|
||||
' ' String.Format("{0}Certificados\", Ruta),
|
||||
' ' UsuarioActual.Empresa.BIUsuario,
|
||||
' ' UsuarioActual.Empresa.BIContraseña,
|
||||
' ' WS,
|
||||
' ' True)
|
||||
' ' Else
|
||||
' ' If Not System.IO.Directory.Exists(Ruta & "XML\Nomina\Demo\") Then System.IO.Directory.CreateDirectory(Ruta & "XML\Nomina\Demo\")
|
||||
' ' 'RutaPruebas & "XML\Demo\" & NominaFolio & ".xml",
|
||||
' ' CFDi.Generar(String.Format("{0}Certificados\aaa010101aaa__csd_01.pfx", RutaPruebas),
|
||||
' ' "12345678a",
|
||||
' ' String.Format("{0}Certificados\aaa010101aaa__csd_01.cer", RutaPruebas),
|
||||
' ' String.Format("{0}XML\Nomina\Demo\{1}.xml", Ruta, NominaFolio),
|
||||
' ' String.Format("{0}Certificados\", RutaPruebas),
|
||||
' ' "prueba",
|
||||
' ' "123",
|
||||
' ' WS,
|
||||
' ' True)
|
||||
' ' End If
|
||||
|
||||
|
||||
' ' If CFDi.MsgError <> String.Empty Then
|
||||
|
||||
' ' 'OnError("Ocurrió un error al generar el timbre: " & CFDi.MsgError, New Exception)
|
||||
|
||||
' ' Dim params As New ActualizaTimbre
|
||||
' ' params.Estatus = False
|
||||
' ' params.CveNomina = CveNomina
|
||||
' ' params.CvePAC = 1
|
||||
|
||||
' ' 'Dim Hilo As New System.Threading.Thread(AddressOf ActualizaTimbrado)
|
||||
' ' 'Hilo.Start(params)
|
||||
' ' BtnAutorizar.Enabled = False
|
||||
' ' MsgError = "Nombre: " & Nombre & ". Error: " & CFDi.MsgError
|
||||
' ' Else
|
||||
' ' 'Actualiza Estatus Timbrado
|
||||
' ' Dim params As New ActualizaTimbre
|
||||
' ' params.Estatus = True
|
||||
' ' params.CveNomina = CveNomina
|
||||
' ' params.CvePAC = 1
|
||||
|
||||
' ' 'Dim Hilo As New System.Threading.Thread(AddressOf ActualizaTimbrado)
|
||||
' ' 'Hilo.Start(params)
|
||||
|
||||
' ' Dim CBB As New ClbNegBICFDv3_2.ClsNegCBBGenerar()
|
||||
' ' Dim FechaCertificacion As DateTime
|
||||
' ' Dim FolioFiscal, NoSerieCertificado, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT As String
|
||||
|
||||
' ' FolioFiscal = CFDi.Timbrado.UUDI 'XmlDoc.DocumentElement("cfdi:Complemento").FirstChild.Attributes("UUID").InnerText
|
||||
' ' NoSerieCertificado = CFDi.Timbrado.NoCertificadoSAT
|
||||
' ' FechaCertificacion = CFDi.Timbrado.FechaTimbrado
|
||||
' ' SelloCFDi = CFDi.Timbrado.SelloCFD
|
||||
' ' SelloSAT = CFDi.Timbrado.SelloSAT
|
||||
' ' NoSerieCertificadoContribuyente = CFDi.Timbrado.NoCertificado
|
||||
' ' ViewState("FolioFiscal") = FolioFiscal
|
||||
|
||||
' ' 'Actualiza Estatus Factura
|
||||
' ' CveNominaT = CveNomina
|
||||
|
||||
' ' Dim Rastro As String = String.Format("Nomina: CvePeriodo:{0}, CvePersonal:{1}, UUID: {2}, RFC:{3}", CvePeriodo, CvePersonal, FolioFiscal, objPersonal.RFC)
|
||||
' ' Rastro.GuardaLog()
|
||||
|
||||
' ' If FolioFiscal <> "" Then
|
||||
|
||||
' ' 'If UsuarioActual.Empresa.FacturaProduccion Then
|
||||
' ' ' Dim ObjNomina2 As New ClsNominas()
|
||||
' ' ' ObjNomina2.UpdateEstatusNomNominas(3, UsuarioActual.Empresa.CvePAC, FolioFiscal, "", ("01/01/2000").ToDate, CveNomina, SubTotal, Descuentos, RetISR, Total, DiasPagados)
|
||||
' ' ' ObjNomina2.Dispose()
|
||||
' ' 'End If
|
||||
' ' Rastro = "--Estatus" & Rastro
|
||||
' ' Rastro.GuardaLog()
|
||||
' ' 'Dim Hilo1 As New System.Threading.Thread(AddressOf ActualizaEstatus)
|
||||
' ' 'Hilo1.Start(3)
|
||||
' ' End If
|
||||
|
||||
|
||||
' ' Dim RutaCBB As String = String.Empty
|
||||
' ' If Not System.IO.Directory.Exists(Ruta & "CBB\") Then System.IO.Directory.CreateDirectory(Ruta & "CBB\")
|
||||
' ' If Not System.IO.Directory.Exists(Ruta & "CBB\Nomina\") Then System.IO.Directory.CreateDirectory(Ruta & "CBB\Nomina\")
|
||||
|
||||
' ' If UsuarioActual.Empresa.FacturaProduccion Then
|
||||
' ' RutaCBB = Ruta & "CBB\Nomina\" & NominaFolio & ".jpg"
|
||||
' ' Else
|
||||
' ' If Not System.IO.Directory.Exists(Ruta & "CBB\Nomina\Demo\") Then System.IO.Directory.CreateDirectory(Ruta & "CBB\Nomina\Demo\")
|
||||
' ' RutaCBB = Ruta & "CBB\Nomina\Demo\" & NominaFolio & ".jpg"
|
||||
' ' End If
|
||||
' ' CBB.GenerarCBB(UsuarioActual.Empresa.RFC, RFC, Total, FolioFiscal, RutaCBB)
|
||||
|
||||
|
||||
' ' 'GeneraPDF(FechaFactura, FolioFiscal, NoSerieCertificado, FechaCertificacion, NoSerieCertificadoContribuyente, TmpDT, SelloCFDi, SelloSAT, RutaCBB, VentaFolio, Ruta & "XML\" & VentaFolio & ".xml", False, CFDi.CadenaOriginal)
|
||||
' ' 'GeneraPDF(CveNomina, CvePersonal, CvePeriodo, FechaFactura, FolioFiscal, NoSerieCertificado, FechaCertificacion, NoSerieCertificadoContribuyente, SelloCFDi, SelloSAT, RutaCBB, Ruta & "Nomina\XML\" & NominaFolio & ".xml", False, CFDi.Timbrado.CadenaOriginal, FormatoReciboCFDi)
|
||||
' ' GeneraPDFNuevo(String.Format("{0}XML\Nomina\{1}.xml", Ruta, NominaFolio), CvePersonal, CvePeriodo)
|
||||
' ' End If
|
||||
' ' Else
|
||||
' ' 'Me.OnError(String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: EmisorRegimen", Msg, Nombre), New Exception)
|
||||
' ' MsgError = String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: EmisorRegimen", Msg, Nombre)
|
||||
' ' End If
|
||||
' ' Else
|
||||
' ' 'Me.OnError(String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: EmisorDomicilioExpedidoEn", Msg, Nombre), New Exception)
|
||||
' ' MsgError = String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: EmisorDomicilioExpedidoEn", Msg, Nombre)
|
||||
' ' End If
|
||||
' ' Else
|
||||
' ' 'Me.OnError(String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: EmisorDomicilioFiscalCfd", Msg, Nombre), New Exception)
|
||||
' ' MsgError = String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: EmisorDomicilioFiscalCfd", Msg, Nombre)
|
||||
' ' End If
|
||||
' ' Else
|
||||
' ' 'Me.OnError(String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: EmisorCfd", Msg, Nombre), New Exception)
|
||||
' ' MsgError = String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: EmisorCfd", Msg, Nombre)
|
||||
' ' End If
|
||||
' ' Else
|
||||
' ' 'Me.OnError(String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre), New Exception)
|
||||
' ' MsgError = String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre)
|
||||
' ' End If
|
||||
' ' Else
|
||||
' ' 'Me.OnError(String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre), New Exception)
|
||||
' ' MsgError = String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre)
|
||||
' ' End If
|
||||
' ' Else
|
||||
' ' 'Me.OnError(String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre), New Exception)
|
||||
' ' MsgError = String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre)
|
||||
' ' End If
|
||||
' ' Else
|
||||
' ' 'Me.OnError(String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre), New Exception)
|
||||
' ' MsgError = String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre)
|
||||
' ' End If
|
||||
' ' Else
|
||||
' ' 'Me.OnError(String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre), New Exception)
|
||||
' ' MsgError = String.Format("El SAT regresó el siguiente mensaje: {0} Nombre: {1}. Objeto: Comprobante", Msg, Nombre)
|
||||
' ' End If
|
||||
' ' objPersonal.Dispose()
|
||||
' ' objNomina.Dispose()
|
||||
|
||||
' ' Return MsgError
|
||||
' 'End Function
|
||||
|
||||
|
||||
'#End Region
|
||||
|
||||
#Region " GUARDAR - ACTUALIZAR "
|
||||
Private Function ValidaGuardar() As Boolean
|
||||
@@ -2446,8 +1865,6 @@ Partial Class Bancos_IE
|
||||
|
||||
|
||||
If CveIE = -1 Then
|
||||
|
||||
|
||||
Dim CveCuentaDeposito As Integer = 0
|
||||
If DdlCuentaDeposito.Items.Count > 0 Then
|
||||
CveCuentaDeposito = DdlCuentaDeposito.SelectedValue.ToEntero
|
||||
@@ -2462,8 +1879,6 @@ Partial Class Bancos_IE
|
||||
Comprobante = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
|
||||
filemove = fileItem.filename
|
||||
Next
|
||||
|
||||
|
||||
'*****-_- INICIA: CONFIGURACION REGISTRO -_-*****
|
||||
If CvePersonal > 0 Then
|
||||
If Opcion IsNot Nothing AndAlso Opcion.Contiene("EGSSINFACT") And DDlCheques.SelectedValue.ToEntero > 0 Then
|
||||
@@ -4394,6 +3809,7 @@ Partial Class Bancos_IE
|
||||
DdlPersonal.Visible = False
|
||||
DdlProveedores.Visible = True
|
||||
DdlCliente.Visible = False
|
||||
CargaFolioAdicional()
|
||||
ElseIf RBL.SelectedValue = "C" Then
|
||||
DdlPersonal.Visible = False
|
||||
DdlProveedores.Visible = False
|
||||
@@ -4438,6 +3854,19 @@ Partial Class Bancos_IE
|
||||
|
||||
End Sub
|
||||
|
||||
Private Sub CargaFolioAdicional()
|
||||
If UsuarioActual.CveEmpresa = 140 Then ' cuando es egreso por comrpobar
|
||||
Dim ObjFolios As New ClsGralFolios
|
||||
If ObjFolios.GetFolios("RMF", UsuarioActual.CveEmpresa) Then
|
||||
Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros(String.Format(" Estado = 'Activo'"))
|
||||
If DT.Rows.Count > 0 Then
|
||||
TxtFolio.Text = "DPA-" & DT.Rows(0)("FActual").ToString
|
||||
End If
|
||||
ObjFolios.Dispose()
|
||||
End If
|
||||
End If
|
||||
End Sub
|
||||
|
||||
#Region " IMPRIMIR "
|
||||
Protected Sub BtnImprimir_Click(sender As Object, e As EventArgs) Handles BtnImprimir.Click
|
||||
If CveIE > 0 Then GeneraChequePDF(CveIE, UsuarioActual.Empresa)
|
||||
|
||||
Reference in New Issue
Block a user