Um erro ocorreu enquanto processava o modelo.
The following has evaluated to null or missing:
==> disclaimerURL  [in template "20097#20123#2946458" at line 54, column 17]

----
Tip: If the failing expression is known to legally refer to something that's sometimes null or missing, either specify a default value like myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)??
----

----
FTL stack trace ("~" means nesting-related):
	- Failed at: disclaimerURL = disclaimerURL.getData()  [in template "20097#20123#2946458" at line 54, column 3]
----
1<#function formatText text> 
2  <#assign cleanedText=text?lower_case 
3    cleanedText=cleanedText?replace("à|á|ã|â", "a" , 'r' ) 
4    cleanedText=cleanedText?replace("é|è|ê", "e" , 'r' ) 
5    cleanedText=cleanedText?replace("í|ì|î", "i" , 'r' ) 
6    cleanedText=cleanedText?replace("ó|ò|õ|ô", "o" , 'r' ) 
7    cleanedText=cleanedText?replace("ú|ù|û", "u" , 'r' ) 
8    cleanedText=cleanedText?replace("ç", "c" , 'r' ) 
9    cleanedText=cleanedText?replace("!", "" , 'r' ) 
10    cleanedText=cleanedText?replace("(?<=[0-9] 
11    )(?:ª|º)", "" , 'r' ) 
12    cleanedText=cleanedText?replace("\\s+", "-" , 'r' )> 
13  <#return cleanedText> 
14</#function> 
15<#assign instanceId=.vars["reserved-article-id"].data> 
16<#function truncateIgnoringSpaces text maxLength> 
17  <#assign 
18    count=0 
19    result=""> 
20  <#list text?split("") as char> 
21    <#if count < maxLength> 
22      <#assign result +=char> 
23      <#if char !=" "> 
24        <#assign count +=1> 
25      </#if> 
26    </#if> 
27  </#list> 
28  <#return result> 
29</#function> 
30<#function applyBold text> 
31  <#assign boldText=text?replace("\\*\\*(.*?)\\*\\*", "<strong>$1</strong>" , "r" ) /> 
32  <#return boldText> 
33</#function> 
34<#assign 
35  backgroundColorContent=backgroundColor.getData() 
36  inverseBackgrounds=["background-primary-pure", "background-primary-high" , "background-secondary-high" ] 
37  isInverseButton=inverseBackgrounds?seq_contains(backgroundColorContent) 
38  isAfterFirstBanner=getterUtil.getBoolean(bannerOrder.getData()) 
39  isGradientDesk=getterUtil.getBoolean(backgroundGradient.getData()) 
40  isGradientMobile=getterUtil.getBoolean(backgroundGradientMobile.getData()) 
41  deskImage=desktopImage.getData() 
42  mobImage=mobileImage.getData() 
43  title=truncateIgnoringSpaces(bannerTitle.getData(), 40) 
44  dataTitle=formatText(title) 
45  subtitle=truncateIgnoringSpaces(bannerSubtitle.getData(), 160) 
46  textFirstButton=truncateIgnoringSpaces(buttonText.getData(), 30) 
47  dataFirstButton=formatText(textFirstButton) 
48  linkFirstButton=buttonLink.getData() 
49  ariaFirstButton=buttonAria.getData() 
50  targetFirstButton=buttonTarget.getData() 
51  disclaimerText=truncateIgnoringSpaces(bannerDisclaimerText.getData(), 70) 
52  disclaimerTextFile=truncateIgnoringSpaces(bannerDisclaimerTextFile.getData(), 30) 
53  disclaimerUploadFile=disclaimerFile.getData() 
54  disclaimerURL=disclaimerURL.getData() 
55
56<div class="main-banner-product ${backgroundColorContent}" data-background-color="${backgroundColorContent}" data-component-id="${instanceId}"> 
57  <div class="row flex-column-reverse flex-lg-row justify-content-between align-items-end"> 
58    <div class="d-none d-lg-block col-lg-1 main-banner-product__col-off"></div> 
59    <div class="col-12 col-lg main-banner-product__content pb-7"> 
60      <div class="d-flex flex-column main-banner-product__template justify-content-between pt-lg-5"> 
61        <div> 
62          <#if title??> 
63            <#if isAfterFirstBanner> 
64              <h2 class="mb-3 mb-lg-4 main-banner-product__title" data-title="${dataTitle}"> 
65                ${title} 
66              </h2> 
67            <#else> 
68              <h1 class="mb-3 mb-lg-6 main-banner-product__title" data-title="${dataTitle}"> 
69                ${title} 
70              </h1> 
71            </#if> 
72            <hr class="mt-0 mb-4 mb-lg-6 main-banner-product__line"> 
73          </#if> 
74          <#if subtitle??> 
75            <p class="mb-0 mb-lg-8 main-banner-product__body-text"> 
76              ${applyBold(subtitle)} 
77            </p> 
78          </#if> 
79        </div> 
80        <div> 
81          <div class="d-flex flex-column justify-content-between align-items-baseline mb-2"> 
82            <#if textFirstButton?? && textFirstButton !=""> 
83              <#if ((disclaimerText?? && disclaimerText !="" ) || (disclaimerTextFile?? && disclaimerTextFile !="" ))> 
84                <#if isInverseButton> 
85                  <a  
86                    class="js-main-banner-product-button bv-btn-2 bv-btn-2__primary-inverse"  
87                    href="${linkFirstButton}"  
88                    data-link="${linkFirstButton}"  
89                    target="${targetFirstButton}"  
90                    data-title="${dataTitle}"  
91                    data-text="${dataFirstButton}" 
92                    <#if ariaFirstButton?has_content> aria-label="${ariaFirstButton}"</#if> 
93
94                    ${textFirstButton} 
95                  </a> 
96                <#else> 
97                  <a  
98                    class="js-main-banner-product-button bv-btn-2 bv-btn-2__primary"  
99                    href="${linkFirstButton}"  
100                    data-link="${linkFirstButton}"  
101                    target="${targetFirstButton}"  
102                    data-title="${dataTitle}"  
103                    data-text="${dataFirstButton}" 
104                    <#if ariaFirstButton?has_content> aria-label="${ariaFirstButton}"</#if> 
105
106                    ${textFirstButton} 
107                  </a> 
108                </#if> 
109              <#else> 
110                <#if isInverseButton> 
111                  <a  
112                    class="js-main-banner-product-button bv-btn-2 bv-btn-2__primary-inverse mb-lg-10"  
113                    href="${linkFirstButton}"  
114                    data-link="${linkFirstButton}"  
115                    target="${targetFirstButton}"  
116                    data-title="${dataTitle}"  
117                    data-text="${dataFirstButton}" 
118                    <#if ariaFirstButton?has_content> aria-label="${ariaFirstButton}"</#if> 
119
120                    ${textFirstButton} 
121                  </a> 
122                <#else> 
123                  <a  
124                    class="js-main-banner-product-button bv-btn-2 bv-btn-2__primary mb-lg-10"  
125                    href="${linkFirstButton}"  
126                    data-link="${linkFirstButton}"  
127                    target="${targetFirstButton}"  
128                    data-title="${dataTitle}"  
129                    data-text="${dataFirstButton}" 
130                    <#if ariaFirstButton?has_content> aria-label="${ariaFirstButton}"</#if> 
131
132                    ${textFirstButton} 
133                  </a> 
134                </#if> 
135              </#if> 
136            </#if> 
137          </div> 
138          <div class="main-banner-product__disclaimer-area"> 
139            <#assign finalDisclaimerLink = (disclaimerURL?? && disclaimerURL != "")?then(disclaimerURL, disclaimerUploadFile)> 
140            <#if disclaimerText?? && disclaimerUploadFile?? && disclaimerTextFile?? && isInverseButton> 
141              <p class=" main-banner-product__disclaimer-text mb-2 mb-lg-0"> 
142                ${disclaimerText} 
143                <a 
144                  class="disclaimer-link-primary-inverse js-main-banner-product-link"  
145                  aria-label="link para ${disclaimerTextFile}"  
146                  href="${finalDisclaimerLink}"  
147                  target="_blank"  
148                  rel="noopener" 
149                  data-link="${finalDisclaimerLink}"  
150                  data-title="${languageUtil.format(locale, "${disclaimerTextFile}", false)}"  
151                  data-text="${disclaimerText} ${disclaimerTextFile}" 
152
153                  ${languageUtil.format(locale, "${disclaimerTextFile}", false)} 
154                </a> 
155              </p> 
156            </#if> 
157            <#if disclaimerText?? && finalDisclaimerLink?? && disclaimerTextFile?? && !isInverseButton> 
158              <p class=" main-banner-product__disclaimer-text mb-2 mb-lg-0"> 
159                ${disclaimerText} 
160                <a 
161                  class="disclaimer-link-primary js-main-banner-product-link"  
162                  aria-label="link para ${disclaimerTextFile}"  
163                  href="${finalDisclaimerLink}"  
164                  target="_blank" 
165                  data-link="${finalDisclaimerLink}"  
166                  data-title="${languageUtil.format(locale, "${disclaimerTextFile}", false)}"  
167                  data-text="${disclaimerText} ${disclaimerTextFile}" 
168
169                  ${languageUtil.format(locale, "${disclaimerTextFile}", false)} 
170                </a> 
171              </p> 
172            </#if> 
173            <#if disclaimerText?? && !disclaimerTextFile?? || disclaimerText?? && !finalDisclaimerLink??> 
174              <p class="main-banner-product__disclaimer-text mb-2 mb-lg-0"> 
175                ${disclaimerText} 
176              </p> 
177            </#if> 
178            <#if !disclaimerText?? && finalDisclaimerLink?? && disclaimerTextFile??> 
179              <#if isInverseButton> 
180                <a 
181                  class="disclaimer-link-primary-inverse mb-2 mb-lg-0 js-main-banner-product-link"  
182                  aria-label="link para ${disclaimerTextFile}"  
183                  href="${finalDisclaimerLink}"  
184                  target="_blank" 
185
186                  ${languageUtil.format(locale, "${disclaimerTextFile}", false)} 
187                </a> 
188                <#else> 
189                  <a 
190                    class="disclaimer-link-primary mb-2 mb-lg-0 js-main-banner-product-link"  
191                    aria-label="link para ${disclaimerTextFile}"  
192                    href="${finalDisclaimerLink}"  
193                    target="_blank" 
194
195                    ${languageUtil.format(locale, "${disclaimerTextFile}", false)} 
196                  </a> 
197              </#if> 
198            </#if> 
199          </div> 
200        </div> 
201      </div> 
202    </div> 
203    <div class="d-none d-lg-block col-lg pr-0"> 
204      <#if deskImage?? && deskImage !=""> 
205        <img  
206          fetchpriority="high"  
207          class="main-banner-product__image horizontal-grad ${isGradientDesk?then('background-gradient','')}"  
208          alt="${desktopImage.getAttribute("alt")}"  
209          data-fileentryid="${desktopImage.getAttribute("fileEntryId")}"  
210          src="${deskImage}" /> 
211      </#if> 
212    </div> 
213    <div class="d-block d-lg-none col-12 text-center main-banner-product__mobile-wrapper"> 
214      <#if mobImage?? && mobImage !=""> 
215        <img 
216          fetchpriority="high" 
217          class="main-banner-product__image vertical-grad ${isGradientMobile?then('background-gradient','')}" 
218          alt="${mobileImage.getAttribute("alt")}" 
219          data-fileentryid="${mobileImage.getAttribute("fileEntryId")}" 
220          src="${mobImage}" /> 
221      </#if> 
222    </div> 
223  </div> 
224</div> 
225 
226<style> 
227  .background-primary-high .background-gradient.horizontal-grad { 
228    mask-image: linear-gradient(270.22deg, var(--color-primary-low) 60.61%, rgba(237, 239, 252, 0) 99.9%); 
229    -webkit-mask-image: linear-gradient(270.22deg, var(--color-primary-low) 60.61%, rgba(237, 239, 252, 0) 99.9%); 
230
231 
232  .background-primary-pure .background-gradient.horizontal-grad { 
233    mask-image: linear-gradient(269.89deg, var(--color-primary-low) 71.07%, rgba(237, 239, 252, 0) 99.9%); 
234    -webkit-mask-image: linear-gradient(269.89deg, var(--color-primary-low) 71.07%, rgba(237, 239, 252, 0) 99.9%); 
235
236 
237  @media screen and (min-width: 1280px) { 
238    .main-banner-product { 
239      width: 1096px; 
240
241
242 
243  .main-banner-product__image { 
244    visibility: hidden; 
245
246 
247  .main-banner-product__image[src] { 
248    visibility: visible; 
249
250</style> 
251 
252<script> 
253  document.addEventListener("DOMContentLoaded", () => { 
254    const bannerButtons = document.querySelectorAll( 
255      ".main-banner-product .js-main-banner-product-button" 
256    ); 
257 
258    const bannerLinks = document.querySelectorAll( 
259      ".main-banner-product .js-main-banner-product-link" 
260    ); 
261 
262    bannerLinks.forEach((link) => { 
263      link.addEventListener("click", () => { 
264        const parentBanner = link.closest(".main-banner-product"); 
265        const title = formatText( 
266          parentBanner.querySelector(".main-banner-product__title").textContent 
267        ); 
268        const text = link.dataset.text; 
269        const componentId = parentBanner.dataset.componentId; 
270        window.gaDatalayer.sendCtaClickEvent({ 
271          event: "link_click", 
272          component: "button", 
273          title: title, 
274          text: text, 
275          component_id: componentId, 
276        }); 
277      }); 
278    }); 
279 
280    bannerButtons.forEach((btn) => { 
281      btn.addEventListener("click", () => { 
282        const parentBanner = btn.closest(".main-banner-product"); 
283        const title = formatText( 
284          parentBanner.querySelector(".main-banner-product__title").textContent 
285        ); 
286        const text = btn.dataset.text; 
287        const componentId = parentBanner.dataset.componentId; 
288        window.gaDatalayer.sendCtaClickEvent({ 
289          event: "button_click", 
290          component: "button", 
291          title: title, 
292          text: text, 
293          component_id: componentId, 
294        }); 
295      }); 
296    }); 
297 
298    const formatText = (text) => { 
299      return text 
300        .toLowerCase() 
301        .replace(/[\u2028\u2029\u00A0]/g, " ") 
302        .replace(new RegExp("[ÁÀÂÃ]", "gi"), "a") 
303        .replace(new RegExp("[ÉÈÊ]", "gi"), "e") 
304        .replace(new RegExp("[ÍÌÎ]", "gi"), "i") 
305        .replace(new RegExp("[ÓÒÔÕ]", "gi"), "o") 
306        .replace(new RegExp("[ÚÙÛ]", "gi"), "u") 
307        .replace(new RegExp("[Ç]", "gi"), "c") 
308        .replace(new RegExp("/<brs*[/]?>/", "gi"), "-") 
309        .replace(new RegExp("[.,;!?]", "g"), "") 
310        .replace(/[:?!@*+#$%^&]/g, "") 
311        .trim() 
312        .replace(/\s+/g, "-"); 
313    }; 
314  }); 
315</script> 

Encontre seu financiamento BV

Realize seus objetivos com o financiamento BV

Escolha a melhor solução de financiamento pra você, conte com o banco especialista.

Quando você escolhe o BV, um mundo 
de possibilidades se abre para você 

Confira as vantagens de financiar com o banco BV:

imagem meramente ilustrativa
Seguros
  • Seguro Auto

  • Seguro Placa Solar 

  • Seguro Proteção Financeira  

imagem meramente ilustrativa
Conta BV
  • Financie e ganhe cashback direto na conta

  • Consulte e pague os boletos

  • Débito automático

imagem meramente ilustrativa
Shopping
  • Descontos exclusivos 

  • Parceiros especializados  

  • Ofertas ilimitadas 

imagem meramente ilustrativa
Cartões BV
  • Anuidade grátis (BV Livre)

  • Assistência veicular (BV Mais & Único)

Conteúdos em alta

Financiamento de Veículos BV: confira seu guia completo aqui!

Financiamento de Veículos

Financiamento para energia solar: um guia completo para você!

Financiamento de energia solar

Dúvidas sobre energia solar: veja as respostas para as mais comuns

Financiamento de energia solar

Conteúdos em alta

Tire suas dúvidas sobre os tipos de Financiamento BV 

Para financiar um veículo com o banco BV, é preciso ter mais de 18 anos; quanto ao veículo, o modelo deve ser de 2015 a 2024. Para a aprovação de crédito, outros requerimentos são necessários. Consulte as condições gerais para saber mais!

Qualquer cliente que precise de um veículo para passeio ou para trabalho pode financiar com o BV. Oferecemos também financiamento para pessoas com deficiência (PCD) que desejam comprar um veículo adaptado às suas necessidades

Energia solar é uma fonte renovável que utiliza a luz do sol para gerar eletricidade por meio de painéis fotovoltaicos. A energia gerada abastece o imóvel e reduz a conta de luz. É uma solução sustentável, econômica e acessível com o financiamento de energia solar BV.

A energia solar fornece vantagem econômica porque ela reduz drasticamente a conta de luz, gerando economia a longo prazo e valorizando o imóvel. Além disso, o sistema tem baixa manutenção e vida útil que pode ultrapassar 25 anos.

Mostrar todas as perguntas

Para financiar um veículo com o banco BV, é preciso ter mais de 18 anos; quanto ao veículo, o modelo deve ser de 2015 a 2024. Para a aprovação de crédito, outros requerimentos são necessários. Consulte as condições gerais para saber mais!

Qualquer cliente que precise de um veículo para passeio ou para trabalho pode financiar com o BV. Oferecemos também financiamento para pessoas com deficiência (PCD) que desejam comprar um veículo adaptado às suas necessidades

Energia solar é uma fonte renovável que utiliza a luz do sol para gerar eletricidade por meio de painéis fotovoltaicos. A energia gerada abastece o imóvel e reduz a conta de luz. É uma solução sustentável, econômica e acessível com o financiamento de energia solar BV.

A energia solar fornece vantagem econômica porque ela reduz drasticamente a conta de luz, gerando economia a longo prazo e valorizando o imóvel. Além disso, o sistema tem baixa manutenção e vida útil que pode ultrapassar 25 anos.

Mostrar todas as perguntas

Acesse o aplicativo do BV

QR Code app BV
Aponte a câmera do seu celular para o QR Code acima e tenha acesso ao App BV
Fechar

Fale com a gente pelo Whatsapp BV

Aponte a câmera do seu celular pro QR Code aqui em cima e tire suas dúvidas com a gente.
Aproveita e já salva o nosso número: (11) 3003-1616
Fechar