VERSION 5.00
Object = "{00025600-0000-0000-C000-000000000046}#5.2#0"; "crystl32.ocx"
Begin VB.Form FDocumento 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Documento (01.160.00)"
   ClientHeight    =   2145
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   5355
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   ScaleHeight     =   2145
   ScaleWidth      =   5355
   Begin Crystal.CrystalReport crDocumentos 
      Left            =   3720
      Top             =   240
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   348160
      PrintFileLinesPerPage=   60
   End
   Begin VB.TextBox txtDescripcion 
      Height          =   285
      Left            =   1560
      TabIndex        =   2
      Top             =   900
      Width           =   3375
   End
   Begin VB.TextBox txtCodigo 
      Height          =   285
      Left            =   1560
      MaxLength       =   6
      TabIndex        =   0
      Top             =   360
      Width           =   735
   End
   Begin VB.CommandButton cmdBuscar 
      Enabled         =   0   'False
      Height          =   375
      Left            =   2400
      Picture         =   "0116000.frx":0000
      Style           =   1  'Graphical
      TabIndex        =   1
      ToolTipText     =   "Buscar"
      Top             =   360
      Width           =   375
   End
   Begin VB.TextBox txtDescripAbrv 
      Height          =   285
      Left            =   1560
      MaxLength       =   12
      TabIndex        =   3
      Top             =   1470
      Width           =   1215
   End
   Begin VB.Image Image1 
      Height          =   630
      Left            =   4320
      Picture         =   "0116000.frx":0532
      Stretch         =   -1  'True
      Top             =   90
      Width           =   585
   End
   Begin VB.Label lblDescripcion 
      AutoSize        =   -1  'True
      Caption         =   "Descripción"
      Height          =   195
      Left            =   480
      TabIndex        =   6
      Top             =   900
      Width           =   840
   End
   Begin VB.Label lblCodigo 
      AutoSize        =   -1  'True
      Caption         =   "Código"
      Height          =   255
      Left            =   480
      TabIndex        =   5
      Top             =   390
      Width           =   495
   End
   Begin VB.Label lblDescripAbrv 
      AutoSize        =   -1  'True
      Caption         =   "Abreviatura"
      Height          =   195
      Left            =   480
      TabIndex        =   4
      Top             =   1470
      Width           =   810
   End
End
Attribute VB_Name = "FDocumento"
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_documentos As ADODB.Recordset
Public objDocumento As DB_MA_MANTENIMIENTOS.C_DOCUMENTO


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) = "DocTypeid"
  ArrayBusqueda(1, 2) = "Código "
  ArrayBusqueda(1, 3) = 1000
  ArrayBusqueda(2, 1) = "Descr"
  ArrayBusqueda(2, 2) = "Descripción "
  ArrayBusqueda(2, 3) = 4000
    
        
  FBusquedasMa.GObtenerRegistros rs_documentos, ArrayBusqueda, 2, 2
  FBusquedasMa.Show vbModal
  If GrecibeUbicacion <> 0 And GrecibeUbicacion <= rs_documentos.RecordCount Then
        rs_documentos.AbsolutePosition = GrecibeUbicacion
        asigna_campos
        Call gestadoactualrs(Me, rs_documentos)
        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_documentos)
Call asigna_campos
End Sub

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

Public Sub registro_anterior()
Call Gregistro_anterior(Me, rs_documentos)
Call asigna_campos
End Sub
Public Sub registro_siguiente()
Call Gregistro_siguiente(Me, rs_documentos)
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

    Set objDocumento = New DB_MA_MANTENIMIENTOS.C_DOCUMENTO
    
    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()
    objDocumento.EliminarDocumento txtCodigo
    Call gborrar_Registro(Me, rs_documentos, txtCodigo)
End Sub
Function valida_datos()
    If GVDATO(txtCodigo.Text) = Empty Then
        valida_datos = False
        MsgBox "Ingrese Código del Documento", vbInformation, "Error"
        txtCodigo.SetFocus
        Exit Function
    End If
    
    If GVDATO(Txtdescripcion.Text) = Empty Then
        valida_datos = False
        MsgBox "Ingrese Descripción del Documento", vbInformation, "Error"
        Txtdescripcion.SetFocus
        Exit Function
    End If
    
    If GVDATO(txtDescripAbrv.Text) = Empty Then
        valida_datos = False
        MsgBox "Ingrese Descripción abreviada del Documento", vbInformation, "Error"
        Txtdescripcion.SetFocus
        Exit Function
    End If
    
    valida_datos = True
End Function
Public Sub grabar_registro()
If valida_datos() = True Then
    ' llamada al proc de grabacion
    If pb_agregar Then
        objDocumento.AgregarDocumento Trim(txtCodigo), Trim(Txtdescripcion), Trim(txtDescripAbrv)
    Else
        objDocumento.ActualizarDocumento txtCodigo, Trim(Txtdescripcion), Trim(txtDescripAbrv)
    End If
    
    Call ggrabar_registro(Me)
    actualizar_registro
End If
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_documentos = objDocumento.ListarDocumentos
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_documentos.RecordCount <> 0 Then
    txtCodigo.Text = rs_documentos!DocTypeid
    Txtdescripcion.Text = rs_documentos!DESCR
    txtDescripAbrv.Text = rs_documentos!Mindes
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 objDocumento = Nothing
    Set rs_documentos = Nothing
End Sub

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

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

Private Sub txtDescripcion_KeyPress(KeyAscii As Integer)
    KeyAscii = GBloqueaCaracter(KeyAscii)
    If KeyAscii = 13 Then
        txtDescripAbrv.SetFocus
    End If
End Sub

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