eFacturas registrar compras

This commit is contained in:
Oscar Irigoyen
2023-07-20 13:10:40 -07:00
parent 2fbde6a5e6
commit 6b3426c45b
10 changed files with 3613 additions and 370 deletions

3083
AC/Reportes/NoIncluir.rdlc Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -333,13 +333,14 @@ Public Class ClsRH
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, aplicaPago As Integer, aplicaPagoDoble As Integer, aplicaPrimaVac As Integer) As Boolean
chkAplicaUtilidades As Boolean, aplicaPago As Integer, aplicaPagoDoble As Integer, aplicaPrimaVac As Integer, Optional TipoCorto As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_RH_AsistenciasInasistenciasAdd")
With SqlAdapter.SelectCommand.Parameters
.Add("@Tipo", SqlDbType.VarChar).Value = Tipo
.Add("@TipoCorto", SqlDbType.VarChar).Value = TipoCorto
.Add("@AplicaFalta", SqlDbType.Bit).Value = AplicaFalta
.Add("@AplicaAsistencia", SqlDbType.Bit).Value = AplicaAsistencia
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
@@ -374,13 +375,14 @@ Public Class ClsRH
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,
aplicaPago As Integer, aplicaPagoDoble As Integer, aplicaPrimaVac As Integer) As Boolean
aplicaPago As Integer, aplicaPagoDoble As Integer, aplicaPrimaVac As Integer, Optional TipoCorto As String = "-1") As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_RH_AsistenciasInasistenciasUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@Tipo", SqlDbType.VarChar).Value = Tipo
.Add("@TipoCorto", SqlDbType.VarChar).Value = TipoCorto
.Add("@AplicaFalta", SqlDbType.Bit).Value = AplicaFalta
.Add("@AplicaAsistencia", SqlDbType.Bit).Value = AplicaAsistencia
.Add("@Estatus", SqlDbType.Bit).Value = Estatus

View File

@@ -5016,10 +5016,14 @@ Partial Class Bancos_IE
If ObjIE.UpdateComprobanteIE(Comprobante.Replace("."c, ""), CveIE) Then
Alert("El Comprobante se guardo exitosamente.", TipoMensaje.MsgInformacion)
HplComprobante.NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta($"OP=IEComprobante&Comprobante={CveIE}.{Comprobante}"))
UpDatos.Update()
End If
ObjIE.Dispose()
End Sub
#End Region

View File

@@ -98,18 +98,36 @@
<asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter" style="">
<div class="portlet-title portlet-filterT" style="">
<div class="titlefiltros caption ">
<ul class="list-inline text-size-12">
<li>Folio:
<asp:TextBox ID="TxtFolio" runat="server" MaxLength="50" Width="70px"></asp:TextBox>
</li>
<li>Proveedor:
<asp:TextBox ID="TxtProveedor" runat="server" MaxLength="50" Width="110px"></asp:TextBox>
</li>
<li>Fecha I.:
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
<div class="portlet solid grey-cascade portlet-filter" style="" id="porletBusqueda">
<div class="portlet-title portlet-filterT smalltitle" >
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" Width="95px" />
<a href="javascript:;" class="expand"></a>
</div>
<div class="titlefiltros ">
<div class="row" style="padding-top: 10px;">
<div class="col-md-1 input-sm truncate" style="text-align:right" >
Folio:
</div>
<div class="col-md-1">
<asp:TextBox ID="TxtFolio" runat="server" MaxLength="50" CssClass="form-control input-sm"></asp:TextBox>
</div>
<div class="col-md-1 input-sm truncate" style="text-align:right" >
Proveedor:
</div>
<div class="col-md-2 ">
<asp:TextBox ID="TxtProveedor" runat="server" MaxLength="50" CssClass="form-control input-sm"></asp:TextBox>
</div>
<div class="col-md-1 input-sm truncate" style="text-align:right" >
Fecha I.:
</div>
<div class="col-md-1">
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;margin-top:-7px">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
@@ -121,9 +139,13 @@
<asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</li>
<li>Fecha F.:
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
</div>
<div class="col-md-1 input-sm truncate" style="text-align:right" >
Fecha F.:
</div>
<div class="col-md-1">
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;margin-top:-7px"">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
@@ -135,9 +157,13 @@
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</li>
<li>Estatus:
<asp:DropDownList ID="DdlValidado" runat="server" Width="100px" Class="table-group-action-input form-control input-inline input-small input-sm">
</div>
<div class="col-md-1 input-sm truncate" style="text-align:right" >
Estatus:
</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlValidado" runat="server" Width="100px" Class="select2me input-sm">
<asp:ListItem Text="No Registradas - Todas" Value="-2" Selected="True"></asp:ListItem>
<asp:ListItem Text="No Registradas - Por validar" Value="0"></asp:ListItem>
<asp:ListItem Text="No Registradas - Validadas" Value="1"></asp:ListItem>
@@ -147,40 +173,61 @@
<asp:ListItem Text="Omitidas" Value="5"></asp:ListItem>
<asp:ListItem Text="Todas" Value="-1"></asp:ListItem>
</asp:DropDownList>
</li>
</ul>
</div>
<div class="tools">
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-primary" />
<a href="javascript:;" class="expand"></a>
</div>
</div>
</div>
<div class="portlet-body" style="display: none;">
<ul class="list-inline">
<li>Responsable:
<asp:DropDownList ID="DdlResponsable" runat="server" DataTextField="Nombre" DataValueField="CveUsuario" MaxLength="50" Class="table-group-action-input form-control input-inline input-small input-sm"></asp:DropDownList>
</li>
<li>Clasificación:
<asp:DropDownList ID="DdlClasificacionProv" runat="server" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion" MaxLength="50" Class="table-group-action-input form-control input-inline input-small input-sm"></asp:DropDownList>
</li>
<li>Tipo Prov:
<asp:DropDownList ID="DdlCveTipoProveedor" runat="server" CssClass="form-control select2me input-sm" Width="150px">
<div class="row">
<div class="col-md-1 input-sm truncate" style="text-align:right" >
Responsable:
</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlResponsable" runat="server" DataTextField="Nombre" DataValueField="CveUsuario" Width="100%"
Class="form-control select2me input-sm"></asp:DropDownList>
</div>
<div class="col-md-1 input-sm truncate" style="text-align:right" >
Clasificación:
</div>
<div class="col-md-2">
<asp:DropDownList ID="DdlClasificacionProv" runat="server" DataTextField="ProveedorClasificacion" DataValueField="CveProveedorClasificacion" Width="100%"
Class="form-control select2me input-sm"></asp:DropDownList>
</div>
<div class="col-md-1 input-sm truncate" style="text-align:right" >
Tipo Prov:
</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlCveTipoProveedor" runat="server" CssClass="form-control select2me input-sm" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" 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>
</li>
<li>Tipo Comprobante
<asp:DropDownList ID="DdlTipoComprobante" runat="server" CssClass="form-control select2me input-sm" Width="150px">
</div>
<div class="col-md-1 input-sm truncate" style="text-align:right" >
Tipo Comprobante:
</div>
<div class="col-md-1">
<asp:DropDownList ID="DdlTipoComprobante" runat="server" CssClass="form-control select2me input-sm" Width="100%">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Selected="False" Text="Ingresos" Value="I"></asp:ListItem>
<asp:ListItem Selected="False" Text="Egresos" Value="E"></asp:ListItem>
</asp:DropDownList>
</li>
</ul>
</div>
</div>
</div>
</div>
</ContentTemplate>
@@ -213,11 +260,13 @@
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:HiddenField runat="server" ID="HdnTipoPS" Value="-1" />
<asp:DropDownList ID="DdlClasificacion" runat="server" CssClass=" form-control input-sm select2me" AppendDataBoundItems="true" AutoPostBack="true" DataTextField="Clasificacion" DataValueField="CveClasificacion" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione la Clasificación (Todas)" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label for="<%= DdlClasificacion.ClientID.ToString()%>">Clasificación:</label>
<asp:TextBox runat="server" ID="TxtDescripcionCompra" CssClass="form-control" MaxLength="50" Width="100%" ></asp:TextBox>
<label runat="server" id="Label1" for="<%= TxtDescripcionCompra.ClientID.ToString()%>">Descripción:</label>
<asp:RequiredFieldValidator ID="RfvTxtDescripcionCompra" runat="server" ControlToValidate="TxtDescripcionCompra" InitialValue="" Display="Dynamic"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingreselo." ValidationGroup="GrpRegistraCompra">
</asp:RequiredFieldValidator>
</div>
</div>
@@ -262,7 +311,7 @@
<asp:TextBox ID="TxtNumeroReembolso" runat="server" Width="100%" CssClass=" form-control input-sm " />
<label runat="server" id="LblNumeroReembolso" for="<%= TxtNumeroReembolso.ClientID.ToString()%>">Número de Reembolso:</label>
<asp:RequiredFieldValidator ID="RfvTxtNumeroReembolso" runat="server" ControlToValidate="TxtNumeroReembolso" InitialValue="" Display="Dynamic"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Num. Reembolso''</b> es necesario, por favor ingreselo." ValidationGroup="GrpRegistroFactura">
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Num. Reembolso''</b> es necesario, por favor ingreselo." ValidationGroup="GrpRegistraCompra">
</asp:RequiredFieldValidator>
</div>
</div>
@@ -287,6 +336,10 @@
</asp:DropDownList>
<label runat="server" id="LblSubProyecto" for="<%= DdlSubProyecto.ClientID.ToString()%>">SubProyecto:</label>
<asp:RequiredFieldValidator ID="RfvDdlSubProyecto" runat="server" ControlToValidate="DdlSubProyecto" InitialValue="-1" Display="Dynamic"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo es necesario, por favor ingreselo." ValidationGroup="GrpRegistraCompra">
</asp:RequiredFieldValidator>
</div>
</div>
@@ -299,6 +352,9 @@
<asp:ListItem Selected="True" Text="Seleccione cuenta" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label runat="server" id="LblCuentaCajaChicaReembolso" for="<%= DdlCuentaCajaChicaReembolso.ClientID.ToString()%>">Caja Chica:</label>
<asp:RequiredFieldValidator ID="RfvDdlCuentaCajaChicaReembolso" runat="server" ControlToValidate="DdlCuentaCajaChicaReembolso" InitialValue="-1" Display="Dynamic"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>Caja Chica</b> es necesario, por favor ingreselo." ValidationGroup="GrpRegistraCompra">
</asp:RequiredFieldValidator>
</div>
@@ -308,6 +364,9 @@
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<label runat="server" id="LblPersonalReembolso" for="<%= DdlPersonalReembolso.ClientID.ToString()%>">Viáticos:</label>
<asp:RequiredFieldValidator ID="RfvDdlPersonalReembolso" runat="server" ControlToValidate="DdlPersonalReembolso" InitialValue="-1" Display="Dynamic"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>Viáticos</b> es necesario, por favor ingreselo." ValidationGroup="GrpRegistraCompra">
</asp:RequiredFieldValidator>
</div>
@@ -319,7 +378,8 @@
<div class="col-md-4" style="text-align: center;">
<asp:Button ID="BtnGuardarFacturas" runat="server" Text="Guardar" class="btn btn-primary" OnClick="BtnGuardarFacturas_Click" style="margin: 0; position: absolute; top: 50%; transform: translateY(30%);" />
<asp:Button ID="BtnGuardarFacturas" runat="server" Text="Guardar" class="btn btn-primary" OnClick="BtnGuardarFacturas_Click" ValidationGroup="GrpRegistraCompra"
Style="margin: 0; position: absolute; top: 50%; transform: translateY(30%);" />
</div>
</div>

View File

@@ -2,6 +2,7 @@
Option Explicit On
Imports System.Data
Imports System.Data.SqlClient
Imports System.Diagnostics
Imports System.Globalization
Imports System.IO
@@ -10,17 +11,17 @@ Imports System.Net.Http
Imports System.Net.Http.Headers
Imports System.Threading
Imports System.Threading.Tasks
Imports System.Windows.Forms.VisualStyles.VisualStyleElement
Imports System.Xml
Imports ADSistemaLibrary.SatXml
Imports ADSistemaLibrary.SatXml.XmlSatCFDI
'Imports ADSNetLibrary.SIGAPI.Helpers
Imports ClsPaginas
'Imports DocumentFormat.OpenXml.Spreadsheet
'Imports DocumentFormat.OpenXml.Wordprocessing
Imports Extensiones
Imports HigLabo
Imports Microsoft.Owin.Security.Provider
Imports Microsoft.Reporting.WebForms
Imports Newtonsoft.Json.Linq
Imports Telerik.Web.Apoc
Partial Class Compras_eFacturas
@@ -5172,8 +5173,8 @@ Partial Class Compras_eFacturas
End Sub
Private Sub CargaClasificaciones()
DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
DdlClasificacion.DataBind()
'DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros("", Orderby:="Clasificacion")
'DdlClasificacion.DataBind()
End Sub
Private Sub CargaPS(CveClasificacion As Integer)
@@ -5181,7 +5182,8 @@ Partial Class Compras_eFacturas
DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1")
If UsuarioActual.Empresa.Funcionalidad(105) = "1" Then
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
'DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", DdlClasificacion.SelectedValue)
DdlPS.ddlWS.Attributes.Add("data-cveclasificacion", "-1")
DdlPS.SelectedText = ""
DdlPS.SelectedValue = "-1"
Else
@@ -5244,11 +5246,11 @@ Partial Class Compras_eFacturas
Case "2" ' F y E
DivPersonalReembolso.Visible = True
RfvTxtNumeroReembolso.Enabled = True
TxtNumeroReembolso.Text = ""
Case "6" ' Caja Chica
DivCuentaCajaChicaReembolso.Visible = True
RfvTxtNumeroReembolso.Enabled = True
TxtNumeroReembolso.Text = ""
End Select
UpRegistroFacturas.Update()
@@ -5317,86 +5319,74 @@ Partial Class Compras_eFacturas
Protected Sub BtnGuardarFacturas_Click(sender As Object, e As EventArgs)
Dim ErrorProceso As Boolean = False
Dim Contador As Integer = 0
Dim ErrorProcesoStr As String = ""
If Not DdlPS.SelectedValue.ToEntero > 0 Then
Alert("Debe seleccionar un producto", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
For Each GvRow As GridViewRow In GvD.Rows
If GvRow.FCCheckBox("").Checked Then
If GvRow.FCCheckBox("chkRegistraFactura").Checked Then
Dim CFDIXmlPath As String = $"{UsuarioActual.Empresa.Ruta}Compras\{GvRow.DataKey("RFCDe")}\{GvRow.DataKey("XML")}"
If Not File.Exists(CFDIXmlPath) Then
ErrorProceso = True
Exit For
End If
Dim CompraActual As New Compra2(CFDIXmlPath, Compra2.EnumCargaCompra.DesdeArchivo, GlobalDTTiposGastos(UsuarioActual.CveEmpresa), UsuarioActual)
CompraActual.CveFactura = GvRow.DataKey("CveFactura").ToEntero
CompraActual.CveProveedor = GvRow.DataKey("CveProveedor").ToEntero
CompraActual.CveTipoProveedor = GvRow.DataKey("CveTipoProveedor").ToEntero
CompraActual.CveEstatusFactura = -1
CompraActual.CvePrePoliza = -1
CompraActual.CveTipoConceptoProveedor = GvRow.DataKey("CveTipoProveedor").ToEntero
CompraActual.TipoCompra = Compra2.EnumTipoCompra.Sin_definir
CompraActual.IEPSGasto = True
CompraActual.Descripcion = TxtDescripcionCompra.Text.Trim
CompraActual.NombreProveedor = GvRow.DataKey("NombreProveedor")
Dim CvePersonal As Integer = -1 'DdlPersonalReembolso.SelectedValue.ToEntero
Dim CveCajachica As Integer = -1 'DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero
Dim ObjCompras As New ClsCompras
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL)
If RBLContado.SelectedValue.ToEntero = 6 Then
CveCajachica = DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero
Else
CvePersonal = DdlPersonalReembolso.SelectedValue.ToEntero
End If
Dim ConceptoPoliza As String = String.Format("{0} - {1} - {2}", GvRow.DataKey("NombreProveedor"), GvRow.DataKey("SerieFolio"), "")
CompraActual.CvePrePoliza = ObjConta.AddPrePolizas("eFacturas/Registrar", 1, CompraActual.Total, CompraActual.Total, CompraActual.CveMoneda, CompraActual.Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", CveTipoPoliza:=3)
CompraActual.ConfiguraRegistroRapidoReembolso(DdlPS.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, DdlCuentaCajaChicaReembolso.SelectedValue.ToEntero, DdlPersonalReembolso.SelectedValue.ToEntero,
DdlRetIVAConcepto.SelectedValue.ToEntero, DdlRetISRConcepto.SelectedValue.ToEntero)
'CompraActual.AddCompra()
CompraActual.ConfiguraRegistroRapidoReembolso(DdlPS.SelectedValue.ToEntero, DdlSubProyecto.SelectedValue.ToEntero, CveCajachica, CvePersonal,
DdlRetIVAConcepto.SelectedValue.ToEntero, DdlRetISRConcepto.SelectedValue.ToEntero, NumeroReembolso:=TxtNumeroReembolso.Text)
If CompraActual.AddCompra() Then
Contador = Contador + 1
Else
ErrorProceso = True
ErrorProcesoStr = CompraActual.MSG_Error
Exit For
End If
'If ObjCompras.AddCompra"Fac", TxtDescripcion.Text.Trim, CompraActual.SerieFolio, CompraActual.Folio, CompraActual.FolioSecundario, CompraActual.CveProveedor, CompraActual.SubTotal, CompraActual.Descuentos,
' CompraActual.Amortizacion, CompraActual.IVA, CompraActual.RetIVA, CompraActual.RetISR, CompraActual.IEPS, CompraActual.OtrosImpuestos,
' CompraActual.Redondeo, CompraActual.Total, CompraActual.Fecha, CompraActual.CveMoneda, CompraActual.TipoCambio, If(CompraActual.FechaPago = Nothing, CompraActual.Fecha, CompraActual.FechaPago), CompraActual.AplicaNotaCredito, CompraActual.Observaciones, CompraActual.CveEstatusFactura,
' CompraActual.CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CompraActual.IdPoliza, CveCajaChica:=CompraActual.CveCajaChica, CvePersonal:=CompraActual.CvePersonal, NumeroReembolso:=CompraActual.NumeroReembolso, CveProveedorSucursal:=CompraActual.CveProveedorSucursal,
' AplicoPromocion:=CompraActual.AplicoPromocion, PorcentajeIVA:=CompraActual.PorcentajeIVA, CveMetodoPago:=CompraActual.CveMetodoPago, CveRetIVAConcepto:=CompraActual.CveRetIVAConcepto,
' CveConceptoContableAlmacen:=CompraActual.CveConceptoContableAlmacen,
' CveRetISRConcepto:=CompraActual.CveRetISRConcepto, NoDeducible:=CompraActual.NoDeducible, CveTipoCompra:=CompraActual.CveTipoCompra, TotalOriginal:=CompraActual.TotalOriginal, CveTipoConcepto:=CompraActual.CveTipoConcepto,
' EsImportacion:=CompraActual.EsImportacion, CveFactura:=CompraActual.CveFactura, CveSubProyecto:=CompraActual.CveSubProyectoPrincipal, DoctosRelacionados:=CompraActual.DocumentosRelacionadosUUIDSString, CveFolioGarantia:=CompraActual.CveFolioGarantia) Then
' CompraActual.CveCompra = ObjCompras.CveCompra
' If CompraActual.CveCompra > 0 Then
' 'For Each Row As DataRow In CompraActual.TmpDT.Rows
' ' If Not ObjCompras.AddCompraDetalle(CompraActual.CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF,
' ' Row("Cantidad").ToString.ToDecimal, Row("PU").ToString.ToDecimal, Row("IVA").ToString.ToDecimal, Row("Total").ToString.ToDecimal, Row("Descuento").ToString.ToDecimal,
' ' Row("Obs").ToString, Row("CveOrdenCompraDetalle").ToString.ToEntero, TipoRecepcion, Row("CveContrato").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero,
' ' AplicaCostoIndirecto:=Row("AplicaCostoIndirecto").ToString.ToEntero, EstatusAlmacen:=Row("EntregaDirecta").ToString.ToEntero, CvePersonal:=CvePersonal,
' ' CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, OtrosGastos:=Row("OtrosGastos").ToString.ToDecimal,
' ' RetIVA:=Row("RetIVA").ToString.ToDecimal, RetISR:=Row("RetISR").ToString.ToDecimal, IEPSPS:=Row("IEPSPS").ToString.ToDecimal.RoundSQL, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDecimal,
' ' IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDecimal, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDecimal, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDecimal,
' ' IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDecimal, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDecimal, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False),
' ' CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero, CveActivoFijoCompra:=CveAFC) Then
' ' ErrorDetalles = True
' ' Exit For
' ' End If
' 'Next
' End If
'End If
ObjCompras.RollBack()
End If
Next
If Not ErrorProceso Then
CargaDatos()
If Contador > 0 Then
Alert($"Se registraron {Contador} Compras")
End If
Else
Alert($"Se registraron {Contador} Compras. error {ErrorProcesoStr}", TipoMensaje.MsgAdvertencia)
End If
End Sub
End Class
@@ -5458,7 +5448,7 @@ Public Class Compra2
Public Property TC As Decimal = 1
Public Property SubTotal As Decimal = 0D
Public Property SubTotal2 As Decimal = 0D
Public Property Descuentos As Decimal = 0D
Public Property Descuento As Decimal = 0D
Public Property Total As Decimal = 0D
Public Property Moneda As String = ""
Public Property TipoComprobante As String
@@ -5584,14 +5574,14 @@ Public Class Compra2
Public Property CveMetodoPago As Integer
Public Property MetodoPago As String
Public Property DocumentosRelacionadosUUIDSList As List(Of String)
Public Property DocumentosRelacionadosUUIDSList As List(Of String) = New List(Of String)
Public ReadOnly Property DocumentosRelacionadosUUIDSString As String
Get
Return GeneraStringDoctosRelacionados()
End Get
End Property
Public Property DocumentosRelacionadosAnticiposUUIDList As List(Of String)
Public Property DocumentosRelacionadosAnticiposUUIDList As List(Of String) = New List(Of String)
Public Property TieneAnticiposXML As Boolean = False
Public Property EmisorRFC As String
Public Property ReceptorRFC As String
@@ -5636,7 +5626,7 @@ Public Class Compra2
Public Property TmpDT As DataTable = New DataTable
Public Property SubTotalConceptos As Decimal = 0D
Private Errores As StringBuilder
Private Errores As StringBuilder = New StringBuilder
Public ReadOnly Property MSG_Error As String
Get
@@ -5660,6 +5650,11 @@ Public Class Compra2
Public Property OtrosImpuestosGasto As Boolean = False
Public Property OCVinculada As Boolean = False
Public Property NumNoDed As Integer = 0
Public Property CveTipoPoliza As Integer = -1
Public Property NombreProveedor As Object
Public Property CveCreditoDetalle As Integer = -1
Public Property CveIE As Integer = -1
Public Property CveCompraAmortizacion As Integer = -1
Public Sub New(XmlFuente As String, OpcionCarga As EnumCargaCompra, DTTiposGastos As DataTable, UsuarioActual As Usuario)
@@ -5752,7 +5747,7 @@ Public Class Compra2
Fecha = ValorXML(nodo, "fecha").ToDate
SubTotal = ValorXML(nodo, "subTotal").ToDecimal
Total = ValorXML(nodo, "total").ToDecimal
Descuentos = ValorXML(nodo, "descuento").ToDecimal
Descuento = ValorXML(nodo, "descuento").ToDecimal
Moneda = ValorXML(nodo, "Moneda")
CveMoneda = GlobalDTMonedas().FiltroPrimeroValor("CveMoneda", $" AbreviaturaSAT = '{Moneda}' ").ToEntero
@@ -5955,8 +5950,8 @@ Public Class Compra2
Next
If ProductosCodigoSATNoPermitidos.ToString.Length > 0 Then
Dim mensajeAdvertencia As String = String.Format("El comprobante contiene productos con código SAT '01010101', revise los productos:</br></br>{0}", ProductosCodigoSATNoPermitidos.ToString)
Alert(mensajeAdvertencia, TipoMensaje.MsgAdvertencia)
Errores.AppendLine($"El comprobante contiene productos con código SAT '01010101', revise los productos:</br></br>{ProductosCodigoSATNoPermitidos.ToString}")
End If
Else
GuardaLog($"Error al cargar detalles GetFacturasComparacionXML.")
@@ -5977,19 +5972,22 @@ Public Class Compra2
End If
Me.PorcentajeIVA = TmpDT.MAX("IVAPorcentaje").ToDecimal
#End Region
End Sub
Public Function ConfiguraRegistroRapidoReembolso(CvePS As Integer, CveSubProyecto As Integer, CveCajaChica As Integer, CvePersonal As Integer, CveRetIVAConcepto As Integer, CveRetISRConcepto As Integer) As Boolean
Public Function ConfiguraRegistroRapidoReembolso(CvePS As Integer, CveSubProyecto As Integer, CveCajaChica As Integer, CvePersonal As Integer, CveRetIVAConcepto As Integer, CveRetISRConcepto As Integer, NumeroReembolso As String) As Boolean
Dim respuesta As Boolean = True
Me.CveSubProyecto = CveSubProyecto
Me.CveSubProyectoPrincipal = CveSubProyecto
Me.CveCajaChica = CveCajaChica
Me.CvePersonal = CvePersonal
Me.CveRetIVAConcepto = CveRetIVAConcepto
Me.CveRetISRConcepto = CveRetISRConcepto
Me.CveTipoPoliza = 3
Me.NumeroReembolso = NumeroReembolso
Dim dRowSubProyecto As DataRow = GlobalDTSubProyectos(-1, CveSubProyecto, CveEmpresa:=UsuarioActual.CveEmpresa).FiltroPrimero("")
@@ -6015,11 +6013,21 @@ Public Class Compra2
If respuesta AndAlso IEPS > 0 Then
If Not AgregaIEPSReembolso(CvePS:=CvePS) Then
respuesta = False
Else
IEPS = 0
End If
End If
If respuesta Then
If Not AjustesValidacion() Then
respuesta = False
End If
Return respuesta
End Function
Private Function AjustesValidacion() As Boolean
Dim respuesta = True
'VALIDA IMPORTES
If Not ValidaTotalesGuardar() Then
respuesta = False
@@ -6041,8 +6049,6 @@ Public Class Compra2
respuesta = False
End If
End If
Return respuesta
End Function
@@ -6074,7 +6080,7 @@ Public Class Compra2
TempSubTotal = SubTotal
SubTotalOriginal = SubTotal
SubTotal2Original = SubTotal2
TempDescuentos = Descuentos + Amortizacion
TempDescuentos = Descuento + Amortizacion
TempSubTotal2 = TempSubTotal - TempDescuentos
TempIVA = IVA
TempIEPS = IEPS
@@ -6108,7 +6114,7 @@ Public Class Compra2
DiferenciaSubtotales = SubTotal2Original.ToString.ToDecimal - TmpDT.SUM("Total").ToString.ToDecimal
'[IPP] PARCHE: Factura TELMEX para APH 12/ENERO/2018
If CveFactura = 286290 Then
DiferenciaSubtotales += Descuentos
DiferenciaSubtotales += Descuento
End If
If Math.Abs(DiferenciaSubtotales) > 1 And Not CompraNoDeducible = 1 Then 'EsNoDeducible
Errores.AppendLine("Los importes de los conceptos (Productos/Servicios) no cuadran con el total. Por favor verifique y vuelva a intentar.")
@@ -6563,6 +6569,9 @@ Public Class Compra2
Errores.AppendLine("Debe seleccionar al menos un impuesto. ")
End If
CalculaTotales()
Return respuesta
End Function
@@ -6635,10 +6644,7 @@ Public Class Compra2
Me.SubTotal = Math.Round(SubTotalIEPS, 2)
Me.SubTotalConceptos = Math.Round(SubTotalIEPS, 2)
'If SubTotalR <> SubTotalIEPS Then
' Dim IA As Decimal = SubTotalR - SubTotalIEPS
' AjustaImporteUltimoConcepto(IA)
'End If
PSS.Dispose()
End Sub
@@ -6747,7 +6753,7 @@ Public Class Compra2
Row("TipoAF") = -1
Row("CveOrdenCompraDetalle") = CveOrdenCompraDetalle
Row("EntregaDirecta") = EntregaDirecta
'If GlobalDTProductosServiciosEquivalencias(CvePS, CveUM).Rows.Count = 0 Then Row("CveEq") = 1 Else Row("CveEq") = 0
Row("NoDeducible") = NoDeducible
@@ -6814,7 +6820,6 @@ Public Class Compra2
Row("CveClasificacionOG") = CveClasificacionOG
End If
' CveProgramaOperativo AS Integer = -1, Optional CveUnidadAdministrativa, Optional CveUnidadAdministrativa AS Integer = -1,, Optional CveFuenteFinanciamiento AS Integer = -1, Optional CveTipoGastoAC AS Integer = -1, Optional CveClasificacionOG AS Integer = -1,
'Esta parte es para validar cuando la factura tenga ieps en o se asignara el ieps como una partida ya no se considere
If (CveFactura > 0 Or CveCompra > 0) And IEPS = 0 Then
@@ -6852,11 +6857,8 @@ Public Class Compra2
LocalIVA = If(TmpDT.SUM("IVA") > 0, LocalSubTotalIVA + LocalSubTotalIEPSIVA, 0)
End If
'If CalculaIVA Then IVA = TxtIVA.Text.ToDouble
LocalDescuentos = TmpDT.SUMD("Descuento")
'[IPP] SI YA ES COMPRA REGISTRADA NO CONSIDERA LA AMORTIZACIÓN PARA EL CALCULO DE TOTAL
If Not CveCompra > 0 Then
LocalAmortizacion = Me.Amortizacion
End If
@@ -6867,14 +6869,14 @@ Public Class Compra2
Retenciones += LocalRetISR
LocalSubTotal2 = LocalSubTotal - LocalDescuentos ' - Amortizacion '[IPP] COMENTADO CASO JAM 12653 CON NC 27122 | 23/MAYO/2018
LocalSubTotal2 = LocalSubTotal - LocalDescuentos
LocalTotal = LocalSubTotal2 + LocalIVA + LocalIEPSPS - Retenciones
'ASIGNAMOS VALORES A VISTA
If CveCompra > 0 Or CveFactura > 0 Or Me.OCVinculada Then
SubTotal = LocalSubTotal
SubTotal2 = LocalSubTotal2
Descuentos = LocalDescuentos
Descuento = LocalDescuentos
If EsNoDeducible Then
IVA = LocalIVA
@@ -6888,7 +6890,7 @@ Public Class Compra2
SubTotal = LocalSubTotal
SubTotal2 = LocalSubTotal2
IVA = LocalIVA
Descuentos = LocalDescuentos
Descuento = LocalDescuentos
RetIVA = LocalRetIVA
RetISR = LocalRetISR
IEPS = LocalIEPSPS
@@ -6898,39 +6900,10 @@ Public Class Compra2
End If
'CUANDO SEA COMPRA, FACTURA O VENGA DE VINCULACIÓN OC NO SE MODIFICAN VALORES
'SE VERIFICA SI ALGUN DATO ES DIFERENTE PARA MOSTRAR COLUMNA CON VALORES ORIGINALES
'If (CveCompra > 0 Or CveFactura > 0 Or OCVinculada) And Not EsNoDeducible Then
' If LocalSubTotal <> SubTotalOriginal Then
' OriginalesVisible(True)
' LbSubTotalOriginal.Text = SubTotalOriginal.ToString.FormatoNumero(2)
' Else
' OriginalesVisible(False)
' End If
'End If
'If Not CveCompra > 0 Then 'cuando se está registrando manualmente y se va amortizar
' LblSaldoFactura.Text = TxtTotal.Text.FormatoNumero
' UpAnticipos.Update()
'End If
'LblRetIVA.Text = If(TxtRetIVA.Text.ToDecimal > 0, (TmpDT.MAX("RetIVAPorcentaje").ToDecimal() * 100).FormatoNumero(4), "")
'LblRetISR.Text = If(TxtRetISR.Text.ToDecimal > 0, (TmpDT.MAX("RetISRPorcentaje").ToDecimal() * 100).FormatoNumero(4), "")
'IMPORTES DE RESTRICCION
'TxtDocumentoImporteFE.Text = LocalTotal.ToString.FormatoNumero(2)
'RVDocumentoImporte.MaximumValue = LocalTotal.ToString.FormatoNumero(2)
'RVDocumentoImporteFE.MaximumValue = RVDocumentoImporte.MaximumValue
'RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue
'CargaRetIVAConcepto()
'CargaRetISRConcepto()
Me.NumNoDed = TmpDT.COUNT("CvePS", "NoDeducible = True ")
'If DdlTipoComprobante.SelectedValue.Contiene("NC", "DEV") And CveFactura <= 0 Then
' InicializaAplicaNCFact()
'End If
End Sub
@@ -6951,8 +6924,7 @@ Public Class Compra2
End Try
'BANDERA
'Dim AplicaCalculaTotales = False
'DATOS GENERALES
DrPS("Obs") = ""
@@ -7000,73 +6972,14 @@ Public Class Compra2
DrPS("CveCultivoCuadroDetalle") = -1
DrPS("TemporadaCuadro") = ""
'RESPETAR VALORES DE LA PANTALLA
'IVA = PSRow("IVA").ToString.ToDouble
'If IVA = -1 Then
' IVA = GlobalDTSubProyectos(-1, DdlSubProyecto.SelectedValue.ToEntero()).FiltroPrimeroValor("IVA").ToDouble
'End If
'RetIVA = If(PSRow("RetIVA").ToString = "-1", ViewState("RetIVA"), PSRow("RetIVA").ToString).ToString.ToDouble
'RetISR = If(PSRow("RetISR").ToString = "-1", ViewState("RetISR"), PSRow("RetISR").ToString).ToString.ToDouble
'IEPSPS = If(PSRow("IEPSPorcentaje").ToString = "-1", ViewState("IEPSPS"), PSRow("IEPSPorcentaje").ToString).ToString.ToDouble
'IEPSPSIVA = If(PSRow("IEPSGrabaIVA").ToString = "True", PSRow("IEPSPorcentaje").ToString.ToDouble, 0)
Else
Errores.AppendLine($"No se encontrol el producto con CvePS {CvePS}")
Respuesta = False
End If
'UM
'TIPO DE GASTO
'IMPUESTOS: SI ES COMPRA, FACUTRA O CON OC, NO MODIFICA IMPUESTOS!!
'Dim IVA = (TxtIVAModal.Text.ToDouble / 100)
'Dim IVA = Math.Round(DdlIVA.SelectedValue.ToDecimal - 1, 2)
'Dim RetISR = (TxtRetISRModal.Text.ToDecimal / 100)
'Dim RetIVA = (TxtRetIVAModal.Text.ToDecimal / 100)
'Dim IEPSPS = (TxtIEPSModal.Text.ToDecimal / 100)
'Dim IEPSPSIVA = 0
'I f Not (CveCompra > 0 Or CveFactura > 0 Or OCVinculada) Then
'If DdlIVA.SelectedValue.ToDouble = 0 Then DrPS("IVA") = 0 Else DrPS("IVA") = IVA * Total
'If CveFactura > 0 And TxtIVA.Text.ToDecimal = 0 Then
' DrPS("IVA") = 0
' DrPS("IVAPorcentaje") = 0
'Else
' If ActualizarIva Then
' DrPS("IVA") = (IVA * Total).RoundSQL
' End If
' DrPS("IVAPorcentaje") = IVA
'End If
'DrPS("RetIVA") = (RetIVA * Total).RoundSQL
'DrPS("RetIVAPorcentaje") = RetIVA
'DrPS("RetISR") = RetISR * Total
'DrPS("RetISRPorcentaje") = RetISR
'DrPS("IEPSPS") = (IEPSPS * Total).RoundSQL
'DrPS("IEPSPSPorcentaje") = IEPSPS
'DrPS("IEPSPSIVA") = (IEPSPSIVA * Total).RoundSQL
'DrPS("IEPSPSIVAPorcentaje") = IEPSPSIVA
'Esta parte es para validar cuando la factura tenga ieps en o se asignara el ieps como una partida ya no se considere
'If (CveFactura > 0 Or CveCompra > 0) And TxtIEPS.Text.ToDecimal = 0 Then
' DrPS("IEPSPS") = 0
' DrPS("IEPSPSPorcentaje") = 0
'End If
'AplicaCalculaTotales = True
TmpDT.AcceptChanges()
Return Respuesta
End Function
@@ -7074,19 +6987,6 @@ Public Class Compra2
'Private Function AsignarPSReembolso(CvePS As Integer) As Boolean
' Dim respuesta As Boolean
' If Not CvePS > 0 Then
' Errores.AppendLine("AsignarPSReembolso el CvePS debe de ser matoy a 0,")
' Return False
' End If
' Return respuesta
'End Function
Private Sub ValidacionesTotalesXml()
@@ -7106,7 +7006,7 @@ Public Class Compra2
Dim TotalTemp As Decimal = Subtotal2Temp - RetIVATemp - RetISRTemp + Math.Round(IVATemp, 6) + IEPSTemp + OtrosImpuestos - OtrosImpuestosRetenciones
If Math.Abs(Math.Round(DescuentosTemp, 6) - Math.Round(Descuentos, 6)) > 0.01 Then
If Math.Abs(Math.Round(DescuentosTemp, 6) - Math.Round(Descuento, 6)) > 0.01 Then
Msg &= String.Format("- Los descuentos del detalle no coinciden con el descuento general <br>")
End If
@@ -7133,8 +7033,8 @@ Public Class Compra2
If Msg <> "" Then
Errores.AppendLine($" El comprobante XML presenta las siguientes inconsistencias:{Msg}. ")
Else
'[IPP] IGUALAMOS VALORES PARA RESPETAR LOS DEL XML EN CASO DE DIF DE 0.01
DescuentosTemp = Descuentos
DescuentosTemp = Descuento
IVATemp = TrasladoIVA
TotalTemp = Total
RetIVATemp = RetencionIVA
@@ -7142,87 +7042,20 @@ Public Class Compra2
IEPSTemp = TrasladoIEPS
End If
If TrasladoIEPS > 0 Or OtrosImpuestos > 0 Then
If OtrosImpuestos > 0 Or TrasladoIEPS > 0 Then
'If UsuarioActual.Empresa.Funcionalidad(713) = "1" Then
' 'Si tiene funcionalidad y es Acreedor se muestra modal
' If CveTipoProveedor.Contiene(2, 3) Then ' Acreedor
' RegistraScript("$('#ModalIEPS').modal({ backdrop: 'static', keyboard: false },'show');")
' End If
'Else
' 'Si no tiene funcionalidad y es proveedor se muestra
' RegistraScript("$('#ModalIEPS').modal({ backdrop: 'static', keyboard: false },'show');")
'End If
'Else
' RegistraScript("$('#ModalIEPS').modal('show');")
'BtnCancelarotrosImpuestos.Visible = True
End If
Me.SubTotal = SubtotalTemp
Me.Descuento = DescuentosTemp
Me.SubTotal2 = Subtotal2Temp
Me.IVA = IVATemp
Me.Total = TotalTemp
Me.RetIVA = RetIVATemp
Me.RetISR = RetISRTemp
Me.IEPS = IEPSTemp
If TrasladoIEPS > 0 Then
'ChkIEPS.Visible = True
'ChkIEPS.Checked = True
'DdlConceptoIEPS.Visible = True
'CargaProductos(DdlConceptoIEPS, If(UsuarioActual.Empresa.Funcionalidad(112).ToString.ToEntero > 0, UsuarioActual.Empresa.Funcionalidad(112).ToString.ToEntero, -1))
'LbImporte.Text = "$" + TrasladoIEPS.ToString
End If
If OtrosImpuestos > 0 Then
'ChkOtrosI.Visible = True
'ChkOtrosI.Checked = True
'DdlConceptoOI.Visible = True
'CargaProductos(DdlConceptoOI, If(UsuarioActual.Empresa.Funcionalidad(305).ToString.ToEntero > 0, UsuarioActual.Empresa.Funcionalidad(305).ToString.ToEntero, -1))
'LbImporte2.Text = "$" + OtrosImpuestos.ToString
End If
End If
'TxtSubTotal.Text = SubtotalTemp.FormatoNumero
'TxtDescuento.Text = DescuentosTemp.FormatoNumero
'TxtSubTotal2.Text = Subtotal2Temp.FormatoNumero
'TxtIVA.Text = IVATemp.FormatoNumero
'TxtTotal.Text = TotalTemp.FormatoNumero
'TxtRetIVA.Text = RetIVATemp.FormatoNumero
'TxtRetISR.Text = RetISRTemp.FormatoNumero
'TxtIEPS.Text = IEPSTemp.FormatoNumero
'TrDescuento.Visible = DescuentosTemp > 0
'TrIEPS.Visible = IEPSTemp > 0
'TrRetIVA.Visible = RetIVATemp > 0
'TrRetISR.Visible = RetISRTemp > 0
'TxtSubTotal.Enabled = False
'TxtDescuento.Enabled = False
'TxtSubTotal2.Enabled = False
'TxtIVA.Enabled = False
'TxtTotal.Enabled = False
'TxtRetIVA.Enabled = False
'TxtRetISR.Enabled = False
'TxtIEPS.Enabled = False
'HfTotalCompra.Value = TotalTemp.ToString
'CompraSaldo = TotalTemp
'CalculaTotalPorDevengar()
'TxtDocumentoImporteFE.Text = TotalTemp.ToString
'RVDocumentoImporte.MaximumValue = Math.Round(TotalTemp, 2).ToString
'RVDocumentoImporteFE.MaximumValue = RVDocumentoImporte.MaximumValue
'RVDocumentoImporteCaja.MaximumValue = RVDocumentoImporte.MaximumValue
'TxtDocumentoImporte.Text = TotalTemp.FormatoNumero
'TxtDocumentoImporteCaja.Text = TotalTemp.FormatoNumero
'TxtOtrosImpuestos.Text = OtrosImpuestos.FormatoNumero
'If OtrosImpuestos > 0 Then TrOtrosImpuestos.Visible = True
'If OtrosImpuestosRetenciones > 0 Then TrOtrosImpuestos.Visible = True : TxtOtrosImpuestos.Text = (-OtrosImpuestosRetenciones).FormatoNumero
'HFDiferenciaCompra.Value = TxtTotal.Text
'HdnCompraSaldo.Value = TotalTemp.ToString
CompraSaldo = TotalTemp
'LblRetIVA.Text = If(RetIVATemp > 0, (TmpDT.MAX("RetIVAPorcentaje").ToDecimal() * 100).FormatoNumero(4), "")
'LblRetISR.Text = If(RetISRTemp > 0, (TmpDT.MAX("RetISRPorcentaje").ToDecimal() * 100).FormatoNumero(4), "")
'ASIGNA VALORES ORIGINALES PARA GUARDAR
AsignaValoresOriginales(SubtotalTemp, Subtotal2Temp, IVATemp, RetIVATemp, RetISRTemp, Total)
End Sub
@@ -7241,9 +7074,7 @@ Public Class Compra2
If ImporteAjuste = 0 Then Exit Sub
Dim Amortizacion As Decimal = 0
'If ListaDocumentos IsNot Nothing AndAlso ListaDocumentos.Count > 0 AndAlso ArrAnticipos IsNot Nothing AndAlso ArrAnticipos.Count > 0 Then
' Amortizacion = LblAmortizacion.Text.ToDecimal
'End If
If TmpDT.Rows.Count > 0 Then ' si hay movimientos y si esta afectando al total, que se haga el ajuste
Dim Indice As Integer = If(TmpDT.Rows(TmpDT.Rows.Count - 1)("CvePS").ToString = UsuarioActual.Empresa.Funcionalidad(112).ToString, TmpDT.Rows.Count - 2, TmpDT.Rows.Count - 1)
@@ -7267,16 +7098,13 @@ Public Class Compra2
TmpDT.Rows(Indice)("PU") = TmpDT.Rows(Indice)("PU").ToString.ToDecimal + tPU
TmpDT.Rows(Indice)("Total") = TmpDT.Rows(Indice)("Total").ToString.ToDecimal + ImporteAjuste
TmpDT.Rows(Indice)("IEPSPS") = (TmpDT.Rows(Indice)("Total").ToString.ToDecimal() * TmpDT.Rows(Indice)("IEPSPSPorcentaje").ToString.ToDecimal()).RoundAD(2)
'TmpDT.Rows(Indice)("IVA") = TmpDT.Rows(Indice)("PU").ToString.ToDecimal * TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal * TmpDT.Rows(Indice)("IVAPorcentaje").ToString.ToDecimal
TmpDT.Rows(Indice)("IVA") = (TmpDT.Rows(Indice)("PU").ToString.ToDecimal * TmpDT.Rows(Indice)("Cantidad").ToString.ToDecimal - TmpDT.Rows(Indice)("Descuento").ToString.ToDecimal) * TmpDT.Rows(Indice)("IVAPorcentaje").ToString.ToDecimal
'Row("IEPSPS") = Math.Round(IEPSPS, DecimalesPermitidos)
'Row("IEPSPSPorcentaje") = PorcentajeIEPS
TmpDT.AcceptChanges()
End If
SubTotal = TmpDT.SUMD("Total")
If Not EsCarga Then
Descuentos = TmpDT.SUMD("Descuento")
Descuento = TmpDT.SUMD("Descuento")
End If
SubTotalConceptos = SubTotal
@@ -7321,6 +7149,262 @@ Public Class Compra2
End If
End Function
Public Function AddCompra() As Boolean
If Not AjustesValidacion() Then
Return False
End If
Dim respuesta As Boolean = True
Dim ObjCompras As New ClsCompras
ObjCompras.IniciaTransacSQL()
If Not AddPrepolizaCabecera(ObjCompras.IniciaTransacSQL()) Then
respuesta = False
End If
If respuesta And ObjCompras.AddCompra("Fac", Me.Descripcion, Me.Serie, Me.Folio, Me.FolioSecundario, Me.CveProveedor, Me.SubTotal, Me.Descuento,
Me.Amortizacion, Me.IVA, Me.RetIVA, Me.RetISR, Me.IEPS, Me.OtrosImpuestos,
Me.Redondeo, Me.Total, Me.Fecha, Me.CveMoneda, Me.TipoCambio, If(Me.FechaPago = Nothing, Me.Fecha, Me.FechaPago), Me.AplicaNotaCredito, Me.Observaciones, Me.CveEstatusFactura,
Me.CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Me.IdPoliza, CveCajaChica:=Me.CveCajaChica, CvePersonal:=Me.CvePersonal, NumeroReembolso:=Me.NumeroReembolso, CveProveedorSucursal:=Me.CveProveedorSucursal,
AplicoPromocion:=Me.AplicoPromocion, PorcentajeIVA:=Me.PorcentajeIVA, CveMetodoPago:=Me.CveMetodoPago, CveRetIVAConcepto:=Me.CveRetIVAConcepto,
CveConceptoContableAlmacen:=Me.CveConceptoContableAlmacen,
CveRetISRConcepto:=Me.CveRetISRConcepto, NoDeducible:=Me.NoDeducible, CveTipoCompra:=Me.CveTipoCompra, TotalOriginal:=Me.TotalOriginal, CveTipoConcepto:=Me.CveTipoConcepto,
EsImportacion:=Me.EsImportacion, CveFactura:=Me.CveFactura, CveSubProyecto:=Me.CveSubProyectoPrincipal, DoctosRelacionados:=Me.DocumentosRelacionadosUUIDSString, CveFolioGarantia:=Me.CveFolioGarantia) Then
Me.CveCompra = ObjCompras.CveCompra
Else
respuesta = False
End If
If respuesta AndAlso Me.CveCompra > 0 Then
For Each Row As DataRow In Me.TmpDT.Rows
Dim TipoRecepcion As Integer = -1
Dim Referencia = ""
Dim EsNoDeducible As Boolean = False
Dim CveAF = If(Row("CveActivoFijo").ToString.ToEntero > 0 AndAlso Row("TipoAF").ToString.ToEntero = 1, Row("CveActivoFijo").ToString.ToEntero, -1)
Dim CveAFC = If(Row("CveActivoFijo").ToString.ToEntero > 0 AndAlso Row("TipoAF").ToString.ToEntero = 2, Row("CveActivoFijo").ToString.ToEntero, -1)
If Not ObjCompras.AddCompraDetalle(Me.CveCompra, Row("CveUM").ToString.ToEntero, Row("CvePS").ToString.ToEntero, Row("CveSubProyecto").ToString.ToEntero, -1, CveAF,
Row("Cantidad").ToString.ToDecimal, Row("PU").ToString.ToDecimal, Row("IVA").ToString.ToDecimal, Row("Total").ToString.ToDecimal, Row("Descuento").ToString.ToDecimal,
Row("Obs").ToString, Row("CveOrdenCompraDetalle").ToString.ToEntero, TipoRecepcion, Row("CveContrato").ToString.ToEntero, Row("CvePresupuestoEgreso").ToString.ToEntero,
AplicaCostoIndirecto:=Row("AplicaCostoIndirecto").ToString.ToEntero, EstatusAlmacen:=Row("EntregaDirecta").ToString.ToEntero, CvePersonal:=CvePersonal,
CveTipoGasto:=Row("CveTipoGasto").ToString.ToEntero, AF_Medida:=Row("AFMedida").ToString.ToEntero, AF_TipoMantenimiento:=Row("AFTipoMantenimiento").ToString.ToEntero, Referencia:=Referencia, OtrosGastos:=Row("OtrosGastos").ToString.ToDecimal,
RetIVA:=Row("RetIVA").ToString.ToDecimal, RetISR:=Row("RetISR").ToString.ToDecimal, IEPSPS:=Row("IEPSPS").ToString.ToDecimal.RoundSQL, IEPSPSIVA:=Row("IEPSPSIVA").ToString.ToDecimal,
IVAPorcentaje:=Row("IVAPorcentaje").ToString.ToDecimal, RetIVAPorcentaje:=Row("RetIVAPorcentaje").ToString.ToDecimal, RetISRPorcentaje:=Row("RetISRPorcentaje").ToString.ToDecimal,
IEPSPSPorcentaje:=Row("IEPSPSPorcentaje").ToString.ToDecimal, IEPSPSIVAPorcentaje:=Row("IEPSPSIVAPorcentaje").ToString.ToDecimal, NoDeducible:=If((Row("NoDeducible").ToString().ToUpper().Contiene("TRUE", "1")) AndAlso EsNoDeducible, True, False),
CveContratoDetalle:=Row("CveContratoDetalle").ToString.ToEntero, CveCultivoCuadroDetalle:=Row("CveCultivoCuadroDetalle").ToString.ToEntero, CveActivoFijoCompra:=CveAFC) Then
respuesta = False
Exit For
End If
Next
End If
If respuesta Then
If Not AddPrepolizaDetalles(transaccion:=ObjCompras.IniciaTransacSQL()) Then
respuesta = False
End If
End If
Dim ObjConta As New ClsContabilidad(ObjCompras.IniciaTransacSQL())
If respuesta AndAlso ObjConta.ValidacionPrePolizaCuadre(CvePrePoliza, 4) Then
If ObjConta.ValorPolizaDescuadre > 0 Then
Errores.AppendLine($"eFacturas/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}.")
GuardaLogAD($"eFacturas/Compras-Guardar | Error{ObjConta.MensajePolizaDescuadre} Diferencia{ObjConta.ValorDiferencia} | CvePrePoliza:{CvePrePoliza}", "LogPrePolizas")
respuesta = False
End If
End If
If respuesta Then
If Not ObjCompras.UpdateCompraFactura(Me.CveCompra, Me.CveFactura, Me.Serie, Me.Folio) Then
respuesta = False
End If
End If
If respuesta Then
ObjCompras.Commit()
Else
ObjCompras.RollBack()
End If
ObjCompras.Dispose()
Return respuesta
End Function
Private Function AddPrepolizaCabecera(Optional transaccion As SqlTransaction = Nothing) As Boolean
Dim respuesta As Boolean = False
Dim ObjConta As ClsContabilidad
Dim DisposeClases As Boolean
If transaccion IsNot Nothing Then
ObjConta = New ClsContabilidad(transaccion)
DisposeClases = False
Else
ObjConta = New ClsContabilidad
DisposeClases = True
End If
Dim ConceptoPoliza As String = String.Format("{0} - {1} - {2}", NombreProveedor, SerieFolio, "")
Me.CvePrePoliza = ObjConta.AddPrePolizas("eFacturas/Registrar", 1, Me.Total, Me.Total, Me.CveMoneda, Me.Fecha, ConceptoPoliza, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 0, "", CveTipoPoliza:=Me.CveTipoPoliza)
respuesta = If(Me.CvePrePoliza > 0, True, False)
If DisposeClases Then
ObjConta.Dispose()
End If
Return respuesta
End Function
Private Function AddPrepolizaDetalles(transaccion As SqlTransaction) As Boolean
Dim respuesta As Boolean = True
Dim ObjConta As ClsContabilidad
Dim DisposeClases As Boolean
If transaccion IsNot Nothing Then
ObjConta = New ClsContabilidad(transaccion)
DisposeClases = False
Else
ObjConta = New ClsContabilidad
DisposeClases = True
End If
Dim Concepto As String = $"{Me.NombreProveedor} {Me.SerieFolio}"
Dim Referencia As String = Me.SerieFolio
'TC del xml
'6
For Each RowDetalle As DataRow In TmpDT.FiltraParametros("ISNULL(TipoAF,0) <> 2", "", {"CveClasificacion", "CveSubProyecto"}).Rows
Dim importe = TmpDT.SUMD("Total", $" CveClasificacion = {RowDetalle("CveClasificacion").ToString} AND CveSubProyecto = {RowDetalle("CveSubProyecto").ToString}")
Dim importeMN = importe * Me.TipoCambio
If importeMN <> 0 Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importe, Referencia, 6, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=Me.CveCreditoDetalle, ImporteMX:=importeMN, ImporteME:=If(TipoCambio = 1, 0, importe), TipoCambio:=TipoCambio,
CveClasificacion:=RowDetalle("CveClasificacion").ToString().ToEntero(), CveSubProyecto:=RowDetalle("CveSubProyecto").ToString().ToEntero(), Contabilizable:=True) Then
respuesta = False
Exit For
End If
End If
Next
'14
If Me.IVA > 0 Then
Dim importeMovimiento As Decimal = Me.IVA
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, importeMovimiento, Referencia, 14, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=Me.PorcentajeIVA, Contabilizable:=True) Then
respuesta = False
End If
End If
'25
If Me.IEPS > 0 Then
Dim importeMovimiento As Decimal = Me.IEPS
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, 25, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
respuesta = False
End If
End If
If Me.RetIVA > 0 Then
Dim importeMovimiento As Decimal = Me.RetIVA
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
Dim ret As ConceptosRetenciones = ConceptoPrePolizaRetIVA
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, ret.CveConceptoxAcreditar, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
respuesta = False
End If
End If
If Me.RetISR > 0 Then
Dim importeMovimiento As Decimal = Me.RetISR
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
Dim ret As ConceptosRetenciones = ConceptoPrePolizaRetISR
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, ret.CveConceptoxAcreditar, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
respuesta = False
End If
End If
'5
If respuesta Then
Dim importeMovimiento As Decimal = Me.Total
Dim importeMN As Decimal = importeMovimiento * Me.TipoCambio
Dim ConPreP As ConceptosTipoSaldo = ObtenerCveConceptoPrePoliza(1, Me.CveMoneda, False, Me.CveTipoConceptoProveedor)
Dim ImporteME = importeMovimiento
Dim UsaComplementaria As Boolean = True
If Me.CveMoneda > 1 Then ImporteME = importeMovimiento
If UsuarioActual.CveEmpresa.Contiene(13, 83) Then 'caso excepcional de complementarias
UsaComplementaria = False
importeMN = importeMovimiento * Me.TipoCambio
Else
importeMN = importeMovimiento
End If
If respuesta AndAlso Me.CveMoneda > 1 AndAlso UsaComplementaria Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, 0, (importeMovimiento * TipoCambio - importeMovimiento).RoundSQL, ConPreP.CveConceptoComplementario, Referencia, Concepto, -1, CveCompra:=Me.CveCompra, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=Me.CvePersonal, CveCompraAmortizacion:=Me.CveCompraAmortizacion, TipoCambio:=Me.TipoCambio, TipoCambioPago:=1, ImporteME:=ImporteME, CveSubProyecto:=Me.CveSubProyecto) Then
respuesta = False
End If
End If
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, importeMovimiento, Referencia, ConPreP.CveConcepto, Concepto, Me.Fecha, -1, -1, CveCompra:=CveCompra, CveSubProyecto:=Me.CveSubProyectoPrincipal, CveProveedor:=Me.CveProveedor, CveIE:=Me.CveIE, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, ImporteMX:=Math.Round(importeMN, 2, MidpointRounding.AwayFromZero), ImporteME:=If(Me.TipoCambio = 1, 0, importeMovimiento), TipoCambio:=Me.TipoCambio, PorcentajeImpuesto:=0, Contabilizable:=True) Then
respuesta = False
End If
End If
If DisposeClases Then
If respuesta Then
ObjConta.Commit()
Else
ObjConta.RollBack()
End If
ObjConta.Dispose()
End If
Return respuesta
End Function
End Class

View File

@@ -1240,12 +1240,12 @@
<asp:TextBox ID="TxtIEPS" Enabled="false" ClientIDMode="Static" onkeyup="FormatoMoneda(this);SumaTotal();" Width="100px" Font-Size="10.5" BackColor="#eeeeee" runat="server" BorderStyle="None" Style="text-align: right;" Text="0.00" />
</td>
</tr>
<tr runat="server" id="TrRetIVA" class="text-right" visible="false">
<td><b>Ret IVA:</b></td>
<td>
<asp:TextBox ID="TxtRetIVA" ClientIDMode="Static" Width="100px" Enabled="false"
Font-Size="10.5" BackColor="#eeeeee" runat="server" BorderStyle="None" Style="text-align: right;" Text="0.00" />
<asp:TextBox ID="TxtRetIVA" ClientIDMode="Static" onkeyup="FormatoMoneda(this);SumaTotal();" Width="100px" onblur="AplicaRetIVAGeneral();" Font-Size="10.5" BackColor="#f7f7f7" runat="server" BorderStyle="None" Style="text-align: right;" Text="0.00" />
<asp:Button Text="" Style="display: none" ClientIDMode="Static" ID="BtnLimpiarRetIVA" OnClick="BtnLimpiarRetIVA_Click" runat="server" />
<asp:Button Text="" Style="display: none" ClientIDMode="Static" ID="BtnAplicarRetIVA" OnClick="BtnAplicarRetIVA_Click" runat="server" />
<asp:HiddenField ClientIDMode="Static" Value="0" runat="server" ID="HdnRetIVA" />
@@ -1254,12 +1254,13 @@
<tr runat="server" id="TrRetISR" class="text-right" visible="false">
<td><b>Ret ISR:</b></td>
<td>
<asp:TextBox ID="TxtRetISR" ClientIDMode="Static" Width="100px" Enabled="false"
Font-Size="10.5" BackColor="#eeeeee" runat="server" BorderStyle="None" Style="text-align: right;" Text="0.00" />
<asp:TextBox ID="TxtRetISR" ClientIDMode="Static" onkeyup="FormatoMoneda(this);SumaTotal();" Width="100px" onblur="AplicaRetISRGeneral();" Font-Size="10.5" BackColor="#f7f7f7" runat="server" BorderStyle="None" Style="text-align: right;" Text="0.00" />
<asp:Button Text="" Style="display: none" ClientIDMode="Static" ID="BtnAplicarRetISR" OnClick="BtnAplicarRetISR_Click" runat="server" />
<asp:HiddenField ClientIDMode="Static" Value="0" runat="server" ID="HdnRetISR" />
</td>
</tr>
<tr align="right">
<td><b>Total:</b></td>
<td style="text-align: right;">

View File

@@ -152,12 +152,12 @@
<div class="modal-body">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TipoTxt" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
<asp:TextBox ID="TipoTxt" CssClass="form-control " runat="server" MaxLength="50" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtTiposD" runat="server" ControlToValidate="TipoTxt" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
<label for="TipoTxt">Tipo:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtTipoCorto" CssClass="form-control " runat="server" MaxLength="70" CausesValidation="true"></asp:TextBox>
<asp:TextBox ID="TxtTipoCorto" CssClass="form-control " runat="server" MaxLength="3" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server" ControlToValidate="TxtTipoCorto" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Tipo Corto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTiposD"></asp:RequiredFieldValidator>
<label for="TipoTxt">TipoCorto:</label>
</div>

View File

@@ -70,6 +70,7 @@ Partial Class RH_CatAsistenciasInasistencias
AplicaAguinaldo.Checked = False
AplicaUtilidades.Checked = False
TipoTxt.Text = ""
TxtTipoCorto.Text = ""
UpModalTiposD.Update()
RegistraScript(String.Format("$('#{0}').modal();", "DivAgregarTiposD"))
@@ -90,7 +91,7 @@ Partial Class RH_CatAsistenciasInasistencias
If ObjAsistenciasInasistencias.AddAsistenciasInasistencias(TipoTxt.Text.Trim, chkAplicaFalta, chkAplicaNoAplica, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa,
chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, chkAplicaUtilidades, aplicaPago, aplicaPagoDoble, aplicaPrimaVac) Then
chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, chkAplicaUtilidades, aplicaPago, aplicaPagoDoble, aplicaPrimaVac, TxtTipoCorto.Text) Then
TipoTxt.Text = ""
Alert("El nuevo Tipo Asistencias/Inasistencias se guardó correctamente.", TipoMensaje.MsgInformacion)
UpTitulos.Update()
@@ -151,6 +152,7 @@ chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, c
Protected Sub GvDatos_RowUpdating(sender As Object, e As EventArgs) Handles BtnEditarTiposDModal.Click '(Leer primero "GvDatos_RowEditing")Se manda la informacion a un procedmiento que hace la actualizacion
Dim ObjAsistenciasInasistencias As New ClsRH
Dim Tipo As String = TipoTxt.Text.Trim
Dim TipoCorto As String = TxtTipoCorto.Text.Trim
Dim Estatus As Boolean = ChkEstatus.Checked
Dim ckAplicaFalta As Boolean = Not AplicaFalta.Checked
Dim AplicaAsistencia As Boolean = AplicaNoAplica.Checked
@@ -173,7 +175,7 @@ chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, c
If ObjAsistenciasInasistencias.UpdateAsistenciasInasistencias(Tipo, ckAplicaFalta, AplicaAsistencia, Estatus, CveAsistenciasInasistencias,
chkAplicaVacacion, chkAplicaIncapacidad, chkAplicaRetardo, chkAplicaAguinaldo, chkAplicaUtilidades, aplicaPago, aplicaPagoDoble,
aplicaPrimaVac) Then
aplicaPrimaVac, TxtTipoCorto.Text) Then
GvDatos.EditIndex = -1
ViewState("DTAsistenciasInasistencias") = ObjAsistenciasInasistencias.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
GlobalDTAsistenciasInasistencias(UsuarioActual.CveEmpresa) = Nothing

View File

@@ -3093,7 +3093,7 @@
</asp:Panel>
<div class="col-md-6">
<div class="col-md-3">
<div class="form-group form-md-line-input input-iconright " style="width: 100px !important">
<div class="input-group input-sm date date-picker" data-date-format="dd/mm/yyyy" style="width: 160px;">
<asp:TextBox ID="TxtFechaFinVac" runat="server" CausesValidation="true" CssClass="form-control input-sm" ClientIDMode="Static"></asp:TextBox>
@@ -3107,22 +3107,19 @@
<br />
</div>
</div>
<div class="col-md-3">
<div class="form-group form-md-line-input input-iconright calendarlinealinput form-small">
<asp:TextBox ID="Txtdiasinabiles" runat="server" TextMode="Number" CausesValidation="true" CssClass="form-control input-sm form-small" ClientIDMode="Static" style="margin-top:20px!important" ></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="Txtdiasinabiles" style="margin-top:10px!important" >Días feriados</asp:Label>
</div>
</div>
</asp:Panel>
<asp:Panel runat="server" ID="PnlVacDias" CssClass="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright calendarlinealinput form-small">
<asp:TextBox ID="Txtdiasinabiles" runat="server" TextMode="Number" CausesValidation="true" CssClass="form-control input-sm form-small" ClientIDMode="Static"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="Txtdiasinabiles">Días feriados</asp:Label>
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtVacDiasExtra" CssClass="form-control input-sm form-small" runat="server"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtVacDiasExtra">Días extras</asp:Label>
</div>
</div>
</asp:Panel>
<asp:Panel runat="server" ID="PnlVacFechapago" CssClass="row">
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright calendarlinealinput" style="width: 100px !important">
@@ -3138,6 +3135,16 @@
</div>
</div>
<div class="col-md-6">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtVacDiasExtra" CssClass="form-control input-sm form-small" runat="server" style="margin-top:20px!important"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtVacDiasExtra" style="margin-top:10px!important" >Días extras</asp:Label>
</div>
</div>
</asp:Panel>
<asp:Panel runat="server" ID="PnlVacFechapago" CssClass="row">
</asp:Panel>
<asp:Panel runat="server" ID="PnlVacChecks" CssClass="row">