;(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
Topo

Não faz sentido o clube dever salário e poder contratar, diz executivo

Do UOL, em São Paulo

19/12/2021 04h00

A contratação de jogadores por clubes endividados, inclusive devendo salários ao seu elenco e funcionários já é algo frequente no futebol brasileiro e chamou a atenção em casos como o do Cruzeiro. O clube hoje paga a conta de seu período vencedor com um time que não tinha condições de bancar, assim como já ocorreu recentemente com outros clubes, o chamado doping financeiro.

Em entrevista a Mauro Cezar Pereira no programa Dividida, do Canal UOL, o executivo Pedro Daniel, da Ernst & Young, afirma que já a da hora de o Brasil contar com um modelo de fair play financeiro que sirva justamente para coibir este tipo de transação, impedindo que os dirigentes façam contratações que não terão condições de pagar. Para ele, o melhor modelo para o futebol brasileiro seria o que bloqueasse previamente uma contratação sem a comprovação de condições para bancá-la.

"No meu entendimento, o modelo preventivo é o que mais funciona. O que é o preventivo? Que você, na verdade, apresente o seu DRE, o seu orçamento para o ano e que essa entidade possa acompanhar, monitorar, porque quando você tem essa visão de ado, que é até onde você pode chegar, você trava esse tipo de contratação", explica Pedro Daniel.

"Ou seja, um clube que fatura R$ 100 milhões, ele faturou nos últimos dois anos R$ 100 milhões, só para a gente ter esse exemplo, ele tem essa média. No outro ano, a gente desmembra todas as receitas e as despesas e fala 'cara, você não vai faturar R$ 400, você faturou R$ 100 nos últimos anos, você tem uma média, uma linha da qual até R$ 150 você pode reduzir e em cima disso você pode contratar ou não, senão não é feito o registro'. Isso acontece em alguns países", completa.

O executivo afirma que não tem sentido hoje a permissão para que um clube possa contratar um jogador sem pagar por ele e ter a possibilidade de uma vantagem esportiva contra o próprio vendedor do atleta, que foi lesado na transação.

"Eu quero contratar um atleta que vai me custar R$ 50 milhões no ano. Meu amigo, você não vai honrar, então você não registra, você não vai contratar. A não ser que você demonstre a sua receita, por exemplo, eu estou com uma venda de atleta que vai cair em junho, que é de R$ 100 milhões. Legal, então faz sentido dentro da sua provisão, senão você não contrata. Não faz o menor sentido, aqui dentro do Brasil, a gente ver situações como essa. Clubes que não pagam salários e saem contratando, e aumentam a performance e ganham daquele que eles não pagaram", afirma Pedro Daniel.

"É o doping financeiro, o clássico doping financeiro. Então, para usar um exemplo muito pontual, o Cruzeiro um pouco antes da trava —porque afinal de contas ele não pagou uma contratação, a Fifa iria travar o registro—, eles contrataram sete atletas pouco antes da trava, já de maneira preventiva, sabendo que não poderiam registrar na sequência. Qual a lógica disso? Estou falando como indústria, qual a lógica disso? De sete novos contratados que também não vão receber, me parece claro, porque afinal de contas, os outros não receberam. Podem ser registrados e contratados? Como os principais concorrentes veem isso?", questiona.

O Dividida vai ao ar às quintas-feiras, às 14h, sempre com transmissão em vídeo pela home do UOL e no canal do UOL Esporte no Youtube. Você também pode ouvir o Dividida no Spotify, Apple Podcasts, Google Podcasts e Amazon Music.