;** Sw_Cons2 *******************************************************************
;*  Programa p/ Consulta de Cotacao/Estoque/Preco                              *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 23/05/2005 por Jose Luis Ameno da Silva
;Ultima Alteracao: 10/01/2006 Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Release DynArray
;Ultima Alteracao: 09/03/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Round() Calculo Fator de Conversao
;Ultima Alteracao: 23/05/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Controle Mouse
;Ultima Alteracao: 19/12/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes MVA/CFOP 
;Ultima Alteracao: 16/06/2010 por Cleber Alves
;Motivo Alteracao: Ajustes erro ao abrir e fechar tabelas   
;Ultima Alteracao: 13/07/2010 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Layout e Selea‡Æo de registros               
;Ultima Alteracao: 15/10/2010 por Bruno Carvalho
;Motivo Alteracao: Ajustes Edita_Memo
;Ultima Alteracao: 17/10/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes CodFonecedor
;Ultima Alteracao: 12/11/2011 por Bruno Carvalho
;Motivo Alteracao: Ajustes ordem de visualiza‡Æo conforme sele‡Æo
;Ultima Alteracao: 30/11/2011 por Bruno Carvalho
;Motivo Alteracao: Altera‡Æo Edita_Memo()  ->  Ver_Memo()  
;Ultima Alteracao: 10/08/2012 por Bruno Carvalho
;Motivo Alteracao: Altera‡Æo de localiza‡Æo de dados "FornProd" -> "Cotacao"  
;Ultima Alteracao: 14/02/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustado rotina onde os dados sÆo exibidos e add visualiza‡Æo "Codigo de Barras"
;Ultima Alteracao: 18/02/2013 por Bruno Carvalho
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 12/07/2013 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes salvar .ini
;Ultima Alteracao: 03/12/2013 por Bruno Carvalho
;Motivo Alteracao: Add PARAM_TODAS_COMPRAS onde ser  possivel conferir todas as compras em aberto
;Ultima Alteracao: 09/12/2013 por Bruno Carvalho
;Motivo Alteracao: Verifica se empresa existe
;Ultima Alteracao: 30/12/2013 por Andrey Fillipe
;Motivo Alteracao: Ajustes PARAM_TODAS_COMPRAS onde ser  possivel conferir todas as compras em aberto
;Ultima Alteracao: 08/01/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes ao escolher o registro e exibir informa‡Æo incorreta "Sequencia do Lancamento"
;Ultima Alteracao: 15/01/2014 por Kamila Gomes
;Motivo Alteracao: Ajustes Sys_Empresa_Default
;Ultima Alteracao: 20/01/2014 por Bruno Carvalho
;Motivo Alteracao: Ajustes Detalhe()
;Ultima Alteracao: 25/02/2014 por Kamila Gomes
;Motivo Alteracao: Adicionado Sys_Codigo_Cliente p/ PARAM_TODAS_COMPRAS para 0294
;Ultima Alteracao: 17/04/2014 por Andrey Fillipe
;Motivo Alteracao: Ajustes (Codigo Item Fornecedor) para pegar (CodFornecedor) do cadastro do item 
;Ultima Alteracao: 09/07/2014 por Bruno/Andrey
;Motivo Alteracao: Ajustes [Sequencia do Lancamento] "Posi‡Æo 111, alterado para 110"
;Ultima Alteracao: 27/04/2015 por Kamila Gomes
;Motivo Alteracao: Ajustes ver data de entrada ao inves da data de emissao.
;Ultima Alteracao: 01/03/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajuste Janela sem sombra
;Ultima Alteracao: 07/07/2016 por Bruno Carvalho 
;Motivo Alteracao: Ajustado soma de saldo para quando tiver EMPRESA_ALMOXARIFADO p/ #0294# e Unidade X:
;Ultima Alteracao: 18/07/2016 por Bruno Carvalho 
;Motivo Alteracao: Adicionado verifica‡Æo de estoque de almoxarifado -> Verifica_Almoxarifado()
;Ultima Alteracao: 28/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes showdialog TG_DESTINAT
;Ultima Alteracao: 24/05/2017 por Bruno Carvalho
;Motivo Alteracao: Adicionado processo p/ buscar c¢digo de barra na "Iten_Bar" -> Codigo_Barras2()
;Ultima Alteracao: 14/09/2017 por Bruno Carvalho
;Motivo Alteracao: Ver_Memo() substitu¡do por Ler_Memo() -> Observacao()
;Ultima Alteracao: 24/12/2019 por Bruno Carvalho
;Motivo Alteracao: Adicionado Bib_Proc

;*******************************************************************************
;* Rotina para Digitacao Item                                                  *
;*******************************************************************************
Proc Detalhe(Item,DescrItem,Forn,NomForn)
Private Item, DescrItem,Forn,NomForn,Achou
Echo Normal
Echo Off

VSD_I_Codigo           =Forn
VSD_I_Razao_Social     =NomForn
Moveto "\\Sistemas\\Cadastro\\Destinat"
Moveto [Codigo]
Locate Forn
If Retval
  Then VSD_I_Contato =[Contato  ]
       VSD_I_Telefone=[Telefone ]
  Else VSD_I_Contato =""
       VSD_I_Telefone=""
EndIf
VSD_I_Codigo_Item      =Item      
VSD_I_Descricao_Item   =DescrItem

Achou=False
Moveto "Answer"    
     
Moveto [Numero do Lancamento]
If NLancto <> ""
   Then Locate NLancto
        If RetVal 
           Then If PARAM_TODAS_COMPRAS
                   Then While NLancto=[Numero do Lancamento]
                          If [Sequencia do Lancamento]=SeqItem
                             Then Achou=True
                                  QuitLoop
                          EndIf
                          Skip
                          If Eot() Then QuitLoop EndIf
                          Locate Next NLancto
                          If Not RetVal
                             Then QuitLoop 
                          EndIf                            
                        EndWhile
                   Else While NLancto=[Numero do Lancamento]
                          If [Codigo do Item]=Item
                             Then Achou=True
                                  QuitLoop
                          EndIf
                          Skip
                          If Eot() Then QuitLoop EndIf
                          Locate Next NLancto
                          If Not RetVal
                             Then QuitLoop 
                          EndIf                             
                        EndWhile
                EndIf
        EndIf
   Else Moveto [Numero do Documento]
        Locate NDoc
        If RetVal
           Then While NDoc=[Numero do Documento]
                  ;*** Como nÆo tenho campo chave, preciso fazer uma sele‡Æo 
                  ;    melhor evitando duplicidade ***
                  If CodC=[Codigo] And DtCompra=[Data de Compra]
                     Then Achou=True
                          QuitLoop
                  EndIf    
                  Skip
                  If Eot() Then QuitLoop EndIf
                  Locate Next NDoc
                  If Not RetVal
                     Then QuitLoop 
                  EndIf     
                EndWhile
        EndIf
EndIf                      

If Achou
   Then   
     GetRecord "\\Sistemas\\Estoque\\Itens" Item To CODFOR
     If RetVal 
        Then VSD_I_Codigo_Fornecedor = CODFOR["Codigo Fornecedor"]
        Else VSD_I_Codigo_Fornecedor = ""
     EndIf   
     VSD_I_TICMS                  =[Tributacao de ICMS        ]       
     VSD_I_RBC_ICMS               =[Aliquota Reduzida BCICMS  ]       
     VSD_I_AICMS                  =[Aliquota de ICMS          ]       
     VSD_I_TIPI                   =[Tributacao de IPI         ]       
     VSD_I_AIPI                   =[Aliquota de IPI           ]       
     VSD_I_UN_Item_Entrada        =[Unidade Entrada           ]
     VSD_I_Fator_Conversao        =[Fator de Conversao        ]      
     VSD_I_MVA                    =[MVA                       ]
     VSD_I_CFOP                   =[CFO                       ] 
     VSD_I_TpDocto                =[Tipo do Documento         ]
     VSD_I_NoDocto                =[Numero do Documento       ]
     VSD_I_Data                   =[Data de Compra            ]
     VSD_I_Quantidade             =[Quantidade                ]       
     VSD_I_Preco_Unitario         =[Valor Unitario            ]
     VSD_I_Custo_Unitario         =[Custo Medio Unitario      ]
     VSD_I_UN_Item                =[Unidade Interna           ]
     VSD_I_VrUnit_Ult_Cot         =[Vr_Unit_Ult_Cotacao       ]
     VSD_I_Data_Ult_Cot           =[Data_Ult_Cotacao          ]
     VSD_I_Codigo_Barras          =[Codigo de Barras          ]             
  Else
     VSD_I_TICMS                  =""      
     VSD_I_RBC_ICMS               =BlankNum()   
     VSD_I_AICMS                  =BlankNum()    
     VSD_I_TIPI                   =""
     VSD_I_AIPI                   =BlankNum()   
     VSD_I_UN_Item_Entrada        =""
     VSD_I_Fator_Conversao        =BlankNum()   
     VSD_I_MVA                    =BlankNum()
     VSD_I_CFOP                   =""   
     VSD_I_TpDocto                =""
     VSD_I_NoDocto                =""
     VSD_I_Data                   =BlankDate()
     VSD_I_Quantidade             =BlankNum()
     VSD_I_Preco_Unitario         =BlankNum()
     VSD_I_Custo_Unitario         =BlankNum()
     VSD_I_UN_Item                =""
     VSD_I_VrUnit_Ult_Cot         =BlankNum()
     VSD_I_Data_Ult_Cot           =BlankDate()
     VSD_I_Codigo_Barras          =""       
EndIf 

moveto "\\Sistemas\\Vendas\\TbprIte"
Moveto [Codigo da Tabela]
Locate VSDGTABELA,Item
If RetVal
   Then VSD_I_PrVenda=[Preco Unitario]
   Else VSD_I_PrVenda=BlankNum()
EndIf
      
Moveto "\\Sistemas\\Estoque\\SdEstq"
Moveto [Codigo da Empresa]
Locate VSDGEMPRESA,Item,ano,mes
If RetVal
   Then VSD_I_SALDO=[Saldo Atual           ]
   Else Mensagem("Item Selecionado sem Ficha de Estoque p/ "+mes+"/"+ano+"!")
        VSD_I_SALDO=BlankNum()
EndIf
                      
Verifica_Almoxarifado(VSDGEMPRESA,Today())
If EMPRESA_ALMOXARIFADO <> "" And VSDGEMPRESA="0001"
   Then Moveto [Codigo da Empresa]
        Locate EMPRESA_ALMOXARIFADO,Item,ano,mes
        If RetVal
           Then VSD_I_SALDO=VSD_I_SALDO+[Saldo Atual]
        EndIf
EndIf

VSD_I_FLAG   =""

INICIO_DIALOG=True
Showdialog "Dados" Proc "Item_Dialog"
   Trigger "OPEN","ARRIVE"
    Key "F1","TAB","ReverseTab","ENTER","ESC","F4","ClearArea","HOME","END","PGDN","PGUP"
    @ 03,1 height 20 width 76
   Frame Single From 00,00 to 09,73
   @ 00,01 ?? " Fornecedor "

   Accept @ 01,02 Width 07 "A04" picture "!*!" Tag "I_Codigo" to VSD_I_Codigo
   Accept @ 01,07 Width 34 "A32" picture "!*!" Tag "I_Razao_Social" to VSD_I_Razao_Social
   Accept @ 01,42 Width 13 "A11" picture "!*!" Tag "I_Contato" to VSDG_I_Contato
   Accept @ 01,56 Width 16 "A14" picture "!*!" Tag "I_Telefone" to VSDG_I_Telefone

   Label  @ 02,01 "C¢digo Item" For "I_Codigo_Item"
   Accept @ 03,02 Width 13 "A25" picture "!*!" Tag "I_Codigo_Item" to VSD_I_Codigo_Item
   Label  @ 02,15 "Descri‡„o Item" For "I_Descricao_Item"
   Accept @ 03,16 Width 33 "A30" picture "!*!" Tag "I_Descricao_Item" to VSD_I_Descricao_Item
   Label  @ 02,49 "UN" For "I_UN_Item_Entrada"
   Accept @ 03,50 Width 05 "A2" picture "!*!" Tag "I_UN_Item_Entrada" to VSD_I_UN_Item_Entrada
   Label  @ 02,55 "Ft Convers„o" For "I_Fator_Conversao"
   Accept @ 03,56 Width 12 "N" picture "#*#.[#####]" Tag "I_Fator_Conversao" to VSD_I_Fator_Conversao
      
   Label  @ 04,01 "C¢digo Item Fornecedor" For "I_Codigo_Fornecedor"
   Accept @ 05,02 Width 22 "A20" picture "!*!" Tag "I_Codigo_Fornecedor" to VSD_I_Codigo_Fornecedor
   Label  @ 04,24 "C¢digo de Barras" For "I_Codigo_Barras"
   Accept @ 05,25 Width 24 "A22" picture "!*!" Tag "I_Codigo_Barras" to VSD_I_Codigo_Barras
   
   @ 06,02 ?? "Impostos T    %Red.BC    %"
   Label  @ 07,01 "ICMS..." For "I_TICMS"
   Accept @ 07,10 Width 4 "A1" picture "N,D,I,O,S" Tag "I_TICMS" to VSD_I_TICMS
   Accept @ 07,15 Width 10 "N" picture "#*#.[####]" Tag "I_RBC_ICMS" to VSD_I_RBC_ICMS
   Accept @ 07,26 Width 08 "N" picture "#*#.[##]" Tag "I_AICMS" to VSD_I_AICMS

   Label  @ 08,01 "IPI...." For "I_TIPI"
   Accept @ 08,10 Width 4 "A1" picture "N,D,I,O" Tag "I_TIPI" to VSD_I_TIPI
   Accept @ 08,26 Width 08 "N" picture "#*#.[##]" Tag "I_AIPI" to VSD_I_AIPI
   
   Label  @ 06,34 "CFOP" For "I_CFOP"
   Accept @ 07,35 Width 07 "A4" picture "####" Tag "I_CFOP" to VSD_I_CFOP
   Label  @ 06,42 "%MVA" For "I_MVA"
   Accept @ 07,43 Width 08 "N" picture "#*#.[###]" Tag "I_MVA" to VSD_I_MVA
   
   Frame Single From 09,00 to 14,73
   @ 09,01 ?? " éltima Entrada "

   Label  @ 10,01 "TpDocto" For "I_TpDocto"
   Accept @ 11,02 Width 07 "A4" picture "!*!" Tag "I_TpDocto" to VSD_I_TpDocto
   Label  @ 10,09 "N§ Documento" For "I_NoDocto"
   Accept @ 11,10 Width 13 "A10" picture "!*!" Tag "I_NoDocto" to VSD_I_NoDocto
   Label  @ 10,23 "Data" For "I_Data"
   Accept @ 11,24 Width 13 "D" picture "#[#];.##;.##[##]" Tag "I_Data" to VSD_I_Data

   Label  @ 12,01 "Quantidade" For "I_Quantidade"
   Accept @ 13,02 Width 15 "N" picture "#*#.[###]" Tag "I_Quantidade" to VSD_I_Quantidade
   Label  @ 12,18 "UN" For "I_UN_Item"
   Accept @ 13,18 Width 05 "A2" picture "!*!" Tag "I_UN_Item" to VSD_I_UN_Item
   Label  @ 12,23 "Pr.Unit rio" For "I_Preco_Unitario"
   Accept @ 13,24 Width 13 "N" picture "#*#.[#####]" Tag "I_Preco_Unitario" to VSD_I_Preco_Unitario
   Label  @ 12,38 "Custo Calculado" For "I_Custo_Unitario"
   Accept @ 13,39 Width 12 "N" picture "#*#.[#####]" Tag "I_Custo_Unitario" to VSD_I_Custo_Unitario
   @ 13,51 ?? "/"
   Accept @ 13,52 Width 05 "A2" picture "!*!" Tag "I_UN_Item_Interna" to VSD_I_UN_Item_Interna

   Frame Single From 14,00 to 17,73
   @ 14,01 ?? " éltima Cota‡„o "

   Label  @ 15,04 "Pr.Unit rio" For "I_VrUnit_Ult_Cot"
   Accept @ 16,05 Width 12 "N" picture "#*#.[#####]" Tag "I_VrUnit_Ult_Cot" to VSD_I_VrUnit_Ult_Cot
   Label  @ 15,17 "Data" For "I_Data_Ult_Cot"
   Accept @ 16,18 Width 13 "D" picture "#[#];.##;.##[##]" Tag "I_Data_Ult_Cot" to VSD_I_Data_Ult_Cot

   Frame Single From 14,37 to 17,73
   @ 14,38 ?? " Outros "

   Label  @ 15,38 "Pr.Venda" For "I_PrVenda"
   Accept @ 16,39 Width 12 "N" picture "#*#.[#####]" Tag "I_PrVenda" to VSD_I_PrVenda
   Label  @ 15,51 "Saldo" For "I_Saldo"
   Accept @ 16,52 Width 12 "N" picture "#*#.[#####]" Tag "I_Saldo" to VSD_I_Saldo

   Accept @ 16,65 Width 1 "A1" picture "!" Tag "I_Flag" to VSD_I_Flag

EndDialog
Mouse Show

EndProc  ;  (Detalhe)

;*******************************************************************************
;* Rotina de Digitacao Dados do Item                                           *
;*******************************************************************************
Proc Item_Dialog(Disparo,Campo,Evento,Elemento)
Private JANELA, WinArray5,CoresSD_Consulta

TECLA=" Esc=Retornar  "
MSG_CAMPO=""
Temp=True

If INICIO_DIALOG
   Then Campo="I_Flag"
        INICIO_DIALOG=False
EndIf

If Disparo="OPEN"
   Then AoCriarShowDialog()
        Window handle Dialog To Janela_SD_Consulta
        If IsAssigned(CoresSD_Consulta)
           Then Release Vars CoresSD_Consulta
        EndIf
        Dynarray CoresSD_Consulta[]
        CoresSD_Consulta[01]=96
        CoresSD_Consulta[05]=96
        CoresSD_Consulta[06]=96
        Window SetColors Janela_SD_Consulta From CoresSD_Consulta
        
EndIf

If Disparo="EVENT" And DynArraySize(Evento)>0 And Evento["Type"]="KEY" Then
   Switch
       Case Evento["KeyCode"] = 9 Or
            Evento["KeyCode"] = -15:
            Temp=False
       Case Evento["KeyCode"] = 27:
            Switch
             Case Campo="I_Flag"           :
                  CancelDialog
           EndSwitch
           Temp=False
      Case Evento["KeyCode"] = 13:
           Temp=False
   EndSwitch
EndIf

SelectControl Campo
Switch
  OtherWise:
       MSGCAMPO=""
EndSwitch

@ 24,0 ?? TECLA+Spaces(80-Len(TECLA))
PaintCanvas Attribute 31 24,0,24,79
Message(MSGCAMPO)
RefreshDialog
Return TEMP
EndProc  ; (Item_Dialog)

;*******************************************************************************
;* Rotina para Selecionar Registros                                            *
;*******************************************************************************
Proc Seleciona()
Private wc,pesq,msg,descri
Aguarde("Aguarde, Selecionando Itens")
Message("Procurando...")

If IsAssigned(Array_Registro)  Then Release Vars Array_Registro EndIf
DynArray Array_Registro[]

wc=0
WCSW_NITENS=wc

Empty Tabela2
For i From 1 To 2
  If PARAM_TODAS_COMPRAS
     Then i=2
     Else If i=2 Then QuitLoop EndIf
  EndIf   
  Switch
      Case i = 1 :
          {Ask} {Cotacao} Check
          If Not IsBlank(VSDGDESTINAT)
             Then Moveto [Codigo           ] TypeIn "~VSDGDESTINAT"
                  Moveto [Codigo do Item   ] Example "Item" TypeIn "!"
             Else Moveto [Codigo do Item   ] Example "Item" TypeIn ",~VSDGITEM"
          EndIf        
          {Ask} {Itens}
          Moveto [Codigo do Item   ] Example "Item"
          Moveto [Descricao do Item] Check   
          Moveto [Codigo de Barras ] Check
          Do_It!
          Moveto "Itens"   ClearImage
          Moveto "Cotacao" ClearImage
          Moveto "Answer"  ClearImage
      Case i = 2 :
          {Ask} {NotaEc} 
          Moveto [Numero do Lancamento    ] Check Example "NLan"
          If Not IsBlank(VSDGDESTINAT) 
             Then Moveto [Codigo          ] Check TypeIn "~VSDGDESTINAT"
             Else Moveto [Codigo          ] Check
          EndIf   
          Moveto [Razao Social            ] Check
          Moveto [Data de Entrada         ] Check TypeIn "as Data de Compra" 
          Moveto [Numero do Documento     ] Check
          Moveto [Tipo do Documento       ] Check
          {Ask} {NotaEi} 
          Moveto [Numero do Lancamento    ] Example "NLan"
          Moveto [Sequencia do Lancamento ] Check
          If Not IsBlank(VSDGDESTINAT)
             Then Moveto [Codigo do Item   ] Check Example "Item" TypeIn "!"  
             Else Moveto [Codigo do Item   ] Check Example "Item" TypeIn ",~VSDGITEM"
          EndIf   
          Moveto [Quantidade              ] Check
          Moveto [Unidade Entrada         ] Check       
          Moveto [Preco Unitario          ] Check TypeIn "as Valor Unitario"
          Moveto [Custo Medio Unitario    ] Check
          Moveto [Unidade Interna         ] Check
          Moveto [MVA                     ] Check
          Moveto [ICMS UF_ORIGEM          ] Check
          Moveto [Tributacao de IPI       ] Check
          Moveto [Aliquota Reduzida BCIPI ] Check
          Moveto [Aliquota de IPI         ] Check
          Moveto [Tributacao de ICMS      ] Check
          Moveto [Aliquota Reduzida BCICMS] Check
          Moveto [Aliquota de ICMS        ] Check
          Moveto [Fator de Conversao      ] Check
          Moveto [CFO                     ] Check
          Moveto [Tipo Tributacao         ] Check
          Moveto [IPI_CST                 ] Check
          {Ask} {Itens}
          Moveto [Codigo do Item          ] Example "Item"
          Moveto [Descricao do Item       ] Check
          Moveto [Codigo de Barras        ] Check
          Do_It!
          Moveto "Itens"   ClearImage
          Moveto "Notaec"  ClearImage
          Moveto "Notaei"  ClearImage
          Moveto "Answer"  ClearImage   
  EndSwitch
  {Ask} {Answer}
  Moveto [Codigo do Item          ] Example "CodI" 
  Moveto [Descricao do Item       ] Example "DesI"
  If i=2
     Then Moveto [Sequencia do Lancamento ] Example "SeqL"
  EndIf   
  Moveto [Codigo                  ] Example "Cod" 
  Moveto [Razao Social            ] Example "RasS" 
  Moveto [Data de Compra          ] Example "DtC"
  Moveto [Numero do Documento     ] Example "NDoc"
  Moveto [Tipo do Documento       ] Example "TipD"
  Moveto [Quantidade              ] Example "Qtd"
  Moveto [Unidade Entrada         ] Example "UnEn"
  Moveto [Valor Unitario          ] Example "VrUn"
  Moveto [Custo Medio Unitario    ] Example "CM"
  Moveto [Unidade Interna         ] Example "UnIn"
  If i=1
     Then Moveto [Vr_Unit_Ult_Cotacao] Example "VrCt"
          Moveto [Data_Ult_Cotacao   ] Example "DtCt"
  EndIf        
  Moveto [Numero do Lancamento    ] Example "NumL"
  Moveto [MVA                     ] Example "Mva"
  Moveto [ICMS UF_ORIGEM          ] Example "UFOr" 
  Moveto [Tributacao de IPI       ] Example "TIPI"
  Moveto [Aliquota Reduzida BCIPI ] Example "ARedI"
  Moveto [Aliquota de IPI         ] Example "AIPI"
  Moveto [Tributacao de ICMS      ] Example "TICMS"
  Moveto [Aliquota Reduzida BCICMS] Example "ARedS"
  Moveto [Aliquota de ICMS        ] Example "AICMS"
  Moveto [Fator de Conversao      ] Example "FatC"
  Moveto [CFO                     ] Example "Cfo"
  Moveto [Tipo Tributacao         ] Example "TpTb"
  Moveto [IPI_CST                 ] Example "CstI"
  Moveto [Codigo de Barras        ] Example "CodB"
  {Ask} TypeIn Tabela2 Enter TypeIn "Fast Insert" Enter
  Moveto [Codigo do Item          ] Example "CodI"
  Moveto [Descricao do Item       ] Example "DesI"
  If i=2
     Then Moveto [Sequencia do Lancamento ] Example "SeqL"
  EndIf
  Moveto [Codigo                  ] Example "Cod" 
  Moveto [Razao Social            ] Example "RasS" 
  Moveto [Data de Compra          ] Example "DtC"
  Moveto [Numero do Documento     ] Example "NDoc"
  Moveto [Tipo do Documento       ] Example "TipD"
  Moveto [Quantidade              ] Example "Qtd"
  Moveto [Unidade Entrada         ] Example "UnEn"
  Moveto [Valor Unitario          ] Example "VrUn"
  Moveto [Custo Medio Unitario    ] Example "CM"
  Moveto [Unidade Interna         ] Example "UnIn"
  If i=1
     Then Moveto [Vr_Unit_Ult_Cotacao] Example "VrCt"
          Moveto [Data_Ult_Cotacao   ] Example "DtCt"
  EndIf        
  Moveto [Numero do Lancamento    ] Example "NumL"
  Moveto [MVA                     ] Example "Mva"
  Moveto [ICMS UF_ORIGEM          ] Example "UFOr" 
  Moveto [Tributacao de IPI       ] Example "TIPI"
  Moveto [Aliquota Reduzida BCIPI ] Example "ARedI"
  Moveto [Aliquota de IPI         ] Example "AIPI"
  Moveto [Tributacao de ICMS      ] Example "TICMS"
  Moveto [Aliquota Reduzida BCICMS] Example "ARedS"
  Moveto [Aliquota de ICMS        ] Example "AICMS"
  Moveto [Fator de Conversao      ] Example "FatC"
  Moveto [CFO                     ] Example "Cfo"
  Moveto [Tipo Tributacao         ] Example "TpTb"
  Moveto [IPI_CST                 ] Example "CstI"
  Moveto [Codigo de Barras        ] Example "CodB"
  Do_It!
  Moveto Tabela2  ClearImage
EndFor
{Ask} TypeIn Tabela2 Enter Check 
Do_It! 
Moveto "Answer" ClearImage
Moveto Tabela2  ClearImage

If Not IsBlank(VSDGDESTINAT)
   Then Sort "Answer" On "Descricao do Item", "Codigo do Item"
   Else Sort "Answer" On "Data de Compra" D, "Razao Social"
EndIf

Moveto "Answer"
Scan
  Switch
    Case Not IsBlank(VSDGDESTINAT) : 
         wc=wc+1
         Array_Registro[WC] = AlinhM(STRVAL(wc),3)+" "                 
         Array_Registro[WC] = Array_Registro[WC]+Completa(Substr([Codigo do Item],1,10),10," ")+" "+
                              Completa(Substr([Descricao do Item],1,35),35," ")+" "
         Array_Registro[WC] = Array_Registro[WC]+Format("D13",[Data de Compra])+" "
         Array_Registro[WC] = Array_Registro[WC]+Format("W12.3,EIC",[Valor Unitario])
         Array_Registro[WC] = Array_Registro[WC]+Format("W12.3,EIC",[Quantidade])+" "
         Array_Registro[WC] = Array_Registro[WC]+Completa([Unidade Entrada],3," ")+Completa([Codigo],4," ")+
                              Completa([Numero do Documento],10," ")+Completa([Numero do Lancamento],6," ")
         
         If PARAM_TODAS_COMPRAS
            Then Array_Registro[WC] = Array_Registro[WC] + Format("W5",[Sequencia do Lancamento])
         EndIf              
      
         If wc=999 
            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

    OtherWise : 
      wc=wc+1
      Array_Registro[WC] = AlinhM(STRVAL(wc),3)+" "  
      Array_Registro[WC] = Array_Registro[WC]+Completa(SubStr([Codigo],1,4),04," ")+" "+
                           Completa(SubStr([Razao Social],1,40),41," ")+" "
      Array_Registro[WC] = Array_Registro[WC]+Format("D13",[Data de Compra])+" "
      Array_Registro[WC] = Array_Registro[WC]+Format("W12.3,EIC",[Valor Unitario])
      Array_Registro[WC] = Array_Registro[WC]+Format("W12.3,EIC",[Quantidade])+" "
      Array_Registro[WC] = Array_Registro[WC]+Completa([Unidade Entrada],3," ")+
                           Completa([Numero do Documento],10," ")+Completa([Numero do Lancamento],6," ")
                           
      If PARAM_TODAS_COMPRAS
         Then Array_Registro[WC] = Array_Registro[WC] + Format("W5",[Sequencia do Lancamento])
      EndIf              
                           
      If wc=999
         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
   EndSwitch   
EndScan

;Moveto "Answer"
;ClearImage

WCSW_NITENS=wc

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)
Private Elemento_SDCF,Temp,CoresSD_Consulta

Temp=True
TECLA    =""
MSG_CAMPO=""

If INICIO_DIALOG
   Then Switch
          Case Sw_Dialog="Inicial":
               If Not IsAssigNed(VSDGEMPRESA) Or IsBlank(VSDGEMPRESA) Or (Not OP_INSERT_ITEM)
                  Then Campo="TG_EMPRESA"
                       Acha_Empresa=False
                  Else If Not IsAssigNed(VSDGTABELA) Or IsBlank(VSDGTABELA)
                          Then Campo="TG_TABELA"
                          Else Campo="TG_DESTINAT"
                       EndIf
               EndIf
          OtherWise               : Campo="TG_REGISTRO"
        EndSwitch
        INICIO_DIALOG=False
EndIf

If Disparo="OPEN"
   Then AoCriarShowDialog()
        TiraSombraShowDialog()
EndIf

If Disparo="CLOSE"
   Then Temp=False

        If Not IsBlank(VSDGEMPRESA) And
           Not IsBlank(VSDGTABELA) 
           Then
                LINHAINI =            GravaExpressao("[Variaveis sw_cons - principal]","T","")
                LINHAINI = LINHAINI + GravaExpressao("VSDGEMPRESA","S",VSDGEMPRESA)        
                LINHAINI = LINHAINI + GravaExpressao("VSDGTABELA" ,"S",VSDGTABELA)        
                
                FileWrite PrivDir()+"sw_cone2.ini" From LINHAINI
                Release Vars LINHAINI           
        EndIf

        CancelDialog
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"] = ASC("F5") And Campo="TG_Registro": 
          If Not IsBlank(VSDGDESTINAT)
             Then Item     =SubStr(Array_Registro[ControlValue("TG_Registro")],05,10)
                  DescrItem=SubStr(Array_Registro[ControlValue("TG_Registro")],16,30)                                       
                  Forn     =VSDGDESTINAT
                  NomForn  =VSDGDESCRICAO
                  CodC     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],91,4))
                  NDoc     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],95,10))
                  NLancto  =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],105,6))
                  SeqItem  =NumVal(Ltrim(Rtrim(SubStr(Array_Registro[ControlValue("TG_Registro")],110,5))))
                  DtCompra =Ltrim(RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],52,10)))
                  
                  If DtCompra<>""
                     Then If Len(DtCompra)=9
                             Then DtCompra = "0" + DtCompra
                          EndIf    
                          DtCompra = DateVal(SubStr(DtCompra,1,2)+"."+SubStr(DtCompra,4,2)+"."+SubStr(DtCompra,7,4))
                     Else DtCompra = BlankDate()
                  EndIf 
                  Observacao()
          Endif
     Case Evento["KeyCode"] =  -59:
          Temp=False
          If Campo="TG_EMPRESA" Or
             Campo="TG_TABELA"  Or
             Campo="TG_DESTINAT" Or
             Campo="TG_ITEM"
             Then If Dialog_F1() And Campo="TG_ITEM"
                     Then TPITEM="Cod.do Item"
                          RefreshDialog
                  EndIf
          EndIf

     Case Evento["KeyCode"] = -61 and Campo="TG_ITEM":
          Temp=True
          If TPITEM="Cod.do Item"
             Then TPITEM="Cod.de Barras"
             Else TPITEM="Cod.do Item"
          EndIf
          RefreshDialog

     Case Evento["KeyCode"] =  27:
          Temp=False
          Switch
            ;* Filtro
            Case Campo="TG_EMPRESA"    : CancelDialog
            Case Campo="TG_TABELA"     :
                 If OP_INSERT_ITEM
                    Then CancelDialog
                    Else Campo="TG_EMPRESA"
                 EndIf
            Case Campo="TG_DESTINAT" :
                 Campo="TG_TABELA"
                 VSDGDESTINAT=""
            Case Campo="TG_ITEM"       :
                 Campo="TG_DESTINAT"
                 VSDGITEM=""
            Case Campo="TG_DESCRICAO"  :
                 Campo="TG_ITEM"
                 VSDGDESCRICAO=""
                 WCSW_NITENS=0
                 COT_NITENS=0
            Case Campo="TG_Registro"   :
                 Switch
                    Case Not IsBlank(VSDGDESTINAT): Campo="TG_DESTINAT"
                    Case Not IsBlank(VSDGITEM)    : Campo="TG_ITEM"
                 EndSwitch

                 If IsAssigned(Array_Registro)  Then Release Vars Array_Registro EndIf
                 DynArray Array_Registro[]

          EndSwitch

     Case Evento["KeyCode"] =  13:
          Temp=False
          If Campo="TG_ITEM" And TPITEM="Cod.de Barras"
             Then VSDGITEM=ControlValue("TG_ITEM")
                  If Not IsBlank(VSDGITEM)
                     Then RefreshDialog
                          Achou_Item=False
                          VSDGDESCRICAO=""
                          RefreshDialog
                          Moveto "\\Sistemas\\Estoque\\Itens"
                          Moveto [Codigo de Barras]
                          Locate IndexOrder by "Codigo de Barras" VSDGITEM
                          If RetVal
                             Then Achou_Item=True
                                  VSDGITEM  =[Codigo do Item]
                             Else If Codigo_Barras2(VSDGITEM,"")
                                     Then VSDGITEM = CODIGO_BARRA2
                                          Moveto [Codigo do Item]
                                          Locate VSDGITEM
                                          If RetVal Then Achou_Item = True EndIf
                                  EndIf                              
                          EnDIf
                          If Achou_Item
                             Then Moveto "\\Sistemas\\Estoque\\Itens"
                                  VSDGDESCRICAO=[Descricao do Item]
                                  RefreshDialog
                                  
                                  If Seleciona()
                                     Then Campo="TG_Registro"
                                     Else Campo="TG_ITEM"
                                  EndIf   
                             Else Mensagem("Item nÆo localizado !")     
                          Endif
                  EndIf
             Else If Checa_TAG()
                     Then Switch
                             Case Campo="TG_EMPRESA":
                                  If Not IsBlank(VSDGEMPRESA)
                                     Then GetRecord "\\Sistemas\\Cadastro\\Destinat" VSDGEMPRESA To VREMP
                                          If RetVal
                                             Then Campo="TG_TABELA"
                                             Else Mensagem("Empresa n„o cadastrada !") 
                                          EndIf   
                                  EndIf
                             Case Campo="TG_TABELA":
                                  If Not IsBlank(VSDGTABELA)
                                     Then Campo="TG_DESTINAT"
                                  EndIf
                             Case Campo="TG_DESTINAT" :
                                  If Not IsBlank(VSDGDESTINAT)
                                     Then LinhaCab="      Cd Item    Descri‡„o do Item                    Dt Entrada   Vr Compra"
                                          tit_tg_Descricao="RazÆo Social"
                                          RefreshDialog
                                          VSDGITEM =""
                                          VSDGDESCRICAO=VSDGNOMDEST
                                          If Seleciona()
                                             Then Campo="TG_Registro"
                                             Else Campo="TG_DESTINAT"
                                          EndIf
                                     Else LinhaCab="      Fornecedor                                      Dt Entrada   Vr Compra"
                                          tit_tg_Descricao="Descri‡Æo do Item"
                                          Campo="TG_ITEM"
                                  EndIf
                             Case Campo="TG_ITEM":
                                  If Not IsBlank(VSDGITEM)
                                     Then RefreshDialog
                                          VSDGDESCRICAO=VSDGNOMITEM
                                          RefreshDialog
                                          
                                          If Seleciona()
                                             Then Campo="TG_Registro"
                                             Else Campo="TG_ITEM"
                                          EndIf
                                  Endif
                             Case Campo="TG_Registro":
                                  If Not IsBlank(VSDGDESTINAT)
                                     Then Item     =SubStr(Array_Registro[ControlValue("TG_Registro")],05,10)
                                          DescrItem=SubStr(Array_Registro[ControlValue("TG_Registro")],16,30)                                       
                                          Forn     =VSDGDESTINAT
                                          NomForn  =VSDGDESCRICAO
                                          CodC     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],91,4))
                                          NDoc     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],95,10))
                                          NLancto  =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],105,6))
                                          SeqItem  =NumVal(Ltrim(Rtrim(SubStr(Array_Registro[ControlValue("TG_Registro")],110,5))))
                                          DtCompra =Ltrim(RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],52,10)))
                                          If DtCompra<>""
                                             Then If Len(DtCompra)=9
                                                     Then DtCompra = "0" + DtCompra
                                                  EndIf    
                                                  DtCompra = DateVal(SubStr(DtCompra,1,2)+"."+SubStr(DtCompra,4,2)+"."+SubStr(DtCompra,7,4))
                                             Else DtCompra = BlankDate()
                                          EndIf
                                     Else Forn     =SubStr(Array_Registro[ControlValue("TG_Registro")],05,04)
                                          NomForn  =SubStr(Array_Registro[ControlValue("TG_Registro")],10,40)
                                          Item     =VSDGITEM
                                          DescrItem=VSDGDESCRICAO
                                          CodC     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],05,4))
                                          NDoc     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],91,10))
                                          NLancto  =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],101,6))
                                          SeqItem  =NumVal(Ltrim(Rtrim(SubStr(Array_Registro[ControlValue("TG_Registro")],110,5))))
                                          DtCompra =Ltrim(RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],52,10)))
                                          If DtCompra<>""
                                             Then If Len(DtCompra)=9
                                                     Then DtCompra = "0" + DtCompra
                                                  EndIf    
                                                  DtCompra = DateVal(SubStr(DtCompra,1,2)+"."+SubStr(DtCompra,4,2)+"."+SubStr(DtCompra,7,4))
                                             Else DtCompra = BlankDate()
                                          EndIf
                                  EndIf
                                  Pos    = NumVal(ControlValue("TG_Registro"))
                                  Detalhe(Item,DescrItem,Forn,NomForn)
                          EndSwitch
        
                  EndIf

          EndIf   

   EndSwitch
EndIf

If Disparo="SELECT" And Campo="TG_Registro"
   Then Temp=False
        If Not IsBlank(VSDGDESTINAT)
           Then Item     =SubStr(Array_Registro[ControlValue("TG_Registro")],05,10)
                DescrItem=SubStr(Array_Registro[ControlValue("TG_Registro")],16,30)                                       
                Forn     =VSDGDESTINAT
                NomForn  =VSDGDESCRICAO
                CodC     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],91,4))
                NDoc     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],95,10))
                NLancto  =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],105,6))
                SeqItem  =NumVal(Ltrim(Rtrim(SubStr(Array_Registro[ControlValue("TG_Registro")],110,5))))
                DtCompra =Ltrim(RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],52,10)))
                If DtCompra<>""
                   Then If Len(DtCompra)=9
                           Then DtCompra = "0" + DtCompra
                        EndIf    
                        DtCompra = DateVal(SubStr(DtCompra,1,2)+"."+SubStr(DtCompra,4,2)+"."+SubStr(DtCompra,7,4))
                   Else DtCompra = BlankDate()
                EndIf
           Else Forn     =SubStr(Array_Registro[ControlValue("TG_Registro")],05,04)
                NomForn  =SubStr(Array_Registro[ControlValue("TG_Registro")],10,40)
                Item     =VSDGITEM
                DescrItem=VSDGDESCRICAO
                CodC     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],05,4))
                NDoc     =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],91,10))
                NLancto  =RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],101,6))
                SeqItem  =NumVal(Ltrim(Rtrim(SubStr(Array_Registro[ControlValue("TG_Registro")],110,5))))
                DtCompra =Ltrim(RTrim(SubStr(Array_Registro[ControlValue("TG_Registro")],52,10)))
                If DtCompra<>""
                   Then If Len(DtCompra)=9
                           Then DtCompra = "0" + DtCompra
                        EndIf    
                        DtCompra = DateVal(SubStr(DtCompra,1,2)+"."+SubStr(DtCompra,4,2)+"."+SubStr(DtCompra,7,4))
                   Else DtCompra = BlankDate()
                EndIf
        EndIf
        Pos = NumVal(ControlValue("TG_Registro"))
        Detalhe(Item,DescrItem,Forn,NomForn)
EndIf

Switch
  Case Campo="TG_EMPRESA":
       MSG_CAMPO="Informe o Codigo da Empresa"
  Case Campo="TG_TABELA":
       MSG_CAMPO="Informe a Tabela de Pre‡o"
  Case Campo="TG_DESTINAT":
       MSG_CAMPO="Informe o Codigo do Fornecedor"
  Case Campo="TG_ITEM":
       TECLA= TECLA+" F3=Mudar Pesquisa"
       If TPITEM="Cod.do Item"
          Then MSG_CAMPO="Informe o Codigo do Item"
          Else MSG_CAMPO="informe o Codigo de Barras do Item"
       EndIf
  Case Campo="TG_Registro":
       If Not IsBlank(VSDGDESTINAT)
          Then TECLA="// Esc=Retornar  Enter=Detalhes  =Selecionar  F5=Obs"
          Else TECLA="// Esc=Retornar  Enter=Detalhes  =Selecionar"
       Endif
  OtherWise:
       MSG_CAMPO=""
EndSwitch
SelectControl Campo
RefreshDialog
Monta_Prompt(MSG_CAMPO,TECLA)
ResyncControl Campo
Return Temp

EndProc  ; (Sd_Dialog)

;*******************************************************************************
;* Rotina Observacao                                                           *
;*******************************************************************************
Proc Observacao()
Private AUX_MSG,REG_ITEM

GetRecord "\\Sistemas\\Estoque\\Itens" Item To REG_ITEM
If RetVal
   Then Desc    = REG_ITEM["Descricao do Item"]
        AUX_MSG = REG_ITEM["Observacao"]
        If AUX_MSG<>""
           Then Ler_Memo("| "+Forn+" | "+Item+" | "+RTrim(Desc)+" |",06,02,15,80,AUX_MSG)
        EndIf
   Else Mensagem("Item n„o localizado !")
EndIf
Release Vars AUX_MSG,REG_ITEM

EndProc  ; (Observacao)

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bibliot,\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bib_Proc,\\Sistemas\\Vendas\\Bib_Bal"

If Not IsAssigned(SYS_CODIGO_CLIENTE)  Then SYS_CODIGO_CLIENTE=""  EndIf
If Not IsAssigned(SYS_EMPRESA_DEFAULT) Then SYS_EMPRESA_DEFAULT="" EndIf

TPITEM="Cod.do Item"
ROTINA=""
                                                  
Tabela2=Cria_Temp(PrivDir())
Copy "\\Base\\Sistemas\\Estoque\\Rm_1005" Tabela2

DynArray Array_Registro[]
INICIO_DIALOG=True
WCSW_NITENS=0

Acha_Empresa=False
If not IsAssigned(OP_INSERT_ITEM)
   Then OP_INSERT_ITEM=False
EndIf

PARAM_TODAS_COMPRAS  = True       ;**** Informa todas as compras realizadas ****         
If SYS_CODIGO_CLIENTE="0294"  Or
   SYS_CODIGO_CLIENTE="0054"
   Then PARAM_TODAS_COMPRAS=False ;**** Informa a ultima compra conforme "Cotacao" ****
EndIf

VSDGITEM     =""
LinhaCab     =""
VSDGTABELA   =""
VSDGDESTINAT =""
VSDGEMPRESA  =""
VSDGDESCRICAO=""
ano=AlinhM(StrVal(Year(Today())),04)
mes=AlinhM(StrVal(Month(Today())),02)

LeiaINI(PrivDir()+"sw_cone2.ini","VSDGEMPRESA.S.null,VSDGTABELA.S.null")       

If IsBlank(VSDGEMPRESA) Then VSDGEMPRESA=SYS_EMPRESA_DEFAULT EndIf

View NoWindow "\\Sistemas\\Cadastro\\Destinat"
View NoWindow "\\Sistemas\\Vendas\\Tbprite"  
View NoWindow "\\Sistemas\\Estoque\\SdEstq" 
View NoWindow "\\Sistemas\\Estoque\\Itens"

If OP_INSERT_ITEM
   Then Acha_Empresa=True
EndIf

tit_tg_descricao=""

Sw_Dialog="Inicial"
ShowDialog "Consulta Cota‡„o/Estoque/Pr.Venda" Proc "SD_Consulta"
Trigger "OPEN","ARRIVE","CLOSE","SELECT"
Mouse "DOWN"
Key "F1","ENTER","ESC","ClearArea","F5","TAB","ReverseTab","F3",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  

 @ 01,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 "Tabela"  For "TG_TABELA"
  Accept @ 01,09 Width 08 "A5"  Picture "!*!" Tag "TG_TABELA" To VSDGTABELA

  Label  @ 00,17 "Pessoa" For "TG_DESTINAT"
  Accept @ 01,18 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_DESTINAT" To VSDGDESTINAT

  Label  @ 00,28 "Item" For "TG_ITEM"
  Accept @ 01,29 Width 16 "A25"  Picture "#*#" Tag "TG_ITEM" To VSDGITEM

  @ 00,46 ?? Tit_tg_descricao
  Accept @ 01,46 Width 31 "A30" Picture "!*!" Tag "TG_DESCRICAO" To VSDGDESCRICAO

  @ 02,00 ?? LinhaCab
  PickDynArray @ 03,01 Height 17 width 76
   Columns 1
    Array_Registro
     Tag "TG_Registro"
      To ArrayElement

 Accept @ 20,01 Width 9 "S" Tag "TG_NITENS" To WCSW_NITENS
  
EndDialog
ClearAll
echo off
Mouse Show

Message("")
Release Vars Array_Registro,
             Item,Desc,Forn,Acha_Empresa,
             WinArray5,Janela,Msg_Campo,Tecla,
             LinhaCab
Release Procs Seleciona,SD_Consulta,Monta_Prompt
