FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Como puedo aplicar un descuento con excepción
Hola saludo para todos los usuarios de este marabillo Club.......
La preguenta es la siguiente: como puedo hacer para que los sueldo que sean mayor de 112,700.00, igualarlo a dicha cantidad y aplicarle un descuento de un 3.01%, claro incluyendo los que estan por debajo de esa cantidad. estoy usando delphi 7 y accesse. estuve haciendo esto Código:
procedure TFrm_Reporte_de_Nomina.ppVariable2Print(Sender: TObject); var Sueldo_Bruto_Empleado : Double; begin if Qry_Hacer_CalculoSueldo_Bruto_Empleado > 112700 then begin sueldo_Bruto_Empleado = 112700 ppVariable2.Value := Qry_Hacer_CalculoSueldo_Bruto_Empleado.Value * 3.01 /100; end; Código:
[Error] Un_Reporte_de_Nomina.pas(119): Incompatible types [Error] Un_Reporte_de_Nomina.pas(120): ':=' expected but '=' found [Error] Un_Reporte_de_Nomina.pas(121): Missing operator or semicolon [Error] Un_Reporte_de_Nomina.pas(124): Statement expected but 'PROCEDURE' found [Fatal Error] Prj_NominaExterior.dpr(8): Could not compile used unit 'Un_Reporte_de_Nomina.pas' Última edición por esimon fecha: 10-01-2009 a las 15:24:50. |
#2
|
|||
|
|||
creo que las instrucciones un poco corregidas quedarian asi:
lo que esta en negritas es lo corregido aunque no por eso puede quedar bien jeje |
#3
|
|||
|
|||
mucha gracias LuisGutierrez por tu ayuda, tengo que probar luego de digo como fue
|
#4
|
|||
|
|||
gracias LuisGutierrezd nuevamente, estuve probando la modificacion de la rutina que me hiciste y le hice alguna modificaciones proque me daba un erro y quedo asi.
Código:
procedure TFrm_Reporte_de_Nomina.ppVariable2Print(Sender: TObject); var Sueldo_Bruto_Empleado : Double; begin if Qry_Hacer_CalculoSueldo_Bruto_Empleado.value > 112700.00 then begin Qry_Hacer_Calculosueldo_Bruto_Empleado.Value := 112700.00; ppVariable2.Value := Qry_Hacer_CalculoSueldo_Bruto_Empleado.Value * 3.01 /100; end; end; Código:
[Hint] Un_Reporte_de_Nomina.pas(118): Variable 'Sueldo_Bruto_Empleado' is declared but never used in 'TFrm_Reporte_de_Nomina.ppVariable2Print' |
#5
|
||||
|
||||
Lo que te está diciendo el compilador es que has declarado la variable "Sueldo_Bruto_Empleado" en el procedimiento "ppVariable2Print" y no se usa dicha variable.
__________________
Progress Openedge https://abevoelker.com/progress_open...dered_harmful/ Delphi forever... |
#6
|
|||
|
|||
mucha gracias defcon1_es, por tu ayuda pero puedes decirme porque me muestra 00 el resulta de la operación, no se que tiene de malo la rutina.
mil gracias nuevamente y disculpa por la molestia |
#7
|
||||
|
||||
Hola esimon,
Viendo ese código que tienes no te sabría decir. Puede que se deba a un error trasladado de otro lado. ¿Podrías comentarnos la descripción y tipo de datos? ¿Cómo y donde estás mostrando los datos? En resumen, ¿Podrías comentarnos más detalles de tu duda, inquietud, problema, acompañado de los componentes que estás empleando? El tema es que no sueltas tu problema pero no explicas lo absolutamente necesario como para hacer una prueba y ver si podemos conseguir los mismos resultados y de ese modo poder saber donde está la falla. Déjame ver si entiendo: 1. Por un lado deseas que el sueldo no sobrepase de cierto valor: 112700. 2. Después quieres actualizar el sueldo a TODOS a un 3,1% inferior. Para hacerlo simple, y que se entienda, yo lo veo así: 1. Una SQL de este tipo:
2. Otra SQL de forma similar:
Ahora que veo, es posible que ese 00 que ves se debe a que estás realizando no una quita del 3,1%, sino que estás haciendo la quita del 96,9% ¿Se entiende la idea? Por cierto, cuando copies y pegues código emplea las etiquetas DELPHI y no la etiqueta CODE por favor. Saludos, |
#8
|
|||
|
|||
Gracias Delphuis por tu repuesta.
Estoy elaborando un sistema de nomina, este me maneja dos moneda Dollar y Euro, sin incluir la de mi pais que es (Pesos). tengo una Captura de Datos, los cuales son Nombre, Cedula,Cargo, Sueldo y Tipo de Moneda. Todo bien por el momento. Estoy creando un Reporte, el cual aparte de los campos que explese mas ariba tiene los Descuentos, pero para aplicar esos descuentos tengo que combertir el sueldo de los emplados en pesos lo cual hago esto. Código:
ppVariable6.Value := Qry_Hacer_CalculoSueldo_Bruto_Empleado.Value * StrToInt(edit1.Text); todos los descuento tiene reglas pero es similar para todos. se que lo espuesto es muy largo, solo pero que comprenda. esto es ReportBuilder. |
#9
|
||||
|
||||
Hola esimon,
Disculpame sigo sin entender. Entiendo ahora que no se trata de actualizar los valores en la base de datos, sino de conformar un reporte. Lo que no termino de comprender, es el manejo de los 200,000.00, de los 112,700.00 y el 3.1% (espero haber colocado bien el símbolo decimal y de miles de tu moneda, yo soy Argentino). ¿Se debe aplicar el 3.1% a los sueldos (que como señalas que no superan los 200,000.00) y en caso de que ese 3.1% sea superior a 112,700.00 que se establezca como tope dicho valor? ¿O es que de los sueldos se toma 112,700.00 y luego se le aplica un descuento del 3.1%? Como vez, son dos cosas distintas y está todo muy confuso. Por favor te pediría que te tomes el tiempo adecuado para redactar apropiadamente tu duda. Y nuevamente te pido que por favor emplees las etiquetas DELPHI para que el código que coloques quede adecuadamente formateado. Saludos, |
#10
|
||||
|
||||
Por lo que entiendo, devuelves en ppVariable2.Value el 3.01% del Sueldo Bruto, si no pasa de 112700. Si sobrepasa ese valor devuelves el 3.01% de 112700.
Creo que deberías hacerlo así:
|
#11
|
|||
|
|||
ok. por ejemplo tu puedes ganar un sueldo de 112,701.00, pero yo tengo que hablicarte el descuento en base a 112,700.00, claro esta tu sueldo sigue siendo 112,701.00. y el S.F.S seria 3,392.27 el sueldo neto seria 109,307.73.
y lo que hice fue esto para tratar de resolver el problema. Código:
procedure TFrm_Reporte_de_Nomina.ppVariable2Print(Sender: TObject); begin if Qry_Hacer_CalculoSueldo_Bruto_Empleado.value > 112700.00 then begin Qry_Hacer_Calculosueldo_Bruto_Empleado.Value := 112700.00; ppVariable2.Value := ppVariable6.Value * 3.01 /100; end; end; |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Cómo puedo capturar una excepción en delphi? | Fenix_Dark | OOP | 3 | 29-04-2008 14:17:47 |
Como Aplicar Transacción en ADO ???? | AGAG4 | Conexión con bases de datos | 3 | 07-10-2006 20:48:06 |
aplicar sentencias SQL , como ? | Pascual Montes | SQL | 3 | 08-04-2005 23:22:03 |
Como aplicar tranparencia a un componente | quetzal | Varios | 1 | 21-09-2004 10:11:00 |
¿Cómo podemos dejar de aplicar un filtro? | vhirginia | Conexión con bases de datos | 3 | 27-04-2004 17:34:24 |
|