;** Rm_0730 ********************************************************************
;* Relacao de Notas Fiscais - com Produto                                      *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 05/12/1995 por Anivel Augusto Rodrigues
;Ultima Alteracao: 21/03/2005 por Nikolas M. Mateus
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 27/03/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Marca
;Ultima Alteracao: 25/05/2007 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes Trabalhar com Mes Fechado
;Ultima Alteracao: 25/05/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes 
;Ultima Alteracao: 19/05/2015 por Andrey Fillipe
;Motivo Alteracao: Ajustes Seleciona() e verificacao se Not IsTable("Answer") Or IsEmpty("Answer")
;Ultima Alteracao: 09/08/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes SOIMPRIMIR=True
;Ultima Alteracao: 27/10/2016 por Rafael Matos
;Motivo Alteracao: Ajustes Layout para padroniza‡Æo
;Ultima Alteracao: 10/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog        
;Ultima Alteracao: 28/12/2016 por Rafael Matos
;Motivo Alteracao: Ajustes ShowDialog TG_DESTINAT    
;Ultima Alteracao: 27/09/2017 por Kamila Gomes
;Motivo Alteracao: Adicionado SYS_APLICATIVO *Verifica envio de email no dispositivo
;Ultima Alteracao: 16/05/2018 por Bruno Carvalho
;Motivo Alteracao: Ajustes GetRecord "P_Fatura"       
;Ultima Alteracao: 17/05/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes SYS_APLICATIVO nÆo enviar email padrÆo

;*******************************************************************************
;* Seleciona Registros                                                         *
;*******************************************************************************
Proc SELECIONA()
ClearAll

If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC") 
   Then {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter Check
        Moveto [Codigo da Empresa      ] TypeIn "~VSDGEMPRESA.."
        If VSDGSELDOCTO="SIM"
           Then Moveto [Numero do Documento    ] TypeIn "~VSDGNDOCTO"
                Moveto [Serie do Documento     ] TypeIn "~VSDGSDOCTO"
           Else Moveto [Data de Emissao        ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
        EndIf
        Moveto [Codigo                 ] TypeIn "~VSDGDESTINAT.."
        Moveto [Codigo do Representante] TypeIn "~VSDGREPRESEN.."
        Moveto [Situacao               ] TypeIn "Not C"
        Do_It!
        ClearAll
EndIf                      

EndProc

;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""            
TECLA=""                                
If Disparo="OPEN"  Then AoCriarShowDialog() EndIf
If Disparo="EVENT" And Evento["Type"]="KEY" Then
   Switch
     Case Evento["KeyCode"] = 9: Temp=False
     Case Evento["KeyCode"] = -59: Dialog_F1()              
     Case Evento["KeyCode"] =  27:
          Temp=False        
          Switch                                   
            Case Campo="TG_EMPRESA"       : Campo="NO"
            Case Campo="TG_SN_DOCTO"      : Campo="TG_EMPRESA"
            Case Campo="TG_SDOCTO"        : Campo="TG_SN_DOCTO"
            Case Campo="TG_NDOCTO"        : Campo="TG_SDOCTO"
            Case Campo="TG_DESTINAT"      : Campo="TG_SN_DOCTO"
            Case Campo="TG_REPRESEN"      : Campo="TG_DESTINAT"
            Case Campo="TG_DTINI"         : Campo="TG_REPRESEN"
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            Case Campo="YES" Or Campo="NO": Campo="TG_EMPRESA"
          EndSwitch
     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"] = 13:
          Temp=False
          If Checa_TAG()
             Then Switch
                    Case Campo="TG_EMPRESA" :
                         If IsBlank(VSDGEMPRESA)
                            Then Mensagem("Empresa nÆo selecionada !")
                                 VSDGEMPRESA   =""
                            Else Campo="TG_SN_DOCTO"
                         EndIf
                    Case Campo="TG_SN_DOCTO":
                         VSDGSELDOCTO=ControlValue("TG_SN_DOCTO")
                         If VSDGSELDOCTO="SIM"
                            Then Campo="TG_SDOCTO"
                            Else VSDGSELDOCTO="NAO" 
                                 VSDGSDOCTO=""
                                 VSDGNDOCTO=""
                                 Campo="TG_DESTINAT"
                         EndIf
                    Case Campo="TG_SDOCTO"  : 
                         VSDGSDOCTO=ControlValue("TG_SDOCTO")
                         If IsBlanK(VSDGSDOCTO)
                            Then Campo="TG_SDOCTO" 
                            Else Campo="TG_NDOCTO"
                         EndIf
                    Case Campo="TG_NDOCTO"  : 
                         VSDGNDOCTO=ControlValue("TG_NDOCTO")
                         If IsBlanK(VSDGNDOCTO)
                            Then Campo="TG_NDOCTO" 
                            Else VSDGNDOCTO=AlinhM(VSDGNDOCTO,6)
                                 Campo="TG_DTINI"
                         EndIf
                    Case Campo="TG_DESTINAT": Campo="TG_REPRESEN"
                    Case Campo="TG_REPRESEN": Campo="TG_DTINI"
                    Case Campo="TG_DTINI"   : Campo="TG_DTFIM"
                    Case Campo="TG_DTFIM"   : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo="TG_DTFIM":
     MSG_CAMPO="Informe a Data Final"
  Case Campo="TG_SN_DOCTO":
     MSG_CAMPO="Selecionar Documento"
  Case Campo="TG_SDOCTO":
     MSG_CAMPO="Informe a S‚rie do Documento"
  Case Campo="TG_NDOCTO":
     MSG_CAMPO="Informe o N£mero do Documento"
Endswitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
LimpAguarde()
VSDGEMPRESA    = ""
VSDGDESTINAT   = ""
VSDGREPRESEN   = ""
VSDGDTINI      = BlankDate()
VSDGDTFIM      = BlankDate()

SYS_APLICATIVO = ""

While True

  ShowDialog "EmissÆo Romaneio 2a Via" Proc "SD_Dialog"
  Trigger "OPEN","ARRIVE"
  Key "F1","ENTER","ESC","TAB",
      -104, -105, -106, -107, -108, -109, -110, -111, -112, -113, -139, -140  
   @ 05,12   Height 15 Width 72

    Label  @ 00,00 "Empresa"  For "TG_EMPRESA"
    Accept @ 01,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_EMPRESA"    To VSDGEMPRESA
    Accept @ 01,09 Width 25 "A20" Picture "!*!" Tag "TG_NOMEMPRESA" To VSDGNOMEMP

    Label  @ 02,00 "Documento" For "TG_SN_DOCTO"
    Accept @ 03,01 Width 7 "A3"  Picture "SIM,NAO" Tag "TG_SN_DOCTO" To VSDGSELDOCTO

    Label  @ 03,08 "S‚rie" For "TG_SDOCTO"
    Accept @ 03,09 Width 7 "A4"  Picture "!*!" Tag "TG_SDOCTO" To VSDGSDOCTO

    Label  @ 03,16 "N£mero" For "TG_NDOCTO"
    Accept @ 03,17 Width 9 "A6"  Picture "######" Tag "TG_NDOCTO" To VSDGNDOCTO

    Label  @ 04,00 "Pessoa"  For "TG_DESTINAT"
    Accept @ 05,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_DESTINAT" To VSDGDESTINAT
    Accept @ 05,09 Width 25 "A20" Picture "!*!" Tag "TG_NOMDEST"  To VSDGNOMDEST

    Label  @ 06,00 "Representante"  For "TG_REPRESEN"
    Accept @ 07,01 Width 07 "A4"  Picture "[&,#][#*#]" Tag "TG_REPRESEN"    To VSDGREPRESEN
    Accept @ 07,09 Width 25 "A30" Picture "!*!" Tag "TG_NOMREPR"     To VSDGNOMREPR

    Label  @ 08,00 "Per¡odo Referente de" For "TG_DTINI"
    Accept @ 09,03 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTINI" To VSDGDTINI
    Label  @ 09,16 "at‚" For "TG_DTFIM"
    Accept @ 09,21 Width 13 "D"  Picture "#[#];.##;.##[##]" Tag "TG_DTFIM" To VSDGDTFIM

    Pushbutton @ 11,22 width 11 "~O~k"      OK     Default Value "Ok" Tag "YES" To BottonValue
    Pushbutton @ 11,36 width 11 "~C~ancela" CANCEL                    Tag "NO"  To BottonValue

  EndDialog
  If Not RetVal Then QuitLoop EndIf
  If Not Usuario_Vendedor() Then Loop EndIf  

  If IsBlank(VSDGDTFIM)
     Then Mensagem("Data final inv lida !")
          Loop
  EndIf

  DISPOSITIVOI("RO2")
  If OK="" Then Loop EndIf
  N_Copias=NUMCOPIA

  AGUARDE("Aguarde, gerando o relat¢rio")

  GetRecord "\\Sistemas\\Vendas\\P_Fatura" VSDGEMPRESA To REG_PFATURA
  If RetVal 
     Then VSDG_ROM2=REG_PFATURA["Script_Impressao_Rom2"]
     Else VSDG_ROM2=""
  EndIf
  If Isblank(VSDG_ROM2) 
     Then VSDG_ROM2="Ro2v0013"
  EndIf
  SOIMPRIMIR=True
  ClearImage
  
  wc=0
  Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
  While Novo_Dir_Trab()
    SetDir "\\Sistemas\\Vendas\\"+Dir_Trab

    Seleciona()
    
    If Not IsTable("Answer") Or IsEmpty("Answer")
       Then Loop
    EndIf
    wc=wc+1
        
    View "NotaI"
    View "NotaV"
    CoEdit "Answer"
    Scan
      NOTAFISC=[Numero do Documento]
      Play "\\Sistemas\\Vendas\\"+VSDG_ROM2

      Moveto "Answer"
    EndScan
    Do_It!
    ClearAll
  
    Delete "Answer"

  EndWhile
  SetDir "\\Sistemas\\Vendas\\"

  If wc=0
     Then MSG=    "N„o existem registros a processar !// //"
          MSG=MSG+"* Se documento se encontra no mˆs fechado,//"
          MSG=MSG+"  informe o per¡odo referente.            //"
          Mensagem(MSG)
  EndIf

EndWhile
ClearAll
Release Vars All
Release Procs All
