Menu Zavřít

Holé lebky. Česká armáda pořizuje extrémně levné zboží z Chorvatska

14. 3. 2019
Autor: Martin Pinkas

Přestože se zbrojíři ministerstva obrany chystají na obří miliardové nákupy transportérů, vrtulníků či děl, velké potíže jim dělají i mnohem menší obchody. Nedávno šlo o neprůstřelné vesty, teď balistické přilby pro pěchotu. I když jsou helmy téměř nejdůležitější součástí výstroje, ministerstvo je několik let nedokázalo nakoupit a používaným přilbám mezitím skončila životnost.

Podařilo se až loni v květnu. Soutěžilo se na základě jediného parametru, kterým byla nejvýhodnější cena. Vojáci od firem nepožadovali ani zkušební vzorky nabízených přileb. Resort - tehdy pod vedením Karly Šlechtové (za ANO) - podepsal kontrakt se společností STV Group. Díky nejnižší nabídce v hodnotě 103 milionů korun bez DPH získala zakázku na dodávky 14 500 přileb. Jenže následný vývoj ukázal, že tento obchod nebude nijak jednoduchý.

Nákupčí se zarazili hned při rozlepování obálek. Nabídka od STV Group byla sice nejnižší, ovšem od druhého místa ji dělilo téměř neuvěřitelných 63 milionů korun. Jedna přilba tak v průměru vychází na 7100 korun. U konkurence se přitom cena pohybovala od 11 500 do 16 500 korun. „Požádali jsme o odůvodnění mimořádně nízké nabídkové ceny,“ reaguje Jiří Caletka, mluvčí ministerstva obrany. V odpovědi se prý úředníci dozvěděli, že láci nezpůsobuje nízká kvalita produktu. „Společnost ji objasnila výjimečně příznivými obchodně-ekonomickými podmínkami,“ pokračuje Caletka.

Týdeník Euro chtěl vyjádření i po firmě STV Group. Pár dní poté, co její mediální zástupce Maxim Kucer dostal několik otázek, však odpověděl, že firma se zatím ani k jedné nevyjádří.

Hosté ze Záhřebu

Tím ale překvapení neskončilo. Ač vítězná nabídka obsahovala bulharské přilby od výrobce Mars Armor, které používají třeba ozbrojené síly v Burundi či Burkině Faso, do rukou zkušební komise se nakonec dostal úplně jiný produkt. Konkrétně helmy od chorvatské firmy Šestan-Busch. Jiří Caletka tuto změnu potvrzuje. STV Group prý změnu provedla v souladu se zákonem.

A přestože se kontrolní zkoušky nejdříve nevyvíjely dobře - přilby původně podle hodnoticí zprávy nevyhověly třeba ani v odolnosti proti střepinám - neshody pak byly podle zápisu odstraněny. Následné vojskové testy měly skončit v polovině loňského prosince. Jenže i v nich se objevily potíže, a tak ministerstvo prodloužilo termín do letošního 1. března. Důvod zpoždění nechce Caletka specifikovat. „Komise zjistila neshody v zadaných takticko-technických požadavcích,“ říká nekonkrétně.

 Nabídky na dodávky přileb

Tyto zkoušky jsou přitom extrémně důležité nejen pro vojáky, kteří už nové přilby nutně potřebují. Pokud helmy Šestan-Busch projdou, otevírá se cesta k velkému kontraktu. V první vlně jde sice „pouze“ o 14 500 kusů za 103 milionů, jenže náčelník Generálního štábu Aleš Opata už otevřeně prohlásil, že obchod bude nakonec mnohem větší. Mluví se o více než třiceti tisících přilbách.

A to by byla dobrá zpráva nejen pro výrobce Šestan-Busch a českého zprostředkovatele STV Group. Do obchodu se poměrně překvapivě vklínila i záhřebská Agencija Alan.

Jde o společnost, v níž sedí zástupci několika chorvatských ministerstev a prioritně má na starost zbrojení tamější armády a policie. Její dva zástupci - včetně člena vedení Milana Kneževiče - se dostavili i na české kontrolní zkoušky. Ministerstvo obrany tvrdí, že na jejich průběh žádný vliv neměli. „Zúčastnili se pouze jako přizvaní hosté, nejednalo se o řádné členy komise,“ reaguje Caletka.

Námitka? Zamítnuto

Kvůli průběhu tendru už na ministerstvo dorazila i námitka, té ale resortní právníci nevyhověli. Dopis mimo jiné upozorňuje na údajné nejasnosti kolem použitého materiálu. S ohledem na požadovanou hmotnost přilby a její balistickou ochranu proti střepinám a střelám je prý možné použít jen nejnovější polyetylen. To však podle námitky není reálné u přilby za průměrnou cenu 7100 korun. „Hlavní část přilby tvoří skořepina, která je vyrobena z vrstveného kompozitu v souladu s technickými požadavky uvedenými v rámcové dohodě,“ hájí výběr Caletka.


Přečtěte si komentář: Podepiš a zapomeň

Ondřej Stratilík


Jestli si nakonec česká armáda výrobky Šestan-Busch pořídí, ukážou nejbližší dny, kdy Generální štáb vyhodnotí zkoušky. Zato jasné není, kdy se nové přilby dostanou na hlavy samotných vojáků. Mnoho zaplacených dodávek výstroje a výzbroje probíhalo se zpožděním v řádu měsíců a let. Ostatně i proto příslušníci ozbrojených sil tak často nakupují raději v armyshopech.

Dále čtěte:

Metnar: Úspory ministerstva obrany se nedotknou armády, ale civilní části resortu

Nová „bévépéčka“ za 53 miliard: Metnar si pozval všechny zájemce najednou

Metnar úřadoval: vojenské hotely jsou bez šéfa

Obří zakázka na 210 obrněnců bobtná. Vojáci chtějí dalších 36 vozidel

Komplikace pro vojenské nákupy? Náměstek pro vyzbrojování Koštoval skončil

Konec „uazů“? Česká armáda kupuje 1200 terénních vozidel

bitcoin_smenarna

Komentář: Rekordní rozpočet. Co s ním?

Komentář: Partie starého dragouna

  • Našli jste v článku chybu?
'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.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:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { 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(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll 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 = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } 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(); } 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(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }