eFacturas registrar compras
This commit is contained in:
3083
AC/Reportes/NoIncluir.rdlc
Normal file
3083
AC/Reportes/NoIncluir.rdlc
Normal file
File diff suppressed because it is too large
Load Diff
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -318,8 +377,9 @@
|
||||
|
||||
|
||||
|
||||
<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%);" />
|
||||
<div class="col-md-4" style="text-align: center;">
|
||||
<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>
|
||||
|
||||
@@ -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
|
||||
|
||||
|
||||
|
||||
Binary file not shown.
11
OC/OC.aspx
11
OC/OC.aspx
@@ -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;">
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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">
|
||||
|
||||
Reference in New Issue
Block a user