Planta de Liq. Generales de la UNC

De Wiki
Revisión del 13:32 31 ene 2012 de Mwilson (Discusión | contribuciones) (INFORME)

Saltar a: navegación, buscar

FORMULARIO

Planta.PNG


Planta2.PNG

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

Botón "Ayuda"(btnAyuda)

Combo "Año" (cmbAnio)

Combo "Mes" (cmbMes)

MANUAL DEL USUARIO

Procedimiento de Uso