;** Ro_0216 ********************************************************************
;** Imprime a Digitacao do Romaneio               HF Tecidos                  *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 30/10/2008 por Anivel Augusto Rodrigues
;Alterado em     : 06/11/2008 por Nikolas
;Motivo Alteracao: ajustes
;Ultima Alteracao: 15/06/2016 por Bruno Carvalho 
;Motivo Alteracao: Adicionado Pega_Endereco_Fatura() e ajustado dados do endere‡o
;Ultima Alteracao: 26/06/2018 por Anivel Augusto Rodrigues                           
;Motivo Alteracao: Ajustes itens mercadoria/servico

;*******************************************************************************
;* Rotina para Impressao do Relatorio                                          *
;*******************************************************************************
Proc IMPRO()

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

Moveto "FaturaC"
Pega_Endereco_Fatura([Numero da OF])

Print File ARQIMP CI_15CPP
Print File ARQIMP CI_8LPP

Print File ARQIMP Fill("-",54)+"\n"

Print File ARQIMP "EMISSAO: "+Format("D13",[Data de Saida])+"-"+Format("W5,AL",[Hora de Saida])+
                  Spaces(14)+"NUMERO:  "+Format("W06.3,AL",NOTAFISC)+"\n"

Print File ARQIMP Fill("-",54)+"\n"

Print File ARQIMP "CLIENTE.: "
Print File ARQIMP Format("W05,AL",[Codigo])
Print File ARQIMP Format("W40,AL",[Razao Social])+"\n"

CLIENTE=[Razao Social]
Print File ARQIMP "ENDERE€O: "+ Format("W40,AL",[Endereco])+"\n"
Print File ARQIMP "BAIRRO..: "+ Format("W20,AL",[Bairro])+
"FONE: " + Format("W20,AL",[Telefone])+"\n"
Print File ARQIMP "CIDADE..: "+[Cidade]+"/"+[UF]+" - "+[CEP]+"\n"
Print File ARQIMP "CNPJ/CPF: "+Format("W22,AL",[CGC])+"IE: "+[IE]+"\n"

Print File ARQIMP "VENDEDOR: "+Format("W28,AL",[Nome Fantasia Represent])
Print File ARQIMP "PEDIDO: "+[Numero do Pedido]+"\n\n"

If Not IsBlank(VSD_E_Endereco) And
   VSD_E_Endereco<>"O MESMO"
   Then Print File ARQIMP "ENTREGA.: "+VSD_E_Endereco+"\n"
        Print File ARQIMP "          "+VSD_E_Bairro+" - "+VSD_E_CEP+"\n"
        Print File ARQIMP "          "+VSD_E_Cidade+"/"+VSD_E_UF+"\n\n"
EndIf

Moveto "FaturaC"
;********** Observacoes *****************************
;TamObs=54
;
;nlobs=Len([FaturaC->Observacao na Nota Fiscal])/tamobs
;If nlobs-Int(nlobs)>0
;   Then nlobs=Int(nlobs)+1
;   Else nlobs=Int(nlobs)
;EndIf
;
;posobs=1
;For i from 1 to nlobs
;  Print File ARQIMP SubStr([Observacao na Nota Fiscal],posobs,tamobs)+"\n"
;  posobs=posobs+tamobs
;EndFor
;
;******************************** IMPRESSAO DOS ITENS ********************************
Print File ARQIMP Fill("=",54)+"\n"
Print File ARQIMP "Item"+"\n"
Print File ARQIMP "Referencia            Qtde      x  Vr.Unit   =Vr.Total"+"\n"
Print File ARQIMP Fill("-",54)+"\n"

Moveto "FaturaI"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
QUANT=0
TOT  =0
PARAM_TAMANHO_DESCR=43

While [Numero da OF]=[FaturaC->Numero da OF]


  desc=[Descricao do Item]
  ref =""
  Moveto [Codigo do Item]
  If BUSCA_LOOKUP("Codigo do Item",[FaturaI->Codigo do Item],"SM")
     Then desc=REG_BUSCA_LOOKUP["Descricao Complementar"]
          ref =REG_BUSCA_LOOKUP["Referencia"]
  EndIf

  Numero_de_Linhas=Int(Len(Desc)/PARAM_TAMANHO_DESCR)
	If (Len(Desc)/PARAM_TAMANHO_DESCR)>Numero_de_Linhas
     Then Numero_de_Linhas=Numero_de_Linhas+1
  EndIf

	LINHA_ITEM = Format("W11,AL",[Codigo do Item])

  pos_inicial=1
  For nl From 1 To Numero_de_Linhas
     LINHA_ITEM = LINHA_ITEM + Format("W43,AL",SubStr(Desc,pos_inicial,PARAM_TAMANHO_DESCR))
     Print File ARQIMP LINHA_ITEM+"\n"
     If nl<Numero_de_Linhas
        Then LINHA_ITEM = Spaces(11)
						 pos_inicial=pos_inicial+PARAM_TAMANHO_DESCR
     EndIf
  EndFor

  LINHA_ITEM=Format("W21,AL",ref)+Format("W10.3,EIC",[Quantidade])+Spaces(01)
  LINHA_ITEM=Spaces(18)+Format("W10.3,EIC",[Quantidade])+Spaces(01)
	LINHA_ITEM=LINHA_ITEM+Format("W02,AL",[Unidade Fiscal])+" x "
  LINHA_ITEM=LINHA_ITEM+Format("W08.2,EIC",[Preco Unitario])+"="
  LINHA_ITEM=LINHA_ITEM+Format("W11.2,EIC",[Preco Total])

	Print File ARQIMP LINHA_ITEM+"\n"
  Print File ARQIMP Fill("-",54)+"\n"

	QUANT=QUANT+[Quantidade]
	TOT=TOT+[Preco Total]
	Skip
	If EOT() Then QuitLoop EndIf
EndWhile

Moveto "FaturaC"
Print File ARQIMP "      Total..."+Format("W14.3,EIC",QUANT)
Print File ARQIMP Format("W26.2,EIC",[Valor Mercadoria])+"\n"
Print File ARQIMP Fill("-",54)+"\n"
;Print File ARQIMP "DESCONTO..: "+Format("W08.2,EIC,AL",[Valor Desconto])+
Print File ARQIMP "DESCONTO..: "+Format("W08.2,EIC,AL",[Taxa de Desconto])+"% "+
                  Spaces(03)+"FRETE: "+Format("W08.2,EIC,AL",[Valor do Frete])+"\n\n"
Print File ARQIMP "VR A PAGAR: "
Print File ARQIMP CI_10CPP
Print File ARQIMP CI_IEXP
Print File ARQIMP Format("W11.2,EIC,AL",[Valor Nota Fiscal])+"\n\n"
Print File ARQIMP CI_FEXP
Print File ARQIMP CI_15CPP

;********** PARCELAS/VENCIMENTOS ********************
Moveto "FaturaV"
Print File ARQIMP Fill("-",54)+"\n"
Print File ARQIMP "Condicao de Pagamento: "+[FaturaC->Condicao de Pagamento]+"-"+[FaturaC->Descricao CondPagto]+"\n\n"
Print File ARQIMP Spaces(04)+"PARCELA"+Spaces(05)+"ND"+Spaces(05)+"VENCIMENTO"+Spaces(07)+"VALOR"+Spaces(02)+"FP"+"\n"

Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
If RetVal
   Then While ([Numero da OF]=[FaturaC->Numero da OF])
          Print File ARQIMP Spaces(07)+AlinhM([Sequencia],2)+Spaces(05)+Format("W4",[Numero de Dias])+
                            Spaces(05)+ Format("D13",[Data])+Spaces(01)+Format("W11.2,EIC",[Valor])+Spaces(02)+Format("W2",[Forma de Pagamento])+"\n"
          Skip
          If EOT() Then QuitLoop EndIf
        EndWhile
EndIf

;********** Rodape **********************************
Moveto "FaturaC"
Print File ARQIMP "\n\n"

Moveto "FaturaC"
;********** Observacoes *****************************
TamObs=54

nlobs=Len([FaturaC->Observacao na Nota Fiscal])/tamobs
If nlobs-Int(nlobs)>0
   Then nlobs=Int(nlobs)+1
   Else nlobs=Int(nlobs)
EndIf

posobs=1
For i from 1 to nlobs
  Print File ARQIMP SubStr([Observacao na Nota Fiscal],posobs,tamobs)+"\n"
  posobs=posobs+tamobs
EndFor

Print File ARQIMP "\n"


;Print File ARQIMP Spaces(07)+Fill("-",40)+"\n"
;Print File ARQIMP Spaces(07)+Format("W40,AC",CLIENTE)+"\n\n"

Print File ARQIMP CI_IEXP
Print File ARQIMP "Volumes: "+Format("W13,AL",[Numero de Volumes])+"\n"

Print File ARQIMP CI_IEXP
Print File ARQIMP "   Peso: "+Format("W13.3,EIC,AL",[Peso Liquido])
Print File ARQIMP CI_FEXP
Print File ARQIMP CI_15CPP+"\n\n"

Print File ARQIMP Format("D13",Today())+" - "+StrVal(Time())+"\n"
Print File ARQIMP Fill("-",54)+CI_10CPP+CI_6LPP+"\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n"

EndProc ; (IMPRO)

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

AGUARDE("Imprimindo Romaneio -> "+NOTAFISC)
IMPRO()

ImpriArq(ARQIMP)

Release Vars CLIENTE,END_ENT,BAI_ENT,CID_ENT,CEP_ENT,UF_ENT
Release Procs IMPRO
LIMPAGUARDE()

