VERSION 5.00
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Object = "{BDC217C8-ED16-11CD-956C-0000C04E4C0A}#1.1#0"; "TABCTL32.OCX"
Object = "{00025600-0000-0000-C000-000000000046}#5.2#0"; "crystl32.ocx"
Object = "{C4DED68B-C40F-11D6-AD1A-000795CA0957}#50.0#0"; "pry_list.ocx"
Begin VB.Form FKardexporArticulo 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Kardex FS-210 (10.110.00)"
   ClientHeight    =   5370
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   10365
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   ScaleHeight     =   5370
   ScaleWidth      =   10365
   Begin TabDlg.SSTab StaKardexArt 
      Height          =   5175
      Left            =   0
      TabIndex        =   0
      Top             =   120
      Width           =   10335
      _ExtentX        =   18230
      _ExtentY        =   9128
      _Version        =   393216
      Tabs            =   2
      TabHeight       =   520
      TabCaption(0)   =   "Criterio"
      TabPicture(0)   =   "1011000.frx":0000
      Tab(0).ControlEnabled=   -1  'True
      Tab(0).Control(0)=   "Frame2"
      Tab(0).Control(0).Enabled=   0   'False
      Tab(0).Control(1)=   "Frame3"
      Tab(0).Control(1).Enabled=   0   'False
      Tab(0).Control(2)=   "cmdgenerar"
      Tab(0).Control(2).Enabled=   0   'False
      Tab(0).Control(3)=   "cmdsalir"
      Tab(0).Control(3).Enabled=   0   'False
      Tab(0).Control(4)=   "CRFS210"
      Tab(0).Control(4).Enabled=   0   'False
      Tab(0).Control(5)=   "frmcriterio"
      Tab(0).Control(5).Enabled=   0   'False
      Tab(0).ControlCount=   6
      TabCaption(1)   =   "Almacenes"
      TabPicture(1)   =   "1011000.frx":001C
      Tab(1).ControlEnabled=   0   'False
      Tab(1).Control(0)=   "ListRAlmacenes"
      Tab(1).ControlCount=   1
      Begin VB.Frame frmcriterio 
         Height          =   1455
         Left            =   3000
         TabIndex        =   13
         Top             =   3600
         Width           =   2895
         Begin VB.CheckBox chksaldoini 
            Caption         =   "Artículos con Saldo Inicial ó Movimientos"
            Height          =   375
            Left            =   120
            TabIndex        =   14
            Top             =   360
            Width           =   2055
         End
      End
      Begin Crystal.CrystalReport CRFS210 
         Left            =   9480
         Top             =   4080
         _ExtentX        =   741
         _ExtentY        =   741
         _Version        =   348160
         PrintFileLinesPerPage=   60
      End
      Begin VB.CommandButton cmdsalir 
         Caption         =   "Sa&lir"
         Height          =   975
         Left            =   8040
         Picture         =   "1011000.frx":0038
         Style           =   1  'Graphical
         TabIndex        =   8
         Top             =   3840
         Width           =   1095
      End
      Begin VB.CommandButton cmdgenerar 
         Caption         =   "&Generar"
         Height          =   975
         Left            =   6960
         Picture         =   "1011000.frx":0342
         Style           =   1  'Graphical
         TabIndex        =   7
         Top             =   3840
         Width           =   1095
      End
      Begin VB.Frame Frame3 
         Caption         =   "Rango de Fechas"
         Height          =   1455
         Left            =   120
         TabIndex        =   4
         Top             =   3600
         Width           =   2775
         Begin MSComCtl2.DTPicker DTPHasta 
            Height          =   310
            Left            =   960
            TabIndex        =   6
            Top             =   840
            Width           =   1455
            _ExtentX        =   2566
            _ExtentY        =   556
            _Version        =   393216
            Format          =   61472769
            CurrentDate     =   37523
         End
         Begin MSComCtl2.DTPicker DTPDesde 
            Height          =   310
            Left            =   960
            TabIndex        =   5
            Top             =   360
            Width           =   1455
            _ExtentX        =   2566
            _ExtentY        =   556
            _Version        =   393216
            Format          =   61472769
            CurrentDate     =   37523
         End
         Begin VB.Label Label3 
            Caption         =   "Hasta"
            Height          =   375
            Left            =   240
            TabIndex        =   10
            Top             =   840
            Width           =   1215
         End
         Begin VB.Label Label2 
            Caption         =   "Desde"
            Height          =   255
            Left            =   240
            TabIndex        =   9
            Top             =   360
            Width           =   1215
         End
      End
      Begin VB.Frame Frame2 
         Height          =   3015
         Left            =   120
         TabIndex        =   1
         Top             =   480
         Width           =   10095
         Begin VB.ComboBox CmbAgrupadopor 
            Height          =   315
            ItemData        =   "1011000.frx":064C
            Left            =   1560
            List            =   "1011000.frx":065C
            Style           =   2  'Dropdown List
            TabIndex        =   2
            Top             =   240
            Width           =   2655
         End
         Begin pry_list.ctrl_listarray ListRCriterio 
            Height          =   2295
            Left            =   120
            TabIndex        =   3
            Top             =   600
            Width           =   9855
            _ExtentX        =   17383
            _ExtentY        =   4048
         End
         Begin VB.Label Label1 
            Caption         =   "Agrupar por"
            Height          =   375
            Left            =   360
            TabIndex        =   11
            Top             =   240
            Width           =   1215
         End
      End
      Begin pry_list.ctrl_listarray ListRAlmacenes 
         Height          =   4335
         Left            =   -74520
         TabIndex        =   12
         Top             =   600
         Width           =   5775
         _ExtentX        =   10186
         _ExtentY        =   7646
      End
   End
End
Attribute VB_Name = "FKardexporArticulo"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False

'Variables para el Control de la Barra General
 
 Public pb_tiposcreen  As String
 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

'*******************************************************************************************************************
Private MobjArticulos As DB_INV_ARTICULO.C_ARTICULO
Private MobjAlmacen As DB_INV_MANTENIMIENTOS.C_ALMACEN
Private MobjCategoria As DB_INV_MANTENIMIENTOS.C_CATEGORIA
Private MobjSubCategoria As DB_INV_MANTENIMIENTOS.C_SUBCATEGORIA
Sub actualizar_registro()
   'Se invoca al Evento Click para recargar las Listas
    'CmbAgrupadopor_Click
   'Se Recarga la Listas de Almacenes
    'ListRAlmacenes.llena_lista Nothing, MobjAlmacen.ListarAlmacenesPorStatus(1)
    'ListRAlmacenes.Size (24)
 
End Sub

Sub salir_formulario()
 gformmdi.Toolbar1.Buttons(18).Caption = "Salir"
 Unload Me
End Sub
Private Sub CmbAgrupadopor_Click()
   If CmbAgrupadopor.ListIndex = 0 Then
      ListRCriterio.llena_lista MobjCategoria.ListarCategorias
   Else
      If CmbAgrupadopor.ListIndex = 1 Then
         ListRCriterio.llena_lista MobjSubCategoria.ListarSubCategorias
      Else
         If CmbAgrupadopor.ListIndex = 2 Then
            ListRCriterio.llena_lista MobjArticulos.ListarArticulosayuda
         Else
            If CmbAgrupadopor.ListIndex = 3 Then
               ListRCriterio.llena_lista MobjCategoria.ListarCategorias
            End If
         End If
      End If
   End If
End Sub

Private Sub cmdgenerar_Click()
  Dim LstrCadenaCategorias  As String
  Dim LstrCadenaSubCategorias As String
  Dim LstrCadenaAlmacenes As String
  Dim LstrCadenaArticulos As String
     
  On Error GoTo errhandler
  
  Screen.MousePointer = vbHourglass
  
  If ListRAlmacenes.nseleccionados = 0 Then
     Screen.MousePointer = 0
     MsgBox "Debe Seleccionar un Almacén", vbDefaultButton1 + vbInformation, "Mensaje"
     Exit Sub
  End If
  If Len(ListRCriterio.listar_codigos) >= 255 Then
     Screen.MousePointer = 0
     MsgBox "Seleccione Menos Items o Todos", vbDefaultButton1 + vbExclamation, "Demasiados Items Seleccionados"
     ListRCriterio.SetFocus
     Exit Sub
  End If
            
  LstrCadenaAlmacenes = ListRAlmacenes.listar_codigos
  If CmbAgrupadopor.ListIndex = 0 Then 'Si es por Categoría
     If ListRCriterio.nseleccionados = 0 Then
       LstrCadenaCategorias = "''"
     Else
       LstrCadenaCategorias = ListRCriterio.listar_codigos
     End If
     LstrCadenaSubCategorias = "''"
     LstrCadenaArticulos = "''"
  Else
     If CmbAgrupadopor.ListIndex = 1 Then
        'Si es por SubCategoría
        If ListRCriterio.nseleccionados = 0 Then
         LstrCadenaSubCategorias = "''"
        Else
         LstrCadenaSubCategorias = ListRCriterio.listar_codigos
        End If
        LstrCadenaCategorias = "''"
        LstrCadenaArticulos = "''"
     Else
        If CmbAgrupadopor.ListIndex = 2 Then
            'Si es por Artículos
            If ListRCriterio.nseleccionados = 0 Then
               LstrCadenaArticulos = "''"
            Else
               LstrCadenaArticulos = ListRCriterio.listar_codigos
            End If
            LstrCadenaSubCategorias = "''"
            LstrCadenaCategorias = "''"
        Else
           If CmbAgrupadopor.ListIndex = 3 Then
              ' El Criterio es Artículos X Categoría
                If ListRCriterio.nseleccionados = 0 Then
                  LstrCadenaCategorias = "''"
                Else
                  LstrCadenaCategorias = ListRCriterio.listar_codigos
                End If
                LstrCadenaSubCategorias = "''"
                LstrCadenaArticulos = "''"
           End If
        End If
     End If
  End If
  
  'Dia de la Fecha Desde
  CRFS210.StoredProcParam(0) = Trim(Format(Day(DTPDesde.Value), "00"))
  'Mes de la Fecha Desde
  CRFS210.StoredProcParam(1) = Trim(Format(Month(DTPDesde.Value), "00"))
  'Año de la Fecha Desde
  CRFS210.StoredProcParam(2) = Trim(Trim(Str(Year(DTPDesde.Value))))
  'Dia de la Fecha Inicial
  CRFS210.StoredProcParam(3) = "01"
  'Mes de la Fecha Inicial
  CRFS210.StoredProcParam(4) = Trim(Format(Month(DTPDesde.Value), "00"))
  'Año de la Fecha Inicial
  CRFS210.StoredProcParam(5) = Trim(Str(Year(DTPDesde.Value)))
  'Mes a tomar en el KDXHIST
  CRFS210.StoredProcParam(6) = Trim(Format(Month(DTPDesde.Value) - 1, "00"))
  'Dia de la Fecha Hasta
  CRFS210.StoredProcParam(7) = Trim(Format(Day(DTPHasta.Value), "00"))
  'Mes de la Fecha Hasta
  CRFS210.StoredProcParam(8) = Trim(Format(Month(DTPHasta.Value), "00"))
  'Año de la Fecha Hasta
  CRFS210.StoredProcParam(9) = Trim(Str(Year(DTPHasta.Value)))
  'Codigos de los Almacenes
  CRFS210.StoredProcParam(10) = Trim(LstrCadenaAlmacenes)
  'Codigos de las Categorias
  CRFS210.StoredProcParam(11) = Trim(LstrCadenaCategorias)
  'Codigos de las SubCategorias
  CRFS210.StoredProcParam(12) = Trim(LstrCadenaSubCategorias)
  If CmbAgrupadopor.ListIndex = 0 Then
    'Es por Categoría
     CRFS210.ReportFileName = GstrReportesInv + "rpt_FS210porCategorias.rpt"
     CRFS210.StoredProcParam(13) = "CAT"
     If ListRCriterio.nseleccionados = 0 Then ' Si no hay Categorías Seleccionadas se envía el parámetro 1
        CRFS210.StoredProcParam(14) = 1
     Else
        CRFS210.StoredProcParam(14) = 0
     End If
     CRFS210.StoredProcParam(15) = 0
     CRFS210.StoredProcParam(16) = Trim(LstrCadenaArticulos)
     CRFS210.StoredProcParam(17) = 0
     
     CRFS210.StoredProcParam(18) = 0
  Else
     If CmbAgrupadopor.ListIndex = 1 Then
       'Es por SubCategoría
       CRFS210.ReportFileName = GstrReportesInv + "rpt_FS210porSubCategoria.rpt"
       CRFS210.StoredProcParam(13) = "SUB"
       CRFS210.StoredProcParam(14) = 0
       If ListRCriterio.nseleccionados = 0 Then
          CRFS210.StoredProcParam(15) = 1
       Else
          CRFS210.StoredProcParam(15) = 0
       End If
       CRFS210.StoredProcParam(16) = Trim(LstrCadenaArticulos)
       CRFS210.StoredProcParam(17) = 0
       CRFS210.StoredProcParam(18) = 0
     Else
        If CmbAgrupadopor.ListIndex = 2 Then
          ' Es por Artículo
           CRFS210.ReportFileName = GstrReportesInv + "rpt_FS210porArticulo.rpt"
           CRFS210.StoredProcParam(13) = "ART"
           CRFS210.StoredProcParam(14) = 0
           CRFS210.StoredProcParam(15) = 0
           CRFS210.StoredProcParam(16) = Trim(LstrCadenaArticulos)
           If ListRCriterio.nseleccionados = 0 Then
              CRFS210.StoredProcParam(17) = 1
           Else
              CRFS210.StoredProcParam(17) = 0
           End If
           
           If chksaldoini.Value = 1 Then
              CRFS210.StoredProcParam(18) = 1
           Else
              CRFS210.StoredProcParam(18) = 0
           End If
       
           
        Else
           If CmbAgrupadopor.ListIndex = 3 Then
              ' Es Artículo por Categoría
              CRFS210.ReportFileName = GstrReportesInv + "rpt_FS210porArticulo.rpt"
              CRFS210.StoredProcParam(13) = "AXC"
              CRFS210.StoredProcParam(15) = 0
              CRFS210.StoredProcParam(16) = Trim(LstrCadenaArticulos)
              If ListRCriterio.nseleccionados = 0 Then
                CRFS210.StoredProcParam(14) = 1
              Else
                CRFS210.StoredProcParam(14) = 0
              End If
              CRFS210.StoredProcParam(17) = 0
              
              If chksaldoini.Value = 1 Then
               CRFS210.StoredProcParam(18) = 1
              Else
               CRFS210.StoredProcParam(18) = 0
              End If
                    
           End If
        End If
     End If
  End If
  
  CRFS210.WindowTitle = "Kardex FS-210"
  CRFS210.Formulas(1) = "formusuario=stringvar strusuario; strusuario:='" & GCUSERID & "'"
  CRFS210.Formulas(2) = "formscreen=stringvar strscreen; strscreen:='10.110.00'"
  CRFS210.Formulas(3) = "formdescstock=" + Str(GintDecStock)
  CRFS210.Formulas(4) = "formdesde='" + Format(DTPDesde.Value, "dd/mm/yyyy") + "'"
  CRFS210.Formulas(5) = "formhasta='" + Format(DTPHasta.Value, "dd/mm/yyyy") + "'"
  
  CRFS210.WindowState = crptMaximized
  CRFS210.WindowShowPrintSetupBtn = True
  CRFS210.WindowShowSearchBtn = True
  CRFS210.Action = 1
  Screen.MousePointer = 0
Exit Sub
errhandler:
   
   Screen.MousePointer = 0
   MsgBox Err.Description, vbDefaultButton1 + vbCritical, "Error al Generar Reporte"

End Sub

Private Sub cmdsalir_Click()
  Unload Me
End Sub

Private Sub Form_Activate()
 '********************************************************************************
 'Código que se Tiene que Copiar para Invocar a la Rutina de Seguridad para poder
    Call gactualizaopcion(pbderecho_agregar, pbderecho_editar, pbderecho_borrar, pbderecho_imprimir)
    Call gactualiza_barra(Me) 'pb_editar, pb_primerregistro, pb_ultimoregistro)
    If pbderecho_consultar = False Then
       Unload Me
    End If
 '********************************************************************************
End Sub

Private Sub Form_Load()
 '********************************************************************************
 'Código que se Tiene que Copiar para Invocar a la Rutina de Seguridad para poder
  Call gseguridad(Me)
  If pbderecho_consultar Then
  Else
     MsgBox ("No tiene Derechos de Consultar en este formulario"), vbCritical + vbDefaultButton1, "Mensaje"
  End If
 '********************************************************************************
    
  Set MobjArticulos = New DB_INV_ARTICULO.C_ARTICULO
  Set MobjAlmacen = New DB_INV_MANTENIMIENTOS.C_ALMACEN
  Set MobjCategoria = New DB_INV_MANTENIMIENTOS.C_CATEGORIA
  Set MobjSubCategoria = New DB_INV_MANTENIMIENTOS.C_SUBCATEGORIA
        
  Me.Left = (MDIFInventarios.Width - Me.Width) / 2
  Me.Top = 100
  

  'Ubicar el Combo de en el primer Item
  StaKardexArt.Tab = 0
  CmbAgrupadopor.ListIndex = 0
  DTPDesde.Value = DateAdd("d", (-1) * (Day(Now) - 1), Now)
  DTPHasta.Value = Now
  
  'Cargar el ListRCriterio
  ListRCriterio.Size 13, 52
  ListRCriterio.llena_lista MobjCategoria.ListarCategorias
   
  'Cargar la Lista de Almacenes
  
  ListRAlmacenes.Size (26)
  ListRAlmacenes.llena_lista Nothing, MobjAlmacen.ListarAlmacenesPorStatus(1)
  
End Sub

Private Sub Form_Unload(Cancel As Integer)
  Set MobjAlmacen = Nothing
  Set MobjCategoria = Nothing
  Set MobjSubCategoria = Nothing
  Set MobjArticulos = Nothing
End Sub

