VERSION 5.00
Object = "{86CF1D34-0C5F-11D2-A9FC-0000F8754DA1}#2.0#0"; "MSCOMCT2.OCX"
Object = "{F0D2F211-CCB0-11D0-A316-00AA00688B10}#1.0#0"; "MSDATLST.OCX"
Object = "{CDE57A40-8B86-11D0-B3C6-00A0C90AEA82}#1.0#0"; "MSDATGRD.OCX"
Object = "{00025600-0000-0000-C000-000000000046}#5.2#0"; "crystl32.ocx"
Object = "{69F9D01E-F1DE-11D4-9536-002018603DA2}#7.0#0"; "ControlNumber.ocx"
Begin VB.Form FIngresos 
   BorderStyle     =   1  'Fixed Single
   Caption         =   "Ingresos (10.010.00)"
   ClientHeight    =   8190
   ClientLeft      =   45
   ClientTop       =   330
   ClientWidth     =   12645
   LinkTopic       =   "Form1"
   MaxButton       =   0   'False
   MDIChild        =   -1  'True
   ScaleHeight     =   8190
   ScaleWidth      =   12645
   Begin VB.CommandButton cmdObservacion 
      Caption         =   "Comentario"
      Height          =   825
      Left            =   11400
      Picture         =   "1001000.frx":0000
      Style           =   1  'Graphical
      TabIndex        =   29
      ToolTipText     =   "Observaciones"
      Top             =   5640
      Width           =   1095
   End
   Begin VB.CommandButton cmdAnulaDoc 
      Caption         =   "Anular"
      Height          =   855
      Left            =   11400
      MouseIcon       =   "1001000.frx":030A
      MousePointer    =   99  'Custom
      Picture         =   "1001000.frx":0614
      Style           =   1  'Graphical
      TabIndex        =   28
      ToolTipText     =   "Anular Documento"
      Top             =   4800
      Width           =   1095
   End
   Begin VB.CommandButton cmdEmiteDoc 
      Caption         =   "Emitir"
      Height          =   855
      Left            =   11400
      MouseIcon       =   "1001000.frx":091E
      MousePointer    =   99  'Custom
      Picture         =   "1001000.frx":0C28
      Style           =   1  'Graphical
      TabIndex        =   27
      ToolTipText     =   "Emitir Documento"
      Top             =   3960
      Width           =   1095
   End
   Begin VB.CommandButton cmdImprimeDoc 
      Caption         =   "Imprimir"
      Enabled         =   0   'False
      Height          =   825
      Left            =   11400
      MouseIcon       =   "1001000.frx":0F32
      MousePointer    =   99  'Custom
      Picture         =   "1001000.frx":123C
      Style           =   1  'Graphical
      TabIndex        =   26
      ToolTipText     =   "Imprimir Documento"
      Top             =   3150
      Width           =   1095
   End
   Begin VB.CommandButton cmdGrabaDoc 
      Caption         =   "GRABAR"
      Height          =   375
      Left            =   11400
      Picture         =   "1001000.frx":1546
      TabIndex        =   36
      Top             =   4440
      Visible         =   0   'False
      Width           =   495
   End
   Begin VB.CommandButton cmdBuscar 
      Height          =   375
      Left            =   5880
      MouseIcon       =   "1001000.frx":1A78
      MousePointer    =   99  'Custom
      Picture         =   "1001000.frx":1BCA
      Style           =   1  'Graphical
      TabIndex        =   38
      ToolTipText     =   "Buscar Documento"
      Top             =   120
      Width           =   375
   End
   Begin Crystal.CrystalReport crIngresos 
      Left            =   1680
      Top             =   120
      _ExtentX        =   741
      _ExtentY        =   741
      _Version        =   348160
      WindowState     =   2
      PrintFileLinesPerPage=   60
   End
   Begin VB.CommandButton cmdCancelaDoc 
      Caption         =   "CANCELAR"
      Height          =   375
      Left            =   11400
      TabIndex        =   35
      Top             =   3720
      Visible         =   0   'False
      Width           =   495
   End
   Begin VB.CommandButton cmdNuevoDoc 
      Caption         =   "NUEVO"
      Height          =   375
      Left            =   11400
      TabIndex        =   34
      Top             =   3360
      Visible         =   0   'False
      Width           =   495
   End
   Begin VB.Frame fraDatosItem 
      Appearance      =   0  'Flat
      BackColor       =   &H80000004&
      ForeColor       =   &H80000008&
      Height          =   1455
      Left            =   120
      TabIndex        =   54
      Top             =   5880
      Width           =   11055
      Begin VB.TextBox ctnCodCompra 
         Alignment       =   1  'Right Justify
         Height          =   320
         Left            =   6720
         TabIndex        =   78
         Top             =   1017
         Width           =   1575
      End
      Begin VB.CommandButton cmdGrabarCCmp 
         Height          =   375
         Left            =   8355
         MouseIcon       =   "1001000.frx":20FC
         Picture         =   "1001000.frx":224E
         Style           =   1  'Graphical
         TabIndex        =   24
         ToolTipText     =   "Grabar Precio Venta"
         Top             =   990
         Width           =   375
      End
      Begin VB.CommandButton Command1 
         Height          =   375
         Left            =   8355
         MouseIcon       =   "1001000.frx":2780
         Picture         =   "1001000.frx":28D2
         Style           =   1  'Graphical
         TabIndex        =   19
         ToolTipText     =   "Maestro Articulos"
         Top             =   135
         Width           =   375
      End
      Begin VB.CommandButton cmdBuscaArticulo 
         Height          =   375
         Left            =   7920
         Picture         =   "1001000.frx":2E04
         Style           =   1  'Graphical
         TabIndex        =   18
         TabStop         =   0   'False
         ToolTipText     =   "Buscar Artículo"
         Top             =   135
         Width           =   375
      End
      Begin VB.CommandButton cmdGrabarPV 
         Height          =   375
         Left            =   8355
         MouseIcon       =   "1001000.frx":3336
         Picture         =   "1001000.frx":3488
         Style           =   1  'Graphical
         TabIndex        =   22
         ToolTipText     =   "Grabar Precio Venta"
         Top             =   600
         Width           =   375
      End
      Begin VB.CommandButton cmdActualizaItem 
         Caption         =   "Actualizar"
         Height          =   495
         Left            =   8520
         Picture         =   "1001000.frx":39BA
         Style           =   1  'Graphical
         TabIndex        =   57
         Top             =   1920
         Visible         =   0   'False
         Width           =   315
      End
      Begin VB.CommandButton cmdEliminarItem 
         Caption         =   "Eliminar"
         Height          =   495
         Left            =   8160
         Picture         =   "1001000.frx":3EEC
         Style           =   1  'Graphical
         TabIndex        =   58
         Top             =   1950
         Visible         =   0   'False
         Width           =   375
      End
      Begin VB.TextBox txtArticulo 
         Height          =   285
         Left            =   1080
         TabIndex        =   17
         Top             =   225
         Width           =   1545
      End
      Begin VB.CommandButton cmdNuevoItem 
         Caption         =   "Nuevo"
         Height          =   495
         Left            =   7830
         Picture         =   "1001000.frx":3FEE
         Style           =   1  'Graphical
         TabIndex        =   59
         Top             =   1950
         Visible         =   0   'False
         Width           =   345
      End
      Begin MiControl.CtrlNumber ctnUnidades 
         Height          =   375
         Left            =   1080
         TabIndex        =   20
         Top             =   600
         Width           =   1545
         _ExtentX        =   2725
         _ExtentY        =   661
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
      End
      Begin MiControl.CtrlNumber ctnPrecioVenta 
         Height          =   375
         Left            =   6720
         TabIndex        =   21
         Top             =   600
         Width           =   1575
         _ExtentX        =   2778
         _ExtentY        =   661
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
      End
      Begin MiControl.CtrlNumber ctnCosto 
         Height          =   375
         Left            =   1080
         TabIndex        =   25
         Top             =   960
         Width           =   1545
         _ExtentX        =   2725
         _ExtentY        =   661
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
      End
      Begin MiControl.CtrlNumber ctnCodCompra_2 
         Height          =   375
         Left            =   9120
         TabIndex        =   23
         Top             =   600
         Width           =   1575
         _ExtentX        =   2778
         _ExtentY        =   661
         BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   400
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
      End
      Begin VB.Label Label4 
         AutoSize        =   -1  'True
         Caption         =   "Cod. Compra"
         Height          =   195
         Left            =   5520
         TabIndex        =   77
         Top             =   1080
         Width           =   915
      End
      Begin VB.Label lblCostoAnt 
         Alignment       =   1  'Right Justify
         BorderStyle     =   1  'Fixed Single
         Height          =   315
         Left            =   3720
         TabIndex        =   75
         Top             =   990
         Width           =   1545
      End
      Begin VB.Label lblCosto 
         AutoSize        =   -1  'True
         Caption         =   "Costo"
         Height          =   195
         Left            =   240
         TabIndex        =   74
         Top             =   1050
         Width           =   405
      End
      Begin VB.Label Label3 
         AutoSize        =   -1  'True
         Caption         =   "Precio Venta"
         Height          =   195
         Left            =   5520
         TabIndex        =   73
         Top             =   720
         Width           =   915
      End
      Begin VB.Label lblCost 
         AutoSize        =   -1  'True
         Caption         =   "Costo Ant."
         Height          =   195
         Left            =   2880
         TabIndex        =   68
         Top             =   1050
         Width           =   735
      End
      Begin VB.Label lblDescripcion 
         BorderStyle     =   1  'Fixed Single
         Height          =   285
         Left            =   2880
         TabIndex        =   63
         Top             =   225
         Width           =   4935
      End
      Begin VB.Label lblArticulo 
         AutoSize        =   -1  'True
         Caption         =   "Artículo"
         Height          =   195
         Left            =   240
         TabIndex        =   56
         Top             =   270
         Width           =   555
      End
      Begin VB.Label lblUnidades 
         AutoSize        =   -1  'True
         Caption         =   "Cantidad"
         Height          =   195
         Left            =   240
         TabIndex        =   55
         Top             =   697
         Width           =   630
      End
   End
   Begin VB.Frame fraTotales 
      Appearance      =   0  'Flat
      BackColor       =   &H80000004&
      ForeColor       =   &H80000008&
      Height          =   735
      Left            =   120
      TabIndex        =   44
      Top             =   7320
      Width           =   11055
      Begin VB.Label lblSimbolo 
         Alignment       =   2  'Center
         AutoSize        =   -1  'True
         BackColor       =   &H00FFFFFF&
         Caption         =   "S/."
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   9360
         TabIndex        =   83
         Top             =   290
         Visible         =   0   'False
         Width           =   315
      End
      Begin VB.Label lblNeto 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H8000000B&
         BorderStyle     =   1  'Fixed Single
         Caption         =   "0"
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H80000008&
         Height          =   375
         Left            =   9720
         TabIndex        =   82
         Top             =   240
         Width           =   1215
      End
      Begin VB.Label Label5 
         AutoSize        =   -1  'True
         BackColor       =   &H00FFFFFF&
         Caption         =   "Neto"
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   195
         Left            =   8880
         TabIndex        =   81
         Top             =   285
         Width           =   420
      End
      Begin VB.Label Label6 
         AutoSize        =   -1  'True
         BackColor       =   &H00FFFFFF&
         Caption         =   "Perc."
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   195
         Left            =   6960
         TabIndex        =   80
         Top             =   285
         Width           =   465
      End
      Begin VB.Label lblPercepcion 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H8000000B&
         BorderStyle     =   1  'Fixed Single
         Caption         =   "0"
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H80000008&
         Height          =   375
         Left            =   7560
         TabIndex        =   79
         Top             =   240
         Width           =   1215
      End
      Begin VB.Label lblVenta 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H8000000B&
         BorderStyle     =   1  'Fixed Single
         Caption         =   "0"
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H80000008&
         Height          =   375
         Left            =   1200
         TabIndex        =   50
         Top             =   240
         Width           =   1215
      End
      Begin VB.Label lblTotal 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H8000000B&
         BorderStyle     =   1  'Fixed Single
         Caption         =   "0"
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H80000008&
         Height          =   375
         Left            =   5400
         TabIndex        =   49
         Top             =   240
         Width           =   1215
      End
      Begin VB.Label lblTot 
         AutoSize        =   -1  'True
         BackColor       =   &H00FFFFFF&
         Caption         =   "Total"
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   4800
         TabIndex        =   48
         Top             =   285
         Width           =   555
      End
      Begin VB.Label lblMIGV 
         Alignment       =   1  'Right Justify
         Appearance      =   0  'Flat
         BackColor       =   &H8000000B&
         BorderStyle     =   1  'Fixed Single
         Caption         =   "0"
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         ForeColor       =   &H80000008&
         Height          =   375
         Left            =   3360
         TabIndex        =   47
         Top             =   240
         Width           =   1215
      End
      Begin VB.Label lblIGV 
         AutoSize        =   -1  'True
         BackColor       =   &H00FFFFFF&
         Caption         =   "I.G.V."
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   2760
         TabIndex        =   46
         Top             =   285
         Width           =   570
      End
      Begin VB.Label lblValorVenta 
         AutoSize        =   -1  'True
         BackColor       =   &H00FFFFFF&
         Caption         =   "V. Venta"
         BeginProperty Font 
            Name            =   "MS Sans Serif"
            Size            =   8.25
            Charset         =   0
            Weight          =   700
            Underline       =   0   'False
            Italic          =   0   'False
            Strikethrough   =   0   'False
         EndProperty
         Height          =   240
         Left            =   360
         TabIndex        =   45
         Top             =   285
         Width           =   885
      End
   End
   Begin MSDataGridLib.DataGrid DBDetalle 
      Height          =   2655
      Left            =   120
      TabIndex        =   33
      Top             =   3150
      Width           =   11055
      _ExtentX        =   19500
      _ExtentY        =   4683
      _Version        =   393216
      BackColor       =   16777152
      HeadLines       =   1
      RowHeight       =   15
      BeginProperty HeadFont {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      BeginProperty Font {0BE35203-8F91-11CE-9DE3-00AA004BB851} 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   400
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Caption         =   "[Enter]_Modificar_[F3]_Eliminar Registro"
      ColumnCount     =   2
      BeginProperty Column00 
         DataField       =   ""
         Caption         =   ""
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   10250
            SubFormatType   =   0
         EndProperty
      EndProperty
      BeginProperty Column01 
         DataField       =   ""
         Caption         =   ""
         BeginProperty DataFormat {6D835690-900B-11D0-9484-00A0C91110ED} 
            Type            =   0
            Format          =   ""
            HaveTrueFalseNull=   0
            FirstDayOfWeek  =   0
            FirstWeekOfYear =   0
            LCID            =   10250
            SubFormatType   =   0
         EndProperty
      EndProperty
      SplitCount      =   1
      BeginProperty Split0 
         BeginProperty Column00 
         EndProperty
         BeginProperty Column01 
         EndProperty
      EndProperty
   End
   Begin VB.Frame fraDatosCab 
      Appearance      =   0  'Flat
      BackColor       =   &H80000004&
      Caption         =   "Datos Generales"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H80000008&
      Height          =   2535
      Left            =   120
      TabIndex        =   39
      Top             =   480
      Width           =   12375
      Begin VB.CheckBox chkIncluyeIGV 
         Caption         =   "Incluye IGV"
         Height          =   255
         Left            =   9840
         TabIndex        =   76
         Top             =   1200
         Visible         =   0   'False
         Width           =   1215
      End
      Begin VB.TextBox txtCorrelativo 
         BackColor       =   &H00C0FFFF&
         Height          =   285
         Left            =   8745
         MaxLength       =   8
         TabIndex        =   11
         Top             =   240
         Width           =   975
      End
      Begin VB.ComboBox cmbTipoCompra 
         Height          =   315
         ItemData        =   "1001000.frx":4520
         Left            =   8160
         List            =   "1001000.frx":4522
         Style           =   2  'Dropdown List
         TabIndex        =   16
         Top             =   2160
         Width           =   2055
      End
      Begin MSComCtl2.DTPicker dtpFechaProceso 
         Height          =   315
         Left            =   8160
         TabIndex        =   14
         Top             =   1320
         Width           =   1245
         _ExtentX        =   2196
         _ExtentY        =   556
         _Version        =   393216
         Enabled         =   0   'False
         Format          =   16777217
         CurrentDate     =   37550
      End
      Begin VB.CommandButton cmdBusAlmacenOrigen 
         Enabled         =   0   'False
         Height          =   375
         Left            =   11280
         MouseIcon       =   "1001000.frx":4524
         MousePointer    =   99  'Custom
         Picture         =   "1001000.frx":4676
         Style           =   1  'Graphical
         TabIndex        =   32
         ToolTipText     =   "Buscar Almacén"
         Top             =   1740
         Width           =   375
      End
      Begin VB.CommandButton cmdBusTipoIng 
         Height          =   375
         Left            =   5040
         MouseIcon       =   "1001000.frx":4BA8
         MousePointer    =   99  'Custom
         Picture         =   "1001000.frx":4CFA
         Style           =   1  'Graphical
         TabIndex        =   1
         ToolTipText     =   "Buscar Tipo de Ingreso"
         Top             =   360
         Width           =   375
      End
      Begin MSDataListLib.DataCombo dtcTipoIngreso 
         Height          =   315
         Left            =   1800
         TabIndex        =   0
         Top             =   360
         Width           =   3135
         _ExtentX        =   5530
         _ExtentY        =   556
         _Version        =   393216
         Style           =   2
         Text            =   ""
      End
      Begin VB.Frame fraFlag 
         Enabled         =   0   'False
         Height          =   975
         Left            =   9840
         TabIndex        =   53
         Top             =   120
         Width           =   2055
         Begin VB.CheckBox chkEmitido 
            Alignment       =   1  'Right Justify
            Caption         =   "Emitido        "
            Enabled         =   0   'False
            BeginProperty Font 
               Name            =   "MS Sans Serif"
               Size            =   9.75
               Charset         =   0
               Weight          =   700
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   195
            Left            =   120
            TabIndex        =   31
            Top             =   600
            Width           =   1815
         End
         Begin VB.CheckBox chkDesensamble 
            Alignment       =   1  'Right Justify
            Caption         =   "Desensamble"
            Enabled         =   0   'False
            BeginProperty Font 
               Name            =   "MS Sans Serif"
               Size            =   9.75
               Charset         =   0
               Weight          =   700
               Underline       =   0   'False
               Italic          =   0   'False
               Strikethrough   =   0   'False
            EndProperty
            Height          =   375
            Left            =   120
            TabIndex        =   30
            Top             =   120
            Width           =   1815
         End
      End
      Begin VB.CommandButton cmdBusTipoDoc 
         Height          =   375
         Left            =   5040
         MouseIcon       =   "1001000.frx":522C
         MousePointer    =   99  'Custom
         Picture         =   "1001000.frx":537E
         Style           =   1  'Graphical
         TabIndex        =   7
         ToolTipText     =   "Buscar Tipo de Documento"
         Top             =   1620
         Width           =   375
      End
      Begin VB.CommandButton cmdBusProveedor 
         Height          =   375
         Left            =   5040
         MouseIcon       =   "1001000.frx":58B0
         MousePointer    =   99  'Custom
         Picture         =   "1001000.frx":5A02
         Style           =   1  'Graphical
         TabIndex        =   5
         ToolTipText     =   "Buscar Proveedor"
         Top             =   1200
         Width           =   375
      End
      Begin VB.CommandButton cmdBusMoneda 
         Height          =   375
         Left            =   5040
         MouseIcon       =   "1001000.frx":5F34
         MousePointer    =   99  'Custom
         Picture         =   "1001000.frx":6086
         Style           =   1  'Graphical
         TabIndex        =   9
         ToolTipText     =   "Buscar Tipo de Moneda"
         Top             =   2040
         Width           =   375
      End
      Begin VB.CommandButton cmdBusAlmacen 
         Height          =   375
         Left            =   5040
         MouseIcon       =   "1001000.frx":65B8
         MousePointer    =   99  'Custom
         Picture         =   "1001000.frx":670A
         Style           =   1  'Graphical
         TabIndex        =   3
         ToolTipText     =   "Buscar Almacén"
         Top             =   780
         Width           =   375
      End
      Begin MSDataListLib.DataCombo dtcAlmacen 
         Height          =   315
         Left            =   1800
         TabIndex        =   2
         Top             =   780
         Width           =   3135
         _ExtentX        =   5530
         _ExtentY        =   556
         _Version        =   393216
         Style           =   2
         Text            =   ""
      End
      Begin MSDataListLib.DataCombo dtcProveedor 
         Height          =   315
         Left            =   1800
         TabIndex        =   4
         Top             =   1200
         Width           =   3135
         _ExtentX        =   5530
         _ExtentY        =   556
         _Version        =   393216
         Style           =   2
         Text            =   ""
      End
      Begin MSDataListLib.DataCombo dtcTipoDoc 
         Height          =   315
         Left            =   1800
         TabIndex        =   6
         Top             =   1620
         Width           =   3135
         _ExtentX        =   5530
         _ExtentY        =   556
         _Version        =   393216
         IntegralHeight  =   0   'False
         Style           =   2
         Text            =   ""
      End
      Begin MSDataListLib.DataCombo dtcMoneda 
         Height          =   315
         Left            =   1800
         TabIndex        =   8
         Top             =   2040
         Width           =   3135
         _ExtentX        =   5530
         _ExtentY        =   556
         _Version        =   393216
         Style           =   2
         Text            =   ""
      End
      Begin MSDataListLib.DataCombo dtcAlmacenOrigen 
         Height          =   315
         Left            =   8160
         TabIndex        =   15
         Top             =   1740
         Width           =   3135
         _ExtentX        =   5530
         _ExtentY        =   556
         _Version        =   393216
         Enabled         =   0   'False
         Style           =   2
         Text            =   ""
      End
      Begin MSComCtl2.DTPicker dtpFecha 
         Height          =   315
         Left            =   8160
         TabIndex        =   12
         Top             =   600
         Width           =   1245
         _ExtentX        =   2196
         _ExtentY        =   556
         _Version        =   393216
         CustomFormat    =   "dd/MM/yyyy"
         Format          =   16777219
         CurrentDate     =   36480
      End
      Begin MSComCtl2.DTPicker dtpFechaRecep 
         Height          =   315
         Left            =   8160
         TabIndex        =   13
         Top             =   960
         Width           =   1245
         _ExtentX        =   2196
         _ExtentY        =   556
         _Version        =   393216
         Format          =   16777217
         CurrentDate     =   38734
      End
      Begin VB.TextBox txtSerie 
         BackColor       =   &H00C0FFFF&
         Height          =   285
         Left            =   8160
         MaxLength       =   4
         TabIndex        =   10
         Top             =   240
         Width           =   495
      End
      Begin VB.Label lblSep 
         AutoSize        =   -1  'True
         Caption         =   "-"
         Height          =   195
         Left            =   6870
         TabIndex        =   72
         Top             =   285
         Width           =   45
      End
      Begin VB.Label Label2 
         AutoSize        =   -1  'True
         Caption         =   "Fecha Recep."
         Height          =   195
         Left            =   7080
         TabIndex        =   71
         Top             =   1020
         Width           =   1020
      End
      Begin VB.Label Label1 
         Caption         =   "Tipo Compra"
         Height          =   255
         Left            =   7080
         TabIndex        =   69
         Top             =   2160
         Width           =   975
      End
      Begin VB.Label lblNroDoc 
         AutoSize        =   -1  'True
         Caption         =   "Nª Doc."
         Height          =   195
         Left            =   7080
         TabIndex        =   67
         Top             =   285
         Width           =   570
      End
      Begin VB.Label lblFechaProc 
         Caption         =   "Fecha Proc."
         Height          =   255
         Left            =   7080
         TabIndex        =   66
         Top             =   1320
         Width           =   975
      End
      Begin VB.Label lblAlmacenOrigen 
         Caption         =   "Almacen Origen"
         Enabled         =   0   'False
         Height          =   435
         Left            =   7080
         TabIndex        =   64
         Top             =   1665
         Width           =   765
      End
      Begin VB.Label lblTipoDoc 
         AutoSize        =   -1  'True
         Caption         =   "Tipo Doc."
         Height          =   195
         Left            =   600
         TabIndex        =   52
         Top             =   1620
         Width           =   705
      End
      Begin VB.Label lblProveedor 
         AutoSize        =   -1  'True
         Caption         =   "Proveedor"
         Height          =   195
         Left            =   600
         TabIndex        =   51
         Top             =   1200
         Width           =   735
      End
      Begin VB.Label lblFecha 
         AutoSize        =   -1  'True
         Caption         =   "Fecha Doc."
         Height          =   195
         Left            =   7080
         TabIndex        =   43
         Top             =   660
         Width           =   840
      End
      Begin VB.Label lblMoneda 
         AutoSize        =   -1  'True
         Caption         =   "Moneda"
         Height          =   195
         Left            =   600
         TabIndex        =   42
         Top             =   2040
         Width           =   585
      End
      Begin VB.Label lblTipoIngreso 
         AutoSize        =   -1  'True
         Caption         =   "Tipo Ingreso"
         Height          =   195
         Left            =   600
         TabIndex        =   41
         Top             =   360
         Width           =   885
      End
      Begin VB.Label lblAlmacen 
         AutoSize        =   -1  'True
         Caption         =   "Almacen"
         Height          =   195
         Left            =   600
         TabIndex        =   40
         Top             =   780
         Width           =   615
      End
   End
   Begin VB.CommandButton cmdSalir 
      Caption         =   "SALIR"
      Height          =   375
      Left            =   11430
      TabIndex        =   37
      Top             =   5370
      Visible         =   0   'False
      Width           =   375
   End
   Begin VB.TextBox txtNumeroDoc 
      BackColor       =   &H00C0FFFF&
      Height          =   285
      Left            =   8640
      MaxLength       =   15
      TabIndex        =   70
      Top             =   1200
      Visible         =   0   'False
      Width           =   1455
   End
   Begin VB.Label lblEstado 
      AutoSize        =   -1  'True
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   12
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   300
      Left            =   6360
      TabIndex        =   65
      Top             =   120
      Width           =   90
   End
   Begin VB.Label lblEtiqueta 
      Caption         =   "NUEVO INGRESO"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   9.75
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H8000000D&
      Height          =   255
      Left            =   4080
      TabIndex        =   62
      Top             =   240
      Width           =   1935
   End
   Begin VB.Label lblNumero 
      Alignment       =   2  'Center
      BorderStyle     =   1  'Fixed Single
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   8.25
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      Height          =   285
      Left            =   4200
      TabIndex        =   61
      Top             =   120
      Width           =   1575
   End
   Begin VB.Label lblNroIngreso 
      Caption         =   "Nro. Ingreso :"
      BeginProperty Font 
         Name            =   "MS Sans Serif"
         Size            =   12
         Charset         =   0
         Weight          =   700
         Underline       =   0   'False
         Italic          =   0   'False
         Strikethrough   =   0   'False
      EndProperty
      ForeColor       =   &H8000000D&
      Height          =   375
      Left            =   2280
      TabIndex        =   60
      Top             =   120
      Width           =   1815
   End
End
Attribute VB_Name = "FIngresos"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
' Se retiraron los Fuentes de la red el 24/04/2003
' Programador: Edgar Cancho Ruiz
' Empresa Texaco
' Modulo de Ingresos a Inventario
' Fecha : 16/09/2002

Option Explicit

'************************************
' Variables que almacenan la ubicacion
' de los Items en los Datacombos cuando
' se cambia de Screen

'Dim MstrTipoMovimiento As String
'Dim MstrAlmacen As String
'Dim MstrProveedor As String
'Dim MstrTipoDoc As String
'Dim MstrMoneda As String
'Dim MstrArticulo As String

'*************************************
'Variables para el Control de la Barra General
 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 pbderecho_anular As Boolean
 Public pbderecho_emitir As Boolean
 Public pb_tiposcreen As String
'*******************************************************************************************************************
' Variables para las ayudas
Public GrecibeUbicacion As BookmarkEnum
Public GrecibeColumnaID As String
Public GrecibeColumnaOpcional As String 'columna para codigo de compra
Public GrecibeColumnaOpcional2 As String
Public GrecibeColumnaOpcional3 As String
Public GrecibeColumnaOpcional4 As String 'columna para costo
'*************************************
' Objetos para cargar las ayudas
Private objTipoIngreso As DB_INV_MANTENIMIENTOS.C_TIPOMOVIMIENTO
Private objAlmacen As DB_INV_MANTENIMIENTOS.C_ALMACEN
Private objProveedor As DB_INV_MANTENIMIENTOS.C_PROVEEDOR
Private objDocumento As DB_MA_MANTENIMIENTOS.C_DOCUMENTO
Private objMoneda As DB_MA_MANTENIMIENTOS.C_MONEDA
'*******************************************************************************

Dim objCorrelativo As DB_CORRELATIVO.C_Correlativos
Dim objMovimiento As DB_INV_MOVIMIENTOS.C_MOVIMIENTOS

Dim lngCorrelativo As Long 'correlativo por usuario, que se almacenara en cada insert en temporal
Dim strNumeroMovimiento As String 'almacenara el correlativo del movimiento obtenido de In_Setup
Public lngSecuencia As Long ' guardara el número de Item del detalle --mi mercado para enviar al ultimo registro de ingreso

Dim dblTipoCambio As Double 'Almacena el Tipo de Cambio
Dim strOperador_de_Cambio As String 'Almacena la cadena del operador para tipo de cambio
Dim dblValorVenta As Double
Dim dblIgvAcumulado As Double
Dim dblPercAcumulado As Double

Dim blnActualizandoItem As Boolean ' flag para controlar la modificación de un Item
Dim blnEditando As Boolean ' flag para controlar si se esta editando un documento
Dim intCancelar As Integer
Dim blnDatosOK As Boolean

Public strObservacion1 As String
Public strObservacion2 As String
Public strObservacion3 As String

Dim intErr As Integer


'MI MERCADO: Edicion y visualizacion de Precio Venta*****************************************
Private objPrecioVenta As DB_INV_MOVIMIENTOS.C_PRECIOVENTA_ART
Private objCodigoCompra As DB_INV_MOVIMIENTOS.C_CODCOMPRA

Dim MyCon As New ADODB.Connection, rsAuxiliar As New ADODB.Recordset


Private Sub cmbTipoCompra_Click()
'LimpiaCajaDetalle
End Sub


Private Sub cmdActualizaItem_Click()
    
Dim LDblCostoPen As Double
 Dim LDblCostousd As Double
        
        'IIf(Dtcmoneda.BoundText = GstrCodMonedaBase, CDbl(ctnCosto.Text), GFormatodeNumero(CDbl(ctnCosto.Text) * dblTipoCambio, GintDecCosto))
           If Trim(dtcMoneda.BoundText) = Trim(GstrCodMonedaBase) Then
              LDblCostoPen = CDbl(ctnCosto.Text)
           Else
              LDblCostoPen = GFormatodeNumero(CDbl(ctnCosto.Text) * dblTipoCambio, GintDecCosto)
           End If
        'IIf(Dtcmoneda.BoundText <> GstrCodMonedaBase, CDbl(ctnCosto.Text), GFormatodeNumero(CDbl(ctnCosto.Text) / dblTipoCambio, GintDecCosto))
           If Trim(dtcMoneda.BoundText) <> Trim(GstrCodMonedaBase) Then
              LDblCostousd = CDbl(ctnCosto.Text)
           Else
              LDblCostousd = GFormatodeNumero(CDbl(ctnCosto.Text) / dblTipoCambio, GintDecCosto)
           End If
    
 Dim LDblCostoPenAnt As Double
 Dim LDblCostousdAnt As Double
        
        'IIf(Dtcmoneda.BoundText = GstrCodMonedaBase, CDbl(lblCostoAnt.Caption), GFormatodeNumero(CDbl(lblCostoAnt.Caption) * dblTipoCambio, GintDecCosto))
           If Trim(dtcMoneda.BoundText) = GstrCodMonedaBase Then
              LDblCostoPenAnt = CDbl(lblCostoAnt.Caption)
           Else
              LDblCostoPenAnt = GFormatodeNumero(CDbl(lblCostoAnt.Caption) * dblTipoCambio, GintDecCosto)
           End If
        'IIf(dtcMoneda.BoundText <> GstrCodMonedaBase, CDbl(lblCostoAnt.Caption), GFormatodeNumero(CDbl(lblCostoAnt.Caption) / dblTipoCambio, GintDecCosto))
           If Trim(dtcMoneda.BoundText) <> GstrCodMonedaBase Then
              LDblCostousdAnt = CDbl(lblCostoAnt.Caption)
           Else
              LDblCostousdAnt = GFormatodeNumero(CDbl(lblCostoAnt.Caption) / dblTipoCambio, GintDecCosto)
           End If
           
        'Fin de Manejo de Costos
         
    'Call objMovimiento.ActualizaTmpIntraItem(txtArticulo.Text, DBDetalle.Columns(0).Text, _
                                             CDbl(ctnUnidades.Text), CDbl(ctnCosto.Text), _
                                             lngCorrelativo, Dtcmoneda.BoundText)
                                             
     
    Dim LUtMant As DB_UT_MANTENIMIENTOS.C_PROCESOS
    Set LUtMant = New DB_UT_MANTENIMIENTOS.C_PROCESOS
    Dim strSQL As String
    strSQL = " EXEC Tmp_In_IntraItemUpdProc '" & txtArticulo.Text & "'," & DBDetalle.Columns(0).Text & "," & CDbl(ctnUnidades.Text) & "," & LDblCostoPen & "," & LDblCostousd & "," & lngCorrelativo & ",'" & dtcMoneda.BoundText & "'"
    LUtMant.Auxiliar1 strSQL
                                            
                                         
    Call CargaGrid2(dtcProveedor.BoundText, lngCorrelativo, dtcMoneda.BoundText)
    Call LimpiaCajaDetalle
    'Call PonerDatosGrig
    Call ActualizaPie
    blnActualizandoItem = False
    cmdBuscaArticulo.Enabled = True
    txtArticulo.Enabled = True
    txtArticulo.SetFocus
End Sub

Private Sub cmdAnulaDoc_Click()
    
On Error GoTo errhandler

    If lblNumero.Caption <> Empty Then
        If chkEmitido.Value = 1 Then
            MsgBox "No se puede Anular un Documento ya Emitido", vbExclamation, "Anular"
            Exit Sub
        End If
        
        If lblEstado.Caption = "ANULADO" Then
            MsgBox "El documento ya ha sido anulado", vbExclamation, "Anular"
            Exit Sub
        End If
        
        strNumeroMovimiento = lblNumero.Caption
        If MsgBox("Desea Anular el Documento? ", vbQuestion + vbYesNo, "Coonfirmar Anulación") = vbNo Then
            Exit Sub
        Else
            objMovimiento.AnularDocumento dtcAlmacen.BoundText, strNumeroMovimiento
            lblEstado.Caption = "ANULADO" ' SE ACTUALIZA PANTALLA CON ESTADO DEL DOCUMENTO
        End If
        
        
        'PREGUNTO SI DESEA IMPRIMIR EL DOCUMENTO
        If MsgBox("Documento Anulado Correctamente.Desea Imprimir? ", vbQuestion + vbYesNo, "Anulación") = vbNo Then

            GoTo SALTO
        Else
            Call cmdImprimeDoc_Click
        End If
SALTO:
        'Call Limpiar
        Call HabilitaCampos(False)
        Call HabilitaBotones(True)
        Call CamposValorizados(True)
        Exit Sub
    Else
        MsgBox "Seleccione un Documento que desee Anular", vbExclamation, "Anular"
    End If
    
Exit Sub

errhandler:
    MsgBox MensajedeError(Err.Number, Err.Description), vbDefaultButton1 + vbCritical, "Advertencia"
    Screen.MousePointer = 0
End Sub

Private Sub cmdBusAlmacen_Click()
    'Lineas que llaman al Formulario de Búsqueda
    
    Dim ArrayBusqueda(1 To 2, 1 To 3) As Variant
    ArrayBusqueda(1, 1) = "Siteid"
    ArrayBusqueda(1, 2) = "Código "
    ArrayBusqueda(1, 3) = 1000
    ArrayBusqueda(2, 1) = "Name"
    ArrayBusqueda(2, 2) = "Descripción "
    ArrayBusqueda(2, 3) = 4000
      
    FBusquedasInv.GObtenerRegistros objAlmacen.ListarAlmacenesPorStatus(1), ArrayBusqueda, 2, 2
    FBusquedasInv.Show vbModal
    
    If GrecibeUbicacion <> 0 Then
        dtcAlmacen.BoundText = GrecibeColumnaID
    End If
End Sub

Private Sub cmdBusAlmacenOrigen_Click()
    'Lineas que llaman al Formulario de Búsqueda
    
    Dim ArrayBusqueda(1 To 2, 1 To 3) As Variant
    ArrayBusqueda(1, 1) = "Siteid"
    ArrayBusqueda(1, 2) = "Código "
    ArrayBusqueda(1, 3) = 1000
    ArrayBusqueda(2, 1) = "Name"
    ArrayBusqueda(2, 2) = "Descripción "
    ArrayBusqueda(2, 3) = 4000
      
    FBusquedasInv.GObtenerRegistros objAlmacen.ListarAlmacenesAyuda, ArrayBusqueda, 2, 2
    FBusquedasInv.Show vbModal
    
    If GrecibeUbicacion <> 0 Then
        dtcAlmacenOrigen.BoundText = GrecibeColumnaID
    End If
    
End Sub

Private Sub cmdBuscaArticulo_Click()
    'Lineas que llaman al Formulario de Búsqueda
     If ExisteTipoCambio = False Then
         Exit Sub
     End If
    
     GrecibeUbicacion = 0
     GrecibeColumnaID = Empty
     GrecibeColumnaOpcional = Empty
     
     Dim ArrayBusqueda(1 To 5, 1 To 3) As Variant
     Dim blnExiste As Boolean
     
     ArrayBusqueda(1, 1) = "Invtidsku"
     ArrayBusqueda(1, 2) = "Código "
     ArrayBusqueda(1, 3) = 1800
     
     ArrayBusqueda(2, 1) = "Cd.Compra"
     ArrayBusqueda(2, 2) = "Cod_Compra"
     ArrayBusqueda(2, 3) = 1800
    
     ArrayBusqueda(3, 1) = "Descr"
     ArrayBusqueda(3, 2) = "Descripción "
     ArrayBusqueda(3, 3) = 4000
     
     ArrayBusqueda(4, 1) = "QTYAVAIL"
     ArrayBusqueda(4, 2) = "Stock"
     ArrayBusqueda(4, 3) = 600
     
     ArrayBusqueda(5, 1) = "Costo"
     ArrayBusqueda(5, 2) = "Costo"
     ArrayBusqueda(5, 3) = 4000

     FBusquedasInv.GObtenerRegistros objProveedor.ListarArticulosPorProveedor(dtcProveedor.BoundText, dtcAlmacen.BoundText, IIf(cmbTipoCompra.ListCount > 1, 1, 0), IIf(cmbTipoCompra.ListCount = 0, 0, cmbTipoCompra.ListIndex)), ArrayBusqueda, 4, 2
     FBusquedasInv.Show vbModal
     
     If GrecibeUbicacion <> 0 Then
        'MI MERCADO: para visualizar y editar el precio de venta
        Dim rsTempPV As ADODB.Recordset
        Set rsTempPV = objPrecioVenta.MostrarPrecioVenta(GrecibeColumnaID)
        
         txtArticulo.Text = GrecibeColumnaID
         lblDescripcion.Caption = GrecibeColumnaOpcional2 'GrecibeColumnaOpcional **se añadio codigo de compra
         ctnCosto.Text = GrecibeColumnaOpcional4
         blnExiste = objMovimiento.ExisteArticulo(Trim(txtArticulo.Text), lngCorrelativo)
         If blnExiste Then
            LimpiaCajaDetalle
            MsgBox "Código de articulo ya registrado", vbExclamation, "Mensaje"
            Exit Sub
         End If
         Dim LARRAY(1, 2) As Variant
         LARRAY(1, 1) = dtcAlmacen.BoundText
         LARRAY(1, 2) = txtArticulo.Text
         If Not objMovimiento.Auxiliar1(LARRAY) Then
                LimpiaCajaDetalle
                MsgBox "Código de articulo no registrado en almacen seleccionado", vbExclamation, "Mensaje"
                Exit Sub
         End If
         'txtArticulo_KeyPress (13)
         ctnCosto.Text = GFormatodeNumero(objMovimiento.ConvertirCosto(ctnCosto.Text, dtcMoneda.BoundText, dtpFecha.Value, GrecibeColumnaID, dtcProveedor.BoundText), GintDecCosto)
         
         'MI MERCADO: MOSTRAR EL PRECIO DE VENTA DEL ARTICULO ENCONTRADO----------------------------------------
         ctnPrecioVenta.Text = GFormatodeNumero(rsTempPV!SLS_PRICE, GintDecPrecio)
         
         lblCostoAnt.Caption = ctnCosto.Text
         ctnUnidades.SetFocus
     End If


End Sub

Private Sub cmdBuscar_Click()
 FBuscarMovimiento.Show vbModal
End Sub

Private Sub cmdBusMoneda_Click()
    'Lineas que llaman al Formulario de Búsqueda
     
     Dim ArrayBusqueda(1 To 2, 1 To 3) As Variant
     ArrayBusqueda(1, 1) = "CuryId"
     ArrayBusqueda(1, 2) = "Código "
     ArrayBusqueda(1, 3) = 1000
     ArrayBusqueda(2, 1) = "Descr"
     ArrayBusqueda(2, 2) = "Descripción "
     ArrayBusqueda(2, 3) = 4000
       
     FBusquedasInv.GObtenerRegistros objMoneda.ListarMonedas, ArrayBusqueda, 2, 2
     FBusquedasInv.Show vbModal
     
     If GrecibeUbicacion <> 0 Then
         dtcMoneda.BoundText = GrecibeColumnaID
     End If
End Sub

Private Sub cmdBusProveedor_Click()
    'Lineas que llaman al Formulario de Búsqueda
    
    Dim ArrayBusqueda(1 To 2, 1 To 3) As Variant
    ArrayBusqueda(1, 1) = "Vendidss"
    ArrayBusqueda(1, 2) = "Código "
    ArrayBusqueda(1, 3) = 1500
    ArrayBusqueda(2, 1) = "Descr"
    ArrayBusqueda(2, 2) = "Descripción "
    ArrayBusqueda(2, 3) = 4000
      
    FBusquedasInv.GObtenerRegistros objProveedor.ListarProveedoresAyuda, ArrayBusqueda, 2, 2
    FBusquedasInv.Show vbModal
    
    If GrecibeUbicacion <> 0 Then
        dtcProveedor.BoundText = GrecibeColumnaID
    End If
End Sub

Private Sub cmdBusTipoDoc_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
    
    FBusquedasInv.GObtenerRegistros objDocumento.ListarDocumentos, ArrayBusqueda, 2, 2
    FBusquedasInv.Show vbModal
  
    If GrecibeUbicacion <> 0 Then
        dtcTipoDoc.BoundText = GrecibeColumnaID
    End If
End Sub

Private Sub cmdBusTipoIng_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
    
    FBusquedasInv.GObtenerRegistros objTipoIngreso.ListarPorTipoMovimiento("1"), ArrayBusqueda, 2, 2
    FBusquedasInv.Show vbModal
  
    If GrecibeUbicacion <> 0 Then
        dtcTipoIngreso.BoundText = GrecibeColumnaID
    End If
    
    Call dtcTipoIngreso_Click(0)
End Sub

Private Sub cmdCancelaDoc_Click()
    'If MsgBox("Está seguro de Cancelar el Documento. ", vbQuestion + vbYesNo, "Cancelar") = vbNo Then
        'blnEditando = True
     '   Exit Sub
    'Else
        blnEditando = False
        
        'Call objMovimiento.EliminarTodoEnTmpIntraItem(lngCorrelativo)
        Call Limpiar
        Call HabilitaCampos(False)
        Call HabilitaBotones(True)
        cmdBuscar.Enabled = True
        Call CamposValorizados(True)
    'End If
End Sub

Private Sub cmdEliminarItem_Click()
    If MsgBox("Está seguro de Eliminar. ", vbQuestion + vbYesNo, "Eliminar") = vbNo Then
        Exit Sub
    Else
        Call objMovimiento.EliminarEnTmpIntraItem(DBDetalle.Columns(1).Text, lngCorrelativo)
        Call objMovimiento.ActualizaNumRegEnTmpIntraItem(" & dtcProveedor.BoundText & ", lngCorrelativo, dtcMoneda.BoundText) 'LUIS
        Call CargaGrid2(dtcProveedor.BoundText, lngCorrelativo, dtcMoneda.BoundText)
        Call LimpiaCajaDetalle
        Call PonerDatosGrig
        Call ActualizaPie
        
        If DBDetalle.Bookmark = 0 Or IsNull(DBDetalle.Bookmark) Then
            fraDatosCab.Enabled = True 'si no existe un item en el grid se habilita la cabecera
        Else
            fraDatosCab.Enabled = False
        End If
        
        If objMovimiento.ExistenArticulosDesensamble(lngCorrelativo) Then
            chkDesensamble.Value = 1
        Else
            chkDesensamble.Value = 0
        End If
        
    End If
End Sub

Private Sub cmdEmiteDoc_Click()
    
On Error GoTo errhandler

    If lblNumero.Caption <> Empty Then
        If chkEmitido.Value = 1 Then
            MsgBox "El Documento ya ha sido Emitido", vbExclamation, "Emitir"
            Exit Sub
        End If
        
        If lblEstado.Caption = "ANULADO" Then
            MsgBox "No se puede Emitir un documento Anulado", vbExclamation, "Anular"
            Exit Sub
        End If
        
        Dim rsValida As ADODB.Recordset
        Set rsValida = objMovimiento.ValidaMesCerrado(GstrSiteProce, dtpFechaProceso.Value)
        
        If rsValida!MESCERRADO = 1 Then
            MsgBox "No se puede registrar, el mes al que hace referencia la fecha de proceso " & Chr(13) & _
                   "se encuentra cerrado", vbExclamation, "Mensaje"
            Exit Sub
        End If
        
        If rsValida!PDCERRADO = 1 Then
            MsgBox "No se puede registrar, el valor al que hace referencia la fecha de proceso " & Chr(13) & _
                   "es una fecha de Parte Diario cerrado", vbExclamation, "Mensaje"
            Exit Sub
        End If
        
        strNumeroMovimiento = lblNumero.Caption
        If MsgBox("Desea Emitir el Documento? ", vbQuestion + vbYesNo, "Coonfirmar Emisión") = vbNo Then
            Exit Sub
        Else
            
            Screen.MousePointer = 11
            
            objMovimiento.EmitirDocumento dtcAlmacen.BoundText, strNumeroMovimiento
            chkEmitido.Value = 1 ' SE ACTUALIZA PANTALLA CON ESTADO EMITIDO DEL DOCUMENTO
            dtpFechaProceso.Value = GDatFechaProceso
            
            Screen.MousePointer = 0
            
        End If
        
        If MsgBox("Documento Emitido Correctamente.Desea Imprimir? ", vbQuestion + vbYesNo, "Emisión") = vbNo Then
            GoTo SALTO
        Else
             Call cmdImprimeDoc_Click
        End If
SALTO:
        'Call Limpiar
 
        Call HabilitaCampos(False)
        Call HabilitaBotones(True)
        Call CamposValorizados(True)
        Exit Sub
    Else
        MsgBox "Seleccione un Documento que desee Emitir", vbExclamation, "Emitir"
    End If
    
Exit Sub

errhandler:
    MsgBox MensajedeError(Err.Number, Err.Description), vbDefaultButton1 + vbCritical, "Advertencia"
    Screen.MousePointer = 0
    
End Sub

Private Sub cmdGrabaDoc_Click()
On Error GoTo errhandler
    Dim CadSql As String
    If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraPlaya) Then
        If Trim(cmbTipoCompra.Text) = Empty Then
           cmbTipoCompra.Enabled = True
           CargaCombo 0
           MsgBox "Debe especificar el Tipo de Compra Playa", vbDefaultButton1 + vbExclamation, "Mensaje"
           Exit Sub
        End If
    Else
        If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraTienda) Then
            If Trim(cmbTipoCompra.Text) = Empty Then
              cmbTipoCompra.Enabled = False
              CargaCombo 1
            End If
        Else
            cmbTipoCompra.Enabled = False
            CargaCombo 2
        End If
    End If
           
    If ValidaDatos = True Then 'si los datos se ingresaron correctamente
'        If MsgBox("Desea Grabar el Documento? ", vbQuestion + vbYesNo, "Confirmar Grabación") = vbNo Then
'            Exit Sub
'        End If
        
        GstrPeriodo = CStr(Year(GDatFechaProceso)) + CStr(Month(GDatFechaProceso))
        If cmdBuscar.Enabled Then
            strNumeroMovimiento = objMovimiento.AgregarMovimiento(dtcAlmacen.BoundText, dtcTipoIngreso.BoundText, _
                                             dtcProveedor.BoundText, dtcTipoDoc.BoundText, "NA", txtNumeroDoc.Text, _
                                             dblTipoCambio, GstrCodMonedaBase, dtcMoneda.BoundText, GstrSiteProce, Empty, Empty, Empty, dtpFecha.Value, _
                                             GDatFechaProceso, dtcAlmacenOrigen.BoundText, IIf(dtcMoneda.BoundText = GstrCodMonedaBase, CDbl(lblTotal.Caption), GFormatodeNumero(CDbl(lblTotal.Caption) * dblTipoCambio, GintDecResultado)), _
                                             IIf(dtcMoneda.BoundText = GstrCodMonedaBase, CDbl(lblMIGV.Caption), GFormatodeNumero(CDbl(lblMIGV.Caption) * dblTipoCambio, GintDecResultado)), _
                                             IIf(dtcMoneda.BoundText <> GstrCodMonedaBase, CDbl(lblTotal.Caption), GFormatodeNumero(CDbl(lblTotal.Caption) / dblTipoCambio, GintDecResultado)), _
                                             IIf(dtcMoneda.BoundText <> GstrCodMonedaBase, CDbl(lblMIGV.Caption), GFormatodeNumero(CDbl(lblMIGV.Caption) / dblTipoCambio, GintDecResultado)), GstrPeriodo, 0, chkDesensamble.Value, _
                                             IIf(dtcMoneda.BoundText = GstrCodMonedaBase, CDbl(lblVenta.Caption), GFormatodeNumero(CDbl(lblVenta.Caption) * dblTipoCambio, GintDecResultado)), _
                                             IIf(dtcMoneda.BoundText <> GstrCodMonedaBase, CDbl(lblVenta.Caption), GFormatodeNumero(CDbl(lblVenta.Caption) / dblTipoCambio, GintDecResultado)), GCUSERID, dtpFechaRecep.Value, lngCorrelativo, _
                                             strObservacion1, strObservacion2, strObservacion3, IIf(cmbTipoCompra.ListCount = 0, "", Mid(cmbTipoCompra.Text, 1, 1)))
        
            lblNumero.Caption = strNumeroMovimiento ' se asigna el valor del numero de movimiento
        Else
            
            objMovimiento.ModificarMovimiento lblNumero.Caption, dtcAlmacen.BoundText, dtcTipoIngreso.BoundText, dtcTipoDoc.BoundText, lngCorrelativo, dtcProveedor.BoundText, dtcMoneda.BoundText, "NA", dtpFecha.Value, GDatFechaProceso, txtNumeroDoc.Text, chkDesensamble.Value, _
                                                IIf(dtcMoneda.BoundText = GstrCodMonedaBase, CDbl(lblTotal.Caption), GFormatodeNumero(CDbl(lblTotal.Caption) * dblTipoCambio, GintDecResultado)), _
                                                IIf(dtcMoneda.BoundText = GstrCodMonedaBase, CDbl(lblMIGV.Caption), GFormatodeNumero(CDbl(lblMIGV.Caption) * dblTipoCambio, GintDecResultado)), _
                                                IIf(dtcMoneda.BoundText <> GstrCodMonedaBase, CDbl(lblTotal.Caption), GFormatodeNumero(CDbl(lblTotal.Caption) / dblTipoCambio, GintDecResultado)), _
                                                IIf(dtcMoneda.BoundText <> GstrCodMonedaBase, CDbl(lblMIGV.Caption), GFormatodeNumero(CDbl(lblMIGV.Caption) / dblTipoCambio, GintDecResultado)), _
                                                IIf(dtcMoneda.BoundText = GstrCodMonedaBase, CDbl(lblVenta.Caption), GFormatodeNumero(CDbl(lblVenta.Caption) * dblTipoCambio, GintDecResultado)), _
                                                IIf(dtcMoneda.BoundText <> GstrCodMonedaBase, CDbl(lblVenta.Caption), GFormatodeNumero(CDbl(lblVenta.Caption) / dblTipoCambio, GintDecResultado)), _
                                                strObservacion1, strObservacion2, strObservacion3, dtpFechaRecep.Value
                                             
        End If
        
        CadSql = " update IN_INTRAHEAD set INTPERCPEN= " & IIf(dtcMoneda.BoundText = GstrCodMonedaBase, CDbl(lblPercepcion.Caption), GFormatodeNumero(CDbl(lblPercepcion.Caption) * dblTipoCambio, GintDecResultado)) & _
        ",INTPERCUSD=" & IIf(dtcMoneda.BoundText <> GstrCodMonedaBase, CDbl(lblPercepcion.Caption), GFormatodeNumero(CDbl(lblPercepcion.Caption) / dblTipoCambio, GintDecResultado)) & " " & _
        " where batnbr=" & Val(Trim(strNumeroMovimiento)) '& "' and NBRDOCUMENT=" & NBRDOCUMENT

        MyCon.BeginTrans
        MyCon.Execute CadSql, , ADODB.adExecuteNoRecords
        MyCon.CommitTrans
        
        blnEditando = False
        If MsgBox("Documento Grabado Correctamente.Desea Imprimir? ", vbQuestion + vbYesNo, "Movimiento Nro: " & lblNumero.Caption) = vbNo Then
           GoTo SALTO
        Else
             Call cmdImprimeDoc_Click
        End If
        
SALTO:
        ' Limpio el temporal de detalle
        Call objMovimiento.EliminarTodoEnTmpIntraItem(lngCorrelativo)
        
        'Call Limpiar
        Call HabilitaCampos(False)
        Call HabilitaBotones(True)
        
    End If


Exit Sub

errhandler:
    MsgBox MensajedeError(Err.Number, Err.Description), vbDefaultButton1 + vbCritical, "Advertencia"
    intErr = 1
End Sub

Private Sub cmdGrabarCCmp_Click()
'PERMITE CAMBIAR EL CODIGO DE COMPRA del articulo

    Dim GraboNCodCompra As Boolean
    'Permite editar el precio de venta del articulo buscado
    GraboNCodCompra = objCodigoCompra.EditarCodigoCompra(dtcProveedor.BoundText, DBDetalle.Columns(1).Text, _
                                                                    dtcAlmacen.BoundText, Trim(ctnCodCompra.Text))
    If GraboNCodCompra = True Then
       MsgBox ("Nuevo Codigo de Compra Grabado"), vbInformation + vbDefaultButton1, "Mensaje"
       'ACTUALIZANDO LA GRILLA - -detalles de movimiento de ingreso
       cmdActualizaItem_Click
    Else
       MsgBox ("Imposible editar el Codigo de Compra"), vbExclamation + vbDefaultButton1, "Mensaje"
    End If
End Sub

Private Sub cmdGrabarPV_Click()
    Dim GraboNPrecio As Boolean
    'Permite editar el precio de venta del articulo buscado
    If Val(ctnPrecioVenta.Text) = 0 Then
        MsgBox "El Campo Precio de Venta no puede ser cero", vbExclamation, "Ingresos"
        ctnPrecioVenta.SetFocus
        Screen.MousePointer = 0
        Exit Sub
    End If
    GraboNPrecio = objPrecioVenta.EditarPrecioVenta(Trim(txtArticulo.Text), ctnPrecioVenta.Text)
    If GraboNPrecio = True Then
       MsgBox ("Nuevo Precio de Venta Grabado"), vbInformation + vbDefaultButton1, "Mensaje"
    Else
       MsgBox ("Imposible editar el Precio de Venta"), vbExclamation + vbDefaultButton1, "Mensaje"
    End If
End Sub

Private Sub cmdImprimeDoc_Click()

Dim intEstado As Integer
Dim strEstadoText As String
Dim strcad As String
Dim rsTemporal As ADODB.Recordset
Dim strParamObs As String

Screen.MousePointer = 11

strParamObs = Trim(strObservacion1 & strObservacion2 & strObservacion3)

crIngresos.WindowState = crptMaximized
crIngresos.WindowShowPrintSetupBtn = True
crIngresos.WindowTitle = "REPORTE DE INGRESO DE INVENTARIO"

If lblNumero.Caption <> Empty Then
    strNumeroMovimiento = lblNumero.Caption
    
    intEstado = objMovimiento.ObtieneEstadoDocumento(dtcAlmacen.BoundText, strNumeroMovimiento)
     If intEstado <> -1 Then
        
        If ctnCosto.Visible Then
            crIngresos.ReportFileName = GstrReportesInv & "rpt_MovimientoValorizado.rpt"
        Else
            crIngresos.ReportFileName = GstrReportesInv & "rpt_MovimientoNoValorizado.rpt"
        End If
        crIngresos.Formulas(1) = "formAlmacen= stringvar DescrAlmacen; DescrAlmacen:='" & dtcAlmacen.Text & "'"
        crIngresos.Formulas(2) = "formProveedor= stringvar DescrProveedor; DescrProveedor:='" & dtcProveedor.Text & "'"
        crIngresos.Formulas(3) = "formNroIng= stringvar NroIng; NroIng:='" & strNumeroMovimiento & "'"
        crIngresos.Formulas(4) = "formDocu= stringvar Docu; Docu:='" & dtcTipoDoc.Text & " " & txtNumeroDoc.Text & "'"
        crIngresos.Formulas(5) = "formTransaccion= stringvar Transaccion; Transaccion:='" & dtcTipoIngreso.Text & "'"
        crIngresos.Formulas(6) = "formFechaDocu= datevar FechaDocu; FechaDocu:=date(" & Format(dtpFecha.Value, "YYYY,MM,dd") & ")"
        crIngresos.Formulas(7) = "formFechaProce= datevar FechaProce; FechaProce:=date(" & Format(dtpFechaProceso, "YYYY,MM,dd") & ")"
        
        If intEstado = 0 Then
            strEstadoText = "DOCUMENTO NO EMITIDO"
        Else
            strEstadoText = "DOCUMENTO EMITIDO"
        End If
        
        If lblEstado.Caption <> Empty Then
            strEstadoText = "DOCUMENTO ANULADO"
        End If
        
        crIngresos.Formulas(8) = "formStatusDoc= stringvar EstadoDoc; EstadoDoc:='" & strEstadoText & "'"
        crIngresos.Formulas(9) = "formTotalVenta= stringvar TotalVenta; TotalVenta:='" & lblVenta.Caption & "'"
        crIngresos.Formulas(10) = "formTotalIGV= stringvar TotalIGV; TotalIGV:='" & lblMIGV.Caption & "'"
        crIngresos.Formulas(11) = "formTotalGeneral= stringvar TotalGeneral; TotalGeneral:='" & lblTotal.Caption & "'"
        crIngresos.Formulas(12) = "formMoneda= stringvar Moneda; Moneda:='" & dtcMoneda.Text & " ***'"
        crIngresos.Formulas(13) = "formNdStock=" & GintDecStock
        crIngresos.Formulas(14) = "formNdCosto=" & GintDecCosto
        crIngresos.Formulas(15) = "formNdResultado=" & GintDecResultado
        crIngresos.Formulas(16) = "formTitulo= stringvar Titulo; Titulo:='INGRESO DE INVENTARIO (FS-10)'"
        crIngresos.Formulas(17) = "formScreen= stringvar Screen; Screen:='10.010.00'"
        crIngresos.Formulas(18) = "formUsuario=stringvar Usuario; Usuario:='" & GCUSERID & "'"
        
        If chkDesensamble.Value And chkEmitido.Value Then
            If dtcTipoIngreso.BoundText <> objTipoIngreso.CodigoMovimientoDes("1") Then
                Set rsTemporal = objMovimiento.ListarMovimientosGeneradosPorDesensamble(dtcProveedor.BoundText, txtNumeroDoc.Text, dtcTipoIngreso.BoundText)
                rsTemporal.MoveFirst
                strcad = "NOTA: Este Ingreso que incluye Desensamble a generados la Salida Nro: " & rsTemporal!BATNBR & " y el "
                rsTemporal.MoveNext
                strcad = strcad & "Ingreso Nro: " & rsTemporal!BATNBR
                Set rsTemporal = Nothing
            Else
                strcad = "NOTA: Este Ingreso fué generado a partir del Ingreso Nro: " & objMovimiento.ObtenerGeneradorMovimientoPorDesensamble(dtcProveedor.BoundText, txtNumeroDoc.Text, dtcTipoIngreso.BoundText) & " que incluyó Desensamble"
            End If
            
            crIngresos.Formulas(19) = "formMensajeDes=stringvar MensajeDes;MensajeDes:='" & strcad & "'"
    
        End If
        
        crIngresos.Formulas(20) = "formSiteOri= stringvar SiteOri; SiteOri:='" & objAlmacen.ObtenerDescripcionAlmacen(GstrSiteProce) & "'"
        
        If dtcTipoIngreso.BoundText = GstrCodTransferenciaIng Then
            crIngresos.Formulas(21) = "formAlmacen= stringvar DescrAlmacen; DescrAlmacen:='" & dtcAlmacenOrigen.Text & "'"
            crIngresos.Formulas(22) = "formAlmacen2= stringvar DescrAlmacen2; DescrAlmacen2:='" & dtcAlmacen.Text & "'"
        End If
        
        '**********************************************************************************
        
        Dim LStrComentAux As String
        LStrComentAux = Trim(Replace(Trim(strParamObs), Chr(13), " "))
        LStrComentAux = Replace(LStrComentAux, Chr(10), " ")
                       
        crIngresos.Formulas(23) = "formObs= stringvar Obs; Obs:='" & LStrComentAux & "'"
        
        '**********************************************************************************
        
        crIngresos.StoredProcParam(0) = dtcAlmacen.BoundText
        crIngresos.StoredProcParam(1) = strNumeroMovimiento
        crIngresos.StoredProcParam(2) = dtcProveedor.BoundText
        crIngresos.StoredProcParam(3) = IIf(dtcMoneda.BoundText = Empty, GstrCodMonedaBase, dtcMoneda.BoundText)
        crIngresos.Connect = "DSN=SIES;ID=sa;PWD="
        crIngresos.Action = 1
        crIngresos.Reset
      Else
        MsgBox "Número de Ingreso no Registrado"
        Exit Sub
      End If
Else
    MsgBox "Seleccione un Documento que desee Imprimir", vbExclamation, "Imprimir"
End If

Screen.MousePointer = 0
End Sub

Private Sub cmdNuevoItem_Click()

'Parte Anexada , Manejo de Costos
 
 Dim LDblCostoPen As Double
 Dim LDblCostousd As Double
 
 'Autor: Jorge Illescas------------------------------------------------------------------------------------------------
 'Parte anexada manejo de Factura: INCLUYE IGV, NO INCLUYE IGV---------------------------------------------------------
 '---------------------------------------------------------------------------------------------------------------------
 
 'IIf(Dtcmoneda.BoundText = GstrCodMonedaBase, CDbl(ctnCosto.Text), GFormatodeNumero(CDbl(ctnCosto.Text) * dblTipoCambio, GintDecCosto))
    If Trim(dtcMoneda.BoundText) = Trim(GstrCodMonedaBase) Then
       If chkIncluyeIGV.Value = 0 Then               'Decide si documento incluye IGV(No Incluye IGV)
          LDblCostoPen = CDbl(ctnCosto.Text)
       ElseIf chkIncluyeIGV.Value = 1 Then           'Incluye IGV
          LDblCostoPen = GFormatodeNumero(CDbl(ctnCosto.Text) * 1.19, GintDecCosto)    'GdblIGV
       End If
    Else
       LDblCostoPen = GFormatodeNumero(CDbl(ctnCosto.Text) * dblTipoCambio, GintDecCosto)
    End If
 'IIf(Dtcmoneda.BoundText <> GstrCodMonedaBase, CDbl(ctnCosto.Text), GFormatodeNumero(CDbl(ctnCosto.Text) / dblTipoCambio, GintDecCosto))
    If Trim(dtcMoneda.BoundText) <> Trim(GstrCodMonedaBase) Then
       LDblCostousd = CDbl(ctnCosto.Text)
    Else
       LDblCostousd = GFormatodeNumero(CDbl(ctnCosto.Text) / dblTipoCambio, GintDecCosto)
    End If
 
 Dim LDblCostoPenAnt As Double
 Dim LDblCostousdAnt As Double
 'IIf(Dtcmoneda.BoundText = GstrCodMonedaBase, CDbl(lblCostoAnt.Caption), GFormatodeNumero(CDbl(lblCostoAnt.Caption) * dblTipoCambio, GintDecCosto))
    If Trim(dtcMoneda.BoundText) = GstrCodMonedaBase Then
       LDblCostoPenAnt = CDbl(lblCostoAnt.Caption)
    Else
       LDblCostoPenAnt = GFormatodeNumero(CDbl(lblCostoAnt.Caption) * dblTipoCambio, GintDecCosto)
    End If
 'IIf(dtcMoneda.BoundText <> GstrCodMonedaBase, CDbl(lblCostoAnt.Caption), GFormatodeNumero(CDbl(lblCostoAnt.Caption) / dblTipoCambio, GintDecCosto))
    If Trim(dtcMoneda.BoundText) <> GstrCodMonedaBase Then
       LDblCostousdAnt = CDbl(lblCostoAnt.Caption)
    Else
       LDblCostousdAnt = GFormatodeNumero(CDbl(lblCostoAnt.Caption) / dblTipoCambio, GintDecCosto)
    End If
    
 'Fin de Manejo de Costos
  
  
' SE OBTIENE EL NUMERO DE SECUENCIA CORRESPONDIENTE
' AL NUEVO ARTICULO EN EL DETALLE DE INGRESO
    If ValidaDatosCab = True Then
        lngSecuencia = objCorrelativo.ObtenerSecuencia(lngCorrelativo)
    
    ' 1 GRABAR EN TMP_INTAITEM CON EL CORRETATIVO Y EL NUMERO DE SECUENCIA
        If ctnCosto.Visible Then ' si es valorizado
            Call objMovimiento.AgregarEnTmpIntraItem(lngCorrelativo, dtcAlmacen.BoundText, _
                                                  dtcTipoIngreso.BoundText, lngSecuencia, txtArticulo.Text, _
                                                  "0", CDbl(ctnUnidades.Text), 0, LDblCostoPen, _
                                                  LDblCostousd, 0, _
                                                  dtpFecha.Value, GDatFechaProceso, 0, LDblCostoPenAnt, _
                                                  LDblCostousdAnt)
        Else
            Call objMovimiento.AgregarEnTmpIntraItem(lngCorrelativo, dtcAlmacen.BoundText, _
                                                  dtcTipoIngreso.BoundText, lngSecuencia, txtArticulo.Text, _
                                                  "0", CDbl(ctnUnidades.Text), 0, 0, 0, 0, dtpFecha.Value, GDatFechaProceso, 0, 0, 0)
                                                   
                                                  
        End If
        
        If objMovimiento.ExistenArticulosDesensamble(lngCorrelativo) Then
            chkDesensamble.Value = 1
        Else
            chkDesensamble.Value = 0
        End If
        
        Call ActualizaPie
            
    ' 2 ACTUALIZAR DATAGRID
        
         Call CargaGrid2(dtcProveedor.BoundText, lngCorrelativo, dtcMoneda.BoundText)
        
        'MI MERCADO - Permite ubicar el cursor en la ultima fila de la grilla de ingresos
        DBDetalle.Bookmark = lngSecuencia
    
    ' 3 PREPARAR PARA NUEVA ENTRADA DE DATOS DE ARTICULO
        Call LimpiaCajaDetalle
        fraDatosCab.Enabled = False 'si existe un item en el grid se desabilita la cabecera
        txtArticulo.SetFocus
    End If
    
End Sub

Private Sub cmdNuevoDoc_Click()
    
    blnEditando = True
        
    Call HabilitaCampos(True)
    Call HabilitaBotones(False)
    Call Limpiar
    Call CamposValorizados(True)

    
    ' SE OBTIENE EL NUMERO DE CORRELATIVO INDENTIFICADOR POR USUARIO
        lngCorrelativo = objCorrelativo.ObtenerCorrelativo(GCUSERID)
   
    dtcTipoIngreso.SetFocus
End Sub

Private Sub cmdObservacion_Click()
If blnEditando Then
    FObservacion.strObs = strObservacion1 + strObservacion2 + strObservacion3
    FObservacion.blnINOUT = True
    FObservacion.Show vbModal
End If
End Sub

Private Sub cmdSalir_Click()
    Unload Me
End Sub

Private Sub Command2_Click()


End Sub

Private Sub ctnCodCompra_GotFocus()
  'Cambiar de color al enfocar el cursor
  ctnCodCompra.BackColor = GC_ColorEnfoque
End Sub

Private Sub ctnCodCompra_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        Screen.MousePointer = 11
        ' se valida que los campos unidades y costos no sean menores que cero
        If Val(ctnUnidades.Text) = 0 Then
            MsgBox "El Campo Unidades no puede ser cero", vbExclamation, "Ingresos"
            ctnUnidades.SetFocus
            Screen.MousePointer = 0
            Exit Sub
        End If
    
        If Val(ctnCosto.Text) = 0 And ctnCosto.Visible = True Then
            MsgBox "El Campo Costo no puede ser cero", vbExclamation, "Ingresos"
            ctnCosto.SetFocus
            Screen.MousePointer = 0
            Exit Sub
        End If
        
        
        If Trim(GintSkuredondeo) = Trim(txtArticulo.Text) Then
           If ctnCosto.Text > GdblMaxredondeo Then
             MsgBox "El Monto Ingresado excede el Permitido [" & Trim(CStr(GdblMaxredondeo)) & "]", vbDefaultButton1 + vbExclamation, "Mensaje"
             ctnCosto.SetFocus
             Screen.MousePointer = 0
             Exit Sub
           End If
        End If
        
        
        If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraPlaya) Then
            If Trim(cmbTipoCompra.Text) = Empty Then
               cmbTipoCompra.Enabled = True
               CargaCombo 0
               MsgBox "Debe especificar el Tipo de Compra Playa", vbDefaultButton1 + vbExclamation, "Mensaje"
               cmbTipoCompra.SetFocus
               Screen.MousePointer = 0
               Exit Sub
            End If
        Else
            If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraTienda) Then
               If Trim(cmbTipoCompra.Text) = Empty Then
                 cmbTipoCompra.Enabled = False
                 CargaCombo 1
               End If
            Else
               cmbTipoCompra.Enabled = False
               CargaCombo 2
            End If
        End If
        
        'comienza el proceso se grabacion en la tabla temporal TMP_IN_IntraItrem
        If blnActualizandoItem Then
                cmdActualizaItem_Click
        Else

            'Lineas que llaman al Formulario de Búsqueda
            If ExisteTipoCambio = False Then
                Screen.MousePointer = 0
                Exit Sub
            End If

            Dim rsTemporal As ADODB.Recordset
            Set rsTemporal = objMovimiento.ValidaCodigoIngresado(dtcProveedor.BoundText, Trim(txtArticulo.Text), dtcAlmacen.BoundText, IIf(cmbTipoCompra.ListCount > 1, 1, 0), IIf(cmbTipoCompra.ListCount = 0, 0, cmbTipoCompra.ListIndex))
            
            If rsTemporal.RecordCount <> 0 Then ' si no esta vacio
                If objMovimiento.ExisteArticulo(txtArticulo.Text, lngCorrelativo) Then
                        MsgBox "Código de articulo ya registrado", vbExclamation, "Mensaje"
                        txtArticulo.SetFocus
                        Screen.MousePointer = 0
                        Exit Sub
                End If
                
                Dim LARRAY(1, 2) As Variant
                LARRAY(1, 1) = dtcAlmacen.BoundText
                LARRAY(1, 2) = txtArticulo.Text
                If Not objMovimiento.Auxiliar1(LARRAY) Then
                    MsgBox "Código de articulo no registrado en almacen seleccionado", vbExclamation, "Mensaje"
                    txtArticulo.SetFocus
                    Exit Sub
                End If
                
                cmdNuevoItem_Click
            Else
                MsgBox "Código ingresado no corresponde al proveedor seleccionado", vbExclamation, "Ingresos"
                Set rsTemporal = Nothing
                txtArticulo.SetFocus
                Screen.MousePointer = 0
                Exit Sub
            End If
            
            Set rsTemporal = Nothing
        End If
        Screen.MousePointer = 0
    End If

End Sub

Private Sub ctnCosto_GotFocus()
'    If objMovimiento.ExisteArticulo(txtArticulo.Text, lngCorrelativo) Then
'        MsgBox "Código de articulo ya registrado", vbExclamation, "Mensaje"
'    End If
ctnCosto.BackColor = GC_ColorEnfoque


End Sub


Private Sub ctnCosto_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        Screen.MousePointer = 11
        ' se valida que los campos unidades y costos no sean menores que cero
        If Val(ctnUnidades.Text) = 0 Then
            MsgBox "El Campo Unidades no puede ser cero", vbExclamation, "Ingresos"
            ctnUnidades.SetFocus
            Screen.MousePointer = 0
            Exit Sub
        End If
    
        If Val(ctnCosto.Text) = 0 And ctnCosto.Visible = True Then
            MsgBox "El Campo Costo no puede ser cero", vbExclamation, "Ingresos"
            ctnCosto.SetFocus
            Screen.MousePointer = 0
            Exit Sub
        End If
        
        If Trim(GintSkuredondeo) = Trim(txtArticulo.Text) Then
           If ctnCosto.Text > GdblMaxredondeo Then
             MsgBox "El Monto Ingresado excede el Permitido [" & Trim(CStr(GdblMaxredondeo)) & "]", vbDefaultButton1 + vbExclamation, "Mensaje"
             ctnCosto.SetFocus
             Screen.MousePointer = 0
             Exit Sub
           End If
        End If
        
        
        If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraPlaya) Then
            If Trim(cmbTipoCompra.Text) = Empty Then
               cmbTipoCompra.Enabled = True
               CargaCombo 0
               MsgBox "Debe especificar el Tipo de Compra Playa", vbDefaultButton1 + vbExclamation, "Mensaje"
               cmbTipoCompra.SetFocus
               Screen.MousePointer = 0
               Exit Sub
            End If
        Else
            If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraTienda) Then
               If Trim(cmbTipoCompra.Text) = Empty Then
                 cmbTipoCompra.Enabled = False
                 CargaCombo 1
               End If
            Else
               cmbTipoCompra.Enabled = False
               CargaCombo 2
            End If
        End If
        
        'comienza el proceso se grabacion en la tabla temporal TMP_IN_IntraItrem
        If blnActualizandoItem Then
                cmdActualizaItem_Click
        Else

            'Lineas que llaman al Formulario de Búsqueda
            If ExisteTipoCambio = False Then
                Screen.MousePointer = 0
                Exit Sub
            End If

            Dim rsTemporal As ADODB.Recordset
            Set rsTemporal = objMovimiento.ValidaCodigoIngresado(dtcProveedor.BoundText, Trim(txtArticulo.Text), dtcAlmacen.BoundText, IIf(cmbTipoCompra.ListCount > 1, 1, 0), IIf(cmbTipoCompra.ListCount = 0, 0, cmbTipoCompra.ListIndex))
            
            If rsTemporal.RecordCount <> 0 Then ' si no esta vacio
                If objMovimiento.ExisteArticulo(txtArticulo.Text, lngCorrelativo) Then
                        MsgBox "Código de articulo ya registrado", vbExclamation, "Mensaje"
                        txtArticulo.SetFocus
                        Screen.MousePointer = 0
                        Exit Sub
                End If
                
                Dim LARRAY(1, 2) As Variant
                LARRAY(1, 1) = dtcAlmacen.BoundText
                LARRAY(1, 2) = txtArticulo.Text
                If Not objMovimiento.Auxiliar1(LARRAY) Then
                    MsgBox "Código de articulo no registrado en almacen seleccionado", vbExclamation, "Mensaje"
                    txtArticulo.SetFocus
                    Exit Sub
                End If
                
                cmdNuevoItem_Click
            Else
                MsgBox "Código ingresado no corresponde al proveedor seleccionado", vbExclamation, "Ingresos"
                Set rsTemporal = Nothing
                txtArticulo.SetFocus
                Screen.MousePointer = 0
                Exit Sub
            End If
            
            Set rsTemporal = Nothing
        End If
        Screen.MousePointer = 0
    End If

End Sub

Private Sub ctnCosto_LostFocus()

ctnCosto.BackColor = GC_ColorDefecto
If Trim(GintSkuredondeo) = Trim(txtArticulo.Text) Then
   If ctnCosto.Text > GdblMaxredondeo Then
      MsgBox "El Monto Ingresado excede el Permitido [" & Trim(CStr(GdblMaxredondeo)) & "]", vbDefaultButton1 + vbExclamation, "Mensaje"
      If fraDatosItem.Enabled = True Then
         If ctnCosto.Enabled = True Then
            ctnCosto.SetFocus
         End If
      End If
      Exit Sub
   End If
End If

End Sub

Private Sub ctnPrecioVenta_GotFocus()
  ctnPrecioVenta.BackColor = RGB(46, 189, 187)
  'ctnPrecioVenta.Font. = RGB(0, 54, 108)
End Sub

Private Sub ctnPrecioVenta_LostFocus()
    ctnUnidades.BackColor = GC_ColorDefecto
End Sub


Private Sub ctnUnidades_GotFocus()
'    If objMovimiento.ExisteArticulo(txtArticulo.Text, lngCorrelativo) Then
'        MsgBox "Código de articulo ya registrado", vbExclamation, "Mensaje"
'    End If
    ctnUnidades.BackColor = GC_ColorEnfoque
End Sub

Private Sub ctnUnidades_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
    
        If Trim(GintSkuredondeo) = Trim(txtArticulo.Text) Then
           If ctnUnidades.Text > 1 Then
              MsgBox "Cantidad no puede ser Mayor a uno", vbDefaultButton1 + vbExclamation, "Mensaje"
              ctnUnidades.Text = 1
              If fraDatosItem.Enabled = True Then
                 If ctnUnidades.Enabled = True Then
                    ctnUnidades.SetFocus
                 End If
              End If
              Exit Sub
           End If
        End If
        
        If ctnCosto.Visible Then
            ctnCosto.SetFocus
        Else
            Call ctnCosto_KeyPress(13)
        End If
    End If
    If KeyAscii = 138 Then
       ctnPrecioVenta.SetFocus
    End If
End Sub

Private Sub ctnUnidades_LostFocus()
ctnUnidades.BackColor = GC_ColorDefecto

        If Trim(GintSkuredondeo) = Trim(txtArticulo.Text) Then
           If ctnUnidades.Text > 1 Then
              MsgBox "Cantidad no puede ser Mayor a uno", vbDefaultButton1 + vbExclamation, "Mensaje"
              ctnUnidades.Text = 1
              If fraDatosItem.Enabled = True Then
                 If ctnUnidades.Enabled = True Then
                    ctnUnidades.SetFocus
                 End If
              End If
              Exit Sub
           End If
        End If



End Sub

Private Sub DBDetalle_GotFocus()
    txtArticulo.Enabled = True
    cmdBuscaArticulo.Enabled = True
    blnActualizandoItem = False
End Sub

Private Sub DBDetalle_KeyUp(KeyCode As Integer, Shift As Integer)
    DBDetalle.Refresh
    PonerDatosGrig
    
    If gformmdi.Toolbar1.Buttons(1).Enabled = False Then ' si se esta ingresando un nuevo movimiento
        If KeyCode = vbKeyF3 Then
            If DBDetalle.Bookmark <> 0 Or Not IsNull(DBDetalle.Bookmark) Then
                cmdEliminarItem_Click
                Exit Sub
            End If
        End If
        If KeyCode = 13 Then
            If DBDetalle.Bookmark <> 0 Or Not IsNull(DBDetalle.Bookmark) Then
                    txtArticulo.Enabled = False
                    cmdBuscaArticulo.Enabled = False
                    blnActualizandoItem = True
                    ctnUnidades.SetFocus
                Exit Sub
            End If
        End If
    End If
End Sub

Private Sub DBDetalle_LostFocus()
    If blnActualizandoItem = False Then  '  si no esta modificando item
        'Call LimpiaCajaDetalle
    End If
End Sub

Private Sub DBDetalle_RowColChange(LastRow As Variant, ByVal LastCol As Integer)
    DBDetalle.Refresh
    PonerDatosGrig
End Sub


Private Sub dtcAlmacen_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF2 Then cmdBusAlmacen_Click
End Sub

Private Sub dtcAlmacen_KeyPress(KeyAscii As Integer)
    KeyAscii = GBloqueaCaracter(KeyAscii)
    If KeyAscii = 13 Then
        If dtcProveedor.Enabled Then
            dtcProveedor.SetFocus
        Else
            dtcTipoDoc.SetFocus
        End If
    End If
End Sub

Private Sub dtcAlmacenOrigen_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF2 Then cmdBusAlmacenOrigen_Click
End Sub

Private Sub dtcAlmacenOrigen_KeyPress(KeyAscii As Integer)
    KeyAscii = GBloqueaCaracter(KeyAscii)
    If KeyAscii = 13 Then
       txtArticulo.SetFocus
    End If
End Sub

Private Sub dtcAlmacenOrigen_LostFocus()
    If dtcAlmacenOrigen.BoundText = dtcAlmacen.BoundText Then
        MsgBox "El almacen origen y destino no puede ser el mismo", vbExclamation, "Mensaje"
        dtcAlmacen.SetFocus
    End If
End Sub

Private Sub DtcMoneda_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        txtSerie.SetFocus
    End If
End Sub

Private Sub dtcTipoIngreso_Click(Area As Integer)
On Error Resume Next
    If dtcTipoIngreso.Text <> Empty Then
        Call TipoMovimientoValorizado 'CONOCER SI EL MOVIMIENTO ES VALORIZADO
    End If
    ' SI ES POR TRANSFERENCIA, HABILITAMOS SUS CAMPOS
    If (dtcTipoIngreso.BoundText) = GstrCodTransferenciaIng Then
        lblAlmacenOrigen.Enabled = True
        cmdBusAlmacenOrigen.Enabled = True
        dtcAlmacenOrigen.Enabled = True
    Else
        lblAlmacenOrigen.Enabled = False
        cmdBusAlmacenOrigen.Enabled = False
        dtcAlmacenOrigen.BoundText = Empty
        dtcAlmacenOrigen.Enabled = False
    End If
'    If objTipoIngreso.MovimientoPorCompra(dtcTipoIngreso.BoundText) = True Then
'        chkDesensamble.Enabled = True
'    Else
'        chkDesensamble.Value = False
'        chkDesensamble.Enabled = False
'    End If
End Sub

Private Sub dtcTipoIngreso_LostFocus()

   If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraPlaya) Then
      If Trim(cmbTipoCompra.Text) = Empty Then
         cmbTipoCompra.Enabled = True
         CargaCombo 0
      End If
   Else
       If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraTienda) Then
            cmbTipoCompra.Enabled = False
            CargaCombo 1
        Else
            cmbTipoCompra.Enabled = False
            CargaCombo 2
        End If
   End If

End Sub

Private Sub dtpFecha_KeyDown(KeyCode As Integer, Shift As Integer)
 If KeyCode = 13 Then
    If dtpFechaProceso.Enabled Then
        dtpFechaProceso.SetFocus
    Else
        If dtcAlmacenOrigen.Enabled Then
            dtcAlmacenOrigen.SetFocus
        Else
            txtArticulo.SetFocus
        End If
    End If
End If
End Sub

Private Sub dtpFechaProceso_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = 13 Then
        If dtcAlmacenOrigen.Enabled Then
            dtcAlmacenOrigen.SetFocus
        Else
            txtArticulo.SetFocus
        End If
    End If
End Sub

Private Sub dtpFechaRecep_KeyDown(KeyCode As Integer, Shift As Integer)
 If KeyCode = 13 Then
    If dtpFechaProceso.Enabled Then
        dtpFechaProceso.SetFocus
    Else
        If dtcAlmacenOrigen.Enabled Then
            dtcAlmacenOrigen.SetFocus
        Else
            txtArticulo.SetFocus
        End If
    End If
End If
End Sub


Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If blnEditando Then
        If MsgBox("Desea Salir y Cancelar el documento actual? ", vbQuestion + vbYesNo, "Salir") = vbNo Then
            Cancel = 1
        Else
            Cancel = 0
            blnEditando = False
            pb_agregar = False
            pb_editar = False
            Call gdesactiva_barra
        End If
    Else
        Call gdesactiva_barra
    End If
End Sub

Private Sub txtArticulo_GotFocus()
    'Call LimpiaCajaDetalle
    txtArticulo.BackColor = GC_ColorEnfoque
End Sub

Private Sub txtArticulo_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF2 Then cmdBuscaArticulo_Click
End Sub

Private Sub txtArticulo_KeyPress(KeyAscii As Integer)
KeyAscii = GBloqueaCaracter(KeyAscii)
    
    If KeyAscii = 13 Then
        'Lineas que llaman al Formulario de Búsqueda
        
        If ExisteTipoCambio = False Then
            Exit Sub
        End If
        
        Dim rsTemporal As ADODB.Recordset
        Set rsTemporal = objMovimiento.ValidaCodigoIngresado(dtcProveedor.BoundText, Trim(txtArticulo.Text), dtcAlmacen.BoundText, IIf(cmbTipoCompra.ListCount > 1, 1, 0), IIf(cmbTipoCompra.ListCount = 0, 0, cmbTipoCompra.ListIndex))
        
        'MI MERCADO: para visualizar y editar el precio de venta
        Dim rsTempPV As ADODB.Recordset
        Set rsTempPV = objPrecioVenta.MostrarPrecioVenta(Trim(txtArticulo.Text))
        
        If rsTemporal.RecordCount <> 0 Then ' si no esta vacio
            If objMovimiento.ExisteArticulo(txtArticulo.Text, lngCorrelativo) Then
                    MsgBox "Código de articulo ya registrado", vbExclamation, "Mensaje"
                    txtArticulo.SetFocus
                    Exit Sub
            End If
            
            rsTemporal.MoveFirst ' muevete al primer registro
            
            Dim LARRAY(1, 2) As Variant
            LARRAY(1, 1) = dtcAlmacen.BoundText
            LARRAY(1, 2) = txtArticulo.Text
            If Not objMovimiento.Auxiliar1(LARRAY) Then
                    MsgBox "Código de articulo no registrado en almacen seleccionado", vbExclamation, "Mensaje"
                    txtArticulo.SetFocus
                    Exit Sub
            End If
            
            
            'cargo valores
            txtArticulo.Text = rsTemporal!INVTIDSKU
            lblDescripcion.Caption = rsTemporal!descr
            ctnCosto.Text = GFormatodeNumero(objMovimiento.ConvertirCosto(rsTemporal!STDCOST, dtcMoneda.BoundText, dtpFecha.Value, rsTemporal!INVTIDSKU, dtcProveedor.BoundText), GintDecCosto)
            
            'MI MERCADO: mostrar el precio de venta del articulo
            If rsTempPV.RecordCount <> 0 Then
               ctnPrecioVenta.Text = GFormatodeNumero(rsTempPV!SLS_PRICE, GintDecPrecio)
            End If
            
            lblCostoAnt.Caption = ctnCosto.Text
        Else
            MsgBox "Código ingresado no corresponde al proveedor seleccionado", vbExclamation, "Ingresos"
            Set rsTemporal = Nothing
            txtArticulo.SetFocus
            Exit Sub
        End If
        
        Set rsTemporal = Nothing
        Set rsTempPV = Nothing
        'devuelvo el enfoque al campo unidades
        ctnUnidades.SetFocus
    End If
End Sub

Private Sub dtcMoneda_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF2 Then cmdBusMoneda_Click
End Sub

Private Sub dtcProveedor_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF2 Then cmdBusProveedor_Click
End Sub

Private Sub dtcProveedor_KeyPress(KeyAscii As Integer)
    KeyAscii = GBloqueaCaracter(KeyAscii)
    If KeyAscii = 13 Then
        dtcTipoDoc.SetFocus
    End If
End Sub

Private Sub dtcProveedor_LostFocus()
    'Call CargaDataCombo(txtArticulo, objProveedor.ListarArticulosPorProveedor(dtcProveedor.BoundText), "invtIdsku", "Descr")
End Sub

Private Sub dtcTipoDoc_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF2 Then cmdBusTipoDoc_Click
End Sub

Private Sub dtcTipoDoc_KeyPress(KeyAscii As Integer)
    KeyAscii = GBloqueaCaracter(KeyAscii)
    If KeyAscii = 13 Then
        If dtcMoneda.Enabled Then
            dtcMoneda.SetFocus
        Else
            txtNumeroDoc.SetFocus
        End If
    End If
End Sub

Private Sub dtcTipoIngreso_KeyDown(KeyCode As Integer, Shift As Integer)
    If KeyCode = vbKeyF2 Then cmdBusTipoIng_Click
End Sub

Private Sub dtcTipoIngreso_KeyPress(KeyAscii As Integer)
    KeyAscii = GBloqueaCaracter(KeyAscii)
    If KeyAscii = 13 Then
       dtcAlmacen.SetFocus
    End If
End Sub

Private Sub Form_Activate()
    'Call UbicaItemEnDataCombo
 'On Error GoTo SALTO
  '  dtpFechaProceso.Enabled = objMovimiento.HabilitarFechaProceso
'SALTO:
 '********************************************************************************
 '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)
    If pbderecho_consultar = False Then
       Unload Me
    End If
 '********************************************************************************
    GbytMovimiento = 1 'para filtra solo la busqueda de Ingresos
    Call Botones_Navegacion_barra ' desactiva los botones de navegacion
End Sub

Private Sub Form_Deactivate()
'    MstrTipoMovimiento = dtcTipoIngreso.BoundText
'    MstrAlmacen = dtcAlmacen.BoundText
'    MstrProveedor = dtcProveedor.BoundText
'    MstrTipoDoc = dtcTipoDoc.BoundText
'    MstrMoneda = dtcMoneda.BoundText
'    MstrArticulo = txtArticulo.Text
End Sub

Private Sub Form_Load()
Screen.MousePointer = 11
 '********************************************************************************
 '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"
     Screen.MousePointer = 0
     Exit Sub
  End If
 '********************************************************************************
        MyCon.Open "filedsn=conexionsies"
        Call InstanciaObjetos
        Call CargaGrid("0", 0, "0")
        ctnUnidades.Enteros = 10
        ctnUnidades.Decimales = GintDecStock
        ctnUnidades.PermitirNegativos = False
        
        'mi mercado
        ctnPrecioVenta.Enteros = 10
        ctnPrecioVenta.Decimales = GintDecStock
        ctnPrecioVenta.PermitirNegativos = False
        ctnPrecioVenta.ValorPorDefecto
'        ctnCodCompra.Enteros = 20
'        ctnCodCompra.Decimales = 0
'        ctnCodCompra.PermitirNegativos = False
'        ctnCodCompra.ValorPorDefecto
        
        ctnCosto.Enteros = 8
        ctnCosto.Decimales = GintDecCosto
        ctnCosto.PermitirNegativos = False
        ctnUnidades.ValorPorDefecto
        ctnCosto.ValorPorDefecto
        dtpFecha.Value = Now
        dtpFechaProceso.Value = GDatFechaProceso
        lblCostoAnt.Caption = GFormatodeNumero(0, GintDecCosto)
        
        Call HabilitaCampos(False)
        Call HabilitaBotones(True)
        Call LlenaDataCombos
        
        txtNumeroDoc.Enabled = False
    
        Me.Top = 100
        Me.Left = (Screen.Width - Me.Width) / 2
        
        intErr = 0
    
Screen.MousePointer = 0
End Sub

Private Sub Form_Unload(Cancel As Integer)
    Call DestruyeObjetos
    If MyCon.State = 1 Then Set MyCon = Nothing
End Sub

' Procedimiento para cargar DataCombos
Public Sub CargaDataCombo(objDataCombo As DataCombo, rsSource As Recordset, istrCampo1 As String, istrCampo2 As String)

    Set objDataCombo.DataSource = rsSource
    objDataCombo.DataField = istrCampo2
    Set objDataCombo.RowSource = rsSource
    objDataCombo.ListField = istrCampo2
    objDataCombo.BoundColumn = istrCampo1
    
    If Not rsSource.EOF Then
        objDataCombo.BoundText = rsSource.Fields(istrCampo2)
    End If

End Sub

' Procedimiento de carga de los DataCombos del formulario
Private Sub LlenaDataCombos()
    Call CargaDataCombo(dtcTipoIngreso, objTipoIngreso.ListarPorTipoMovimiento("1"), "TypeDocId", "Descr")
    Call CargaDataCombo(dtcAlmacen, objAlmacen.ListarAlmacenesPorStatus(1), "SiteId", "Name")
    Call CargaDataCombo(dtcProveedor, objProveedor.ListarProveedoresAyuda, "Vendidss", "Descr")
    Call CargaDataCombo(dtcTipoDoc, objDocumento.ListarDocumentos, "DocTypeId", "Descr")
    Call CargaDataCombo(dtcMoneda, objMoneda.ListarMonedas, "CuryId", "Descr")
    Call CargaDataCombo(dtcAlmacenOrigen, objAlmacen.ListarAlmacenesAyuda, "SiteId", "Name")
End Sub

Private Sub UbicaItemEnDataCombo()
On Error Resume Next
'    dtcTipoIngreso.BoundText = MstrTipoMovimiento
'    dtcAlmacen.BoundText = MstrAlmacen
'    dtcProveedor.BoundText = MstrProveedor
'    dtcTipoDoc.BoundText = MstrTipoDoc
'    dtcMoneda.BoundText = MstrMoneda
'    txtArticulo.Text = MstrArticulo
End Sub

Private Sub InstanciaObjetos()
    Set objTipoIngreso = New DB_INV_MANTENIMIENTOS.C_TIPOMOVIMIENTO
    Set objAlmacen = New DB_INV_MANTENIMIENTOS.C_ALMACEN
    Set objProveedor = New DB_INV_MANTENIMIENTOS.C_PROVEEDOR
    Set objDocumento = New DB_MA_MANTENIMIENTOS.C_DOCUMENTO
    Set objMoneda = New DB_MA_MANTENIMIENTOS.C_MONEDA
    Set objCorrelativo = New DB_CORRELATIVO.C_Correlativos
    Set objMovimiento = New DB_INV_MOVIMIENTOS.C_MOVIMIENTOS
    
    'MI MERCADO: edicion y visualizacion de precio de ventaç
    Set objPrecioVenta = New DB_INV_MOVIMIENTOS.C_PRECIOVENTA_ART
    Set objCodigoCompra = New DB_INV_MOVIMIENTOS.C_CODCOMPRA
    
End Sub

Private Sub DestruyeObjetos()
    Set objTipoIngreso = Nothing
    Set objAlmacen = Nothing
    Set objProveedor = Nothing
    Set objDocumento = Nothing
    Set objMoneda = Nothing
    Set objCorrelativo = Nothing
    Set objMovimiento = Nothing
End Sub

' funcion que valida el ingreso de caracteres numéricos
Private Function ValidaNumeros(KeyAscii As Integer) As Integer
    If (KeyAscii >= 48 And KeyAscii <= 57) Or KeyAscii = 13 Or KeyAscii = 8 Then
        ValidaNumeros = KeyAscii
    Else
        ValidaNumeros = 0
    End If
End Function

Private Sub txtArticulo_LostFocus()
txtArticulo.BackColor = GC_ColorDefecto
End Sub

Private Sub txtCorrelativo_GotFocus()
    txtNumeroDoc.BackColor = GC_ColorEnfoque
End Sub

Private Sub txtCorrelativo_KeyPress(KeyAscii As Integer)
   If KeyAscii = 13 Then
    If dtpFecha.Enabled Then
        dtpFecha.SetFocus
    End If
   End If
KeyAscii = GBloqueanonumeros(KeyAscii)
End Sub


Private Sub txtCorrelativo_LostFocus()
    ' Capturando el correlativo
    txtCorrelativo = Right("00000000" + Trim(txtCorrelativo), 8)
    'mi mercado- creando nuemero de documento de ingreso
    txtNumeroDoc = Trim(txtSerie) + Trim(lblSep.Caption) + Trim(txtCorrelativo)
    If ValidaDatosCab() = False Then Exit Sub
    
End Sub


Private Sub txtNumeroDoc_GotFocus()
    txtNumeroDoc.BackColor = GC_ColorEnfoque
End Sub

Private Sub txtNumeroDoc_KeyPress(KeyAscii As Integer)
   'KeyAscii = ValidaNumeros(KeyAscii)
   If KeyAscii = 13 Then
    If dtpFecha.Enabled Then
        dtpFecha.SetFocus
    End If
   End If
End Sub

Private Sub CargaGrid(strCodProveedor As String, lngId As Long, strCodMoneda As String)
    
    Set DBDetalle.DataSource = objMovimiento.SeleccionaEnTmpIntraItem(strCodProveedor, lngId, strCodMoneda)
    Call FormatoGrilla
    DBDetalle.Refresh
    
End Sub

 
Private Sub CargaGrid2(strCodProveedor As String, lngId As Long, strCodMoneda As String)
    
    Set DBDetalle.DataSource = objMovimiento.SeleccionaEnTmpIntraItem(strCodProveedor, lngId, strCodMoneda)
    
    Call FormatoGrilla
    
    If Not ctnCosto.Visible Then
        DBDetalle.Columns(5).Visible = False
        DBDetalle.Columns(6).Visible = False
        DBDetalle.Columns(7).Visible = False
        DBDetalle.Columns(8).Visible = False
        DBDetalle.Columns(9).Visible = False
    Else
        DBDetalle.Columns(5).Visible = True
        DBDetalle.Columns(6).Visible = True
        DBDetalle.Columns(7).Visible = True
        DBDetalle.Columns(9).Visible = True
    End If
    DBDetalle.Refresh
    
End Sub


Private Sub Limpiar()
'funcionabilidad    : pone en blanco todos los controles de un formulario

Dim curcontrol As Control
    With Me
    For Each curcontrol In .Controls
        If TypeOf curcontrol Is TextBox Then
                curcontrol.Text = ""
        End If
         If TypeOf curcontrol Is DataCombo Then
                 curcontrol.Text = ""
        End If
         If TypeOf curcontrol Is ComboBox Then
            If curcontrol.Style <> 2 Then
              curcontrol.Text = ""
            End If
        End If
        If TypeOf curcontrol Is CtrlNumber Then
              curcontrol.ValorPorDefecto
        End If
        If TypeOf curcontrol Is CheckBox Then
              curcontrol.Value = 0
        End If
        
        If TypeOf curcontrol Is DTPicker Then
              curcontrol.Value = Now
        End If
    
    Next
    End With
    
    dtpFechaProceso.Value = GDatFechaProceso
    
    lblCostoAnt.Caption = GFormatodeNumero(0, GintDecCosto)
    lblDescripcion.Caption = Empty
    lblNumero.Caption = Empty
    lblEstado.Caption = Empty
    
    strObservacion1 = Empty
    strObservacion2 = Empty
    strObservacion3 = Empty
    
    dblTipoCambio = 0
    Call CargaGrid("0", 0, "0")
    Call LlenaDataCombos
    Call ActualizaPie
    
End Sub

Private Sub LimpiaCajaDetalle()
    txtArticulo.Text = Empty
    lblDescripcion.Caption = Empty
    ctnUnidades.ValorPorDefecto
    ctnCosto.ValorPorDefecto
    lblCostoAnt.Caption = GFormatodeNumero(0, GintDecCosto)
End Sub

Private Sub PonerDatosGrig()
    On Error GoTo TrataError
    'MI MERCADO: para visualizar y editar el precio de venta
    Dim rsTempPV As ADODB.Recordset
    Set rsTempPV = objPrecioVenta.MostrarPrecioVenta(Trim(txtArticulo.Text))
    
    ctnUnidades.Text = GFormatodeNumero(DBDetalle.Columns(4).Text, GintDecStock)
    ctnCosto.Text = GFormatodeNumero(DBDetalle.Columns(5).Text, GintDecCosto)
    lblCostoAnt.Caption = GFormatodeNumero(DBDetalle.Columns(9).Text, GintDecCosto)
    txtArticulo.Text = DBDetalle.Columns(1).Text
    ctnCodCompra.Text = DBDetalle.Columns(2).Text  'mi mercado modificar codigo de compra
    lblDescripcion.Caption = DBDetalle.Columns(3).Text
        
    'MI MERCADO: mostrar el precio de venta del articulo
    If rsTempPV.RecordCount <> 0 Then ' si no esta vacio
       ctnPrecioVenta.Text = GFormatodeNumero(rsTempPV!SLS_PRICE, GintDecPrecio)
       Set rsTempPV = Nothing
    End If
        
    Exit Sub
TrataError:

End Sub

Private Sub ActualizaPie()
Dim rsTemporal As ADODB.Recordset
Set rsTemporal = objMovimiento.ObtieneValorVenta(dtcMoneda.BoundText, lngCorrelativo)
dblIgvAcumulado = IIf(IsNull(rsTemporal!igv), 0, rsTemporal!igv)
dblValorVenta = IIf(IsNull(rsTemporal!valventa), 0, rsTemporal!valventa)
dblPercAcumulado = IIf(IsNull(rsTemporal!percepcion), 0, rsTemporal!percepcion)
'**************************************************************************************************
'Dim NOIGV As Double
'NOIGV = objMovimiento.ExistenDistintosValoresEnIGV(lngCorrelativo)

    lblVenta.Caption = GFormatodeNumero(dblValorVenta, GintDecResultado)
''''    If objMovimiento.ExistenDistintosValoresEnIGV(lngCorrelativo) Then '**
''    If NOIGV Then
        lblMIGV.Caption = GFormatodeNumero(dblIgvAcumulado, GintDecResultado) '--
''''    Else
''''        lblMIGV.Caption = GFormatodeNumero(CDbl(lblVenta.Caption) * GdblIGV / 100, GintDecResultado) '**
''        If NOIGV <> 0 Then  'solo con igv
''           lblMIGV.Caption = GFormatodeNumero(CDbl(lblVenta.Caption) * GdblIGV / 100, GintDecResultado)
''        End If
''''    End If
    lblTotal.Caption = GFormatodeNumero(CDbl(lblVenta.Caption) + CDbl(lblMIGV.Caption), GintDecResultado)
    lblPercepcion.Caption = GFormatodeNumero(dblPercAcumulado, GintDecResultado) '--
    lblNeto.Caption = GFormatodeNumero(CDbl(lblTotal.Caption) + dblPercAcumulado, GintDecResultado)
Set rsTemporal = Nothing
End Sub

Private Sub ActualizaPie2()
Dim rsTemporal As ADODB.Recordset
Set rsTemporal = objMovimiento.ObtieneValorVenta2(dtcMoneda.BoundText, dtcAlmacen.BoundText, lblNumero.Caption)
dblIgvAcumulado = IIf(IsNull(rsTemporal!igv), 0, rsTemporal!igv)
dblValorVenta = IIf(IsNull(rsTemporal!valventa), 0, rsTemporal!valventa)

    lblVenta.Caption = GFormatodeNumero(dblValorVenta, GintDecResultado)
    If objMovimiento.ExistenDistintosValoresEnIGV_2(dtcAlmacen.BoundText, lblNumero.Caption) Then
        lblMIGV.Caption = GFormatodeNumero(dblIgvAcumulado, GintDecResultado)
    Else
        lblMIGV.Caption = GFormatodeNumero(CDbl(lblVenta.Caption) * GdblIGV / 100, GintDecResultado)
    End If
    lblTotal.Caption = GFormatodeNumero(CDbl(lblVenta.Caption) + CDbl(lblMIGV.Caption), GintDecResultado)
Set rsTemporal = Nothing
End Sub

Public Sub CargaDatos(strSITEID As String, strBATNBR As String)
On Error GoTo TrataError
    Call Limpiar
    Dim rsTemporal As ADODB.Recordset
    Set rsTemporal = objMovimiento.SeleccionaEnIntraHead(strSITEID, strBATNBR)
    
    ' CARGO LA CABECERA
    lblNumero.Caption = rsTemporal!BATNBR
    If rsTemporal!DOCSTATUSID = "AN" Then
        lblEstado.Caption = "ANULADO"
    Else
        lblEstado.Caption = Empty
    End If
    
    dtcTipoIngreso.BoundText = rsTemporal!TYPEDOCID
    dtcAlmacen.BoundText = rsTemporal!SITEID
    dblTipoCambio = rsTemporal!CURYRATE
    
    If dtcTipoIngreso.BoundText = GstrCodTransferenciaIng Then
        dtcAlmacenOrigen.BoundText = rsTemporal!SITEDEST
    End If
    
    dtcProveedor.BoundText = rsTemporal!VENDIDSS
    dtcTipoDoc.BoundText = rsTemporal!DOCTYPEID
    dtcMoneda.BoundText = rsTemporal!FROMCURYID
    
    '***************MOSTRAR NUM. DOC. EN CONTROLES Nº SERIE Y Nº DOCUMENTO****************
    txtNumeroDoc.Text = GVDATO(rsTemporal!REFNBR)
    txtSerie = Left(GVDATO(rsTemporal!REFNBR), 4)
    txtCorrelativo = Right(GVDATO(rsTemporal!REFNBR), 8)
    
    dtpFecha.Value = rsTemporal!INTRDATE
    '*********************MI MERCADO: MOSTRAR FECHA DE RECEPCION DE DOCUMENTO*************
    dtpFechaRecep.Value = rsTemporal!DATERECEPDOC
    
    dtpFechaProceso.Value = rsTemporal!INTRDATEPROCE
    chkEmitido.Value = IIf(rsTemporal!RLSED = True, 1, 0)
    chkDesensamble.Value = IIf(rsTemporal!DISASSEMBLE = True, 1, 0)
    If chkDesensamble.Value Then
        Call CargaDataCombo(dtcTipoIngreso, objTipoIngreso.ListarTipoMovimientoDes("1"), "TypeDocId", "Descr")
        dtcTipoIngreso.BoundText = rsTemporal!TYPEDOCID
        chkDesensamble.Value = IIf(rsTemporal!DISASSEMBLE = True, 1, 0)
    End If
    
    Call TipoMovimientoValorizado 'CONOCER SI EL MOVIMIENTO ES VALORIZADO
    
    If rsTemporal!BUSINESSTYPE = "C" Then cmbTipoCompra.ListIndex = 0
    If rsTemporal!BUSINESSTYPE = "L" Then cmbTipoCompra.ListIndex = 1
    If rsTemporal!BUSINESSTYPE = "0" Then cmbTipoCompra.ListIndex = 2
    
    ' CARGO EL DETALLE
    Set DBDetalle.DataSource = objMovimiento.SeleccionaEnIntraItem(strSITEID, strBATNBR, dtcMoneda.BoundText)
    
    Call FormatoGrilla
    
    ' ocultar las columnas costo y total si el movimiento en no valorizado
    If Not ctnCosto.Visible Then
        DBDetalle.Columns(5).Visible = False
        DBDetalle.Columns(6).Visible = False
        DBDetalle.Columns(7).Visible = False
        DBDetalle.Columns(8).Visible = False
    Else
        DBDetalle.Columns(5).Visible = True
        DBDetalle.Columns(6).Visible = True
        DBDetalle.Columns(7).Visible = True
        DBDetalle.Columns(8).Visible = True
    End If
    
    DBDetalle.Refresh
    
    ' ACTUALIZACION DEL PIE
    If dtcMoneda.BoundText = GstrCodMonedaBase Then
        lblVenta.Caption = GFormatodeNumero(rsTemporal!INTRSUBTOTPEN, GintDecResultado)
        lblMIGV.Caption = GFormatodeNumero(rsTemporal!INTRTAXPEN, GintDecResultado)
        lblTotal.Caption = GFormatodeNumero(rsTemporal!INTRTOTPEN, GintDecResultado)
    Else
        lblVenta.Caption = GFormatodeNumero(rsTemporal!INTRSUBTOTUSD, GintDecResultado)
        lblMIGV.Caption = GFormatodeNumero(rsTemporal!INTRTAXUSD, GintDecResultado)
        lblTotal.Caption = GFormatodeNumero(rsTemporal!INTRTOTUSD, GintDecResultado)
    End If
    
    Set rsTemporal = Nothing
    
    Set rsTemporal = objMovimiento.SeleccionaComentarios(dtcAlmacen.BoundText, dtcTipoIngreso.BoundText, dtcTipoDoc.BoundText, strBATNBR)
    If Not rsTemporal.EOF Then
        strObservacion1 = IIf(IsNull(rsTemporal!COMMENT1), Empty, rsTemporal!COMMENT1)
        strObservacion2 = IIf(IsNull(rsTemporal!COMMENT2), Empty, rsTemporal!COMMENT2)
        strObservacion3 = IIf(IsNull(rsTemporal!COMMENT3), Empty, rsTemporal!COMMENT3)
    End If
    Set rsTemporal = Nothing
    
    Call PonerDatosGrig
    'Call ActualizaPie2
    
    Exit Sub
    
TrataError:
    Call Limpiar
    MsgBox "Nro de Ingreso no Registrado en Almacen Seleccionado", vbExclamation, "Error en Consulta"
End Sub

Private Sub HabilitaCampos(blnValor As Boolean)
    fraDatosCab.Enabled = blnValor
    fraDatosItem.Enabled = blnValor
    fraFlag.Enabled = blnValor
    fraTotales.Enabled = blnValor
    lblNroIngreso.Visible = Not blnValor
    lblNumero.Visible = Not blnValor
    cmdBuscar.Visible = Not blnValor
    lblEtiqueta.Visible = blnValor
    txtNumeroDoc.Enabled = blnValor
End Sub

Private Sub HabilitaBotones(blnValor As Boolean)
    If blnValor Then
        cmdAnulaDoc.Enabled = pbderecho_anular
        cmdImprimeDoc.Enabled = pbderecho_imprimir
        cmdEmiteDoc.Enabled = pbderecho_emitir
    Else
        cmdAnulaDoc.Enabled = blnValor
        cmdImprimeDoc.Enabled = blnValor
        cmdEmiteDoc.Enabled = blnValor
    End If
End Sub

Private Function ValidaDatos() As Boolean
ValidaDatos = True
blnDatosOK = True
    If Not (ValidaDatosCab) Then
        ValidaDatos = False
        blnDatosOK = False
        Exit Function
    End If
    If Not (ValidaDatosDet) Then
        ValidaDatos = False
        blnDatosOK = False
        Exit Function
    End If
End Function

Private Function ValidaDatosCab() As Boolean
ValidaDatosCab = True

If DBDetalle.Bookmark = 0 Or IsNull(DBDetalle.Bookmark) Then
    If dtcTipoIngreso.Text = Empty Then
        MsgBox "Ingrese Tipo de Movimiento", vbExclamation, "Ingreso"
        dtcTipoIngreso.SetFocus
        GoTo Final
    End If
    If dtcAlmacen.Text = Empty Then
        MsgBox "Ingrese Almacen", vbExclamation, "Ingreso"
        dtcAlmacen.SetFocus
        GoTo Final
    End If
    If dtcProveedor.Text = Empty Then
        MsgBox "Ingrese proveedor", vbExclamation, "Ingreso"
        dtcProveedor.SetFocus
        GoTo Final
    End If
    If dtcTipoDoc.Text = Empty Then
        MsgBox "Ingrese Tipo de Documento", vbExclamation, "Ingreso"
        dtcTipoDoc.SetFocus
        GoTo Final
    End If
    If dtcMoneda.Text = Empty And dtcMoneda.Enabled Then
        MsgBox "Ingrese Moneda", vbExclamation, "Ingreso"
        dtcMoneda.SetFocus
        GoTo Final
    End If
    If GVDATO(txtNumeroDoc.Text) = Empty Then
        MsgBox "Ingrese Número de Documento", vbExclamation, "Ingreso"
        txtCorrelativo.SetFocus
        GoTo Final
    End If
    If objMovimiento.ExisteDocumento(dtcTipoIngreso.BoundText, dtcProveedor.BoundText, dtcTipoDoc.BoundText, txtNumeroDoc.Text) Then
        MsgBox "Número de documento ya registrado", vbExclamation, "Ingreso"
        txtCorrelativo.SelStart = 0
        txtCorrelativo.SelLength = Len(txtCorrelativo)
        txtCorrelativo.SetFocus
        GoTo Final
    End If
    If dtcAlmacenOrigen.Text = Empty And dtcAlmacenOrigen.Enabled Then
        MsgBox "Ingrese Almacen de Origen", vbExclamation, "Ingreso"
        dtcAlmacenOrigen.SetFocus
        GoTo Final
    End If
    If dtcAlmacenOrigen.BoundText = dtcAlmacen.BoundText Then
        MsgBox "El almacen origen y destino no puede ser el mismo", vbExclamation, "Ingreso"
        dtcAlmacenOrigen.SetFocus
        GoTo Final
    End If
    If (GDatFechaProceso - dtpFechaProceso.Value) > 1 Or (GDatFechaProceso - dtpFechaProceso.Value) < 0 Then
        MsgBox "Fecha de Proceso ingresada incompatible", vbExclamation, "Ingreso"
        GoTo Final
    End If
    
End If

    If GVDATO(txtNumeroDoc.Text) = Empty Then
        MsgBox "Ingrese Número de Documento", vbExclamation, "Salida"
        txtCorrelativo.SetFocus
        GoTo Final
    End If

    Exit Function
    
Final:
    ValidaDatosCab = False
        
End Function

Private Function ValidaDatosDet() As Boolean
ValidaDatosDet = True

    If IsNull(DBDetalle.Bookmark) Then
        MsgBox "Debe existir al menos un registro en detalle de documento", vbExclamation, "Ingreso"
        ValidaDatosDet = False
        txtArticulo.SetFocus
    End If
    
End Function

Private Sub TipoMovimientoValorizado()
    Dim rsTemporal As ADODB.Recordset
    Set rsTemporal = objTipoIngreso.ListarPorTiposMovimientoID(dtcTipoIngreso.BoundText)
    
    Call CamposValorizados(rsTemporal!STKVALUE)
    
    dtcProveedor.Enabled = rsTemporal!STKVENDOR
    dtcProveedor.BoundText = IIf(rsTemporal!STKVENDOR, dtcProveedor.BoundText, GstrCodProveedorDefault)
    cmdBusProveedor.Enabled = rsTemporal!STKVENDOR
    
    If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraPlaya) Then
        cmbTipoCompra.Enabled = True
        CargaCombo 0
    Else
        If Trim(dtcTipoIngreso.BoundText) = Trim(GstrCodCompraTienda) Then
            cmbTipoCompra.Enabled = False
            CargaCombo 1
        Else
            cmbTipoCompra.Enabled = False
            CargaCombo 2
        End If
    End If
    
    Set rsTemporal = Nothing
    
End Sub

Private Sub CamposValorizados(blnValor As Boolean)
    dtcMoneda.Enabled = blnValor
    dtcMoneda.BoundText = dtcMoneda.BoundText
    cmdBusMoneda.Enabled = blnValor
    lblCosto.Visible = blnValor
    ctnCosto.Visible = blnValor
    lblCost.Visible = blnValor
    lblCostoAnt.Visible = blnValor
    fraTotales.Visible = blnValor
    DBDetalle.Columns(5).Visible = blnValor
    DBDetalle.Columns(6).Visible = blnValor
    DBDetalle.Columns(7).Visible = blnValor
    DBDetalle.Columns(8).Visible = blnValor
    DBDetalle.Columns(9).Visible = blnValor
    '* ULTIMA MODIFICACIION     */
'    If blnValor = False Then
'        fraDatosItem.Top = 5400
'        DBDetalle.Height = 2200
'    Else
'        fraDatosItem.Top = 4800
'        DBDetalle.Height = 1575
'    End If
End Sub
Public Sub imprimir()
    cmdImprimeDoc_Click
End Sub

Public Sub salir_formulario()
    cmdSalir_Click
End Sub

Private Sub FormatoGrilla()
    DBDetalle.Columns(0).Width = 500
    DBDetalle.Columns(1).Width = 710
    DBDetalle.Columns(2).Width = 1400
    DBDetalle.Columns(3).Width = 3000
    DBDetalle.Columns(4).Width = 1000
    DBDetalle.Columns(4).Alignment = dbgRight
    DBDetalle.Columns(4).NumberFormat = GMascara(GintDecStock)
    DBDetalle.Columns(5).Width = 900
    DBDetalle.Columns(5).Alignment = dbgRight
    DBDetalle.Columns(5).NumberFormat = GMascara(GintDecCosto)
    DBDetalle.Columns(6).Width = 1000
    DBDetalle.Columns(6).Alignment = dbgRight
    DBDetalle.Columns(6).NumberFormat = GMascara(GintDecResultado)
    DBDetalle.Columns(7).Alignment = dbgRight
    DBDetalle.Columns(7).NumberFormat = GMascara(2)
    DBDetalle.Columns(8).Alignment = dbgRight
    DBDetalle.Columns(8).NumberFormat = GMascara(2)
    DBDetalle.Columns(9).Width = 900
    DBDetalle.Columns(9).Alignment = dbgRight
    DBDetalle.Columns(9).NumberFormat = GMascara(GintDecCosto)
End Sub

Private Function ExisteTipoCambio() As Boolean
Dim rsTemporal As ADODB.Recordset

ExisteTipoCambio = True
'Para validar el tipo de cambio de la fecha del documento
If DBDetalle.Bookmark = 0 Or IsNull(DBDetalle.Bookmark) Then
    
    If dtcMoneda.BoundText = Empty Then
        Set rsTemporal = objProveedor.ObtenerTipoCambio(dtcProveedor.BoundText, GstrCodMonedaBase, dtpFecha.Value)
    Else
        Set rsTemporal = objProveedor.ObtenerTipoCambio(dtcProveedor.BoundText, dtcMoneda.BoundText, dtpFecha.Value)
    End If
    
    If rsTemporal.EOF Then
        MsgBox "No se a ingresado tipo de cambio del dia " & Format(dtpFecha.Value, "DD/MM/YYYY"), vbExclamation, "Ingreso"
        ExisteTipoCambio = False
        Exit Function
        Set rsTemporal = Nothing
    End If
       
    dblTipoCambio = rsTemporal!Rate
    strOperador_de_Cambio = rsTemporal!Operador
    ExisteTipoCambio = True
    Set rsTemporal = Nothing
End If
End Function

Public Sub agregar_registro()
    Call cmdNuevoDoc_Click
    pb_agregar = True
    pb_editar = True
    Call gactualiza_barra(Me) ', pb_primerregistro, pb_ultimoregistro)
    Call Botones_Navegacion_barra
    
End Sub

Public Sub descartar_registro()
    ' Revertir cambios
    Call cmdCancelaDoc_Click
    pb_agregar = False
    pb_editar = False
    Call gactualiza_barra(Me)
    Call gactualizaopcion(pbderecho_agregar, pbderecho_editar, pbderecho_borrar, pbderecho_imprimir)
        MsgBox ("Cambios Descartados"), vbInformation + vbDefaultButton1, "Mensaje"
    Call Botones_Navegacion_barra
End Sub

Public Sub Botones_Navegacion_barra()
    ' funcionabilidad   : desactiva todos los gbotones de la barra
    gformmdi.Toolbar1.Buttons(8).Enabled = False    ' Boton Refrescar
    gformmdi.Toolbar1.Buttons(10).Enabled = False   ' Boton Primero
    gformmdi.Toolbar1.Buttons(11).Enabled = False   ' Boton Anterior
    gformmdi.Toolbar1.Buttons(12).Enabled = False   ' Boton Siguiente
    gformmdi.Toolbar1.Buttons(13).Enabled = False   ' Boton Ultimo
End Sub

Public Sub modificar_registro()
    If lblNumero.Caption <> Empty Then
        If chkEmitido.Value Or lblEstado.Caption = "ANULADO" Then
            MsgBox "No se puede Modificar un Documento que ya fue Emitido o Anulado", vbExclamation, "Ingresos"
            Exit Sub
        End If
        
        blnEditando = True
        pb_editar = True
        Call gactualiza_barra(Me)
        Call HabilitaBotones(False)
        Call DesabilitaCabecera
        
        cmdBuscaArticulo.Enabled = True
        Call LimpiaCajaDetalle
    
        lngCorrelativo = objCorrelativo.ObtenerCorrelativo(GCUSERID)
        Call objMovimiento.CopiarDetalleDeMovimientoAlTemporal(lngCorrelativo, dtcAlmacen.BoundText, lblNumero.Caption)
        Call CargaGrid2(dtcProveedor.BoundText, lngCorrelativo, dtcMoneda.BoundText)
    
        pb_agregar = True
        pb_editar = True
        Call gactualiza_barra(Me)
        Call Botones_Navegacion_barra
    Else
        MsgBox "Seleccione un Documento que desee Modificar", vbExclamation, "Ingresos"
    End If
    
Exit Sub

errhandler:
    MsgBox MensajedeError(Err.Number, Err.Description), vbDefaultButton1 + vbCritical, "Advertencia"
               

End Sub

Public Sub grabar_registro()
    Call cmdGrabaDoc_Click
    If intErr = 0 Then
        If blnDatosOK Then
            pb_agregar = False
            pb_editar = False
            Call gactualizaopcion(pbderecho_agregar, pbderecho_editar, pbderecho_borrar, pbderecho_imprimir)
            Call gactualiza_barra(Me)
            cmdBuscar.Enabled = True
            Call Botones_Navegacion_barra
        End If
    Else
        intErr = 0
    End If
End Sub

Private Sub DesabilitaCabecera()
    fraDatosCab.Enabled = False
    fraDatosItem.Enabled = True
    ctnUnidades.Enabled = True
    ctnCosto.Enabled = True
    cmdBuscar.Enabled = False
    txtNumeroDoc.Enabled = True
End Sub

Private Sub txtNumeroDoc_LostFocus()
    txtNumeroDoc.BackColor = GC_ColorDefecto
End Sub

'MODIFICACIONES

Private Sub CargaCombo(intNegocio As Integer)
cmbTipoCompra.Clear

    If intNegocio = 0 Then
        cmbTipoCompra.AddItem "COMBUSTIBLES"
        cmbTipoCompra.AddItem "LUBRICANTES"
        cmbTipoCompra.AddItem "OTROS"
        cmbTipoCompra.ListIndex = 0
    Else
        If intNegocio = 1 Then
            cmbTipoCompra.AddItem "TIENDA"
            cmbTipoCompra.ListIndex = 0
        End If
    End If
    
End Sub



Private Sub txtSerie_GotFocus()
    txtNumeroDoc.BackColor = GC_ColorEnfoque
End Sub

Private Sub txtSerie_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
    txtCorrelativo.SetFocus
End If
KeyAscii = GBloqueanonumeros(KeyAscii)
End Sub


Private Sub txtSerie_LostFocus()
    ' Capturando el numero de serie
    txtSerie = Right("0000" + Trim(txtSerie), 4)
End Sub


