;** RM_0150D *******************************************************************
;* Relacao de Of Por Vendedor                                                  *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido    : 12/11/2012 por Kamila Gomes            
;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: 27/12/2016 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes showdialog                   
;Ultima Alteracao: 27/12/2019 por Bruno Carvalho
;Motivo Alteracao: Removido o caracter "!" ao linkar no campo [Numero da OF] pela tabela "FaturaI", onde gerava v rios registros em branco 
;Ultima Alteracao: 10/02/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes TG_DESTIN, TG_TPMOVDESTIN                  
;Ultima Alteracao: 21/02/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes substitudo RM_0988                         
;Ultima Alteracao: 23/07/2020 por Anivel Augusto Rodrigues
;Motivo Alteracao: Ajustes filtro referencia
;Ultima Alteracao: 25/09/2020 por Bruno Carvalho
;Motivo Alteracao: Adicionado filtro por [Atividade] -> VSDGATIVIDADE

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

Release Vars Atividade
If VSDGATIVIDADE<>""
   Then {Ask} {\\Sistemas\\Cadastro\\Destinat} 
       ;Moveto [Tipo            ]        TypeIn "C"
        Moveto [Codigo          ] Check TypeIn "~VSDGDESTINAT.."
        Moveto [Codigo Atividade]       TypeIn "~VSDGATIVIDADE.."
       ;Moveto [Inativo         ]        TypeIn "N"
        Do_It!
        ClearAll
       
        If Not IsEmpty("Answer")
           Then Atividade=Cria_Temp(PrivDir())
                Copy "Answer" Atividade
                
                Adiciona_Indice(Atividade,"Codigo")
               
                {Ask} TypeIn Atividade Enter
                Moveto [Codigo         ] Example "Pessoa"
        EndIf     
EndIf  
{Ask} TypeIn "\\Sistemas\\Estoque\\Itens" Enter
Moveto [Codigo do Item         ] Example "cite"
Moveto [Codigo da Marca        ] TypeIn "~VSDGMARCA.."
Moveto [Referencia             ] TypeIn "~VSDGREFERENCIA.."    

{Ask} {FaturaC} Check
Moveto [Numero da OF           ] Example "Docto!"
Moveto [Codigo da Empresa      ] TypeIn "~VSDGEMPRESA.."
Moveto [Docto Nota Gerada      ] TypeIn "~VSDGTPDOCTO.."
If IsAssigned(Atividade)
   Then Moveto [Codigo         ] Example "Pessoa"
   Else Moveto [Codigo         ] TypeIn "~VSDGDESTINAT.." 
EndIf
Moveto [Codigo do Representante] TypeIn "~VSDGREPRESEN.."
Moveto [Cidade                 ] TypeIn CIDADE
Moveto [UF                     ] TypeIn "~VSDGESTADO.."
switch
 case ListaRegra_VSDGDESTIN_Ativo  : Moveto [Codigo da Destinacao] TypeIn ListaRegra_VSDGDESTIN
 otherwise                         : Moveto [Codigo da Destinacao] TypeIn "~VSDGDESTIN.."
endswitch
Moveto [Tipo Movimento Estoque ] TypeIn "~VSDGTPMOVDESTIN.."

switch
 case VSDGOPDTESI="1" : Moveto [Data de Emissao] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
 case VSDGOPDTESI="2" : Moveto [Data de Saida  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
 case VSDGOPDTESI="3" : Moveto [Data_Inclusao  ] TypeIn ">=~VSDGDTINI,<=~VSDGDTFIM"
endswitch

Moveto [Condicao de Pagamento  ] TypeIn "~VSDGCONDPGTO.."
Moveto [Forma de Pagamento     ] TypeIn "~VSDGTPPAGTO.."

Moveto [Numero_Carregamento    ] TypeIn "~VSDGNCARREG.."
Moveto [Placa do Veiculo       ] TypeIn "~VSDGPLACAVEICULO.."

Switch
  case VSDGSITUACAONOTA="CANCELADA"              : Moveto [Sistema Gerador         ] TypeIn "C"
      
  case VSDGSITUACAONOTA="CANCELADA+DENEGADA"     : Moveto [Sistema Gerador         ] TypeIn "DN"
                                                   
  case VSDGSITUACAONOTA="CANCELADA+EXTEMPORANEA" : Moveto [Sistema Gerador         ] TypeIn "EX"

endSwitch

{Ask} {FaturaI}
If VSDGCODMODELO="3XI"
   then Check
endif
Moveto [Numero da OF           ] Example "Docto"
Moveto [Codigo do Item         ] Check Example "cite" TypeIn ", ~VSDGITEM.."
Do_It!
ClearAll

If IsAssigned(Atividade)
   Then Delete Atividade
EndIf  

EndProc   ; (Seleciona)

;*******************************************************************************
;* Rotina Ajusta Dados                                                         *
;*******************************************************************************
Proc RM_0150D_Ajusta_Dados()
ClearAll

If VSDGCODMODELO="3XI"
   Then Sort "Answer" On "Codigo da Empresa", "Numero da OF","Item da OF"
   Else Sort "Answer" On "Codigo da Empresa", "Numero da OF"
EndIf

NDOCTO="****"
CoEdit "Answer"
Scan
 If [Numero da OF]<>NDOCTO 
    Then NDOCTO=[Numero da OF       ]
    Else [Valor Nota Fiscal]=BlankNum()
 EndIf
EndScan
Do_It!
ClearAll

EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
Proc RM_0150D_Principal()

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

RM_0150D_Seleciona()

If not IsEmpty("Answer")
   Then 
        RM_0150D_Ajusta_Dados()
        Switch
          case VSDGCODMODELO="3X"   : CopyReport "\\Base\\Sistemas\\Vendas\\Rm_2002" "3" "Answer" "R"
          case VSDGCODMODELO="3XI"  : CopyReport "\\Base\\Sistemas\\Vendas\\Rm_2002" "2" "Answer" "R" 
        endSwitch
        IMPRIREL("Answer","R")

   else
        MENSAGEM("N„o existem registros a processar")
EndIf

Delete "Answer"

EndProc

;-- Chamada principal ----------------------------------------------------------
RM_0150D_Principal()

Release Vars Tabela
Release Procs RM_0150D_Principal, RM_0150D_Seleciona, RM_0150D_Ajusta_Dados
