;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Logo Pagbenk Seu dinheiro rende mais
Topo

Empresários relatam juros mais altos e restrições em financiamento com a crise

Circe Bonatelli e Isadora Duarte

São Paulo

05/04/2020 17h57

Empresas de vários setores já sentem a deterioração das linhas de crédito, com alta de juros, reduções de prazos e limites de empréstimos no mercado em razão dos impactos da crise do coronavírus sobre a economia brasileira.

"O mercado subiu bastante o preço, e alguns bancos pararam de liberar caixa", afirmou há pouco Peter Furukawa, presidente da Quero Quero, maior varejista do Rio Grande do Sul. O executivo mencionou que antes da crise era possível captar recursos a uma taxa de CDI + 0,9% ao ano, enquanto, hoje, essas mesmas linhas subiram para CDI + 3,5% ao ano.

Algumas semanas atrás, a direção da Quero Quero estava em road show apresentando a empresa a investidores internacionais, preparando-se para uma oferta inicial de ações (IPO, na sigla em inglês) neste ano. Mas o processo foi interrompido pela crise.

O mesmo ocorreu com a Petz, que atua no setor de produtos e cuidados para animais de estimação, e também mantinha conversas preliminares com investidores para um IPO até a crise estourar, mas teve que postergar os planos.

O diretor financeiro da companhia, Diogo Bassi, comentou que a empresa agilizou a captação de recursos por outros instrumentos do mercado financeiro. No início do ano, era fácil obter financiamento com carência para início da amortização, mas esse prazo foi reduzido, contou.

"Nós já tínhamos o caixa alto, mas buscamos aumentar. E isso está ligado também aos fornecedores", explicou, referindo-se à necessidade de dar prioridade a pagamentos a parceiros comerciais de pequeno e médio portes, que têm menos fôlego financeiro. Já com fornecedores de maior porte, a ordem é renegociar pagamentos.

O presidente da fabricante de notebooks, computadores e eletrônicos Positivo, Hélio Rotenberg, comentou que teve "sorte" ao conseguir realizar a sua emissão secundária de ações (follow on) antes de a pandemia de coronavírus ganhar corpo.

"Queremos preservar o máximo de caixa. Temos que endurecer sem perder a ternura", afirmou, concordando sobre a necessidade de renegociar pagamentos a fornecedores. "Para os pequenos, temos sido mais generosos, negociando com os grandes." Os executivos participam nesta tarde de uma Live organizada pelo BTG Pactual.