Um erro ocorreu enquanto processava o modelo.
For "." left-hand operand: Expected a hash, but this has evaluated to a string (wrapper: f.t.SimpleScalar):
==> urlSimulador  [in template "20101#20128#223018" at line 164, column 88]

----
FTL stack trace ("~" means nesting-related):
	- Failed at: ${urlSimulador.getValue()}  [in template "20101#20128#223018" at line 164, column 86]
----
1<#--  
2    Inclui variavéis comuns 
3    Em desenvolvimento: 194742 
4    Em produção: 47059 
5--> 
6<#include "_TEMPLATE_CONTEXT_/20101/20124/20015/47059" /> 
7<#include "_TEMPLATE_CONTEXT_/20101/20124/20015/476043" /> 
8 
9<#-- ========================================================= 
10     LISTA ÚNICA: valor + symbol + lib (bnb|clay) 
11     ========================================================= --> 
12<#assign publicoIcones = [ 
13  {"valor": "Fundo Constitucional de Financiamento do Nordeste (FNE)", "symbol": "fne", "lib": "bnb"}, {"valor": "Fundo da Marinha Mercante (FMM)", "symbol": "fundo-marinha-mercante", "lib": "bnb"}, 
14  {"valor": "Fundo de Terras e da Reforma Agrária", "symbol": "fundo-terras-reforma-agraria", "lib": "bnb"}, 
15  {"valor": "Fundo Estadual de Desenvolvimento da Agricultura Familiar (Fedaf)", "symbol": "fundo-estadual-desenvolvimento-agricultura-familiar", "lib": "bnb"}, 
16  {"valor": "Fundo Geral do Turismo (Fungetur)", "symbol": "fundo-geral-turismo", "lib": "bnb"}, 
17  {"valor": "Recursos Definidos pelo Programa Nacional de Microcrédito Produtivo Orientado (PNMPO)", "symbol": "recursos-programa-microcredito-produtivo", "lib": "bnb"}, 
18  {"valor": "Recursos Internos", "symbol": "recursos-internos", "lib": "bnb"}, 
19  {"valor": "Caderneta de Poupança Rural", "symbol": "caderneta-poupanca-rural", "lib": "bnb"}, 
20  {"valor": "Orçamento Geral da União", "symbol": "recursos-obrigatorios", "lib": "bnb"}, 
21  {"valor": "Recursos Obrigatórios ", "symbol": "recursos-obrigatorios", "lib": "bnb"}, 
22  {"valor": "Recursos Controlados ", "symbol": "recursos-controlados", "lib": "bnb"}, 
23  {"valor": "Recursos Não Controlados ", "symbol": "recursos-nao-controlados", "lib": "bnb"}, 
24  {"valor": "Linhas de Crédito Externas ", "symbol": "linhas-credito-externas", "lib": "bnb"}, 
25  {"valor": "LCA ", "symbol": "recursos-obrigatorios", "lib": "bnb"}, 
26  {"valor": "BNDES ", "symbol": "bndes", "lib": "bnb"}, 
27  {"valor": "Secretaria do Tesouro Nacional ", "symbol": "secretaria-tesouro-nacional", "lib": "bnb"}, 
28  {"valor": "Poupança Rural ", "symbol": "caderneta-poupanca-rural", "lib": "bnb"}, 
29  {"valor": "Agroindústrias ", "symbol": "trator", "lib": "bnb"}, 
30  {"valor": "Cooperativas Rurais ", "symbol": "empresa-publica", "lib": "bnb"}, 
31  {"valor": "Empresas do Setor de Comércio", "symbol": "pacote", "lib": "bnb"}, 
32  {"valor": "Empresas do Setor de Prestação de Serviços ", "symbol": "aperto-mao", "lib": "bnb"}, 
33  {"valor": "Empresas do Setor de Turismo ", "symbol": "aviao", "lib": "bnb"}, 
34  {"valor": "Exportadores de Bens ou Serviços ", "symbol": "pacote", "lib": "bnb"}, 
35  {"valor": "Indústrias ", "symbol": "industrias", "lib": "bnb"}, 
36  {"valor": "Produtores de Sementes e Mudas  ", "symbol": "semente-muda-2", "lib": "bnb"}, 
37  {"valor": "Produtores Rurais ", "symbol": "produtor-rural", "lib": "bnb"}, 
38  {"valor": "Pessoa Física ", "symbol": "pessoa-feliz", "lib": "bnb"}, 
39  {"valor": "Cooperativas ", "symbol": "empresa-publica", "lib": "bnb"}, 
40  {"valor": "Empresas ", "symbol": "predio", "lib": "bnb"}, 
41  {"valor": "Agricultores Familiares ", "symbol": "agricultores", "lib": "bnb"}, 
42  {"valor": "Associações Rurais ", "symbol": "rede-agricultores", "lib": "bnb"}, 
43  {"valor": "Condomínios Rurais ", "symbol": "celeiro", "lib": "bnb"}, 
44  {"valor": "Consórcios de Empresas ", "symbol": "corporate", "lib": "bnb"}, 
45  {"valor": "Empresas Brasileiras de Navegação e Estaleiros ", "symbol": "navio", "lib": "bnb"}, 
46  {"valor": "Empresas do Setor Comercial ", "symbol": "pacote", "lib": "bnb"}, 
47  {"valor": "Empresas do Setor de Saúde ", "symbol": "empresa-saude", "lib": "bnb"}, 
48  {"valor": "Empresas Públicas ", "symbol": "relacionamento-2", "lib": "bnb"}, 
49  {"valor": "Indústria Pesqueira ", "symbol": "peixe", "lib": "bnb"}, 
50  {"valor": "Pescadores Profissionais ", "symbol": "anzol", "lib": "bnb"}, 
51  {"valor": "Sindicatos Rurais ", "symbol": "pessoas-conectadas-2", "lib": "bnb"}, 
52  {"valor": "Sociedades ", "symbol": "empreendedores", "lib": "bnb"}, 
53  {"valor": "Startups ", "symbol": "foguete", "lib": "bnb"}, 
54  {"valor": "Empreendedoras ", "symbol": "empreendedora", "lib": "bnb"}, 
55  {"valor": "Empreendedores ", "symbol": "empreendedor", "lib": "bnb"}, 
56  {"valor": "Bancos da Comunidade ", "symbol": "empresa-publica", "lib": "bnb"}, 
57  {"valor": "Grupos Solidários ", "symbol": "aperto-mao", "lib": "bnb"}, 
58  {"valor": "Cooperativas de Agricultores Familiares", "symbol": "rede-agricultores", "lib": "bnb"}, 
59  {"valor": "Empreendimentos Familiares Rurais", "symbol": "mudas", "lib": "bnb"}, 
60  {"valor": "Produtores Rurais Assentados ", "symbol": "produtor-rural", "lib": "bnb"}, 
61  {"valor": "Beneficiários do PCRF ", "symbol": "aperto-mao", "lib": "bnb"}, 
62  {"valor": "Beneficiários do PNCF ", "symbol": "celeiro", "lib": "bnb"}, 
63  {"valor": "Agricultoras Familiares", "symbol": "casa-campo", "lib": "bnb"}, 
64  {"valor": "Jovens Agricultores e Agricultoras Familiares ", "symbol": "agricultor", "lib": "bnb"}, 
65  {"valor": "Importadores", "symbol": "pacote", "lib": "bnb"}, 
66  {"valor": "Banco Nacional de Desenvolvimento Econômico e Social (BNDES)", "symbol": "microcredito", "lib": "bnb"}, 
67  {"valor": "Agência Especial de Financiamento Industrial (FINAME)", "symbol": "industrias", "lib": "bnb"}, 
68  {"valor": "Cooperativas de Produção", "symbol": "aperto-mao", "lib": "bnb"}, 
69  {"valor": "Governos Estaduais: administração pública direta em nível estadual", "symbol": "entidades-representativas", "lib": "bnb"}, 
70  {"valor": "Empresas públicas estaduais não dependentes", "symbol": "predio", "lib": "bnb"}, 
71  {"valor": "Banco Interamericano de Desenvolvimento (BID)", "symbol": "globe", "lib": "clay"} 
72]> 
73 
74<#-- ========================================================= 
75     HELPERS: normalização, spritemap e busca de item 
76     ========================================================= --> 
77<#-- Normaliza para comparar nomes: minúsculas, trim, remove acentos e espaços múltiplos --> 
78<#function norm s> 
79  <#if !s??><#return ""></#if> 
80  <#assign t = s?lower_case?trim> 
81  <#assign t = t?replace("[áàâã]","a","r")?replace("[éê]","e","r")?replace("[í]","i","r")?replace("[óôõ]","o","r")?replace("[ú]","u","r")?replace("[ç]","c","r")> 
82  <#assign t = t?replace("\\s+"," ","r")> 
83  <#return t> 
84</#function> 
85 
86<#-- Resolve spritemap conforme biblioteca --> 
87<#function spritemapFor lib> 
88  <#if lib?lower_case == "clay"> 
89    <#return themeDisplay.getPathThemeImages() + "/clay/icons.svg"> 
90  <#else> 
91    <#return themeDisplay.getPathThemeImages() + "/bnb/icons.svg"> 
92  </#if> 
93</#function> 
94 
95<#-- Busca item na lista única; fallback: informacao + bnb --> 
96<#function findIconItem valorPublico> 
97  <#assign alvo = norm(valorPublico)!"" > 
98  <#list publicoIcones as item> 
99    <#if norm(item.valor) == alvo> 
100      <#return item> 
101    </#if> 
102  </#list> 
103  <#return {"valor": valorPublico, "symbol": "informacao", "lib": "bnb"}> 
104</#function> 
105 
106<#-- ========================================================= 
107     Serviços Liferay e processamento original 
108     ========================================================= --> 
109<#assign AssetVocabularyService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetVocabularyService")> 
110<#assign AssetCategoryPropertyLocalService = serviceLocator.findService("com.liferay.asset.category.property.service.AssetCategoryPropertyLocalService")> 
111 
112<#assign journalArticleTitle = .vars['reserved-article-title'].data/> 
113<#assign journalArticleId = .vars['reserved-article-id'].data> 
114 
115<#assign JournalArticleLocalService = serviceLocator.findService("com.liferay.journal.service.JournalArticleLocalService")> 
116<#assign journalarticle = JournalArticleLocalService.getArticle(groupId, journalArticleId)> 
117<#assign primaryKey = journalarticle.getResourcePrimKey()> 
118 
119<#assign AssetCategoryLocalService = serviceLocator.findService("com.liferay.asset.kernel.service.AssetCategoryLocalService")> 
120<#assign categoryList = AssetCategoryLocalService.getCategories("com.liferay.journal.model.JournalArticle", primaryKey) >  
121<#assign urlSimulador = "" > 
122<#assign creditoOnline = "" > 
123<#assign portalFornecedor = "" > 
124 
125<#list categoryList as cat> 
126    <#if cat.getVocabularyId() == vocProdutosServicos> 
127        <#if AssetCategoryPropertyLocalService.fetchCategoryProperty(cat.getCategoryId(), "simulador")??> 
128            <#assign urlSimulador = AssetCategoryPropertyLocalService.fetchCategoryProperty(cat.getCategoryId(), "simulador")> 
129        </#if> 
130        <#if AssetCategoryPropertyLocalService.fetchCategoryProperty(cat.getCategoryId(), "creditoonline")??> 
131            <#assign creditoOnline = AssetCategoryPropertyLocalService.fetchCategoryProperty(cat.getCategoryId(), "creditoonline")> 
132        </#if> 
133        <#if AssetCategoryPropertyLocalService.fetchCategoryProperty(cat.getCategoryId(), "portaldofornecedor")??> 
134            <#assign portalFornecedor = AssetCategoryPropertyLocalService.fetchCategoryProperty(cat.getCategoryId(), "portaldofornecedor")> 
135        </#if> 
136    </#if> 
137</#list> 
138 
139<div class="row"> 
140    <div class="col"><div class="text-primary h1">${journalArticleTitle}</div></div> 
141</div> 
142<div class="row"> 
143    <div class="col"> 
144        <#list categoryList as cat> 
145            <#if cat.getVocabularyId() == vocSegmentos> 
146                <span class="label label-lg label-secondary"> 
147                    <span class="label-item label-item-expand">${cat.getName()}</span> 
148                </span> 
149            </#if> 
150        </#list> 
151    </div> 
152</div> 
153 
154<div class="row"> 
155    <#if urlSimulador != "" || creditoOnline != ""> 
156    <div class="col-md-12 col-lg-6"> 
157        <div class="lead mt-4"> 
158            ${descricao.getData()} 
159        </div> 
160    </div> 
161    <div class="col-md-12 col-lg-6"> 
162        <div class="d-flex justify-content-center justify-content-lg-end mt-4 flex-column flex-sm-row"> 
163            <#if portalFornecedor != ""> 
164                <a class="btn btn-outline-primary" title="Portal do Fornecedor" href=${urlSimulador.getValue()}/cartao-bnb/portal-do-fornecedor>Portal do Fornecedor</a> 
165            </#if> 
166            <#if urlSimulador != ""> 
167                <!-- <a class="btn btn-outline-primary" title="Simule" href="${urlSimulador.getValue()}/simulador">Simule</a> --> 
168            </#if> 
169            <#if creditoOnline != ""> 
170                <a class="btn btn-primary ml-2" title="Portal do Fornecedor" href="/solicitacao-de-credito">Solicite seu Crédito</a> 
171            </#if> 
172        </div> 
173    </div> 
174    <#else> 
175    <div class="col-12"> 
176        <div class="lead mt-4"> 
177            ${descricao.getData()} 
178        </div> 
179    </div> 
180    </#if> 
181</div> 
182 
183<div class="pt-5"> 
184    <div class="mb-5"> 
185        <span class="h4 mb-1">Objetivo</span> 
186        <div>${objetivo.getData()}</div> 
187    </div> 
188 
189    <#if publico.getSiblings()?has_content> 
190    <div class="mb-5"> 
191        <span class="h4">Público</span> 
192        <div class="d-flex flex-column flex-lg-row align-items-center align-items-lg-start"> 
193        <#list publico.getSiblings() as cur_publicoAlvo> 
194            <#assign publicoNome = cur_publicoAlvo.publicoAlvo.getData()> 
195            <#assign itemIcon = findIconItem(publicoNome)> 
196            <#assign spritemap = spritemapFor(itemIcon.lib)> 
197            <div class="border radius-bnb pl-2 pb-0 pt-3 pr-2 pr-md-4 mt-2 mr-2 border-radius-bnb"> 
198                <div class="d-flex flex-column flex-md-row align-items-center"> 
199                    <span class="lexicon-icon-box bg-primary text-white rounded-circle mx-2" style="font-size: x-large;min-width:46px"> 
200                        <@clay.icon 
201                            spritemap=spritemap 
202                            symbol=itemIcon.symbol 
203                        /> 
204                    </span> 
205                    <span class="font-weight-bold mr-2">${publicoNome}</span> 
206                </div> 
207                <div class="mt-2"> 
208                    <ul class="pl-3 pl-md-4" style="list-style:none"> 
209                        <#if cur_publicoAlvo.porte.getData()?has_content> 
210                            <#list cur_publicoAlvo.porte.getSiblings() as cur_publico_porte> 
211                                <li>${cur_publico_porte.getData()}</li> 
212                            </#list> 
213                        </#if> 
214                    </ul> 
215                </div> 
216            </div> 
217        </#list> 
218        </div> 
219    </div> 
220    </#if> 
221 
222    <#if oQueFinancia.getSiblings()[0].getData() != ""> 
223        <div class="mb-5"> 
224            <span class="h4 mb-1">O que Financia</span> 
225            <ul> 
226                <#list oQueFinancia.getSiblings() as cur_oQueFinancia> 
227                    <li class="my-2">${cur_oQueFinancia.getData()}</li> 
228                </#list> 
229            </ul> 
230        </div> 
231    </#if> 
232 
233    <#if fonteDeRecursos.getSiblings()[0].getData() != ""> 
234    <div class="mb-5"> 
235        <span class="h4 mb-1">Fonte de Recursos</span> 
236        <#if fonteDeRecursos.getSiblings()?has_content> 
237            <#list fonteDeRecursos.getSiblings() as cur_fonteDeRecursos> 
238               <#if cur_fonteDeRecursos.getData() != ""> 
239                    <#assign itemIconFonte = findIconItem(cur_fonteDeRecursos.getData())> 
240                    <#assign spritemapFonte = spritemapFor(itemIconFonte.lib)> 
241                    <div class="d-flex"> 
242                        <div class="p-4 mt-1 border border-radius-bnb d-flex justify-content-center align-items-center flex-column flex-sm-row"> 
243                            <span class="lexicon-icon-box bg-tertiary text-white rounded-circle mx-2" style="font-size: x-large"> 
244                               <@clay.icon 
245                                spritemap=spritemapFonte 
246                                symbol=itemIconFonte.symbol 
247                               /> 
248                                
249                            </span> 
250                            <span class="text-primary font-weight-bold my-2"> 
251                                ${cur_fonteDeRecursos.getData()} 
252                            </span> 
253                        </div> 
254                    </div> 
255                </#if> 
256            </#list> 
257        </#if> 
258    </div> 
259    </#if> 
260 
261    <#if prazo.getData()?has_content> 
262    <div class="mb-5"> 
263        <span class="h4 mb-1">Prazo</span> 
264        <#if prazo.getSiblings()?has_content> 
265        <div class="table-responsive mt-3"> 
266        <table class="table table-autofit table-list table-striped"> 
267          <thead> 
268              <tr> 
269              <th scope="col">Finalidade do Crédito</th> 
270              <th scope="col" class="text-center">Carência</th> 
271              <th scope="col" class="text-center">Total</th> 
272            </tr> 
273          </thead> 
274          <tbody> 
275            <#list prazo.getSiblings() as cur_prazo> 
276                <tr> 
277                  <td>${cur_prazo.getData()}</td> 
278                  <td class="text-center">${cur_prazo.carencia.getData()}</td> 
279                  <td class="text-center">${cur_prazo.total.getData()}</td> 
280                </tr> 
281            </#list> 
282          </tbody> 
283        </table> 
284        </div> 
285        </#if> 
286    </div> 
287    </#if> 
288 
289    <#if garantias.getSiblings()[0].getData() != ""> 
290    <div class="mb-5"> 
291        <div> 
292        <span class="h4 mb-1">Garantias</span> 
293        <div> 
294            <#if garantias.getSiblings()?has_content> 
295                <#list garantias.getSiblings() as cur_garantias> 
296                    <span class="label label-lg label-primary mr-3 mt-2"> 
297                        <span class="label-item label-item-expand">${cur_garantias.getData()}</span> 
298                    </span> 
299                </#list> 
300            </#if> 
301        </div> 
302        </div> 
303    </div> 
304    </#if> 
305 
306    <div class="mb-5"> 
307        <#if juros.getData()?has_content> 
308        <div> 
309            <span class="h4 mb-1">Juros e Bônus de Adimplência</span> 
310            <p>${juros.getData()}</p> 
311        </div> 
312        </#if> 
313    </div> 
314 
315    <#if limites.getData()?has_content || limites.limitesTabela.getData()?has_content> 
316    <span class="h4 mb-2">Limites de Financiamento</span> 
317        <#if limites.getSiblings()?has_content> 
318            <#list limites.getSiblings() as cur_limites> 
319            <div class="mb-5"> 
320                <#if limites.getData()?has_content> 
321                <ul> 
322                    <li class="h5 mt-3">${cur_limites.getData()}</li> 
323                </ul> 
324                </#if> 
325                <#if limites.limitesTabela.getData()?has_content > 
326                <div class="table-responsive px-4">${cur_limites.limitesTabela.getData()}</div> 
327                </#if> 
328            </div> 
329            </#list> 
330        </#if> 
331    </#if> 
332 
333    <#if acesso.getData()?has_content> 
334    <div class="mb-5"> 
335        <span class="h4 mb-1">Acesso ao Financiamento</span> 
336        <p>${acesso.getData()}</p> 
337    </div> 
338    </#if> 
339</div> 
340 
341<div class="text-center text-primary"> 
342    <#if themeDisplay.getThemeSetting("tel_sac")??> 
343    <small>Crédito sujeito a análise. Para saber mais detalhes, fale com o seu gerente ou ligue ${themeDisplay.getThemeSetting("tel_sac")}.</small> 
344    </#if> 
345</div> 
346 
347<script> 
348var tabelas = document.querySelectorAll("table"); 
349tabelas.forEach(function(item){ 
350    item.classList.add("table"); 
351    item.removeAttribute("style"); 
352    item.removeAttribute("border"); 
353    item.removeAttribute("cellpadding"); 
354    item.removeAttribute("cellspacing"); 
355    item.removeAttribute("width"); 
356    item.removeAttribute("table-list"); 
357    item.classList.add("table-autofit"); 
358    item.classList.add("table-bordered"); 
359    item.classList.add("table-striped"); 
360    item.classList.add("text-center"); 
361    var destaques = item.querySelectorAll("tr th"); 
362    if(destaques != ""){var flag = true} 
363    destaques.forEach(function(itemDestaque){ 
364        itemDestaque.classList.add("text-center") 
365    }) 
366    var celulas = item.querySelectorAll("tr td"); 
367    celulas.forEach(function(itemCelula){ 
368        itemCelula.removeAttribute("style"); 
369        var spans = itemCelula.querySelectorAll("span"); 
370        spans.forEach(function(span){ 
371            span.removeAttribute("style") 
372        }) 
373    }) 
374    if(flag == true){ 
375        var linha = item.querySelectorAll("tr")[0]; 
376        linha.style.fontWeight = "bold"; 
377        linha.style.color ="#3d3d3d"; 
378
379}) 
380</script> 

Vantagens

Praticidade
Pagamento com débito da fatura em conta-corrente e isenção de anuidade.
Segurança
Transações com a geração de tokens exclusivos e envio de Nota Fiscal  eletrônico pelo fornecedor.

Fornecedores

Portal do Fornecedor

Orientações para potencializar as vendas da sua empresa com o Cartão BNB.

Login, Cadastro e Consultas de Fornecedores

Consulte a lista de fornecedores que operam com o Cartão BNB ou cadastre a sua empresa como uma fornecedora.

Regulamento