;** Sw_ConsR *******************************************************************
;*  Programa p/ Consulta de Itens para Requisi‡Æo                              *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 07/05/2012 por Bruno Carvalho
;Ultima Alteracao: 03/01/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajuste AutoLib Modo="Principal"

;*******************************************************************************
;* Rotina para Selecionar Registros                                            *
;*******************************************************************************
Proc Seleciona()
Private wc,oppesq,msg,citep,VR_CUSTO

Aguarde("Aguarde, Selecionando Registros")
Message("Procurando...")

DynArray Array_Registro[]

If Modo<>"Principal"
   Then SW_VSDGOPPESQ=VSDGOPPESQ
        SW_VSDGTXPESQ=VSDGTXPESQ
EndIf

oppesq=substr(VSDGOPPESQ,1,1)
Moveto "Itens"
Switch
  Case oppesq="1" : Moveto [Descricao do Item]
                    OrderTable {Descricao do Item}
                    Home
                    Locate IndexOrder by "descricao do item" Pattern VSDGTXPESQ
  Case oppesq="2" : If Search("..",VSDGTXPESQ)=0
                       Then Moveto [Codigo do Item]
                            Locate VSDGTXPESQ
                       Else Moveto [Codigo do Item]
                            OrderTable {Codigo do Item}
                            Home
                            Locate IndexOrder by "codigo do item" Pattern VSDGTXPESQ
                    EndIf
  Case oppesq="3" : Moveto [Codigo Fornecedor]
                    OrderTable {cdforndescr}
                    Home
                    Locate IndexOrder by "cdforndescr" Pattern VSDGTXPESQ
  Case oppesq="4" : Moveto [Codigo de Barras]
                    OrderTable {codigo de barras}
                    Home
                    Locate IndexOrder by "codigo de barras" Pattern VSDGTXPESQ
  Case oppesq="5" : Moveto [Localizacao]
                    OrderTable {localdescr}
                    Home
                    Locate IndexOrder by "localdescr" Pattern VSDGTXPESQ
  Case oppesq="6" : Moveto [Descricao da Marca]
                    OrderTable {marcadescr}
                    Home
                    Locate IndexOrder by "marcadescr" Pattern VSDGTXPESQ
  Case oppesq="7" : Moveto [Descricao do Item]
                    {Image} {OrderTable} Enter {Descricao}
                    Moveto [Observacao]
                    Locate Pattern VSDGTXPESQ
  Case oppesq="8" : Moveto [Descricao do Grupo]
                    OrderTable {grupodescr}
                    Home
                    Locate IndexOrder by "grupodescr" Pattern VSDGTXPESQ
  Case oppesq="9" : Moveto [Descricao Complementar]
                    Locate IndexOrder by "descrcompl" Pattern VSDGTXPESQ                      
                  
EndSwitch

wc=0
VR_CUSTO=0
WCSW_NITENS=wc

If RetVal
   Then primeira_tentativa=Recno()
        While True
          If [\Sistemas\Estoque\Itens->Inativo]<>"S" And
             [\Sistemas\Estoque\Itens->Tipo do Item]<>"S"
             Then wc=wc+1
                  If oppesq<>"5"
                     Then Array_Registro[WC] = Completa(SubStr([Descricao do Item],1,30),30," ")+"  "+
                                               [Codigo do Item]+" "+
                                               Completa(SubStr([Codigo Fornecedor],1,20),20," ")+" "
                     Else Array_Registro[WC] = Completa([Localizacao],13," ")+" "+
                                               Completa(SubStr([Descricao do Item],1,30),30," ")+"  "+
                                               [Codigo do Item]+" "
                  EndIf
                  Array_Registro[WC]=Completa(Array_Registro[WC],79," ")+Completa([Codigo da Grade],1," ")
          EndIf
          Skip
          If EOT()
             Then If oppesq="7"
                     Then QuitLoop
                     Else Home
                  EndIf
          EndIf
          Switch
            Case oppesq="1" : Locate IndexOrder by "descricao" Next Pattern VSDGTXPESQ
            Case oppesq="2" : If Search("..",VSDGTXPESQ)=0
                                 Then Locate Next VSDGTXPESQ
                                 Else Locate IndexOrder by "codigo" Next Pattern VSDGTXPESQ
                              EndIf
            Case oppesq="3" : Locate IndexOrder by "cdforndescr" Next Pattern VSDGTXPESQ
            Case oppesq="4" : Locate IndexOrder by "codigo de barras" Next Pattern VSDGTXPESQ
            Case oppesq="5" : Locate IndexOrder by "localdescr" Next Pattern VSDGTXPESQ
            Case oppesq="6" : Locate IndexOrder by "marcadescr" Next Pattern VSDGTXPESQ
            Case oppesq="7" : Locate Next Pattern VSDGTXPESQ
            Case oppesq="8" : Locate IndexOrder by "grupodescr" Next Pattern VSDGTXPESQ
            Case oppesq="9" : Locate IndexOrder by "descrcompl" Next Pattern VSDGTXPESQ

          EndSwitch
          If Not RetVal Then QuitLoop EndIf
          If Recno()=Primeira_tentativa Then QuitLoop Endif
          If wc=1000
             Then MSG = "Sr. USUARIO. // //"
                  MSG = MSG +"MEMORIA INSUFICIENTE. (DOS/EMS)//"
                  MSG = MSG +"Somente parte da Pesquisa ser  mostrado.//"
                  MSG = MSG +"Caso queira continuar com a pesquisa,   //"
                  MSG = MSG +"preencha com mais informa‡”es o campo   //"
                  MSG = MSG +"para diminuir o numero de itens.          "
                  Mensagem(MSG)
                  QuitLoop
          EndIf
        EndWhile
        WCSW_NITENS=wc               
        
        MES=ALINHM(StrVal(Month([RqCabeca->Data de Ocorrencia])),2)
        ANO=ALINHM(StrVal(Year([RqCabeca->Data de Ocorrencia])),4)

        If [RqCabeca->Tipo de Movimento]="S" And
           [RqCabeca->Tipo de Operacao ]="T"
           Then COD_EMPRESA=[RqCabeca->Codigo da Empresa Destino]
           Else COD_EMPRESA=[RqCabeca->Codigo da Empresa]
        EndIf   
        
        For wc from 1 to DynArraySize(Array_Registro)
          If oppesq<>"5"
             Then citep=SubStr(Array_Registro[WC],33,10)
             Else citep=SubStr(Array_Registro[WC],47,10)
          EndIf

          If SubStr(Array_Registro[WC],80,01)<>" "
             Then citep=PegaCodigoRaiz(citep)
          EndIf
        
          Moveto "SdEstq"
          Moveto [Codigo da Empresa]
          Locate COD_EMPRESA,citep,ANO,MES
          If RetVal
             Then VR_CUSTO=[Custo Total Atual]/[Saldo Atual]
                  If VR_CUSTO=0 Or IsBlank(VR_CUSTO)
                     Then VR_CUSTO=[Ultimo Custo Atual]
                     EndIf If [RqCabeca->Tipo de Operacao ]="P" Or
                              [RqCabeca->Tipo de Operacao ]="E" Or
                              [RqCabeca->Tipo de Operacao ]="R"
                              Then VR_CUSTO=[Preco de Custo]
                  EndIf
                  
                  Array_Registro[WC] = SuBStr(Array_Registro[WC],1,64)+Format("W10.2,EIC",VR_CUSTO)+Format("W10.2",VR_CUSTO)     
             Else Array_Registro[WC] = SuBStr(Array_Registro[WC],1,64)+Format("W10.2,EIC",0)       +Format("W10.2",0)     
          EndIf
        EndFor     
EndIf

Vend = VR_CUSTO

If DynArraySize(Array_Registro)=0
   Then Mensagem("Pesquisa sem Registro !")
        Return False
EndIf

Message("")
LimpAguarde()
Return True
EndProc ; (Seleciona)

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Consulta(Disparo,Campo,Evento,Elemento)

Temp=True
TECLA    =""
MSG_CAMPO=""
If INICIO_DIALOG
   Then If Not IsAssigNed(VSDGEMPRESA) Or IsBlank(VSDGEMPRESA) Or (Not OP_INSERT_ITEM)
           Then Campo="TG_EMPRESA"
                Acha_Empresa=False
           Else If Not IsAssigNed(VSDGOPPESQ) Or IsBlank(VSDGOPPESQ)
                   Then Campo="TG_OPPESQ"
                   Else Campo="TG_TXPESQ"
                EndIf
        EndIf
        INICIO_DIALOG=False
EndIf

If Disparo="OPEN"
   Then AoCriarShowDialog()
EndIf

If Disparo="CLOSE"
   Then WCSW_NITENS=0

        ;;Release Vars Array_Registro
        DynArray Array_Registro[]

        st1=""
        st2=""
        st3=""
        st4=""
        st5=""
        st6=""
EndIf

If Disparo="UPDATE" And Campo="TG_Registro"
   Then Temp=True
        If substr(VSDGOPPESQ,1,1)<>"5"
           Then RQ_Item=SubStr(Array_Registro[ControlValue("TG_Registro")],33,10)
           Else RQ_Item=SubStr(Array_Registro[ControlValue("TG_Registro")],47,10)
        EndIf
        Mostra_Estoque()
        Return Temp
EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9 Or
          Evento["KeyCode"] = -15:
          Temp=False
     Case (Evento["KeyCode"] <= -104 And Evento["KeyCode"] >= -113) Or
           Evento["KeyCode"]  = -139 Or  Evento["KeyCode"]  = -140:
           SYS_TECLA_ACIONADA=Evento["KeyCode"]
           Seta_Tecla_Acionada()
           CancelDialog
     Case Evento["KeyCode"] =  -63 And Campo="TG_Registro":
          Temp=False
          Forn   =SubStr(Array_Registro[ControlValue("TG_Registro")],44,20)
          RQ_Item=SubStr(Array_Registro[ControlValue("TG_Registro")],33,10)
          Desc   =SubStr(Array_Registro[ControlValue("TG_Registro")],01,30)
          Observacao2()
     Case Evento["KeyCode"] =  -59:
          Temp=False
          If Campo="TG_OPPESQ"
             Then ShowPopup " Op‡”es " @ 09,27
                   "1-Descric„o         " : "Localizar pela Descric„o do Item             " : "1-Descric„o",
                   "2-C¢digo            " : "Localizar pelo C¢digo do Item                " : "2-C¢digo",
                   "3-C¢d.Fornecedor    " : "Localizar pelo C¢digo do Item do Fornecedor  " : "3-C¢d.Fornecedor",
                   "4-C¢d.Barras        " : "Localizar pelo C¢digo de Barras              " : "4-C¢d.Barras",
                   "5-Localiza‡„o       " : "Localizar pela Localiza‡„o                   " : "5-Localiza‡„o",
                   "6-Marca             " : "Localizar pela Marca                         " : "6-Marca",
                   "7-C¢d.Origem (Obs)  " : "Localizar pelo C¢digo Origem (Observa‡„o)    " : "7-C¢d.Origem",
                   "8-Grupo             " : "Localizar pelo C¢digo Origem (Observa‡„o)    " : "8-Grupo",
                   "9-Descr.Complementar" : "Localizar pela Descri‡„o Complementar do Item" : "9-Descr.Complementar"                   

                  EndMenu
                   To VSDGOPPESQ
                  If Not RetVal
                     Then VSDGOPPESQ=""
                     Else Campo="TG_TXPESQ"
                  EndIf
                  RefreshDialog
          EndIf
          If Campo="TG_EMPRESA"
             Then If Modo="Principal"
                     Then Dialog_F1()
                     Else Dynarray WinArray5[]
                          Window Handle Dialog to JANELA
                          Window GetAttributes JANELA To WinArray5
                          WinArray5["FLOATING"]=False
                          Window SetAttributes JANELA From WinArray5
                          If Campo="TG_EMPRESA"
                             Then
                                  Switch
                                    Case SubStr(Tabela,1,4)="Orca"  : Moveto "OrcaC"
                                    Case SubStr(Tabela,1,6)="Fatura": Moveto "FaturaC"
                                    Case SubStr(Tabela,1,5)="Notae" : Moveto "NotaEC"
                                  EndSwitch
                                  Moveto [Codigo da Empresa]
                          EndIf
                          ConsultaF1()

                          Window Select JANELA
                          WinArray5["FLOATING"]=True
                          Window SetAttributes JANELA From WinArray5

                          echo Normal
                          echo off

                          If Campo="TG_EMPRESA"
                             Then VSDGEMPRESA  = [Codigo da Empresa ]
                          EndIf
                          Moveto Tabela
                  EndIf
          EndIf
     Case (Evento["KeyCode"] = -82 Or Evento["KeyCode"] = 13) And
          Campo="TG_Registro" And Modo<>"Principal" And OP_INSERT_ITEM:
          If substr(VSDGOPPESQ,1,1)<>"5"
             Then SW_Item_Pesquisado=SubStr(Array_Registro[ControlValue("TG_Registro")],33,10)
             Else SW_Item_Pesquisado=SubStr(Array_Registro[ControlValue("TG_Registro")],47,10)
           EndIf
          AcceptDialog
     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            ;* Ficha de Estoque
            Case Campo="I_Flag"        : CancelDialog

            ;* Filtro
            Case Campo="TG_EMPRESA"    : CancelDialog
            Case Campo="TG_OPPESQ"     : 
                 If OP_INSERT_ITEM
                    Then CancelDialog
                    Else Campo="TG_EMPRESA"
                 EndIf
            Case Campo="TG_TXPESQ"     : Campo="TG_OPPESQ"
            Case Campo="TG_Registro"   : Campo="TG_TXPESQ"
                 WCSW_NITENS=0

                 ;;Release Vars Array_Registro
                 DynArray Array_Registro[]

                 st1=""
                 st2=""
                 st3=""
                 st4=""
                 st5=""
                 st6=""

          EndSwitch
     Case Evento["KeyCode"] =  13:
          Temp=False
          If Modo="Principal"
            Then If Campo="TG_TXPESQ"
                    Then VSDGTXPESQ=Ltrim(Rtrim(ControlValue("TG_TXPESQ")))
                         If Not IsBlank(VSDGTXPESQ)
                            Then If SubStr(VSDGOPPESQ,1,1)="2" And Len(VSDGTXPESQ)<10
                                    Then If Search("..",VSDGTXPESQ)=0
                                            Then VSDGTXPESQ=AlinhM(VSDGTXPESQ,10)
                                         EndIf
                                 EndIf
                                 RefreshDialog
                                 If Seleciona()
                                    Then RefreshDialog
                                         Campo="TG_Registro"

                                         If substr(VSDGOPPESQ,1,1)<>"5"
                                            Then RQ_Item=SubStr(Array_Registro[ControlValue("TG_Registro")],33,10)
                                            Else RQ_Item=SubStr(Array_Registro[ControlValue("TG_Registro")],47,10)
                                         EndIf

                                        ;If substr(VSDGOPPESQ,1,1)<>"5"
                                        ;   Then RQ_Item=SubStr(Array_Registro[1],40,10)
                                        ;   Else RQ_Item=SubStr(Array_Registro[1],54,10)
                                        ;EndIf
                                         Mostra_Estoque()
                                 EndIf
                         EndIf
                    Else
                      If Checa_TAG()
                         Then Switch
                                ;*Filtro
                                Case Campo="TG_EMPRESA":
                                     If Not IsBlank(VSDGEMPRESA)
                                        Then Campo="TG_OPPESQ"
                                     EndIf        
                                Case Campo="TG_OPPESQ" :
                                     VSDGOPPESQ=LTrim(RTrim(ControlValue("TG_OPPESQ")))
                                     If Not IsBlank(VSDGOPPESQ)
                                        Then Campo="TG_TXPESQ"
                                     EndIf
                             EndSwitch
                      EndIf
                 EndIf
            Else Switch
                   ;*Filtro
                   Case Campo="TG_EMPRESA":
                        VSDGEMPRESA=Ltrim(Rtrim(ControlValue("TG_EMPRESA")))
                        If Not IsBlank(VSDGEMPRESA)
                           Then VSDGEMPRESA=AlinhM(VSDGEMPRESA,4)

                                Switch
                                  Case SubStr(Tabela,1,4)="Orca"  : Moveto "OrcaC"
                                  Case SubStr(Tabela,1,6)="Fatura": Moveto "FaturaC"
                                  Case SubStr(Tabela,1,5)="Notae" : Moveto "NotaEC"
                                EndSwitch

                                Moveto [Codigo da Empresa]
                                Ativa_Lookup()
                                Moveto [Codigo da Empresa]
                                Locate VSDGEMPRESA
                                If Not RetVal
                                   Then Mensagem("Empresa Invalida !")
                                   Else Campo="TG_OPPESQ"
                                EndIf
                                KeyPress "ESC"
                        EndIf                        
                   Case Campo="TG_OPPESQ" :
                        VSDGOPPESQ=ControlValue("TG_OPPESQ")
                        If Not IsBlank(VSDGOPPESQ)
                           Then Campo="TG_TXPESQ"
                        EndIf
                   Case Campo="TG_TXPESQ":
                        VSDGTXPESQ=Ltrim(Rtrim(ControlValue("TG_TXPESQ")))
                        If Not IsBlank(VSDGTXPESQ)
                           Then If SubStr(VSDGOPPESQ,1,1)="2" And Len(VSDGTXPESQ)<10
                                   Then If Search("..",VSDGTXPESQ)=0
                                            Then VSDGTXPESQ=AlinhM(VSDGTXPESQ,10)
                                        EndIf
                                EndIf
                                RefreshDialog
                                If Seleciona()
                                   Then RefreshDialog
                                        Campo="TG_Registro"

                                        If substr(VSDGOPPESQ,1,1)<>"5"
                                           Then RQ_Item=SubStr(Array_Registro[ControlValue("TG_Registro")],33,10)
                                           Else RQ_Item=SubStr(Array_Registro[ControlValue("TG_Registro")],47,10)
                                        EndIf

                                       ; If substr(VSDGOPPESQ,1,1)<>"5"
                                       ;    Then RQ_Item=SubStr(Array_Registro[1],40,10)
                                       ;    Else RQ_Item=SubStr(Array_Registro[1],54,10)
                                       ; EndIf

                                        Mostra_Estoque()
                                EndIf
                        EndIf
                 EndSwitch
                 Moveto Tabela
          EndIf
   EndSwitch
EndIf

Switch
  Case Campo="TG_EMPRESA":
       MSG_CAMPO="Informe o Codigo da Empresa"
  Case Campo="TG_OPPESQ":
       MSG_CAMPO="Informe a op‡„o de pesquisa"
       TECLA="F1=Consulta  "
  Case Campo="TG_TXPESQ":
       MSG_CAMPO="Informe o valor a pesquisar (..)"
       If substr(VSDGOPPESQ,1,1)="5"                                                    
          Then tit="Localiza‡„o   Descri‡„o do Item               Item               Vr Compra"
          Else tit="Descri‡„o do Item               Item       Fornecedor            Vr Compra"
       EndIf
  Case Campo="TG_Registro":
       If Not OP_INSERT_ITEM
          Then TECLA="// Esc=Retornar  =Selecionar  F5=Obs"
          Else TECLA="// Esc=Retornar  =Selecionar  Ins/Enter=Incluir  F5=Obs"
       EndIf
EndSwitch
SelectControl Campo
RefreshDialog
Monta_Prompt(MSG_CAMPO,TECLA)
ResyncControl Campo
Return Temp
EndProc  ; (Sd_Dialog)

;*******************************************************************************
;* Rotina Observacao                                                           *
;*******************************************************************************
Proc Observacao2()
Private JANELA, WinArray6

Dynarray WinArray6[]
Window Handle Dialog to JANELA
Window GetAttributes JANELA To WinArray6
WinArray6["FLOATING"]=False
Window SetAttributes JANELA From WinArray6

Prompt " Esc=Cancelar"
Moveto "Itens"
Moveto [Codigo do Item]
Locate RQ_Item
If RetVal
   Then Ver_Memo("Observacao",06,00,15,80,"| "+Forn+" | "+RQ_Item+" | "+RTrim(Desc)+" |")
   Else Mensagem("Item n„o localizado !")
EndIf

Window Select JANELA
WinArray6["FLOATING"]=True
Window SetAttributes JANELA From WinArray6

echo Normal
echo off

EndProc  ; (Observacao)

;*******************************************************************************
;* Rotina para Digitacao Item                                                  *
;*******************************************************************************
Proc Mostra_Estoque()
Private Indice,mes,ano,LinhaCab1,LinhaCab2,LinhaCab3,wc,
        Forn, Desc, Local, Saldo, UltCt, UltDt, Compl, Barra, Marca,Grupo,UltSai

Indice=ControlValue("TG_Registro")
ano=AlinhM(StrVal(Year(Today())),04)
mes=AlinhM(StrVal(Month(Today())),02)

Moveto "Itens"
Moveto [Codigo do Item]
Locate RQ_Item
If RetVal
   Then Forn =[Codigo Fornecedor]
        Desc =[Descricao do Item]
        Local=[Localizacao]
        Compl=[Descricao Complementar]
        Barra=[Codigo de Barras]
        Marca=[Descricao da Marca]
        Grupo=[Descricao do Grupo]
   Else Forn ="?"
        Desc ="?"
        Local="?"
        Compl="?"
        Barra="?"
        Marca="?"
        Grupo="?"
EndIf

Moveto "SdEstq"
Moveto [Codigo da Empresa]
Locate VSDGEMPRESA,RQ_Item,ano,mes
If RetVal
   Then Saldo=[Saldo Atual           ]
        UltCt=[Preco de Custo        ]
        UltDt=[Data do Preco de Custo]
   Else Saldo=BlankNum()
        UltCt=BlankNum()
        UltDt=BlankDate()
EndIf

Moveto "EstqPrm"
Locate VSDGEMPRESA,RQ_Item
If RetVal
   Then UltSai=[Data da Ultima Saida]
   Else UltSai=BlankDate()
EndIf

st1=Completa(SubStr(Desc,1,30),30," ")+"  "+
    RQ_Item+" "+Completa(SubStr(Forn,1,20),20," ")+" "+
    Format("W10.2,EIC",Vend)
                          
st2=SubStr(Compl,01,73)
st3=SubStr(Compl,74,70)

st4=Completa("CBarras "+SubStr(Barra,1,20),29," ")+
    Completa("Local "+Local,17," ")+
    Completa("Marca "+Marca,26," ")

st5="Saldo atual "+Completa(LTrim(Format("W15.3,EIC",Saldo)),16," ")+
    " Ultima Entrada "+Format("D10",UltDt)

If Param_ExibeCusto<>"N" And UltCt>0
   Then st5=st5+" ao ct "+LTrim(Format("W15.5,EIC",UltCt))
EndIf

st6=Completa("Grupo "+Grupo,28," ")+ " Ultima Saida   "+Format("D10",UltSai)

EndProc    ; (Mostra_Estoque)

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
If Modo="Principal"
   Then AutoLib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show"
Endif

If Not IsAssigned(Param_ExibeCusto)    Then Param_ExibeCusto="S"  EndIf
If Not IsAssigned(SYS_CHAPA_USUARIO)   Then SYS_CHAPA_USUARIO="9999" EndIf
If Not IsAssigned(SYS_NIVEL_USUARIO)   Then SYS_NIVEL_USUARIO="S"    EndIf
If Not IsAssigned(SYS_NOME_USUARIO)    Then SYS_NOME_USUARIO=""      EndIf
If Not IsAssigned(SYS_CODIGO_CLIENTE)  Then SYS_CODIGO_CLIENTE=""    EndIf
If Not IsAssigned(SYS_CLIENTE_CONFEC)  Then SYS_CLIENTE_CONFEC=""    EndIf

DynArray Array_Registro[]
INICIO_DIALOG=True
WCSW_NITENS=0

Open_Tabelas=True
Acha_Empresa=False
If SysMode()="Main"
   Then Modo="Principal"
   Else Modo="Edicao"
        Tabela=Table()

        If Not IsAssigned(SW_VSDGOPPESQ) Then SW_VSDGOPPESQ="" EndIf
        If Not IsAssigned(SW_VSDGTXPESQ) Then SW_VSDGTXPESQ="" EndIf

        VSDGOPPESQ=SW_VSDGOPPESQ
        VSDGTXPESQ=SW_VSDGTXPESQ

;;;;;        Do_It!
EndIf
If not IsAssigned(OP_INSERT_ITEM)
   Then OP_INSERT_ITEM=False
EndIf

If OP_INSERT_ITEM
   Then Acha_Empresa=True
EndIf

st1=""
st2=""
st3=""
st4=""
st5=""
st6=""
tit=""

AUX="1-Descric„o,2-C¢digo,3-C¢d.Fornecedor,4-C¢d.Barras,5-Localiza‡„o,6-Marca,7-C¢d.Origem,8-Grupo,9-Descr.Complemen"

Sw_Dialog="Inicial"
Sw_Item_Pesquisado=""
ShowDialog "Consulta de Itens" Proc "SD_Consulta"
 Trigger "OPEN","ARRIVE","UPDATE","CLOSE"
 Mouse "DOWN"
  Key "F1","ENTER","ESC","ClearArea","INS","F5","TAB","ReverseTab","F3",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140,
      -71,-80,-79,-72,-132,-118

 @ 00,00   Height 22 Width 80

  Label  @ 00,00 "Empresa"  For "TG_EMPRESA"
  Accept @ 01,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_EMPRESA" To VSDGEMPRESA

  Label  @ 00,08 "Op‡„o pesquisa"  For "TG_OPPESQ"
  Accept @ 01,09 Width 20 "A17"  Picture AUX Tag "TG_OPPESQ" To VSDGOPPESQ

  Label  @ 00,29 "Valor a pesquisar" For "TG_TXPESQ"
  Accept @ 01,30 Width 38 "A35"  Picture "!*!" Tag "TG_TXPESQ" To VSDGTXPESQ

  @ 02,02 ?? tit
  PickDynArray @3,01 Height 10 width 76
   Columns 1
    Array_Registro
     Tag "TG_Registro"
      To ArrayElement

   Frame Single From 13,00 to 13,77

   @ 14,02 ?? st1
   @ 15,02 ?? st2
   @ 16,02 ?? st3
   @ 17,02 ?? st4
   @ 18,02 ?? st5
   @ 19,02 ?? st6

   PaintCanvas Attribute 111 14, 01, 19, 76

   PaintCanvas Attribute  96 17, 02, 17, 08
   PaintCanvas Attribute  96 17, 31, 17, 35
   PaintCanvas Attribute  96 17, 48, 17, 52

   PaintCanvas Attribute  96 18, 02, 18, 12
   PaintCanvas Attribute  96 18, 30, 18, 44

   PaintCanvas Attribute 106 18, 13, 18, 29

   PaintCanvas Attribute  96 19, 02, 19, 06
   PaintCanvas Attribute  96 19, 30, 19, 43

   Accept @ 20,71 Width 7 "S" Tag "TG_NITENS" To WCSW_NITENS
EndDialog

If Not RetVal
   Then CONSULTA_F5=False
   Else CONSULTA_F5=True
EndIf 
                
If Modo="Principal"
   Then ClearAll
;;;;;  Else CoEditKey
EndIf
Message("")

If Modo="Principal"
   Then Release Vars Param_ExibeCusto
EndIf

Release Vars Array_Registro,Modo,
             RQ_Item,Desc,Forn,Acha_Empresa,
             WinArray5,Janela,Msg_Campo,Tecla, Open_Tabelas,
             CondPg, PrItem, sw_tabant
Release Procs Seleciona,SD_Consulta,Mostra_Estoque,Monta_Prompt,
              Monta_CondPg, Seleciona_CondPg, CondPg_Dialog
