This commit is contained in:
2023-02-21 19:30:18 -07:00
20 changed files with 680 additions and 527 deletions

View File

@@ -5752,7 +5752,7 @@ Public Class ClsPaginas
Dim VendedorMail As String = ""
Dim VendedorTelefono As String = ""
Dim VendedorCelular As String = ""
Dim RowVendedor As DataRow = GlobalDTVendedores(-1).FiltroPrimero(String.Format("CveVendedor = {0}", Vta.CveVendedor.ToString))
Dim RowVendedor As DataRow = GlobalDTVendedores(Vta.CveEmpresa, VendedorTipo:=-1).FiltroPrimero(String.Format("CveVendedor = {0}", Vta.CveVendedor.ToString))
If Not IsNothing(RowVendedor) Then
VendedorNombre = RowVendedor("Vendedor").ToString
VendedorMail = RowVendedor("Correo").ToString

View File

@@ -330,7 +330,8 @@ Public Class ClsRH
End Function
Public Function AddAsistenciasInasistencias(Tipo As String, AplicaFalta As Boolean, AplicaAsistencia As Boolean, CveUsuario As Integer, CveEmpresa As Integer,
chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo As Boolean, chkAplicaAguinaldo As Boolean, chkAplicaUtilidades As Boolean) As Boolean
chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo As Boolean, chkAplicaAguinaldo As Boolean,
chkAplicaUtilidades As Boolean, aplicaPago As Integer, aplicaPagoDoble As Integer, aplicaPrimaVac As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_RH_AsistenciasInasistenciasAdd")
@@ -347,6 +348,9 @@ Public Class ClsRH
.Add("@AplicaRetardo", SqlDbType.Bit).Value = chkAplicaRetardo
.Add("@AplicaAguinaldo", SqlDbType.Bit).Value = chkAplicaAguinaldo
.Add("@AplicaUtilidades", SqlDbType.Bit).Value = chkAplicaUtilidades
.Add("@AplicaPago", SqlDbType.Int).Value = aplicaPago
.Add("@AplicaPagoDoble", SqlDbType.Int).Value = aplicaPagoDoble
.Add("@AplicaPrimaVac", SqlDbType.Int).Value = aplicaPrimaVac
End With
@@ -367,7 +371,8 @@ Public Class ClsRH
End Function
Public Function UpdateAsistenciasInasistencias(Tipo As String, AplicaFalta As Boolean, AplicaAsistencia As Boolean, Estatus As Boolean, CveAI As Integer,
chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo As Boolean, chkAplicaAguinaldo As Boolean, chkAplicaUtilidades As Boolean) As Boolean
chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo As Boolean, chkAplicaAguinaldo As Boolean, chkAplicaUtilidades As Boolean,
aplicaPago As Integer, aplicaPagoDoble As Integer, aplicaPrimaVac As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_RH_AsistenciasInasistenciasUpdate")
@@ -384,6 +389,9 @@ chkAplicaVacacion As Boolean, chkAplicaIncapacidad As Boolean, chkAplicaRetardo
.Add("@AplicaRetardo", SqlDbType.Bit).Value = chkAplicaRetardo
.Add("@AplicaAguinaldo", SqlDbType.Bit).Value = chkAplicaAguinaldo
.Add("@AplicaUtilidades", SqlDbType.Bit).Value = chkAplicaUtilidades
.Add("@AplicaPago", SqlDbType.Int).Value = aplicaPago
.Add("@AplicaPagoDoble", SqlDbType.Int).Value = aplicaPagoDoble
.Add("@AplicaPrimaVac", SqlDbType.Int).Value = aplicaPrimaVac
End With
Try

View File

@@ -144,7 +144,8 @@ Public Class LogicNominas
Dim SalarioDiarioSS As Double = 0
Dim ClaveEstado As String = ""
Dim MetodoPagoFijo As Boolean
Dim totalDb As Decimal
Dim subTotalDb As Decimal
Dim CodigoPostal As String = ""
Dim ObjIncapacidades As New List(Of CFDINominaIncapacidades)
@@ -157,6 +158,8 @@ Public Class LogicNominas
Dim drow As DataRow = objNomina.DtResultados.Rows(0)
CvePersonal = drow("CvePersonal").ToString().ToEntero()
CvePeriodo = drow("CvePeriodo").ToString().ToEntero()
totalDb = drow("Total").ToString().ToDecimal()
subTotalDb = drow("SubTotal").ToString().ToDecimal()
cfdi.Nomina.Antiguedad = drow("Antiguedad").ToString().ToEntero()
cfdi.Nomina.UltimoSueldoOrdinario = drow("UltimoSueldoOrdinario").ToString().ToDecimal()
Serie = objNomina.Serie
@@ -438,9 +441,9 @@ Public Class LogicNominas
cfdi.Comprobante.Serie = Serie
cfdi.Comprobante.Folio = Folio
cfdi.Comprobante.Fecha = Now
cfdi.Comprobante.SubTotal = cfdi.Nomina.TotalPercepciones.ToString().ToDecimal() + cfdi.Nomina.TotalOtrosPagos.ToString().ToDecimal()
cfdi.Comprobante.SubTotal = subTotalDb 'cfdi.Nomina.TotalPercepciones.ToString().ToDecimal() + cfdi.Nomina.TotalOtrosPagos.ToString().ToDecimal()
cfdi.Comprobante.Descuentos = cfdi.Nomina.TotalDeducciones.ToString().ToDecimal()
cfdi.Comprobante.Total = cfdi.Comprobante.SubTotal - cfdi.Comprobante.Descuentos 'cfdi.Nomina.TotalPercepciones + cfdi.Nomina.TotalOtrosPagos - cfdi.Nomina.TotalDeducciones
cfdi.Comprobante.Total = totalDb 'cfdi.Comprobante.SubTotal - cfdi.Comprobante.Descuentos 'cfdi.Nomina.TotalPercepciones + cfdi.Nomina.TotalOtrosPagos - cfdi.Nomina.TotalDeducciones
cfdi.Comprobante.MotivoDescuento = "" '"Deducciones nómina"
cfdi.Comprobante.Moneda = "MXN"
cfdi.Comprobante.TipoComprobante = "N"

View File

@@ -4204,6 +4204,13 @@ Partial Class Compras_Compras
'------------------ INICIA VALIDACIONES ------------------
Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal()
If Not CveSubProyectoPrincipal > 0 Then
Alert("Falta asignar Proyecto a la compra", TipoMensaje.MsgAdvertencia)
End If
If Not ValidaVinculacionNotaFactura() Then
Alert("Se requiere que la nota este aplciada a las facturas", TipoMensaje.MsgAdvertencia)
Exit Sub
@@ -4921,7 +4928,8 @@ Partial Class Compras_Compras
TxtRedondeo.Text.ToDouble, TxtTotal.Text.ToDouble, TxtFecha.Text.Trim.ToDate, DdlMoneda.SelectedValue.ToEntero, TipoCambio, TxtFechaPago.Text.Trim.ToDate, ChkAplicaNotaCredito.Checked, TxtObsFact.Text.Trim, CveEstatusFactura,
CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, IdPoliza, CveCajaChica:=CveCajaChica, CvePersonal:=CvePersonal, NumeroReembolso:=NumeroReembolso, CveProveedorSucursal:=DdlProveedorSucursal.SelectedValue.ToEntero,
AplicoPromocion:=ChkOCPromocion.Checked, PorcentajeIVA:=PorcentajeIVA, CveMetodoPago:=CveMetodoPago, CveRetIVAConcepto:=If(DdlRetIVAConcepto.Items.Count > 0, DdlRetIVAConcepto.SelectedValue.ToEntero, -1), CveConceptoContableAlmacen:=CveConceptoContableAlmacen,
CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, TotalOriginal:=TotalOriginal, CveTipoConcepto:=CveTipoConcepto, EsImportacion:=EsImportacion, CveFactura:=CveFactura) Then
CveRetISRConcepto:=If(DdlRetISRConcepto.Items.Count > 0, DdlRetISRConcepto.SelectedValue.ToEntero, -1), NoDeducible:=EsNoDeducible, CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, TotalOriginal:=TotalOriginal, CveTipoConcepto:=CveTipoConcepto,
EsImportacion:=EsImportacion, CveFactura:=CveFactura, CveSubProyecto:=CveSubProyectoPrincipal) Then
ViewState("CveCompra") = ObjCompras.CveCompra
If ObjCompras.DtResultados.Rows.Count > 0 Then ViewState("CompraFolio") = ObjCompras.DtResultados.Rows(0)("vFolio").ToString
@@ -6015,7 +6023,7 @@ Partial Class Compras_Compras
For Each Row As DataRow In DTPlatilla.Rows
Dim CveSubProyectoInsertar As Integer = -1
Dim CveSubProyectoInsertar As Integer = CveSubProyectoPrincipal
Dim ConceptoContable As Integer = Row("CveConcepto").ToString.ToEntero
Dim TipoMovimiento As Boolean = If(Row("TipoMovto").ToString = "True", True, False)
@@ -6227,7 +6235,7 @@ Partial Class Compras_Compras
Case 25 'IEPS X Acreditar
If Not DdlTipoComprobante.SelectedValue.Contiene("Ant") Then
CveSubProyectoInsertar = CveSubProyecto
'CveSubProyectoInsertar = CveSubProyecto
importeMovimiento = CompraActual.IEPS
importeMN = Math.Round(importeMovimiento, 2) * tipoCambioActual * Multiplicador
If tipoCambioActual > 1 Then Concepto += $" TC{tipoCambioActual} ${importeMovimiento.FormatoNumero(2)}"
@@ -6323,7 +6331,7 @@ Partial Class Compras_Compras
Case 64 'Ganancia
CveSubProyectoInsertar = CveSubProyecto
'CveSubProyectoInsertar = CveSubProyecto
If CveSubProyectoInsertar <= 0 Then
ErrorPrepoliza = True
Alert("Concepto ganancia cambiaria sin sub proyecto", TipoMensaje.MsgAdvertencia)
@@ -8228,6 +8236,39 @@ Partial Class Compras_Compras
End If
End Sub
Private Function AsignarSubProyectoPrincipal() As Integer
Dim CveSubProyectoPrincioal As Integer = -1
Dim DTSubProyectoPrincipal As New DataTable
DTSubProyectoPrincipal.Columns.Add("CveSubProyecto", GetType(Integer))
DTSubProyectoPrincipal.Columns.Add("Total", GetType(Decimal))
For Each dRow As DataRow In TmpDT.FiltraParametros("", "", {"CveSubProyecto"}).Rows
Dim CveSubProyectoActual As Integer = dRow("CveSubProyecto").ToString.ToEntero
If CveSubProyectoActual > 0 Then
Dim nRow = DTSubProyectoPrincipal.NewRow
nRow("CveSubProyecto") = dRow("CveSubProyecto").ToString.ToEntero
nRow("Total") = TmpDT.SUMD("Total", $"CveSubProyecto={CveSubProyectoActual}")
DTSubProyectoPrincipal.Rows.Add(nRow)
End If
Next
If DTSubProyectoPrincipal.Rows.Count > 0 Then
DTSubProyectoPrincipal = DTSubProyectoPrincipal.FiltraParametros("", "Total DESC ")
CveSubProyectoPrincioal = DTSubProyectoPrincipal.FiltroPrimeroValor("CveSubProyecto").ToEntero
End If
Return CveSubProyectoPrincioal
End Function
Private Function ValidaVinculacionNotaFactura() As Boolean
Dim Respuesta As Boolean = False
@@ -8832,6 +8873,12 @@ Partial Class Compras_Compras
Protected Sub BtnActualizar_Click(sender As Object, e As EventArgs) Handles BtnActualizar.Click
Dim CveSubProyectoPrincipal As Integer = AsignarSubProyectoPrincipal()
If Not CveSubProyectoPrincipal > 0 Then
Alert("Falta asignar Proyecto a la compra", TipoMensaje.MsgAdvertencia)
End If
If CveFactura > 0 Then
If Not AjustaCombustibles() Then
Exit Sub
@@ -8914,7 +8961,7 @@ Partial Class Compras_Compras
If ObjCompra.UpdateCompra(TxtDescripcion.Text.Trim, TxtFolioSecundario.Text.Trim, TxtFechaPago.Text.ToDate, ChkAplicaNotaCredito.Checked, TxtObsFact.Text.Trim, CveEstatusFactura,
TxtDescuento.Text.ToDouble, TxtSubTotal.Text.ToDouble, TxtIVA.Text.ToDouble, TxtTotal.Text.ToDouble,
UsuarioActual.CveUsuario, CveCompra, CveCajaChica:=DdlRembolsoCajaChica.SelectedValue.ToEntero, CvePersonal:=DdlRembolsoPersonal.SelectedValue.ToEntero, CveProveedorSucursal:=If(DdlProveedorSucursal.SelectedValue.ToEntero > 0, DdlProveedorSucursal.SelectedValue.ToEntero, -1), PorcentajeIVA:=PorcentajeIVA, NumeroReembolso:=TxtRembolsoNumero.Text,
CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=EsNoDeducible, CveRetIVAConcepto:=TmpCveRetIVAConcepto, CveRetISRConcepto:=TmpCveRetISRConcepto) Then
CveTipoCompra:=DdlTipoCompra.SelectedValue.ToEntero, NoDeducible:=EsNoDeducible, CveRetIVAConcepto:=TmpCveRetIVAConcepto, CveRetISRConcepto:=TmpCveRetISRConcepto, CveSubProyecto:=CveSubProyectoPrincipal) Then
If Not ComparaDatatables() Then

View File

@@ -202,168 +202,193 @@
<a href="javascript:;" class="fullscreen" data-original-title="" title=""></a>
<a href="javascript:;" class="remove" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body nomarginleftright form-horizontal form-row-sepe formnombottom ">
<div class="form-body">
<table border="0">
<tr>
<td>Código:</td>
<td>
<div class="form-group form-md-line-input" style="width: 114px">
<asp:TextBox ID="TxtCodigo" CssClass="form-control input-sm" runat="server" MaxLength="10"></asp:TextBox><label></label>
</div>
</td>
</tr>
<tr>
<td>Razón Social:</td>
<td>
<div class="form-group form-md-line-input" style="width: 400px">
<asp:TextBox ID="TxtRazonSocial" CssClass="form-control input-sm" runat="server" MaxLength="200"></asp:TextBox><label></label>
<asp:RequiredFieldValidator ID="RFVRazonSocial" runat="server" ControlToValidate="TxtRazonSocial" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Razón Social''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERazonSocial" runat="server" HighlightCssClass="vco" TargetControlID="RFVRazonSocial" Width="300px" BehaviorID="_content_VCERazonSocial"></ajax:ValidatorCalloutExtender>
</div>
</td>
</tr>
<tr>
<td>Nombre Comercial:</td>
<td>
<div class="form-group form-md-line-input" style="width: 400px">
<asp:TextBox ID="TxtNombreComercial" CssClass="form-control input-sm" runat="server" MaxLength="200"></asp:TextBox><label></label>
<asp:RequiredFieldValidator ID="RFVNombreComercial" runat="server" ControlToValidate="TxtNombreComercial" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Nombre Comercial''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCENombreComercial" runat="server" HighlightCssClass="vco" TargetControlID="RFVNombreComercial" Width="300px" BehaviorID="_content_VCENombreComercial"></ajax:ValidatorCalloutExtender>
</div>
</td>
</tr>
<tr>
<td>Nombre Corto:</td>
<td>
<div class="form-group form-md-line-input" style="width: 100px">
<asp:TextBox ID="TxtNombreCorto" CssClass="form-control input-sm" runat="server" MaxLength="10"></asp:TextBox><label></label>
</div>
</td>
</tr>
<tr>
<td>Dirección:</td>
<td>
<div class="form-group form-md-line-input" style="width: 400px">
<asp:TextBox ID="TxtDireccion" CssClass="form-control input-sm" runat="server"></asp:TextBox><label></label>
</div>
</td>
</tr>
<tr>
<td>Codigo Postal:</td>
<td>
<div class="form-group form-md-line-input" style="width: 200px">
<asp:TextBox ID="TxtCP" CssClass="form-control input-sm" runat="server" MaxLength="5"></asp:TextBox><label></label>
<ajax:FilteredTextBoxExtender ID="FtbeCP" runat="server" TargetControlID="TxtCP" FilterType="Numbers" />
</div>
</td>
</tr>
<tr>
<td>RFC:</td>
<td>
<div class="form-group form-md-line-input" style="width: 200px">
<asp:TextBox ID="TxtRFC" CssClass="form-control input-sm" runat="server" MaxLength="13"></asp:TextBox><label></label>
</div>
<div class="portlet-body form">
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input ">
<asp:TextBox ID="TxtCodigo" CssClass="form-control" runat="server" MaxLength="10"></asp:TextBox>
<label for="<%= TxtCodigo.ClientID%>">Código:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtNombreCorto" CssClass="form-control" runat="server" MaxLength="10"></asp:TextBox>
<label for="<%= TxtNombreCorto.ClientID%>">Nombre Corto:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtRazonSocial" CssClass="form-control " runat="server" MaxLength="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVRazonSocial" runat="server" ControlToValidate="TxtRazonSocial" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Razón Social''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERazonSocial" runat="server" HighlightCssClass="vco" TargetControlID="RFVRazonSocial" Width="300px" BehaviorID="_content_VCERazonSocial"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtRazonSocial.ClientID%>">Razón Social:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtNombreComercial" CssClass="form-control " runat="server" MaxLength="200"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVNombreComercial" runat="server" ControlToValidate="TxtNombreComercial" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Nombre Comercial''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCENombreComercial" runat="server" HighlightCssClass="vco" TargetControlID="RFVNombreComercial" Width="300px" BehaviorID="_content_VCENombreComercial"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtNombreComercial.ClientID%>">Nombre Comercial:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtDireccion" CssClass="form-control " runat="server"></asp:TextBox>
<label for="<%= TxtDireccion.ClientID%>">Dirección:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtCP" CssClass="form-control " runat="server" MaxLength="5"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FtbeCP" runat="server" TargetControlID="TxtCP" FilterType="Numbers" />
<label for="<%= TxtCP.ClientID%>">Codigo Postal:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtRFC" CssClass="form-control " runat="server" MaxLength="13"></asp:TextBox>
<asp:RegularExpressionValidator ID="REVRFC" runat="server" Display="Dynamic" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''RFC''</b> es incorrecto, por favor ingréselo." ValidationGroup="GrpGuardar" ControlToValidate="TxtRFC" ValidationExpression="^[a-zñA-ZÑ.)(/\\&-]{3,4}(\d{6})((\D|\d){2})((\D|\d){1})$"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="VCEREVRFC" runat="server" HighlightCssClass="vco" TargetControlID="REVRFC" Width="300px" BehaviorID="_content_VCEREVRFC"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RFVRFC" runat="server" ControlToValidate="TxtRFC" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''RFC''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCERFC" runat="server" HighlightCssClass="vco" TargetControlID="RFVRFC" Width="300px" BehaviorID="_content_VCERFC"></ajax:ValidatorCalloutExtender>
</div>
</td>
</tr>
<tr>
<td>Teléfono Empresa:</td>
<td>
<div class="form-group form-md-line-input" style="width: 120px">
<ajax:ValidatorCalloutExtender ID="VCERFC" runat="server" HighlightCssClass="vco" TargetControlID="RFVRFC" Width="300px" BehaviorID="_content_VCERFC"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtRFC.ClientID%>">RFC:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlRegimenFiscal" DataTextField="CodigoRegimenFiscalTexto" Width="206px" DataValueField="CveRegimenFiscal" runat="server" CssClass="form-control select2me ">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlRegimenFiscal" runat="server" ControlToValidate="DdlRegimenFiscal" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Regimen Fiscal''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender7" runat="server" HighlightCssClass="vco posicionvalidation" TargetControlID="RfvDdlRegimenFiscal" Width="350px"></ajax:ValidatorCalloutExtender>
<label for="<%= DdlRegimenFiscal.ClientID%>">Regimen Fiscal:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:TextBox CssClass="form-control" ID="TxtTelefono" runat="server" ValidationGroup="GrpGuardar" Width="100%"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVMail" runat="server" ControlToValidate="TxtTelefono" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Telefono''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender10" runat="server" HighlightCssClass="vco" TargetControlID="RFVMail" Width="300px"></ajax:ValidatorCalloutExtender>
<%-- <asp:RegularExpressionValidator ID="CVTelefono" runat="server" Display="None" ValidationExpression="^\(\d{3}\)\s\d{3}-\d{4}$" ControlToValidate="TxtTelefono" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Telefono''</b> no es válido, por favor ingrése uno correcto." ValidationGroup="GrpGuardar"></asp:RegularExpressionValidator>--%>
<%-- <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender14" runat="server" HighlightCssClass="vco" TargetControlID="CVTelefono" Width="300px"></ajax:ValidatorCalloutExtender>--%>
<ajax:MaskedEditExtender ID="mskTelefono" runat="server" TargetControlID="TxtTelefono" ClearMaskOnLostFocus="false" MaskType="Number" Mask="(999) 999-9999" MessageValidatorTip="true" InputDirection="LeftToRight" ErrorTooltipEnabled="True"></ajax:MaskedEditExtender>
</div>
</td>
</tr>
<tr>
<td>Contacto:</td>
<td>
<div class="form-group form-md-line-input" style="width: 200px">
<asp:TextBox ID="TxtContactoNombre" CssClass="form-control input-sm" runat="server" MaxLength="50"></asp:TextBox><label></label>
</div>
</td>
</tr>
<tr>
<td>Celular Contacto:</td>
<td>
<div class="form-group form-md-line-input" style="width: 100px">
<asp:TextBox ID="TxtContactoTelefono" CssClass="form-control input-sm" runat="server" Width="100px" ValidationGroup="GrpGuardar"></asp:TextBox>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender10" runat="server" HighlightCssClass="vco" TargetControlID="RFVMail" Width="300px"></ajax:ValidatorCalloutExtender>
<ajax:MaskedEditExtender ID="mskTelefono" runat="server" TargetControlID="TxtTelefono" ClearMaskOnLostFocus="false" MaskType="Number" Mask="(999) 999-9999" MessageValidatorTip="true" InputDirection="LeftToRight" ErrorTooltipEnabled="True"></ajax:MaskedEditExtender>
<label for="<%= TxtTelefono.ClientID%>">Teléfono Empresa:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtContactoNombre" CssClass="form-control " runat="server" MaxLength="50"></asp:TextBox>
<label for="<%= TxtContactoNombre.ClientID%>">Contacto:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtContactoTelefono" CssClass="form-control " runat="server" Width="100%" ValidationGroup="GrpGuardar"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVTxtContactoTelefono" runat="server" ControlToValidate="TxtContactoTelefono" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Contacto Telefono''</b> es necesario, por favor ingréselo." ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCETxtContactoTelefono" runat="server" HighlightCssClass="vco" TargetControlID="RFVTxtContactoTelefono" Width="300px"></ajax:ValidatorCalloutExtender>
<%--<asp:RegularExpressionValidator ID="REVTxtContactoTelefono" runat="server" Display="None" ValidationExpression="^\(\d{3}\)\s\d{3}-\d{4}$" ControlToValidate="TxtContactoTelefono" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Contacto Telefono''</b> no es válido, por favor ingrése uno correcto." ValidationGroup="GrpGuardar"></asp:RegularExpressionValidator>
<ajax:ValidatorCalloutExtender ID="VCETxtContactoTelefono2" runat="server" HighlightCssClass="vco" TargetControlID="REVTxtContactoTelefono" Width="300px"></ajax:ValidatorCalloutExtender>--%>
<ajax:MaskedEditExtender ID="MSKTxtContactoTelefono" runat="server" TargetControlID="TxtContactoTelefono" ClearMaskOnLostFocus="false" MaskType="Number" Mask="(999) 999-9999" MessageValidatorTip="true" InputDirection="LeftToRight" ErrorTooltipEnabled="True"></ajax:MaskedEditExtender>
<label></label>
</div>
</td>
</tr>
<tr>
<td>Clasificación Proveedor:</td>
<td>
<asp:DropDownList ID="DdlCveClasificacionProveedor" CssClass="form-control select2me input-sm" runat="server" AppendDataBoundItems="True" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion" Width="206px">
</asp:DropDownList>
</td>
</tr>
<tr>
<td>Responsable:</td>
<td>
<asp:DropDownList ID="DdlCveUsuarioResponsable" runat="server" CssClass="form-control select2me input-sm" AppendDataBoundItems="True" DataTextField="Nombre" DataValueField="CveUsuario" Width="206px">
<ajax:ValidatorCalloutExtender ID="VCETxtContactoTelefono" runat="server" HighlightCssClass="vco" TargetControlID="RFVTxtContactoTelefono" Width="300px"></ajax:ValidatorCalloutExtender>
<ajax:MaskedEditExtender ID="MSKTxtContactoTelefono" runat="server" TargetControlID="TxtContactoTelefono" ClearMaskOnLostFocus="false" MaskType="Number" Mask="(999) 999-9999" MessageValidatorTip="true" InputDirection="LeftToRight" ErrorTooltipEnabled="True"></ajax:MaskedEditExtender>
<label for="<%= TxtContactoTelefono.ClientID%>">Celular Contacto:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlCveClasificacionProveedor" CssClass="form-control select2me " runat="server" AppendDataBoundItems="True" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion" Width="206px">
</asp:DropDownList>
<label for="<%= DdlCveClasificacionProveedor.ClientID%>">Clasificación Proveedor:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlCveUsuarioResponsable" runat="server" CssClass="form-control select2me " AppendDataBoundItems="True" DataTextField="Nombre" DataValueField="CveUsuario" Width="206px">
<asp:ListItem Selected="True" Text="Seleccione" Value="0"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<tr>
<td>Tipo de Proveedor:</td>
<td>
<asp:DropDownList ID="DdlCveTipoProveedor" runat="server" CssClass="form-control select2me input-sm" Width="206px" AutoPostBack="True" OnSelectedIndexChanged="DdlCveTipoProveedor_SelectedIndexChanged">
<%--<asp:ListItem Selected="True" Text="Seleccione" Value="0"></asp:ListItem>--%>
</asp:DropDownList>
<label for="<%= DdlCveUsuarioResponsable.ClientID%>">Responsable:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlCveTipoProveedor" runat="server" CssClass="form-control select2me " Width="206px" AutoPostBack="True" OnSelectedIndexChanged="DdlCveTipoProveedor_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="Proveedor" Value="1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Acreedor" Value="2"></asp:ListItem>
<asp:ListItem Selected="False" Text="Ambos" Value="3"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVCveTipoProveedor" runat="server" ControlToValidate="DdlCveTipoProveedor" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Proveedor''</b> es necesario, por favor seleccione uno." InitialValue="0" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCECveTipoProveedor" runat="server" HighlightCssClass="vco posicionvalidation" TargetControlID="RFVCveTipoProveedor" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<tr>
<td>Moneda Preferente:</td>
<td>
<asp:DropDownList ID="DdlMonedaPrefente" runat="server" CssClass="form-control select2me input-sm" Width="206px" DataTextField="Moneda" DataValueField="CveMoneda"></asp:DropDownList>
</td>
</tr>
<tr id="TrConfianzaProveedor" runat="server" visible="false">
<td>Nivel de confianza al proveedor:</td>
<td>
<asp:DropDownList ID="DdlConfianzaProveedor" runat="server" CssClass="form-control select2me input-sm" Width="206px">
<label for="<%= DdlCveTipoProveedor.ClientID%>">Tipo de Proveedor:</label>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlMonedaPrefente" runat="server" CssClass="form-control select2me " Width="206px" DataTextField="Moneda" DataValueField="CveMoneda"></asp:DropDownList>
<label for="<%= DdlMonedaPrefente.ClientID%>">Moneda Preferente:</label>
</div>
</div>
</div>
<div class="row" id="TrConfianzaProveedor" runat="server" visible="false" >
<div class="col-md-12">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlConfianzaProveedor" runat="server" CssClass="form-control select2me " Width="206px">
<asp:ListItem Text="Seleccione" Selected="True" Value="-1"></asp:ListItem>
<asp:ListItem Text="Proveedor dedicado" Value="1"></asp:ListItem>
<asp:ListItem Text="Proveedor requiere cotización" Value="2"></asp:ListItem>
</asp:DropDownList>
</td>
</tr>
<label for="<%= DdlConfianzaProveedor.ClientID%>">Nivel de confianza al proveedor:</label>
</div>
</div>
</div>
<tr>
<td>Regimen Fiscal:</td>
<td>
<asp:DropDownList ID="DdlRegimenFiscal" DataTextField="CodigoRegimenFiscalTexto" Width="206px" DataValueField="CveRegimenFiscal" runat="server" CssClass="form-control select2me input-sm">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlRegimenFiscal" runat="server" ControlToValidate="DdlRegimenFiscal" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Regimen Fiscal''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender7" runat="server" HighlightCssClass="vco posicionvalidation" TargetControlID="RfvDdlRegimenFiscal" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
</tr>
<table border="0">
<tr style="display: none">
<td>Estatus SAT:</td>
<td>
@@ -371,7 +396,9 @@
</td>
</tr>
</table>
</div>
</div>
</div>
</div>

View File

@@ -633,12 +633,17 @@ Partial Class Compras_Proveedores
If UsuarioActual.Empresa.Funcionalidad(565) = "1" Then
TrConfianzaProveedor.Visible = True
CondiguraConfiazaProveedor()
End If
If UsuarioActual.TienePermisoProceso(273) Then
GvA.Columns(5).Visible = True
End If
End If
Dim script As String = String.Format("$({0}).removeClass({1});$({0}).removeClass({2}); $({0}).addClass({3});$({0}).text(""{4}"");", """#CXPContador""", """badge-success""", """badge-danger""", If(CountCuentasxPagar > 0, """badge-danger""", """badge-success"""), CountCuentasxPagar.ToString)
@@ -650,6 +655,19 @@ Partial Class Compras_Proveedores
RegisterPostBackControl()
End Sub
Private Sub CondiguraConfiazaProveedor()
'1 Dedicado
'2 Proveedor que requiere Cotización
If Not UsuarioActual.TienePermisoProceso(355) Then
If Not DdlConfianzaProveedor.SelectedValue.ToEntero = 1 Then
DdlConfianzaProveedor.Items.Remove(New ListItem("Proveedor dedicado", "1"))
End If
End If
End Sub
Private Sub CargaRegimenFiscal()
DdlRegimenFiscal.DataSource = GlobalDTRegimenesFiscales
DdlRegimenFiscal.DataBind()

View File

@@ -310,7 +310,7 @@ Partial Class ContabilidadC_RegPrePolizaS
End If
ImprimeImPrimePrePolizaS(CvePrePoliza)
Exit Sub
@@ -3321,172 +3321,6 @@ Partial Class ContabilidadC_RegPrePolizaS
'End Sub
Public Sub ImprimeImPrimePrePolizaS(CvePrePoliza As Integer)
If Not CvePrePoliza > 0 Then
Exit Sub
End If
'ObjContabilidad.Dispose()
Dim rutaArchivo As String = ""
Dim params As New List(Of ReportParameter)
Dim Bytes As Byte() = Nothing
Dim DtDetalle As New DataTable
Dim CveTipoPolizaImp As Integer = 0
Dim FolioPoliza As String = ""
Dim ConceptoPolizaImp As String = ""
Dim CveMonedaImp As Integer = 0
Dim TipoPolizaString = ""
Dim ObjContabilidad As New ClsContabilidad
Dim TipoPolImp As String = ""
If ObjContabilidad.GetPrePoliza(CvePrePoliza, UsuarioActual.CveEmpresa) Then
Dim dr As DataRow = ObjContabilidad.DtResultados.FiltroPrimero("")
If dr IsNot Nothing Then
TipoPolImp = If(dr("CveTipoPoliza").ToString.ToEntero = 1, "Ingreso", If(dr("CveTipoPoliza").ToString.ToEntero = 2, "Egreso", "Diario"))
CveTipoPolizaImp = dr("CveTipoPoliza").ToString.ToEntero
ConceptoPolizaImp = dr("Concepto")
FolioPoliza = dr("FolioPoliza").ToString
CveMonedaImp = dr("CveMoneda").ToString.ToEntero
Else
Alert("El documento solicitado no existe, favor de revisar su búsqueda.", TipoMensaje.MsgAdvertencia)
End If
End If
ObjContabilidad.Dispose()
Select Case CveTipoPolizaImp
Case 1
TipoPolizaString = "I"
Exit Select
Case 2
TipoPolizaString = "E"
Exit Select
Case Else
TipoPolizaString = "D"
Exit Select
End Select
If UsuarioActual.Empresa.Funcionalidad(282).ToEntero = 1 Then
Dim Archivo As System.IO.FileInfo
Dim ImpresionPersonalizada As Integer = UsuarioActual.Empresa.Funcionalidad(282).ToEntero
Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/PolizasResumen.rdlc", UsuarioActual.Empresa.Ruta))
Dim Logo As New System.IO.FileInfo(String.Format("{0}Logo.png", UsuarioActual.Empresa.Ruta))
Dim ObjConta As New ClsContabilidad
If ObjConta.GetPrePolizasDetalleResumen(CvePrePoliza, UsuarioActual.CveEmpresa, ImpresionPersonalizada) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
Dim dr As DataRow
DtDetalle = ObjConta.DtResultados '.FiltraParametros("Contabilizable = 1", "Orden")
dr = DtDetalle.Rows(0)
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("TipoPoliza", TipoPolImp))
params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate().ToString("dd/MM/yyyy")))
params.Add(New ReportParameter("Numero", FolioPoliza))
params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano")))
params.Add(New ReportParameter("CodigoPostal", ""))
params.Add(New ReportParameter("UsuarioRegistro", UsuarioActual.Usuario))
params.Add(New ReportParameter("ConceptoPoliza", ConceptoPolizaImp))
params.Add(New ReportParameter("Folio", FolioPoliza))
If Logo.Exists Then
params.Add(New ReportParameter("pImg", $"file://{Logo.FullName}"))
Else
params.Add(New ReportParameter("pImg", ""))
End If
If Archivo.Exists Then
rutaArchivo = Archivo.FullName
Else
rutaArchivo = $"{DirectorioEmpresas}Grales\Formatos\PolizasResumen.rdlc"
End If
End If
ObjConta.Dispose()
Else
Dim Archivo = New System.IO.FileInfo(String.Format("{0}Formatos/Polizas.rdlc", UsuarioActual.Empresa.Ruta))
params = New List(Of ReportParameter)
Dim ObjConta As New ClsContabilidad
'If ObjPoliza.GetPoliza(IdPoliza, -1, -1, -1, -1) AndAlso ObjPoliza.DtResultados.Rows.Count > 0 Then
If ObjConta.GetPrePolizasDetalle(CvePrePoliza, UsuarioActual.CveEmpresa) AndAlso ObjConta.DtResultados.Rows.Count > 0 Then
Dim dr As DataRow
DtDetalle = ObjConta.DtResultados.FiltraParametros("Contabilizable = 1", "Orden")
dr = DtDetalle.Rows(0)
Dim ruta As String = ""
params.Add(New ReportParameter("Empresa", UsuarioActual.Empresa.Empresa))
params.Add(New ReportParameter("TipoPoliza", dr("TipoPoliza").ToString))
params.Add(New ReportParameter("Finicio", dr("Fecha").ToString.ToDate.ToShortDateString))
params.Add(New ReportParameter("FFin", dr("Fecha").ToString.ToDate.ToShortDateString))
If UsuarioActual.CveEmpresa.Contiene(141) Then
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToString("dd/MM/yyyy hh:mm:ss")))
Else
params.Add(New ReportParameter("Fecha", dr("Fecha").ToString.ToDate.ToShortDateString))
End If
FolioPoliza = dr("FolioPoliza").ToString
params.Add(New ReportParameter("Numero", dr("FolioPoliza").ToString))
params.Add(New ReportParameter("Moneda", If(CveMonedaImp = 2, "Dolar", "Peso Mexicano")))
params.Add(New ReportParameter("CodigoPostal", ""))
If UsuarioActual.CveEmpresa.Contiene(119, 141) Then
params.Add(New ReportParameter("UsuarioRegistro", GlobalDTUsuarios(dr("CveUsuario").ToString.ToEntero).FiltroPrimeroValor("Nombre")))
End If
If UsuarioActual.CveEmpresa.Contiene(140, 141) Then
params.Add(New ReportParameter("UsuarioImprimio", UsuarioActual.Nombre))
End If
If Archivo.Exists Then
rutaArchivo = UsuarioActual.Empresa.Ruta & "Formatos/Polizas.rdlc"
Else
rutaArchivo = "Empresas/Grales/Formatos/Polizas.rdlc"
End If
End If
ObjConta.Dispose()
End If
ImprimirPDF(rutaArchivo, DtDetalle, params, $"P{TipoPolizaString}{FolioPoliza}", Formato:="PDF")
End Sub
End Class

View File

@@ -75,12 +75,12 @@ public partial class Nomina_Finiquito : ClsPaginas
}
set { ViewState["dtempleados"] = value; }
}
}
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!Page.IsPostBack)
{
{
GvFinOrdinario.DataSource = new DataTable();
GVFinIndemnizacion.DataSource = new DataTable();
GvFinOrdinario.DataBind();
@@ -154,22 +154,20 @@ public partial class Nomina_Finiquito : ClsPaginas
FechaInicio = LblFechaAlta.Text.ToDateTime();
TxtObservaciones.Text = da["Observaciones"].ToString();
TxtFechaBaja.Text = string.Format("{0:dd/MM/yyyy}", da["FechaFin"]);
if (da["CveMotivoBaja"].ToString() == "")
{
if (da["CveMotivoBaja"].ToString() == "")
{
chkIndemnizacion.Checked = true;
chkSeparacionUnica.Checked = true;
chkPrimaantiguedad.Checked = true;
}
else
{
chkIndemnizacion.Checked = da["ValIndemnizacion"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
chkSeparacionUnica.Checked = da["ValSeparacionunica"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
chkPrimaantiguedad.Checked = da["ValPrimadeantiguedad"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
}
chkIndemnizacion.Checked = true;
chkSeparacionUnica.Checked = true;
chkPrimaantiguedad.Checked = true;
}
DdlTipoPeriodo.SelectedValueExist(((da["CveTipoPeriodo"]).ToString()=="6"?"-2":"-1"));
else
{
chkIndemnizacion.Checked = da["ValIndemnizacion"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
chkSeparacionUnica.Checked = da["ValSeparacionunica"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
chkPrimaantiguedad.Checked = da["ValPrimadeantiguedad"].ToString().ToUpper().Contiene(new string[] { "1", "TRUE" });
}
DdlTipoPeriodo.SelectedValueExist(((da["CveTipoPeriodo"]).ToString() == "6" ? "-2" : "-1"));
DdlMotivoBaja.SelectedValueExist(da["CveMotivoBaja"]);
TxtSalarioMinimo.Text = $"{da["SalarioMinimo"]:N2}";
ChkesLiquidacion.Checked = (da["esLiquidacion"].ToString() == "1" || da["esLiquidacion"].ToString().ToUpper() == "TRUE");
@@ -183,6 +181,30 @@ public partial class Nomina_Finiquito : ClsPaginas
{
loadsobrerecibo(onom);
}
if (da["Autorizado"].ToString().ToEntero() == 1)
{
LnkAutorizar.Visible = false;
LnkTimbrar.Visible = true;
LnkGuardarDatos.Enabled = false;
LnkGuardarDatos.CssClass = "btn btn-default";
LnkGuardarDatos.ToolTip = "el finiquito ha sido capturado.";
}
if (da["SeTimbro"].ToString().ToEntero() == 1)
{
LnkAutorizar.Visible = false;
LnkTimbrar.Visible = false;
LnkGuardarDatos.Enabled = false;
LnkGuardarDatos.CssClass = "btn btn-default";
LnkGuardarDatos.ToolTip = "el finiquito ha sido capturado.";
}
UpAcciones.Update();
}
}
CamposCalculados();
@@ -537,13 +559,13 @@ public partial class Nomina_Finiquito : ClsPaginas
string[] getcolumnas = new string[] { "CvePersonal", "CveMetodoPago", "CveNomina", "Total", "SalarioDiario", "SalarioDiarioIMSS", "SalarioDiarioIntegrado", "DiasLaborados", "DiasFaltados", "DiasVacaciones", "DiasIncapacidad" };
DataTable dtr = dtempleados.FiltraParametros(string.Format("(CvePersonal={0} OR {0}=-1) AND CvePersonal > 0 AND NomAutorizado =0", CvePersonal), "", getcolumnas);
DataTable dtr = dtempleados.FiltraParametros(string.Format(" CvePersonal={0} ", CvePersonal), "", getcolumnas);
int CveNomina = dtr.Rows[0]["CveNomina"].ToString().ToEntero();
LogicNominas lognom = new LogicNominas();
string Msg = "";
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual,versionTimbre:(UsuarioActual.CveEmpresa == 119? VersionTimbradoEnum.PorDefectoEmpresa: VersionTimbradoEnum.Version3_3));
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); }
@@ -738,7 +760,7 @@ public partial class Nomina_Finiquito : ClsPaginas
DiasFaltados = string.Format("{0}", drow["DiasFaltados"].ToString().ToEntero());
DiasVacaciones = string.Format("{0}", drow["DiasVacaciones"].ToString().ToEntero());
FechaInicio = string.Format("{0:dd/MM/yyyy}", drow["FechaInicio"]);
FechaFin = string.Format("{0:dd/MM/yyyy}", drow["FechaFin"]);
//FechaFin = string.Format("{0:dd/MM/yyyy}", drow["FechaFin"]);
DiasRetardos = string.Format("{0}", drow["DiasRetardos"].ToString().ToEntero());
DiasIncapacidad = string.Format("{0}", drow["DiasIncapacidad"].ToString().ToEntero());
}
@@ -753,6 +775,7 @@ public partial class Nomina_Finiquito : ClsPaginas
NombreCompleto = drow["NombreCompleto"].ToString();
RFC = drow["RFC"].ToString();
CURP = drow["CURP"].ToString();
FechaFin = string.Format("{0:dd/MM/yyyy}", drow["FechaFin"]);
TipoPeriodo = drow["TipoPeriodo"].ToString();
NSS = drow["NSS"].ToString();
}
@@ -1087,7 +1110,7 @@ public partial class Nomina_Finiquito : ClsPaginas
using (ClsRH ObjPersonal = new ClsRH())
using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL()))
{
if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, UsuarioActual.CveUsuario, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), DdlTipoPeriodo.SelectedValue.ToEntero(), DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked,TxtObservaciones.Text ) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, UsuarioActual.CveUsuario, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), DdlTipoPeriodo.SelectedValue.ToEntero(), DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked, TxtObservaciones.Text) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
{
DataRow da = ObjPersonal.DtResultados.Rows[0];
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();
@@ -1136,7 +1159,8 @@ public partial class Nomina_Finiquito : ClsPaginas
}*/
dtempleadosConceptos = null;
dtempleados = null;
if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal) && objnom.DTSetResultados.Tables.Count > 1)
LnkAutorizar.Visible = true;
if (objnom.GetNominaEmpleado(-1, -1, -1, CvePeriodoFiniquito, UsuarioActual.CveEmpresa, 1, 3, CvePersonal,Neto:1) && objnom.DTSetResultados.Tables.Count > 1)
{
dtempleados = objnom.DTSetResultados.Tables[3];
LnkAutorizar.Visible = (dtempleados.COUNT("CvePersonal", "NomAutorizado =0") > 0);
@@ -1164,7 +1188,6 @@ public partial class Nomina_Finiquito : ClsPaginas
LnkGuardarDatos.CssClass = "btn btn-default";
LnkGuardarDatos.ToolTip = "el finiquito ha sido capturado.";
}
LnkAutorizar.Visible = true;
}
protected void LnkAutorizar_Click(object sender, EventArgs e)
@@ -1350,7 +1373,7 @@ public partial class Nomina_Finiquito : ClsPaginas
if (continuar)
{
continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa, diasindemnizacion: Txtdiasindemnizacion.Text.ToEntero());
if(onom.DtResultados.Rows.Count > 0)
if (onom.DtResultados.Rows.Count > 0)
{
DataRow drow = onom.DtResultados.Rows[0];
@@ -1358,7 +1381,7 @@ public partial class Nomina_Finiquito : ClsPaginas
LtlSFSDI.Text = string.Format("<pre>{0:##,###,###.00##}</pre>", drow["SDI"]);
LtlSFDias.Text = string.Format("<pre>{0:##,###,###}</pre>", drow["diasMesAnterior"]);
LtlSFPercepciones.Text = string.Format("<pre>{0:##,###,###.00##}</pre>", drow["TotalPercepciones"]);
LtlSFVar.Text = string.Format("<pre>(Percepciones /días)\r\n{0:##,###,###.00##}</pre>", drow["TotalPercepciones"].ToString().ToDecimal() / drow["diasMesAnterior"].ToString().ToDecimal() );
LtlSFVar.Text = string.Format("<pre>(Percepciones /días)\r\n{0:##,###,###.00##}</pre>", drow["TotalPercepciones"].ToString().ToDecimal() / drow["diasMesAnterior"].ToString().ToDecimal());
LtlSF.Text = string.Format("<pre>Si((Tipo de salario ='Fijo'),SDI,(Salario Variable + SDI))\r\n{0:##,###,###.00##}</pre>", drow["SalarioBC"]);
}
GVSDF.DataSource = onom.DTSetResultados.Tables[1];

View File

@@ -106,6 +106,16 @@ public partial class Nomina_Nomina2 : ClsPaginas
set { ViewState["DtSuaProcesado"] = value; }
}
protected bool enviarCorreoEnTimbrado
{
get
{
if (ViewState["enviarCorreoEnTimbrado"] == null) { return false; }
else { return (bool)ViewState["enviarCorreoEnTimbrado"]; }
}
set { ViewState["enviarCorreoEnTimbrado"] = value; }
}
protected bool PermisoCancelarEmitido
{
get
@@ -249,6 +259,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (!IsPostBack)
{
enviarCorreoEnTimbrado = (UsuarioActual.CveEmpresa == 141 ? false : true);
LnkCargaNetos.Visible = (UsuarioActual.Empresa.Funcionalidad(267) == "1") || (UsuarioActual.CveRol == 1);
if (UsuarioActual.CveEmpresa == 141) { ddlfiniquito.SelectedValueExist("2"); }
using (ClsRH objrh = new ClsRH())
@@ -556,7 +567,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
LnkFormatoTabular.Visible = true;
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)
if (objnom.GetNominaEmpleado(FiltCveProyecto, FiltCveSubProyecto, FiltCveTurno, FiltCvePeriodo, CveEmpresa, FiltAgrupador, DdlRegimenContratacion.SelectedValue.ToEntero(), CveTipoTrabajador: CveTipoTrabajador, Neto: ddlfiniquito.SelectedValue.ToEntero()) && objnom.DTSetResultados.Tables.Count > 4)
{
dtempleados = objnom.DTSetResultados.Tables[3];
dtempleadosConceptos = objnom.DTSetResultados.Tables[4];
@@ -1237,9 +1248,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (pdf != null)
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
if (ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa))
{
string Ruta = "";
string PathXML = "";
@@ -1252,7 +1262,8 @@ public partial class Nomina_Nomina2 : ClsPaginas
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = $"{ObjNomina.SerieFolio}.pdf" });
//this.GuardaLog(PathXML);
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname });
@@ -1326,96 +1337,97 @@ public partial class Nomina_Nomina2 : ClsPaginas
objrh.GetPersonal(-1, UsuarioActual.CveEmpresa);
dtpersonal = objrh.DtResultados.FiltraParametros("", "", new string[] { "CvePersonal", "Correo", "NombreCompleto", "RFC", "CURP" });
}
using (ClsNominas ObjNomina = new ClsNominas()) {
foreach (GridViewRow gvRow in GvNominas.Rows)
using (ClsNominas ObjNomina = new ClsNominas())
{
CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
string Correo = string.Empty;
string NombreCompleto = string.Empty;
string RFC = string.Empty;
string CURP = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
foreach (GridViewRow gvRow in GvNominas.Rows)
{
Correo = drow["Correo"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString();
RFC = drow["RFC"].ToString();
CURP = drow["CURP"].ToString();
}
if (CvePersonal > 0 && LnkTimbrar.Visible)
{
LogicNominas lognom = new LogicNominas();
string Msg = "";
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
if (Msg != null && Msg.Length > 0)
CvePeriodo = gvRow.DataKey("CvePeriodo").ToEntero();
int CvePersonal = gvRow.DataKey("CvePersonal").ToEntero();
int CveNomina = gvRow.DataKey("CveNomina").ToEntero();
LinkButton LnkTimbrar = gvRow.FCLinkButton("LnkTimbrar");
string Correo = string.Empty;
string NombreCompleto = string.Empty;
string RFC = string.Empty;
string CURP = string.Empty;
if (dtpersonal.Rows.Count > 0 && (drow = dtpersonal.FiltroPrimero(string.Format("CvePersonal = {0}", CvePersonal))) != null)
{
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
msggral = string.Format("{0}<tr><td>{3}</td><td>{2}</td><td><pre>{1}</pre></td></tr>", msggral, Msg, gvRow.DataKey("Nombre"), gvRow.DataKey("Codigo"));
Correo = drow["Correo"].ToString();
NombreCompleto = drow["NombreCompleto"].ToString();
RFC = drow["RFC"].ToString();
CURP = drow["CURP"].ToString();
}
else
if (CvePersonal > 0 && LnkTimbrar.Visible)
{
LnkTimbrar.Visible = false;
gvRow.CssClass = "success";
gvRow.FindControl("ImgDelete").Visible = false;
gvRow.FindControl("Imgdesautorizar").Visible = false;
LogicNominas lognom = new LogicNominas();
gvRow.FindControl("LnkCancelar").Visible = true;
gvRow.FindControl("HypXml").Visible = true;
gvRow.FindControl("HypPDF").Visible = true;
string Msg = "";
Msg = lognom.TimbrarNomina(CveNomina, CvePersonal, CvePeriodo, UsuarioActual, versionTimbre: (UsuarioActual.CveEmpresa == 119 ? VersionTimbradoEnum.PorDefectoEmpresa : VersionTimbradoEnum.Version3_3));
gvRow.ForeColor = Color.Green;
if (Correo.Trim().Length > 0)
if (Msg != null && Msg.Length > 0)
{
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null)
Msg = msgCorregidoSat(Msg, CvePersonal, RFC, CURP);
msggral = string.Format("{0}<tr><td>{3}</td><td>{2}</td><td><pre>{1}</pre></td></tr>", msggral, Msg, gvRow.DataKey("Nombre"), gvRow.DataKey("Codigo"));
}
else
{
LnkTimbrar.Visible = false;
gvRow.CssClass = "success";
gvRow.FindControl("ImgDelete").Visible = false;
gvRow.FindControl("Imgdesautorizar").Visible = false;
gvRow.FindControl("LnkCancelar").Visible = true;
gvRow.FindControl("HypXml").Visible = true;
gvRow.FindControl("HypPDF").Visible = true;
gvRow.ForeColor = Color.Green;
if (enviarCorreoEnTimbrado && Correo.Trim().Length > 0)
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null)
{
string Ruta = "";
string PathXML = "";
string PathXMLF = "";
string Xmlname = "";
string XmlnameF = "";
string empleado = "";
Ruta = UsuarioActual.Empresa.Ruta;
PathXML = $"{Ruta}XML\\Nomina\\{ObjNomina.SerieFolio}.xml";
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
if (ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa))
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname });
string Ruta = "";
string PathXML = "";
string PathXMLF = "";
string Xmlname = "";
string XmlnameF = "";
string empleado = "";
Ruta = UsuarioActual.Empresa.Ruta;
PathXML = $"{Ruta}XML\\Nomina\\{ObjNomina.SerieFolio}.xml";
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = $"{ObjNomina.SerieFolio}.pdf" });
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXML, NombreArchivo = Xmlname });
}
if (!string.IsNullOrEmpty(PathXMLF) && System.IO.File.Exists(PathXMLF))
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXMLF, NombreArchivo = XmlnameF });
}
}
if (!string.IsNullOrEmpty(PathXMLF) && System.IO.File.Exists(PathXMLF))
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
//Mail.SendMail(ClsPaginas.EmpresaNotificaciones, "caudillo.90d@gmail.com", string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy} ", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), Correo.Trim(), "", objarch);
using (ClsRH objrh = new ClsRH())
{
objarch.Add(new ClsSisMail.ArchivoMail() { Ruta = PathXMLF, NombreArchivo = XmlnameF });
objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
}
}
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Correo.Trim(), string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy}", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), "", "", objarch);
//Mail.SendMail(ClsPaginas.EmpresaNotificaciones, "caudillo.90d@gmail.com", string.Format("Empleado {0} Nomina del {1:dd/MM/yyyy} al {2:dd/MM/yyyy} ", NombreCompleto, FechaInicioPeriodo, FechaFinPeriodo), Correo.Trim(), "", objarch);
using (ClsRH objrh = new ClsRH())
{
objrh.NomBitacoraCorreoAdd(CvePeriodoSeleccionado, CvePersonal, Correo.Trim(), UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
}
}
}
}
}
}
}
if (msggral.Length > 0)
{
@@ -1492,16 +1504,15 @@ public partial class Nomina_Nomina2 : ClsPaginas
if (Correo.Trim().Length > 0)
{
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null)
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
using (ClsNominas ObjNomina = new ClsNominas())
{
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
if (ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa))
{
string Ruta = "";
string PathXML = "";
@@ -1514,6 +1525,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = $"{ObjNomina.SerieFolio}.pdf" });
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
{
@@ -1597,18 +1609,17 @@ public partial class Nomina_Nomina2 : ClsPaginas
ClsNominas ObjPeriodo = new ClsNominas();
ObjPeriodo.CambiaEstatusPeriodo(CvePeriodo, (int)enumNominasEstatus.Timbrada, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
ObjPeriodo.Dispose();
if (Correo.Trim().Length > 0)
if (enviarCorreoEnTimbrado && Correo.Trim().Length > 0)
{
byte[] pdf = GeneraPDFNomina(CvePersonal, CvePeriodo, UsuarioActual.CveEmpresa, UsuarioActual.Empresa.Ruta);
if (pdf != null)
{
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = "Nomina.pdf" });
List<ClsSisMail.ArchivoMail> objarch = new List<ClsSisMail.ArchivoMail>();
using (ClsNominas ObjNomina = new ClsNominas())
{
if (ObjNomina.GetNom_Nominas(-1, TxtCvePersonal.Text.ToEntero(), TxtCvePeriodo.Text.ToEntero(), -1, UsuarioActual.CveEmpresa))
if (ObjNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodo, -1, UsuarioActual.CveEmpresa))
{
string Ruta = "";
string PathXML = "";
@@ -1621,6 +1632,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
PathXMLF = $"{Ruta}XML\\Nomina\\{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
Xmlname = $"{ObjNomina.SerieFolio}.xml";
XmlnameF = $"{ObjNomina.Serie}F-{ObjNomina.Folio}.xml";
objarch.Add(new ClsSisMail.ArchivoMail() { ArchivoBinario = pdf, NombreArchivo = $"{ObjNomina.SerieFolio}.pdf" });
if (!string.IsNullOrEmpty(PathXML) && System.IO.File.Exists(PathXML))
{
@@ -7057,7 +7069,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
while (Neto != NetoSimulado && continuarV)
{
if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador, -1, 1, Neto,ddlfiniquito.SelectedValue.ToEntero())
if (objnom.GetNominaEmpleado(CveProyecto, CveSubProyecto, CveTurno, CvePeriodo, CveEmpresa, Agrupador, -1, 1, Neto, ddlfiniquito.SelectedValue.ToEntero())
&& objnom.DTSetResultados.Tables.Count > 1)
{
dtempleadosSimula = objnom.DTSetResultados.Tables[3];

View File

@@ -30,7 +30,7 @@
<label class="col-md-1 truncate">Estatus:</label>
<div class="col-md-2">
<asp:DropDownList ID="DdlMotivoBaja" runat="server" Width="100%" CssClass="select2me" AppendDataBoundItems="true" DataTextField="MotivoBaja" DataValueField="CveMotivoBaja" ValidationGroup="GrpGuardar">
<asp:DropDownList ID="DdlEstatusFiniquito" runat="server" Width="100%" CssClass="select2me" AppendDataBoundItems="true" DataTextField="MotivoBaja" DataValueField="CveMotivoBaja" ValidationGroup="GrpGuardar">
<asp:ListItem Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Pendientes" Value="0" Selected="True"></asp:ListItem>
<asp:ListItem Text="Guardados" Value="1"></asp:ListItem>

View File

@@ -29,10 +29,10 @@ public partial class Nomina_RepFiniquito : ClsPaginas
int diafin = DateTime.DaysInMonth(dnow.Year, dnow.Month);
TxtFechaInicio.Text = string.Format("01/{0:MM/yyyy}", dnow);
TxtFechaFin.Text = string.Format("{1}/{0:MM/yyyy}", dnow,diafin);
RcveEstatusFiniquito = Request["cveEstatusFiniquito"] == null ? 0 : Request["cveEstatusFiniquito"].ToString().ToEntero();
RcveEstatusFiniquito = Request["cveEstatusFiniquito"] == null ? -1 : Request["cveEstatusFiniquito"].ToString().ToEntero();
RcveSubProyecto = Request["cveSubProyecto"] == null ? 0 : Request["cveSubProyecto"].ToString().ToEntero();
DdlEstatusFiniquito.SelectedValueExist(RcveEstatusFiniquito);
RcveEstatusFiniquito = DdlEstatusFiniquito.SelectedValue.ToEntero();
CargaRepFiniquitos();
}
}
@@ -48,6 +48,7 @@ public partial class Nomina_RepFiniquito : ClsPaginas
}
protected void BtnConsultar_Click(object sender, EventArgs e)
{
RcveEstatusFiniquito = DdlEstatusFiniquito.SelectedValue.ToEntero();
CargaRepFiniquitos();
}
}

View File

@@ -861,26 +861,41 @@
</div>
<div class="actions">
<div class="btn-group">
</div>
<asp:LinkButton ID="LnkFormatocMasivaRegistroPatronal" CssClass="btn btn-default" OnClick="LnkFormatocMasivaRegistroPatronal_Click" runat="server"><i class="fa fa-ad-excel"></i> Formato Registro Patronal</asp:LinkButton>
<asp:LinkButton ID="LnkFormatocMasiva" CssClass="btn btn-default" OnClick="LnkFormatocMasiva_Click" runat="server"><i class="fa fa-ad-excel"></i> Formato Salario</asp:LinkButton>
<div class="btn-group ">
<a class="btn yellow-gold btn-sm" href="javascript:;" data-toggle="dropdown" data-hover="dropdown" data-close-others="true" aria-expanded="true"><i class="fa fa-ad-excel"></i> Formatos
<i class="fa fa-angle-down"></i>
</a>
<ul class="dropdown-menu pull-right">
<li>
<asp:LinkButton ID="LnkFormatocMasivaRegistroPatronal" OnClick="LnkFormatocMasivaRegistroPatronal_Click" runat="server"> Registro Patronal</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkFormatocMasiva" OnClick="LnkFormatocMasiva_Click" runat="server"> Salario</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkFormatocMasivaTS" OnClick="LnkFormatocMasivaTS_Click" runat="server"> Tipo salario</asp:LinkButton>
</li>
</ul>
</div>
</div>
</div>
<div class="portlet-body rowpadding ">
<div class="row">
<label class="col-md-1 compoonenlabel" style="line-height: 1; max-width: 65px;">Tipo:</label>
<div class="col-md-4">
<asp:DropDownList ID="ddltipoCarga" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Salario" Value="1"></asp:ListItem>
<asp:ListItem Text="Registro Patronal" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label ID="Label2" runat="server" CssClass="col-md-1 ">Fecha :</asp:Label>
<div class="col-md-2" id="Div2" runat="server">
<label class="col-md-1 compoonenlabel" style="line-height: 1; max-width: 65px;">Tipo:</label>
<div class="col-md-4">
<asp:DropDownList ID="ddltipoCarga" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Salario" Value="1"></asp:ListItem>
<asp:ListItem Text="Tipo salario" Value="3"></asp:ListItem>
<asp:ListItem Text="Registro Patronal" Value="2"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label ID="Label2" runat="server" CssClass="col-md-2 ">Fecha :</asp:Label>
<div class="col-md-4" id="Div2" runat="server">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="txtfechacargamasiva" runat="server" Text="01/03/2021" CssClass="form-control" CausesValidation="true" Width="90%" MaxLength="10"></asp:TextBox>
<asp:TextBox ID="txtfechacargamasiva" runat="server" Text="01/03/2021" CssClass="form-control" CausesValidation="true" Width="100%" MaxLength="10"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="lnkcargamasiva" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
@@ -911,6 +926,7 @@
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkFormatocMasiva" />
<asp:PostBackTrigger ControlID="LnkFormatocMasivaTS" />
<asp:PostBackTrigger ControlID="LnkFormatocMasivaRegistroPatronal" />
</Triggers>
</asp:UpdatePanel>

View File

@@ -391,6 +391,75 @@ public partial class RH_CalculoSBC : ClsPaginas
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString(), TipoMensaje.MsgAdvertencia);
}
}
protected void LnkFormatocMasivaTS_Click(object sender, EventArgs e)
{
try
{
bool continuar = true;
string msgerror = "";
if (dtsalario == null || dtsalario.Rows.Count == 0)
{
msgerror = "favor de calcular primero";
continuar = false;
}
if (continuar)
{
ClosedXML.Excel.XLWorkbook wb = new ClosedXML.Excel.XLWorkbook();
var libro = wb.AddWorksheet("Salario");
int column = 1;
libro.Cell(1, column).Value = "Codigo";
column++;
libro.Cell(1, column).Value = "Empleado";
column++;
libro.Cell(1, column).Value = "TipodeSalario";
libro.Row(1).CellsUsed().Style.Font.FontColor = ClosedXML.Excel.XLColor.White;
libro.Row(1).CellsUsed().Style.Fill.SetBackgroundColor(ClosedXML.Excel.XLColor.FromArgb(79, 129, 189));
int Fila = 1;
foreach (DataRow erow in dtsalario.Rows)
{
Fila++;
column = 1;
libro.Cell(Fila, column).Value = string.Format("'{0}", erow["Codigo"]);
column++;
libro.Cell(Fila, column).Value = erow["Nombre"];
column++;
libro.Cell(Fila, column).Value = erow["TipodeSalario"];
}
libro.Columns().AdjustToContents();
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}.xlsx", "Plantilla Salario "));
Response.BinaryWrite(memoryStream.ToArray());
Response.End();
}
else
{
Alert(msgerror, TipoMensaje.MsgAdvertencia);
}
}
catch (Exception ex)
{
Alert("Ocurrio un error al generar el Formato de nominas" + ex.ToString(), TipoMensaje.MsgAdvertencia);
}
}
protected void LnkProcesarArchvo_Click(object sender, EventArgs e)
{
@@ -475,7 +544,7 @@ public partial class RH_CalculoSBC : ClsPaginas
StringBuilder str = new StringBuilder();
bool rollback = false;
using (ClsClaseBase objNomina = new ClsClaseBase( ))
using (ClsClaseBase objNomina = new ClsClaseBase())
using (ClsRH objpersonal = new ClsRH())
{
@@ -483,7 +552,7 @@ public partial class RH_CalculoSBC : ClsPaginas
{
string Codigo = row["Codigo"].ToString();
int CvePersonal = -1; // row["CvePersonal"].ToString().ToEntero();
string RegistroPatronal = row["RegistroPatronal"].ToString() ;
string RegistroPatronal = row["RegistroPatronal"].ToString();
int CveMetodoPago = 0;
if (Codigo != "-1" && objpersonal.GetPersonal(CvePersonal, Codigo, "-1", "-1", "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, "-1", "-1", "-1", "-1", UsuarioActual.CveEmpresa) &&
objpersonal.DtResultados.Rows.Count == 1)
@@ -501,7 +570,47 @@ public partial class RH_CalculoSBC : ClsPaginas
objNomina.runQuerystr(string.Format("EXEC PA_RH_PersonalRPUpdate {0},'{1}'", CvePersonal, RegistroPatronal));
}
}
}
}
if (ddltipoCarga.SelectedValue.ToEntero() == 3)
{
List<Archivo> Filesgral = TxtArchivoNomina.getfiles().Archivos;
Archivo fileItem = Filesgral.Count > 0 ? Filesgral[0] : null;
DataTable DTEXcel = Extensiones.ModExtensiones.ReadExcelFile(fileItem.FileUrl, true);
StringBuilder str = new StringBuilder();
bool rollback = false;
using (ClsClaseBase objNomina = new ClsClaseBase())
using (ClsRH objpersonal = new ClsRH())
{
foreach (DataRow row in DTEXcel.FiltraParametros("LEN(Codigo)>0 ").Rows)
{
string Codigo = row["Codigo"].ToString();
int CvePersonal = -1; // row["CvePersonal"].ToString().ToEntero();
string TipodeSalario = row["TipodeSalario"].ToString();
int CveMetodoPago = 0;
if (Codigo != "-1" && objpersonal.GetPersonal(CvePersonal, Codigo, "-1", "-1", "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, "-1", "-1", "-1", "-1", UsuarioActual.CveEmpresa) &&
objpersonal.DtResultados.Rows.Count == 1)
{
CvePersonal = objpersonal.CvePersonal;
CveMetodoPago = objpersonal.CveMetodoPago;
}
else
{
CvePersonal = 0;
str.AppendLine(string.Format("No se encontro el codigo {0}<br>", Codigo));
}
if (CvePersonal > 0)
{
objNomina.runQuerystr(string.Format("EXEC PA_RH_PersonalTSUpdate {0},'{1}'", CvePersonal, TipodeSalario));
}
}
}

View File

@@ -31,7 +31,7 @@
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveAsistenciasInasistencias,Tipo,AplicaAsistencia,AplicaFalta,AplicaVacacion,AplicaIncapacidad,AplicaRetardo,AplicaAguinaldo,AplicaUtilidades,Estatus" EmptyDataText="No se encontraron AsistenciasInasistenciass Registrados" ToolTip="Listado de AsistenciasInasistenciass" CssClass="table table-striped table-hover Widthall" GridLines="None">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveAsistenciasInasistencias,Tipo,AplicaAsistencia,AplicaFalta,AplicaVacacion,AplicaIncapacidad,AplicaRetardo,AplicaAguinaldo,AplicaUtilidades,AplicaPago,AplicaPagoDoble,AplicaPrimaVac,Estatus" EmptyDataText="No se encontraron AsistenciasInasistenciass Registrados" ToolTip="Listado de AsistenciasInasistenciass" CssClass="table table-striped table-hover Widthall" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Tipo" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
@@ -86,6 +86,16 @@
<asp:Literal ID="LtlAplicaUtilidades" runat="server" Text='<%# Eval("AplicaUtilidades") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Aplica Pago" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlAplicapago" runat="server" Text='<%# Eval("AplicaPago") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Aplica Pago Doble" ItemStyle-Width="15%" ItemStyle-HorizontalAlign="Center">
<ItemTemplate>
<asp:Literal ID="LtlAplicapagoDoble" runat="server" Text='<%# Eval("AplicaPagoDoble") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Estatus" ItemStyle-Width="10%" ItemStyle-HorizontalAlign="Center">
@@ -174,6 +184,10 @@
<label for="AplicaRetardo">Aplica Retardo:</label><br />
<asp:CheckBox ID="AplicaRetardo" runat="server" CssClass="chksino" data-size="small" Text=" " Checked="true" />
</div>
<div class="col-md-4">
<label for="ChkAplicaPrimaVac">Aplica Prima Vacacional:</label><br />
<asp:CheckBox ID="ChkAplicaPrimaVac" runat="server" CssClass="chksino" data-size="small" Text=" " Checked="true" />
</div>
</div>
<div class="row">
<div class="col-md-4">
@@ -184,12 +198,22 @@
<label for="AplicaUtilidades">Aplica Utilidades:</label><br />
<asp:CheckBox ID="AplicaUtilidades" runat="server" CssClass="chksino" data-size="small" Text=" " Checked="true" />
</div>
<div id="CheckActiveSection" runat="server" class="form-group form-md-line-input input-iconright">
<label for="ChkEstatus">Activo:</label><br />
<asp:CheckBox ID="ChkEstatus" runat="server" CssClass="chksino" data-size="small" Text=" " Checked="true" />
</div>
</div>
<div class="row">
<div class="col-md-4">
<label for="ChkAplicaPago">Aplica Pago:</label><br />
<asp:CheckBox ID="ChkAplicaPago" runat="server" CssClass="chksino" data-size="small" Text=" " Checked="true" />
</div>
<div class="col-md-4">
<label for="ChkAplicaPagoDoble">Aplica Pago doble:</label><br />
<asp:CheckBox ID="ChkAplicaPagoDoble" runat="server" CssClass="chksino" data-size="small" Text=" " Checked="true" />
</div>
</div>
<div id="CheckActiveSection" runat="server" class="form-group form-md-line-input input-iconright">
<label for="ChkEstatus">Activo:</label><br />
<asp:CheckBox ID="ChkEstatus" runat="server" CssClass="chksino" data-size="small" Text=" " Checked="true" />
<div class="row">
</div>
</div>

View File

@@ -85,10 +85,13 @@ Partial Class RH_CatAsistenciasInasistencias
Dim chkAplicaRetardo As Boolean = AplicaRetardo.Checked
Dim chkAplicaAguinaldo As Boolean = AplicaAguinaldo.Checked
Dim chkAplicaUtilidades As Boolean = AplicaUtilidades.Checked
Dim aplicaPago As Integer = If(ChkAplicaPago.Checked, 1, 0)
Dim aplicaPagoDoble As Integer = If(ChkAplicaPagoDoble.Checked, 1, 0)
Dim aplicaPrimaVac As Integer = If(ChkAplicaPrimaVac.Checked, 1, 0)
If ObjAsistenciasInasistencias.AddAsistenciasInasistencias(TipoTxt.Text.Trim, chkAplicaFalta, chkAplicaNoAplica, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, chkAplicaUtilidades) Then
chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, chkAplicaUtilidades, aplicaPago, aplicaPagoDoble, aplicaPrimaVac) Then
TipoTxt.Text = ""
Alert("El nuevo Tipo Asistencias/Inasistencias se guardó correctamente.", TipoMensaje.MsgInformacion)
UpTitulos.Update()
@@ -129,6 +132,11 @@ chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, c
AplicaAguinaldo.Checked = If(GvRow.DataKey("AplicaAguinaldo") = "Aplica", True, False)
AplicaUtilidades.Checked = If(GvRow.DataKey("AplicaUtilidades") = "Aplica", True, False)
ChkAplicaPago.Checked = If(GvRow.DataKey("AplicaPago") = "Aplica", True, False)
ChkAplicaPagoDoble.Checked = If(GvRow.DataKey("AplicaPagoDoble") = "Aplica", True, False)
ChkAplicaPrimaVac.Checked = If(GvRow.DataKey("AplicaPrimaVac") = "Aplica", True, False)
ChkEstatus.Checked = If(GvRow.DataKey("Estatus") = "Activo", True, False)
CveTipoAsisAEditar = Convert.ToInt32(GvRow.DataKey("CveAsistenciasInasistencias")) 'Guardamos en una propiedad el id del registro del cual haremos cambios, se guarda y se utiliza en el metodo "GvDatos_RowUpdating"
@@ -156,9 +164,16 @@ chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, c
Dim chkAplicaAguinaldo As Boolean = AplicaAguinaldo.Checked
Dim chkAplicaUtilidades As Boolean = AplicaUtilidades.Checked
Dim aplicaPago As Integer = If(ChkAplicaPago.Checked, 1, 0)
Dim aplicaPagoDoble As Integer = If(ChkAplicaPagoDoble.Checked, 1, 0)
Dim aplicaPrimaVac As Integer = If(ChkAplicaPrimaVac.Checked, 1, 0)
If ObjAsistenciasInasistencias.UpdateAsistenciasInasistencias(Tipo, ckAplicaFalta, AplicaAsistencia, Estatus, CveAsistenciasInasistencias,
chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, chkAplicaUtilidades) Then
chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, chkAplicaUtilidades, aplicaPago, aplicaPagoDoble,
aplicaPrimaVac) Then
GvDatos.EditIndex = -1
ViewState("DTAsistenciasInasistencias") = ObjAsistenciasInasistencias.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
GlobalDTAsistenciasInasistencias = ObjAsistenciasInasistencias.DtResultados

View File

@@ -62,8 +62,9 @@
<asp:ListItem Text="GlobalDTTipoTransacciones" Value="GlobalDTTipoTransacciones"></asp:ListItem>
<asp:ListItem Text="GlobalSATGenerales" Value="GlobalSATGenerales"></asp:ListItem>
<asp:ListItem Text="GlobalDTActivoFijos" Value="GlobalDTActivoFijos"></asp:ListItem>
<asp:ListItem Text="GlobalDTVendedoresOld" Value="GlobalDTVendedoresOld"></asp:ListItem>
</asp:DropDownList>&nbsp;&nbsp;
</asp:DropDownList>&nbsp;&nbsp;
<asp:Button ID="BtnCargar" runat="server" Text="Cargar" class="btn btn-primary" />&nbsp;&nbsp;<asp:Button ID="BtnRefresh" runat="server" Text="Consultar" class="btn btn-primary" />
<br />

View File

@@ -102,12 +102,28 @@ Partial Class Sistemas_CatSesiones
ElseIf DdlVariable.SelectedItem.Value = "GlobalSATGenerales" Then
CargaSATGenerales()
ElseIf DdlVariable.SelectedItem.Value = "GlobalDTActivoFijos" Then
CargaActivoFijos()
ElseIf DdlVariable.SelectedItem.Value = "GlobalDTVendedoresOld" Then
CargaActivoFijos()
End If
End Sub
Private Sub CargaGlobalDTVendedoresOld()
Dim AppNombre As String = $"GlobalDTVendedores-{-1}"
If HttpContext.Current.Application(AppNombre) Is Nothing Then
Dim ObjVendedores As New ClsVtaVendedores
If ObjVendedores.GetVendedores(-1) Then
For Each Row As DataRow In ObjVendedores.DtResultados.Rows
Row("VendedorTipo") = 1
Next
HttpContext.Current.Application(AppNombre) = ObjVendedores.DtResultados.Copy()
End If
ObjVendedores.Dispose()
End If
End Sub
Private Sub CargaActivoFijos()
GlobalDTActivoFijos(UsuarioActual.CveEmpresa) = Nothing
GlobalDTModeloActivoFijo(UsuarioActual.CveEmpresa, -1) = Nothing

View File

@@ -646,57 +646,46 @@
<div class="row">
<div class=" col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlSubProyecto" runat="server" CssClass="form-control select2me" AutoPostBack="true" OnSelectedIndexChanged="DdlSubProyecto_SelectedIndexChanged" DataTextField="SubProyecto" DataValueField="CveSubProyecto" ValidationGroup="GrpGuardar"></asp:DropDownList>
<asp:DropDownList ID="DdlSubProyecto" runat="server" CssClass="form-control select2me" Width="100%" AutoPostBack="true" OnSelectedIndexChanged="DdlSubProyecto_SelectedIndexChanged" DataTextField="SubProyecto" DataValueField="CveSubProyecto" ValidationGroup="GrpGuardar"></asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVSubProyecto" runat="server" ControlToValidate="DdlSubProyecto" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''SubProyecto''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpGuardar"></asp:RequiredFieldValidator>
<label for="<%= DdlSubProyecto.ClientID.ToString()%>">Sucursal del Cliente: </label>
<i></i>
</div>
</div>
<div class=" col-md-6">
<div class=" col-md-6" id="DivPrecioLista" runat="server">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlPrecioLista" runat="server" CssClass="form-control select2me" DataTextField="PrecioLista" DataValueField="CvePrecioLista"></asp:DropDownList>
<asp:DropDownList ID="DdlPrecioLista" runat="server" CssClass="form-control select2me" Width="100%" DataTextField="PrecioLista" DataValueField="CvePrecioLista"></asp:DropDownList>
<label for="<%= DdlPrecioLista.ClientID.ToString()%>">Precio Lista: </label>
<i></i>
</div>
</div>
</div>
<div class="row">
<div class="form-group form-md-line-input input-iconright col-md-6" id="DivPortletAsignaciones" runat="server">
<asp:DropDownList ID="DdlClasificacion" DataValueField="CveClienteClasificacion" DataTextField="ClienteClasificacion" Width="150px" runat="server" CssClass="form-control select2me">
</asp:DropDownList>
<label for="<%= DdlClasificacion.ClientID.ToString()%>">Giro:</label>
</div>
<div class="col-md-6">
<table>
<tr>
<td style="width:90%">
<div class="form-group form-md-line-input input-iconright" id="Div1" runat="server">
<asp:DropDownList ID="DdlVendedor" runat="server" CssClass="form-control select2me" Width="100%" DataTextField="Vendedor" DataValueField="CveVendedor"></asp:DropDownList>
<asp:LinkButton ID="LnkAgregarVendedorSucursal" Visible="false" runat="server" data-toggle="tooltip" data-placement="right" title="Agregar vendedor por sucursal." CssClass="btn btn-circle btn-default" Text="<i class='fa fa-plus'></i> Agregar por Sucursal"></asp:LinkButton>
<label for="<%= DdlVendedor.ClientID.ToString()%>">Vendedor:</label>
</div>
</td>
<td style="width:10%">
<div class="form-group form-md-line-input input-iconright" id="DVLnkCambiarVendedor" runat="server" visible="false">
<asp:LinkButton runat="server" ID="LnkCambiarVendedor" CssClass="btn btn-default btn-circle btn-xs" Text="<i class='fa fa-check' style='color:green'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="¿Actualizar Vendedor?" data-btn-ok-label="si"
OnClick="LnkCambiarVendedor_Click"></asp:LinkButton>
</div>
</td>
</tr>
</table>
<div class="form-group form-md-line-input input-iconright" id="DivPortletAsignaciones" runat="server">
<asp:DropDownList ID="DdlClasificacion" DataValueField="CveClienteClasificacion" DataTextField="ClienteClasificacion" Width="100%" runat="server" CssClass="form-control select2me">
</asp:DropDownList>
<label for="<%= DdlClasificacion.ClientID.ToString()%>">Giro:</label>
</div>
</div>
<div class="col-md-6">
<div class="row">
<div class="col-md-10">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlVendedor" runat="server" CssClass="form-control select2me" Width="100%" DataTextField="Vendedor" DataValueField="CveVendedor"></asp:DropDownList>
<asp:LinkButton ID="LnkAgregarVendedorSucursal" Visible="false" runat="server" data-toggle="tooltip" data-placement="right" title="Agregar vendedor por sucursal." CssClass="btn btn-circle btn-default" Text="<i class='fa fa-plus'></i> Agregar por Sucursal"></asp:LinkButton>
<label for="<%= DdlVendedor.ClientID.ToString()%>">Vendedor:</label>
</div>
</div>
<div class="col-md-2">
<div class="form-group form-md-line-input input-iconright" id="DVLnkCambiarVendedor" runat="server" visible="false">
<asp:LinkButton runat="server" ID="LnkCambiarVendedor" CssClass="btn btn-default btn-circle btn-xs" Text="<i class='fa fa-check' style='color:green'></i>"
data-toggle="confirmation" data-popout="true" data-original-title="¿Actualizar Vendedor?" data-btn-ok-label="si"
OnClick="LnkCambiarVendedor_Click"></asp:LinkButton>
</div>
</div>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright" id="Div2" runat="server">
<asp:DropDownList ID="DdlCorporativo" runat="server" CssClass="form-control select2me" Width="200px" DataTextField="Descripcion" DataValueField="CveClienteCorporativo"></asp:DropDownList>
@@ -712,23 +701,23 @@
<asp:TextBox runat="server" ID="TxtCorreoEntregaAlmacen" CssClass="form-control" />
<label for="<%= TxtCorreoEntregaAlmacen.ClientID.ToString()%>">Correo de Entrega de Almacén:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoCliente" runat="server" CssClass=" form-control input-sm select2me" Width="200px" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoCliente_SelectedIndexChanged">
<asp:ListItem Selected="True" Value="1">Frecuente</asp:ListItem>
<asp:ListItem Value="2">Venta Mostrador</asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlTipoCliente.ClientID.ToString()%>">Tipo de Cliente:</label>
<div class="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlTipoCliente" runat="server" CssClass=" form-control input-sm select2me" Width="100%" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoCliente_SelectedIndexChanged">
<asp:ListItem Selected="True" Value="1">Frecuente</asp:ListItem>
<asp:ListItem Value="2">Venta Mostrador</asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlTipoCliente.ClientID.ToString()%>">Tipo de Cliente:</label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright" id="DivRepresentanteLegal" runat="server" visible="false">
<asp:TextBox runat="server" ID="TxtRepresentanteLegal" CssClass="form-control" MaxLength="100" />
<label for="<%= TxtRepresentanteLegal.ClientID.ToString()%>">Representante Legal:</label>
</div>
</div>
</div>
<div class="form-group form-md-line-input input-iconright" id="DivRepresentanteLegal" runat="server" visible="false">
<asp:TextBox runat="server" ID="TxtRepresentanteLegal" CssClass="form-control" MaxLength="100" />
<label for="<%= TxtRepresentanteLegal.ClientID.ToString()%>">Representante Legal:</label>
</div>
<div class="row">
<div runat="server" id="DivEsDistribuidor" visible="false" class="col-md-4 form-group form-md-line-input input-iconright">
<label>Es distribuidor: </label>
@@ -1132,7 +1121,7 @@
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMetodoPago33" CssClass="form-control select2me" runat="server" Width="250" AppendDataBoundItems="true" CausesValidation="true" DataTextField="MetodoPagoSAT" DataValueField="CveMetodoPago" ValidationGroup="GrpGuardar" AutoPostBack="true"
OnSelectedIndexChanged="DdlMetodoPago33_SelectedIndexChanged" >
OnSelectedIndexChanged="DdlMetodoPago33_SelectedIndexChanged">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlMetodoPago33.ClientID.ToString()%>">Método de Pago:</label>
@@ -2017,13 +2006,13 @@
<asp:HyperLink ID="HplAbonarMasivo" Visible="True" runat="server" NavigateUrl="#" ToolTip="Pago de múltiples facturas">Pago múltiples facturas&nbsp;<img src="/Imagenes/Money_Add.png" alt="Pagar múltiples facturas" /></asp:HyperLink>
&nbsp;
<asp:LinkButton ID="LnkCxCActivasPDF" runat="server" data-toggle="tooltip" Title="PDF"> <i class="fa fa-file-pdf-o" style="margin-right: 10px; font-size:15px; font-weight:bold; color:dimgray;"></i> </asp:LinkButton>
<asp:LinkButton ID="LnkCxCActivasExcel" runat="server" data-toggle="tooltip" Title="Excel"><i class="fa fa-file-excel-o" style="margin-right: 10px; font-size:15px; font-weight:bold; color:dimgray;"></i> </asp:LinkButton>
<asp:LinkButton ID="LnkCxCActivasExcel" runat="server" data-toggle="tooltip" Title="Excel"><i class="fa fa-file-excel-o" style="margin-right: 10px; font-size:15px; font-weight:bold; color:dimgray;"></i> </asp:LinkButton>
<input type="text" id="TxtCxCActivas" class="form-control input-sm"
onkeyup="<%= String.Format("FiltrarTabla('TxtCxCActivas','{0}')", GvCxC.ClientID) %>"
style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtCxCActivas','{0}')", GVHistorial.ClientID) %>"
style="margin-top: -3px; float: inherit;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</ContentTemplate>
<Triggers>
<asp:PostBackTrigger ControlID="LnkCxCActivasPDF" />
@@ -2126,7 +2115,7 @@
<ContentTemplate>
<asp:LinkButton ID="LnkHistorialCxCPDF" runat="server" data-toggle="tooltip" Title="PDF"> <i class="fa fa-file-pdf-o" style="margin-right: 10px; font-size:15px; font-weight:bold; color:dimgray;"></i> </asp:LinkButton>
<asp:LinkButton ID="LnkHistorialCxCExcel" runat="server" data-toggle="tooltip" Title="Excel"><i class="fa fa-file-excel-o" style="margin-right: 10px; font-size:15px; font-weight:bold; color:dimgray;"></i> </asp:LinkButton>
<input type="text" id="TxtCxCHistorial" class="form-control input-sm"
<input type="text" id="TxtCxCHistorial" class="form-control input-sm"
onkeyup="<%= String.Format("FiltrarTabla('TxtCxCHistorial','{0}')", GvCxCHistorial.ClientID) %>"
style="display: inline-block; margin-right: -20px; width: 150px;" />
<a href="javascript:;" onclick="<%= String.Format("FiltrarTabla('TxtCxCHistorial','{0}')", GVHistorial.ClientID) %>"
@@ -4276,13 +4265,13 @@
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label ID="LblProyectoFiltro" runat="server" class="col-md-1 truncate" style="width: 120px">Proyecto:</asp:Label>
<asp:Label ID="LblProyectoFiltro" runat="server" class="col-md-1 truncate" Style="width: 120px">Proyecto:</asp:Label>
<div runat="server" id="DivProyectoFiltro" class="col-md-2" style="width: 120px">
<asp:DropDownList ID="DdlProyectoFiltro" runat="server" AutoPostBack="true" AppendDataBoundItems="true" DataTextField="Proyecto" DataValueField="CveProyecto" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
<asp:ListItem Selected="True" Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<asp:Label ID="LblSubProyectoFiltro" runat="server" class="col-md-1 truncate" style="width: 120px; text-align: right">SubProyecto:</asp:Label>
<asp:Label ID="LblSubProyectoFiltro" runat="server" class="col-md-1 truncate" Style="width: 120px; text-align: right">SubProyecto:</asp:Label>
<div runat="server" id="DivSubProyectoFiltro" class="col-md-2" style="width: 120px">
<asp:DropDownList ID="DdlSubProyectoFiltro" runat="server" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Class="table-group-action-input form-control input-inline input-small input-sm select2me">
</asp:DropDownList>
@@ -4546,15 +4535,15 @@
<div class="row">
<label class="col-md-1 " style="width: 120px; text-align: right">Comercializador:</label>
<div class="col-md-2" style="width: 250px">
<ADS:Dropdownlost ID="DdlProveedorLineaAdicional" SelectedText="-" IncluyeTodos="true" runat="server" CssClassDdl="select2me" Width="100%" CssStyle="width: 100%;"
DataTextField="RazonSocial" DataValueField="CveProveedor"></ADS:Dropdownlost>
<ADS:Dropdownlost ID="DdlProveedorLineaAdicional" SelectedText="-" IncluyeTodos="true" runat="server" CssClassDdl="select2me" Width="100%" CssStyle="width: 100%;"
DataTextField="RazonSocial" DataValueField="CveProveedor"></ADS:Dropdownlost>
</div>
<label class="col-md-1 truncate" style="width: 120px; text-align: right">Estatus:</label>
<div class="col-md-2" style="width: 120px">
<asp:DropDownList ID="DdlEstatusLineaAdicional" runat="server" Cssclass="table-group-action-input form-control select2me">
<asp:ListItem value="-1" Text="Todos"/>
<asp:ListItem value="1" Text="Vinculado"/>
<asp:ListItem Selected="True" value="0" Text="Sin Registrar"/>
<asp:DropDownList ID="DdlEstatusLineaAdicional" runat="server" CssClass="table-group-action-input form-control select2me">
<asp:ListItem Value="-1" Text="Todos" />
<asp:ListItem Value="1" Text="Vinculado" />
<asp:ListItem Selected="True" Value="0" Text="Sin Registrar" />
</asp:DropDownList>
</div>
</div>
@@ -6732,7 +6721,7 @@
<asp:DropDownList ID="DdlTipoLineaAdicionalModal" CssClass="form-control select2me" runat="server" Width="250px" AutoPostBack="true" OnSelectedIndexChanged="DdlTipoLineaAdicionalModal_SelectedIndexChanged">
<asp:ListItem Text="PO" Value="2"></asp:ListItem>
<asp:ListItem Text="Seleccione" Value="-1" Selected="True"></asp:ListItem>
<asp:ListItem Text="Pagaré Especial" Value="1"></asp:ListItem>
<asp:ListItem Text="Pagaré Especial" Value="1"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlTipoLinea" InitialValue="-1" runat="server" ControlToValidate="TxtLineaAdicionalModal" CssClass="help-block errorimput"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo de Linea''</b> es necesario, por favor ingréselo." ValidationGroup="GrpLineaAdicional"></asp:RequiredFieldValidator>

View File

@@ -910,7 +910,8 @@ Partial Class Clientes
CargaDocumentacionCliente()
'TxtPais.Text = "México"
End If
End If
If UsuarioActual.Empresa.CvePlataforma = 3 Then
LbAddDispositivo.Visible = True
@@ -1334,7 +1335,13 @@ Partial Class Clientes
DdlMetodoPagoSucursal.DataBind()
'DdlMetodoPago.DataBind()
End Sub
Private Sub CargaPrecioLista()
Private Sub CargaPrecioLista()
'SI NO TIENE LA FUNCIONALIDAD DE LISTA DE PRECIOS
If Not GlobalDTPrecioListas(UsuarioActual.CveEmpresa).Rows.Count > 0 Then
DdlSubProyecto.AutoPostBack = False
DivPrecioLista.Visible = False
End If
DdlPrecioLista.DataSource = GlobalDTPrecioListas(UsuarioActual.CveEmpresa)
DdlPrecioLista.DataBind()
DdlPrecioLista.Items.Insert(0, New ListItem(" - ", "-1"))
@@ -5838,13 +5845,15 @@ Partial Class Clientes
Protected Sub DdlSubProyecto_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlSubProyecto.SelectedValue.ToEntero() > 0 Then
Dim Dr As DataRow = GlobalDTSubProyectos(-1, DdlSubProyecto.SelectedValue.ToEntero(), UsuarioActual.CveEmpresa).Rows(0)
Dim Dr As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto:=DdlSubProyecto.SelectedValue.ToEntero(), CveEmpresa:=UsuarioActual.CveEmpresa).Rows(0)
If Dr IsNot Nothing Then
If Dr("CvePrecioLista").ToString().ToEntero() > 0 Then
DdlPrecioLista.SelectedValueExist(Dr("CvePrecioLista").ToString())
End If
End If
End If
UpDatos.Update()
End Sub
#End Region
@@ -8468,8 +8477,8 @@ Partial Class Clientes
End Sub
Protected Sub DdlProyecto_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyectoFiltro.SelectedIndexChanged
CargarSubProyecto(DdlSubProyecto, DdlProyectoFiltro.SelectedValue)
Protected Sub DdlProyectoFiltro_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlProyectoFiltro.SelectedIndexChanged
CargarSubProyecto(DdlSubProyectoFiltro, DdlProyectoFiltro.SelectedValue)
End Sub
Protected Sub DdlClasificacionFilto_SelectedIndexChanged(sender As Object, e As EventArgs)

View File

@@ -2755,6 +2755,7 @@ Partial Class Ventas
End If
End Using
End If
If Request("CveEmbarqueManifiesto") IsNot Nothing AndAlso IsNumeric(Request("CveEmbarqueManifiesto")) AndAlso Request("CveEmbarqueManifiesto").ToEntero() > 0 Then
DdlMoneda.SelectedValueExist(2)
CambiaMoneda()
@@ -21090,7 +21091,7 @@ Partial Class Ventas
Dim DtCostos = ObjInventario.DtResultados.Copy
Dim DtCostosDistinct As DataTable = ObjInventario.DtResultados.FiltraParametros("", "", {"CveClasificacion"})
Dim IdCtaContable As Integer = 0
Dim CveCuenta As Integer = 0
' Dim CveCuenta As Integer = 0
Dim ValorInventario As Decimal
Dim TotalCostoAcumulado As Decimal = 0D
Dim Cont As Integer = 1
@@ -21099,7 +21100,7 @@ Partial Class Ventas
For Each RowInv As DataRow In DtCostosDistinct.Rows
ValorInventario = DtCostos.SUMD("Total", String.Format("CveClasificacion = {0}", RowInv("CveClasificacion"))).RoundSQL
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
'CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaGastoSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero()
TotalCostoAcumulado += ValorInventario
'cuando es el último movimiento y hay diferencias en los importes
@@ -21109,7 +21110,7 @@ Partial Class Ventas
Try
'If ValorInventario <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, ValorInventario, ObjFactura.SerieFolio, 69, ObjFactura.SerieFolio, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveClasificacion:=RowInv("CveClasificacion").ToString().ToEntero(), CveMovimientoAlmacen:=CveMovimientoVirtual, ImporteMX:=ValorInventario, CveCuenta:=CveCuenta, CveSubProyecto:=ObjFactura.CveSubProyecto) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, False, ValorInventario, ObjFactura.SerieFolio, 69, ObjFactura.SerieFolio, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveClasificacion:=RowInv("CveClasificacion").ToString().ToEntero(), CveMovimientoAlmacen:=CveMovimientoVirtual, ImporteMX:=ValorInventario, CveSubProyecto:=ObjFactura.CveSubProyecto) Then
OcurrioError = True
Exit For
End If
@@ -21123,7 +21124,7 @@ Partial Class Ventas
If Not OcurrioError Then
IdCtaContable = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCtaContable", String.Format("CveAlmacen = {0}", CveAlmacenVirtual)).ToEntero()
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, TotalCosto, ObjFactura.SerieFolio, 68, ObjFactura.SerieFolio, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveMovimientoAlmacen:=CveMovimientoVirtual, ImporteMX:=TotalCosto, CveCuenta:=CveCuenta, CveSubProyecto:=ObjFactura.CveSubProyecto) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, True, TotalCosto, ObjFactura.SerieFolio, 68, ObjFactura.SerieFolio, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=CveVenta, CveCliente:=ObjFactura.CveCliente, CveMovimientoAlmacen:=CveMovimientoVirtual, ImporteMX:=TotalCosto, CveSubProyecto:=ObjFactura.CveSubProyecto) Then
OcurrioError = True
End If
End If
@@ -36398,7 +36399,7 @@ Partial Class Ventas
Me.CveCategoriaLineaAdicional = 0
If CveVenta <= 0 Then
TxtFechaPago.Text = Now.ToString("dd/MM/yyyy")
TxtFechaPago.Text = Now.AddDays(PlazoCobranza).ToString("dd/MM/yyyy")
TxtOrdenCompra.Text = ""
'SI SE HABILITO LA FACTURACION DESDE LA LINEA ADICIONAL DEBE QUITARLO