From 5f02fc373e4996f23369da45738e3c924def500c Mon Sep 17 00:00:00 2001 From: rrene Date: Mon, 8 Feb 2021 07:58:11 -0700 Subject: [PATCH 1/2] tipomovto dev efectivo, concepto iva --- Bancos/IE.aspx.vb | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Bancos/IE.aspx.vb b/Bancos/IE.aspx.vb index 63c6a9322..7324ffd30 100644 --- a/Bancos/IE.aspx.vb +++ b/Bancos/IE.aspx.vb @@ -3048,9 +3048,6 @@ Partial Class Bancos_IE Dim TCDocumento As Decimal = 1 - - - 'BANCOS IdCtaContableAplicar = If(IDCtaContable > 0, IDCtaContable, 0) If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, False, ImporteAplicar, ReferenciaAplicar, 30, ConceptoAplicar, Now, IdCtaContableAplicar, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=ImporteAplicarMN, ImporteME:=ImporteAplicarME, CveCuenta:=CveCuentaConta, TipoCambio:=TCDocumento) Then @@ -3256,7 +3253,7 @@ Partial Class Bancos_IE CveCuentaDevolucionIMPUESTOS = CveCuentaIVAxAcreditarDevDinC IdCtaIVADevolucionIMPUESTOS = IdCtaIVAXAcreditarDevDinC - If ObjMov.AddPrePolizasDetalle(CvePrePoliza, Not True, -IVADev, ReferenciaAplicar, 14, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then + If ObjMov.AddPrePolizasDetalle(CvePrePoliza, True, -IVADev, ReferenciaAplicar, 14, ConceptoAplicar, Now, IdCtaIVADevolucionIMPUESTOS, -1, CveIE, CveCompra:=CveCompraDeCDin, CveProveedor:=CveProveedor, ImporteMX:=-IVADevMN, ImporteME:=-IVADev, CveCuenta:=CveCuentaDevolucionIMPUESTOS) Then CveCuentaDevolucionIMPUESTOS = CveCuentaIVAAcreditableDevDinC IdCtaIVADevolucionIMPUESTOS = IdCtaIVAAcreditableDevDinC From 15c760b72840c33bb04b33691ab9241faea21e2a Mon Sep 17 00:00:00 2001 From: JORGE LUIS CAUDILLO ESPARZA Date: Mon, 8 Feb 2021 09:03:48 -0700 Subject: [PATCH 2/2] --- App_Code/CFDITimbre.vb | 5 +++++ App_Code/LogicNominas.vb | 25 ++++++++++++++++++------- App_Code/Timbrado.vb | 18 ++++++++++++------ RH/Personal.aspx.vb | 13 ++++++++++--- 4 files changed, 45 insertions(+), 16 deletions(-) diff --git a/App_Code/CFDITimbre.vb b/App_Code/CFDITimbre.vb index a9509a624..4648e11e5 100644 --- a/App_Code/CFDITimbre.vb +++ b/App_Code/CFDITimbre.vb @@ -365,6 +365,11 @@ Public Class CFDINominaOtrosPagos Public Property Concepto As String Public Property Importe As Decimal Public Property Subsidiocausado As Decimal + Public Property RemanenteSalFav As Decimal + Public Property ejercicio As Integer + Public Property SaldoAFavor As Integer + + End Class diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb index 430dc0473..c8fd108b0 100644 --- a/App_Code/LogicNominas.vb +++ b/App_Code/LogicNominas.vb @@ -145,8 +145,17 @@ Public Class LogicNominas If continuar AndAlso objNomina.GetNom_NominasDetalles(CveNomina, CvePersonal, CvePeriodo, "-1") Then If objNomina.DtResultados.Rows.Count > 0 Then DtPercepciones = objNomina.DtResultados.FiltraParametros("Tipo = 'P' AND EsPadre = 1 AND SoloVisible =0") - DtDeducciones = objNomina.DtResultados.FiltraParametros("Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0") + DtDeducciones = objNomina.DtResultados.FiltraParametros("Tipo = 'D' AND EsPadre = 1 AND SoloVisible =0 AND (TipoConceptoSAT<>'O' OR TipoConceptoSAT IS NULL)") DtOtrosPagos = objNomina.DtResultados.FiltraParametros(" TipoConceptoSAT='O'") + Dim disrcomp As DataRow = DtOtrosPagos.FiltroPrimero("Codigo ='D999'") + For Each drow As DataRow In DtDeducciones.Rows + If drow("Codigo").ToString() = "D038" Then + + End If + Next + + + TotalPercepciones = DtPercepciones.SUM("Importe").ToString().ToDecimal() TotalDeducciones = DtDeducciones.SUM("Importe").ToString().ToDecimal() Total = CType((Total + DtPercepciones.SUM("Importe")), Decimal) @@ -230,7 +239,7 @@ Public Class LogicNominas .ImporteGravado = Row("ImporteGravado").ToString().ToDecimal(), .ImporteExento = Row("ImporteExento").ToString().ToDecimal()}) End If 'RMF, falta poner el numero de horas pagadas - If Row("CveSATConcepto").ToString().ToEntero() = 19 AndAlso DtHorasExtras IsNot Nothing Then 'cuando son horas extras + If Row("SATCveConcepto").ToString().ToEntero() = 19 AndAlso DtHorasExtras IsNot Nothing Then 'cuando son horas extras 'Obtengo el desglose de horas extras Dim dr As DataRow = DtHorasExtras.FiltroPrimero("") If dr IsNot Nothing Then @@ -256,7 +265,7 @@ Public Class LogicNominas ObjPercepciones.Add(New CFDINominaPercepciones With {.TipoPercepcion = Row("SATCveConcepto").ToString(), .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(), .ImporteGravado = Row("ImporteGravado").ToString().ToDecimal(), .ImporteExento = Row("ImporteExento").ToString().ToDecimal()}) - ElseIf Row("Importe").ToString().ToDecimal() < 0 AndAlso Row("Concepto").ToString() = "Ajuste al neto" Then + ElseIf Row("Importe").ToString().ToDecimal() < 0 AndAlso Row("Concepto").ToString() = "Ajuste al neto" Then ' corregir ObjOtrosPagos.Add(New CFDINominaOtrosPagos With {.TipoOtroPago = "999", .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(), .Importe = Row("Importe").ToString().ToDecimal() * -1}) Else @@ -279,12 +288,14 @@ Public Class LogicNominas If DtOtrosPagos IsNot Nothing AndAlso DtOtrosPagos.Rows.Count > 0 Then For Each Row As DataRow In DtOtrosPagos.Rows - If (Row("Importe").ToString().ToDecimal() > 0) OrElse (Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 2 AndAlso Row("Importe").ToString().ToDecimal() < 0) Then + If (Row("Importe").ToString().ToDecimal() > 0) OrElse + (Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 2 AndAlso (CveRegimenContratacion.ToEntero() = 2 OrElse Row("Importe").ToString().ToDecimal() <> 0)) OrElse + (Row("SATCveConcepto").ToString().ToEntero().ToEntero().Contiene(2, 4) AndAlso Row("Importe").ToString().ToDecimal() < 0) Then If Row("CveSATConcepto").ToString() = "" Then cfdi.AddMsg(String.Format("Concepto No registrado ({0})", Row("Concepto").ToString())) : Exit For - - ObjOtrosPagos.Add(New CFDINominaOtrosPagos With {.TipoOtroPago = Row("SATCveConcepto").ToString(), .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(), - .Importe = Row("Importe").ToString().ToDecimal().Abs(), .Subsidiocausado = Row("ImporteGravado").ToString().ToDecimal().Abs()}) + Dim otrp = New CFDINominaOtrosPagos With {.TipoOtroPago = Row("SATCveConcepto").ToString(), .Clave = Row("Codigo").ToString(), .Concepto = Row("Concepto").ToString(), + .Importe = Row("Importe").ToString().ToDecimal().Abs(), .Subsidiocausado = Row("ImporteGravado").ToString().ToDecimal().Abs()} + ObjOtrosPagos.Add(otrp) If Row("SATCveConcepto").ToString().ToEntero().ToEntero() = 7 AndAlso Row("Importe").ToString().ToDecimal > 0 Then 'Subsidio diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index bed33b7e6..26418aaed 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -1987,7 +1987,7 @@ Public Class Timbrado '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) + cfdi.Nomina12Emisor(ObjCFDITimbre.Emisor.CURP, If(ObjCFDITimbre.Nomina.Receptor.TipoContrato.Contiene("09", "10", "99"), "", ObjCFDITimbre.Emisor.RegistroPatronal), ObjCFDITimbre.Emisor.RFC) If UsuarioActual.Empresa.UsaAC Then cfdi.Nomina12EntidadSNCF("IF", 90) @@ -2029,6 +2029,11 @@ Public Class Timbrado 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 '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)) @@ -2037,11 +2042,6 @@ Public Class Timbrado 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 @@ -2059,6 +2059,12 @@ Public Class Timbrado cfdi.Nomina12SubsidioAlEmpleo(otpag.Subsidiocausado) End If + If otpag.TipoOtroPago = "004" AndAlso otpag.Importe > 0 Then + If otpag.ejercicio > 0 Then + cfdi.CompensacionSaldosAFavor(otpag.Importe, otpag.ejercicio, otpag.RemanenteSalFav) 'otpag.SaldoAFavor + End If + End If + Next End If End If diff --git a/RH/Personal.aspx.vb b/RH/Personal.aspx.vb index 55f7be7e1..ccf42b83d 100644 --- a/RH/Personal.aspx.vb +++ b/RH/Personal.aspx.vb @@ -1172,8 +1172,14 @@ Partial Class RH_Personal DdlMetodoPago.DataBind() End Sub - Private Sub CargaTipoRegimen() - DdlRegimenContratacion.DataSource = GlobalDTNomSatRegimenContratacion + Private Sub CargaTipoRegimen() + Dim dt As DataTable = GlobalDTNomSatRegimenContratacion.Copy() + For Each item As DataRow In dt.Rows + item("RegimenContratacion") = String.Format("{1}{0} {2}", item("CveSATRegimenContratacion"), If(item("CveSATRegimenContratacion").ToString().Length > 1, "", "0"), item("RegimenContratacion")) + Next + dt.AcceptChanges() + + DdlRegimenContratacion.DataSource = dt.FiltraParametros("", "RegimenContratacion") DdlRegimenContratacion.DataBind() End Sub @@ -1365,7 +1371,8 @@ Partial Class RH_Personal CHKRFCValidado.Checked = drow("RFCValidado").ToString() = "1" TxtMailrecibonomina.Text = drow("MaiReciboNomina").ToString() 'Carga Datos Personales - LtlPersonal.Text = ObjPersonal.NombreCompleto + + LtlPersonal.Text = String.Format("{0} - {1}", ObjPersonal.Codigo, ObjPersonal.NombreCompleto) NombreCompleto = ObjPersonal.NombreCompleto 'TxtNombre.Text = ObjPersonal.Nombre TxtAPaterno.Text = ObjPersonal.APaterno