;** Rm_0380 *******************************************************************
;* Emissao de Pedidos                                                          *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 05/12/1995 por Anivel Augusto Rodrigues
;Ultima Alteracao: 21/11/2006 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes
;Ultima Alteracao: 16/05/2011 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TG_SITUACAOPEDIDO
;Alterado em     : 09/12/2011 por Karina Andrade  
;Motivo Alteracao: Ajustes impressao PD_0003I - SYS_CODIGO_CLIENTE="0003"
;Ultima Alteracao: 09/12/2011 por Karina Andrade  
;Motivo Alteracao: InclusÆo "TG_DESTINAT" 
;Ultima Alteracao: 08/05/2013 por Bruno Carvalho  
;Motivo Alteracao: Ajustes para buscar Mˆs Fechado
;Ultima Alteracao: 10/05/2013 por Bruno Carvalho  
;Motivo Alteracao: Ajustes #0003#
;Ultima Alteracao: 24/11/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TG_SITUACAOPEDIDO  
;Ultima Alteracao: 13/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/01/2017 por Anivel Augusto Rodrigues 
;Motivo Alteracao: Ajustes TG_REFERENCIA
;Ultima Alteracao: 24/03/2017 por Bruno Carvalho 
;Motivo Alteracao: Ao passar com a data inicial em branco, o c¢digo estava incorreto 
;Ultima Alteracao: 27/07/2017 por Anivel Augusto Rodrigues 
;Motivo Alteracao: Ajustes op‡Æo de datas
;Ultima Alteracao: 31/07/2017 por Anivel Augusto Rodrigues 
;Motivo Alteracao: InclusÆo de diversos modelos
;Ultima Alteracao: 16/11/2017 por Anivel Augusto Rodrigues 
;Motivo Alteracao: InclusÆo localizacao seleciona31()
;Ultima Alteracao: 29/05/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Adicionado ValidarModelosRelatorios()
;Ultima Alteracao: 14/06/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes debug
;Ultima Alteracao: 13/03/2019 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes modelo 05 com grade
;Ultima Alteracao: 09/04/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog   

;*******************************************************************************
;* Rotina p/ Selecionar rela‡Æo de Pedidos                                     *
;*******************************************************************************
Proc Rela‡aoPedidos()
clearall

{Ask} {\\Sistemas\\Estoque\\RPedidos}
Moveto [Numero do Pedido       ] Check
do_It!
clearall

TabelaRPedidos=Adiciona_Indice_Temp("Numero do Pedido")
endproc

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc Seleciona()
ClearAll

If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoI")                      
   Then 
        If VSDGOPDTPEEIR="4"
           then 
                {Ask} typeIn TabelaRPedidos Enter
                Moveto [Numero do Pedido        ] Example "Pedido"
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC" Enter
                Moveto [Numero do Pedido        ] Example "Pedido"
           else
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC" Enter
                Moveto [Numero do Pedido        ] Example "Pedido"

                if not isblank(VSDGPEDIDO)
                   then 
                        Moveto [Numero do Pedido] TypeIn ", ~VSDGPEDIDO.."
                   else 
                        Moveto [Numero do Pedido] TypeIn ", >=~VSDGNPEDIDOI, <=~VSDGNPEDIDOF"
                        Moveto [Codigo da Empresa       ] TypeIn "~VSDGEMPRESA.."
                
                        if VSDGOPDTPEEIR="1" Then Moveto [Data de Entrega ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM" endif
                        If VSDGOPDTPEEIR="2" Then Moveto [Data de Emissao ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM" endif
                        if VSDGOPDTPEEIR="3" Then Moveto [Data_Inclusao   ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM" endif
                
                        Moveto [Situacao do Pedido    ]
                        switch
                          case VSDGSITUACAOPEDIDO="JUNTAR ABERTO+SUSPENSO"     : TypeIn "ABERTO or SUSPENSO"
                          case VSDGSITUACAOPEDIDO="IGNORAR CANCELADO+SUSPENSO" : TypeIn "not CANCELADO, not SUSPENSO"
                          case VSDGSITUACAOPEDIDO="IGNORAR CANCELADO"          : TypeIn "not CANCELADO"
                          case VSDGSITUACAOPEDIDO<>"TODAS"                     : TypeIn "~VSDGSITUACAOPEDIDO.."
                        endswitch
                        Moveto [Codigo                 ] TypeIn "~VSDGDESTINAT.."
                        Moveto [Codigo do Representante] TypeIn "~VSDGREPRESEN.."
                endif   
        endif   
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoI" Enter Check
        Moveto [Numero do Pedido] Example "Pedido"
        Do_It!
        ClearAll
EndIf
        
EndProc    ; (Seleciona)

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc Seleciona48()
ClearAll 
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoI")
   Then 
        If VSDGOPDTPEEIR="4"
           then 
                {Ask} typeIn TabelaRPedidos Enter
                Moveto [Numero do Pedido        ] Example "Pedido"
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC" Enter
                Moveto [Numero do Pedido        ] Example "Pedido"
                Moveto [Codigo                  ] Example "codigo" 
           else
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC" Enter
                Moveto [Numero do Pedido        ] Example "Pedido"

                if not isblank(VSDGPEDIDO)
                   then 
                        Moveto [Numero do Pedido] TypeIn ", ~VSDGPEDIDO.."
                        Moveto [Codigo          ] Example "codigo" 
                   else 
                        Moveto [Numero do Pedido] TypeIn ", >=~VSDGNPEDIDOI, <=~VSDGNPEDIDOF"
                        Moveto [Codigo da Empresa       ] TypeIn "~VSDGEMPRESA.."
                
                        if VSDGOPDTPEEIR="1" Then Moveto [Data de Entrega ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM" endif
                        If VSDGOPDTPEEIR="2" Then Moveto [Data de Emissao ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM" endif
                        if VSDGOPDTPEEIR="3" Then Moveto [Data_Inclusao   ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM" endif
                
                        Moveto [Situacao do Pedido    ]
                        switch
                          case VSDGSITUACAOPEDIDO="JUNTAR ABERTO+SUSPENSO"     : TypeIn "ABERTO or SUSPENSO"
                          case VSDGSITUACAOPEDIDO="IGNORAR CANCELADO+SUSPENSO" : TypeIn "not CANCELADO, not SUSPENSO"
                          case VSDGSITUACAOPEDIDO="IGNORAR CANCELADO"          : TypeIn "not CANCELADO"
                          case VSDGSITUACAOPEDIDO<>"TODAS"                     : TypeIn "~VSDGSITUACAOPEDIDO.."
                        endswitch
                        Moveto [Codigo                 ] Example "codigo" TypeIn ", ~VSDGDESTINAT.."
                        Moveto [Codigo do Representante]                  TypeIn "~VSDGREPRESEN.."
                endif   
        endif

        Moveto [Numero do Pedido         ] Check 
        Moveto [Codigo                   ] Check  
        Moveto [Razao Social             ] Check
        Moveto [Data de Emissao          ] Check
        Moveto [Endereco                 ] Check
        Moveto [Bairro                   ] Check
        Moveto [CEP                      ] Check
        Moveto [Cidade                   ] Check
        Moveto [UF                       ] Check
        Moveto [Nome Fantasia Represent  ] Check
        Moveto [Descricao CondPagto      ] Check
        Moveto [Forma de Pagamento       ] Check
        Moveto [Taxa de Desconto         ] Check
        Moveto [Valor Despesas Acessorias] Check
        Moveto [Valor Nota Fiscal        ] Check
        Moveto [Observacao do Pedido     ] Check  
        Moveto [Valor BCISSQN            ] Check TypeIn "as Vencidos"
        Moveto [Valor ISSQN              ] Check TypeIn "as AVencer"
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoI" Enter 
        Moveto [Numero do Pedido         ] Example "Pedido"
        Moveto [Codigo do Item           ] Check 
        Moveto [Descricao do Item        ] Check
        Moveto [Unidade Fiscal           ] Check
        Moveto [Quantidade               ] Check
        Moveto [Preco Unitario           ] Check
        Moveto [Preco Total              ] Check
        {Ask} {\\sistemas\\cadastro\\destinat} 
        Moveto [Codigo                   ] Example "codigo"
        Moveto [Descricao Atividade      ] Check
        Moveto [Descricao do Cobrador    ] Check 
        Moveto [Situacao do Cliente      ] Check
        {Ask} {\\Sistemas\\Cadastro\\FichaCli} 
        Moveto [Codigo                   ] Example "codigo"
        Moveto [Maior Atraso             ] Check
        Moveto [Data do Maior Atraso     ] Check
        Moveto [Valor do Maior Atraso    ] Check
        Moveto [Numero de Atrasos        ] Check
        Do_It!
        ClearAll   
         
        ; *** Observacao do Cliente ***
        If SYS_CODIGO_CLIENTE<>"0112"
           Then OBS=""
                View "\\Sistemas\\Cadastro\\DestObs"
                View "PedidoC"
                Coedit "Answer"
                Scan              
                  Moveto "PedidoC"
                  Moveto [Numero do Pedido]
                  Locate [Answer->Numero do Pedido]
                  If RetVal
                     Then Moveto "\\Sistemas\\Cadastro\\DestObs"
                          Moveto [Codigo]
                          Locate [PedidoC->Codigo]
                          If RetVal
                             Then OBS=[Observacoes]
                          EndIf   
                  EndIf   
                  Moveto "Answer"
                  Moveto [Descricao do Cobrador]
                  CtrlBackSpace
                  []=OBS
                EndScan
                Do_It!
                ClearAll
           Else
                Coedit "Answer"
                Moveto [Descricao do Cobrador]
                Scan              
                  If []="GUELTA" Then []="Selo: GUELTA" EndIf
                EndScan
                Do_It!
                ClearAll      
                
        EndIf
EndIf

EndProc    ; (Seleciona48)

;*******************************************************************************
;* Rotina p/ Selecionar e Ordernar Registros                                   *
;*******************************************************************************
Proc Seleciona31()
ClearAll 
If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoI")
   Then 
        If VSDGOPDTPEEIR="4"
           then 
                {Ask} typeIn TabelaRPedidos Enter
                Moveto [Numero do Pedido        ] Example "Pedido"
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC" Enter
                Moveto [Numero do Pedido        ] Example "Pedido"
                Moveto [Codigo                  ] Example "codigo" 
           else
                {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoC" Enter
                Moveto [Numero do Pedido        ] Example "Pedido"

                if not isblank(VSDGPEDIDO)
                   then 
                        Moveto [Numero do Pedido] TypeIn ", ~VSDGPEDIDO.."
                        Moveto [Codigo          ] Example "codigo" 
                   else 
                        Moveto [Numero do Pedido] TypeIn ", >=~VSDGNPEDIDOI, <=~VSDGNPEDIDOF"
                        Moveto [Codigo da Empresa       ] TypeIn "~VSDGEMPRESA.."
                
                        if VSDGOPDTPEEIR="1" Then Moveto [Data de Entrega ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM" endif
                        If VSDGOPDTPEEIR="2" Then Moveto [Data de Emissao ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM" endif
                        if VSDGOPDTPEEIR="3" Then Moveto [Data_Inclusao   ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM" endif
                
                        Moveto [Situacao do Pedido    ]
                        switch
                          case VSDGSITUACAOPEDIDO="JUNTAR ABERTO+SUSPENSO"     : TypeIn "ABERTO or SUSPENSO"
                          case VSDGSITUACAOPEDIDO="IGNORAR CANCELADO+SUSPENSO" : TypeIn "not CANCELADO, not SUSPENSO"
                          case VSDGSITUACAOPEDIDO="IGNORAR CANCELADO"          : TypeIn "not CANCELADO"
                          case VSDGSITUACAOPEDIDO<>"TODAS"                     : TypeIn "~VSDGSITUACAOPEDIDO.."
                        endswitch
                        Moveto [Codigo                 ] Example "codigo" TypeIn ", ~VSDGDESTINAT.."
                        Moveto [Codigo do Representante]                  TypeIn "~VSDGREPRESEN.."
                endif   
        endif
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"PedidoI" Enter Check
        Moveto [Numero do Pedido     ] Example "Pedido"
        {Ask} {\\sistemas\\cadastro\\destinat} 
        Moveto [Codigo               ] Example "codigo"
        Moveto [Descricao Atividade  ] Check
        Moveto [Descricao do Cobrador] Check  
        Do_It!
        ClearAll   

        ; *** Observacao do Cliente ***
        If SYS_CODIGO_CLIENTE<>"0112"
           Then OBS=""
                View "\\Sistemas\\Cadastro\\DestObs"
                View "PedidoC"
                Coedit "Answer"
                Scan              
                  Moveto "PedidoC"
                  Moveto [Numero do Pedido]
                  Locate [Answer->Numero do Pedido]
                  If RetVal
                     Then Moveto "\\Sistemas\\Cadastro\\DestObs"
                          Moveto [Codigo]
                          Locate [PedidoC->Codigo]
                          If RetVal
                             Then OBS=[Observacoes]
                          EndIf   
                  EndIf   
                  Moveto "Answer"
                  Moveto [Descricao do Cobrador]
                  CtrlBackSpace
                  []=OBS
                EndScan
                Do_It!
                ClearAll
           Else Coedit "Answer"
                Moveto [Descricao do Cobrador]
                Scan              
                  If []="GUELTA" Then []="Selo: GUELTA" EndIf
                EndScan
                Do_It!
                ClearAll      
                
        EndIf
        {Ask} {Answer} check  
        Moveto [Codigo do item       ] Example "codigo"
        {Ask} {\\sistemas\\Estoque\\Itens} 
        Moveto [Codigo do item       ] Example "codigo"
        Moveto [Codigo_Localizacao   ] Check
        Moveto [Localizacao          ] Check
        Do_It!
        ClearAll   
        
EndIf

EndProc    ; (Seleciona31)

;*******************************************************************************
;   Pega Dados                                                                 *
;*******************************************************************************
Proc Pega_Dados()
 
VSDGDATA=Today() 
     
; Titulos a Vencer
{Ask} TypeIn Tabela Enter 
Moveto [Codigo                ] Example "codigo"
{Ask} TypeIn "\\Sistemas\\Ctarec\\Duplic" Enter
Moveto [Codigo do Destinatario] Check Example "codigo"
Moveto [Data de Vencimento    ] TypeIn ">=~VSDGDATA"
Moveto [Saldo do Documento    ] Check TypeIn ">0.01" 
Do_It!
ClearAll

If Not IsEmpty ("Answer")
   Then {Ask} "Answer" Enter
        Moveto [Codigo do Destinatario] Check 
        Moveto [Saldo do Documento    ] TypeIn "Calc Sum as AVencer"
        Do_It!
        ClearAll
   
        {Ask} "Answer" Enter
        Moveto [Codigo do Destinatario] Example "cod"
        Moveto [AVencer               ] Example "avencer"
        {Ask} TypeIn Tabela Enter
        Moveto [Codigo                ] Example "cod"
        Moveto [AVencer               ] TypeIn "changeto" Example " avencer"
        Do_It!                                                                                  
        ClearAll
EndIf

;; Titulos Vencidos
{Ask} TypeIn Tabela Enter 
Moveto [Codigo                ] Example "codigo"
{Ask} TypeIn "\\Sistemas\\Ctarec\\Duplic" Enter
Moveto [Codigo do Destinatario] Check Example "codigo"
Moveto [Data de Vencimento    ] TypeIn "<~VSDGDATA"
Moveto [Saldo do Documento    ] Check TypeIn ">0.01"
Do_It!
ClearAll

If Not IsEmpty ("Answer")
   Then {Ask} "Answer" Enter
        Moveto [Codigo do Destinatario] Check 
        Moveto [Saldo do Documento    ] TypeIn "Calc sum as Vencidos"
        Do_It!
        ClearAll
        
        {Ask} "Answer" Enter
        Moveto [Codigo do Destinatario] Example "cod"
        Moveto [Vencidos              ] Example "vencidos"
        {Ask} TypeIn Tabela Enter
        Moveto [Codigo                ] Example "cod"
        Moveto [Vencidos              ] TypeIn "changeto" Example " vencidos"
        Do_It!
        ClearAll
EndIf

EndProc


;*******************************************************************************
;* Rotina                                                                      *
;*******************************************************************************
Proc SD_Dialog(Disparo,Campo,Evento,Elemento)
Temp=True
MSG_CAMPO=""
TECLA=""
If Disparo="OPEN"  
   Then AoCriarShowDialog()
        TiraSombraShowDialog()
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_PEDIDO"        : Campo="TG_EMPRESA"
            Case Campo="TG_NPEDIDOI"      : Campo="TG_PEDIDO"
            Case Campo="TG_NPEDIDOF"      : Campo="TG_NPEDIDOI"
            Case Campo="TG_REPRESEN"      : Campo="TG_NPEDIDOF"
            Case Campo="TG_DESTINAT"      : Campo="TG_REPRESEN"
            Case Campo="TG_OPDTPEEIR"     : Campo="TG_DESTINAT"
            Case Campo="TG_DTINI"         : Campo="TG_OPDTPEEIR"
            Case Campo="TG_DTFIM"         : Campo="TG_DTINI"
            Case Campo="TG_SITUACAOPEDIDO": Campo="TG_DTFIM"
            Case Campo="TG_CODMODELO"     : Campo="TG_SITUACAOPEDIDO"
            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"       : Campo="TG_PEDIDO"
                    Case Campo="TG_PEDIDO"        : Campo="TG_NPEDIDOI"
                    Case Campo="TG_NPEDIDOI"      : Campo="TG_NPEDIDOF"
                         VSDGNPEDIDOI=AlinhM(ControlVAlue("TG_NPEDIDOI"),6)
                    
                    Case Campo="TG_NPEDIDOF"      : Campo="TG_REPRESEN"
                         VSDGNPEDIDOF=ControlValue("TG_NPEDIDOF")
                         If Not IsBlank(VSDGNPEDIDOF)
                            Then VSDGNPEDIDOF=AlinhM(VSDGNPEDIDOF,6)
                            Else VSDGNPEDIDOF = "999999"
                         Endif

                    Case Campo="TG_REPRESEN"      : Campo="TG_DESTINAT"
                    Case Campo="TG_DESTINAT"      : Campo="TG_OPDTPEEIR"
                    Case Campo="TG_OPDTPEEIR"     : Campo="TG_DTINI"
                    Case Campo="TG_DTINI"         : Campo="TG_DTFIM"
                    Case Campo="TG_DTFIM"         : Campo="TG_SITUACAOPEDIDO"
                    Case Campo="TG_SITUACAOPEDIDO": Campo="TG_CODMODELO"
                    Case Campo="TG_CODMODELO"     : Campo="YES"
                  EndSwitch
          EndIf
          RefreshDialog
   EndSwitch
EndIf
Switch
  Case Campo=""           : MSG_CAMPO=""
  Case Campo="TG_NPEDIDOI": MSG_CAMPO="N£mero Pedido Inicial, Em Branco=000000"
  Case Campo="TG_NPEDIDOF": MSG_CAMPO="N£mero Pedido Final  , Em Branco=999999"
Endswitch
Monta_Prompt(MSG_CAMPO,TECLA)
Return Temp
EndProc

;************************************
;* ROTINA PARA Ler/Gravacao Opcao   *
;************************************
Proc ModeloRelatoriosCarregaLista()

VSDGCODMODELO     = ""
VSDGMODELO        = ""

;ModeloRelatoriosAdd("XXX XX maximo 70 XX")

ModeloRelatoriosAdd("Criar") ; linha obrigatoria inicial
ModeloRelatoriosAdd("02  Modelo I")
ModeloRelatoriosAdd("03  Modelo II")
ModeloRelatoriosAdd("04  Modelo IX - Romaneio")
ModeloRelatoriosAdd("30  Modelo VII")
ModeloRelatoriosAdd("31  Modelo VIII")
ModeloRelatoriosAdd("48  Modelo XIII")
ModeloRelatoriosAdd("05  Modelo com Grade")
ModeloRelatoriosAdd("05B Modelo com Grade - sem pre‡os")
ModeloRelatoriosAdd("Fim")

EndProc ;ModeloRelatoriosCarregaLista

;*******************************************************************************
;* ROTINA PRINCIPAL                                                            *
;*******************************************************************************
AutoLib="\\Sistemas\\Cadastro\\Bib_Show,\\Sistemas\\Cadastro\\Bibliot"
LimpAguarde()

sys_Valor()

VSDGEMPRESA        =""
VSDGPEDIDO         =""
VSDGREPRESEN       =""
VSDGDESTINAT       =""
VSDGOPDTPEEIR      =""
VSDGSITUACAOPEDIDO =""
VSDGDTINI          = BlankDate()
VSDGDTFIM          = BlankDate()
VSDGNPEDIDOI       =""
VSDGNPEDIDOF       =""

ModeloRelatoriosCarregaLista()

While True

  ShowDialog "Emiss„o Pedidos" 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 22 Width 80

    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 "Pedido"  For "TG_PEDIDO"
    Accept @ 03,01 Width 09 "A6"  Picture "[&,#][#*#]" Tag "TG_PEDIDO" To VSDGPEDIDO
    Accept @ 03,09 Width 25 "A20"  Picture "!*!" Tag "TG_NOMPEDIDO" To VSDGNOMPEDIDO
    
    Label  @ 04,00 "Intervalo de Pedidos" For "TG_NPEDIDOI"
    Accept @ 05,03 Width 13 "A6"  Picture "#*#" Tag "TG_NPEDIDOI" To VSDGNPEDIDOI
    Label  @ 05,16 "at‚" For "TG_NPEDIDOF"
    Accept @ 05,21 Width 13 "A6"  Picture "#*#" Tag "TG_NPEDIDOF" To VSDGNPEDIDOF

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

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

    Label  @ 10,00 "Op‡äes de Datas" For "TG_OPDTPEEIR"
    Accept @ 11,04 Width 04 "A1"  Picture "1,2,3,4"    Tag "TG_OPDTPEEIR"    To VSDGOPDTPEEIR
    Accept @ 11,09 Width 25 "A20" Picture "!*!"      Tag "TG_NOMOPDTPEEIR" To VSDGNOMOPDTPEEIR

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

    Label  @ 00,35 "Situacao do Pedido"  For "TG_SITUACAOPEDIDO"
    Accept @ 01,36 Width 33 "A30"  Picture "ABERTO,SUSPENSO,CANCELADO,FATURADO,TODAS,!*!" Tag "TG_SITUACAOPEDIDO"  To VSDGSITUACAOPEDIDO

    Label  @ 17,00  "Modelo de ~R~elat¢rio"  For "TG_CODMODELO"
    Accept @ 18,01  Width 06 "A3"  Picture "!*!" Tag "TG_CODMODELO" To VSDGCODMODELO
    Accept @ 18,06  Width 47 "A60"  Picture "!*!" Tag "TG_MODELO" To VSDGMODELO

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

  EndDialog
  If Not RetVal Then QuitLoop EndIf
  If Not Valida_ShowDialog("") Then Loop EndIf
  if not ValidarModelosRelatorios() then loop endif         

  If IsBlank(VSDGDTFIM)
     Then Mensagem("Data Final Invalida !")
  EndIf

  DISPOSITIVO()
  If OK="" Then Loop EndIf

  AGUARDE("Aguarde, gerando o relat¢rio")
  
  If VSDGOPDTPEEIR="4"
     Then Rela‡aoPedidos()
  endif   

  switch
    case VSDGCODMODELO="05"   : Play "RM_0380G"

    case VSDGCODMODELO="05B"  : Play "RM_0380S"

    otherwise:
      Tabela=Cria_Temp(PrivDir())
    
      Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
      While Novo_Dir_Trab()
        If IsTable("Answer") Then Delete "Answer" EndIf
        Switch
          Case VSDGCODMODELO="31"  : Seleciona31()
          
          Case VSDGCODMODELO="48"  : Seleciona48()
          
          OtherWise                : Seleciona()
           
        EndSwitch
        
        If Not IsTable("Answer") Then Loop EndIf
        If IsTable(Tabela)
           Then Add "Answer" Tabela
           Else Rename "Answer" Tabela
        EndIf
      EndWhile
    
      If IsEmpty(Tabela)
         Then MENSAGEM("N„o existem registros a processar")
         else
              Switch
                Case VSDGCODMODELO="02"  : CopyReport "PedidoI" "10" Tabela "R"
                Case VSDGCODMODELO="03"  : CopyReport "PedidoI" "2"  Tabela "R"
                Case VSDGCODMODELO="30"  : CopyReport "PedidoI" "10" Tabela "R"
                Case VSDGCODMODELO="04"  : CopyReport "PedidoI" "1"  Tabela "R"
    
                Case VSDGCODMODELO="48"  : Pega_Dados()
                                           CopyReport "\\Base\\Sistemas\\Vendas\\Rm_0381" "R" Tabela "R"
    
                Case VSDGCODMODELO="31"  : CopyReport "\\Base\\Sistemas\\Vendas\\Rm_0380" "R" Tabela "R"
    
                OtherWise                :  
                                           
              EndSwitch
      endif   
      IMPRIREL(Tabela,"R")
    
      Delete Tabela

  endswitch

  If VSDGOPDTPEEIR="4"
     Then Delete TabelaRPedidos
  endif   
  
EndWhile
ClearAll
Release Vars All
Release Procs All
