Archivos de Etiquetas: Impostos sobre lucro real

Impuestos sobre los beneficios reales: cómo funcionan, quién tiene que pagar y puntos a tener en cuenta

Entender cómo funciona el RECOF y la admisión temporal, evitar riesgos fiscales y contar con [...]

`; } // Função que cria iframe, escreve doc e chama print no iframe (tudo feito durante o clique) function printViaIframe(){ try { // garante que resultados estejam atualizados (se você tiver calcularLP global) if (typeof window.calcularLP === 'function') { try { window.calcularLP(); } catch(e){ console.warn('calcularLP erro:', e); } } // cria iframe oculto e síncrono (ação do usuário) const iframe = document.createElement('iframe'); iframe.style.position = 'fixed'; iframe.style.right = '0'; iframe.style.bottom = '0'; iframe.style.width = '0'; iframe.style.height = '0'; iframe.style.border = '0'; iframe.style.visibility = 'hidden'; iframe.setAttribute('sandbox', 'allow-modals allow-same-origin'); // allow printing document.body.appendChild(iframe); // escreve o documento dentro do iframe const doc = iframe.contentWindow.document; doc.open(); doc.write(buildPrintDoc()); doc.close(); // espera carregar e chama print const tryPrint = () => { try { iframe.contentWindow.focus(); // print no contexto do iframe iframe.contentWindow.print(); } catch (err) { console.error('Erro imprimindo no iframe:', err); } finally { // remove iframe depois de um curto delay setTimeout(() => { try { document.body.removeChild(iframe); } catch(e){} }, 800); } }; // alguns browsers precisam de onload do iframe.document // se readyState estiver completo, imprime logo if (doc.readyState === 'complete') { setTimeout(tryPrint, 150); } else { iframe.addEventListener('load', () => setTimeout(tryPrint, 120)); // fallback setTimeout(tryPrint, 700); } } catch (err){ console.error('printViaIframe erro:', err); alert('Erro ao gerar impressão — veja o console para detalhes.'); } } // substitui listeners antigos do botão function attach(){ const btn = document.getElementById('btnPrint'); if (!btn) return; const clone = btn.cloneNode(true); btn.parentNode.replaceChild(clone, btn); clone.addEventListener('click', printViaIframe); } if (document.readyState === 'loading') document.addEventListener('DOMContentLoaded', attach); else setTimeout(attach, 0); })();
Al continuar, acepta que este sitio web utilice cookies únicamente con fines estadísticos y funciones que mejoren su navegación, sin seguimiento personal.