;** Rm_0032  *******************************************************************
;* Relacao de Notas Fiscais por Transportador                                  *
;*******************************************************************************
;Autor: Visao/Vise
;Desenvolvido    : 07/12/2010 por Bruno Carvalho
;Ultima Alteracao: 10/07/2012 por Bruno Carvalho
;Motivo Alteracao: Adicionado filtro na ask do NotaI "Situacao_Item"
;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: 28/01/2020 por Bruno Carvalho
;Motivo Alteracao: Ajustes chamada principal RM_0025

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

If IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC") And
   IsTable("\\Sistemas\\Vendas\\"+Dir_Trab+"NotaI")
   Then {Ask} {\\Sistemas\\Cadastro\\Destinat}
        Moveto [Codigo                 ] Example "clie" TypeIn ", ~VSDGDESTINAT.."
        If CIDADE<>""
           Then Moveto [Cidade         ] TypeIn CIDADE
        EndIf   
        Moveto [UF                     ] TypeIn "~VSDGESTADO.."
        Moveto [Codigo da Area         ] TypeIn "~VSDGAREA.."
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"NotaC" Enter Check
        Moveto [Codigo da Empresa       ] Example "Empresa" TypeIn ", ~VSDGEMPRESA.."
        Moveto [Numero do Documento     ] Example "Docto"
        Moveto [Serie do Documento      ] Example "Serie"
        If IsBlank(VSDGNCARREG)
           Then Switch
                  Case VSDGOPDTES="1" : Moveto [Data de Emissao ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
                  Case VSDGOPDTES="2" : Moveto [Data de Saida   ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
                EndSwitch
           Else Moveto [Numero_Carregamento] TypeIn "~VSDGNCARREG.."        
        EndIf
        Moveto [Codigo                  ] Example "clie"
        Moveto [Codigo da Destinacao    ] TypeIn "~VSDGDESTIN.."         
        Moveto [Codigo da Transportadora] TypeIn "~VSDGTRANSP.."
        Moveto [Numero_Carregamento     ] TypeIn "~VSDGNCARREG.."
        Moveto [Placa do Veiculo        ] TypeIn "~VSDGVEICULO.."
        Moveto [Codigo do Representante ] TypeIn "~VSDGREPRESEN.." 
        Moveto [Frete por Conta         ] TypeIn "~VSDGFRETEPC.."
        Moveto [Situacao                ] TypeIn "Not C"                                                                          
        {Ask} TypeIn "\\Sistemas\\Vendas\\"+Dir_Trab+"Notai" Enter Check
        Moveto [Codigo da Empresa       ] Example "Empresa"
        Moveto [Numero do Documento     ] Example "Docto"
        Moveto [Serie do Documento      ] Example "Serie"
        Moveto [Situacao_Item           ] TypeIn "Not C"
        Do_It!
        ClearAll
EndIf

EndProc   ; (RM_3020B_Seleciona)

;*******************************************************************************
;* Rotina Ajusta Dados                                                         *
;*******************************************************************************
Proc RM_3020B_Ajusta_Dados()
ClearAll
         
Sort Tabela On "Codigo da Empresa", "Numero do Documento", "Serie do Documento","Item do Documento"

CDEMPR="****"
NDOCTO="****"
SDOCTO="****"

CoEdit Tabela
Scan
 If [Codigo da Empresa  ]<>CDEMPR Or
    [Numero do Documento]<>NDOCTO Or
    [Serie do Documento ]<>SDOCTO
    Then CDEMPR=[Codigo da Empresa  ]
         NDOCTO=[Numero do Documento]
         SDOCTO=[Serie do Documento ]
    Else [Valor Nota Fiscal]=BlankNum()
         [Valor Mercadoria ]=BlankNum()
         [Peso Liquido     ]=BlankNum()
 EndIf
 [Nome do Autorizado]=""
EndScan
Do_It!
ClearAll

{Ask} {PedidoC}
Moveto [Numero do Pedido    ] Example "nped"
Moveto [Numero Pedido Origem] Example "pedori"
{Ask} Typein tabela enter  
Moveto [Numero do Pedido    ] Example "nped"
Moveto [Nome do Autorizado  ] Typein "changeto " Example "pedori"   
do_it!
ClearAll 

EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc RM_3020B_Principal()

AGUARDE("Aguarde, gerando o relat¢rio")
Tabela=Cria_Temp(PrivDir())

Monta_Dir_Trab(VSDGDTINI,VSDGDTFIM)
While Novo_Dir_Trab()
  If IsTable("Answer")     Then Delete "Answer" EndIf
  RM_3020B_Seleciona()
  If Not IsTable("Answer") Then Loop EndIf
  If IsTable(Tabela)
     Then Add "Answer" Tabela
     Else Rename "Answer" Tabela
  EndIf
EndWhile

If not IsEmpty(Tabela)
   then RM_3020B_Ajusta_Dados()
        If VSDGCODMODELO="2PA"
           Then CopyReport "\\Base\\Sistemas\\Vendas\\Rm_2001" "13" Tabela "R"
           Else CopyReport "\\Base\\Sistemas\\Vendas\\Rm_2001" "14" Tabela "R"
        EndIf
        IMPRIREL(Tabela,"R")
        Delete Tabela
   else MENSAGEM("N„o existem registros a processar")
EndIf

If IsTable(Tabela)   Then Delete Tabela   EndIf
If IsTable("Answer") Then Delete "Answer" EndIf

EndProc

;-- Chamada principal ----------------------------------------------------------
RM_3020B_Principal()

Release Vars Tabela
Release Procs RM_3020B_Principal, RM_3020B_Seleciona, RM_3020B_Ajusta_Dados