This commit is contained in:
2023-06-01 19:23:42 -07:00
5 changed files with 346 additions and 13 deletions

View File

@@ -2404,7 +2404,7 @@ Namespace Modelos
' Verificar si la fecha es del mes anterior a la fecha actual
Dim esMesAnterior As Boolean = False
If ObjFactura.TipoDocto = "Egs" AndAlso ValorMultiplicador = -1 AndAlso FechaCancelacion > MinFecha AndAlso tipoCambio > 1 AndAlso UsuarioActual.Empresa.Funcionalidad(703) = "1" Then
If ValorMultiplicador = -1 AndAlso FechaCancelacion > MinFecha AndAlso tipoCambio > 1 AndAlso UsuarioActual.Empresa.Funcionalidad(703) = "1" Then
' Obtener el mes y año de la fecha actual
Dim mesActual As Integer = FechaCancelacion.Month
Dim añoActual As Integer = FechaCancelacion.Year
@@ -2480,11 +2480,11 @@ Namespace Modelos
Dim TCCliente As Decimal = tipoCambio
Dim TCFluctuacion As Decimal = tipoCambio
'TOMA EL TC DE LA ULTIMA FLUCTUACION
If ValorMultiplicador = -1 AndAlso UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso ObjFactura.CveMoneda = 2 Then
If ValorMultiplicador = -1 AndAlso esMesAnterior AndAlso UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso ObjFactura.CveMoneda = 2 Then
Dim UltimaFluctuacion As ClsPaginas.MTipoCambioFluctuacion = ClsPaginas.GlobalTipoCambioUltimaFluctuacion(Now)
If UsuarioActual.Empresa.Funcionalidad(703) = "1" AndAlso UltimaFluctuacion IsNot Nothing Then
If UltimaFluctuacion.FechaFluctuacion <= Now Then
If UltimaFluctuacion.FechaFluctuacion <= FechaCancelacion Then
TCCliente = UltimaFluctuacion.TCFluctuacion
TCFluctuacion = UltimaFluctuacion.TCFluctuacion
End If

View File

@@ -278,7 +278,10 @@
<asp:HyperLink ID="HypAsistencia" NavigateUrl="/RH/Asistencias.aspx" runat="server"><i class="fa fa-list" aria-hidden="true"></i>Ir a asistencia</asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="LnkFormatoTabular" Visible="false" OnClick="LnkFormatoTabular_Click" CssClass="" runat="server"><i class="fa fa-download"></i> Nómina tabular</asp:LinkButton>
<asp:LinkButton ID="LnkFormatoTabular" Visible="false" OnClick="LnkFormatoTabular_Click" CssClass="" runat="server"><i class="fa fa-file-excel"></i> Nómina tabular</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkFormatoFiscal" Visible="false" OnClick="LnkFormatoFiscal_Click" CssClass="" runat="server"><i class="fa fa-file-excel"></i> Nómina Fiscal</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkSimulador" OnClick="LnkSimulador_Click" runat="server"><i class="fa fa-calculator"></i> Simulador</asp:LinkButton>
@@ -300,6 +303,7 @@
<Triggers>
<asp:PostBackTrigger ControlID="LnkListaRaya" />
<asp:PostBackTrigger ControlID="LnkFormatoTabular" />
<asp:PostBackTrigger ControlID="LnkFormatoFiscal" />
</Triggers>
</asp:UpdatePanel>

View File

@@ -259,7 +259,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{
if (!IsPostBack)
{
{
enviarCorreoEnTimbrado = (UsuarioActual.CveEmpresa == 141 ? true : true);
LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") || (UsuarioActual.CveRol == 1);
if (UsuarioActual.CveEmpresa == 141) { ddlfiniquito.SelectedValueExist("2"); }
@@ -567,6 +567,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LnkAsistenciaIncidencias.Visible = true;
LnkFormatoTabular.Visible = true;
LnkFormatoFiscal.Visible = (UsuarioActual.CveEmpresa == 141 || UsuarioActual.CveRol == 1);
HypPDFSTimbrados.Visible = true;
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero(), CveTipoTrabajador: CveTipoTrabajador, Neto: ddlfiniquito.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 4)
{
@@ -2837,7 +2838,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
using (ClsRH objpersonal = new ClsRH())
{
if (objpersonal.GetAsistencias(SRCvePersonal, -1, -1, -1, -1, -1,-1, FechaInicioPeriodo, FechaFinPeriodo, UsuarioActual.CveEmpresa))
if (objpersonal.GetAsistencias(SRCvePersonal, -1, -1, -1, -1, -1, -1, FechaInicioPeriodo, FechaFinPeriodo, UsuarioActual.CveEmpresa))
{ GVAsistencia.DataSource = objpersonal.DtResultados.FiltraParametros("Fecha IS NOT NULL"); }
else
{
@@ -5040,6 +5041,274 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
}
protected void LnkFormatoFiscal_Click(object sender, EventArgs e)
{
DataTable dtnominas = null;
using (ClsNominas onom = new ClsNominas())
{
if (onom.GetNom_Nominas(-1, -1, CvePeriodoSeleccionado, -1, UsuarioActual.CveEmpresa))
{
dtnominas = onom.DtResultados;
}
}
try
{
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
var libro = wb.AddWorksheet("Nomina");
int column = 1;
int filainicio = 3;
libro.Cell(filainicio + 1, column).Value = " ";
libro.Cell(filainicio + 2, column).Value = "Codigo";
libro.Cell(filainicio + 3, column).Value = " ";
column++;
libro.Cell(filainicio + 1, column).Value = " ";
libro.Cell(filainicio + 2, column).Value = "Empleado";
libro.Cell(filainicio + 3, column).Value = " ";
column++;
libro.Cell(filainicio + 1, column).Value = " ";
libro.Cell(filainicio + 2, column).Value = "Folio Fiscal";
libro.Cell(filainicio + 3, column).Value = " ";
libro.Column(column).Width = 35;
libro.Cell(1, 1).Value = "Empresa";
libro.Range(1, 2, 1, 4).Merge().Value = UsuarioActual.Empresa.Empresa;
libro.Cell(2, 1).Value = "período";
string periodo = DdlPeriodo.SelectedItem.Text;
periodo = periodo.Substring(0, (periodo.Length > 27 ? 27 : periodo.Length));
libro.Range(2, 2, 2, 4).Merge().Value = periodo;
int iniciotipe = column;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo ='P' AND EsPadre = 1 ").Rows)
{
column++;
libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
libro.Column(column).Width = 15;
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{
libro.Column(column).Hide();
}
}
column++;
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Percepciones";
libro.Column(column).Width = 15;
if (iniciotipe < column)
{
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Percepciones";
}
iniciotipe = column;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'D' AND EsPadre = 1 ").Rows)
{
column++;
libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
libro.Column(column).Width = 15;
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{
libro.Column(column).Hide();
}
}
column++;
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Deducciones";
libro.Column(column).Width = 15;
if (iniciotipe < column)
{
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Deducciones";
}
column++;
libro.Cell(filainicio + 1, column).Value = " ";
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Total";
libro.Column(column).Width = 15;
iniciotipe = column;
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'O' AND EsPadre = 1 ").Rows)
{
column++;
libro.Cell(filainicio + 2, column).Value = row["Concepto"].ToString();
libro.Cell(filainicio + 3, column).Value = row["Codigo"].ToString();
libro.Column(column).Width = 15;
if ((dtempleados.SUM(string.Format("[V_{0}]", row["CveConcepto"].ToString())) == 0))
{
libro.Column(column).Hide();
}
}
column++;
libro.Range(filainicio + 2, column, filainicio + 3, column).Merge().Value = "Obligaciones";
libro.Column(column).Width = 15;
if (iniciotipe < column)
{
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Style.Alignment.Horizontal = ClosedXML.Excel.XLAlignmentHorizontalValues.Center;
libro.Range(filainicio + 1, iniciotipe + 1, filainicio + 1, column).Merge().Value = "Obligaciones";
}
//libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
//libro.Row(2).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
//libro.Row(3).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
//libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(177, 160, 199));
//libro.Row(2).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
//libro.Row(3).Cell(1).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
//libro.Row(3).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
int maxnocolumn = column;
int Fila = filainicio + 3;
int cveSupProyecto = -5;
string subproyecto = "";
int oldcveSupProyecto = -5;
bool newsubproyecto = false;
bool newsubproyectoTitulo = false;
DataTable dtsr = dtempleados.FiltraParametros("", "CveSubProyecto");
dtsr.Rows.Add(dtsr.NewRow());
foreach (DataRow erow in dtsr.Rows)
{
Fila++;
newsubproyecto = false; newsubproyectoTitulo = false;
if (cveSupProyecto != erow["CveSubProyecto"].ToString().ToEntero())
{
if (oldcveSupProyecto != -5) { Fila += 2; newsubproyecto = true; }
oldcveSupProyecto = cveSupProyecto;
cveSupProyecto = erow["CveSubProyecto"].ToString().ToEntero();
subproyecto = erow["SubProyecto"].ToString();
if (cveSupProyecto != -5 && oldcveSupProyecto != -5) { Fila++; newsubproyectoTitulo = true; }
}
column = 1;
libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
column++;
if (newsubproyectoTitulo)
{
libro.Cell(Fila - 1, column).Value = subproyecto;
libro.Range(Fila - 1, 1, Fila - 1, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(155, 194, 230));
}
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = "Total";
libro.Range(Fila - 3, 1, Fila - 3, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(155, 194, 230));
}
libro.Cell(Fila, column).Value = erow["Nombre"];
column++;
if (dtnominas != null)
{
DataRow drw = dtnominas.FiltroPrimero(string.Format("CvePersonal = {0}", erow["CvePersonal"].ToString().ToEntero()));
if (drw != null)
{
libro.Cell(Fila, column).Value = drw["FolioFiscal"];
}
}
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'P' AND EsPadre = 1 ").Rows)
{
column++;
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
libro.Cell(Fila, column).Value = erow[Concepto];
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = dtempleados.SUM(Concepto, string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
}
}
column++;
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
libro.Cell(Fila, column).Value = erow["SumaPercepciones"];
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaPercepciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
}
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'D' AND EsPadre = 1 ").Rows)
{
column++;
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
libro.Cell(Fila, column).Value = erow[Concepto];
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = dtempleados.SUM(Concepto, string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
}
}
column++;
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
libro.Cell(Fila, column).Value = erow["SumaDeducciones"];
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaDeducciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
}
column++;
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
libro.Cell(Fila, column).Value = erow["Total"];
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = dtempleados.SUM("Total", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
}
foreach (DataRow row in dtConceptos.FiltraParametros("Tipo = 'O' AND EsPadre = 1 ").Rows)
{
column++;
string Concepto = string.Format("V_{0}", row["CveConcepto"]);
libro.Cell(Fila, column).Value = erow[Concepto];
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = dtempleados.SUM(Concepto, string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
}
}
column++;
libro.Cell(Fila, column).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(166, 166, 166));
libro.Cell(Fila, column).Value = erow["SumaObligaciones"];
if (newsubproyecto)
{
libro.Cell(Fila - 3, column).Value = dtempleados.SUM("SumaObligaciones", string.Format("CveSubProyecto ={0} AND CvePersonal > 0 ", oldcveSupProyecto));
}
}
libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Range(filainicio + 1, 1, filainicio + 4, maxnocolumn).Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
System.IO.Stream fs = new System.IO.MemoryStream();
wb.SaveAs(fs);
fs.Position = 0;
System.IO.MemoryStream memoryStream = new System.IO.MemoryStream();
using (System.IO.Stream input = fs)
{
input.CopyTo(memoryStream);
}
memoryStream.Position = 0;
Response.Clear();
Response.Buffer = true;
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.AddHeader("content-disposition", string.Format("attachment;filename={0} {1}.xlsx", "Nomina Fiscal", periodo));
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
}
catch (Exception ex)
{
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString());
}
}
protected void LnkConceptoD_Click(object sender, EventArgs e)
{
@@ -6843,7 +7112,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
bool continuar = true;
int chkImporte = 1;
int chkImporteGravado = 1;
int chkImporteGravado = 0;
int chkImporteValor = 1;
string[] getcolumnas = new string[] { "CvePersonal", "Nombre", "CveMetodoPago", "SumaPercepciones", "Total", "SalarioDiario", "SalarioDiarioIMSS", "SalarioDiarioIntegrado", "DiasLaborados", "DiasFaltados", "DiasVacaciones", "DiasIncapacidad" };
@@ -7006,7 +7275,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
RegistraScript("$('#DModalCargaASistenciaMasiva').modal();");
}
@@ -7111,7 +7380,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
}
using (ClsRH objpersonal = new ClsRH())
{
if (objpersonal.GetAsistencias(CvePersonal, -1, -1, -1, -1, -1,-1, fecha, fecha, UsuarioActual.CveEmpresa))
if (objpersonal.GetAsistencias(CvePersonal, -1, -1, -1, -1, -1, -1, fecha, fecha, UsuarioActual.CveEmpresa))
{
if (objpersonal.DtResultados.Rows.Count > 0)
{

View File

@@ -49,6 +49,7 @@ Partial Class Nomina_ReportePTU
DdlEjercicios.DataBind()
If (DdlEjercicios.Items.Count > 0) Then
DdlEjercicios.SelectedIndex = 0
DdlEjercicios.SelectedValueExist(DateTime.Now.Year.ToString())
DdlEjercicios_SelectedIndexChanged(Nothing, Nothing)
End If
End If
@@ -71,7 +72,7 @@ Partial Class Nomina_ReportePTU
Private Sub CargaPeriodos()
Dim ObjPeriodos As New ClsNominas()
If ObjPeriodos.GetPeriodos(-1, UsuarioActual.CveEmpresa, DdlEjercicios.SelectedValue.ToEntero(), -1, -1) Then
If ObjPeriodos.GetPeriodos(-1, UsuarioActual.CveEmpresa, -1, -1, -1) Then
dtPeriodos = ObjPeriodos.DtResultados.FiltraParametros("Estatus IN (0,1)")
End If
ObjPeriodos.Dispose()

View File

@@ -20925,6 +20925,13 @@ Partial Class Ventas
If Not OcurrioError Then
If MovimientoPrePoliza AndAlso CveMovimientoInventario > 0 Then
'OcurrioError = Not GeneraPrePolizaMovimientoAlmacen(ObjInventario, ObjConta, ObjContPaq, ObjFactura, ObjFactura.CvePrePoliza, CveMovimientoInventario, CveAlmacen)
Dim CveSubProyectoPrePoliza As Integer = ObjFactura.CveSubProyecto
If CveAlmacen > 0 Then
Dim CveSubProyectoAlmacen As Integer = GlobalDTAlmacen(UsuarioActual.CveEmpresa, CveAlmacen:=CveAlmacen).FiltroPrimeroValor("CveSubProyecto").ToString().ToEntero()
If CveSubProyectoAlmacen > 0 Then
CveSubProyectoPrePoliza = CveSubProyectoAlmacen
End If
End If
If ObjInventario.GetMovimientosDetalle(CveMovimientoInventario, UsuarioActual.CveEmpresa) AndAlso ObjInventario.DtResultados.Rows.Count > 0 Then
Dim DtCostos = ObjInventario.DtResultados.Copy
@@ -20953,8 +20960,13 @@ Partial Class Ventas
End If
Try
Dim CveSubProyecto69 As Integer = CveSubProyectoPrePoliza
If UsuarioActual.CveEmpresa = 119 Then
CveSubProyecto69 = ObjFactura.CveSubProyecto
End If
'If ValorInventario <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovto69, ValorInventario, ValorInventario, 69, ObjFactura.SerieFolio, ObjFactura.SerieFolio, IdCtaContable, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveClasificacion:=RowInv("CveClasificacion").ToString().ToEntero(), CveMovimientoAlmacen:=CveMovimientoInventario, CveSubProyecto:=ObjFactura.CveSubProyecto) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovto69, ValorInventario, ValorInventario, 69, ObjFactura.SerieFolio, ObjFactura.SerieFolio, IdCtaContable, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveClasificacion:=RowInv("CveClasificacion").ToString().ToEntero(), CveMovimientoAlmacen:=CveMovimientoInventario, CveSubProyecto:=CveSubProyecto69) Then
OcurrioError = True
Exit For
End If
@@ -20969,7 +20981,7 @@ Partial Class Ventas
If Not OcurrioError Then
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", CveAlmacen)).ToEntero()
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovto69, TotalCosto, TotalCosto, 68, ObjFactura.SerieFolio, ObjFactura.SerieFolio, IdCtaContable, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, CveSubProyecto:=ObjFactura.CveSubProyecto) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovto69, TotalCosto, TotalCosto, 68, ObjFactura.SerieFolio, ObjFactura.SerieFolio, IdCtaContable, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveMovimientoAlmacen:=CveMovimientoInventario, CveSubProyecto:=CveSubProyectoPrePoliza) Then
OcurrioError = True
End If
End If
@@ -22708,6 +22720,13 @@ Partial Class Ventas
End If
End If
If NuevaFactura = 1 Then
'SI ES REFACTURACION CON PAGOS NO PERMITIR AGREGAR PAGO
If ObjFacturaNC.Pagado > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(586).ToEntero() = 2 Then
BtnAgregarPago.Visible = False
End If
End If
Case 3 ' TERMINAL
DivTerminal.Visible = True
TxtFechaPago.Text = If(DdlTipoComprobante.SelectedValue = "Rem", Now.AddDays(PlazoCobranzaRemision), Now.AddDays(PlazoCobranza)).ToShortDateString
@@ -22856,6 +22875,14 @@ Partial Class Ventas
UpContado.Update()
End Sub
Private Sub BtnAgregarPago_Click(sender As Object, e As EventArgs) Handles BtnAgregarPago.Click
If NuevaFactura = 1 Then
'SI ES REFACTURACION CON PAGOS NO PERMITIR AGREGAR PAGO
If ObjFacturaNC.Pagado > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(586).ToEntero() = 2 Then
Alert("No se puede agregar un pago a una refacturación con pagos", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
End If
Dim abonado, saldo As Double
Dim total As Decimal = TxtImporteEfectivo.Text.ToDecimal + TxtImporteCredito.Text.ToDecimal + TxtImporteDebito.Text.ToDecimal + TxtImporteCheque.Text.ToDecimal + TxtImporteTransferencia.Text.ToDecimal
@@ -32312,13 +32339,45 @@ Partial Class Ventas
End If
ObjClientes.Dispose()
Dim CveSubProyectoVenta As Integer = DdlSubProyectoDatos.SelectedValue.ToEntero()
Dim SubProyectoVenta As String = DdlSubProyectoDatos.SelectedItem.Text
Dim CveProyectoVenta As Integer = -1
Dim ProyectoVenta As String = ""
If UsuarioActual.CveEmpresa = 119 AndAlso CveSubProyectoVenta > 0 Then
Dim RowSP = GlobalDTSubProyectos(-1, CveSubProyecto:=CveSubProyectoVenta, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("")
If RowSP IsNot Nothing Then
CveProyectoVenta = RowSP("CveProyecto").ToString().ToEntero()
ProyectoVenta = RowSP("Proyecto").ToString()
End If
End If
If DtRemisionesPS IsNot Nothing Then
Dim tCantidad As Decimal = 0
For Each Dr As DataRow In DtRemisionesPS.Select()
Dim CveProyecto As Integer = -1
Dim Proyecto As String = ""
Dim CveSubProyecto As Integer = -1
Dim SubProyecto As String = ""
If UsuarioActual.CveEmpresa = 119 Then
CveProyecto = CveProyectoVenta
Proyecto = ProyectoVenta
CveSubProyecto = CveSubProyectoVenta
SubProyecto = SubProyectoVenta
Else
CveProyecto = Dr("CveProyecto").ToString().ToEntero()
Proyecto = Dr("Proyecto").ToString()
CveSubProyecto = Dr("CveSubProyecto").ToString().ToEntero()
SubProyecto = Dr("SubProyecto").ToString()
End If
tCantidad = If(ChkRemProductos.Checked, GvRemPS.Rows(IndiceGVDataKey(GvRemPS, "CveVentaDetalle", $"{Dr("CveVentaDetalle")}")).FCTextBox("TxtCantidadRem").Text, Dr("Cantidad")).ToString().ToDecimal
AgregarProductoServicio(tCantidad, Dr("CveUM").ToString().ToEntero(), Dr("UM").ToString(), Dr("CveClasificacion").ToString().ToEntero(), Dr("Clasificacion").ToString(),
Dr("CvePS").ToString().ToEntero(), Dr("PS").ToString(), Dr("Obs").ToString(), Dr("PU").ToString().ToDecimal, Dr("Descuento").ToString().ToDecimal,
Dr("CveProyecto").ToString().ToEntero(), Dr("Proyecto").ToString(), Dr("CveSubProyecto").ToString().ToEntero(), Dr("SubProyecto").ToString(),
CveProyecto, Proyecto, CveSubProyecto, SubProyecto,
CveVentaDetalle:=Dr("CveVentaDetalle").ToString().ToEntero(), CveContratoDetalle:=Dr("CveContratoDetalle").ToString().ToEntero(),
CveVentaDetalleRemision:=Dr("CveVentaDetalle").ToString().ToEntero(), RegeneraIEPS:=True)
Next