diff --git a/App_Code/LogicNominas.vb b/App_Code/LogicNominas.vb
index 8f2cafafa..bbac807ee 100644
--- a/App_Code/LogicNominas.vb
+++ b/App_Code/LogicNominas.vb
@@ -10,7 +10,7 @@ Public Class LogicNominas
Public Sub New()
guardarLogTimbrado = False
End Sub
- Public Function TimbrarNomina(CveNomina As Integer, CvePersonal As Integer, CvePeriodo As Integer, UsuarioActual As Usuario, Optional CvePAC As Integer = 4) As String
+ Public Function TimbrarNomina(CveNomina As Integer, CvePersonal As Integer, CvePeriodo As Integer, UsuarioActual As Usuario, Optional CvePAC As Integer = 4, Optional versionTimbre As VersionTimbradoEnum = VersionTimbradoEnum.PorDefectoEmpresa) As String
Dim Retorno As String = ""
GetError = "" 'Le reasigno el current error a nulo
Dim sw As Diagnostics.Stopwatch = Nothing
@@ -19,7 +19,7 @@ Public Class LogicNominas
sw.Start()
End If
- Dim cfdi As CFDITimbre = PreTimbrar(CveNomina, UsuarioActual, False) 'CvePersonal, CvePeriodo,
+ Dim cfdi As CFDITimbre = PreTimbrar(CveNomina, UsuarioActual, False, versionTimbre) 'CvePersonal, CvePeriodo,
If cfdi IsNot Nothing AndAlso cfdi.Mensaje = "" Then
If Not cfdi.Timbrado Then
Dim ObjTimbrado As New Timbrado
@@ -28,7 +28,7 @@ Public Class LogicNominas
ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero()
ObjFactura.Serie = cfdi.Comprobante.Serie
ObjFactura.Timbre = cfdi
- If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC) Then
+ If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC, versionTimbre) Then
Retorno = ObjTimbrado.MensajeErrorCFDI
End If
End If
@@ -37,7 +37,7 @@ Public Class LogicNominas
Else
If hasfiniquito Then
- cfdi = PreTimbrar(CveNomina, UsuarioActual, True) 'CvePersonal, CvePeriodo,
+ cfdi = PreTimbrar(CveNomina, UsuarioActual, True, versionTimbre) 'CvePersonal, CvePeriodo,
If cfdi IsNot Nothing AndAlso cfdi.Mensaje = "" Then
If Not cfdi.Timbrado Then
@@ -47,7 +47,7 @@ Public Class LogicNominas
ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero()
ObjFactura.Serie = cfdi.Comprobante.Serie
ObjFactura.Timbre = cfdi
- If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC) Then
+ If Not ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC, versionTimbre) Then
Retorno = ObjTimbrado.MensajeErrorCFDI
End If
If Retorno <> "" Then
@@ -81,7 +81,13 @@ Public Class LogicNominas
Return Retorno
End Function
Dim hasfiniquito As Boolean
- Public Function PreTimbrar(CveNomina As Integer, UsuarioActual As Usuario, TimbreIndemnizacion As Boolean) As CFDITimbre
+ Public Function PreTimbrar(CveNomina As Integer, UsuarioActual As Usuario, TimbreIndemnizacion As Boolean, Optional versionTimbrex As VersionTimbradoEnum = VersionTimbradoEnum.PorDefectoEmpresa) As CFDITimbre
+
+ Dim versionTimbre As VersionTimbradoEnum = versionTimbrex
+ If versionTimbre = VersionTimbradoEnum.PorDefectoEmpresa Then
+ versionTimbre = If(UsuarioActual.Empresa.Funcionalidad(350) = "1", VersionTimbradoEnum.Version4_0, VersionTimbradoEnum.Version3_3)
+ End If
+
Dim continuar As Boolean = True
hasfiniquito = False
Dim CvePersonal As Integer = -1
@@ -319,7 +325,7 @@ Public Class LogicNominas
End If
cfdi.Nomina.CveNomina = CveNomina
- cfdi.Receptor.UsoCFDI = If(UsuarioActual.Empresa.Funcionalidad(350).Contiene("1"), "CN01", "P01")
+ cfdi.Receptor.UsoCFDI = If(versionTimbre = VersionTimbradoEnum.Version4_0, "CN01", "P01")
cfdi.Receptor.RFC = RFC
cfdi.Receptor.Nombre = NombreCompleto
@@ -427,7 +433,7 @@ Public Class LogicNominas
If ObjDeducciones IsNot Nothing AndAlso ObjDeducciones.Count > 0 Then cfdi.Nomina.Deducciones = ObjDeducciones
- cfdi.Comprobante.Version = If(UsuarioActual.Empresa.Funcionalidad(350).Contiene("1"), "4.0", "3.3")
+ cfdi.Comprobante.Version = If(versionTimbre = VersionTimbradoEnum.Version4_0, "4.0", "3.3")
cfdi.Comprobante.Serie = Serie
cfdi.Comprobante.Folio = Folio
cfdi.Comprobante.Fecha = Now
@@ -440,7 +446,7 @@ Public Class LogicNominas
cfdi.Comprobante.TipoDocto = "Egs"
cfdi.Comprobante.MetodoPago = "PUE"
cfdi.Comprobante.CondicionesdePago = "" '"CONTADO"
- cfdi.Comprobante.FormadePago = If(UsuarioActual.Empresa.Funcionalidad(350).Contiene("1"), "", "99")
+ cfdi.Comprobante.FormadePago = If(versionTimbre = VersionTimbradoEnum.Version4_0, "", "99")
cfdi.Comprobante.LugarExpedicion = UsuarioActual.Empresa.CP.ToString() ' AHORITA SOLO SE REQUIERE ESPECIFICAR EL CODIGO POSTAL
cfdi.Comprobante.NumCuentaPago = "" 'objPersonal.BancoNumCuenta
'4.0
diff --git a/App_Code/Timbrado.vb b/App_Code/Timbrado.vb
index 0ca7bf273..264ecd40d 100644
--- a/App_Code/Timbrado.vb
+++ b/App_Code/Timbrado.vb
@@ -12,6 +12,12 @@ Imports Extensiones
Imports Newtonsoft.Json.Linq
Imports ProfactCartaPorte = Profact.TimbraCFDI33.Complementos.CartaPorte20
+
+Public Enum VersionTimbradoEnum As Integer
+ PorDefectoEmpresa = -1
+ Version3_3 = 1
+ Version4_0 = 2
+End Enum
Public Class Timbrado
#Region "P R O P I E D A D E S"
@@ -1192,11 +1198,14 @@ Public Class Timbrado
Return Timbre
End Function
- Public Function TimbrarFactura(UsuarioActual As Usuario, Ventas As Modelos.Factura, Optional CvePACEspecial As Integer = -1) As Boolean
+ Public Function TimbrarFactura(UsuarioActual As Usuario, Ventas As Modelos.Factura, Optional CvePACEspecial As Integer = -1, Optional versionTimbre As VersionTimbradoEnum = VersionTimbradoEnum.PorDefectoEmpresa) As Boolean
Dim Retorno As Boolean = False
Dim tCvePAC As Integer = UsuarioActual.Empresa.CvePAC
If CvePACEspecial <> -1 Then tCvePAC = CvePACEspecial
+ If versionTimbre = VersionTimbradoEnum.PorDefectoEmpresa Then
+ versionTimbre = If(UsuarioActual.Empresa.Funcionalidad(350) = "1", VersionTimbradoEnum.Version4_0, VersionTimbradoEnum.Version3_3)
+ End If
'validación especial.
If Ventas.TipoDocto.Contiene("Ing", "Dev") Then
@@ -1228,15 +1237,15 @@ Public Class Timbrado
Retorno = If(Ret = "", True, False)
Case 3
- If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
- Retorno = TimbrarFacturaProFactv40(UsuarioActual, Ventas)
+ If versionTimbre = VersionTimbradoEnum.Version4_0 Then
+ Retorno = TimbrarFacturaProFactV40(UsuarioActual, Ventas)
Else
Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas)
End If
'Retorno = TimbrarFacturaProFact(UsuarioActual, Ventas, TmpDTConceptos, TmpDTImpuestos, TmpDTComplementos, Ruta, LstFordASN, FordGSDBM, ObjV)
Case 4
- If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
+ If versionTimbre = VersionTimbradoEnum.Version4_0 Then
Dim Ret As String = TimbrarFacturaGoCFDIv40(Ventas, UsuarioActual, CvePACEspecial)
If Ret <> "" Then MensajeErrorCFDI = Ret
Retorno = If(Ret = "", True, False)
@@ -1248,7 +1257,7 @@ Public Class Timbrado
Case 5
- If UsuarioActual.Empresa.Funcionalidad(350) = "1" Then
+ If versionTimbre = VersionTimbradoEnum.Version4_0 Then
Dim Ret As String = TimbrarFacturaPADEv40(Ventas, UsuarioActual, CvePACEspecial)
If Ret <> "" Then MensajeErrorCFDI = Ret
Retorno = If(Ret = "", True, False)
diff --git a/Nomina/Finiquito.aspx.cs b/Nomina/Finiquito.aspx.cs
index 71a01e261..4918a6ca4 100644
--- a/Nomina/Finiquito.aspx.cs
+++ b/Nomina/Finiquito.aspx.cs
@@ -75,34 +75,12 @@ public partial class Nomina_Finiquito : ClsPaginas
}
set { ViewState["dtempleados"] = value; }
- }
- private HybridDictionary EmpresasFuncionalidades
- {
- get
- {
- if (ViewState["EmpresasFuncionalidades"] == null) { return null; }
- else { return (HybridDictionary)ViewState["EmpresasFuncionalidades"]; }
- }
-
- set { ViewState["EmpresasFuncionalidades"] = value; }
- }
-
- private HybridDictionary EmpresasFuncionalidadesnoV4
- {
- get
- {
- if (ViewState["EmpresasFuncionalidadesnoV4"] == null) { return null; }
- else { return (HybridDictionary)ViewState["EmpresasFuncionalidadesnoV4"]; }
- }
-
- set { ViewState["EmpresasFuncionalidadesnoV4"] = value; }
- }
+ }
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
- {
- CreaObjetoEmpresa(UsuarioActual);
+ {
GvFinOrdinario.DataSource = new DataTable();
GVFinIndemnizacion.DataSource = new DataTable();
GvFinOrdinario.DataBind();
@@ -552,109 +530,6 @@ public partial class Nomina_Finiquito : ClsPaginas
// }
//}
- private void CreaObjetoEmpresa(Usuario UsuarioActual)
- {
- ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
- if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
- {
- if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa))
- {
- System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
-
- EmpresasFuncionalidades = new HybridDictionary();
- EmpresasFuncionalidadesnoV4 = new HybridDictionary();
- foreach (System.Data.DataRow Row in dttmp.Rows)
- {
- if (Convert.ToInt32(Row["CveFuncionalidad"]) != 350)
- {
- EmpresasFuncionalidadesnoV4.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
- }
- EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
- }
- //ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
- }
-
- UsuarioActual.Empresa = ObjEmpresa.Empresa;
- }
- else
- {
- }
- ObjEmpresa.Dispose();
- }
- public string TimbrarNominaV3_3(int CveNomina, int CvePersonal, int CvePeriodo, Usuario UsuarioActual, int CvePAC = 4)
- {
- LogicNominas lnom = new LogicNominas();
- string Retorno = "";
- string GetError = ""; // Le reasigno el current error a nulo
- //System.Diagnostics.Stopwatch sw = null;
- bool hasfiniquito = false;
-
- UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidadesnoV4);
- //if (guardarLogTimbrado)
- //{
- // sw = new System.Diagnostics.Stopwatch();
-
- // sw.Start();
- //}
- CFDITimbre cfdi = lnom.PreTimbrar(CveNomina, UsuarioActual, false); // CvePersonal, CvePeriodo,
- cfdi.Comprobante.CondicionesdePago = "";
- if (cfdi != null && cfdi.Mensaje == "")
- {
- if (!cfdi.Timbrado)
- {
- Timbrado ObjTimbrado = new Timbrado();
- Modelos.Factura ObjFactura = new Modelos.Factura();
- ObjFactura.TipoDocto = "Nomina";
- ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero();
- ObjFactura.Serie = cfdi.Comprobante.Serie;
- ObjFactura.Timbre = cfdi;
- if (!ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC))
- Retorno = ObjTimbrado.MensajeErrorCFDI;
- }
- if (Retorno != "")
- Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}";
- else if (hasfiniquito)
- {
- cfdi = lnom.PreTimbrar(CveNomina, UsuarioActual, true); // CvePersonal, CvePeriodo,
- if (cfdi != null && cfdi.Mensaje == "")
- {
- if (!cfdi.Timbrado)
- {
- Timbrado ObjTimbrado = new Timbrado();
- Modelos.Factura ObjFactura = new Modelos.Factura();
- ObjFactura.TipoDocto = "Nomina";
- ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero();
- ObjFactura.Serie = cfdi.Comprobante.Serie;
- ObjFactura.Timbre = cfdi;
- if (!ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC))
- Retorno = ObjTimbrado.MensajeErrorCFDI;
- if (Retorno != "")
- Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}";
- else
- {
- }
- }
- }
- else if (cfdi == null)
- Retorno = $"No se pudo generar el pretimbre(GetError):
{GetError}";
- else
- Retorno = $"No se pudo generar el pretimbre:
{cfdi.Mensaje}";
- }
- }
- else if (cfdi == null)
- Retorno = $"No se pudo generar el pretimbre(GetError):
{GetError}";
- else
- Retorno = $"No se pudo generar el pretimbre:
{cfdi.Mensaje}";
- //if (guardarLogTimbrado)
- //{
- // sw.Stop();
- // GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString(), UsuarioActual.Empresa.CvePAC, "Nomina");
- //}
-
- UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
- return Retorno;
- }
-
protected void LnkTimbrar_Click(object sender, EventArgs e)
{
int CvePeriodo = CvePeriodoFiniquito;
@@ -667,14 +542,8 @@ public partial class Nomina_Finiquito : ClsPaginas
string Msg = "";
- if (UsuarioActual.CveEmpresa == 119)
- {
- Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
- }
- else
- {
- Msg = TimbrarNominaV3_3(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
- }
+ Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual,versionTimbre:(UsuarioActual.CveEmpresa == 119? VersionTimbradoEnum.PorDefectoEmpresa: VersionTimbradoEnum.Version3_3));
+
if (Msg != null && Msg.Length > 0)
{ Alert(Msg, TipoMensaje.MsgAdvertencia); }
else
diff --git a/Nomina/Nomina.aspx.cs b/Nomina/Nomina.aspx.cs
index 0ecefafee..7204fddf2 100644
--- a/Nomina/Nomina.aspx.cs
+++ b/Nomina/Nomina.aspx.cs
@@ -208,27 +208,27 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
- private HybridDictionary EmpresasFuncionalidades
- {
- get
- {
- if (ViewState["EmpresasFuncionalidades"] == null) { return null; }
- else { return (HybridDictionary)ViewState["EmpresasFuncionalidades"]; }
- }
+ //private HybridDictionary EmpresasFuncionalidades
+ //{
+ // get
+ // {
+ // if (ViewState["EmpresasFuncionalidades"] == null) { return null; }
+ // else { return (HybridDictionary)ViewState["EmpresasFuncionalidades"]; }
+ // }
- set { ViewState["EmpresasFuncionalidades"] = value; }
- }
+ // set { ViewState["EmpresasFuncionalidades"] = value; }
+ //}
- private HybridDictionary EmpresasFuncionalidadesnoV4
- {
- get
- {
- if (ViewState["EmpresasFuncionalidadesnoV4"] == null) { return null; }
- else { return (HybridDictionary)ViewState["EmpresasFuncionalidadesnoV4"]; }
- }
+ //private HybridDictionary EmpresasFuncionalidadesnoV4
+ //{
+ // get
+ // {
+ // if (ViewState["EmpresasFuncionalidadesnoV4"] == null) { return null; }
+ // else { return (HybridDictionary)ViewState["EmpresasFuncionalidadesnoV4"]; }
+ // }
- set { ViewState["EmpresasFuncionalidadesnoV4"] = value; }
- }
+ // set { ViewState["EmpresasFuncionalidadesnoV4"] = value; }
+ //}
#endregion
protected void Page_Load(object sender, EventArgs e)
@@ -236,7 +236,10 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (!IsPostBack)
{
- CreaObjetoEmpresa(UsuarioActual);
+ if(UsuarioActual.CveUsuario == 100) {
+ Alert("recuerda que solo la empresa (119) tiene activado el timbrado 4.0", TipoMensaje.ToastAdventencia);
+ }
+ //CreaObjetoEmpresa(UsuarioActual);
DataTable dtperinc = null;
using (ClsNominas objnom = new ClsNominas())
{
@@ -1280,15 +1283,9 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
LogicNominas lognom = new LogicNominas();
- string Msg = "";
- if (UsuarioActual.CveEmpresa == 119)
- {
- Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
- }
- else
- {
- Msg = TimbrarNominaV3_3(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
- }
+ string Msg = "";
+ Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
+
if (Msg != null && Msg.Length > 0)
{
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
@@ -1344,35 +1341,40 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
UpDatos.Update();
}
- private void CreaObjetoEmpresa(Usuario UsuarioActual)
- {
- ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
- if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
- {
- if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa))
- {
- System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
+ //private void CreaObjetoEmpresa(Usuario UsuarioActual)
+ //{
+ // ClsSisEmpresas ObjEmpresa = new ClsSisEmpresas();
+ // if (ObjEmpresa.GetEmpresas(UsuarioActual.CveEmpresa, "-1", "-1", "-1", "-1"))
+ // {
+ // if (ObjEmpresa.GetEmpresasFuncionalidades(UsuarioActual.CveEmpresa))
+ // {
+ // System.Data.DataTable dttmp = ObjEmpresa.DtResultados;
- EmpresasFuncionalidades = new HybridDictionary();
- EmpresasFuncionalidadesnoV4 = new HybridDictionary();
- foreach (System.Data.DataRow Row in dttmp.Rows)
- {
- if (Convert.ToInt32(Row["CveFuncionalidad"]) != 350)
- {
- EmpresasFuncionalidadesnoV4.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
- }
- EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
- }
- //ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
- }
+ // EmpresasFuncionalidades = new HybridDictionary();
+ // EmpresasFuncionalidadesnoV4 = new HybridDictionary();
+ // foreach (System.Data.DataRow Row in dttmp.Rows)
+ // {
+ // if (Convert.ToInt32(Row["CveFuncionalidad"]) != 350)
+ // {
+ // EmpresasFuncionalidadesnoV4.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
+ // EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
+ // }
+ // else
+ // {
+ // EmpresasFuncionalidades.Add(Convert.ToInt32(Row["CveFuncionalidad"]), Row["Valor"].ToString());
- UsuarioActual.Empresa = ObjEmpresa.Empresa;
- }
- else
- {
- }
- ObjEmpresa.Dispose();
- }
+ // }
+ // }
+ // ObjEmpresa.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
+ // }
+
+ // UsuarioActual.Empresa = ObjEmpresa.Empresa;
+ // }
+ // else
+ // {
+ // }
+ // ObjEmpresa.Dispose();
+ //}
protected void LnkReenviarCorreo_Click(object sender, EventArgs e)
{
LinkButton lnk = (LinkButton)sender;
@@ -1468,14 +1470,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
UsuarioActual = this.UsuarioActual;
}*/
string Msg = "";// lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, (UsuarioActual.CveUsuario == 100 ? 4 : 4));
- if (UsuarioActual.CveEmpresa == 119)
- {
- Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
- }
- else
- {
- Msg = TimbrarNominaV3_3(CveNomina, CvePersonal, CvePeriodo, UsuarioActual);
- }
+ Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
+
if (Msg != null && Msg.Length > 0)
{ Alert(string.Format("El empleado no se pudo timbrar, el sat nos devolvio el siguiente mensaje:
{0}", Msg), TipoMensaje.MsgAdvertencia); }
else
@@ -9131,79 +9127,5 @@ public partial class Nomina_Nomina2 : ClsPaginas
RegistraScript(string.Format("$('#ModalViewCorreo').modal();", TxtmcImporte.ClientID));
}
- public string TimbrarNominaV3_3(int CveNomina, int CvePersonal, int CvePeriodo, Usuario UsuarioActual, int CvePAC = 4)
- {
- LogicNominas lnom = new LogicNominas();
- string Retorno = "";
- string GetError = ""; // Le reasigno el current error a nulo
- //System.Diagnostics.Stopwatch sw = null;
- bool hasfiniquito = false;
-
- UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidadesnoV4);
- //if (guardarLogTimbrado)
- //{
- // sw = new System.Diagnostics.Stopwatch();
-
- // sw.Start();
- //}
- CFDITimbre cfdi = lnom.PreTimbrar(CveNomina, UsuarioActual, false); // CvePersonal, CvePeriodo,
- cfdi.Comprobante.CondicionesdePago = "";
- if (cfdi != null && cfdi.Mensaje == "")
- {
- if (!cfdi.Timbrado)
- {
- Timbrado ObjTimbrado = new Timbrado();
- Modelos.Factura ObjFactura = new Modelos.Factura();
- ObjFactura.TipoDocto = "Nomina";
- ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero();
- ObjFactura.Serie = cfdi.Comprobante.Serie;
- ObjFactura.Timbre = cfdi;
- if (!ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC))
- Retorno = ObjTimbrado.MensajeErrorCFDI;
- }
- if (Retorno != "")
- Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}";
- else if (hasfiniquito)
- {
- cfdi = lnom.PreTimbrar(CveNomina, UsuarioActual, true); // CvePersonal, CvePeriodo,
- if (cfdi != null && cfdi.Mensaje == "")
- {
- if (!cfdi.Timbrado)
- {
- Timbrado ObjTimbrado = new Timbrado();
- Modelos.Factura ObjFactura = new Modelos.Factura();
- ObjFactura.TipoDocto = "Nomina";
- ObjFactura.Folio = cfdi.Comprobante.Folio.ToEntero();
- ObjFactura.Serie = cfdi.Comprobante.Serie;
- ObjFactura.Timbre = cfdi;
- if (!ObjTimbrado.TimbrarFactura(UsuarioActual, ObjFactura, CvePAC))
- Retorno = ObjTimbrado.MensajeErrorCFDI;
- if (Retorno != "")
- Retorno = $"{Retorno} - {cfdi.Receptor.Nombre}";
- else
- {
- }
- }
- }
- else if (cfdi == null)
- Retorno = $"No se pudo generar el pretimbre(GetError):
{GetError}";
- else
- Retorno = $"No se pudo generar el pretimbre:
{cfdi.Mensaje}";
- }
- }
- else if (cfdi == null)
- Retorno = $"No se pudo generar el pretimbre(GetError):
{GetError}";
- else
- Retorno = $"No se pudo generar el pretimbre:
{cfdi.Mensaje}";
- //if (guardarLogTimbrado)
- //{
- // sw.Stop();
- // GuardaLogTimbrado(sw.ElapsedMilliseconds.ToString(), UsuarioActual.Empresa.CvePAC, "Nomina");
- //}
-
- UsuarioActual.Empresa.SetFuncionalidades(EmpresasFuncionalidades);
- return Retorno;
- }
-
}
\ No newline at end of file
diff --git a/Ventas/ProductosServicios.aspx b/Ventas/ProductosServicios.aspx
index a5b9acafb..6e33f38b6 100644
--- a/Ventas/ProductosServicios.aspx
+++ b/Ventas/ProductosServicios.aspx
@@ -515,14 +515,14 @@