Planta de Liq. Generales de la UNC
De Wiki
Contenido
FORMULARIO
INFORME
NO POSEE
CÓDIGO
Programa "planta.prg"
SET DELETED ON SET DATE TO DMY SET TALK OFF SET EXCLUSIVE ON SET CENTURY ON SET SAFE OFF *-- ** *wait windows "Espere un momento por favor. Procesando datos......."+chr(13)+"Puede tardar unos minutos " *------ tabla= vm_bases_informes + "plantale" create table &tabla free (categ C (4),agrup c(4),horas n(6),caracter c(4),; depend c(3),horas_l n(6),legajo c(6),cargo c(9)) *----- tabla= vm_bases_informes + "planta" create table &tabla free (categ C (4),agrup c(4),horas n(6),caracter c(4),; ocupados n(6), depend c(3), conlic n(6),; renova n(6),horas_l n(6),conlic_s n(6),; L9969 n(6),L9991 n(6),descrip c(60),H9969 n(6),H9991 n (6)) *----------------------------------------------------------------------------- SELE DISTINC(NRO_CARGO)as nro_cargo,nro_legaj FROM dh21 INTO table vm_bases_informes + "dh21uni" sele dh03 index on nro_cargo tag cargo *------------------------------------------------ *---abro la vista del dh11 actual cadenasql= "select *"; + " from dh11" nom5=sys(3) create sql view &nom5; connection con_pampasql; as &cadenasql *connection con_pampasql; if !used('v_11') sele sele(1) use &nom5 alias v_11 endif tabla= vm_bases_informes + "dh11" select *; from v_11; into table &tabla *----- if used ('dh11') sele dh11 use endif sele sele(1) use &tabla excl index on val(codc_categ) tag categ *------------------------------------------------ tabla= vm_bases_informes + "planta" if used ("planta") sele planta use endif sele sele(1) use &tabla excl index on alltrim(categ)+alltrim(depend)+alltrim(caracter)+alltrim(agrup) tag planta additive index on padl(alltrim(depend),3,"0")+padl(alltrim(categ),4,"0") tag listado *--------------------------------------------------------------------------------- public vm_depend store " " to vm_depend ********* **lee del dh21uni los cargos liquidados y saca del dh03 la categoria del agente y lo cuenta **como ocupado en planta segun categoria , caracter y agrupamiento **carga tambien en plantale el detalle de la persona SELE DH21UNI &&nro de cargos distintos scan SCATTER MEMVAR sele dh03 set order to CARGO if seek(m.NRO_CARGO) sele planta set order to planta @ 2,45 say "Procesando...." if !seek(alltrim(dh03.codc_categ)+alltrim(dh03.codc_uacad)+alltrim(dh03.codc_carac)+alltrim(dh03.codc_agrup)) *primera vez append blank repla categ with dh03.codc_categ repla depend with alltrim(dh03.codc_uacad) repla caracter with alltrim(dh03.codc_carac) repla agrup with alltrim(dh03.codc_agrup) repla horas with (dh03.hs_dedic) repla ocupados with 1 else repla ocupados with ocupados+1 repla horas with horas+dh03.hs_dedic endif sele plantale append blank repla legajo with padl(alltrim(str(dh03.nro_legaj)),6,"0") repla cargo with padl(alltrim(str(dh03.nro_cargo)),9,"0") repla categ with dh03.codc_categ repla depend with alltrim(dh03.codc_uacad) repla caracter with alltrim(dh03.codc_carac) repla agrup with alltrim(dh03.codc_agrup) repla horas with (dh03.hs_dedic) endif sele dh21UNI endscan *------------------------------------------ llamada=vm_programas + "planta_s.prg" *llamada1=vm_programas + "planta_r.prg" do &llamada *do &llamada1 sele planta scan sele dh11 set order to categ if seek(val(planta.categ)) repla planta.descrip with dh11.desc_categ endif sele planta endscan return *------------------------------------------
Programa "planta_s.prg"
Programa "planta_r.prg"
Botón "Ejecutar" (Command1)
set excl on public planta, depend,busca,buscadh03,base,basedh03,buscadh05,basedh05 public fechaL ,fecha store " " to planta store 0 to depend base = "pla"+padl(alltrim(thisform.text1.value),2,"0")+right(alltrim(str(thisform.text2.value)),2) busca =vm_bases+ "pla"+padl(alltrim(thisform.text1.value),2,"0")+right(alltrim(str(thisform.text2.value)),2)+".dbf" buscadh05 =vm_bases+ "dh05"+padl(alltrim(thisform.text1.value),2,"0")+right(alltrim(str(thisform.text2.value)),2)+".dbf" basedh05 = "dh05"+padl(alltrim(thisform.text1.value),2,"0")+right(alltrim(str(thisform.text2.value)),2) buscadh03 =vm_bases+ "dh03"+padl(alltrim(thisform.text1.value),2,"0")+right(alltrim(str(thisform.text2.value)),2)+".dbf" basedh03 = "dh03"+padl(alltrim(thisform.text1.value),2,"0")+right(alltrim(str(thisform.text2.value)),2) if empty(thisform.text1.value ) = .f. if empty(thisform.text2.value ) = .f. *---------dh05------------------- if FILE('&buscadh05') = .t. if not used ('dh05') sele sele(1) *use &basedh05 alias dh05 use &buscadh05 alias dh05 else sele dh05 endif planta = "S" else wait windows "No existe inf de cargos del mes ingresado" planta = "N" endif *---------dh03------------------- if FILE('&buscadh03') = .t. if !used ('dh03') sele sele(1) *use &basedh03 alias dh03 use &buscadh03 alias dh03 else sele dh03 endif planta = "S" else wait windows "No existe inf de cargos del mes ingresado" planta = "N" endif *-------planta-------------------------------------------------------------- if FILE('&busca') = .t. if !used ('dh21') sele sele(1) *use &base alias dh21 use &busca alias dh21 else sele dh21 endif planta = "S" else wait windows "No existe inf de planta del mes ingresado" planta = "N" endif else wait windows "debe ingresar año" nowait endif else wait windows "debe ingresar mes" nowait endif planta = "S" if planta = "S" fecha = ('{^' + alltrim(str(thisform.text2.value))+ '/' + padl(alltrim(thisform.text1.value),2,"0") +'/01}') if inlist(val(alltrim(thisform.text1.value)) ,1,3,5,7,8,10,12) *fechaL = alltrim(str(thisform.text2.value))+ '-' + padl(alltrim(thisform.text1.value),2,"0") +'-31' fechaL = ('{^' + alltrim(str(thisform.text2.value))+ '/' + padl(alltrim(thisform.text1.value),2,"0") +'/31}') endif if inlist(val(alltrim(thisform.text1.value)),4,6,9,11) *fechaL = alltrim(str(thisform.text2.value))+ '-' + padl(alltrim(thisform.text1.value),2,"0") +'-30' fechaL = ('{^' + alltrim(str(thisform.text2.value))+ '/' + padl(alltrim(thisform.text1.value),2,"0") +'/30}') endif if val(alltrim(thisform.text1.value)) = 2 AND thisform.text2.value % 4=0 *año 2004 bisiesto febrero trae 29 fechaL = ('{^' + alltrim(str(thisform.text2.value))+ '/' + padl(alltrim(thisform.text1.value),2,"0") +'/29}') endif if val(alltrim(thisform.text1.value)) = 2 AND thisform.text2.value %4 <>0 fechaL = ('{^' + alltrim(str(thisform.text2.value))+ '/' + padl(alltrim(thisform.text1.value),2,"0") +'/28}') endif do vm_programas+"planta.prg" endif thisform.command3.enabled = .t. thisform.pageframe1.page1.optiongroup4.option1.enabled = .t. thisform.pageframe1.page1.optiongroup4.option2.enabled = .t. thisform.pageframe1.page1.optiongroup4.option3.enabled = .t. thisform.pageframe1.page1.optiongroup1.option1.enabled = .t. thisform.pageframe1.page1.optiongroup1.option2.enabled = .t. thisform.pageframe1.page2.optiongroup2.option1.enabled = .t. thisform.pageframe1.page2.optiongroup2.option2.enabled = .t. thisform.pageframe1.page2.optgroupreno.optrenova.enabled = .t. thisform.pageframe1.page2.optgroupreno.opincapa.enabled = .t. thisform.command1.enabled = .f. *store "2003-06-30" to fechaL &&fecha para licencias s/g *store {^2003/06/01} to fecha &&fecha para cargos vigentes
Botón "Cancelar" (btnCancelar)
THISFORM.Release