Nový Občanský zákoník - Oddíl 2 - Jiné způsoby zániku závazků

Předpis č. 89/2012 Sb.

Vyhlášené znění

89/2012 Sb. Zákon občanský zákoník

Oddíl 2

Jiné způsoby zániku závazků

§ 1981

Dohoda

Stranám je na vůli ujednat si zánik závazku, aniž bude zřízen závazek nový.

Započtení

§ 1982

(1) Dluží-li si strany vzájemně plnění stejného druhu, může každá z nich prohlásit vůči druhé straně, že svoji pohledávku započítává proti pohledávce druhé strany. K započtení lze přistoupit, jakmile straně vznikne právo požadovat uspokojení vlastní pohledávky a plnit svůj vlastní dluh.

(2) Započtením se obě pohledávky ruší v rozsahu, v jakém se vzájemně kryjí; nekryjí-li se zcela, započte se pohledávka obdobně jako při splnění. Tyto účinky nastávají k okamžiku, kdy se obě pohledávky staly způsobilými k započtení.

§ 1983

K prohlášení o započtení učiněném pod podmínkou nebo s doložením času se nepřihlíží.

§ 1984

(1) Dluží-li dlužník společně a nerozdílně s jinými, může proti věřiteli započíst pohledávku svého spoludlužníka jen do výše podílu spoludlužníka na společném dluhu.

(2) Dlužník věřitelů oprávněných společně a nerozdílně může vůči některému ze spoluvěřitelů započíst to, co mu spoluvěřitel dluží, jen do výše jeho podílu na společné pohledávce.

§ 1985

Ten, kdo vede pro druhou stranu účet, může započíst peněžní prostředky na něm uložené na úhradu vzájemné pohledávky vzniklé na základě smlouvy o účtu.

§ 1986

Byla-li pohledávka postupně převedena na několik osob, může dlužník použít k započtení jen pohledávku, kterou měl v době převodu vůči prvnímu věřiteli, a pohledávku, kterou má vůči poslednímu věřiteli.

§ 1987

(1) K započtení jsou způsobilé pohledávky, které lze uplatnit před soudem.

(2) Pohledávka nejistá nebo neurčitá k započtení způsobilá není.

§ 1988

(1) Zakazuje se započtení proti pohledávce výživného pro nezletilého, který není plně svéprávný.

(2) Zakazuje se započtení proti pohledávce na náhradu újmy způsobené na zdraví, ledaže se jedná o vzájemnou pohledávku na náhradu téhož druhu, a proti pohledávce mzdy, platu, odměny ze smlouvy o výkonu závislé práce zakládající mezi zaměstnancem a zaměstnavatelem obdobný závazek a náhradě mzdy nebo platu ve výši přesahující jejich polovinu.

§ 1989

(1) Promlčení pohledávky započtení nebrání, nastalo-li po době, kdy se pohledávky staly způsobilými k započtení.

(2) Odsunul-li věřitel k dlužníkově žádosti čas plnění bezúplatně, může svoji pohledávku přesto započíst po uplynutí času, kdy měl dlužník plnit původně.

§ 1990

Má-li být každá pohledávka uspokojena v jiném místě, nebrání to započtení, ale strana, vůči níž bylo takto započteno, má právo na náhradu škody vzniklé jí tím, že plnění na určeném místě nezíská, nebo že na určeném místě nemůže plnit.

§ 1991

Zákaz započtení pohledávky prohlášením jedné ze stran nebrání stranám, aby si započtení ujednaly; k ujednání o započtení proti pohledávce výživného pro nezletilého, který není plně svéprávný, se však nepřihlíží.

§ 1992

Odstupné

Ujednají-li si strany, že jedna z nich může závazek zrušit zaplacením odstupného, ruší se závazek zaplacením odstupného obdobně jako při odstoupení od smlouvy. Právo zrušit závazek zaplacením odstupného však nemá strana, která již, byť i jen zčásti, plnění druhé strany přijala nebo druhé straně sama plnila.

Splynutí

§ 1993

(1) Splyne-li jakýmkoli způsobem právo s povinností v jedné osobě, zaniknou právo i povinnost, nestanoví-li zákon jinak.

(2) Splyne-li právo věřitele s povinností toho, kdo závazek zajišťuje, nezaniká tím hlavní dluh.

§ 1994

Splynutím práva věřitele a povinnosti jednoho z dlužníků zavázaných společně a nerozdílně zaniká dluh do výše odpovídající podílu tohoto spoludlužníka. Splynutím povinnosti dlužníka a práva jednoho z věřitelů oprávněných společně a nerozdílně zaniká pohledávka do výše odpovídající podílu tohoto spoluvěřitele.

Prominutí dluhu

§ 1995

(1) Promine-li věřitel dlužníku dluh, má se za to, že dlužník s prominutím dluhu souhlasí, pokud neprojevil bez zbytečného odkladu nesouhlas výslovně nebo plněním dluhu.

(2) K prominutí dluhu dojde i v případě, že věřitel vydá dlužníku kvitanci nebo mu vrátí dlužní úpis, aniž dluh splnil; vydá-li věřitel kvitanci nebo vrátí-li dlužní úpis na celý dluh jednomu ze spoludlužníků, má se za to, že věřitel prominul dluh všem spoludlužníkům.

§ 1996

(1) Promine-li věřitel dluh jednomu z dlužníků zavázaných společně a nerozdílně, má prominutí dluhu účinky vůči ostatním spoludlužníkům v rozsahu podílu toho spoludlužníka, který byl ze závazku propuštěn.

(2) Promine-li dlužníku dluh jeden z věřitelů oprávněných společně a nerozdílně, zbavuje to dlužníka dluhu v rozsahu podílu tohoto spoluvěřitele.

§ 1997

Promine-li věřitel povinnost tomu, kdo dluh zajišťuje, nemá prominutí účinky vůči hlavnímu dluhu. Propustí-li však věřitel ze závazku jednoho ze spoluručitelů, zůstávají ostatním spoluručitelům zachovány námitky, které mohl uplatnit spoluručitel, jehož povinnost byla prominuta.

Výpověď

§ 1998

(1) Závazek lze vypovědět, ujednají-li si to strany nebo stanoví-li tak zákon.

(2) Je-li závazek vypovězen, zaniká uplynutím výpovědní doby. Lze-li však závazek vypovědět bez výpovědní doby, zaniká závazek účinností výpovědi.

§ 1999

(1) Zavazuje-li smlouva ujednaná na dobu neurčitou alespoň jednu stranu k nepřetržité nebo opakované činnosti, anebo zavazuje-li alespoň jednu stranu takovou činnost strpět, lze závazek zrušit ke konci kalendářního čtvrtletí výpovědí podanou alespoň tři měsíce předem.

(2) Zavázala-li se strana zdržet se určité činnosti a je-li z povahy závazku zřejmé, že povinnost není časově omezena, ustanovení odstavce 1 se nepoužije.

§ 2000

(1) Byla-li smlouva bez vážného důvodu uzavřena na dobu určitou tak, že zavazuje člověka na dobu jeho života, anebo že zavazuje kohokoli na dobu delší než deset let, lze se po uplynutí deseti let od vzniku závazku domáhat jeho zrušení. Soud závazek zruší i tehdy, pokud se okolnosti, z nichž strany zřejmě vycházely při vzniku závazku, změnily do té míry, že na zavázané straně nelze rozumně požadovat, aby byla smlouvou dále vázána.

(2) Vzdá-li se strana předem práva domáhat se zrušení závazku, nepřihlíží se k tomu. To neplatí, je-li zavázanou stranou právnická osoba.

Odstoupení od smlouvy

§ 2001

Od smlouvy lze odstoupit, ujednají-li si to strany, nebo stanoví-li tak zákon.

§ 2002

(1) Poruší-li strana smlouvu podstatným způsobem, může druhá strana bez zbytečného odkladu od smlouvy odstoupit. Podstatné je takové porušení povinnosti, o němž strana porušující smlouvu již při uzavření smlouvy věděla nebo musela vědět, že by druhá strana smlouvu neuzavřela, pokud by toto porušení předvídala; v ostatních případech se má za to, že porušení podstatné není.

(2) Strana může od smlouvy odstoupit bez zbytečného odkladu poté, co z chování druhé strany nepochybně vyplyne, že poruší smlouvu podstatným způsobem, a nedá-li na výzvu oprávněné strany přiměřenou jistotu.

§ 2003

(1) Jakmile strana oprávněná odstoupit od smlouvy oznámí druhé straně, že od smlouvy odstupuje, nebo že na smlouvě setrvává, nemůže volbu již sama změnit.

(2) Mohla-li strana odstoupit od smlouvy pro podstatné porušení smluvní povinnosti a nevyužila své právo, nebrání jí to odstoupit od smlouvy později s odkazem na obdobné jednání druhé strany.

§ 2004

(1) Odstoupením od smlouvy se závazek zrušuje od počátku.

(2) Plnil-li dlužník zčásti, může věřitel od smlouvy odstoupit jen ohledně nesplněného zbytku plnění. Nemá-li však částečné plnění pro věřitele význam, může věřitel od smlouvy odstoupit ohledně celého plnění.

(3) Zavazuje-li smlouva dlužníka k nepřetržité či opakované činnosti nebo k postupnému dílčímu plnění, může věřitel od smlouvy odstoupit jen s účinky do budoucna. To neplatí, nemají-li již přijatá dílčí plnění sama o sobě pro věřitele význam.

§ 2005

(1) Odstoupením od smlouvy zanikají v rozsahu jeho účinků práva a povinnosti stran. Tím nejsou dotčena práva třetích osob nabytá v dobré víře.

(2) Odstoupení od smlouvy se nedotýká práva na zaplacení smluvní pokuty nebo úroku z prodlení, pokud již dospěl, práva na náhradu škody vzniklé z porušení smluvní povinnosti ani ujednání, které má vzhledem ke své povaze zavazovat strany i po odstoupení od smlouvy, zejména ujednání o způsobu řešení sporů. Byl-li dluh zajištěn, nedotýká se odstoupení od smlouvy ani zajištění.

Následná nemožnost plnění

§ 2006

(1) Stane-li se dluh po vzniku závazku nesplnitelným, zaniká závazek pro nemožnost plnění. Plnění není nemožné, lze-li dluh splnit za ztížených podmínek, s většími náklady, s pomocí jiné osoby nebo až po určené době.

(2) Nemožnost plnění prokazuje dlužník.

§ 2007

Při nemožnosti pouhé části plnění zanikne závazek v celém rozsahu, plyne-li z povahy závazku nebo z účelu smlouvy, který byl stranám při uzavření smlouvy znám, že plnění zbytku nemá pro věřitele význam. Není-li tomu tak, zaniká závazek jen co do této části.

§ 2008

Neoznámí-li dlužník věřiteli, že se splnění dluhu stalo nemožným, bez zbytečného odkladu poté, co se o tom dozvěděl nebo dozvědět musel, nahradí věřiteli škodu vzniklou tím, že věřitel nebyl o nemožnosti plnění včas vyrozuměn.

§ 2009

Smrt dlužníka nebo věřitele

(1) Smrtí dlužníka povinnost nezanikne, ledaže jejím obsahem bylo plnění, které mělo být provedeno osobně dlužníkem.

(2) Smrtí věřitele právo zanikne, bylo-li plnění omezeno jen na jeho osobu.

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 »