;** Pd_0268S *******************************************************************
;** Imprime a Digitacao do Pedido                         ** RIG FINDIDOS **   *
;*******************************************************************************
;Autor: Visao/Vise
;Desenvolvido  em: 04/08/2010 por HUmberto Felipe Santos.
;Ultima Alteracao: 00/00/2010 por 
;Motivo Alteracao: Ajustes                   
;Ultima Altera‡Ćo: 10/09/2010 por Bruno Carvalho
;Motivo Altera‡Ćo: Add Observa‡Ćo do Item
;Ultima Altera‡Ćo: 23/03/2012 por Bruno Carvalho
;Motivo Altera‡Ćo: Ajustes
;Ultima Altera‡Ćo: 08/03/2017 por Kamila Gomes
;Motivo Altera‡Ćo: Ajustes para imprimir 44 linhas por p gina

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

Proc Cabecalho()

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

Moveto "PedidoC"

Print File ARQIMP chr(27)+chr(67)+chr(44)                                       ;Imprime 44 Linhas por pagina    

Print File ARQIMP CI_15CPP
Print File ARQIMP CI_8LPP
Print File ARQIMP "\n"
Print File ARQIMP  "  ------------------------------------------------------------------------------------------------------------------------------------" + "\n"
Print File ARQIMP  Spaces(55)+"Pedido de Venda"+Spaces(34)+"Impressao: "+Format("D13",Today())+"-"+Time()+ "\n"
Print File ARQIMP  "  ------------------------------------------------------------------------------------------------------------------------------------" + "\n"

Print File ARQIMP  Spaces(02)+"Cliente: "
Print File ARQIMP Format("W05,AL",[Codigo])
Print File ARQIMP Format("W40,AL",[Razao Social])
Print File ARQIMP Format("W57,AL"," - ["+[Nome Fantasia EmitDest]+"]")
Print File ARQIMP "N§ do Pedido : "+Format("W06.3,AL",[Numero do Pedido])+ "\n"

Print File ARQIMP Spaces(16)+Format("W40,AL",[Endereco])
Print File ARQIMP Format("W18,AL","")+Spaces(07)+"Emissao: "
Print File ARQIMP Format("D13",[Data de Emissao])+"\n"

Print File ARQIMP Spaces(16)+Format("W20,AL",[Bairro])
Print File ARQIMP Format("W20,AL","")
Print File ARQIMP Format("W25,AL","")
Print File ARQIMP "Entrega: "+Format("D13",[Data de Entrega])+"\n"

Print File ARQIMP Spaces(16)+Format("W20,AL",[Cidade])
Print File ARQIMP Format("W20,AL",[UF])
Print File ARQIMP Format("W25,AL","")
Print File ARQIMP "Empresa: "+Format("W05,AL",[Codigo da Empresa])+Format("W20,AL",[Nome Fantasia Empresa])+"\n"

Print File ARQIMP Spaces(02)+"Representante: "+Format("W05,AL",[Codigo do Representante])
Print File ARQIMP Format("W25,AL",[Nome Fantasia Represent])
Print File ARQIMP "Destinacao: "+Format("W04,AL",[Codigo da Destinacao])
Print File ARQIMP Format("W25,AL",[Descricao da Destinacao])
Print File ARQIMP "CFO: "+Format("W09,AL",[CFO])
Print File ARQIMP "TabPreco: "+Format("W06,AL",[Codigo da Tabela])+"\n"

GetRecord "\\Sistemas\\Cadastro\\Destinat" [Codigo] To REG_DESTINAT
If Retval 
   Then COD_REDESPACHO =REG_DESTINAT["Codigo Transp_Redespacho"]
        NOME_REDESPACHO=REG_DESTINAT["Nome Fantasia Redespacho"]
   Else COD_REDESPACHO =""
        NOME_REDESPACHO=""
EndIf
        
Print File ARQIMP Spaces(02)+"Transportador: "+Format("W05,AL",[Codigo da Transportadora])
Print File ARQIMP Format("W28,AL",[Nome Fantasia Transport])
Print File ARQIMP "Veiculo: "+Format("W08,AL",[Placa do Veiculo])+"-"+Format("W08,AL",[UF Veiculo])"\n"
Print File ARQIMP Spaces(02)+"Redespacho...: "+Format("W05,AL",COD_REDESPACHO)
Print File ARQIMP Format("W28,AL",NOME_REDESPACHO)+"\n\n"

Print File ARQIMP Spaces(02)+"Sq Item                                                Cor           Grupo          "
Print File ARQIMP " Quantidade Un  Peso Unit."+"\n"
Print File ARQIMP Spaces(02)+"-- --------------------------------------------------- ------------- -------------- "
Print File ARQIMP "----------- -- -----------"+"\n"

EndProc ;(Cabecalho)

;********************* IMPRESSAO DOS ITENS ********************************
Proc Itens()

Moveto "PedidoI"

QUANT    = 0
TOT      = 0
CONTADOR = 0

Scan
   Checa_Linha(1)
   
   Print File ARQIMP Spaces(01)+Format("W03,AR",[Item do Pedido])
   Print File ARQIMP Spaces(01)+Format("W11,AL",[Codigo do Item])
   Print File ARQIMP Format("W41,AL",[Descricao do Item])
   Print File ARQIMP Format("W14,AL",[Descricao da Cor_Tecido])
   GetRecord "\\Sistemas\\Estoque\\Itens" [Codigo do Item] To REG_ITEMGRUPO
   If Retval
      Then Descgrupo=REG_ITEMGRUPO["Descricao do Grupo"]
      Else Descgrupo=""
   EndIf
   Print File ARQIMP Format("W15,AL",Descgrupo)
   Print File ARQIMP Format("W11.3,EIC",[Quantidade])
   Print File ARQIMP Format("W03,AR",[Unidade Fiscal])
   Print File ARQIMP Format("W12.3,EIC",[Peso Liquido])+"\n"
   If [Observacao_Item]<>""
       Then Print File ARQIMP "                "+Format("W41,AL",[Observacao_Item])+"\n"
            CONTADOR=CONTADOR+1
   EndIf
   TOT   = TOT + [Preco Total]
   
EndScan

For ITEM from CONTADOR to 20
  Print File ARQIMP "\n"
EndFor

EndProc ;(Itens)
;********************* IMPRESSAO DOS TOTAIS **************************
Proc Rodape(QUEBRAFORM)
Private QUEBRAFORM

;************************* IMPRESSAO DO RODAPE ********************************
Moveto "PedidoC"

If QUEBRAFORM
  Then 
    While CONTADOR < 19
     CONTADOR=CONTADOR + 1
     Print File ARQIMP "\n"
    EndWhile
    Print File ARQIMP "\n"
    Print File ARQIMP Format("W86,AR","   * * * *  CONTINUA NO PROXIMO FORMULARIO * * * *      ")
    Print File ARQIMP spaces(02)+"Peso Total......: "+LTrim(Format("W11.3,AR","*****"))+"\n"
    
    Print File ARQIMP "\n"
    If Substr([Observacao do Pedido],111,110)<>""
       Then Print File ARQIMP "\n"
    EndIf
    If Substr([Observacao do Pedido],221,110)<>""
       Then Print File ARQIMP "\n"
    EndIf
    
    Print File ARQIMP "\n"
    Print File ARQIMP "\n"
    Print File ARQIMP "  ------------------------------------------------------------------------------------------------------------------------------------"
    Print File ARQIMP CI_10CPP
    Print File ARQIMP "\f"+"\n"
  Else
    Print File ARQIMP "\n"
    Print File ARQIMP spaces(02)+"Peso Total......: "+LTrim(Format("W11.3,EIC",[PedidoC->Peso Liquido]))+"\n"
    
    Print File ARQIMP spaces(02)+"Obs. do Pedido..: "+Format("W110,AL",SubStr([Observacao do Pedido],001,110))+"\n"
    If Substr([Observacao do Pedido],111,110)<>""
       Then Print File ARQIMP  Spaces(20)+Format("W110,AL",SubStr([Observacao do Pedido],111,110))+"\n"
    EndIf
    If Substr([Observacao do Pedido],221,110)<>""
       Then Print File ARQIMP  Spaces(20)+Format("W110,AL",SubStr([Observacao do Pedido],221,110))+"\n"
    EndIf
    
    Print File ARQIMP Spaces(40)+"_______________________________________________"+"\n"
    Print File ARQIMP Spaces(40)+"        Data/Assinatura Responsavel"+"\n\n"
    Print File ARQIMP "  ------------------------------------------------------------------------------------------------------------------------------------"
    Print File ARQIMP CI_10CPP
    Print File ARQIMP "\f"+"\n"
EndIf  

Do_It!
EndProc

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

If (CONTADOR+nl)>20
   Then RodaPe(True)
        Cabecalho() 
        CONTADOR=nl    
        Moveto "PedidoI" 
   Else CONTADOR=CONTADOR+nl
EndIf
EndProc ;Checa_Linha()
;*******************************************************************************
;* Rotina Principal                                                            *
;*******************************************************************************

ArqImp=PrivDir()+"PD_0268S.Txt"
If IsFile(ArqImp)
   Then Deleta_Arquivo(ARQIMP)
EndIf

AGUARDE("Imprimindo Pedido Expedi‡Ćo -> "+PEDIDO)

Cabecalho()
Itens()
Rodape(false)

ImpriArq(ARQIMP)

Release Vars VALOR,DATA, CONTADOR
Release Procs Itens, Rodape, Cabecalho, Seta_FilePrint, Imprime_FilePrint, Checa_Linha

