VERSION 5.00
Object = "{00025600-0000-0000-C000-000000000046}#5.2#0"; "crystl32.ocx"
Begin VB.Form FCompetencias 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Competencias (01.207.00)"
   ClientHeight    =   2145
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   5355
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   ScaleHeight     =   2145
   ScaleWidth      =   5355
   Begin VB.CommandButton cmdBuscar 
      Enabled         =   0   'False
      Height          =   375
      Left            =   2820
      Picture         =   "0120700.frx":0000
      Style           =   1  'Graphical
      TabIndex        =   2
      ToolTipText     =   "Buscar"
      Top             =   585
      Width           =   375
   End
   Begin VB.TextBox txtCodigo 
      Height          =   285
      Left            =   1620
      MaxLength       =   6
      TabIndex        =   1
      Top             =   585
      Width           =   1095
   End
   Begin VB.TextBox txtDescripcion 
      Height          =   285
      Left            =   1620
      MaxLength       =   40
      TabIndex        =   0
      Top             =   1245
      Width           =   3255
   End
   Begin Crystal.CrystalReport crCompetencias 
      Left            =   3780
      Top             =   585
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   348160
      PrintFileLinesPerPage=   60
   End
   Begin VB.Image Image1 
      Height          =   630
      Left            =   4260
      Picture         =   "0120700.frx":0532
      Stretch         =   -1  'True
      Top             =   390
      Width           =   585
   End
   Begin VB.Label lblDescripcion 
      AutoSize        =   -1  'True
      Caption         =   "Descripción :"
      Height          =   195
      Left            =   540
      TabIndex        =   4
      Top             =   1245
      Width           =   930
   End
   Begin VB.Label lblCodigo 
      AutoSize        =   -1  'True
      Caption         =   "Código :"
      Height          =   195
      Left            =   540
      TabIndex        =   3
      Top             =   585
      Width           =   585
   End
End
Attribute VB_Name = "FCompetencias"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

Option Explicit
Public pb_editar As Boolean
Public pb_agregar As Boolean
Public pb_primerregistro As Boolean
Public pb_ultimoregistro As Boolean

Public pbderecho_agregar As Boolean
Public pbderecho_consultar As Boolean
Public pbderecho_editar As Boolean
Public pbderecho_borrar As Boolean
Public pbderecho_imprimir As Boolean
Public pb_tiposcreen As String

Public GrecibeUbicacion As BookmarkEnum
Public GrecibeColumnaID As String
Public GrecibeColumnaOpcional As String

Public rs_Competencias As ADODB.Recordset
Public objCompetencia As DB_MA_MANTENIMIENTOS.C_COMPETITION

Private Sub cmdBuscar_Click()
    'Lineas que llaman al Formulario de Búsqueda
    
    Dim ArrayBusqueda(1 To 2, 1 To 3) As Variant
    ArrayBusqueda(1, 1) = "COMPETITIONID"
    ArrayBusqueda(1, 2) = "Código "
    ArrayBusqueda(1, 3) = 1000
    ArrayBusqueda(2, 1) = "COMPETITIONNAME"
    ArrayBusqueda(2, 2) = "Descripción "
    ArrayBusqueda(2, 3) = 4000
      
          
    FBusquedasMa.GObtenerRegistros rs_Competencias, ArrayBusqueda, 2, 2
    FBusquedasMa.Show vbModal
    If GrecibeUbicacion <> 0 And GrecibeUbicacion <= rs_Competencias.RecordCount Then
          rs_Competencias.AbsolutePosition = GrecibeUbicacion
          asigna_campos
          Call gestadoactualrs(Me, rs_Competencias)
          Call gactualiza_barra(Me)
    End If
  
End Sub

Private Sub Form_Activate()

    Call gactualizaopcion(pbderecho_agregar, pbderecho_editar, pbderecho_borrar, pbderecho_imprimir)
    Call gactualiza_barra(Me)
    'lineas nuevas
    If pbderecho_consultar = False Then
        Unload Me
    End If

End Sub

Public Sub primer_registro()
    Call Gprimer_registro(Me, rs_Competencias)
    Call asigna_campos
End Sub

Public Sub ultimo_registro()
    Call Gultimo_registro(Me, rs_Competencias)
    Call asigna_campos
End Sub

Public Sub registro_anterior()
    Call Gregistro_anterior(Me, rs_Competencias)
    Call asigna_campos
End Sub
Public Sub registro_siguiente()
    Call Gregistro_siguiente(Me, rs_Competencias)
    Call asigna_campos
End Sub
Private Sub Form_Initialize()
    Call gHabilitarReg(Me, False)
End Sub

Private Sub Form_Load()
    'seguridad
    Call gseguridad(Me)
    
    If pbderecho_consultar Then
        Dim numreg As Long
        Set objCompetencia = New DB_MA_MANTENIMIENTOS.C_COMPETITION
        Call obtener_datos
        Call asigna_campos
        pb_primerregistro = True
    'lineas nuevas
    Else
        'Unload Me
        MsgBox ("No tiene Derechos de Consultar en este formulario"), vbCritical + vbDefaultButton1, "Mensaje"
    End If
     Me.Top = 1300
     Me.Left = (Screen.Width - Me.Width) / 2
     
 
End Sub
Public Sub borrar_registro()

On Error GoTo errhandler

    objCompetencia.EliminarCompetencia txtCodigo
    Call gborrar_Registro(Me, rs_Competencias, txtCodigo)
    
Exit Sub

errhandler:
    MsgBox MensajedeError(ERR.Number, ERR.Description), vbDefaultButton1 + vbCritical, "Error"

End Sub
Function valida_datos()
    If GVDATO(txtCodigo.Text) = Empty Then
        valida_datos = False
        MsgBox "Ingrese Código de Competencia", vbInformation, "Error"
        txtCodigo.SetFocus
        Exit Function
    End If
   
    If GVDATO(txtDescripcion.Text) = Empty Then
        valida_datos = False
        MsgBox "Ingrese Descripción de Competencia", vbInformation, "Error"
        txtDescripcion.SetFocus
        Exit Function
    End If
        
    valida_datos = True
End Function
Public Sub grabar_registro()

On Error GoTo errhandler
    If valida_datos() = True Then
        ' llamada al proc de grabacion
        If pb_agregar Then
            objCompetencia.AgregarCompetencia Trim(txtCodigo), Trim(txtDescripcion)
        Else
            objCompetencia.ActualizarCompetencia txtCodigo, Trim(txtDescripcion)
        End If
        
        Call ggrabar_registro(Me)
        actualizar_registro
    End If
Exit Sub
errhandler:
    MsgBox MensajedeError(ERR.Number, ERR.Description), vbDefaultButton1 + vbCritical, "Error"
     
End Sub
Public Sub actualizar_registro()
    'llamar al procedimiento de carga
    Call obtener_datos
    Call asigna_campos
    'MsgBox ("Registros Actualizados")
End Sub
Public Sub agregar_registro()
    Call gagregar_registro(Me, txtCodigo)
End Sub
Public Sub modificar_registro()
    Call gmodificar_registro(Me, txtCodigo)
End Sub
Public Sub descartar_registro()
    ' Revertir cambios
    'adodc1.Recordset.CancelUpdate
    Call gdescartar_registro(Me)
    Call asigna_campos
End Sub

Sub obtener_datos()
    Set rs_Competencias = objCompetencia.ListarCompetencias
End Sub

Sub salir_formulario()
    ' validar que no haya procesos pendientes
    ' si no hay problemas
    MDIFMaestros.Toolbar1.Buttons(18).Caption = "Salir"    ' boton salir
    Unload Me
End Sub

Sub asigna_campos() ' falta decidir si va ha ser public o private
    If rs_Competencias.RecordCount <> 0 Then
        txtCodigo.Text = rs_Competencias!COMPETITIONID
        txtDescripcion.Text = rs_Competencias!COMPETITIONNAME
    End If
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If pb_editar Then
        If MsgBox("Desea Cancelar los Cambios", vbYesNo, "Esta Modificando un registro") = vbNo Then
            Cancel = True
        Else
            Call gdesactiva_barra
        End If
    Else
        Call gdesactiva_barra
    End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Set objCompetencia = Nothing
    Set rs_Competencias = Nothing
End Sub


Private Sub txtCodigo_KeyPress(KeyAscii As Integer)
    KeyAscii = GBloqueaCaracter(KeyAscii)
    If KeyAscii = 13 Then
        txtDescripcion.SetFocus
    End If
End Sub

Sub imprimir()
    crCompetencias.ReportFileName = GstrReportesInv + "rpt_Competencias.rpt"
    crCompetencias.WindowTitle = "Reporte de Competencias"
    crCompetencias.Formulas(1) = "formusuario=stringvar strusuario; strusuario:='" & GCUSERID & "'"
    crCompetencias.Formulas(2) = "formscreen=stringvar strscreen; strscreen:='01.207.00'"
    crCompetencias.WindowState = crptMaximized
    crCompetencias.WindowShowPrintSetupBtn = True
    crCompetencias.Action = 1
    
End Sub

Private Sub txtDescripcion_KeyPress(KeyAscii As Integer)
    KeyAscii = GBloqueaCaracter(KeyAscii)
End Sub



