From 3d7662b7eba87e250bda99dd99c9bb639915a48d Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 2 Aug 2023 13:30:12 -0700 Subject: [PATCH 1/7] =?UTF-8?q?--=20mejoras,=20para=20cancelar=20folios=20?= =?UTF-8?q?que=20est=C3=A1n=20en=20SAT=20y=20no=20en=20SIG?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SAT/SolicitudesNominaSat.aspx | 13 ++++-- SAT/SolicitudesNominaSat.aspx.cs | 75 +++++++++++++++++++++++++++++--- 2 files changed, 80 insertions(+), 8 deletions(-) diff --git a/SAT/SolicitudesNominaSat.aspx b/SAT/SolicitudesNominaSat.aspx index ca8adaec8..aae72e6fe 100644 --- a/SAT/SolicitudesNominaSat.aspx +++ b/SAT/SolicitudesNominaSat.aspx @@ -417,10 +417,17 @@
<%--DataKeyNames="Periodo,Version CFDI,Version Nómina,UUID,UUIDs relacionados,Tipo relacion,Tipo nomina,Serie,Folio,Fecha emision,Fecha certificacion,Fecha cancelacion,Fecha pago,Fecha inicial pago,Fecha final pago,Dias pagados,RFC emisor,Razon emisor,Registro patronal,RFC receptor,Razon receptor,Fecha inicio relacion laboral,Tipo contrato,Tipo jornada,Tipo regimen,Num empleado,Antiguedad,Sindicalizado,ClaveEntFed,Banco,Cuenta bancaria,CURP,No Seguro social,Departamento,Puesto,Periodicidad pago,Salario base cot apor,Salario diario integrado,Estado"--%> - - + + + + + + + + + - +
diff --git a/SAT/SolicitudesNominaSat.aspx.cs b/SAT/SolicitudesNominaSat.aspx.cs index cff8d344a..55d854dec 100644 --- a/SAT/SolicitudesNominaSat.aspx.cs +++ b/SAT/SolicitudesNominaSat.aspx.cs @@ -1,4 +1,5 @@ -using System; +using DocumentFormat.OpenXml.Wordprocessing; +using System; using System.Collections.Generic; using System.Data; using System.Linq; @@ -10,7 +11,7 @@ using System.Threading.Tasks; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; -using Extensiones; +using static Extensiones.ModExtensiones; public partial class SAT_SolicitudesNominaSat : ClsPaginas @@ -30,7 +31,7 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas { get { - if (ViewState["fechaInicio"] == null) { return ModExtensiones.MinFecha; } + if (ViewState["fechaInicio"] == null) { return MinFecha; } else { return ViewState["fechaInicio"].ToString().ToDate(); } } set { ViewState["fechaInicio"] = value; } @@ -39,7 +40,7 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas { get { - if (ViewState["fechaFin"] == null) { return ModExtensiones.MaxFecha; } + if (ViewState["fechaFin"] == null) { return MaxFecha; } else { return ViewState["fechaFin"].ToString().ToDate(); } } set { ViewState["fechaFin"] = value; } @@ -155,6 +156,16 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas } + if (DdlReporte.SelectedValue == "3") + { + GVSolicitudTimbreNominaGral.DataKeyNames = new string[] { "UUID", "RFCReceptor", "Total" }; + BtnCancelarMasivo.Visible = true; + } + else + { + GVSolicitudTimbreNominaGral.DataKeyNames = null; + BtnCancelarMasivo.Visible = false; + } nom.SATSolicitudTimbreNominaGral(DdlReporte.SelectedValue.ToString().ToEntero(), UsuarioActual.CveEmpresa, fechaInicio, fechaFin, DdlTipoNomina.SelectedValue.ToEntero(), DdlRegimenContratacion.SelectedValue.ToEntero()); GVSolicitudTimbreNominaGral.DataSource = nom.DtResultados; @@ -221,7 +232,7 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas //RegistraScript("$('#DModalSolicitudesNominas').modal('hide');"); RegistraScript("$('#ModalAgregarSolicitud').modal('hide');"); cargasolicitudes(); - Alert("se a envia la solicitud al sat, le enviaremos un correo en cuanto tengamos una respuesta", ModExtensiones.TipoMensaje.ToastInformacion); + Alert("se a envia la solicitud al sat, le enviaremos un correo en cuanto tengamos una respuesta", TipoMensaje.ToastInformacion); } } @@ -234,6 +245,60 @@ public partial class SAT_SolicitudesNominaSat : ClsPaginas cargasolicitudes(); } + + protected void BtnCancelar_Click(object sender, EventArgs e) + { + + GridViewRow GvRow = (GridViewRow)((LinkButton)sender).NamingContainer; + string FolioFiscal = GvRow.DataKey("UUID"); + string RFCReceptor = GvRow.DataKey("RFCReceptor"); + decimal Total = GvRow.DataKey("Total").ToDecimal(); + int CveMotivoCancelacion = 3; // no se llevó a cabo //get_GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa).FiltroPrimeroValor ("CveMotivoCancelacion", "CveSATMotivoCancelacion IN (2,3)").ToEntero(); + + Timbrado ObjTimbrado = new Timbrado(); + var resultado = ObjTimbrado.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, Total, RFCReceptor, UsuarioActual.Empresa.RFC, 4, CveSATMotivoCancelacion: CveMotivoCancelacion); + if (resultado != null) + { + Alert("Folio Fiscal Cancelado", TipoMensaje.MsgInformacion); + } + } + + protected void BtnCancelarMasivo_Click(object sender, EventArgs e) + { + StringBuilder sb = new StringBuilder(); + foreach (GridViewRow GvRow in GVSolicitudTimbreNominaGral.Rows) + { + if (GvRow.FCCheckBox("ChkC").Checked) + { + string FolioFiscal = GvRow.DataKey("UUID"); + string RFCReceptor = GvRow.DataKey("RFCReceptor"); + decimal Total = GvRow.DataKey("Total").ToDecimal(); + int CveMotivoCancelacion = 3; // no se llevó a cabo //get_GlobalDTMotivosCancelacionEmpresa(UsuarioActual.CveEmpresa).FiltroPrimeroValor ("CveMotivoCancelacion", "CveSATMotivoCancelacion IN (2,3)").ToEntero(); + + Timbrado ObjTimbrado = new Timbrado(); + var resultado = ObjTimbrado.CFDICancelar(UsuarioActual.Empresa, FolioFiscal, Total, RFCReceptor, UsuarioActual.Empresa.RFC, 4, CveSATMotivoCancelacion: CveMotivoCancelacion); + if (resultado != null) + { + GvRow.FCCheckBox("ChkC").Checked = false; + sb.AppendFormat("UUID: {0}
", FolioFiscal); + } + } + } + if (sb.Length > 0) + { + Alert("Folios Cancelados:

" + sb.ToString() , TipoMensaje.MsgInformacion); + } + } + + protected void GVSolicitudTimbreNominaGral_RowDataBound(object sender, GridViewRowEventArgs e) + { + //solo cuando es vista por recibo, y que no esté en sig + if (DdlReporte.SelectedValue == "3" && e.Row.RowType == DataControlRowType.DataRow && e.Row.DBCampo("SIG") =="NO") + { + //e.Row.FCLinkButton("BtnCancelar").Visible = true; + e.Row.FCCheckBox("ChkC").Visible = true; + } + } } public class GeneralesAPI : ADSNetLibrary.Helpers.Conexiones.SIGAPI.BaseSIGAPI From 5fe9639d7f70c0125a6513e6dddeff18fc9d0e19 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 2 Aug 2023 13:30:42 -0700 Subject: [PATCH 2/7] =?UTF-8?q?-=20mejoras=20en=20c=C3=A1lculo=20de=20sema?= =?UTF-8?q?naslaboradas=20--=20pac3.=20que=20actualice=20el=20foliofiscal?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- App_Code/LogicNominas.vb | 2 +- App_Code/Timbrado.vb | 79 +++++++++++++++++++++++----------------- 2 files changed, 47 insertions(+), 34 deletions(-) diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb index e05779805..7c42692c8 100644 --- a/App_Code/LogicNominas.vb +++ b/App_Code/LogicNominas.vb @@ -213,7 +213,6 @@ Public Class LogicNominas SalarioDiarioSS = objPersonal.SalarioDiarioSS ClaveEstado = objPersonal.ClaveEstado - AntiguedadSemanas = DateDiff(DateInterval.Weekday, objPersonal.FechaIngreso, Now).ToEntero() FormatoReciboCFDi = objPersonal.FormatoReciboCFDi Else If continuar Then GetError = "No se pudo obtener la información del empleado" 'si continuar= true el error se origino en este nodo y le asigno el error @@ -266,6 +265,7 @@ Public Class LogicNominas FechaFin = DrPeriodo("FechaFin").ToString().ToDate() FechaPago = DrPeriodo("FechaPago").ToString().ToDate() + AntiguedadSemanas = DateDiff(DateInterval.Weekday, objPersonal.FechaIngreso, FechaFin).ToEntero() If Not TimbreIndemnizacion Then FechaInicio = DrPeriodo("FechaInicio").ToString().ToDate() diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb index 0f240b5af..62a3ce0af 100644 --- a/App_Code/Timbrado.vb +++ b/App_Code/Timbrado.vb @@ -2403,30 +2403,62 @@ Public Class Timbrado FolioFiscal = resultadoTimbre.FolioUUID If FolioFiscal <> "" Then resultadoTimbre.GuardaXml(RutaArchivo, NombreArchivoXML) + '---------------------- - If ObjCFDITimbre.Comprobante.TipoComprobante <> "P" Then + Select Case ObjCFDITimbre.Comprobante.TipoComprobante + Case "N" + Using ObjNomina2 As New ClsNominas() - 'Actualiza Estatus Factura - If Ventas.CveVenta > 0 Then + If ObjNomina2.UpdateEstatusNomNominas(3, UsuarioActual.Empresa.CvePAC, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, ("01/01/2000").ToDate, ObjCFDITimbre.Nomina.CveNomina, 0, 0, 0, 0, 0, isFiniquito:=Ventas.Timbre.IStimbreFiniquito) Then + Retorno = "" + Else + Retorno = "Error" + End If + End Using - - Dim ObjVentas As New ClsVentas() - If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", Now, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC, CFDIVersion:="4.0") Then + Case "T" + Dim objGrales As New ClsGenerales + If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC, "4.0") Then Retorno = "" Else Retorno = "Error" End If - ObjVentas.Dispose() + objGrales.Dispose() + Using ObjInv As New ClsInventarios() + If ObjInv.UpdateMovimientoTimbrado(Ventas.Inv_CveMovimiento, 1, FolioFiscal, MinFecha) Then + Retorno = "" + Else + Retorno = "Error" + End If + End Using + Case Else - ''Actualiza Cliente (NumeroCuenta) - 'If Not UsuarioActual.CveEmpresa.Contiene(72, 80) Then - ' Dim Hilo2 As New System.Threading.Thread(Sub() ActualizaCliente(UsuarioActual.CveUsuario, Ventas.Cliente.NumCtaPago, Ventas.CveMetodoPago, Ventas.CveCliente)) - ' Hilo2.Start() - 'End If + 'Actualiza Estatus Factura + If Ventas.CveVenta > 0 Then - End If - End If + Using ObjVentas As New ClsVentas() + + If ObjVentas.UpdateEstatusFactura(3, FolioFiscal, "", ObjCFDITimbre.Comprobante.Fecha, Ventas.CveVenta, CvePAC:=UsuarioActual.Empresa.CvePAC, RFCReceptor:=ObjCFDITimbre.Receptor.RFC, CFDIVersion:="4.0") 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 + End Select + '---------------------- If Not IO.Directory.Exists($"{UsuarioActual.Empresa.Ruta}CBB\") Then IO.Directory.CreateDirectory($"{UsuarioActual.Empresa.Ruta}CBB\") @@ -2445,25 +2477,6 @@ Public Class Timbrado End If - If ObjCFDITimbre.Comprobante.TipoComprobante = "T" Then - Dim objGrales As New ClsGenerales - If objGrales.UpdateTimbreTimbrado(Ventas.CveTimbre, FolioFiscal, ObjCFDITimbre.Comprobante.Fecha, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.CvePAC, "4.0") Then - Retorno = "" - Else - Retorno = "Error" - End If - objGrales.Dispose() - - 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 - 'Pendiente. Ruta guardar archivos sw.Stop() swTiempo.AppendFormat("Actualizado: ({0}) {1} ", sw.ElapsedMilliseconds - swmili, sw.ElapsedMilliseconds) From 3e5c475311bb3a2f24d8ca352acccac29112f964 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 2 Aug 2023 13:30:58 -0700 Subject: [PATCH 3/7] -- que se visualicen las cuentas de SIG en caso de gasto --- Ventas/CatClasificaciones.aspx | 6 ++-- Ventas/CatClasificaciones.aspx.vb | 49 ++++++++++++++----------------- 2 files changed, 25 insertions(+), 30 deletions(-) diff --git a/Ventas/CatClasificaciones.aspx b/Ventas/CatClasificaciones.aspx index 97ef17863..64d68ffe9 100644 --- a/Ventas/CatClasificaciones.aspx +++ b/Ventas/CatClasificaciones.aspx @@ -76,7 +76,7 @@
+ DataKeyNames="CveClasificacion, CveCategoria, Clasificacion, UsoClasificacion, CuentaGasto, CuentaCostos, CuentaIngresos, IdCuentaGasto, IdCuentaCostos, IdCuentaIngresos,RequiereSerieLote,CveSATPS,SATClaveProductoServicio, RequiereAFCompra, RequiereAFInsumo, RequierePersonal, Estatus,EsAcumulador,TopVentas,TopCompras,PrecioBaseCosto,CveCuentaAsignacionGasto, CveCuentaGasto" EmptyDataText="No se encontraron Clasificaciones Registradas" ToolTip="Listado de Clasificaciones" CssClass="table table-striped table-advance table-hover Widthall ScrollAD mysmallbtn" GridLines="None"> @@ -233,13 +233,13 @@
-
+
-
+
diff --git a/Ventas/CatClasificaciones.aspx.vb b/Ventas/CatClasificaciones.aspx.vb index 3bf583f94..954df3b37 100644 --- a/Ventas/CatClasificaciones.aspx.vb +++ b/Ventas/CatClasificaciones.aspx.vb @@ -109,25 +109,15 @@ Partial Class CatClasificaciones End If UpModalClasif.Update() - If UsuarioActual.Empresa.TipoContabilizacion = 1 Then - ''COMENTADO DF 30 JUNIO 2017 - 'Dim Cuenta As New ClsContPAQi(UsuarioActual.Empresa) - 'If Cuenta.GetCuentas(-1, "-1", 1, 20000) Then - ' DtCuentas = Cuenta.DtResultados - 'End If - 'Cuenta.Dispose() - Else - If UsuarioActual.Empresa.TipoContabilidad = 2 Then - DivCuentaIngresos.Visible = False - DivCuentaCostos.Visible = False - DivCuentaGasto.Visible = False - - GvDatos.Columns(1).Visible = False - GvDatos.Columns(2).Visible = False - GvDatos.Columns(3).Visible = False - End If + If UsuarioActual.Empresa.TipoContabilidad = 1 Then + DivCuentaIngresos.Visible = False + DivCuentaCostos.Visible = False + 'DivCuentaGasto.Visible = False + ' GvDatos.Columns(1).Visible = False + GvDatos.Columns(2).Visible = False + GvDatos.Columns(3).Visible = False End If DdlCuentaGasto.Items.Insert(0, New ListItem("-", "-1")) @@ -226,14 +216,12 @@ Partial Class CatClasificaciones DdlCuentaGasto.DataValueField = "CveCuenta" DdlCuentaGasto.DataTextField = "Cuenta" - Dim ObjContabilidad As New ClsContabilidad - If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then - DtCuentasContables = ObjContabilidad.DtResultados - 'Cuenta, CtaCodigo - DtCuentasContables.Columns("CtaCodigo").ColumnName = "Cuenta" - End If - ObjContabilidad.Dispose() - ElseIf UsuarioActual.Empresa.TipoContabilidad = 1 Then + + DtCuentasContables = GlobalDTContaCuentasContables(UsuarioActual.CveEmpresa, Afectable:=1) + 'Cuenta, CtaCodigo + DtCuentasContables.Columns("CtaCodigo").ColumnName = "Cuenta" + + ElseIf UsuarioActual.Empresa.TipoContabilidad = 2 Then Dim ObjEmpresa As New ClsSisEmpresas Dim Empresa As Empresa = Nothing @@ -319,7 +307,7 @@ Partial Class CatClasificaciones If e.Row.DBCampo("CuentaIngresos") = "Seleccione" Or e.Row.DBCampo("CuentaIngresos") = "" Then e.Row.FCLabel("LtlCuentaIngresos").Text = "-" e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Left - If UsuarioActual.Empresa.UsaContabilidad Then + If UsuarioActual.CveEmpresa.Contiene(13, 83) Then e.Row.FCLabel("LtlClasificacion").Text = String.Format("{1}", e.Row.DBCampo("CveClasificacion"), e.Row.DBCampo("Clasificacion")) End If @@ -420,7 +408,14 @@ Partial Class CatClasificaciones If CuentaGasto.Length > 1 And CargaGastos Then DdlCuentaGasto.Items.Insert(0, New ListItem(CuentaGasto, CveCuentaGastoActual.ToString)) DdlCuentaGasto.SelectedIndex = 0 - CargaGastos = False + + If UsuarioActual.Empresa.TipoContabilidad = 1 Then + DdlCuentaGasto.Items.Clear() : DdlCuentaGasto.Items.Add(New ListItem("-", "-1")) + 'DdlCuentaGasto.Text = "" + DdlCuentaGasto.DataSource = GlobalDTContaCuentasContables(UsuarioActual.CveEmpresa, Afectable:=1) : DdlCuentaGasto.DataBind() + DdlCuentaGasto.SelectedValueExist(GvRow.DataKey("CveCuentaGasto")) + End If + Else DdlCuentaGasto.SelectedValueExist(CveCuentaGastoActual) End If From 4dd2079fd5b05eb02f4bf3ccaf582df47e981922 Mon Sep 17 00:00:00 2001 From: rrene Date: Wed, 2 Aug 2023 14:36:13 -0700 Subject: [PATCH 4/7] -- MEJORA VISUAL, modal de carga de conceptos --- Nomina/Nomina.aspx | 66 ++++++++++++++++++------------------------- Nomina/Nomina.aspx.cs | 6 ++-- 2 files changed, 30 insertions(+), 42 deletions(-) diff --git a/Nomina/Nomina.aspx b/Nomina/Nomina.aspx index 33c257306..6dbed6578 100644 --- a/Nomina/Nomina.aspx +++ b/Nomina/Nomina.aspx @@ -3348,7 +3348,7 @@