








Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Un fragmento de código en visual basic .net (vb.net) que calcula el salario neto y anual de un empleado, considerando diversos factores como el puesto, la puntualidad, el apoyo por maternidad o discapacidad, y las faltas. Incluye el cálculo de percepciones como bonos y transporte, así como deducciones por isr, servicio médico y caja de ahorro. Además, calcula aguinaldo, vacaciones y bonos por antigüedad, mostrando un resumen del talón de pago y la hoja anual. Este código es útil para entender cómo se automatiza el cálculo de nóminas en una empresa, considerando las leyes laborales y los beneficios adicionales que se otorgan a los empleados. El código también muestra cómo se manejan diferentes escenarios, como el cálculo de descuentos por faltas o el apoyo por maternidad, lo que lo convierte en una herramienta valiosa para estudiantes y profesionales de recursos humanos y contabilidad. Un ejemplo práctico de cómo se aplican los conceptos teóricos de la nómina en un entorno real.
Tipo: Ejercicios
1 / 14
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!









Public Class Form Dim CantidadSalariosMinimos As Integer Dim SalarioDia As Double Dim SalarioBruto As Double Dim SalarioQuincenal As Double Dim SalarioNeto As Double Dim SalarioNetoAnual As Double Dim Transporte As Double = 880. Dim BonoPuntualidad As Double = 0 Dim ApoyoMaternidad As Double = 0. Dim ApoyoDiscapacidad As Double = 0. Dim DescuentoFaltas As Double = 0. Dim Totalpercepciones As Double Dim TotalDescuentos As Double Dim ISR As Double Dim SERV As Double Dim Caja As Double Dim otras As Double Dim Aguinaldo As Double Dim Vacaciones As Double Dim descanso As Double Dim Bono As Double Dim Periodo As String Dim diasdescanso As Integer Dim ImprimirSoloTalon As Boolean Private Sub Form2_Load(sender As Object, e As EventArgs) Handles MyBase.Load
If Module1.puesto = "Gerente General" Then CantidadSalariosMinimos = 35 ElseIf Module1.puesto = "Secretaria Gerente General" Then CantidadSalariosMinimos = 28 ElseIf Module1.puesto = "Gerente de Administración" Then CantidadSalariosMinimos = 30 ElseIf Module1.puesto = "Gerente de finanzas" Then CantidadSalariosMinimos = 30 ElseIf Module1.puesto = "Gerente de Recursos Humanos" Then CantidadSalariosMinimos = 30 ElseIf Module1.puesto = "Gerente de Mercadotecnia" Then CantidadSalariosMinimos = 30 ElseIf Module1.puesto = "Gerente de TI" Then CantidadSalariosMinimos = 30 ElseIf Module1.puesto = "Gerente de Producción" Then CantidadSalariosMinimos = 30 ElseIf Module1.puesto = "Gerente de Producto terminado" Then CantidadSalariosMinimos = 30 ElseIf Module1.puesto = "Gerente de Almacen" Then CantidadSalariosMinimos = 30 ElseIf Module1.puesto = "Secretarias de Gerencias" Then CantidadSalariosMinimos = 25 ElseIf Module1.puesto = "Jefe de Departamento" Then CantidadSalariosMinimos = 27 ElseIf Module1.puesto = "Operador A" Then CantidadSalariosMinimos = 23 ElseIf Module1.puesto = "Operador B" Then CantidadSalariosMinimos = 22 ElseIf Module1.puesto = "Operador C" Then
diasdescanso = 4 ElseIf Module1.catorcena = 5 Then Periodo = "15 de marzo" diasdescanso = 4 ElseIf Module1.catorcena = 6 Then Periodo = "31 de marzo" diasdescanso = 4 ElseIf Module1.catorcena = 7 Then Periodo = "15 de abril" diasdescanso = 4 ElseIf Module1.catorcena = 8 Then Periodo = "30 de abril" diasdescanso = 4 ElseIf Module1.catorcena = 9 Then Periodo = "15 de mayo" diasdescanso = 4 ElseIf Module1.catorcena = 10 Then Periodo = "31 de mayo" diasdescanso = 4 ElseIf Module1.catorcena = 11 Then Periodo = "15 de junio" diasdescanso = 4 ElseIf Module1.catorcena = 12 Then Periodo = "30 de junio" diasdescanso = 4 ElseIf Module1.catorcena = 13 Then Periodo = "15 de julio" diasdescanso = 4 ElseIf Module1.catorcena = 14 Then
Periodo = "31 julio" diasdescanso = 4 ElseIf Module1.catorcena = 15 Then Periodo = "15 de agosto" diasdescanso = 4 ElseIf Module1.catorcena = 16 Then Periodo = "31 de agosto" diasdescanso = 4 ElseIf Module1.catorcena = 17 Then Periodo = "15 de septiembre" diasdescanso = 4 ElseIf Module1.catorcena = 18 Then Periodo = "30 de septiembre" diasdescanso = 4 ElseIf Module1.catorcena = 19 Then Periodo = "15 de octubre" diasdescanso = 4 ElseIf Module1.catorcena = 20 Then Periodo = "31 de octubre" diasdescanso = 4 ElseIf Module1.catorcena = 21 Then Periodo = "15 de noviembre" diasdescanso = 4 ElseIf Module1.catorcena = 22 Then Periodo = "30 de noviembre" diasdescanso = 4 ElseIf Module1.catorcena = 23 Then Periodo = "15 de diciembre" diasdescanso = 4
End If End If If Module1.discapacidad = True Then ApoyoDiscapacidad = 2480. End If Totalpercepciones = BonoPuntualidad + Transporte + ApoyoMaternidad + ApoyoDiscapacidad SalarioQuincenal = SalarioBruto + Totalpercepciones 'aplicamos descuentos ISR = SalarioQuincenal * 0. SERV = SalarioQuincenal * 0. Caja = SalarioQuincenal * 0. otras = SalarioQuincenal * 0. TotalDescuentos = ISR + SERV + Caja + otras + DescuentoFaltas SalarioNeto = SalarioQuincenal - TotalDescuentos 'hoja anual SalarioNetoAnual = SalarioNeto * 24 Aguinaldo = 60 * SalarioDia Vacaciones = 20 * SalarioDia descanso = diasdescanso * 1120 Module1.antiguedad = 2024 - Module1.ingreso If Module1.antiguedad = 5 Then Bono = 10000
ElseIf Module1.antiguedad = 10 Then Bono = 20000 ElseIf Module1.antiguedad = 15 Then Bono = 30000 ElseIf Module1.antiguedad = 20 Then Bono = 40000 ElseIf Module1.antiguedad = 25 Then Bono = 50000 ElseIf Module1.antiguedad = 30 Then Bono = 60000 End If 'resumen talón de pago LstR.Items.Clear() LstR.Items.Add("Resumen de Pago:") LstR.Items.Add("Nombre Completo: " & Module1.paterno + " " + Module1.materno + " " + Module1.nombre) LstR.Items.Add("No. de empleado: " & Module1.empleado) LstR.Items.Add("Puesto: " & Module1.puesto) LstR.Items.Add("CURP: " & Module1.CURP) LstR.Items.Add("Clave Presupuestaria: " & Module1.clavepresupuestaria) LstR.Items.Add("No. de catorcena: " & Module1.catorcena)
LstH.Items.Add("Días de descanso obligatorio: " & diasdescanso) LstH.Items.Add("Descanso " & descanso.ToString("C")) LstH.Items.Add("Antigüedad (años) " & Module1.antiguedad) LstH.Items.Add("Bono " & Bono.ToString("C")) End Sub Private Sub ImprimirTalónToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ImprimirTalónToolStripMenuItem.Click ImprimirSoloTalon = True 'estructura de la herencia If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings PrintDocument1.Print() End If End Sub Private Sub ImprimirAnualToolStripMenuItem_Click(sender As Object, e As EventArgs) Handles ImprimirAnualToolStripMenuItem.Click ImprimirSoloTalon = False If PrintDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then End If PrintDocument1.PrinterSettings = PrintDialog1.PrinterSettings PrintDocument1.Print()
End Sub Private Sub PrintDocument1_PrintPage(sender As Object, e As Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage 'Imprime la informacion 'e = llama a la función de editor ' .Graphics = llama a la subfunción gráfica ' .DrawString = dibuja la cadena de caracteres ' New Font = establece la fuente a utilizar ' ("Verdana", 12, FontStyle,Bold) = establece los parámetros de la fuente a utilizar ' ,Brushes.Black = llama a las paletas de trazo como: pantone o nativas de windows ' , 350, 40 = establece la ubicación de la cadena de caracter basandose en el ancho y el alto de la hoja e.Graphics.DrawString("Autor: Javier Morales Rosas", New Font("Verdana", 8), Brushes.Black, 30, 1050) If ImprimirSoloTalon = True Then e.Graphics.DrawString("TALÓN DE PAGO QUINCENAL", New Font("Verdana", 10, FontStyle.Bold), Brushes.Black, 300, 10) Else e.Graphics.DrawString("HOJA ANUAL DE PERCEPCIONES", New Font("Verdana", 10, FontStyle.Bold), Brushes.Black, 300, 10) End If e.Graphics.DrawString("Datos Personales", New Font("Verdana", 10, FontStyle.Bold), Brushes.Black, 30, 40)
e.Graphics.DrawString("ISR(16%): " & ISR.ToString("C"), New Font("Verdana", 10), Brushes.Black, 400, 220) e.Graphics.DrawString("Faltas($1021.00 por cada falta): " & DescuentoFaltas.ToString("C"), New Font("Verdana", 10), Brushes.Black, 400, 240) e.Graphics.DrawString("Servicio Médico (7%): " & SERV.ToString("C"), New Font("Verdana", 10), Brushes.Black, 400, 260) e.Graphics.DrawString("Caja de ahorro (5%): " & Caja.ToString("C"), New Font("Verdana", 10), Brushes.Black, 400, 280) e.Graphics.DrawString("Otras prestaciones y servicios: " & otras.ToString("C"), New Font("Verdana", 10), Brushes.Black, 400, 300) e.Graphics.DrawString("SubTotal: " & TotalDescuentos.ToString("C"), New Font("Verdana", 10), Brushes.Black, 400, 320) If ImprimirSoloTalon = False Then e.Graphics.DrawString("Periodo: 01 de enero al " & Periodo & " 2024", New Font("Verdana", 10, FontStyle.Bold), Brushes.Black, 30, 400) e.Graphics.DrawString("Salario Neto Anual " & SalarioNetoAnual.ToString("C"), New Font("Verdana", 10), Brushes.Black, 30, 420) e.Graphics.DrawString("Percepciones libres de impuesto", New Font("Verdana", 10, FontStyle.Bold), Brushes.Black, 30, 460) e.Graphics.DrawString("Percepciones adicionales libres de impuesto", New Font("Verdana", 10), Brushes.Black, 30, 480) e.Graphics.DrawString("Aguinaldo (60 días) " & Aguinaldo.ToString("C"), New Font("Verdana", 10), Brushes.Black, 30, 500) e.Graphics.DrawString("Vacaciones (20 días) " & Vacaciones.ToString("C"), New Font("Verdana", 10), Brushes.Black, 30, 520) e.Graphics.DrawString("Descanso " & descanso.ToString("C"), New Font("Verdana", 10), Brushes.Black, 30, 540) e.Graphics.DrawString("Antigüedad (años) " & Module1.antiguedad, New Font("Verdana", 10), Brushes.Black, 30, 560) e.Graphics.DrawString("Bono " & Bono.ToString("C"), New Font("Verdana", 10), Brushes.Black, 30, 580) End If End Sub
End Class