private aTabela,zTotLocaMes:=0,zCobraDiaSaida:='S',zCnpjCpf
//sFgDebugAlert := .t.
DbCloseAll()
aAdd( aVetorVariavelConteudo, {'[EMPRESA]', Si_razaosocial} )
aAdd( aVetorVariavelConteudo, {'[CNPJ]', formatacnpjcpf(Si_cnpj,,,.t.)} )
aAdd( aVetorVariavelConteudo, {'[EMPRESA_RUA]', AllTrim(Si_rua+' '+Si_numrua)} )
aAdd( aVetorVariavelConteudo, {'[EMPRESA_BAIRRO]', Si_bairro} )
aAdd( aVetorVariavelConteudo, {'[EMPRESA_CIDADE]', Si_cidade} )
aAdd( aVetorVariavelConteudo, {'[EMPRESA_UF]', Si_uf} )
aAdd( aVetorVariavelConteudo, {'[EMPRESA_CEP]',  if(.not.empty(Si_cep), left(AllTrim(Si_cep),5)+"-"+SubStr(SoNumeros(Si_cep,8),6),"")} )

// debugalert('vai puxar dados do cliente para imprimir contrato ')
abra('0NOIDX',R_SIGA,'SCCRCLI','SCCRCLI')
sccrcli->(DbGoto(m_fcli))
zCobraDiaSaida:=if(sccrcli->cr_CobrSai<>"N","S","N")
zCnpjCpf := if(cgc_ok(sccrcli->cr_cgc),'CNPJ','CPF')
aAdd( aVetorVariavelConteudo, {'[NOME_CLIENTE]', AllTrim(sccrcli->cr_nome)} )
aAdd( aVetorVariavelConteudo, {'[CPF_OU_CNPJ]', zCnpjCpf} )
aAdd( aVetorVariavelConteudo, {'[CNPJ_DO_CLIENTE]', formatacnpjcpf(AllTrim(sccrcli->cr_cgc)) } )
aAdd( aVetorVariavelConteudo, {'[RUA_DO_CLIENTE]', AllTrim(sccrcli->cr_rua)+if(.not.empty(sccrcli->cr_numrua),', No '+alltrim(sccrcli->cr_numrua),'')} )
aAdd( aVetorVariavelConteudo, {'[CIDADE_DO_CLIENTE]', AllTrim(sccrcli->cr_cidade)} )
aAdd( aVetorVariavelConteudo, {'[UF_DO_CLIENTE]', AllTrim(sccrcli->cr_UF)} )
aAdd( aVetorVariavelConteudo, {'[CEP_DO_CLIENTE]', sccrcli->(if(.not.empty(cr_CEP), left(SoNumeros(cr_CEP,8),5)+"-"+SubStr(SoNumeros(cr_CEP,8),6),""))} )
aAdd( aVetorVariavelConteudo, {'[NUMERO_DO_CONTRATO]', StrZero(sccrcli->cr_cod_cli,10)} )
aAdd( aVetorVariavelConteudo, {'[DATA_DO_CONTRATO]', dia_ext(sccrcli->cr_dt_cont,.f.)} )
sccrcli->(dbCloseArea())

aAdd( aDocTabelas, {{},2} )
aTabela:=aDocTabelas[Len(aDocTabelas), 1]

Abra ('0NOIDX', r_siga, 'se_prod', 'se_prod', 'seip_c', 'pcod')
// if type('d_dtela')<>'U'.and.upper(d_dtela)='SF_PN'
if type('d_dtela')<>'U'.and.upper(d_dtela)='SF_PN' .and. m_fNum=0
   Abra ('0NOIDX', r_siga, 'sf_pnmv', 'sf_pnmv', 'sf_pnmv', 'fNumPed')
   if DbSeek( m_fNumPed )
      debugalert('achou itens de m_fNumPed='+str(m_fNumPed))
      Do While fNumPed=m_fNumPed .And. .Not. Eof()
         if Quant>0 .and. .not. Deleted() .and. Se_Prod->(DbSeek(sf_pnmv->Cod))
            debugalert('achou ITENS DO pedido ')
            aAdd(aTabela, {lTrim(Str(Quant,12)),AllTrim(Desc)+" (Cod"+lTrim(Str(cod,14))+")",lTrim(Transform(Se_Prod->pValLoca1d,"@E 999,999.99")),lTrim(Transform(PrTotal/Quant,"@E 999,999,999.99")),lTrim(Transform(PrTotal,"@E 999,999,999.99")),lTrim(Transform(pValLoca,"@E 999,999,999.99")),lTrim(Transform(pValLoca*Quant,"@E 999,999,999.99"))})
            zTotLocaMes+=pValLoca*Quant
         endif
         DbSkip()
      EndDo
      aDocTabelas[Len(aDocTabelas), 1] := aTabela
   else
      debugalert('NAO achou itens de m_fNumPed='+str(m_fNumPed) )
   endif
   sf_pnmv->(dbCloseArea())
else
   Abra ('0NOIDX', r_siga, wSe_Mov, 'Se_MovNf', wSeim_f, 'mfNum')
   if DbSeek(m_fNum)
      debugalert('achou itens de m_fNum='+str(m_fNum))
      Do While mfNum=m_fNum .And. .Not. Eof()
         if m_fcli=mcodforc .and. mQuant > 0 .and. mtipoven<>"C" .and. mfges="S" .and. se_prod->(DbSeek(Se_MovNf->pcod))
            // debugalert('achou itens do pedido '+str(m_fNum))
            aAdd( aTabela, {lTrim(Str(mQuant,12)), AllTrim(se_prod->pDesc)+" (Cod"+lTrim(Str(pcod,14))+")", lTrim(Transform(Se_Prod->pValLoca1d,"@E 999,999.99")), lTrim(Transform(mValor/mQuant,"@E 999,999.99")), lTrim(Transform(mValor,"@E 999,999,999.99")), lTrim(Transform(pValLoca,"@E 999,999.99")), lTrim(Transform(pValLoca*mQuant,"@E 999,999,999.99")) } )
            zTotLocaMes+=pValLoca*mQuant
         endif
         DbSkip()
      EndDo
      aDocTabelas[Len(aDocTabelas), 1] := aTabela
   else
      debugalert('NAO achou itens de m_fNum='+str(m_fNum))
   endif
   Se_MovNf->(dbCloseArea())
endif
se_prod->(dbCloseArea())

// debugalert('puxou '+str(len(aTabela))+' produtos ')

// alert('vai escrever totais por extenso')
aAdd( aVetorVariavelConteudo, {'[DIAS_DE_LOCACAO]', ltrim(str(m_fdataret-m_fdataemi+if(zCobraDiaSaida='N',0,1),6))} )
aAdd( aVetorVariavelConteudo, {'[VENCIMENTO_DA_LOCACAO]', dtoc(m_fdataret)} )
aAdd( aVetorVariavelConteudo, {'[DATA_DA_LOCACAO]', dia_ext(m_fdataemi)} )

aAdd( aVetorVariavelConteudo, {'[NUMERO_DO_ADITIVO]', lTrim(Str(m_fObraNoCli,3))+'.'+lTrim(Str(m_fAditivo,3))+'.0-'+lTrim(Str(m_fnumped,9)) } )
aAdd( aVetorVariavelConteudo, {'[VALOR_NOTA]', lTrim(Transform(m_fval,"@E 999,999,999.99"))} )
aAdd( aVetorVariavelConteudo, {'[VL_EXTENSO]', numext(m_fVal)} )

aAdd( aVetorVariavelConteudo, {'[VL_LOCACAO]', lTrim(Transform(m_fValLoca-m_fValFrete,"@E 999,999,999.99"))} )
aAdd( aVetorVariavelConteudo, {'[VL_EXTENSO_LOCACAO]', numext(m_fValLoca-m_fValFrete)} )
if m_fValFrete>0
   aAdd( aVetorVariavelConteudo, {'[TAXA_DE_ENTREGA]', ', e mais uma taxa de entrega no valor de R$ '+lTrim(Transform(m_fValFrete,"@E 999,999,999.99"))+' ('+numext(m_fValFrete)+')' } )
else
   aAdd( aVetorVariavelConteudo, {'[TAXA_DE_ENTREGA]', '' } )
endif

if m_fDsc1Loca>0 .and. m_fValLoca>0
   aAdd( aVetorVariavelConteudo, {'[DESCONTO_PRIMEIRA_LOCACAO]', 'Obs: Foi concedido um desconto de '+lTrim(Transform(m_fDsc1Loca,'@E 99.99'))+'% na primeira locação' } )
   if m_fDscReloc>0
      if m_fDscReloc = m_fDsc1Loca
         aAdd( aVetorVariavelConteudo, {'[DESCONTO_RELOCACOES]', ', que será aplicado nas eventuais relocações.'} )
      else
         aAdd( aVetorVariavelConteudo, {'[DESCONTO_RELOCACOES]', ', e será concedido um desconto de '+lTrim(Transform(m_fDscReloc,'@E 99.99'))+'% nas eventuais relocações.' } )
      endif
   else
      aAdd( aVetorVariavelConteudo, {'[DESCONTO_RELOCACOES]', '.' } )
   endif
else
   aAdd( aVetorVariavelConteudo, {'[DESCONTO_PRIMEIRA_LOCACAO]', '' } )
   if m_fDscReloc>0
      aAdd( aVetorVariavelConteudo, {'[DESCONTO_RELOCACOES]', 'Obs: será concedido um desconto de '+lTrim(Transform(m_fDscReloc,'@E 99.99'))+'% nas eventuais relocações.' } )
   else
      aAdd( aVetorVariavelConteudo, {'[DESCONTO_RELOCACOES]', '.' } )
   endif
endif
aAdd( aVetorVariavelConteudo, {'[VL_LOCACAO_MENSAL]', lTrim(Transform(zTotLocaMes,"@E 999,999,999.99"))} )
aAdd( aVetorVariavelConteudo, {'[VL_EXTENSO_LOCACAO_MENSAL]', numext(zTotLocaMes)} )

abra('0NOIDX',R_SIGA,'vb_pref','vb_pref')
DbGoto(m_fObra)
aAdd( aVetorVariavelConteudo, {'[NOME_DA_OBRA]', AllTrim(cr_fantasi)} )
aAdd( aVetorVariavelConteudo, {'[RUA_DA_OBRA]', AllTrim(cr_rua) +' '+AllTrim(cr_numrua)+' '+ AllTrim(cr_bairro)} )
aAdd( aVetorVariavelConteudo, {'[CIDADE_DA_OBRA]', AllTrim(cr_cidade)} )
aAdd( aVetorVariavelConteudo, {'[UF_DA_OBRA]', AllTrim(cr_uf)} )
aAdd( aVetorVariavelConteudo, {'[CEP_DA_OBRA]', AllTrim(cr_cep)} )
aAdd( aVetorVariavelConteudo, {'[OBS_DO_ADITIVO]', if('#'$m_fobs,SubStr(AllTrim(m_fobs),At('#',AllTrim(m_fobs))+1),'')} )

// alert('vai mostrar no word')