;** PD_0318  *******************************************************************
;** Imprime a Digitacao do Pedido                              ** AQUARELA **  *
;*******************************************************************************
;Autor: Visao/Vise
;Desenvolvido  em: 09/04/2012 por Bruno Carvalho
;Ultima Alteracao: 09/06/2015 por Andrey Fillipe
;Motivo Alteracao: Alterado na coluna Cores pegar Observacao_Item
;Ultima Alteracao: 17/07/2015 por Bruno Carvalho
;Motivo Alteracao: Ajustes para Imprimir com 80 Colunas

;*******************************************************************************
;* Rotina para Impressao do Relatorio                                          *
;*******************************************************************************

PARAM_NITENS = 22

;************************** IMPRESSAO DO CABECALHO *****************************
Proc Cabecalho();
If Not IsAssigned(NOMEMPRESA) Then NOMEMPRESA="" EndIf

Moveto "PedidoC"
Print File ARQIMP chr(27)+chr(67)+chr(33) ;Imprime 33 Linhas por pagina

DATA=StrVal([Data de Emissao])
If Len(DATA)=9 Then DATA="0"+DATA EndIf
DATA = SubStr(DATA,1,2) +"/"+ SubStr(DATA,4,2) +"/"+ SubStr(DATA,7,4)

Print File ARQIMP Spaces(1)+Fill("-",79)+"\n"
Print File ARQIMP Format("W80"," Pedido Expedicao"+SpaceS(22)+"EMISSAO: "+DATA+Spaces(2)+"ORCAMENTO N§: "+Format("W7,AL",[Numero do Pedido]))+"\n"
Print File ARQIMP Spaces(1)+Fill("-",79)+"\n"
Print File ARQIMP "\027E"+" Cliente.: "+Format("W40,AL",[Codigo]+" "+[Nome Fantasia Represent])+"\027F"+"\n"   

Print File ARQIMP " -------------------------------------------------------------------------------"+"\n"
Print File ARQIMP " Qtd.       UN     Codigo Descricao                      Observacao             "+"\n"
Print File ARQIMP " -------------------------------------------------------------------------------"+"\027F"+"\n"
EndProc ;(Cabecalho)                           

;************************** IMPRESSAO DOS ITENS ********************************
Proc Itens()
Moveto "PedidoI"
Home
QUANT    = 0
TOT      = 0
CONTADOR = 0

While [Numero do Pedido]=[PedidoC->Numero do Pedido]
  Checa_Linha(1)

  CODITEM=[Codigo do Item]
  While SubStr(CODITEM,1,1)="0"
    CODITEM=SubStr(CODITEM,2,Len(CODITEM))
  EndWhile

  LINHA_ITEM = Spaces(1)+Format("W10.3,AL",[Quantidade])
  LINHA_ITEM = LINHA_ITEM + Spaces(01) + Format("W02",[Unidade Fiscal])
  LINHA_ITEM = LINHA_ITEM + Spaces(01) + Format("W10,AR",CODITEM)
  LINHA_ITEM = LINHA_ITEM + Spaces(01) + Format("W30,AL",[Descricao do Item]) 
  LINHA_ITEM = LINHA_ITEM + Spaces(01) + Format("W23,AL",[Observacao_Item])  
  
  Print File ARQIMP LINHA_ITEM + "\n"
  
  Skip
  If EOT() Then QuitLoop EndIf
EndWhile

For ITEM From CONTADOR To PARAM_NITENS
    Print File ARQIMP "\n"
EndFor
 
EndProc ;(Itens)

;*** Imprime Rodape ************************************************************
Proc Rodape()

Print File ARQIMP Spaces(1)+Fill("-",79)+"\n"

Print File ARQIMP "\f"

EndProc ;Rodape

;*******************************************************************************
;* Checa linha na area de impressao dos itens                                  *
;*******************************************************************************
Proc Checa_Linha(Nl)
private nl

If (CONTADOR+nl)>(PARAM_NITENS)
   Then Rodape()
        Cabecalho()
        CONTADOR=nl
        Moveto "PedidoI"
   Else CONTADOR=CONTADOR+nl
EndIf
EndProc

;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************
ARQIMP=PrivDir()+"PD_0370S.Txt"
If IsFile(ARQIMP)
   Then Deleta_Arquivo(ARQIMP)
EndIf

Moveto "PedidoC"

AGUARDE("Imprimindo Pedido -> "+[Numero do Pedido])
Cabecalho()
Itens()
Rodape()

;---- Imprime Arquivo Impressao ------------------------------------------------
ImpriArq(ARQIMP)

Release Vars VALOR,DATA
Release Procs IMPFAT,VENC,Cabecalho,Itens,Rodape
LIMPAGUARDE()