VERSION 5.00
Object = "{F0D2F211-CCB0-11D0-A316-00AA00688B10}#1.0#0"; "MSDATLST.OCX"
Object = "{00025600-0000-0000-C000-000000000046}#5.2#0"; "crystl32.ocx"
Begin VB.Form FTipoMovimiento 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Tipos de Movimientos (01.070.00)"
   ClientHeight    =   4065
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   6135
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   ScaleHeight     =   4065
   ScaleWidth      =   6135
   Begin Crystal.CrystalReport crtipomovimiento 
      Left            =   3960
      Top             =   1320
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   348160
      PrintFileLinesPerPage=   60
   End
   Begin VB.Frame Frame1 
      Appearance      =   0  'Flat
      BackColor       =   &H80000004&
      ForeColor       =   &H80000008&
      Height          =   975
      Left            =   240
      TabIndex        =   21
      Top             =   2880
      Width           =   5655
      Begin VB.CheckBox chkmostrar 
         Caption         =   "Mostrar"
         Height          =   375
         Left            =   3720
         TabIndex        =   14
         Top             =   480
         Width           =   1815
      End
      Begin VB.CheckBox chkCompra 
         Caption         =   "Es un Tipo de Ingreso por Compra"
         Height          =   255
         Left            =   120
         TabIndex        =   11
         Top             =   240
         Width           =   3015
      End
      Begin VB.CheckBox chkProveedor 
         Caption         =   "Requiere Proveedor"
         Height          =   255
         Left            =   3720
         TabIndex        =   13
         Top             =   240
         Value           =   1  'Checked
         Width           =   1815
      End
      Begin VB.CheckBox chkCostoPromedio 
         Caption         =   "Participa en el Cálculo del Costo Promedio"
         Height          =   375
         Left            =   120
         TabIndex        =   12
         Top             =   480
         Width           =   3495
      End
   End
   Begin MSDataListLib.DataCombo dtcTipoPrecio 
      Height          =   315
      Left            =   2160
      TabIndex        =   8
      Top             =   1920
      Width           =   3255
      _ExtentX        =   5741
      _ExtentY        =   556
      _Version        =   393216
      Style           =   2
      Text            =   ""
   End
   Begin VB.CommandButton cmdBuscaTipoPrecio 
      Height          =   375
      Left            =   5520
      Picture         =   "0107000.frx":0000
      Style           =   1  'Graphical
      TabIndex        =   9
      ToolTipText     =   "Buscar"
      Top             =   1920
      Width           =   375
   End
   Begin VB.CheckBox chkValorizado 
      Caption         =   "Valorizado"
      Height          =   255
      Left            =   360
      TabIndex        =   5
      Top             =   1680
      Value           =   1  'Checked
      Width           =   1095
   End
   Begin VB.CheckBox chkCostoProm 
      Caption         =   "Costo Promedio"
      Height          =   375
      Left            =   2160
      TabIndex        =   10
      Top             =   2340
      Width           =   1575
   End
   Begin VB.Frame fraValorizado 
      Appearance      =   0  'Flat
      BackColor       =   &H80000004&
      ForeColor       =   &H80000008&
      Height          =   1095
      Left            =   240
      TabIndex        =   19
      Top             =   1680
      Width           =   1815
      Begin VB.OptionButton optPrecioCosto 
         Caption         =   "Costo Reposición"
         Height          =   255
         Left            =   120
         TabIndex        =   7
         Top             =   720
         Width           =   1575
      End
      Begin VB.OptionButton optPrecioVenta 
         Caption         =   "Precio Venta"
         Height          =   255
         Left            =   120
         TabIndex        =   6
         Top             =   360
         Value           =   -1  'True
         Width           =   1215
      End
   End
   Begin VB.TextBox txtDescripAbrv 
      Height          =   285
      Left            =   1320
      TabIndex        =   4
      Top             =   1200
      Width           =   1215
   End
   Begin VB.CommandButton cmdBuscar 
      Enabled         =   0   'False
      Height          =   375
      Left            =   2160
      Picture         =   "0107000.frx":0532
      Style           =   1  'Graphical
      TabIndex        =   1
      ToolTipText     =   "Buscar"
      Top             =   330
      Width           =   375
   End
   Begin VB.TextBox txtCodigo 
      Height          =   285
      Left            =   1320
      MaxLength       =   6
      TabIndex        =   0
      Top             =   330
      Width           =   735
   End
   Begin VB.ComboBox cmbTipoMovi 
      Height          =   315
      ItemData        =   "0107000.frx":0A64
      Left            =   4320
      List            =   "0107000.frx":0A6E
      Style           =   2  'Dropdown List
      TabIndex        =   2
      Top             =   330
      Width           =   1575
   End
   Begin VB.TextBox txtDescripcion 
      Height          =   285
      Left            =   1320
      TabIndex        =   3
      Top             =   765
      Width           =   4575
   End
   Begin VB.Label lblTipoPrecio 
      AutoSize        =   -1  'True
      Caption         =   "Tipo Precio"
      Height          =   195
      Left            =   2160
      TabIndex        =   20
      Top             =   1680
      Width           =   810
   End
   Begin VB.Label lblDescripAbrv 
      AutoSize        =   -1  'True
      Caption         =   "Abreviatura"
      Height          =   195
      Left            =   240
      TabIndex        =   18
      Top             =   1200
      Width           =   810
   End
   Begin VB.Label lblTipoMov 
      AutoSize        =   -1  'True
      Caption         =   "Movimiento"
      Height          =   255
      Left            =   3360
      TabIndex        =   17
      Top             =   360
      Width           =   855
   End
   Begin VB.Label lblCodigo 
      AutoSize        =   -1  'True
      Caption         =   "Código"
      Height          =   255
      Left            =   240
      TabIndex        =   16
      Top             =   360
      Width           =   495
   End
   Begin VB.Label lblDescripcion 
      AutoSize        =   -1  'True
      Caption         =   "Descripción"
      Height          =   195
      Left            =   240
      TabIndex        =   15
      Top             =   750
      Width           =   840
   End
End
Attribute VB_Name = "FTipoMovimiento"
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 MblnFlag As Boolean

Public rs_TiposMovimientos As ADODB.Recordset
Public objTipoMOvimiento As DB_INV_MANTENIMIENTOS.C_TIPOMOVIMIENTO
Public objTipoPrecio As DB_INV_MANTENIMIENTOS.C_TIPOPRECIO

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

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) = "TypeDocId"
    ArrayBusqueda(1, 2) = "Código "
    ArrayBusqueda(1, 3) = 1000
    ArrayBusqueda(2, 1) = "descr"
    ArrayBusqueda(2, 2) = "Descripción "
    ArrayBusqueda(2, 3) = 4000
      
          
    FBusquedasMa.GObtenerRegistros objTipoMOvimiento.ListarTiposMovimientosAyuda, ArrayBusqueda, 2, 2
    FBusquedasMa.Show vbModal
    If GrecibeUbicacion <> 0 And GrecibeUbicacion <= rs_TiposMovimientos.RecordCount Then
          rs_TiposMovimientos.AbsolutePosition = GrecibeUbicacion
          asigna_campos
          Call gestadoactualrs(Me, rs_TiposMovimientos)
          Call gactualiza_barra(Me)
    End If

End Sub

Private Sub cmdBuscaTipoPrecio_Click()
    'Lineas que llaman al Formulario de Búsqueda
    
    Dim ArrayBusqueda(1 To 2, 1 To 3) As Variant
    ArrayBusqueda(1, 1) = "Preclvid"
    ArrayBusqueda(1, 2) = "Código "
    ArrayBusqueda(1, 3) = 1000
    ArrayBusqueda(2, 1) = "descr"
    ArrayBusqueda(2, 2) = "Descripción "
    ArrayBusqueda(2, 3) = 4000
      
    FBusquedasMa.GObtenerRegistros objTipoPrecio.ListarTiposPrecios, ArrayBusqueda, 2, 2
    FBusquedasMa.Show vbModal
    
    If GrecibeUbicacion <> 0 Then
      dtcTipoPrecio.BoundText = GrecibeColumnaID
    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
    cmdBuscaTipoPrecio.Enabled = False
End Sub

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

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

Public Sub registro_anterior()
    Call Gregistro_anterior(Me, rs_TiposMovimientos)
    Call asigna_campos
End Sub
Public Sub registro_siguiente()
    Call Gregistro_siguiente(Me, rs_TiposMovimientos)
    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 objTipoMOvimiento = New DB_INV_MANTENIMIENTOS.C_TIPOMOVIMIENTO
        Set objTipoPrecio = New DB_INV_MANTENIMIENTOS.C_TIPOPRECIO
        Call obtener_datos
        Call GCargaDataCombo(dtcTipoPrecio, objTipoPrecio.ListarTiposPrecios, "Preclvid", "Descr")
        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
     optPrecioVenta.Enabled = False
     optPrecioCosto.Enabled = False
     chkCostoProm.Enabled = False
End Sub
Public Sub borrar_registro()

On Error GoTo errhandler

    objTipoMOvimiento.EliminarTipoMovimiento txtCodigo
    Call gborrar_Registro(Me, rs_TiposMovimientos, 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 Tipo de Movimiento", vbInformation, "Error"
        txtCodigo.SetFocus
        Exit Function
    End If
    
    If GVDATO(txtDescripcion.Text) = Empty Then
        valida_datos = False
        MsgBox "Ingrese Descripción de Tipo de Movimiento", vbInformation, "Error"
        txtDescripcion.SetFocus
        Exit Function
    End If
    
    If GVDATO(txtDescripAbrv.Text) = Empty Then
        valida_datos = False
        MsgBox "Ingrese Descripción Abreviada", vbInformation, "Error"
        txtDescripAbrv.SetFocus
        Exit Function
    End If
    
    If chkValorizado And optPrecioVenta Then
        If GVDATO(dtcTipoPrecio.Text) = Empty Then
            valida_datos = False
            MsgBox "Ingrese Tipo de Precio", vbInformation, "Error"
            dtcTipoPrecio.SetFocus
            Exit Function
        End If
    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
            objTipoMOvimiento.AgregarTipoMovimiento Trim(txtCodigo), Trim(txtDescripcion), _
                                                    cmbTipoMovi.ListIndex, chkValorizado.Value, IIf(optPrecioCosto.Value, 1, 0), _
                                                    chkCostoProm.Value, dtcTipoPrecio.BoundText, chkCompra.Value, chkProveedor.Value, chkCostoPromedio.Value, Trim(txtDescripAbrv), IIf(chkmostrar.Value = 1, "1", "0")
        Else
            objTipoMOvimiento.ActualizarTipoMovimiento txtCodigo, Trim(txtDescripcion), _
                                                    cmbTipoMovi.ListIndex, chkValorizado.Value, IIf(optPrecioCosto.Value, 1, 0), _
                                                    chkCostoProm.Value, dtcTipoPrecio.BoundText, chkCompra.Value, chkProveedor.Value, chkCostoPromedio.Value, Trim(txtDescripAbrv), IIf(chkmostrar.Value = 1, "1", "0")
        
        End If
        
        Call ggrabar_registro(Me)
        cmdBuscaTipoPrecio.Enabled = False
        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)
    chkValorizado.Value = 1
      
End Sub
Public Sub modificar_registro()
    Call gmodificar_registro(Me, txtCodigo)
'    If chkValorizado.Value = 1 Then
'        If optPrecioVenta.Value Then
'            DtcTipoPrecio.Enabled = True
'            chkCostoProm.Enabled = False
'            cmdBuscaTipoPrecio.Enabled = True
'        Else
'            DtcTipoPrecio.Enabled = False
'            chkCostoProm.Enabled = True
'            cmdBuscaTipoPrecio.Enabled = False
'        End If
'    End If
     chkValorizado_Click
End Sub
Public Sub descartar_registro()
    ' Revertir cambios
    'adodc1.Recordset.CancelUpdate
    Call gdescartar_registro(Me)
    Call asigna_campos
    cmdBuscaTipoPrecio.Enabled = False
End Sub


Sub obtener_datos()
    Set rs_TiposMovimientos = objTipoMOvimiento.ListarTiposMovimientos
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
MblnFlag = True
    If rs_TiposMovimientos.RecordCount <> 0 Then
        txtCodigo.Text = rs_TiposMovimientos!TypeDocId
        txtDescripcion.Text = rs_TiposMovimientos!DESCR
        cmbTipoMovi.ListIndex = IIf(rs_TiposMovimientos!Inout, 1, 0)
        chkValorizado.Value = IIf(rs_TiposMovimientos!StkValue, 1, 0)
        optPrecioCosto.Value = IIf(rs_TiposMovimientos!StkCosPrice, 1, 0)
        optPrecioVenta.Value = IIf(optPrecioCosto, 0, 1)
        dtcTipoPrecio.BoundText = GValidarNulos(rs_TiposMovimientos!Preclvlid)
        'dtcTipoPrecio.BoundText = rs_TiposMovimientos!Preclvlid & Space(5 - Len(rs_TiposMovimientos!Preclvlid))
        chkCostoProm.Value = IIf(rs_TiposMovimientos!StkAvgCost, 1, 0)
        chkCompra.Value = IIf(rs_TiposMovimientos!STKBUY, 1, 0)
        chkProveedor.Value = IIf(rs_TiposMovimientos!STKVENDOR, 1, 0)
        chkCostoPromedio.Value = IIf(rs_TiposMovimientos!STKAVERAGE, 1, 0)
        txtDescripAbrv.Text = rs_TiposMovimientos!Descr_abr
        If rs_TiposMovimientos!STKDISPLAY = "1" Then
           chkmostrar.Value = 1
        Else
           chkmostrar.Value = 0
        End If
    End If
MblnFlag = False
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


'   Procedimiento GCargaDataCombo
'   Elaborado por : Edgar Cancho Ruiz
'   Fecha : 12/09/2002

Public Sub GCargaDataCombo(objDataCombo As DataCombo, rsSource As Recordset, istrCampo1 As String, istrCampo2 As String)
   If rsSource.RecordCount <> 0 Then
        Set objDataCombo.DataSource = rsSource
        objDataCombo.DataField = istrCampo2
        Set objDataCombo.RowSource = rsSource
        objDataCombo.ListField = istrCampo2
        objDataCombo.BoundColumn = istrCampo1
        objDataCombo.BoundText = rsSource.Fields(istrCampo2)
    End If
End Sub


Private Sub chkValorizado_Click()
If MblnFlag = False Then
    If chkValorizado.Value = 1 Then
        optPrecioVenta.Enabled = True
        optPrecioCosto.Enabled = True
        If optPrecioVenta.Value Then
            dtcTipoPrecio.Enabled = True
            chkCostoProm.Enabled = False
            cmdBuscaTipoPrecio.Enabled = True
        Else
            dtcTipoPrecio.Enabled = False
            chkCostoProm.Enabled = True
            cmdBuscaTipoPrecio.Enabled = False
        End If
    Else
        optPrecioVenta.Enabled = False
        optPrecioCosto.Enabled = False
        dtcTipoPrecio.Text = Empty
        dtcTipoPrecio.Enabled = False
        chkCostoProm.Enabled = False
        cmdBuscaTipoPrecio.Enabled = False
    End If
End If
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Set objTipoMOvimiento = Nothing
    Set objTipoPrecio = Nothing
    Set rs_TiposMovimientos = Nothing
End Sub


Private Sub optPrecioCosto_Click()
If MblnFlag = False Then
    If optPrecioCosto.Value Then
       chkCostoProm.Enabled = True
       dtcTipoPrecio.Text = Empty
       dtcTipoPrecio.Enabled = False
       cmdBuscaTipoPrecio.Enabled = False
    Else
       chkCostoProm.Enabled = False
       dtcTipoPrecio.Enabled = True
       cmdBuscaTipoPrecio.Enabled = True
    End If
End If
End Sub

Private Sub optPrecioCosto_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        chkCostoProm.SetFocus
    End If
End Sub

Private Sub optPrecioVenta_Click()
If MblnFlag = False Then
    If optPrecioVenta.Value Then
       chkCostoProm.Enabled = False
       dtcTipoPrecio.Enabled = True
       cmdBuscaTipoPrecio.Enabled = True
    Else
       chkCostoProm.Enabled = True
       dtcTipoPrecio.Enabled = False
       cmdBuscaTipoPrecio.Enabled = False
    End If
End If
End Sub

Sub imprimir()
    crtipomovimiento.ReportFileName = GstrReportesInv + "rpt_TipoMovimiento.rpt"
    crtipomovimiento.WindowTitle = "Reporte de Tipo de Movimiento"
    crtipomovimiento.Formulas(1) = "formusuario=stringvar strusuario; strusuario:='" & GCUSERID & "'"
    crtipomovimiento.Formulas(2) = "formscreen=stringvar strscreen; strscreen:='01.070.00'"
    crtipomovimiento.WindowState = crptMaximized
    crtipomovimiento.WindowShowPrintSetupBtn = True
    crtipomovimiento.Action = 1
End Sub

Private Sub optPrecioVenta_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        dtcTipoPrecio.SetFocus
    End If
End Sub

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

Private Sub txtDescripAbrv_KeyPress(KeyAscii As Integer)
    KeyAscii = GBloqueaCaracter(KeyAscii)
    If KeyAscii = 13 Then
        chkValorizado.SetFocus
    End If
End Sub

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