;** Ro_0278 ********************************************************************
;** Imprime a Digitacao do Romaneio                     Maciel                 *
;*******************************************************************************
;Autor           : Vise Informatica (VISERP)
;Desenvolvido  em: 18/11/2014 por Nikolas
;Alterado em     : 01/12/2014 por Andrey Fillipe
;Motivo Alteracao: Adicionado Endereco de Entrega
;Alterado em     : 09/12/2014 por Andrey Fillipe
;Motivo Alteracao: Implementado para sair Informa‡oes Adicionais do item
;Alterado em     : 21/07/2015 por Kamila Gomes
;Motivo Alteracao: Implementado para sair Valor do troco quando existir
;Alterado em     : 24/07/2015 por Heverton Amaral/ Andrey Fillipe
;Motivo Alteracao: Ajustes informacoes adcionais do item
;Ultima Alteracao: 15/06/2016 por Bruno Carvalho 
;Motivo Alteracao: Adicionado Pega_Endereco_Fatura() e ajustado dados do endere‡o
;Alterado em     : 18/11/2016 por Heverton Amaral
;Motivo Alteracao: Ajustes de impressÆo 
;Alterado em     : 12/05/2017 por Kamila Gomes
;Motivo Alteracao: Adicionado a marca do item
;Alterado em     : 05/07/2017 por Rafael Matos
;Motivo Alteracao: Removido Endere‡o de Entrega e Incluso Nome Fantasia                    
;Alterado em     : 07/06/2018 por Anivel Augusto Rodrigues
;Motivo Alteracao: Adicionado documento sem valor
;Ultima Alteracao: 26/06/2018 por Anivel Augusto Rodrigues                           
;Motivo Alteracao: Ajustes itens mercadoria/servico
;Ultima Alteracao: 10/02/2020 por Bruno Carvalho                           
;Motivo Alteracao: Ajustes na impressÆo ao escolher entre impressoras DARUMA ou BEMATECH

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

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

Pega_Endereco_Fatura([FaturaC->Numero da OF])

Moveto "FaturaC"
Moveto [Codigo da Tabela]
GetRecord "\\Sistemas\\Vendas\\Tbprcab" [FaturaC->Codigo da Tabela] To descrtab
If RetVal
   Then descrtab=descrtab["Descricao da Tabela"]
   Else descrtab="?"
EndIf                 


Print File ARQIMP Fill("=",TAMANHO_COLUNA_IMPRESSORA_CI_15CPP)+"\n"
Print File ARQIMP CI_IEXP
Print File ARQIMP CI_INEG

Switch
  Case Search("DEV",[Descricao da Destinacao])>0            : Print File ARQIMP "DEVOLU€ŽO"
  Case Search("SIMPLES REMESSA",[Descricao da Destinacao])>0: Print File ARQIMP "SIMPLES REMESSA"
  Case [Codigo da Destinacao]<>""                           : Print File ARQIMP "PEDIDO"
  OtherWise                                                 : Print File ARQIMP "PEDIDO"
EndSwitch

Print File ARQIMP CI_FEXP
Print File ARQIMP CI_FNEG

Print File ARQIMP Spaces(10)+Username()
Print File ARQIMP "\n"

Print File ARQIMP Spaces(01)+"EMISSAO: "+Format("D13",Today())+"-"+Time()+"  "+
                  " NUMERO:  "+Format("W06.3,AL",NOTAFISC)+"\n"

Print File ARQIMP "\n"
Print File ARQIMP CI_INEG+format("W"+StrVal(TAMANHO_COLUNA_IMPRESSORA_CI_15CPP)+",AC","** DOCUMENTO SEM VALOR FISCAL **")+CI_FNEG+"\n"
Print File ARQIMP "\n"

Print File ARQIMP Spaces(04)+"VEND: "+Format("W21,AL",[Nome Fantasia Represent])+"\n"
Print File ARQIMP Spaces(04)+" TAB: "+Format("W06,AL",[Codigo da Tabela])
Print File ARQIMP Format("W35,AL",descrtab)+"\n"

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

Print File ARQIMP Spaces(01)+"CLIENTE..: "
Print File ARQIMP Format("W05,AL",[Codigo])
Print File ARQIMP Format("W31,AL",[Razao Social])+"\n"
Print File ARQIMP Spaces(12) + Format("W31,AL",[Nome Fantasia EmitDest])+"\n"
Print File ARQIMP Spaces(01)+"CPF/CNPJ.: "+Format("W27,AL",[CGC])+"\n"
;Print File ARQIMP Spaces(02)+"AUTORIZ.: "+Format("W30,AL",[Nome do Autorizado])+Format("W14,AL",[CPF do Autorizado])+"\n"
CLIENTE=[Razao Social]
Print File ARQIMP Spaces(01)+"ENDERECO.: "+ Format("W36,AL",[Endereco])+"\n"
Print File ARQIMP Spaces(01)+"BAIRRO...: "+ Format("W20,AL",[Bairro])+"\n"
Print File ARQIMP Spaces(01)+"FONE.....: " + Format("W19,AL",[Telefone])+"\n"
Print File ARQIMP Spaces(01)+"CIDADE...: "+Format("W20,AL",[Cidade])+Spaces(2)
Print File ARQIMP "PEDIDO: "+[Numero do Pedido]+"\n"  

;********** PARCELAS/VENCIMENTOS ********************

Print File ARQIMP Fill("-",TAMANHO_COLUNA_IMPRESSORA_CI_15CPP)+"\n"
Print File ARQIMP Spaces(01)+"PARCELA"+Spaces(05)+"ND"+Spaces(05)+"VENCIMENTO"+Spaces(07)+"VALOR"+Spaces(02)+"FP"+"\n"

Moveto "FaturaV"
Moveto [Numero da OF]
Locate [FaturaC->Numero da OF]
If RetVal
   Then While ([Numero da OF]=[FaturaC->Numero da OF])
          Print File ARQIMP Spaces(4)+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

;******************************** IMPRESSAO DOS ITENS ********************************
Print File ARQIMP Fill("=",TAMANHO_COLUNA_IMPRESSORA_CI_15CPP)+"\n"
Print File ARQIMP "   CODIGO     DESCRICAO"+"\n"
Print File ARQIMP "              MARCA    "+"\n"
Print File ARQIMP "       QTD  UF      Vr.Uni     Vr.Total"+"\n"
Print File ARQIMP Fill("=",TAMANHO_COLUNA_IMPRESSORA_CI_15CPP)+"\n"

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

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

  getrecord "\\sistemas\\estoque\\itens" [Codigo do Item] to regitens
  if retval
     then marca=regitens["Descricao da Marca"]
     else marca=""
  endif   

Print File ARQIMP Spaces(03)+Format("W11,AL",[Codigo do Item])+
                  Format("W30,AL",[Descricao do Item])+"\n"
Print File ARQIMP Spaces(14)+Format("W30,AL",marca)+"\n"
Print File ARQIMP Format("W11.3,EIC",[Quantidade])+" "+
                  Format("W03,AL",[Unidade Fiscal])+"x "+
                  Format("W09.2,EIC",[Preco Unitario])+" = "+
                  Format("W10.2,EIC",[Preco Total])+"\n"
                  If Not IsBlank([Informacoes_Adicionais])
                     Then Print File ARQIMP Spaces(01)+Format("W46,AL","Inf. Item: "+SubStr([Informacoes_Adicionais],1,35))+"\n"
                          If Not IsBlank(SubStr([Informacoes_Adicionais],36,46))
                             Then Print File ARQIMP Spaces(01)+Format("W46,AL",SubStr([Informacoes_Adicionais],36,46))+"\n"
                          EndIf   
                  EndIf   

;   Print File ARQIMP Format("W06,AL",SubStr([Codigo do Item],4,5))
;   Print File ARQIMP Format("W24,AL",[Descricao do Item])+" "
;   Print File ARQIMP Format("W03,AL",[Unidade Fiscal])
;   Print File ARQIMP Format("W03,EIC",[Quantidade])+Spaces(01)
;   Print File ARQIMP Format("W06.2,EIC",[Preco Unitario])+"  "
;   Print File ARQIMP Format("W08.2,EIC",[Preco Total])+"\n"

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

Moveto "FaturaC"
Print File ARQIMP Spaces(05)+"------"
Print File ARQIMP Spaces(22)+"------"+"\n"
Print File ARQIMP Spaces(02)+Format("W09.3,EIC",QUANT)
Print File ARQIMP Spaces(17)+Format("W11.2,EIC",[Valor Mercadoria]+[Valor Servico])+"\n"
Print File ARQIMP Fill("-",TAMANHO_COLUNA_IMPRESSORA_CI_15CPP)+"\n"

Print File ARQIMP "VR.MERCADORIAS: "+Format("W11.2,EIC",[Valor Mercadoria])+
                  Spaces(02)+"VR.DESCTO: "+Format("W8.2,EIC",[Valor Desconto])+"\n"

Print File ARQIMP "VR.SERVICO....: "+Format("W11.2,EIC",[Valor Servico])+
                  Spaces(02)+"VR.DESCTO: "+Format("W8.2,EIC",[Valor Desconto Servico])+"\n"

Print File ARQIMP "VR.FRETE......: "+Format("W11.2,EIC",[Valor do Frete])+"\n\n"
Print File ARQIMP "VR A PAGAR....: "
Print File ARQIMP CI_IEXP
Print File ARQIMP LTrim(Format("W11.2,EIC",[Valor Nota Fiscal]))+"\n\n"
Print File ARQIMP CI_FEXP

If IsAssigned(VSD_VrTroco)
   Then Print File ARQIMP Spaces(01)+"VR RECEBIDO..: "+Format("W11.2,EIC",VSD_VrTroco)+"\n"
        Print File ARQIMP Spaces(01)+"VR TROCO.....: "+Format("W11.2,EIC",VrTroco)+"\n"
EndIf


If Not Isblank(SubStr([Observacao na Nota Fiscal],001,36))
   Then Print File ARQIMP Spaces(01)+"OBS......: "
        Moveto "FaturaC"
        Print File ARQIMP Format("W36,AL",SubStr([Observacao na Nota Fiscal],001,36))+"\n"
        If Not IsBlank (SubStr([Observacao na Nota Fiscal],037,47))
           Then Print File ARQIMP Spaces(01)+Format("W47,AL",SubStr([Observacao na Nota Fiscal],037,47))+"\n"
                If Not IsBlank(SubStr([Observacao na Nota Fiscal],84,47))
                   Then Print File ARQIMP Spaces(01)+Format("W47,AL",SubStr([Observacao na Nota Fiscal],84,47))+"\n"
                        If Not IsBlank(SubStr([Observacao na Nota Fiscal],131,47))
                           Then Print File ARQIMP Spaces(01)+Format("W47,AL",SubStr([Observacao na Nota Fiscal],131,47))+"\n"
                        EndIf 
                EndIf
        EndIf
EndIf

Print File ARQIMP "\n"
Print File ARQIMP Fill("-",TAMANHO_COLUNA_IMPRESSORA_CI_15CPP)+"\n\n\n"
Print File ARQIMP Spaces(04)+Fill("-",45)+"\n"
Print File ARQIMP Spaces(04)+Format("W45,AC",CLIENTE)+"\n"
Print File ARQIMP Fill("-",TAMANHO_COLUNA_IMPRESSORA_CI_15CPP)+"\n\n\n\n\n"
Print File ARQIMP "\n\n\n\n\n"
Print File ARQIMP EPSON_GUILHOTINA

EndProc ; (IMPRO)

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

If Not IsAssigned(BIBSHOW_IMPRESSORA_SETADA)                                    ;Daruma 
   Then CI_15CPP = CI_10CPP
        TAMANHO_COLUNA_IMPRESSORA_CI_15CPP = 48 
EndIf 

If Isassigned(BIBSHOW_IMPRESSORA_SETADA) And (BIBSHOW_IMPRESSORA_SETADA = "EPSON" Or BIBSHOW_IMPRESSORA_SETADA="BEMATECH")
   Then Print File ARQIMP EPSON_INICIALIZA_IMPRESSAO 
        Print File ARQIMP CI_8LPP
        Print File ARQIMP CI_15CPP 
   Else Print File ARQIMP CI_15CPP      
EnDIf   

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

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

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