This commit is contained in:
HECTOR RODRIGUEZ
2021-06-28 12:16:01 -07:00
26 changed files with 1411 additions and 269 deletions

View File

@@ -107,7 +107,7 @@
<td> <td>
<asp:TextBox ID="TxtSindical" runat="server" Width="75px"></asp:TextBox></td> <asp:TextBox ID="TxtSindical" runat="server" Width="75px"></asp:TextBox></td>
<td> </td><td> </td> <td>P. Empleados:</td><td><asp:TextBox ID="TxtPrestamoEmpleados" runat="server" Width="75px"></asp:TextBox></td>
</tr> </tr>
</table> </table>
</asp:Panel> </asp:Panel>

View File

@@ -379,6 +379,7 @@ Partial Class AC_RegNomina
Dim IdCtaServicioMedico As Integer = 643 Dim IdCtaServicioMedico As Integer = 643
Dim IdCtaPension As Integer = 643 Dim IdCtaPension As Integer = 643
Dim IdCtaISRAsimilados As Integer = 4442 Dim IdCtaISRAsimilados As Integer = 4442
Dim IdCtaPrestamoEmpleados As Integer = 4477
Dim Importe As Double Dim Importe As Double
Dim MsgError As String = "" Dim MsgError As String = ""
@@ -617,6 +618,9 @@ Partial Class AC_RegNomina
Importe = TxtISRAsimilados.Text.ToDouble Importe = TxtISRAsimilados.Text.ToDouble
If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaISRAsimilados, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaISRAsimilados, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True
'Registro Prestamo Empleados
Importe = TxtPrestamoEmpleados.Text.ToDouble
If Importe > 0 AndAlso Not objAC.AddMovimiento(IDPoliza, IdCtaPrestamoEmpleados, True, Importe, "", Concepto, 0, Fecha, "") Then TieneError = True
''Registro del Mov Devolución ''Registro del Mov Devolución
'Importe = TxtISPT.Text.ToDouble - TxtCredSalario.Text.ToDouble 'Importe = TxtISPT.Text.ToDouble - TxtCredSalario.Text.ToDouble

View File

@@ -286,8 +286,18 @@ Public Class ClsContabilidad
Try Try
SqlAdapter.Fill(Data) SqlAdapter.Fill(Data)
Retorno = True Retorno = True
Catch ex As Exception Catch ex As Exception
OnError("Ocurrió un error al Actualizar la Prepoliza", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo) If ex.Message.Contains("CuentasResultados_SubProyectos") Then
OnError("El concepto requiere que se le especifique centro de costo.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
Else
If ex.Message.Contains("concepto de bancos con un importe diferente") Then
OnError("No se puede editar el valor del bancos con un valor diferente a movimiento registrado", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
Else
OnError("Ocurrió un error al Actualizar la Prepoliza", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End If
End If
End Try End Try
Return Retorno Return Retorno

View File

@@ -174,7 +174,7 @@ Public Class ClsGenerales
Return retorno Return retorno
End Function End Function
Public Function RepConciliacionSatGET(cveEmpresa As Int32, tipoDocto As String, fechaI As String, fechaF As String) As Boolean Public Function RepConciliacionSATGet(cveEmpresa As Int32, tipoDocto As String, fechaI As String, fechaF As String) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
DataAdapter("PA_RepConciliacionSatGET", CommandType.StoredProcedure) DataAdapter("PA_RepConciliacionSatGET", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters With SqlAdapter.SelectCommand.Parameters

View File

@@ -277,6 +277,49 @@ Public Class ClsNominas
End Try End Try
Return retorno Return retorno
End Function End Function
Public Function ComparativoSATNominasGet(cveEmpresa As Integer, xml As String, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean
Dim retorno As Boolean = False
DTSet = New DataSet()
DataAdapter("[PA_Nom_ComparativoSATNominasGet]", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@xml", SqlDbType.Xml).Value = xml
.Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@TipoPeriodo", SqlDbType.Int).Value = CveTipoPeriodo
End With
Try
SqlAdapter.Fill(DTSet)
If DTSet.Tables.Count > 0 Then
Data = DTSet.Tables(0)
End If
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el reporte de Percepciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function ReportedeNominasGet(cveEmpresa As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean
Dim retorno As Boolean = False
DTSet = New DataSet()
DataAdapter("[PA_Nom_ReportedeNominasGet]", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEmpresa", SqlDbType.Int).Value = cveEmpresa
.Add("@FechaInicio", SqlDbType.Date).Value = FechaInicio
.Add("@FechaFin", SqlDbType.Date).Value = FechaFin
.Add("@TipoPeriodo", SqlDbType.Int).Value = CveTipoPeriodo
End With
Try
SqlAdapter.Fill(DTSet)
If DTSet.Tables.Count > 0 Then
Data = DTSet.Tables(0)
End If
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el reporte de Percepciones.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function ReportedePercepcionesDeduccionesGet(cveEmpresa As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean Public Function ReportedePercepcionesDeduccionesGet(cveEmpresa As Integer, FechaInicio As DateTime, FechaFin As DateTime, CveTipoPeriodo As Integer) As Boolean
Dim retorno As Boolean = False Dim retorno As Boolean = False
DTSet = New DataSet() DTSet = New DataSet()

View File

@@ -3866,6 +3866,7 @@ Public Class ClsPaginas
PaginaDict.Add("/Ventas/SolicitudesSAT.aspx".ToUpper(), 717) PaginaDict.Add("/Ventas/SolicitudesSAT.aspx".ToUpper(), 717)
PaginaDict.Add("/Nomina/CatConceptos2.aspx".ToUpper(), -1) PaginaDict.Add("/Nomina/CatConceptos2.aspx".ToUpper(), -1)
PaginaDict.Add("/Nomina/NomTimbrados.aspx".ToUpper(), 920)
PaginaDict.Add("/Nomina/Aguinaldo.aspx".ToUpper(), -1) PaginaDict.Add("/Nomina/Aguinaldo.aspx".ToUpper(), -1)
PaginaDict.Add("/Nomina/RepInversiondeNomina.aspx".ToUpper(), 906) PaginaDict.Add("/Nomina/RepInversiondeNomina.aspx".ToUpper(), 906)
PaginaDict.Add("/RH/DiasFestivos.aspx".ToUpper(), -1) PaginaDict.Add("/RH/DiasFestivos.aspx".ToUpper(), -1)

View File

@@ -5020,7 +5020,23 @@ Public Class ClsVentas
Return Retorno Return Retorno
End Function End Function
Public Function GetRNCRelacionadas(CveVenta As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_RNCRelacionadasGet")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveVenta", SqlDbType.Int).Value = CveVenta
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener las ventas con usados.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#End Region #End Region

View File

@@ -2962,6 +2962,80 @@ Namespace Modelos
End If End If
Next Next
End If End If
If UsuarioActual.Empresa.Funcionalidad(344) = "1" Then
Dim ListaNC As List(Of Modelos.Factura) = New List(Of Factura)
Dim DtRNCRelacionas As DataTable = Nothing
If ObjVentas.GetRNCRelacionadas(CveVenta) Then
DtRNCRelacionas = ObjVentas.DtResultados.Copy
End If
If DtRNCRelacionas IsNot Nothing Then
For Each RowRNC As DataRow In DtRNCRelacionas.Rows
ListaNC.Add(New Modelos.Factura(UsuarioActual, RowRNC("CveVenta").ToString().ToEntero(), UsuarioActual.CveEmpresa) With {.TotalRemNCAplicado = RowRNC("ImporteAplicado").ToString().ToDecimal()})
Next
End If
If ListaNC IsNot Nothing Then
For Each ObjRNC As Modelos.Factura In ListaNC
If ObjRNC.TipoDocto = "RNC" Then
importeMovimiento = ObjRNC.TotalRemNCAplicado
importeMX = importeMovimiento * tipoCambio * Multiplicador
FechaMovimiento = ObjFactura.FechaPago
CveSubProyectoContabilizar = CveSubProyectoVenta
If tipoCambio > 1 Then Concepto += $" TC:{tipoCambio} ${importeMovimiento.FormatoNumero(2)}"
If tipoCambio = 1 Then
IdCtaContable = ObjFactura.Cliente.IdCtaContClientes
Else
IdCtaContable = ObjFactura.Cliente.IdCtaContMonedaExtranjera
End If
IdCtaContableCliente = IdCtaContable
Dim CveMovimiento As Integer = -1
Dim CveAlmacen As Integer = -1
If ObjInventario IsNot Nothing AndAlso ObjInventario.GetInv_Mov(ObjRNC.CveVenta, UsuarioActual.CveEmpresa) Then
CveMovimiento = ObjInventario.DtResultados.FiltroPrimeroValor("CveMovimiento", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
CveAlmacen = ObjInventario.DtResultados.FiltroPrimeroValor("CveAlmacen", "CvePS IS NULL AND CveConcepto = 42").ToEntero()
End If
'VERIFICA SI TIENE MOVIMIENTO DE ENTRADA DE USADO
If CveMovimiento > 0 AndAlso CveAlmacen > 0 Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
End If
Dim SubTotalCalculado As Decimal = (importeMovimiento / (1D + ObjRNC.PorcentajeIVA)).ToDecimal
Dim Importe318 As Decimal = (SubTotalCalculado * ObjRNC.PorcentajeIVA).RoundSQL(2).ToDecimal()
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, Importe318, Referencia, 318, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=Importe318, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
End If
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, SubTotalCalculado, Referencia, 150, Concepto, ObjFactura.Fecha, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, CveClasificacion:=ObjRNC.DtDetalle.MAX("CveClasificacion").ToEntero(), CveSubProyecto:=ObjRNC.CveSubProyecto, ImporteMX:=SubTotalCalculado, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), TipoCambio:=tipoCambio, Contabilizable:=False) Then
ErrorPrepoliza = True
End If
Else
If ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, TipoMovimiento, importeMovimiento, Referencia, 277, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
If Not ObjConta.AddPrePolizasDetalle(ObjFactura.CvePrePoliza, Not TipoMovimiento, importeMovimiento, Referencia, 278, Concepto, FechaMovimiento, IdCtaContable, -1, CveVenta:=ObjRNC.CveVenta, CveVentaAmortizacion:=ObjFactura.CveVenta, CveCliente:=ObjFactura.CveCliente, CveIE:=CveIE, ImporteMX:=importeMX, ImporteME:=If(tipoCambio = 1, 0, importeMovimiento), Contabilizable:=False, CveSubProyecto:=CveSubProyectoContabilizar) Then
ErrorPrepoliza = True
End If
Else
ErrorPrepoliza = True
End If
End If
importeMovimiento = 0
End If
Next
End If
End If
Else Else
If ObjFactura.DtAnticipos IsNot Nothing Then If ObjFactura.DtAnticipos IsNot Nothing Then
For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows For Each row2 As DataRow In ObjFactura.DtAnticipos.Rows
@@ -4910,7 +4984,7 @@ Namespace Modelos
'CANCELA PREPOLIZA 'CANCELA PREPOLIZA
If Not ErrorCancelar Then If Not ErrorCancelar Then
ErrorCancelar = ProcesoPrepolizas(ObjFactura, ObjConta, -1, ObjFactura.DtDetalle, ObjAC, -1, ObjBancos, ObjVentas, ObjEventos, DtRemisionesRelacionadas:=DtRemisionesRelacionadas, SeCancelaRemisionProceso:=SeCancelaRemisionProceso, ErrorCancelar = ProcesoPrepolizas(ObjFactura, ObjConta, -1, ObjFactura.DtDetalle, ObjAC, -1, ObjBancos, ObjVentas, ObjEventos, DtRemisionesRelacionadas:=DtRemisionesRelacionadas, SeCancelaRemisionProceso:=SeCancelaRemisionProceso,
CancelarRemisiones:=CancelarRemisiones, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusRefacturacion:=CveEstatusRefacturacion) CancelarRemisiones:=CancelarRemisiones, ListaRemisionesCancelar:=ListaRemisionesCancelar, CveEstatusRefacturacion:=CveEstatusRefacturacion, ObjInventario:=ObjInventario)
MensajeError = "Ocurrió un error al generar la prepoliza de cancelación." MensajeError = "Ocurrió un error al generar la prepoliza de cancelación."
End If End If

View File

@@ -1183,7 +1183,7 @@
<asp:CompareValidator ID="CVFechaCancelacionMin" runat="server" ControlToCompare="TxtFechaDocumento" ControlToValidate="TxtFechaCancelacion" Display="None" Operator="GreaterThanEqual" Type="Date" ValidationGroup="GrpCancelarIE" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Cancelación''</b>tiene que ser mayor o igual a la fecha del documento."></asp:CompareValidator> <asp:CompareValidator ID="CVFechaCancelacionMin" runat="server" ControlToCompare="TxtFechaDocumento" ControlToValidate="TxtFechaCancelacion" Display="None" Operator="GreaterThanEqual" Type="Date" ValidationGroup="GrpCancelarIE" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Cancelación''</b>tiene que ser mayor o igual a la fecha del documento."></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCancelacionMin" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCancelacionMin" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RangeValidator ID="RVTxtFechaCancelacion" runat="server" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b> <br/> La fecha de cancelacion debe ser apartir del dia 1 del siguiente mes" MaximumValue="9999/12/31" MinimumValue="1900/01/01" ControlToValidate="TxtFechaCancelacion" Type="Date" ValidationGroup="GrpGuardar"></asp:RangeValidator> <asp:RangeValidator ID="RVTxtFechaCancelacion" runat="server" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b> <br/> La fecha de cancelacion debe ser apartir del dia 1 del siguiente mes" MaximumValue="9999/12/31" MinimumValue="1900/01/01" ControlToValidate="TxtFechaCancelacion" Type="Date" ValidationGroup="GrpCancelarIE"></asp:RangeValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender7" runat="server" HighlightCssClass="vco" TargetControlID="RVTxtFechaCancelacion" Width="350px"></ajax:ValidatorCalloutExtender> <ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender7" runat="server" HighlightCssClass="vco" TargetControlID="RVTxtFechaCancelacion" Width="350px"></ajax:ValidatorCalloutExtender>
</div> </div>

View File

@@ -2845,7 +2845,7 @@ Partial Class Bancos_IE
'Agregamos el IVA 'Agregamos el IVA
If DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDecimal <> 0 Then If DivIvaIxC.Visible AndAlso TxtIvaIxC.Text.ToDecimal <> 0 Then
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtIvaIxC.Text.ToDecimal, Concepto, 61, Concepto, FechaMovimiento, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, TxtIvaIxC.Text.ToDecimal, Concepto, 61, Concepto, FechaMovimiento, UsuarioActual.Empresa.IdCuentaIVAxTrasladar, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=TxtIvaIxC.Text.ToDecimal, ImporteME:=tImporteMonedaExtranjera) Then
MsgError = "Ocurrió un error al registrar el asiento del ingreso." MsgError = "Ocurrió un error al registrar el asiento del ingreso."
End If End If
End If End If
@@ -2853,7 +2853,7 @@ Partial Class Bancos_IE
'Agregamos complementaria 'Agregamos complementaria
Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 226, Concepto, FechaMovimiento, IDCtaBeneficiarioComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=0) Then If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 226, Concepto, FechaMovimiento, IDCtaBeneficiarioComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC) Then
MsgError = "Ocurrió un error al registrar el asiento del ingreso." MsgError = "Ocurrió un error al registrar el asiento del ingreso."
End If End If
@@ -2869,7 +2869,7 @@ Partial Class Bancos_IE
'Agregamos complementaria 'Agregamos complementaria
Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC) Then
MsgError = "Ocurrió un error al registrar el asiento del ingreso." MsgError = "Ocurrió un error al registrar el asiento del ingreso."
End If End If
Else Else
@@ -3561,7 +3561,7 @@ Partial Class Bancos_IE
'Agregamos complementaria 'Agregamos complementaria
Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal Dim TC As Decimal = TxtTipoCambio.Text.ToDecimal
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC, CveCuenta:=UsuarioActual.Empresa.CveCuentaIVAxTrasladar) Then If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, 0, Concepto, 204, Concepto, FechaMovimiento, IDCtaContableComplementaria, -1, CveIE:=CveIE, CveCompra:=CveCompra, CveProveedor:=CveProveedor, CvePersonal:=CvePersonal, CveCreditoDetalle:=CveCreditoDetalle, CveCliente:=CveCliente, ImporteMX:=(importeMovimiento * TC - importeMovimiento).RoundSQL, ImporteME:=importeMovimiento, TipoCambio:=TC) Then
MsgError = "Ocurrió un error al registrar el asiento del ingreso." MsgError = "Ocurrió un error al registrar el asiento del ingreso."
End If End If
End If End If
@@ -4339,8 +4339,15 @@ Partial Class Bancos_IE
Protected Sub BtnCancelarIE_Click(sender As Object, e As EventArgs) Protected Sub BtnCancelarIE_Click(sender As Object, e As EventArgs)
RegistraScript("$('#DivCancelarIE').modal('hide');") RegistraScript("$('#DivCancelarIE').modal('hide');")
Dim ExistenComplementosVigentes As Boolean = VerificaComplementos(True)
If Not ExistenComplementosVigentes Then
CancelarIE()
Else
Alert("No se puede cancelar documento con complementos de pago vigentes", TipoMensaje.MsgError)
End If
CancelarIE()
End Sub End Sub
Private Sub CancelarIE(Optional CancelarComplemento As Boolean = False) Private Sub CancelarIE(Optional CancelarComplemento As Boolean = False)
@@ -4350,8 +4357,8 @@ Partial Class Bancos_IE
Exit Sub Exit Sub
End If End If
If ChkConciliado.Checked Then If ChkConciliado.Checked AndAlso TxtFechaCancelacion.Text.ToDate < TxtFechaAplicado.Text.ToDate.FirstDayOfMonth.AddMonths(1) Then
Alert("El documento seleccionado no se puede eliminar porque se encuentra conciliado.", TipoMensaje.MsgError) Alert("El documento conciliado, no se puede cancelar con la fecha especificada.", TipoMensaje.MsgError)
Exit Sub Exit Sub
End If End If
@@ -5973,7 +5980,7 @@ Partial Class Bancos_IE
'TxtFechaDesconciliado.Text = Now.ToShortDateString 'TxtFechaDesconciliado.Text = Now.ToShortDateString
'UpDesconciliar.Update() 'UpDesconciliar.Update()
'RegistraScript("$('#DModalDesconciliar').modal()") 'RegistraScript("$('#DModalDesconciliar').modal()")
Dim fechaCancelacion As String = DateTime.Now.AddMonths(1).FirstDayOfMonth.ToShortDateString Dim fechaCancelacion As String = TxtFechaAplicado.Text.ToDate.AddMonths(1).FirstDayOfMonth.ToShortDateString
RVTxtFechaCancelacion.MinimumValue = fechaCancelacion RVTxtFechaCancelacion.MinimumValue = fechaCancelacion
CalendarioCancelacion.StartDate = fechaCancelacion.ToDate CalendarioCancelacion.StartDate = fechaCancelacion.ToDate
UpEliminarCotizacion.Update() UpEliminarCotizacion.Update()
@@ -6451,13 +6458,12 @@ Partial Class Bancos_IE
Protected Sub LnkCancelarComplemetno_Click(sender As Object, e As EventArgs) Protected Sub LnkCancelarComplemetno_Click(sender As Object, e As EventArgs)
If ChkConciliado.Checked Then If ChkConciliado.Checked Then
Alert("El documento seleccionado no se puede eliminar porque se encuentra conciliado.", TipoMensaje.MsgAdvertencia) Alert("El documento se encuentra conciliado, no se puede cancelar.", TipoMensaje.MsgAdvertencia)
Exit Sub Exit Sub
End If End If
Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).BindingContainer, GridViewRow) Dim GvRow As GridViewRow = DirectCast(DirectCast(sender, LinkButton).BindingContainer, GridViewRow)
CveComplementoPagoCancelar = GvRow.DataKey("CveComplementoPago").ToEntero CveComplementoPagoCancelar = GvRow.DataKey("CveComplementoPago").ToEntero
FolioFiscalCancelar = GvRow.DataKey("FolioFiscal").ToString FolioFiscalCancelar = GvRow.DataKey("FolioFiscal").ToString
'' Dim RFCEmisor As String = UsuarioActual.Empresa.RFC '' Dim RFCEmisor As String = UsuarioActual.Empresa.RFC
@@ -6467,8 +6473,6 @@ Partial Class Bancos_IE
Dim ObjCancelacion As New Timbrado Dim ObjCancelacion As New Timbrado
Dim ObjBanco As New ClsBancos Dim ObjBanco As New ClsBancos
If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then If EstatusSATCancelado(FolioFiscalCancelar, UsuarioActual.Empresa.RFC, RFCReceptorCancelar) Then
If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then If ObjBanco.UpdateComplementoPago(CveComplementoPagoCancelar, "-1", -1, UsuarioActual.CveEmpresa, 2, CvePACCancelacion, FechaCancelacion:=Date.Now, SelloCancelacion:="") Then

View File

@@ -1538,7 +1538,6 @@ Partial Class Bancos_PopIECompras
Dim ImporteMovimientoNoDeducible As Decimal = 0 Dim ImporteMovimientoNoDeducible As Decimal = 0
Dim ImporteMXNoDeducible As Decimal = 0 Dim ImporteMXNoDeducible As Decimal = 0
Dim IdCtaContable As Integer = 0 Dim IdCtaContable As Integer = 0
Dim CveCuenta As Integer = 0
Dim ConceptoMovimiento = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, NombreProveedor, TxtObservaciones.Text, TxtFolio.Text.Trim) Dim ConceptoMovimiento = ObjMov.ObtenerConceptoEmpresa(UsuarioActual.CveEmpresa, ConceptoContable, NombreProveedor, TxtObservaciones.Text, TxtFolio.Text.Trim)
Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False) Dim FuncionalidadFluctuacionImpuestos As Boolean = If(UsuarioActual.Empresa.Funcionalidad(159) = "1", True, False)
Dim TimpocambioGeneral As Decimal = 1 Dim TimpocambioGeneral As Decimal = 1
@@ -1899,8 +1898,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -1932,8 +1931,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
ImporteMX = ImporteMovimiento * tipoCambioCompra ImporteMX = ImporteMovimiento * tipoCambioCompra
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = tipoCambioCompra TimpocambioGeneral = tipoCambioCompra
If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -1966,8 +1965,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2000,8 +1999,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2034,8 +2033,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2069,8 +2068,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2103,8 +2102,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago) ImporteMovimiento = (MovimientoPagar.RetIVA * PorcentajePago)
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2156,17 +2155,7 @@ Partial Class Bancos_PopIECompras
' End If ' End If
' End If ' End If
' 'Conta SIG
' If CveCuentaRetISR <> 0 Then
' CveCuenta = CveCuentaRetISR
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' End If
'Case 23 'Ret ISR Acreditable 'Case 23 'Ret ISR Acreditable
' If MovimientoPagar.ConceptoRetISR = 1 Then ' If MovimientoPagar.ConceptoRetISR = 1 Then
' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then ' If CveMoneda = 1 AndAlso CveMonedaCompra = 1 Then
@@ -2201,16 +2190,6 @@ Partial Class Bancos_PopIECompras
' End If ' End If
' End If ' End If
' 'Conta SIG
' If CveCuentaRetISR <> 0 Then
' CveCuenta = CveCuentaRetISR
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' End If ' End If
'Case 243 'Ret ISR X Acreditar Terceros y Arrendamiento 'Case 243 'Ret ISR X Acreditar Terceros y Arrendamiento
' If MovimientoPagar.ConceptoRetISR = 2 Then ' If MovimientoPagar.ConceptoRetISR = 2 Then
@@ -2246,16 +2225,7 @@ Partial Class Bancos_PopIECompras
' End If ' End If
' End If ' End If
' 'Conta SIG
' If CveCuentaRetISR <> 0 Then
' CveCuenta = CveCuentaRetISR
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' End If ' End If
'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento 'Case 244 'Ret ISR Acreditable Terceros y Arrendamiento
' If MovimientoPagar.ConceptoRetISR = 2 Then ' If MovimientoPagar.ConceptoRetISR = 2 Then
@@ -2291,16 +2261,7 @@ Partial Class Bancos_PopIECompras
' End If ' End If
' End If ' End If
' 'Conta SIG
' If CveCuentaRetISR <> 0 Then
' CveCuenta = CveCuentaRetISR
' Else
' If ImporteMovimiento <> 0 AndAlso ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) Then
' If ObjMov.DtResultados.Rows.Count > 0 Then
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaRetISRCirculacionSIG").ToString.ToEntero
' End If
' End If
' End If
' End If ' End If
Case 14 'Iva por Acreditar Case 14 'Iva por Acreditar
If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then If UsuarioActual.Empresa.Funcionalidad(521) = "1" Then
@@ -2331,8 +2292,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = MovimientoPagar.IVA ImporteMovimiento = MovimientoPagar.IVA
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = tipoCambioCompra TimpocambioGeneral = tipoCambioCompra
If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2355,8 +2316,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.IVAPorPagar * PorcentajePago) ImporteMovimiento = (MovimientoPagar.IVAPorPagar * PorcentajePago)
ImporteMX = ImporteMovimiento * tipoCambioCompra ImporteMX = ImporteMovimiento * tipoCambioCompra
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2409,8 +2370,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.IVADeducible) ImporteMovimiento = (MovimientoPagar.IVADeducible)
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2433,8 +2394,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago) ImporteMovimiento = (MovimientoPagar.IVADeducible * PorcentajePago)
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioPago > 1 Then ConceptoMovimiento += $" TC:{tipoCambioPago} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2517,7 +2478,6 @@ Partial Class Bancos_PopIECompras
If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
If ObjMov.DtResultados.Rows.Count > 0 Then If ObjMov.DtResultados.Rows.Count > 0 Then
IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero
CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero
End If End If
End If End If
@@ -2559,8 +2519,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = MovimientoPagar.IVA ImporteMovimiento = MovimientoPagar.IVA
ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) ImporteMX = ImporteMovimiento * If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = tipoCambioCompra TimpocambioGeneral = tipoCambioCompra
If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2582,8 +2542,8 @@ Partial Class Bancos_PopIECompras
ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago) ImporteMovimiento = (MovimientoPagar.IVA * PorcentajePago)
ImporteMX = ImporteMovimiento * tipoCambioCompra ImporteMX = ImporteMovimiento * tipoCambioCompra
End If End If
ImporteMovimiento = Math.Round(ImporteMovimiento, 2) ImporteMovimiento = ImporteMovimiento.RoundSQL
ImporteMX = Math.Round(ImporteMX, 2) ImporteMX = ImporteMX.RoundSQL
TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) TimpocambioGeneral = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}" If tipoCambioCompra > 1 Then ConceptoMovimiento += $" TC:{tipoCambioCompra} ${ImporteMovimiento.FormatoNumero(2)}"
@@ -2603,7 +2563,6 @@ Partial Class Bancos_PopIECompras
If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
If ObjMov.DtResultados.Rows.Count > 0 Then If ObjMov.DtResultados.Rows.Count > 0 Then
IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero
CveCuenta = ObjMov.DtResultados.Rows(0)("IdCtaContableSIG").ToString.ToEntero
End If End If
End If End If
@@ -2745,7 +2704,6 @@ Partial Class Bancos_PopIECompras
If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
If ObjMov.DtResultados.Rows.Count > 0 Then If ObjMov.DtResultados.Rows.Count > 0 Then
IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCtaContable").ToString.ToEntero
CveCuenta = ObjMov.DtResultados.Rows(0)("IdCtaContableSIG").ToString.ToEntero
End If End If
End If End If
@@ -2828,7 +2786,6 @@ Partial Class Bancos_PopIECompras
' If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then ' If ObjMov.GetRetCuenta(ConceptoContable, UsuarioActual.CveEmpresa) And Not IdCtaContable > 0 Then
' If ObjMov.DtResultados.Rows.Count > 0 Then ' If ObjMov.DtResultados.Rows.Count > 0 Then
' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero ' IdCtaContable = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditable").ToString.ToEntero
' CveCuenta = ObjMov.DtResultados.Rows(0)("IdCuentaIVAAcreditableSIG").ToString.ToEntero
' End If ' End If
' End If ' End If
Case 25 'IEPS por Acreditar Case 25 'IEPS por Acreditar
@@ -2888,7 +2845,6 @@ Partial Class Bancos_PopIECompras
If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then
IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria IdCtaContable = UsuarioActual.Empresa.IdCuentaGananciaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaGananciaCambiaria
Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
TimpocambioGeneral = TCImpuestos TimpocambioGeneral = TCImpuestos
'' si tiene funcionalidad de flucturación con ivas, tomar tipocambioCompra '' si tiene funcionalidad de flucturación con ivas, tomar tipocambioCompra
@@ -2914,7 +2870,6 @@ Partial Class Bancos_PopIECompras
If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then If CveMoneda <> 1 OrElse CveMonedaCompra <> 1 Then
IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria IdCtaContable = UsuarioActual.Empresa.IdCuentaPerdidaCambiaria
CveCuenta = UsuarioActual.Empresa.CveCuentaPerdidaCambiaria
Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra) Dim TCImpuestos As Decimal = If(FuncionalidadFluctuacionImpuestos, tipoCambioPago, tipoCambioCompra)
'' si tiene funcionalidad de flucturación con ivas, tomar tipocambioCompra '' si tiene funcionalidad de flucturación con ivas, tomar tipocambioCompra
If tipoCambioPago > tipoCambioCompra AndAlso CveMonedaCompra = 2 Then If tipoCambioPago > tipoCambioCompra AndAlso CveMonedaCompra = 2 Then

Binary file not shown.

Binary file not shown.

View File

@@ -102,31 +102,31 @@ Partial Class Compras_ReembolsosComprobaciones
ObjPersonal.Dispose() ObjPersonal.Dispose()
DdlPersonal.DataBind() DdlPersonal.DataBind()
CargaTipoTransaccion() CargaTipoTransaccion()
If UsuarioActual.Empresa.Funcionalidad(506) = "1" Then If UsuarioActual.Empresa.Funcionalidad(506) = "1" Then
CbPermitirExcedente.Visible = True CbPermitirExcedente.Visible = True
Else Else
CbPermitirExcedente.Visible = False CbPermitirExcedente.Visible = False
End If End If
' If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then ' If UsuarioActual.CveEmpresa.Contiene(1, 4, 7, 11, 12, 72, 80, 119) Then
'rowComisiones.Visible = True 'rowComisiones.Visible = True
' End If ' End If
If UsuarioActual.CveEmpresa = 119 Then If UsuarioActual.CveEmpresa = 119 Then
ChkReembolsarSinBancos.Visible = True ChkReembolsarSinBancos.Visible = True
End If
TxtFechaPrePoliza.Text = Date.Now.ToShortDateString
'CargaCuentasDiferencia()
'TableDiferencia.Visible = False
End If End If
TxtFechaPrePoliza.Text = Date.Now.ToShortDateString
'CargaCuentasDiferencia()
'TableDiferencia.Visible = False
End If
End Sub End Sub
#Region " FILTROS " #Region " FILTROS "
@@ -799,7 +799,7 @@ Partial Class Compras_ReembolsosComprobaciones
End If End If
Else Else
'Agrego el IVA 'Agrego el IVA
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVAPorPagar").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVAPorPagar").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVAPorPagar").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaPago, True, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEPago, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago) * tipoCambio, CvePrePolizaOriginal:=CvePrePolizaPagoOriginal, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
MsgError = "Detalle" MsgError = "Detalle"
End If End If
'Agrego el IVA 'Agrego el IVA
@@ -1129,7 +1129,7 @@ Partial Class Compras_ReembolsosComprobaciones
End If End If
Else Else
'Agrego el IVA 'Agrego el IVA
If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVAPorPagar").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVAPorPagar").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVAPorPagar").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then If Not ObjMov.AddPrePolizasDetalle(CvePrePolizaExcedente, True, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago, Referencia, 14, ConceptoMovimiento, gvr.FCLiteral("LtlFecha").Text.ToDate, If(IdCtaContIVAXAcreditar > 0, IdCtaContIVAXAcreditar, IdCtaIVAxAcreditar), -1, CveIE:=CveIEExcedente, CveCompra:=gvr.FCHyperLink("HplF2").Text.ToEntero, CveProveedor:=gvr.FCHyperLink("HLProv").Text.ToEntero, ImporteME:=If(tipoCambio = 1, 0, gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago), ImporteMX:=(gvr.DataKey("IVADeducible").ToDecimal * PorcentajePago) * tipoCambio, CvePersonal:=CvePersonal, PorcentajeImpuesto:=PorcentajeIVA) Then
MsgError = "Detalle" MsgError = "Detalle"
End If End If

View File

@@ -518,7 +518,7 @@ Partial Class ContabilidadC_RegPrePoliza
'Asignamos los Subproyectos 'Asignamos los Subproyectos
e.Row.FCDropDownList("DdlSubProyecto").DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) e.Row.FCDropDownList("DdlSubProyecto").DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa)
e.Row.FCDropDownList("DdlSubProyecto").DataBind() e.Row.FCDropDownList("DdlSubProyecto").DataBind()
'e.Row.FCDropDownList("DdlSubProyecto").Items.Insert(0, New ListItem(" - ", "-1")) e.Row.FCDropDownList("DdlSubProyecto").Items.Insert(0, New ListItem(" - ", "-1"))
e.Row.FCDropDownList("DdlSubProyecto").SelectedValueExist(e.Row.DataKey("CveSubProyecto")) e.Row.FCDropDownList("DdlSubProyecto").SelectedValueExist(e.Row.DataKey("CveSubProyecto"))
'Asignamos los Tipos de Gasto 'Asignamos los Tipos de Gasto

View File

@@ -206,7 +206,7 @@
<asp:DropDownList ID="DdlVentas" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="Folio" DataValueField="CveVenta" Width="160px" Visible="false"></asp:DropDownList> <asp:DropDownList ID="DdlVentas" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="Folio" DataValueField="CveVenta" Width="160px" Visible="false"></asp:DropDownList>
</th> </th>
<th> <th>
<asp:DropDownList ID="DdlCtaContable" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="160px"> <asp:DropDownList ID="DdlCuentaContable" CssClass="form-control input-sm select2me" runat="server" AppendDataBoundItems="true" DataTextField="CtaCodigo" DataValueField="Id" Width="160px">
</asp:DropDownList><br /> </asp:DropDownList><br />
</th> </th>
<th> <th>
@@ -519,8 +519,6 @@
<HeaderTemplate>Cuenta</HeaderTemplate> <HeaderTemplate>Cuenta</HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:Literal ID="DdlCtaContable" runat="server" Text='<%# Eval("CodigoNombreCuenta") %>'></asp:Literal><br /> <asp:Literal ID="DdlCtaContable" runat="server" Text='<%# Eval("CodigoNombreCuenta") %>'></asp:Literal><br />
<%--<asp:HiddenField ID="HdnCtaContable" runat="server" Value='<%# Eval("IdCtaContable") %>' />--%>
<%--<asp:DropDownList ID="DdlCtaContable" runat="server" Width="200px" CssClass="form-control input-sm select2me" DataValueField="Id" DataTextField="CtaCodigo"></asp:DropDownList><br />--%>
</ItemTemplate> </ItemTemplate>
<ItemStyle HorizontalAlign="Left" Width="300px" /> <ItemStyle HorizontalAlign="Left" Width="300px" />
</asp:TemplateField> </asp:TemplateField>
@@ -740,7 +738,7 @@
Cuenta: Cuenta:
</div> </div>
<div class="col-xs-4"> <div class="col-xs-4">
<asp:DropDownList ID="DdlCtaContableE" runat="server" Width="405px" CssClass="form-control input-sm select2me" DataValueField="CveCuenta" DataTextField="CtaCodigo"></asp:DropDownList><br /> <asp:DropDownList ID="DdlCuentaContableE" runat="server" Width="405px" CssClass="form-control input-sm select2me" DataValueField="CveCuenta" DataTextField="CtaCodigo"></asp:DropDownList><br />
</div> </div>
</div> </div>
<br /> <br />

View File

@@ -1,5 +1,4 @@
 
Imports System.Data Imports System.Data
Imports Extensiones Imports Extensiones
Imports System.Linq Imports System.Linq
@@ -625,12 +624,12 @@ Partial Class ContabilidadC_RegPrePolizaS
Private Sub CargaCuentasContables() Private Sub CargaCuentasContables()
Dim ObjConta As New ClsContabilidad Dim ObjConta As New ClsContabilidad
If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DdlCtaContable.DataSource = ObjConta.DtResultados DdlCuentaContableE.DataSource = ObjConta.DtResultados
DtCuentasContables = ObjConta.DtResultados DtCuentasContables = ObjConta.DtResultados
End If End If
ObjConta.Dispose() ObjConta.Dispose()
DdlCtaContable.DataBind() DdlCuentaContableE.DataBind()
DdlCtaContable.Items.Insert(0, New ListItem("Sin Asignar", "0")) DdlCuentaContableE.Items.Insert(0, New ListItem("Sin Asignar", "0"))
End Sub End Sub
Private Sub CargaTiposGasto() Private Sub CargaTiposGasto()
@@ -729,20 +728,20 @@ Partial Class ContabilidadC_RegPrePolizaS
IdCuenta = 0 IdCuenta = 0
CodigoCuenta = "" CodigoCuenta = ""
NombreCuenta = "" NombreCuenta = ""
If drt("IdCtaContable").ToString.ToEntero > 0 Then 'DtCuentasContables 'If drt("IdCtaContable").ToString.ToEntero > 0 Then 'DtCuentasContables
Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", drt("IdCtaContable").ToString)) ' Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("Id={0}", drt("IdCtaContable").ToString))
If drr IsNot Nothing Then ' If drr IsNot Nothing Then
IdCuenta = drt("IdCtaContable").ToString.ToEntero ' IdCuenta = drt("IdCtaContable").ToString.ToEntero
CodigoCuenta = drr("CuentaFormato").ToString() ' CodigoCuenta = drr("CuentaFormato").ToString()
NombreCuenta = drr("Nombre").ToString() ' NombreCuenta = drr("Nombre").ToString()
'Cuenta = drr("Nombre").ToString() ' 'Cuenta = drr("Nombre").ToString()
End If ' End If
EsComodin = 0 ' EsComodin = 0
End If 'End If
Dim dr As DataRow = DtMovimientos.NewRow Dim dr As DataRow = DtMovimientos.NewRow
dr("CodigoCuenta") = CodigoCuenta & "<br>" & NombreCuenta dr("CodigoCuenta") = drt("Codigo").ToString & "<br>" & drt("Nombre").ToString
dr("Cuenta") = Cuenta 'TxtCuentaContable.Text dr("Cuenta") = Cuenta 'TxtCuentaContable.Text
dr("Referencia") = If(drt("CveConcepto").ToString.Contiene("29", "130"), drt("Personal"), drt("RazonSocial")) dr("Referencia") = If(drt("CveConcepto").ToString.Contiene("29", "130"), drt("Personal"), drt("RazonSocial"))
dr("Concepto") = TxtObservaciones.Text dr("Concepto") = TxtObservaciones.Text
@@ -838,7 +837,7 @@ Partial Class ContabilidadC_RegPrePolizaS
e.Row.FCLinkButton("ImgBancos").Visible = True e.Row.FCLinkButton("ImgBancos").Visible = True
If e.Row.DataKey("ContadoTipoTransaccion").ToEntero > 0 And e.Row.DataKey("ContadoCuenta").ToEntero > 0 And e.Row.DataKey("ContadoNumeroFolio").ToString.Length > 0 And If e.Row.DataKey("ContadoTipoTransaccion").ToEntero > 0 And e.Row.DataKey("ContadoCuenta").ToEntero > 0 And e.Row.DataKey("ContadoNumeroFolio").ToString.Length > 0 And
e.Row.DataKey("ContadoImporte").ToEntero > 0 And e.Row.DataKey("ContadoBeneficiario").ToString.Length > 0 Then e.Row.DataKey("ContadoImporte").ToDecimal > 0 And e.Row.DataKey("ContadoBeneficiario").ToString.Length > 0 Then
e.Row.FCLinkButton("ImgBancos").CssClass = "btn btn-circle btn-sm green" e.Row.FCLinkButton("ImgBancos").CssClass = "btn btn-circle btn-sm green"
End If End If
End If End If
@@ -902,10 +901,13 @@ Partial Class ContabilidadC_RegPrePolizaS
CveIE = ObjIE.AddBancos_IE(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero, TxtFecha.Text, gvr.DataKey("ContadoNumeroFolio").ToString, CveIE = ObjIE.AddBancos_IE(gvr.DataKey("ContadoCuenta").ToEntero, gvr.DataKey("ContadoTipoTransaccion").ToEntero, TxtFecha.Text, gvr.DataKey("ContadoNumeroFolio").ToString,
gvr.DataKey("ContadoBeneficiario").ToString, gvr.DataKey("ContadoImporte").ToString.ToDecimal, CveMoneda, 0, gvr.DataKey("ContadoObservaciones").ToString, "", gvr.DataKey("ContadoBeneficiario").ToString, gvr.DataKey("ContadoImporte").ToString.ToDecimal, CveMoneda, 0, gvr.DataKey("ContadoObservaciones").ToString, "",
False, False, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) False, False, 0, CvePrePoliza, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
If CveIE < 0 Then MsgError = "No se pudo registrar movimiento bancario" If CveIE < 0 Then
If ObjIE.GetBancosIE(CveIE, -1, -1, "-1", -1, "-1", "-1", -1, -1, -1, -1, -1, MinFecha, MaxFecha, MinFecha, MaxFecha, MinFecha, MaxFecha, -1, -1, UsuarioActual.CveEmpresa) Then MsgError = "No se pudo registrar movimiento bancario"
FolioIE = ObjIE.Folio Exit For
End If End If
'If ObjIE.GetBancosIE(CveIE, -1, -1, "-1", -1, "-1", "-1", -1, -1, -1, -1, -1, MinFecha, MaxFecha, MinFecha, MaxFecha, MinFecha, MaxFecha, -1, -1, UsuarioActual.CveEmpresa) Then
' FolioIE = ObjIE.Folio
'End If
End If End If
@@ -1045,7 +1047,7 @@ Partial Class ContabilidadC_RegPrePolizaS
ImporteMX:=If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0, ImporteMX:=If(row.FCLiteral("TxtCargo").Text.ToDecimal <> 0,
row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), CveProveedor:=row.DataKey("CveProveedor").ToEntero, row.FCLiteral("TxtCargo").Text.ToDecimal, row.FCLiteral("TxtAbono").Text.ToDecimal), CveProveedor:=row.DataKey("CveProveedor").ToEntero,
CveCompra:=row.DataKey("CveCompra").ToEntero, CveCliente:=row.DataKey("CveCliente").ToEntero, CveVenta:=row.DataKey("CveVenta").ToEntero, CveCompra:=row.DataKey("CveCompra").ToEntero, CveCliente:=row.DataKey("CveCliente").ToEntero, CveVenta:=row.DataKey("CveVenta").ToEntero,
CvePersonal:=row.DataKey("CvePersonal").ToEntero) Then CvePersonal:=row.DataKey("CvePersonal").ToEntero, CveCuenta:=row.DataKey("CveCuenta").ToEntero) Then
OcurrioError = True OcurrioError = True
Exit For Exit For
End If End If
@@ -1123,7 +1125,7 @@ Partial Class ContabilidadC_RegPrePolizaS
CargaTipoGastoE() CargaTipoGastoE()
DdlTipoGastoE.SelectedValueExist(CveTipoGasto) DdlTipoGastoE.SelectedValueExist(CveTipoGasto)
CargaCtaContableE() CargaCtaContableE()
DdlCtaContableE.SelectedValueExist(CveCuenta) DdlCuentaContableE.SelectedValueExist(CveCuenta)
If Cargo <> 0 Then If Cargo <> 0 Then
TxtCargoE.Text = Cargo TxtCargoE.Text = Cargo
@@ -1160,12 +1162,12 @@ Partial Class ContabilidadC_RegPrePolizaS
Private Sub CargaCtaContableE() Private Sub CargaCtaContableE()
Dim ObjConta As New ClsContabilidad Dim ObjConta As New ClsContabilidad
If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then If ObjConta.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DdlCtaContableE.DataSource = ObjConta.DtResultados DdlCuentaContableE.DataSource = ObjConta.DtResultados
End If End If
ObjConta.Dispose() ObjConta.Dispose()
DdlCtaContableE.DataBind() DdlCuentaContableE.DataBind()
DdlCtaContableE.Items.Insert(0, New ListItem("Sin Asignar", "0")) DdlCuentaContableE.Items.Insert(0, New ListItem("Sin Asignar", "0"))
End Sub End Sub
Private Sub DdlConceptosContablesE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlConceptosContablesE.SelectedIndexChanged Private Sub DdlConceptosContablesE_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlConceptosContablesE.SelectedIndexChanged
If DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(5, 17, 201, 206, 14, 15, 16, 19, 25, 26, 21) Then If DdlConceptosContablesE.SelectedValue.ToEntero.Contiene(5, 17, 201, 206, 14, 15, 16, 19, 25, 26, 21) Then
@@ -1266,7 +1268,8 @@ Partial Class ContabilidadC_RegPrePolizaS
If DtMovimientos Is Nothing Then CreaDT() If DtMovimientos Is Nothing Then CreaDT()
If CvePrePoliza > 0 Then If CvePrePoliza > 0 Then
Dim dr As DataRow = DtMovimientos.NewRow Dim dr As DataRow = DtMovimientos.NewRow
dr("IdCtaContable") = DdlCtaContableE.SelectedValue dr("IdCtaContable") = DdlCuentaContableE.SelectedValue
dr("CveCuenta") = DdlCuentaContableE.SelectedValue
dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text
dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue
dr("Concepto") = TxtConceptoE.Text dr("Concepto") = TxtConceptoE.Text
@@ -1351,7 +1354,9 @@ Partial Class ContabilidadC_RegPrePolizaS
If Rows.Count > 0 Then If Rows.Count > 0 Then
Dim dr As DataRow = Rows(0) Dim dr As DataRow = Rows(0)
dr("IdCtaContable") = DdlCtaContableE.SelectedValue dr("IdCtaContable") = DdlCuentaContableE.SelectedValue
dr("CveCuenta") = DdlCuentaContableE.SelectedValue
dr("CodigoNombreCuenta") = DdlCuentaContableE.SelectedItem.Text
dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text dr("ConceptoContable") = DdlConceptosContablesE.SelectedItem.Text
dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue dr("CveConceptoContable") = DdlConceptosContablesE.SelectedValue
dr("Concepto") = TxtConceptoE.Text dr("Concepto") = TxtConceptoE.Text
@@ -1366,8 +1371,6 @@ Partial Class ContabilidadC_RegPrePolizaS
dr("CveCliente") = DdlClientesE.SelectedValue.ToEntero dr("CveCliente") = DdlClientesE.SelectedValue.ToEntero
dr("CveVenta") = DdlVentasE.SelectedValue.ToEntero dr("CveVenta") = DdlVentasE.SelectedValue.ToEntero
dr("FolioFactura") = If(DdlComprasE.Visible = True, DdlComprasE.SelectedItem.ToString, If(DdlVentasE.Visible = True, DdlVentasE.SelectedItem.ToString, "")) dr("FolioFactura") = If(DdlComprasE.Visible = True, DdlComprasE.SelectedItem.ToString, If(DdlVentasE.Visible = True, DdlVentasE.SelectedItem.ToString, ""))
dr("CveCuenta") = DdlCtaContableE.SelectedValue.ToEntero
dr("CodigoNombreCuenta") = DdlCtaContableE.SelectedItem.Text
dr("Modificado") = True dr("Modificado") = True
@@ -1445,10 +1448,10 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim dr As DataRow = Rows(0) Dim dr As DataRow = Rows(0)
Dim CodigoCuenta As String = "" Dim CodigoCuenta As String = ""
Dim NombreCuenta As String = "" Dim NombreCuenta As String = ""
dr("CveCuenta") = DdlCtaContable.SelectedValue dr("CveCuenta") = DdlCuentaContable.SelectedValue
If DdlCtaContable.SelectedValue.ToEntero > 0 Then If DdlCuentaContable.SelectedValue.ToEntero > 0 Then
Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("CveCuenta={0}", DdlCtaContable.SelectedValue)) Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("CveCuenta={0}", DdlCuentaContable.SelectedValue))
If drr IsNot Nothing Then If drr IsNot Nothing Then
CodigoCuenta = drr("CuentaFormato").ToString() CodigoCuenta = drr("CuentaFormato").ToString()
NombreCuenta = drr("Nombre").ToString() NombreCuenta = drr("Nombre").ToString()
@@ -1472,7 +1475,6 @@ Partial Class ContabilidadC_RegPrePolizaS
dr("CveClasificacion") = -1 dr("CveClasificacion") = -1
dr("CveCliente") = DdlClientes.SelectedValue.ToEntero dr("CveCliente") = DdlClientes.SelectedValue.ToEntero
dr("CveVenta") = DdlVentas.SelectedValue.ToEntero dr("CveVenta") = DdlVentas.SelectedValue.ToEntero
dr("CveCuenta") = DdlCtaContable.SelectedValue.ToEntero
End If End If
GvMov.DataSource = DtMovimientos GvMov.DataSource = DtMovimientos
GvMov.DataBind() GvMov.DataBind()
@@ -1485,6 +1487,7 @@ Partial Class ContabilidadC_RegPrePolizaS
If CvePrePoliza > 0 Then If CvePrePoliza > 0 Then
Dim dr As DataRow = DtMovimientos.NewRow Dim dr As DataRow = DtMovimientos.NewRow
dr("IdCtaContable") = -1 'DdlCtaContable.SelectedValue dr("IdCtaContable") = -1 'DdlCtaContable.SelectedValue
dr("CveCuenta") = DdlCuentaContable.SelectedValue
dr("ConceptoContable") = DdlConceptosContables.SelectedItem.Text dr("ConceptoContable") = DdlConceptosContables.SelectedItem.Text
dr("CveConceptoContable") = DdlConceptosContables.SelectedValue dr("CveConceptoContable") = DdlConceptosContables.SelectedValue
dr("Concepto") = TxtDescripcion.Text dr("Concepto") = TxtDescripcion.Text
@@ -1517,10 +1520,10 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim CodigoCuenta As String = "" Dim CodigoCuenta As String = ""
Dim NombreCuenta As String = "" Dim NombreCuenta As String = ""
dr("CveCuenta") = DdlCtaContable.SelectedValue dr("CveCuenta") = DdlCuentaContable.SelectedValue
If DdlCtaContable.SelectedValue.ToEntero > 0 Then If DdlCuentaContable.SelectedValue.ToEntero > 0 Then
Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("CveCuenta={0}", DdlCtaContable.SelectedValue)) Dim drr As DataRow = DtCuentasContables.FiltroPrimero(String.Format("CveCuenta={0}", DdlCuentaContable.SelectedValue))
If drr IsNot Nothing Then If drr IsNot Nothing Then
CodigoCuenta = drr("CuentaFormato").ToString() CodigoCuenta = drr("CuentaFormato").ToString()
NombreCuenta = drr("Nombre").ToString() NombreCuenta = drr("Nombre").ToString()
@@ -1716,7 +1719,7 @@ Partial Class ContabilidadC_RegPrePolizaS
If DrM IsNot Nothing Then If DrM IsNot Nothing Then
HdnCve.Value = idMov.ToString HdnCve.Value = idMov.ToString
DdlCtaContable.SelectedValue = DrM("CveCuenta") DdlCuentaContable.SelectedValue = DrM("CveCuenta")
TxtReferencia.Text = DrM("Referencia") TxtReferencia.Text = DrM("Referencia")
TxtObservaciones.Text = DrM("Concepto") TxtObservaciones.Text = DrM("Concepto")
' (Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) = dr("TipoMovto") ' (Math.Abs(TxtCargo.Text.ToDouble) > 0, 0, 1) = dr("TipoMovto")
@@ -2024,7 +2027,7 @@ Partial Class ContabilidadC_RegPrePolizaS
Dim CveClasificacion As Integer = -1 Dim CveClasificacion As Integer = -1
Dim CveCuentaExcel As Integer = -1 Dim CveCuentaExcel As Integer = -1
Dim ObjConta2 As New ClsContabilidad Dim ObjConta2 As New ClsContabilidad
Dim FolioExcel As Integer = -1 Dim FolioExcel As Long = -1
Dim TipoMov As Integer = -1 Dim TipoMov As Integer = -1
Dim CveBancoCuenta As Integer = -1 Dim CveBancoCuenta As Integer = -1
If ObjConta2.GetCuentas(-1, Row("Cuenta").ToString.Replace("-", "").Trim, 1, UsuarioActual.CveEmpresa) Then If ObjConta2.GetCuentas(-1, Row("Cuenta").ToString.Replace("-", "").Trim, 1, UsuarioActual.CveEmpresa) Then
@@ -2040,17 +2043,34 @@ Partial Class ContabilidadC_RegPrePolizaS
End If End If
If CveConceptoContable = 30 Then If CveConceptoContable = 30 Then
Dim objconta3 As New ClsContabilidad Dim objconta3 As New ClsContabilidad
objconta3.GetConta_CuentasDataContabilidad(CveCuentaExcel, UsuarioActual.CveEmpresa) objconta3.GetConta_CuentasDataContabilidad(CveCuentaExcel, UsuarioActual.CveEmpresa)
If objconta3.DtResultados.Rows.Count > 0 Then If objconta3.DtResultados.Rows.Count > 0 Then
Dim rowcc As DataRow = objconta3.DtResultados.Rows(0) Dim rowcc As DataRow = objconta3.DtResultados.Rows(0)
CveBancoCuenta = rowcc("CveBancoCuenta").ToString().ToEntero() CveBancoCuenta = rowcc("CveBancoCuenta").ToString().ToEntero()
DdlCuenta.SelectedValue = CveBancoCuenta DdlCuenta.SelectedValue = CveBancoCuenta
Else
CveBancoCuenta = 0
End If End If
objconta3.Dispose()
If CveBancoCuenta = 0 Then
Alert(String.Format("La cuenta <b>{0}</b> no está vinculada a una cuenta bancaria administrativa favor de verificar el archivo.", Row("Cuenta").ToString), TipoMensaje.MsgAdvertencia)
DtMovimientos.Clear()
Exit For
End If
TipoMov = GlobalDTTipoTransacciones.FiltroPrimeroValor("CveTipoTransaccion", String.Format("TipoTransaccion = '{0}' ", Row("TipoTransferencia"))).ToEntero TipoMov = GlobalDTTipoTransacciones.FiltroPrimeroValor("CveTipoTransaccion", String.Format("TipoTransaccion = '{0}' ", Row("TipoTransferencia"))).ToEntero
FolioExcel = Row("Folio").ToString FolioExcel = Row("Folio").ToString.ToEntero
CveTipoTransaccion = TipoMov CveTipoTransaccion = TipoMov
CveCuenta = CveBancoCuenta CveCuenta = CveBancoCuenta
'carga el consecutivo
If FolioExcel = 0 Then
FolioExcel = SiguienteFolioBancos(CveBancoCuenta, TipoMov)
End If
Folio = FolioExcel Folio = FolioExcel
ImporteDocumento = IIf(Row("Abono").ToString.ToEntero > 0, Row("Abono").ToString, Row("Cargo").ToString) ImporteDocumento = IIf(Row("Abono").ToString.ToEntero > 0, Row("Abono").ToString, Row("Cargo").ToString)
Observaciones = Row("Referencia").ToString Observaciones = Row("Referencia").ToString
@@ -2062,7 +2082,6 @@ Partial Class ContabilidadC_RegPrePolizaS
End If End If
'sino viene el cveconcepto, busca por le nombre del concepto 'sino viene el cveconcepto, busca por le nombre del concepto
If CveConceptoContable = 0 Then If CveConceptoContable = 0 Then
Alert(String.Format("El concepto <b>{0}</b> no se reconoció, favor de verificar el archivo.", Row("ConceptoAdministrativo"))) Alert(String.Format("El concepto <b>{0}</b> no se reconoció, favor de verificar el archivo.", Row("ConceptoAdministrativo")))
@@ -2110,8 +2129,8 @@ Partial Class ContabilidadC_RegPrePolizaS
dr("CveCuenta") = CveCuentaExcel dr("CveCuenta") = CveCuentaExcel
dr("ContadoTipoTransaccion") = CveTipoTransaccion dr("ContadoTipoTransaccion") = CveTipoTransaccion
dr("ContadoCuenta") = CveCuenta dr("ContadoCuenta") = CveBancoCuenta
dr("ContadoNumeroFolio") = Folio dr("ContadoNumeroFolio") = FolioExcel
dr("ContadoImporte") = ImporteDocumento dr("ContadoImporte") = ImporteDocumento
dr("ContadoBeneficiario") = Beneficiario dr("ContadoBeneficiario") = Beneficiario
dr("ContadoObservaciones") = Observaciones dr("ContadoObservaciones") = Observaciones
@@ -2135,6 +2154,63 @@ Partial Class ContabilidadC_RegPrePolizaS
#End Region #End Region
#Region "Siguiente Folio"
Public Property ArregloCuentasFolios As DataTable
Get
If ViewState("ArregloCuentasFolios") Is Nothing Then
Dim dt = New DataTable("CuentasBancos")
With dt.Columns
.Add("CveCuenta", Type.GetType("System.Int32"))
.Add("CveTipoTransaccion", Type.GetType("System.Int32"))
.Add("Folio", Type.GetType("System.Double"))
End With
ViewState("ArregloCuentasFolios") = dt
End If
Return CType(ViewState("ArregloCuentasFolios"), DataTable)
End Get
Set(value As DataTable)
ViewState("ArregloCuentasFolios") = value
End Set
End Property
Public Function SiguienteFolioBancos(CveCuentaBancos As Integer, CveTipoTransaccionBancos As Integer) As String
Dim Retorno As String = "0"
Dim Folio As Long = ArregloCuentasFolios.FiltroPrimeroValor("Folio", String.Format("CveCuenta = {0} and CveTipoTransaccion = {1}", CveCuentaBancos, CveTipoTransaccionBancos)).ToLong
If Folio = 0 Then
Dim Banco As New ClsBancos
Folio = Banco.GetNextFolio(CveCuentaBancos, CveTipoTransaccionBancos)
Banco.Dispose()
End If
Folio += 1
Dim a As DataRow() = ArregloCuentasFolios.Select(String.Format("CveCuenta = {0} and CveTipoTransaccion = {1}", CveCuentaBancos, CveTipoTransaccionBancos))
If a.Count = 0 Then
Dim dr As DataRow = ArregloCuentasFolios.NewRow
dr("Folio") = Folio
dr("CveCuenta") = CveCuentaBancos
dr("CveTipoTransaccion") = CveTipoTransaccionBancos
ArregloCuentasFolios.Rows.Add(dr)
Else
a(0)("Folio") = Folio 'actualizo el folio
End If
ArregloCuentasFolios.AcceptChanges()
Return Folio
End Function
#End Region
#Region "Paquete Egresos" #Region "Paquete Egresos"
Protected Sub LnkImprimirPDF_Click(sender As Object, e As EventArgs) Protected Sub LnkImprimirPDF_Click(sender As Object, e As EventArgs)
ImprimirPolizaPDF(IdPoliza) ImprimirPolizaPDF(IdPoliza)

View File

@@ -134,7 +134,7 @@ public partial class Nomina_Finiquito : ClsPaginas
HypCodigo.Text = drow["Codigo"].ToString(); HypCodigo.Text = drow["Codigo"].ToString();
HypEmpleado.Text = drow["NombreCompleto"].ToString(); HypEmpleado.Text = drow["NombreCompleto"].ToString();
HypCodigo.NavigateUrl =$"/RH/Personal.aspx?CvePersonal={drow["CvePersonal"]}"; HypCodigo.NavigateUrl = $"/RH/Personal.aspx?CvePersonal={drow["CvePersonal"]}";
LblPuesto.Text = drow["Puesto"].ToString(); LblPuesto.Text = drow["Puesto"].ToString();
LblSalario.Text = drow["SalarioDiario"].ToString(); LblSalario.Text = drow["SalarioDiario"].ToString();
LtlAreaGeografica.Text = drow["AreaGeografica"].ToString(); LtlAreaGeografica.Text = drow["AreaGeografica"].ToString();
@@ -147,7 +147,7 @@ public partial class Nomina_Finiquito : ClsPaginas
FechaInicio = LblFechaAlta.Text.ToDateTime(); FechaInicio = LblFechaAlta.Text.ToDateTime();
TxtFechaBaja.Text = string.Format("{0:dd/MM/yyyy}", da["FechaFin"]); TxtFechaBaja.Text = string.Format("{0:dd/MM/yyyy}", da["FechaFin"]);
{ {
if(da["CveMotivoBaja"].ToString() == "") if (da["CveMotivoBaja"].ToString() == "")
{ {
chkIndemnizacion.Checked = true; chkIndemnizacion.Checked = true;
chkSeparacionUnica.Checked = true; chkSeparacionUnica.Checked = true;
@@ -163,13 +163,14 @@ public partial class Nomina_Finiquito : ClsPaginas
DdlMotivoBaja.SelectedValueExist(da["CveMotivoBaja"]); DdlMotivoBaja.SelectedValueExist(da["CveMotivoBaja"]);
TxtSalarioMinimo.Text = $"{da["SalarioMinimo"]:N2}" ; TxtSalarioMinimo.Text = $"{da["SalarioMinimo"]:N2}";
ChkesLiquidacion.Checked = (da["esLiquidacion"].ToString() == "1" || da["esLiquidacion"].ToString().ToUpper() == "TRUE"); ChkesLiquidacion.Checked = (da["esLiquidacion"].ToString() == "1" || da["esLiquidacion"].ToString().ToUpper() == "TRUE");
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero(); CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();
CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero(); CvePeriodoFiniquito = da["CvePeriodoFiniquito"].ToString().ToEntero();
if (CvePeriodoIndemnizacion > 0) if (CvePeriodoFiniquito > 0)
{ {
LnkCancelar.Visible = true; LnkCancelar.Visible = true;
LnkSimular.Visible = false;
using (ClsNominas onom = new ClsNominas()) using (ClsNominas onom = new ClsNominas())
{ {
loadsobrerecibo(onom); loadsobrerecibo(onom);
@@ -208,17 +209,17 @@ public partial class Nomina_Finiquito : ClsPaginas
{ {
decimal retorno = 0; decimal retorno = 0;
decimal mes =12; decimal mes = 12;
retorno =(fechafin.Year -fechainicio.Year ) - (fechafin.Month > fechainicio.Month ? 0 : (fechafin.Month == fechainicio.Month && fechafin.Day > fechainicio.Day ? 0 : 1)); retorno = (fechafin.Year - fechainicio.Year) - (fechafin.Month > fechainicio.Month ? 0 : (fechafin.Month == fechainicio.Month && fechafin.Day > fechainicio.Day ? 0 : 1));
retorno +=(((fechafin.Month == fechainicio.Month && fechafin.Day > fechainicio.Day ? fechainicio.Month : fechafin.Month + (fechafin.Month > fechainicio.Month ? 0 : 12)) - fechainicio.Month) / mes); retorno += (((fechafin.Month == fechainicio.Month && fechafin.Day > fechainicio.Day ? fechainicio.Month : fechafin.Month + (fechafin.Month > fechainicio.Month ? 0 : 12)) - fechainicio.Month) / mes);
/* DateTime zeroTime = new DateTime(1, 1, 1); /* DateTime zeroTime = new DateTime(1, 1, 1);
TimeSpan span; TimeSpan span;
if (fechainicio < fechafin) if (fechainicio < fechafin)
{ {
span = fechafin - fechainicio; span = fechafin - fechainicio;
decimal years = (zeroTime + span).Year - 1; decimal years = (zeroTime + span).Year - 1;
retorno = Math.Round(years + (span.TotalDays.ToString().ToDecimal() / 365), 4); retorno = Math.Round(years + (span.TotalDays.ToString().ToDecimal() / 365), 4);
}*/ }*/
return retorno; return retorno;
} }
@@ -232,7 +233,7 @@ public partial class Nomina_Finiquito : ClsPaginas
{ {
using (ClsNominas onom = new ClsNominas()) using (ClsNominas onom = new ClsNominas())
{ {
if (onom.DeleteNom_NominasDetalles(SRCveConcepto, CvePersonal, CvePeriodoIndemnizacion)) if (onom.DeleteNom_NominasDetalles(SRCveConcepto, CvePersonal, CvePeriodoFiniquito))
{ {
Alert("el importe sera tomado del calculo y no del valor fijo"); Alert("el importe sera tomado del calculo y no del valor fijo");
} }
@@ -902,14 +903,14 @@ public partial class Nomina_Finiquito : ClsPaginas
SubTotales.CveConceptoP = 0; SubTotales.CveConceptoP = 0;
SubTotales.ConceptoP = "Total Percepciones"; SubTotales.ConceptoP = "Total Percepciones";
SubTotales.EstatusP = -2; SubTotales.EstatusP = -2;
SubTotales.ImporteP = dtempleados.SUM("SumaPercepciones", string.Format("CvePersonal = {0}", SRCvePersonal))- percepcionesindem; SubTotales.ImporteP = dtempleados.SUM("SumaPercepciones", string.Format("CvePersonal = {0}", SRCvePersonal)) - percepcionesindem;
///Alert(SubTotales.ImporteP.ToString()); ///Alert(SubTotales.ImporteP.ToString());
SubTotales.CveConceptoD = 0; SubTotales.CveConceptoD = 0;
SubTotales.ConceptoD = "Total Deducciones"; SubTotales.ConceptoD = "Total Deducciones";
SubTotales.EstatusD = -2; SubTotales.EstatusD = -2;
SubTotales.ImporteD = dtempleados.SUM("SumaDeducciones", string.Format("CvePersonal = {0}", SRCvePersonal))- deduccionesindem; SubTotales.ImporteD = dtempleados.SUM("SumaDeducciones", string.Format("CvePersonal = {0}", SRCvePersonal)) - deduccionesindem;
double neto = SubTotales.ImporteP - SubTotales.ImporteD; double neto = SubTotales.ImporteP - SubTotales.ImporteD;
NConcepto Totales = new NConcepto(); NConcepto Totales = new NConcepto();
@@ -1026,14 +1027,14 @@ public partial class Nomina_Finiquito : ClsPaginas
SubTotales.CveConceptoP = 0; SubTotales.CveConceptoP = 0;
SubTotales.ConceptoP = "Total Percepciones"; SubTotales.ConceptoP = "Total Percepciones";
SubTotales.EstatusP = -2; SubTotales.EstatusP = -2;
SubTotales.ImporteP = percepcionesindem; SubTotales.ImporteP = percepcionesindem;
///Alert(SubTotales.ImporteP.ToString()); ///Alert(SubTotales.ImporteP.ToString());
SubTotales.CveConceptoD = 0; SubTotales.CveConceptoD = 0;
SubTotales.ConceptoD = "Total Deducciones"; SubTotales.ConceptoD = "Total Deducciones";
SubTotales.EstatusD = -2; SubTotales.EstatusD = -2;
SubTotales.ImporteD = deduccionesindem; SubTotales.ImporteD = deduccionesindem;
double neto = SubTotales.ImporteP - SubTotales.ImporteD; double neto = SubTotales.ImporteP - SubTotales.ImporteD;
NConcepto Totales = new NConcepto(); NConcepto Totales = new NConcepto();
@@ -1062,7 +1063,7 @@ public partial class Nomina_Finiquito : ClsPaginas
using (ClsRH ObjPersonal = new ClsRH()) using (ClsRH ObjPersonal = new ClsRH())
using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL())) using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL()))
{ {
if (continuar =ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked,chkIndemnizacion.Checked ,chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0) if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
{ {
DataRow da = ObjPersonal.DtResultados.Rows[0]; DataRow da = ObjPersonal.DtResultados.Rows[0];
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero(); CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();
@@ -1070,7 +1071,7 @@ public partial class Nomina_Finiquito : ClsPaginas
} }
if (continuar) if (continuar)
{ {
continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa,diasindemnizacion:Txtdiasindemnizacion.Text.ToEntero()); continuar = onom.GetFiniquitosPersonal(CvePersonal, UsuarioActual.CveEmpresa, diasindemnizacion: Txtdiasindemnizacion.Text.ToEntero());
} }
if (continuar) if (continuar)
{ {
@@ -1081,7 +1082,7 @@ public partial class Nomina_Finiquito : ClsPaginas
ObjPersonal.RollBack(); ObjPersonal.RollBack();
} }
if (continuar) if (continuar)
{ loadsobrerecibo(onom); } { loadsobrerecibo(onom);LnkCancelar.Visible = true; LnkSimular.Visible = false; }
} }
} }
@@ -1291,7 +1292,9 @@ public partial class Nomina_Finiquito : ClsPaginas
{ {
if (onom.RemoveFiniquito(CvePersonal, UsuarioActual.CveEmpresa, CvePersonalAltas)) if (onom.RemoveFiniquito(CvePersonal, UsuarioActual.CveEmpresa, CvePersonalAltas))
{ {
loadsobrerecibo(onom);
Alert("se ha eliminado el proceso de finiquito"); Alert("se ha eliminado el proceso de finiquito");
UPDatos.Update();
} }
} }
} }
@@ -1310,7 +1313,7 @@ public partial class Nomina_Finiquito : ClsPaginas
using (ClsRH ObjPersonal = new ClsRH()) using (ClsRH ObjPersonal = new ClsRH())
using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL())) using (ClsNominas onom = new ClsNominas(ObjPersonal.IniciaTransacSQL()))
{ {
if (continuar =ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0) if (continuar = ObjPersonal.UpPersonalAltas(CvePersonal, "", TxtFechaBaja.Text.ToDateTime().ToString("yyyy/MM/dd"), -1, DdlMotivoBaja.SelectedValue.ToEntero(), ChkesLiquidacion.Checked, chkIndemnizacion.Checked, chkSeparacionUnica.Checked, chkPrimaantiguedad.Checked) && ObjPersonal.GetPersonalAltas(CvePersonal) && ObjPersonal.DtResultados.Rows.Count > 0)
{ {
DataRow da = ObjPersonal.DtResultados.Rows[0]; DataRow da = ObjPersonal.DtResultados.Rows[0];
CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero(); CvePeriodoIndemnizacion = da["CvePeriodoIndemnizacion"].ToString().ToEntero();
@@ -1356,7 +1359,7 @@ public partial class Nomina_Finiquito : ClsPaginas
objNomina.IniciaTransacSQL(); objNomina.IniciaTransacSQL();
if (continuar) if (continuar)
{ {
if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoIndemnizacion, -1, UsuarioActual.CveEmpresa)) if (objNomina.GetNom_Nominas(-1, CvePersonal, CvePeriodoFiniquito, -1, UsuarioActual.CveEmpresa))
{ {
if (objNomina.DtResultados.Rows.Count > 0) if (objNomina.DtResultados.Rows.Count > 0)
{ {
@@ -1364,7 +1367,7 @@ public partial class Nomina_Finiquito : ClsPaginas
} }
else else
{ {
if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoIndemnizacion, Total, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina", if (objNomina.AddNom_Nominas(-1, 1, CvePersonal, CvePeriodoFiniquito, Total, 0, 0, Total, CveMoneda, 1, CveMetodoPago, DateTime.Now, "Deducciones nómina",
"", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, false)) "", "", "", "", 0, 0, 0, new DateTime(), new DateTime(), new DateTime(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, false))
{ {
CveNomina = objNomina.CveNomina; CveNomina = objNomina.CveNomina;
@@ -1389,7 +1392,7 @@ public partial class Nomina_Finiquito : ClsPaginas
if (continuar) if (continuar)
{ {
if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoIndemnizacion, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, true)) if (!objNomina.AddUPNom_NominasDetalles(CveNomina, CvePeriodoFiniquito, CvePersonal, CveConcepto, ImporteConcepto, ImporteGravadoConcepto, ImporteExentoConcepto, ImporteValor, UsuarioActual.CveUsuario, true))
{ {
continuar = false; continuar = false;
} }
@@ -1424,6 +1427,7 @@ public partial class Nomina_Finiquito : ClsPaginas
Alert("Debe seleccionar un concepto.", TipoMensaje.MsgAdvertencia); Alert("Debe seleccionar un concepto.", TipoMensaje.MsgAdvertencia);
} }
} }
UPDatos.Update();
} }

207
Nomina/NomTimbrados.aspx Normal file
View File

@@ -0,0 +1,207 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="NomTimbrados.aspx.cs" Inherits="Nomina_NomTimbrados" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
<style>
table {
background-color:white;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
Reporte SAT
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" Runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="portlet solid grey-cascade portlet-filter">
<div class="portlet-title portlet-filterT smalltitle">
<div class="titlefiltros caption">
<div class="row">
<label class="col-md-1 hidden">Tipo Período:</label>
<div class="col-md-2 hidden">
<asp:DropDownList ID="DdlTipoPeriodo" runat="server" CssClass="select2me" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Style="width: 100% !important;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</div>
<label class="col-md-1 mediocol">del:</label>
<div class="col-md-2">
<div class="form-group input-iconright">
<asp:TextBox ID="TxtRpdFechaInicio" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MaskedEditExtender3" runat="server" TargetControlID="TxtRpdFechaInicio" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender3" TargetControlID="TxtRpdFechaInicio" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvRpdFechaInicio" runat="server" ControlToValidate="TxtRpdFechaInicio" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor ingréselo." ValidationGroup="VGReporterepperde"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender1" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaInicio"></ajax:ValidatorCalloutExtender>
</div>
</div>
<label class="col-md-1 mediocol">al:</label>
<div class="col-md-2">
<div class="form-group input-iconright">
<asp:TextBox ID="TxtRpdFechaFin" CssClass="form-control input-sm ADSMaskDate" Style="width: 118px" runat="server"></asp:TextBox>
<ajax:MaskedEditExtender ID="MaskedEditExtender5" runat="server" TargetControlID="TxtRpdFechaFin" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender4" TargetControlID="TxtRpdFechaFin" PopupPosition="BottomRight" Enabled="True" Format="dd/MM/yyyy"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvRpdFechaFin" runat="server" ControlToValidate="TxtRpdFechaFin" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor ingréselo." ValidationGroup="VGReporterepperde"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="ValidatorCalloutExtender2" runat="server" HighlightCssClass="vco" TargetControlID="rfvRpdFechaFin"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-1">
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Consultar" Visible="true" class="btn btn-primary" />
</div>
</div>
</div>
<div class="tools">
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="Updatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table id="headerProcesaSUA" style="display: none">
<tr>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
<th > </th>
</tr>
<tr>
<th >Nombre</th>
<th >RFC</th>
<th >Fecha timbrado</th>
<th >FolioFiscal</th>
<th colspan="2">Total</th>
<th colspan="2">SubTotal</th>
<th colspan="2">Total sueldo</th>
<th colspan="2">Total gravado</th>
<th colspan="2">Total excento</th>
<th colspan="2">otras deducciones</th>
<th colspan="2">Total ISR</th>
</tr>
</table>
<asp:GridView ID="GVNominasXmlsat" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall" AutoGenerateColumns="False"
DataKeyNames="Tipo,NumeroSS,RFC" ShowHeaderWhenEmpty="true" data-tableheader="#headerProcesaSUA" OnRowDataBound="GVNominasXmlsat_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="" ShowHeader ="false">
<ItemTemplate>
<asp:Label ID="lblcodigoNombreCompleto" runat="server" Text='<%# string.Format ("{0} {1}", Eval("Codigo"), Eval("NombreCompleto"))%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="" ItemStyle-Width="100" ShowHeader ="false">
<ItemTemplate>
<asp:Label ID="lblRFC" runat="server" Text='<%# Eval("RFC")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="" ItemStyle-Width="100" ShowHeader ="false">
<ItemTemplate>
<asp:Label ID="lblfecha" runat="server" Text='<%# Eval("fechatimbrado","{0:dd/MM/yyyy}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="" ItemStyle-Width="100" ShowHeader ="false">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("FolioFiscal")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Total","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubTotal","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubTotalSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalSueldo","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalSueldoSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubTotalG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("SubTotalGSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("Totalexento","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalexentoSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("totalotrasdeducciones","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("totalotrasdeduccionesSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SAT">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalISR","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="SIG">
<ItemTemplate>
<asp:Label runat="server" Text='<%# Eval("TotalISRSIG","{0:N2}")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
</asp:Content>

667
Nomina/NomTimbrados.aspx.cs Normal file
View File

@@ -0,0 +1,667 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Extensiones;
using System.Xml;
public partial class Nomina_NomTimbrados : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
TxtRpdFechaInicio.Text = string.Format(" {0:dd/MM/yyyy}", DateTime.Now.AddMonths(-1).FirstDayOfMonth());
TxtRpdFechaFin.Text = string.Format(" {0:dd/MM/yyyy}", DateTime.Now.AddMonths(-1).LastDayOfMonth());
// readTimbres();
}
}
public DataTable initxmldatatable()
{
DataTable dt = new DataTable();
dt.Columns.Add("NOMBREReceptor", typeof(String));
dt.Columns.Add("nrnumseguridadsocial", typeof(String));
dt.Columns.Add("RFCReceptor", typeof(String));
dt.Columns.Add("nrcurp", typeof(String));
dt.Columns.Add("nrnumempleado", typeof(String));
dt.Columns.Add("SERIE", typeof(String));
dt.Columns.Add("FOLIO", typeof(String));
dt.Columns.Add("TIPODECOMPROBANTE", typeof(String));
dt.Columns.Add("TOTAL", typeof(decimal));
dt.Columns.Add("SUBTOTAL", typeof(decimal));
dt.Columns.Add("DESCUENTO", typeof(decimal));
dt.Columns.Add("RFCEmisor", typeof(String));
/*I nomina12:nomina*/
dt.Columns.Add("tiponomina", typeof(String));
dt.Columns.Add("fechapago", typeof(DateTime));
dt.Columns.Add("fechainicialpago", typeof(DateTime));
dt.Columns.Add("fechafinalpago", typeof(DateTime));
dt.Columns.Add("numdiaspagados", typeof(Int32));
dt.Columns.Add("totalpercepciones", typeof(decimal));
dt.Columns.Add("totaldeducciones", typeof(decimal));
dt.Columns.Add("totalotrospagos", typeof(decimal));
/*E nomina12:nomina*/
/*I nomina12:emisor*/
dt.Columns.Add("registropatronal", typeof(String));
dt.Columns.Add("rfcpatronorigen", typeof(String));
/*E nomina12:emisor*/
/*I nomina12:receptor*/
dt.Columns.Add("nrfechainiciorellaboral", typeof(DateTime));
dt.Columns.Add("nrantiguedad", typeof(String));//antigüedad
dt.Columns.Add("nrtipocontrato", typeof(String));
dt.Columns.Add("nrsindicalizado", typeof(String));
dt.Columns.Add("nrtipojornada", typeof(String));
dt.Columns.Add("nrtiporegimen", typeof(String));
dt.Columns.Add("nrdepartamento", typeof(String));
dt.Columns.Add("nrpuesto", typeof(String));
dt.Columns.Add("nrriesgopuesto", typeof(String));
dt.Columns.Add("nrperiodicidadpago", typeof(String));
dt.Columns.Add("nrbanco", typeof(String));
dt.Columns.Add("nrcuentabancaria", typeof(String));
dt.Columns.Add("nrsalariobasecotapor", typeof(decimal));
dt.Columns.Add("nrsalariodiariointegrado", typeof(decimal));
dt.Columns.Add("nrclaveentfed", typeof(String));
/*E nomina12:receptor*/
/*I nomina12:percepciones*/
dt.Columns.Add("totalsueldos", typeof(decimal));
dt.Columns.Add("totalgravado", typeof(decimal));
dt.Columns.Add("totalexento", typeof(decimal));
/*E nomina12:percepciones*/
/*I nomina12:deducciones*/
dt.Columns.Add("totalotrasdeducciones", typeof(decimal));
dt.Columns.Add("totalimpuestosretenidos", typeof(decimal));
/*E nomina12:deducciones*/
dt.Columns.Add("uuid", typeof(String));
dt.Columns.Add("fechatimbrado", typeof(DateTime));
/*I nomina12:otrospagos*/
//dt.Columns.Add("", typeof(decimal));
/*E nomina12:otrospagos*/
return dt;
}
public string readTimbres()
{
string ruta = string.Format("{0}XML\\Nomina\\", UsuarioActual.Empresa.Ruta);
string keyComprobante = "cfdi:Comprobante";
string keyCfdiRelacionados = "cfdi:CfdiRelacionados".ToUpper();
string keyEmisor = "cfdi:Emisor".ToUpper();
string keyReceptor = "cfdi:Receptor".ToUpper();
string keyConceptos = "cfdi:Conceptos".ToUpper();
string keyImpuestos = "cfdi:Impuestos".ToUpper();
string keyComplemento = "cfdi:Complemento".ToUpper();
string[] PrimerNivel = new string[] { keyCfdiRelacionados, keyEmisor, keyReceptor, keyConceptos, keyImpuestos, keyComplemento };
XmlReaderSettings settings = new XmlReaderSettings();
settings.ConformanceLevel = ConformanceLevel.Fragment;
settings.IgnoreWhitespace = true;
settings.IgnoreComments = true;
DataTable dt = initxmldatatable();
foreach (string txtName in System.IO.Directory.GetFiles(ruta, "*.xml"))
{
DataRow drow = dt.NewRow();
bool canread = true;
using (XmlReader xtr = XmlReader.Create(txtName, settings))
{
while (canread = xtr.Read())
{
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyComprobante.ToUpper())
{
int Nivel = xtr.Depth;
bool cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "SERIE": drow["SERIE"] = xtr.Value; break;
case "FOLIO": drow["FOLIO"] = xtr.Value; break;
case "SUBTOTAL": drow["SUBTOTAL"] = xtr.Value; break;
case "TOTAL": drow["TOTAL"] = xtr.Value; break;
case "DESCUENTO": drow["DESCUENTO"] = xtr.Value; break;
case "TIPODECOMPROBANTE": drow["TIPODECOMPROBANTE"] = xtr.Value; break;
}
switch (xtr.Name.ToUpper())
{
//case "XMLNS:CFDI": xmlCFDI.comprobante.xmlns_cfdi = xtr.Value; break;
//case "XMLNS:XSI": xmlCFDI.comprobante.xmlns_xsi = xtr.Value; break;
//case "XSI:SCHEMALOCATION": xmlCFDI.comprobante.xsi_schemaLocation = xtr.Value; break;
//case "VERSION": xmlCFDI.comprobante.Version = xtr.Value; break;
//case "SERIE": xmlCFDI.comprobante.Serie = xtr.Value; break;
//case "FOLIO": xmlCFDI.comprobante.Folio = xtr.Value; break;
//case "FECHA": xmlCFDI.comprobante.Fecha = xtr.Value; break;
//case "MONEDA": xmlCFDI.comprobante.Moneda = xtr.Value; break;
//case "SUBTOTAL": decimal SubTotal = 0; decimal.TryParse(xtr.Value, out SubTotal); xmlCFDI.comprobante.SubTotal = SubTotal; break;
//case "TOTAL": decimal Total = 0; decimal.TryParse(xtr.Value, out Total); xmlCFDI.comprobante.Total = Total; break;
//case "DESCUENTO": decimal Descuento = 0; decimal.TryParse(xtr.Value, out Descuento); xmlCFDI.comprobante.Descuento = Descuento; break;
//case "TIPOCAMBIO": decimal TipoCambio = 0; decimal.TryParse(xtr.Value, out TipoCambio); xmlCFDI.comprobante.TipoCambio = TipoCambio; break;
//case "TIPODECOMPROBANTE": xmlCFDI.comprobante.TipoDeComprobante = xtr.Value; break;
//case "FORMAPAGO": xmlCFDI.comprobante.FormaPago = xtr.Value; break;
//case "FORMADEPAGO": xmlCFDI.comprobante.FormaPago = xtr.Value; break;
//case "METODOPAGO": xmlCFDI.comprobante.MetodoPago = xtr.Value; break;
//case "METODODEPAGO": xmlCFDI.comprobante.MetodoPago = xtr.Value; break;
//case "CONDICIONESDEPAGO": xmlCFDI.comprobante.CondicionesDePago = xtr.Value; break;
//case "LUGAREXPEDICION": xmlCFDI.comprobante.LugarExpedicion = xtr.Value; break;
//case "CONFIRMACION": xmlCFDI.comprobante.Confirmacion = xtr.Value; break;
//case "NOCERTIFICADO": xmlCFDI.comprobante.NoCertificado = xtr.Value; break;
//case "SELLO": xmlCFDI.comprobante.Sello = xtr.Value; break;
//case "CERTIFICADO": xmlCFDI.comprobante.Certificado = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
cont = xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > Nivel)
{
if (PrimerNivel.Contains(xtr.Name.ToUpper()))
{
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == keyCfdiRelacionados)
{
int cDepth = xtr.Depth;
string TipoRelacion = null;
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "TIPORELACION": TipoRelacion = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth)
{
//if (xtr.Name == "cfdi:CfdiRelacionado")
//{
// CFDIRelacionado cfdir = new CFDIRelacionado();
// cfdir.TipoRelacion = TipoRelacion;
// cfdir.UUID = xtr.GetAttribute("UUID");
// xmlCFDI.cFDIRelacionados.Add(cfdir);
//}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyEmisor.ToUpper())
{
int curentNivel = xtr.Depth;
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
//case "REGIMENFISCAL": xmlCFDI.emisor.RegimenFiscal = xtr.Value; break;
//case "NOMBRE": xmlCFDI.emisor.Nombre = xtr.Value; break;
case "RFC": drow["RFCEmisor"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && curentNivel >= xtr.Depth)) { }//continua hasta que no tenga nodos y (el nodo sea tipo elemnto y ete en el mismo nivel)
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyReceptor.ToUpper())
{
int curentNivel = xtr.Depth;
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "RFC": drow["RFCReceptor"] = xtr.Value; break;
case "NOMBRE": drow["NOMBREReceptor"] = xtr.Value; break;
//case "RESIDENCIAFISCAL": xmlCFDI.receptor.ResidenciaFiscal = xtr.Value; break;
//case "NUMREGIDTRIB": xmlCFDI.receptor.NumRegIdTrib = xtr.Value; break;
//case "USOCFDI": xmlCFDI.receptor.UsoCFDI = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
while ((canread = xtr.Read()) && !(xtr.NodeType == XmlNodeType.Element && curentNivel >= xtr.Depth)) { }//continua hasta que no tenga nodos y (el nodo sea tipo elemnto y ete en el mismo nivel)
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyConceptos.ToUpper())
{
int cDepth = xtr.Depth;
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth)
{
if (xtr.Name == "cfdi:Concepto")
{
int cDepthb = xtr.Depth;
//CFDIConcepto concepto = new CFDIConcepto();
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
//case "CLAVEPRODSERV": concepto.ClaveProdServ = xtr.Value; break;
//case "NOIDENTIFICACION": concepto.NoIdentificacion = xtr.Value; break;
//case "CANTIDAD": concepto.Cantidad = xtr.Value; break;
//case "CLAVEUNIDAD": concepto.ClaveUnidad = xtr.Value; break;
//case "UNIDAD": concepto.Unidad = xtr.Value; break;
//case "VALORUNITARIO": decimal ValorUnitario = 0; decimal.TryParse(xtr.Value, out ValorUnitario); concepto.ValorUnitario = ValorUnitario; ; break;
//case "IMPORTE": decimal Importe = 0; decimal.TryParse(xtr.Value, out Importe); concepto.Importe = Importe; ; break;
//case "DESCUENTO": decimal DDescuento = 0; decimal.TryParse(xtr.Value, out DDescuento); concepto.Descuento = DDescuento; ; break;
//case "DESCRIPCION": concepto.Descripcion = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepthb)
{
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "cfdi:Impuestos")
{
int cDepthc = xtr.Depth;
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepthc)
{
if (xtr.Name == "cfdi:Traslado" || xtr.Name == "cfdi:Retencion")
{
//CFDIConceptoImpuesto impuesto = new CFDIConceptoImpuesto();
//impuesto.Impuesto = xtr.GetAttribute("Impuesto");
//impuesto.Tipo = xtr.LocalName;
//decimal Base = 0;
//decimal.TryParse(xtr.GetAttribute("Base"), out Base);
//impuesto.Base = Base;
//impuesto.TipoFactor = xtr.GetAttribute("TipoFactor");
//decimal tasaOCuota = 0;
//decimal.TryParse(xtr.GetAttribute("TasaOCuota"), out tasaOCuota);
//impuesto.TasaOCuota = impuesto.TipoFactor == "Tasa" ? (tasaOCuota * 100).ToString("N4") : xtr.GetAttribute("TasaOCuota");
//decimal ImImporte = 0;
//decimal.TryParse(xtr.GetAttribute("Importe"), out ImImporte);
//impuesto.Importe = ImImporte;
//concepto.Impuestos.Add(impuesto);
}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
else
{
bool rednew = true;
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "cfdi:InformacionAduanera")
{
//concepto.NumeroPedimento = xtr.GetAttribute("NumeroPedimento");
rednew = false; while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "cfdi:CuentaPredial")
{
//concepto.CuentaPredial = xtr.GetAttribute("CuentaPredial");
rednew = false; while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
if (rednew) { while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { } }
}
}
//xmlCFDI.conceptos.Add(concepto);
}
}
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyImpuestos.ToUpper())
{
int cDepth = xtr.Depth;
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth)
{
//CFDIImpuesto impuest = new CFDIImpuesto();
//if (xtr.Name == "cfdi:Traslado" || xtr.Name == "cfdi:Retencion" && xmlCFDI.comprobante.Version != null)
//{
// impuest.Tipo = xtr.LocalName == "Traslado" ? "Traslados" : (xtr.LocalName == "Retencion" ? "Retenciones" : "");
// impuest.Impuesto = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("Impuesto") : xtr.GetAttribute("impuesto");
// impuest.TipoFactor = xtr.GetAttribute("TipoFactor");
// impuest.TasaOCuota = xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("TasaOCuota") : xtr.GetAttribute("tasa");
// decimal ImImporte = 0;
// decimal.TryParse((xmlCFDI.comprobante.Version == "3.3" ? xtr.GetAttribute("Importe") : xtr.GetAttribute("importe")), out ImImporte);
// impuest.Importe = ImImporte;
// xmlCFDI.Impuestos.Add(impuest);
//}
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == keyComplemento.ToUpper())
{
int cDepth = xtr.Depth;
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > cDepth)
{
//string version = xmlCFDI.comprobante.Version != null ? xmlCFDI.comprobante.Version : "";
if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName.ToUpper() == "TimbreFiscalDigital".ToUpper())
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "UUID": drow["uuid"] = xtr.Value; break;
case "FECHATIMBRADO": drow["fechatimbrado"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
//xmlCFDI.complemento.xmlns_tfd = xtr.GetAttribute("xmlns:tfd");
//xmlCFDI.complemento.xsi_schemaLocation = xtr.GetAttribute("xsi:schemaLocation");
//xmlCFDI.complemento.Version = xtr.GetAttribute("Version");
//xmlCFDI.complemento.UUID = xtr.GetAttribute("UUID");
//xmlCFDI.complemento.FechaTimbrado = xtr.GetAttribute("FechaTimbrado");
//xmlCFDI.complemento.RfcProvCertif = xtr.GetAttribute("RfcProvCertif");
//xmlCFDI.complemento.SelloCFD = version == "3.3" ? xtr.GetAttribute("SelloCFD") : xtr.GetAttribute("selloCFD");
//xmlCFDI.complemento.NoCertificadoSAT = version == "3.3" ? xtr.GetAttribute("NoCertificadoSAT") : xtr.GetAttribute("noCertificadoSAT");
//xmlCFDI.complemento.SelloSAT = version == "3.3" ? xtr.GetAttribute("SelloSAT") : xtr.GetAttribute("selloSAT");
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.LocalName == "Pagos")
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
//xmlCFDI.complemento.Pagos = new CFDIPago();
int depthpagos = xtr.Depth;
bool conts = xtr.MoveToFirstAttribute();
while (conts)
{
decimal Base = 0;
switch (xtr.Name.ToUpper())
{
//case "FECHAPAGO": xmlCFDI.complemento.Pagos.FechaPago = xtr.Value; break;
//case "FORMADEPAGOP": xmlCFDI.complemento.Pagos.FormaDePagoP = xtr.Value; break;
//case "FORMADEPAGOPTEXT": xmlCFDI.complemento.Pagos.FormaDePagoPText = xtr.Value; break;
//case "MONEDAP": xmlCFDI.complemento.Pagos.MonedaP = xtr.Value; break;
//case "MONTO": decimal.TryParse(xtr.Value, out Base); xmlCFDI.complemento.Pagos.Monto = Base; break;
//case "TIPOCAMBIOP": decimal.TryParse(xtr.Value, out Base); xmlCFDI.complemento.Pagos.TipoCambioP = Base; break;
//case "NUMOPERACION": xmlCFDI.complemento.Pagos.NumOperacion = xtr.Value; break;
//case "NOMBANCOORDEXT": xmlCFDI.complemento.Pagos.NomBancoOrdExt = xtr.Value; break;
//case "RFCEMISORCTAORD": xmlCFDI.complemento.Pagos.RfcEmisorCtaOrd = xtr.Value; break;
//case "CTAORDENANTE": xmlCFDI.complemento.Pagos.CtaOrdenante = xtr.Value; break;
//case "RFCEMISORCTABEN": xmlCFDI.complemento.Pagos.RfcEmisorCtaBen = xtr.Value; break;
//case "CTABENEFICIARIO": xmlCFDI.complemento.Pagos.CtaBeneficiario = xtr.Value; break;
}
conts = xtr.MoveToNextAttribute();
}
conts = xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
while (canread && xtr.Depth > depthpagos)
{
//CFDIPagoDoctoRelacionado objpago = new CFDIPagoDoctoRelacionado();
conts = xtr.MoveToFirstAttribute();
while (conts)
{
decimal Basep = 0;
switch (xtr.Name.ToUpper())
{
//case "IDDOCUMENTO": objpago.IdDocumento = xtr.Value; break;
//case "SERIE": objpago.Serie = xtr.Value; break;
//case "FOLIO": objpago.Folio = xtr.Value; break;
//case "MONEDADR": objpago.MonedaDR = xtr.Value; break;
//case "METODODEPAGODR": objpago.MetodoDePagoDR = xtr.Value; break;
//case "NUMPARCIALIDAD": objpago.NumParcialidad = xtr.Value; break;
//case "IMPSALDOANT": decimal.TryParse(xtr.Value, out Basep); objpago.ImpSaldoAnt = Basep; break;
//case "IMPPAGADO": decimal.TryParse(xtr.Value, out Basep); objpago.ImpPagado = Basep; break;
//case "IMPSALDOINSOLUTO": decimal.TryParse(xtr.Value, out Basep); objpago.ImpSaldoInsoluto = Basep; break;
}
conts = xtr.MoveToNextAttribute();
}
conts = xtr.MoveToFirstAttribute();
//xmlCFDI.complemento.Pagos.doctosRelacionados.Add(objpago);
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "nomina12:Nomina".ToUpper())
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "TIPONOMINA": drow["tiponomina"] = xtr.Value; break;
case "FECHAPAGO": drow["fechapago"] = xtr.Value; break;
case "FECHAINICIALPAGO": drow["fechainicialpago"] = xtr.Value; break;
case "FECHAFINALPAGO": drow["fechafinalpago"] = xtr.Value; break;
case "NUMDIASPAGADOS": drow["numdiaspagados"] = xtr.Value; break;
case "TOTALPERCEPCIONES": drow["totalpercepciones"] = xtr.Value; break;
case "TOTALDEDUCCIONES": drow["totaldeducciones"] = xtr.Value; break;
case "TOTALOTROSPAGOS": drow["totalotrospagos"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "nomina12:emisor".ToUpper())
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "REGISTROPATRONAL": drow["registropatronal"] = xtr.Value; break;
case "RFCPATRONORIGEN": drow["rfcpatronorigen"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name.ToUpper() == "nomina12:Receptor".ToUpper())
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "CURP": drow["nrcurp"] = xtr.Value; break;
case "NUMSEGURIDADSOCIAL": drow["nrnumseguridadsocial"] = xtr.Value; break;
case "FECHAINICIORELLABORAL": drow["nrfechainiciorellaboral"] = xtr.Value; break;
case "ANTIGÜEDAD": drow["nrantiguedad"] = xtr.Value; break;
case "TIPOCONTRATO": drow["nrtipocontrato"] = xtr.Value; break;
case "SINDICALIZADO": drow["nrsindicalizado"] = xtr.Value; break;
case "TIPOJORNADA": drow["nrtipojornada"] = xtr.Value; break;
case "TIPOREGIMEN": drow["nrtiporegimen"] = xtr.Value; break;
case "NUMEMPLEADO": drow["nrnumempleado"] = xtr.Value; break;
case "DEPARTAMENTO": drow["nrdepartamento"] = xtr.Value; break;
case "PUESTO": drow["nrpuesto"] = xtr.Value; break;
case "RIESGOPUESTO": drow["nrriesgopuesto"] = xtr.Value; break;
case "PERIODICIDADPAGO": drow["nrperiodicidadpago"] = xtr.Value; break;
case "BANCO": drow["nrbanco"] = xtr.Value; break;
case "CUENTABANCARIA": drow["nrcuentabancaria"] = xtr.Value; break;
case "SALARIOBASECOTAPOR": drow["nrsalariobasecotapor"] = xtr.Value; break;
case "SALARIODIARIOINTEGRADO": drow["nrsalariodiariointegrado"] = xtr.Value; break;
case "CLAVEENTFED": drow["nrclaveentfed"] = xtr.Value; break;
case "": drow[""] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "nomina12:Percepciones")
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "TOTALSUELDOS": drow["totalsueldos"] = xtr.Value; break;
case "TOTALGRAVADO": drow["totalgravado"] = xtr.Value; break;
case "TOTALEXENTO": drow["totalexento"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "nomina12:Percepcion")
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "nomina12:Deducciones")
{
cont = xtr.MoveToFirstAttribute();
while (cont)
{
switch (xtr.Name.ToUpper())
{
case "TOTALOTRASDEDUCCIONES": drow["totalotrasdeducciones"] = xtr.Value; break;
case "TOTALIMPUESTOSRETENIDOS": drow["totalimpuestosretenidos"] = xtr.Value; break;
}
cont = xtr.MoveToNextAttribute();
}
xtr.MoveToFirstAttribute();
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else if (xtr.NodeType == XmlNodeType.Element && xtr.Name == "nomina12:Deduccion")
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
else
{
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
}
}
else
{
//si no entro en ninguna de los anteriores no se debe ciclar
while ((canread = xtr.Read()) && xtr.NodeType != XmlNodeType.Element) { }
}
}
}
}
}
dt.Rows.Add(drow);
//using (StreamReader sr = new StreamReader(txtName))
//{
// sb.AppendLine(txtName.ToString());
// sb.AppendLine("= = = = = =");
// sb.Append(sr.ReadToEnd());
// sb.AppendLine();
// sb.AppendLine();
//}
}
dt.TableName = "satxml";
//GVNominasXmlsat.DataSource = dt;
//GVNominasXmlsat.DataBind();
System.Xml.Linq.XDocument doc = new System.Xml.Linq.XDocument();
System.Xml.Linq.XElement element = new System.Xml.Linq.XElement("XmlNominas");
foreach (DataRow item in dt.Rows)
{
System.Xml.Linq.XElement elementrow = new System.Xml.Linq.XElement("nom");
foreach (DataColumn col in dt.Columns)
{
System.Xml.Linq.XElement elementcol = new System.Xml.Linq.XElement(col.ColumnName);
if (col.DataType ==typeof(DateTime ))
{
if (item[col.ColumnName] == null) { } else
{
elementcol.Value =string.Format("{0:yyyy/MM/dd HH}:{0:mm}:{0:ss}", item[col.ColumnName]);
}
}
else
{
elementcol.Value = item[col.ColumnName].ToString();
}
//elementrow.SetAttributeValue(new System.Xml.Linq.XName() {LocalName(col.ColumnName) }, item[col.ColumnName]);
elementrow.Add(elementcol);
}
element.Add(elementrow);
}
doc.Add(element);
// new System.Xml.Linq.XDocument(new System.Xml.Linq.XElement("XmlNominas", dt.Rows.Select(x => new System.Xml.Linq.XElement("XmlNomina", x))));
//System.IO.StringWriter writer = new System.IO.StringWriter();
//dt.WriteXml(writer, XmlWriteMode.WriteSchema, false);
return doc.ToString();
}
public void loadinfo()
{
string xml =readTimbres();
using (ClsNominas onom = new ClsNominas())
{
if (onom.ComparativoSATNominasGet(UsuarioActual.CveEmpresa, xml, TxtRpdFechaInicio.Text.ToDateTime(), TxtRpdFechaFin.Text.ToDateTime(), DdlTipoPeriodo.SelectedValue.ToEntero()) )
{
GVNominasXmlsat.DataSource = onom.DtResultados ;
GVNominasXmlsat.DataBind();
}
}
Updatos.Update();
}
//public bool AddUnoaUnoCuestionario(string Cuestionario, string Comentario, int CveUsuario, List<int> ListPreguntas, int CveEmpresa)
//{
// bool retorno = false;
// System.Xml.Linq.XDocument xmlPreguntas = null;
// if (ListPreguntas != null && ListPreguntas.Count > 0)
// xmlPreguntas = new System.Xml.Linq.XDocument(new System.Xml.Linq.XElement("Preguntas", ListPreguntas.Select(x => new System.Xml.Linq.XElement("CveUnoaUnoPregunta", x))));
// DataAdapter("PA_OI_UnoaUnoCuestionarioAdd", CommandType.StoredProcedure);
// {
// var withBlock = SqlAdapter.SelectCommand.Parameters;
// withBlock.Add("@Cuestionario", SqlDbType.VarChar).Value = (Cuestionario);
// withBlock.Add("@Comentario", SqlDbType.VarChar).Value = (Comentario);
// withBlock.Add("@CveUsuario", SqlDbType.Int).Value = (CveUsuario);
// withBlock.Add("@CveEmpresa", SqlDbType.Int).Value = (CveEmpresa);
// withBlock.Add("@xmlPreguntas", SqlDbType.Xml).Value = xmlPreguntas == null ? DBNull.Value : (object)xmlPreguntas.ToString();
// }
// try
// {
// SqlAdapter.Fill(Data);
// retorno = true;
// }
// catch (Exception ex)
// {
// OnError("Ocurrió un error al agregar el cuestionario.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo());
// }
// return retorno;
//}
protected void LnkConsultar_Click(object sender, EventArgs e)
{
loadinfo();
}
protected void GVNominasXmlsat_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.DataKey("Tipo") == "1")
{
e.Row.CssClass = "SubTotales";
}
}
}
}

View File

@@ -9,6 +9,10 @@
content: "\f1c1"; content: "\f1c1";
} }
label.compoonenlabel {
padding-top: 5px;
}
.lblforchk { .lblforchk {
font-size: 13px; font-size: 13px;
color: #888888; color: #888888;
@@ -252,19 +256,19 @@
<div class="portlet-title portlet-filterT smalltitle"> <div class="portlet-title portlet-filterT smalltitle">
<div class="titlefiltros caption"> <div class="titlefiltros caption">
<div class="row"> <div class="row">
<label class="col-md-1" style="max-width: 65px;">Ejercicio: </label> <label class="col-md-1 compoonenlabel" style="max-width: 65px;">Ejercicio: </label>
<div class="col-md-1"> <div class="col-md-1">
<asp:DropDownList ID="DdlEjercicios" runat="server" OnSelectedIndexChanged="DdlEjercicios_SelectedIndexChanged" Style="width: 100% !important;" CssClass="select2me" DataValueField="Ejercicio" DataTextField="Ejercicio"></asp:DropDownList> <asp:DropDownList ID="DdlEjercicios" runat="server" OnSelectedIndexChanged="DdlEjercicios_SelectedIndexChanged" Style="width: 100% !important;" CssClass="select2me" DataValueField="Ejercicio" DataTextField="Ejercicio"></asp:DropDownList>
</div> </div>
<label class="col-md-1" style="max-width: 100px;">Tipo Período:</label> <label class="col-md-1 compoonenlabel" style="max-width: 100px;">Tipo Período:</label>
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList ID="DdlTipoPeriodo" runat="server" OnSelectedIndexChanged="DdlTipoPeriodo_SelectedIndexChanged" CssClass="select2me" AutoPostBack="true" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Style="width: 100% !important;"> <asp:DropDownList ID="DdlTipoPeriodo" runat="server" OnSelectedIndexChanged="DdlTipoPeriodo_SelectedIndexChanged" CssClass="select2me" AutoPostBack="true" DataTextField="TipoPeriodo" DataValueField="CveTipoPeriodo" Style="width: 100% !important;">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<label class="col-md-1">Período:</label> <label class="col-md-1 compoonenlabel">Período:</label>
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList ID="DdlPeriodo" runat="server" OnSelectedIndexChanged="DdlPeriodo_SelectedIndexChanged" CssClass="select2me" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Style="width: 100% !important;" AutoPostBack="True"> <asp:DropDownList ID="DdlPeriodo" runat="server" OnSelectedIndexChanged="DdlPeriodo_SelectedIndexChanged" CssClass="select2me" DataTextField="NominaEstatus" DataValueField="CvePeriodo" Style="width: 100% !important;" AutoPostBack="True">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
@@ -272,16 +276,6 @@
</div> </div>
<label class="col-md-1 " style="max-width: 65px;">Turno:</label>
<div class="col-md-1" style="max-width: 110px !important;">
<asp:DropDownList ID="DdlTurno" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="Turno" DataValueField="CveTurno" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList></td>
</div>
<div class="col-md-1" style="max-width: 110px !important; white-space:nowrap; ">
<label >Obligaciones:</label>
<asp:CheckBox ID="Chkobligaciones" CssClass ="chksino" runat="server" />
</div>
<div class="col-md-1"> <div class="col-md-1">
<asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Calcular" Visible="False" class="btn btn-primary" /> <asp:LinkButton ID="LnkConsultar" OnClick="LnkConsultar_Click" runat="server" Text="Calcular" Visible="False" class="btn btn-primary" />
@@ -310,19 +304,25 @@
<asp:ListItem Text="Turno" Value="3"></asp:ListItem> <asp:ListItem Text="Turno" Value="3"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<asp:Label ID="LblProyecto" CssClass="col-md-1 " runat="server" Text="Proyecto:" Style="max-width: 100px;"></asp:Label> <asp:Label ID="LblProyecto" CssClass="col-md-1 compoonenlabel" runat="server" Text="Proyecto:" Style="max-width: 100px;"></asp:Label>
<div runat="server" id="divddlproyeto" class="col-md-2"> <div runat="server" id="divddlproyeto" class="col-md-2">
<asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar"> <asp:DropDownList ID="DdlProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<asp:Label ID="LblSubProyeccto" CssClass="col-md-1 " runat="server" Text="SubProyecto:" Style="max-width: 100px;"></asp:Label> <asp:Label ID="LblSubProyeccto" CssClass="col-md-1 compoonenlabel" runat="server" Text="SubProyecto:" Style="max-width: 103px;"></asp:Label>
<div class="col-md-2"> <div class="col-md-2">
<asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar"> <asp:DropDownList ID="DdlSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem> <asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<asp:Label ID="LblFechaPago" runat="server" Visible="false" CssClass="col-md-1 ">Fecha Pago:</asp:Label> <label class="col-md-1 compoonenlabel" style="max-width: 65px;">Turno:</label>
<div class="col-md-1" style="max-width: 110px !important;">
<asp:DropDownList ID="DdlTurno" runat="server" AppendDataBoundItems="true" CssClass="select2me" DataTextField="Turno" DataValueField="CveTurno" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList></td>
</div>
<asp:Label ID="LblFechaPago" runat="server" Visible="false" CssClass="col-md-1 compoonenlabel">Fecha Pago:</asp:Label>
<div class="col-md-1" id="DivFechaPago" runat="server" visible="false"> <div class="col-md-1" id="DivFechaPago" runat="server" visible="false">
<div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;"> <div class="input-group input-sm input-small date date-picker " data-date-format="dd/mm/yyyy" style="width: 110px !important; padding: 0px; margin-bottom: -10px;">
<asp:TextBox ID="TxtFechaPago" runat="server" CssClass="form-control" CausesValidation="true" Width="100%" MaxLength="10"></asp:TextBox> <asp:TextBox ID="TxtFechaPago" runat="server" CssClass="form-control" CausesValidation="true" Width="100%" MaxLength="10"></asp:TextBox>
@@ -341,7 +341,7 @@
<div class="row"> <div class="row">
<label class="col-md-1 " style="line-height: 1; max-width: 65px;">Régimen:</label> <label class="col-md-1 compoonenlabel" style="line-height: 1; max-width: 65px;">Régimen:</label>
<div class="col-md-1"> <div class="col-md-1">
<asp:DropDownList ID="DdlRegimenContratacion" runat="server" Style="width: 100% !important;" CssClass="select2me"> <asp:DropDownList ID="DdlRegimenContratacion" runat="server" Style="width: 100% !important;" CssClass="select2me">
<asp:ListItem Text="Asalariados" Value="1"></asp:ListItem> <asp:ListItem Text="Asalariados" Value="1"></asp:ListItem>
@@ -349,6 +349,10 @@
<asp:ListItem Text="Todos" Value="3"></asp:ListItem> <asp:ListItem Text="Todos" Value="3"></asp:ListItem>
</asp:DropDownList> </asp:DropDownList>
</div> </div>
<div class="col-md-2" style="max-width: 160px !important; white-space: nowrap;">
<label class="compoonenlabel">ver Obligaciones:</label>
<asp:CheckBox ID="Chkobligaciones" Text=" " CssClass="chksino" runat="server" />
</div>
</div> </div>
</div> </div>
@@ -592,33 +596,65 @@
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPersonal" runat="server" Text=""></asp:TextBox> <asp:TextBox CssClass="form-control" ID="TxtPersonal" runat="server" Text=""></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtPersonal" Text="Empleado"></asp:Label> <asp:Label runat="server" AssociatedControlID="TxtPersonal" Enabled="false" Text="Empleado"></asp:Label>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="row">
<asp:DropDownList ID="DdlTipoAsistencias" runat="server" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias" <div class="col-md-8">
CssClass="form-control select2me" Style="width: 100% !important;" ValidationGroup="GrpGuardarAsistencia"> <div class="form-group form-md-line-input input-iconright">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:DropDownList ID="DdlTipoAsistencias" runat="server" DataTextField="Tipo" DataValueField="CveAsistenciasInasistencias"
</asp:DropDownList> CssClass="form-control select2me" Style="width: 100% !important;" ValidationGroup="GrpGuardarAsistencia">
<asp:Label runat="server" AssociatedControlID="DdlTipoAsistencias" Text="Asistencia"></asp:Label> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlTipoAsistencias" Text="Asistencia"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtPorPago" runat="server" Text=""></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtPorPago" Text="Porcentaje Pago"></asp:Label>
</div>
</div>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="row">
<asp:TextBox CssClass="form-control" ID="TxtPorPago" runat="server" Text=""></asp:TextBox> <div class="col-md-4">
<asp:Label runat="server" AssociatedControlID="TxtPorPago" Text="Porcentaje Pago"></asp:Label> <div class="form-group form-md-line-input input-iconright">
</div> <asp:TextBox CssClass="form-control " ID="TxtHorasDobles" runat="server" MaxLength="3" Text="0"></asp:TextBox>
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control " ID="TxtHorasDobles" runat="server" MaxLength="3" Text="0"></asp:TextBox></td>
<asp:Label runat="server" AssociatedControlID="TxtHorasDobles" Text="Horas Dobles"></asp:Label> <asp:Label runat="server" AssociatedControlID="TxtHorasDobles" Text="Horas Dobles"></asp:Label>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> </div>
<asp:TextBox CssClass="form-control " ID="TxtHorasTriples" runat="server" MaxLength="3" Text="0"></asp:TextBox></td> <div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control " ID="TxtHorasTriples" runat="server" MaxLength="3" Text="0"></asp:TextBox>
<asp:Label runat="server" AssociatedControlID="TxtHorasTriples" Text="Horas Triples"></asp:Label> <asp:Label runat="server" AssociatedControlID="TxtHorasTriples" Text="Horas Triples"></asp:Label>
</div>
</div>
<div class="col-md-4">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlMotivoHoraExtra" runat="server" AppendDataBoundItems="true" DataTextField="MotivoHoraExtra" DataValueField="CveMotivoHoraExtra"
CssClass="form-control select2me" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlMotivoHoraExtra" Text="Motivo Hora Extra"></asp:Label>
</div>
</div>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="row">
<asp:DropDownList ID="DdlMotivoHoraExtra" runat="server" AppendDataBoundItems="true" DataTextField="MotivoHoraExtra" DataValueField="CveMotivoHoraExtra" <asp:Panel ID="PnlProyecto" CssClass="col-md-6" runat="server">
CssClass="form-control select2me" Width="100%"> <div class="form-group form-md-line-input input-iconright">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem> <asp:DropDownList ID="DdlAsisProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" AutoPostBack="true" DataTextField="Proyecto" DataValueField="CveProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
</asp:DropDownList> <asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:Label runat="server" AssociatedControlID="DdlMotivoHoraExtra" Text="Motivo Hora Extra"></asp:Label> </asp:DropDownList>
<asp:Label ID="LblAsisProyecto" AssociatedControlID="DdlAsisProyecto" runat="server" Text="Proyecto:"></asp:Label>
</div>
</asp:Panel>
<asp:Panel ID="PnlSubProyecto" CssClass="col-md-12" runat="server">
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlAsisSubProyecto" runat="server" AppendDataBoundItems="true" CssClass="form-control select2me" DataTextField="SubProyecto" DataValueField="CveSubProyecto" Style="width: 100% !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label ID="LblAsisSubProyecto" AssociatedControlID="DdlAsisSubProyecto" runat="server" Text="SubProyecto:"></asp:Label>
</div>
</asp:Panel>
</div> </div>
<div class="form-group form-md-line-input input-iconright"> <div class="form-group form-md-line-input input-iconright">
<asp:TextBox CssClass="form-control" ID="TxtObservaciones" runat="server" MaxLength="150"></asp:TextBox> <asp:TextBox CssClass="form-control" ID="TxtObservaciones" runat="server" MaxLength="150"></asp:TextBox>
@@ -2330,7 +2366,8 @@
<tr id="trnetoapagar"> <tr id="trnetoapagar">
<td colspan="5" class="text-left">Neto a pagar</td> <td colspan="5" class="text-left">Neto a pagar</td>
<td colspan="1"> <td colspan="1">
<asp:TextBox ID="TxtNetoaPagar" CssClass="maskedmoney txtgridsimula" runat="server"></asp:TextBox></td> <asp:TextBox ID="TxtNetoaPagar" CssClass="maskedmoney txtgridsimula" runat="server"></asp:TextBox>
</td>
<td colspan="3"></td> <td colspan="3"></td>
</tr> </tr>

View File

@@ -195,7 +195,13 @@ public partial class Nomina_Nomina2 : ClsPaginas
LnkVerCalculoISR.Visible = (UsuarioActual.CveUsuario == 100); LnkVerCalculoISR.Visible = (UsuarioActual.CveUsuario == 100);
TxtPeriodo.Text = $"{DateTime.Now:yyyyMM}"; TxtPeriodo.Text = $"{DateTime.Now:yyyyMM}";
CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyeccto); CargarCentrosDeCosto(DdlProyecto, DdlSubProyecto, LblProyecto, LblSubProyeccto);
CargarCentrosDeCosto(DdlAsisProyecto, DdlAsisSubProyecto, LblAsisProyecto, LblAsisSubProyecto);
divddlproyeto.Visible = DdlProyecto.Visible; divddlproyeto.Visible = DdlProyecto.Visible;
PnlProyecto.Visible = DdlProyecto.Visible;
if (PnlProyecto.Visible)
{
PnlSubProyecto.CssClass = "col-md-6";
}
cargaEjercicios(); cargaEjercicios();
CargaTiposPeriodo(); CargaTiposPeriodo();
cargaPeriodos(); cargaPeriodos();
@@ -4900,7 +4906,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
using (ClsRH objpersonal = new ClsRH()) using (ClsRH objpersonal = new ClsRH())
{ {
if (objpersonal.AddAsistencia(CvePersonal, -1, -1, fecha, DdlTipoAsistencias.SelectedValue.ToEntero(), TxtPorPago.Text.Trim().ToDouble(), TxtHorasDobles.Text.Trim().ToDouble(), if (objpersonal.AddAsistencia(CvePersonal, -1, DdlAsisSubProyecto.SelectedValue.ToEntero(), fecha, DdlTipoAsistencias.SelectedValue.ToEntero(), TxtPorPago.Text.Trim().ToDouble(), TxtHorasDobles.Text.Trim().ToDouble(),
TxtHorasTriples.Text.Trim().ToDouble(), DdlMotivoHoraExtra.SelectedValue.ToEntero(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) TxtHorasTriples.Text.Trim().ToDouble(), DdlMotivoHoraExtra.SelectedValue.ToEntero(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{ {
@@ -4915,6 +4921,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
DateTime fecha = TxtasisFecha.Text.ToDate(); DateTime fecha = TxtasisFecha.Text.ToDate();
DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal={0}", CvePersonal)); DataRow drow = dtempleados.FiltroPrimero(string.Format("CvePersonal={0}", CvePersonal));
TxtPersonal.Text = drow["nombre"].ToString(); TxtPersonal.Text = drow["nombre"].ToString();
DdlAsisSubProyecto.SelectedValueExist("-1");
if (DdlTipoAsistencias.Items.Count == 1) if (DdlTipoAsistencias.Items.Count == 1)
{ {
DdlTipoAsistencias.DataSource = GlobalDTAsistenciasInasistencias.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa)); DdlTipoAsistencias.DataSource = GlobalDTAsistenciasInasistencias.FiltraParametros(string.Format("CveEmpresa = {0}", UsuarioActual.CveEmpresa));
@@ -4935,6 +4942,7 @@ public partial class Nomina_Nomina2 : ClsPaginas
{ {
DataRow dr = objpersonal.DtResultados.Rows[0]; DataRow dr = objpersonal.DtResultados.Rows[0];
DdlTipoAsistencias.SelectedValueExist(dr["CveAsistenciasInasistencias"].ToString()); DdlTipoAsistencias.SelectedValueExist(dr["CveAsistenciasInasistencias"].ToString());
DdlAsisSubProyecto.SelectedValueExist(dr["CveSubProyecto"].ToString());
TxtPorPago.Text = dr["PorcentajePago"].ToString(); TxtPorPago.Text = dr["PorcentajePago"].ToString();
TxtHorasDobles.Text = dr["HorasDobles"].ToString(); TxtHorasDobles.Text = dr["HorasDobles"].ToString();
TxtHorasTriples.Text = dr["HorasTriples"].ToString(); TxtHorasTriples.Text = dr["HorasTriples"].ToString();

View File

@@ -845,27 +845,27 @@ Partial Class OC
'Nuevo Proceso que permite modificar detalles 'Nuevo Proceso que permite modificar detalles
'If Not UsuarioActual.TienePermisoProceso(131) Then 'If Not UsuarioActual.TienePermisoProceso(131) Then
If GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows.Count > 0 Then If GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus)).Rows.Count > 0 Then
Dim Dr As DataRow Dim Dr As DataRow
Dr = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus))(0) Dr = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus))(0)
If UsuarioActual.TienePermisoProceso(203) And Dr("TipoTermino").ToString.ToEntero = 3 And Dr("Tipo").ToString = "OC" Then If (UsuarioActual.TienePermisoProceso(203)) AndAlso Dr("TipoTermino").ToString.ToEntero = 3 AndAlso Dr("Tipo").ToString = "OC" Then
CargaClasificaciones() CargaClasificaciones()
DesHabilitar() If Not UsuarioActual.TienePermisoProceso(131) Then DesHabilitar()
GvD.Columns(9).Visible = True GvD.Columns(9).Visible = True
LbAgregar.Enabled = True LbAgregar.Enabled = True
txtPrecioUnitario.Enabled = True txtPrecioUnitario.Enabled = True
DdlProyecto.Enabled = True DdlProyecto.Enabled = True
DdlSubProyecto.Enabled = True DdlSubProyecto.Enabled = True
TxtObsPS.Enabled = True TxtObsPS.Enabled = True
CboUnidadMedida.Enabled = True CboUnidadMedida.Enabled = True
DdlClasificacion.Enabled = True DdlClasificacion.Enabled = True
DdlP2.Enabled = True DdlP2.Enabled = True
TxtCant.Enabled = True TxtCant.Enabled = True
BtnGuardar.Enabled = True BtnGuardar.Enabled = True
BtnCancelar.Enabled = True BtnCancelar.Enabled = True
ElseIf Dr("TipoTermino").ToString.ToEntero = 3 And Dr("Tipo").ToString = "OC" Then ElseIf Dr("TipoTermino").ToString.ToEntero = 3 And Dr("Tipo").ToString = "OC" AndAlso Not UsuarioActual.TienePermisoProceso(131) Then
DesHabilitar() DesHabilitar()
End If
End If End If
End If
'End If 'End If
'NO PERMITE REGISTRAR PS 'NO PERMITE REGISTRAR PS
@@ -3594,9 +3594,6 @@ Partial Class OC
If Not (e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5) Then If Not (e.Row.RowState = DataControlRowState.Edit OrElse e.Row.RowState = 5) Then
If e.Row.RowState = DataControlRowState.Normal Or e.Row.RowState = DataControlRowState.Alternate Then If e.Row.RowState = DataControlRowState.Normal Or e.Row.RowState = DataControlRowState.Alternate Then
If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Or UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then If UsuarioActual.Empresa.Tipo_CentroCosto = 1 Or UsuarioActual.Empresa.Tipo_CentroCosto = 2 Then
Dim Str As String = e.Row.DBCampo("SubProyecto") Dim Str As String = e.Row.DBCampo("SubProyecto")
@@ -3609,7 +3606,6 @@ Partial Class OC
'comente esta linea, RMF: 2015.04.20 'comente esta linea, RMF: 2015.04.20
'If DtEstatusUsuarios.FiltraParametros(String.Format("CveSubProyecto = {0}", e.Row.DBCampo("CveSubProyecto"))).Rows.Count = 0 Then e.Row.FCImageButton("ImgEdit").Visible = False : e.Row.FCImageButton("ImgDelete").Visible = False 'If DtEstatusUsuarios.FiltraParametros(String.Format("CveSubProyecto = {0}", e.Row.DBCampo("CveSubProyecto"))).Rows.Count = 0 Then e.Row.FCImageButton("ImgEdit").Visible = False : e.Row.FCImageButton("ImgDelete").Visible = False
If TipoOC = "OC" AndAlso Not IsDBNull(e.Row.DBCampo("CveOrdenCompraPadre")) AndAlso IsNumeric(e.Row.DBCampo("CveOrdenCompraPadre")) Then If TipoOC = "OC" AndAlso Not IsDBNull(e.Row.DBCampo("CveOrdenCompraPadre")) AndAlso IsNumeric(e.Row.DBCampo("CveOrdenCompraPadre")) Then
GvD.Columns(10).Visible = True GvD.Columns(10).Visible = True
lblTipoPadreHijo.Visible = True lblTipoPadreHijo.Visible = True
@@ -3623,10 +3619,6 @@ Partial Class OC
'CveAFVinculado 'CveAFVinculado
e.Row.FCLiteral("LitMaq").Text = String.Format("<a class='Texto' href='../AF/AF.aspx?CveActivoFijo={0}'>{1}</a>", e.Row.DBCampo("CveActivoFijo"), e.Row.DBCampo("CodigoAF")) e.Row.FCLiteral("LitMaq").Text = String.Format("<a class='Texto' href='../AF/AF.aspx?CveActivoFijo={0}'>{1}</a>", e.Row.DBCampo("CveActivoFijo"), e.Row.DBCampo("CodigoAF"))
'CveCompraDetalle Vinculada 'CveCompraDetalle Vinculada
Dim ObjOC As New ClsOC Dim ObjOC As New ClsOC
If ObjOC.GetOCVinculadasPendientes(e.Row.DBCampo("CveOrdenCompraDetalle").ToEntero) Then If ObjOC.GetOCVinculadasPendientes(e.Row.DBCampo("CveOrdenCompraDetalle").ToEntero) Then
@@ -3680,8 +3672,6 @@ Partial Class OC
If e.Row.DBCampo("CveClasificacionOG").ToString.ToEntero > 0 Then e.Row.FCDropDownList("DdlAC5").SelectedValue = e.Row.DBCampo("CveClasificacionOG") If e.Row.DBCampo("CveClasificacionOG").ToString.ToEntero > 0 Then e.Row.FCDropDownList("DdlAC5").SelectedValue = e.Row.DBCampo("CveClasificacionOG")
End If End If
'CLASIFICACION 'CLASIFICACION
If isWithFamily() Then If isWithFamily() Then
e.Row.FCLabel("LblClasificacion").Text = e.Row.DBCampo("SubFamilia") e.Row.FCLabel("LblClasificacion").Text = e.Row.DBCampo("SubFamilia")
@@ -3693,7 +3683,7 @@ Partial Class OC
Drr = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus))(0) Drr = GlobalDTOCEstatus(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveEstatus = {0}", CveEstatus))(0)
If Drr IsNot Nothing AndAlso UsuarioActual.TienePermisoProceso(203) AndAlso Drr("TipoTermino").ToString.ToEntero = 3 AndAlso Drr("Tipo").ToString = "OC" Then If Drr IsNot Nothing AndAlso UsuarioActual.TienePermisoProceso(203) AndAlso Drr("TipoTermino").ToString.ToEntero = 3 AndAlso Drr("Tipo").ToString = "OC" Then
If e.Row.DataKey("CveCompra").ToEntero > 0 Then If e.Row.DataKey("CveCompra").ToEntero > 0 Then
If Not UsuarioActual.CveUsuario = 100 Then '[IPP] PARA PODER EDITAR If e.Row.DBCampo("CantidadNoEditable").ToDouble >= e.Row.DBCampo("Cantidad").ToDouble Then '[IPP] PARA PODER EDITAR
e.Row.FCLinkButton("imgE").Enabled = False e.Row.FCLinkButton("imgE").Enabled = False
e.Row.FCLinkButton("imgE").ToolTip = "El concepto no se puede editar porque ya esta asignado a una compra" e.Row.FCLinkButton("imgE").ToolTip = "El concepto no se puede editar porque ya esta asignado a una compra"
e.Row.FCLinkButton("imgD").Enabled = False e.Row.FCLinkButton("imgD").Enabled = False
@@ -3709,7 +3699,6 @@ Partial Class OC
e.Row.FCLinkButton("imgD").Attributes.Remove("Data-toggle") e.Row.FCLinkButton("imgD").Attributes.Remove("Data-toggle")
e.Row.FCLinkButton("imgD").Attributes.Add("Data-toggle", "tooltip") e.Row.FCLinkButton("imgD").Attributes.Add("Data-toggle", "tooltip")
End If End If
End If End If
@@ -3729,6 +3718,14 @@ Partial Class OC
FiltroClasificacion = String.Format("CveClasificacion = {0}", e.Row.DBCampo("CveClasificacion")) FiltroClasificacion = String.Format("CveClasificacion = {0}", e.Row.DBCampo("CveClasificacion"))
End If End If
If CveOrdenCompra > 0 AndAlso (e.Row.DBCampo("CantidadVinculadaCompra").ToDouble > 0 OrElse e.Row.DBCampo("CantidadSurtidaAlmacen").ToDouble > 0 OrElse e.Row.DBCampo("CantidadVinculada").ToDouble > 0) Then
e.Row.FCDropDownList("DdlPS").Enabled = False
e.Row.FCDropDownList("DdlClasificacion").Enabled = False
e.Row.FCDropDownList("CboUnidadMedidaEdit").Enabled = False
e.Row.FCTextBox("TxtImporteEdit").Enabled = False
e.Row.FCTextBox("TxtDescuentoEdit").Enabled = False
End If
'DDL PS 'DDL PS
If e.Row.DBCampo("CveClasificacion").ToString() <> "" Then If e.Row.DBCampo("CveClasificacion").ToString() <> "" Then
e.Row.FCDropDownList("DdlPS").DataSource = GlobalDTPS(CveEmpresaActual).FiltraParametros(FiltroClasificacion, "PS") e.Row.FCDropDownList("DdlPS").DataSource = GlobalDTPS(CveEmpresaActual).FiltraParametros(FiltroClasificacion, "PS")
@@ -3781,8 +3778,6 @@ Partial Class OC
End If End If
End If End If
If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then 'empresa agricola If UsuarioActual.Empresa.Funcionalidad(590).ToString.ToEntero = 1 Then 'empresa agricola
e.Row.FCDropDownList("DdlCultivosCuadroEdit").Visible = True e.Row.FCDropDownList("DdlCultivosCuadroEdit").Visible = True
e.Row.FCDropDownList("DdlCultivosCuadroEdit").DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {e.Row.DBCampo("CveSubProyecto").ToEntero}") e.Row.FCDropDownList("DdlCultivosCuadroEdit").DataSource = GlobalDTCultivosCuadro(UsuarioActual.CveEmpresa).FiltraParametros($"CveSubProyecto = {e.Row.DBCampo("CveSubProyecto").ToEntero}")

View File

@@ -6440,6 +6440,13 @@ Partial Class RH_Personal
RegistraScript("$('#Dmodamodificarsalario').modal()") RegistraScript("$('#Dmodamodificarsalario').modal()")
UpModSalario.Update() UpModSalario.Update()
End Sub End Sub
Protected Sub UpdatePersonalAlta_Click(sender As Object, e As EventArgs)
End Sub
Protected Sub DeletePersonalAlta_Click(sender As Object, e As EventArgs)
End Sub
Protected Sub LnkDescargaFormatoParametros_Click(sender As Object, e As EventArgs) Protected Sub LnkDescargaFormatoParametros_Click(sender As Object, e As EventArgs)

View File

@@ -6151,6 +6151,23 @@ Partial Class Ventas
End Sub End Sub
Private Sub CargaRestriccionesCreditoCliente(Optional Alertas As Boolean = False, Optional CveVenta As Integer = -1) Private Sub CargaRestriccionesCreditoCliente(Optional Alertas As Boolean = False, Optional CveVenta As Integer = -1)
'RMF. validacion temporal
'verifica si tiene autorizaciones de Nota de crédito autorizadas
If UsuarioActual.Empresa.Funcionalidad(531) = "1" Then ' si es empresa de acumuladores
Dim ObjVentas As New ClsVentas
If ObjVentas.GetAutorizacionLimite(UsuarioActual.CveEmpresa, CveCliente, -1, CveEstatus:=1) Then
Dim RowAutorizacion As DataRow = ObjVentas.DtResultados.FiltroPrimero($"CveVenta IS NULL AND CveTipoDocumento='Egs'", Orderby:="TipoAutorizacion")
If RowAutorizacion IsNot Nothing Then
DdlTipoComprobante.SelectedValueExistInsert("Egs", "Egresos")
End If
End If
ObjVentas.Dispose()
End If
If UsuarioActual.Empresa.Funcionalidad(570) = "1" AndAlso Me.PermiteCredito = False AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem") AndAlso CveVenta < 1 Then If UsuarioActual.Empresa.Funcionalidad(570) = "1" AndAlso Me.PermiteCredito = False AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem") AndAlso CveVenta < 1 Then
RBLPago.SelectedValue = "2" RBLPago.SelectedValue = "2"
RBLPago.Items(0).Enabled = False RBLPago.Items(0).Enabled = False
@@ -6182,7 +6199,6 @@ Partial Class Ventas
If PorcentajeCredito > 80 Then TrPorcentajeCredito.Visible = True : LblPorcentajeCredito.Text = $"{PorcentajeCredito.FormatoNumero}%" If PorcentajeCredito > 80 Then TrPorcentajeCredito.Visible = True : LblPorcentajeCredito.Text = $"{PorcentajeCredito.FormatoNumero}%"
If UsuarioActual.Empresa.Funcionalidad(597) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(268) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "PA") Then If UsuarioActual.Empresa.Funcionalidad(597) = "1" AndAlso Not UsuarioActual.TienePermisoProceso(268) AndAlso DdlTipoComprobante.SelectedValue.Contiene("Ing", "Ant", "Rem", "PA") Then
'If LblRFC.Text.Trim <> "XAXX010101000" Then
Dim Vta As New ClsVentas Dim Vta As New ClsVentas
Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa) Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
@@ -6271,7 +6287,25 @@ Partial Class Ventas
LnkOCs.Visible = False LnkOCs.Visible = False
Else Else
If Alertas AndAlso UsuarioActual.Empresa.Funcionalidad(518) = "1" Then Alert("El cliente tiene su límite de crédito agotado.", TipoMensaje.MsgAdvertencia) 'RMF. codigo temporal para pruebas
If Alertas AndAlso UsuarioActual.CveEmpresa = 140 AndAlso UsuarioActual.CveUsuario.Contiene(100, 1937, 2275) AndAlso Now.Hour > 5 AndAlso Now.Hour < 9 Then
Dim Vta As New ClsVentas
Dim Opcion As Integer = Vta.ObtenerClienteLimitesVenta(CveCliente, UsuarioActual.CveEmpresa)
Dim OpcionMsg As String = String.Format("El Cliente se encuentra bloqueado por la siguiente razón: <br> <br> {0}", Vta.SerieVenta)
Vta.Dispose()
If Opcion > 0 Then
LnkSolicitarCredito.Visible = True
Alert(OpcionMsg, TipoMensaje.MsgAdvertencia)
End If
Else
'este codigo no es temporal
If Alertas AndAlso UsuarioActual.Empresa.Funcionalidad(518) = "1" Then Alert("El cliente tiene su límite de crédito agotado.", TipoMensaje.MsgAdvertencia)
If UsuarioActual.CveEmpresa = 140 Then
LnkSolicitarCredito.Visible = True
DdlTipoAutorizacion.SelectedValueExist("1")
End If
End If
End If End If
End If End If
UPPCreditoDisponible.Update() UPPCreditoDisponible.Update()
@@ -8240,7 +8274,7 @@ Partial Class Ventas
Dim GeneroDescuentoProntoPago As Boolean = False Dim GeneroDescuentoProntoPago As Boolean = False
'SOLO GENERAR NC POR DESCUENTO PRONTO PAGO SI EL PAGO ES DE CONTADO 'SOLO GENERAR NC POR DESCUENTO PRONTO PAGO SI EL PAGO ES DE CONTADO
If RBLPago.SelectedValue = "2" AndAlso ObjFactura.DescuentoProntoPago > 0 Then If ErrorList.Count = 0 AndAlso RBLPago.SelectedValue = "2" AndAlso ObjFactura.DescuentoProntoPago > 0 Then
Dim ImportePagado = DtPagos.SUM("Importe").ToString().ToDecimal Dim ImportePagado = DtPagos.SUM("Importe").ToString().ToDecimal
Dim ImporteRNC As Decimal = LblDescuentosRNC.Text.ToDecimal() Dim ImporteRNC As Decimal = LblDescuentosRNC.Text.ToDecimal()

View File

@@ -264,6 +264,8 @@