Zákoník práce - Oddíl 4 - Společná a zvláštní ustanovení o pracovních úrazech a nemocech z povolání

Předpis č. 262/2006 Sb.

Znění od 1. 12. 2022

262/2006 Sb. Zákon zákoník práce

Oddíl 4

Společná a zvláštní ustanovení o pracovních úrazech a nemocech z povolání

§ 271k

(1) Pracovním úrazem pro účely tohoto zákona je poškození zdraví nebo smrt zaměstnance, došlo-li k nim nezávisle na jeho vůli krátkodobým, náhlým a násilným působením zevních vlivů při plnění pracovních úkolů nebo v přímé souvislosti s ním (§ 273 a 274).

(2) Jako pracovní úraz se posuzuje též úraz, který zaměstnanec utrpěl pro plnění pracovních úkolů.

(3) Pracovním úrazem není úraz, který se zaměstnanci přihodil na cestě do zaměstnání a zpět.

(4) Nemocemi z povolání jsou nemoci uvedené ve zvláštním právním předpisu.

§ 271l

Náhrada za ztrátu na výdělku po dobu pracovní neschopnosti a náhrada za ztrátu na výdělku po skončení pracovní neschopnosti z téhož důvodu jsou samostatná práva, která nepřísluší vedle sebe.

§ 271m

(1) Při zjišťování průměrného výdělku pro účely náhrady škody při pracovních úrazech nebo nemocech z povolání je rozhodným obdobím předchozí kalendářní rok, je-li toto rozhodné období pro zaměstnance výhodnější.

(2) Náhradu za ztrátu na výdělku a náhradu nákladů na výživu pozůstalých je zaměstnavatel povinen vyplácet pravidelně jednou měsíčně, pokud nebyl dohodnut jiný způsob výplaty.

§ 271n

(1) Jde-li o náhradu škody nebo nemajetkové újmy při nemoci z povolání, má zaměstnavatel, který škodu nebo nemajetkovou újmu nahradil, právo na náhradu vůči všem zaměstnavatelům, u nichž postižený zaměstnanec pracoval za podmínek, za nichž vznikla nemoc z povolání, kterou byl postižen, a to v rozsahu odpovídajícím době, po kterou pracoval u těchto zaměstnavatelů za uvedených podmínek.

(2) Jde-li o jinou škodu nebo nemajetkovou újmu na zdraví než z důvodu pracovního úrazu nebo nemoci z povolání, platí pro způsob a rozsah její náhrady ustanovení o pracovních úrazech.

§ 271o

U zaměstnance, který je v době pracovního úrazu nebo zjištění nemoci z povolání v několika pracovních poměrech nebo je činný na základě dohody o práci konané mimo pracovní poměr, se při stanovení výše náhrady za ztrátu na výdělku vychází z průměrných výdělků dosahovaných ve všech těchto základních pracovněprávních vztazích, a to po dobu, po kterou by mohly trvat.

§ 271p

(1) Zaměstnanci, který utrpí pracovní úraz nebo u něhož byla zjištěna nemoc z povolání v pracovním poměru sjednaném na dobu určitou nebo při výkonu práce na základě dohody o práci konané mimo pracovní poměr uzavřené na dobu určitou, přísluší náhrada za ztrátu na výdělku jen do doby, kdy měl tento základní pracovněprávní vztah skončit. Po této době přísluší náhrada za ztrátu na výdělku, jestliže je možné podle okolností předpokládat, že postižený zaměstnanec by byl i nadále zaměstnán. Ostatní práva vyplývající z povinnosti nahradit škodu nebo nemajetkovou újmu způsobenou pracovním úrazem nebo nemocí z povolání tím nejsou dotčena.

(2) Utrpí-li pracovní úraz nebo byla-li zjištěna nemoc z povolání u poživatele starobního důchodu nebo invalidního důchodu pro invaliditu třetího stupně, přísluší mu náhrada za ztrátu na výdělku po dobu, pokud nepřestal být zaměstnán z důvodů, které nesouvisí s pracovním úrazem nebo nemocí z povolání; nepracuje-li z důvodů, které souvisí s pracovním úrazem nebo nemocí z povolání, přísluší mu náhrada za ztrátu na výdělku po dobu, po kterou by vzhledem ke svému zdravotnímu stavu před pracovním úrazem nebo nemocí z povolání mohl pracovat. Ustanovení § 271b odst. 6 platí i zde.

§ 271q

Práva vyplývající z § 271g až 271j nejsou závislá na tom, zda zaměstnanec před svou smrtí ve stanovené lhůtě právo na náhradu škody nebo nemajetkové újmy uplatnil.

§ 271r

Způsob a výši náhrady škody nebo nemajetkové újmy je zaměstnavatel povinen projednat bez zbytečného odkladu s odborovou organizací a se zaměstnancem.

§ 271s

(1) Soud může výši odškodnění stanovenou právním předpisem (§ 271c a 271i) přiměřeně zvýšit.

(2) Soud zohlední při určení výše jednorázové náhrady nemajetkové újmy pozůstalých podle § 271i přiznanou výši jednorázové náhrady nemajetkové újmy při zvlášť závažném ublížení na zdraví zaměstnance podle § 271f.

§ 271t

Nepromlčují se práva zaměstnance na náhradu za ztrátu na výdělku z důvodu pracovního úrazu nebo nemoci z povolání nebo jiné škody nebo nemajetkové újmy na zdraví než z důvodu pracovního úrazu nebo nemoci z povolání a práva na náhradu nákladů na výživu pozůstalých. Práva na jednotlivá plnění z nich vyplývající se však promlčují.

§ 271u

(1) Změní-li se podstatně poměry poškozeného, které byly rozhodující pro určení výše náhrady, může se poškozený i zaměstnavatel domáhat změny v úpravě svých práv, popřípadě povinností.

(2) Vláda vzhledem ke změnám, které nastaly ve vývoji mzdové úrovně a životních nákladů, upraví nařízením podmínky, výši a způsob náhrady za ztrátu na výdělku příslušející zaměstnancům po skončení pracovní neschopnosti vzniklé pracovním úrazem nebo nemocí z povolání, a to zpravidla s účinností od počátku kalendářního roku; to se vztahuje i na náhradu nákladů na výživu pozůstalých.

Skrýt změny zákona Legenda text přidán text vypuštěn
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).
'; document.getElementById('outstream-iframe').onload = function () { setupIframe(); } replayScreen = document.getElementById('iinfoOutstreamReplay'); iinfoOutstreamPosition = document.getElementById('iinfoOutstreamPosition'); outstreamContainer = document.getElementsByClassName('outstream-container')[0]; setupReplayScreen(); } function setupIframe() { outstreamDocument = document.getElementById('outstream-iframe').contentWindow.document; let el = outstreamDocument.createElement('style'); outstreamDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:-5px;right:25px}"; videoContent = outstreamDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; if ( location.href.indexOf('rejstriky.finance.cz') !== -1 || location.href.indexOf('finance-rejstrik') !== -1 || location.href.indexOf('firmy.euro.cz') !== -1 || location.href.indexOf('euro-rejstrik') !== -1 || location.href.indexOf('/rejstrik/') !== -1 || location.href.indexOf('/rejstrik-firem/') !== -1) { outstreamDirectPlayed = true; soundAllowed = true; iinfoVastUrlIndex = 0; } if (!outstreamDirectPlayed) { console.log('OUTSTREAM direct'); setUpIMA(true); } else { if (soundAllowed) { const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('OUTSTREAM sound allowed'); setUpIMA(false); }).catch(function () { console.log('OUTSTREAM sound forbidden'); renderBanner(); }); } } else { renderBanner(); } } } function getWrapper() { let articleWrapper = document.querySelector('.rs-outstream-placeholder'); // Outstream Placeholder from RedSys manipulation if (articleWrapper && articleWrapper.style.display !== 'block') { articleWrapper.innerHTML = ""; articleWrapper.style.display = 'block'; } // Don't render OutStream on homepages if (articleWrapper === null) { if (document.querySelector('body.p-index')) { return null; } } if (articleWrapper === null) { articleWrapper = document.getElementById('iinfo-outstream'); } if (articleWrapper === null) { articleWrapper = document.querySelector('.layout-main__content .detail__article p:nth-of-type(6)'); } if (articleWrapper === null) { // Euro, Autobible, Zdravi articleWrapper = document.querySelector('.o-article .o-article__text p:nth-of-type(6)'); } if (articleWrapper === null) { articleWrapper = document.getElementById('sidebar'); } if (!articleWrapper) { console.error("Outstream wrapper of article was not found."); } return articleWrapper; } function setupDimensions() { outstreamWidth = Math.min(iinfoOutstreamPosition.offsetWidth, 480); outstreamHeight = Math.min(iinfoOutstreamPosition.offsetHeight, 320); } /** * Sets up IMA ad display container, ads loader, and makes an ad request. */ function setUpIMA(direct) { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); if (direct) { adsRequest.adTagUrl = directVast; console.log('Outstream DIRECT CAMPAING advert: ' + directVast); videoContent.muted = true; videoContent.volume = 0; outstreamDirectPlayed = true; } else { adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Outstream advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; } // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = outstreamWidth; // adsRequest.linearAdSlotHeight = outstreamHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function setupReplayScreen() { replayScreen.addEventListener('click', function () { iinfoOutstreamPosition.remove(); iinfoVastUrlIndex = 0; outstreamInit(); }); } /** * Sets the 'adContainer' div as the IMA ad display container. */ function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. outstreamDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( outstreamDocument.getElementById('adContainer'), videoContent); } function unmuteAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); outstreamDocument.getElementById('adMuteBtn').innerHTML = ''; } } /** * Loads the video content and initializes IMA ad playback. */ function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(outstreamWidth, outstreamHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } /** * Handles the ad manager loading and sets ad event listeners. * @param { !google.ima.AdsManagerLoadedEvent } adsManagerLoadedEvent */ function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } /** * Handles actions taken in response to ad events. * @param { !google.ima.AdEvent } adEvent */ function onAdEvent(adEvent) { // Retrieve the ad from the event. Some events (for example, // ALL_ADS_COMPLETED) don't have ad object associated. const ad = adEvent.getAd(); console.log('Outstream event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: // This is the first event sent for an ad - it is possible to // determine whether the ad is a video ad or an overlay. if (!ad.isLinear()) { // Position AdDisplayContainer correctly for overlay. // Use ad.width and ad.height. videoContent.play(); } outstreamDocument.getElementById('adContainer').style.width = '100%'; outstreamDocument.getElementById('adContainer').style.maxWidth = '640px'; outstreamDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); // This event indicates the ad has started - the video player // can adjust the UI, for example display a pause button and // remaining time. if (ad.isLinear()) { // For a linear ad, a timer can be started to poll for // the remaining time. intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } outstreamDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (outstreamLastError === 303) { if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } } break; case google.ima.AdEvent.Type.COMPLETE: // This event indicates the ad has finished - the video player // can perform appropriate UI actions, such as removing the timer for // remaining time detection. if (ad.isLinear()) { clearInterval(intervalTimer); } if (isBanner) { renderBanner(); } else { replayScreen.style.display = 'flex'; } break; } } /** * Handles ad errors. * @param { !google.ima.AdErrorEvent } adErrorEvent */ function onAdError(adErrorEvent) { // Handle the error logging. console.log(adErrorEvent.getError()); outstreamLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { renderBanner(); } } function renderBanner() { if (isBanner) { console.log('Outstream: Render Banner'); iinfoOutstreamPosition.innerHTML = ""; iinfoOutstreamPosition.style.height = "330px"; iinfoOutstreamPosition.appendChild(bannerDiv); } else { console.log('Outstream: Banner is not set'); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoOutstreamPosition.remove(); outstreamInit(); } else { return false; } adVolume = 1; return true; } /** * Pauses video content and sets up ad UI. */ function onContentPauseRequested() { videoContent.pause(); // This function is where you should setup UI for showing ads (for example, // display ad timer countdown, disable seeking and more.) // setupUIForAds(); } /** * Resumes video content and removes ad UI. */ function onContentResumeRequested() { videoContent.play(); // This function is where you should ensure that your UI is ready // to play content. It is the responsibility of the Publisher to // implement this function when necessary. // setupUIForContent(); } function onActiveView() { if (outstreamContainer) { const containerOffset = outstreamContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (outstreamPaused) { adsManager.resume(); outstreamPaused = false; } return true; } else { if (!outstreamPaused) { adsManager.pause(); outstreamPaused = true; } } } return false; } let outstreamInitInterval; if (typeof cpexPackage !== "undefined") { outstreamInitInterval = setInterval(tryToInitializeOutstream, 100); } else { const wrapper = getWrapper(); if (wrapper) { let outstreamInitialized = false; window.addEventListener('scroll', () => { if (!outstreamInitialized) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { outstreamInit(); outstreamInitialized = true; } } }); } } function tryToInitializeOutstream() { const wrapper = getWrapper(); if (wrapper) { const containerOffset = wrapper.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight / 1 && containerOffset.bottom > 0.0) { if (cpexPackage.adserver.displayed) { clearInterval(outstreamInitInterval); outstreamInit(); } } } else { clearInterval(outstreamInitInterval); } } }
OSZAR »