Connect with us

Привет, что-то ищете?

The Times On Ru
  1. The Times On RU
  2. /
  3. Бизнес
  4. /
  5. Банк России впервые за 2,5 года установил курс доллара ниже ..

Бизнес

Банк России впервые за 2,5 года установил курс доллара ниже 77 рублей

Банк России на 5 декабря установил официальный курс доллара США на уровне 76,97 рубля, снизив его на 0,98 рубля. Это самый низкий уровень с 12 мая 2023 года.

Курс евро снизился на 0,69 рубля. — до 89,90 руб. Стоимость юаня упала на 0,13 рубля. и достигла 10,85 руб По данным Investng.com, внебиржевой курс доллара в 18:04 мск упал до 75,43 рубля, но к 18:10 мск достиг 77,21 рубля

2 декабря глава ВТБ Андрей Костин заявил, что в 2026 году доллар США будет стоить более 90 рублей. По его мнению, этому может способствовать сокращение продаж валюты Банком России и снижение доходов бюджета из-за падения цен на нефть. Однако небольшое ослабление рубля будет выгодно экспортерам и бюджету, считает глава ВТБ.

Произошла ошибка при загрузке данных диаграммы индикатора.

“B-Chronograph”. Курс доллара США к рублю Интерактивный инструмент «Коммерсантъ-Хронограф» собирает тематический контекст индикатор из архива «Коммерсанта» и формирует краткие описания с с использованием технологий искусственного интеллекта (ИИ). Автоматическое резюме может содержать неточности — для полноты читайте оригинал статьи по кнопке «Еще». Виджет AI обогащает график связанными событиями. Нажмите на сплошной значок подпишитесь, чтобы посмотреть описание и перейдите в архив. Коммерсантъ опубликовал публикацию на тему Данные: ЦБ РФ.  /  <диапазон> по теме (functon(){(асинхронная функция() { const wdgetElement = getTargetElement(document.currentScrpt, ‘.moex_wdget’); const tabsElement = wdgetElement.querySelector(‘.moex_tabs’); const spnnerElement = wdgetElement.querySelector(‘.moex_wdget_loader’); const errorElement = wdgetElement.querySelector(‘.moex_wdget_error’); const selectElement = tabsElement.querySelector(‘.moex_chart__select’); constchartRateElement = tabsElement.querySelector(‘.moex_chart__rate’); constchartDateElement = tabsElement.querySelector(‘.moex_chart__date’); const noteIconElement = tabsElement.querySelector(‘.moex_tabs__note-con’); const noteElement = tabsElement.querySelector(‘.moex_tabs__note’); const noteCloseElement = tabsElement.querySelector(‘.moex_tabs__note .close’); const nfoPannelElement = wdgetElement.querySelector(‘.moex_nfo-pannel’); const nfoPannelContentElement = wdgetElement.querySelector(‘.moex_nfo-pannel__content-wrapper’); const nfoPannelShadeElement = wdgetElement.querySelector(‘.pannel-shade’); const nfoPannelShowMoreElement = nfoPannelShadeElement.querySelector(‘.show-more’); const nfoPannelShowLessElement = nfoPannelElement.querySelector(‘.show-less’); const tmestamp = новая дата().getTme(); пусть LastActivePont = null; пусть currSubcategory = null; пусть currIntervalId = 6; пусть категории = []; пусть графДанные = []; пустьchartData = []; пусть документы = []; пусть resCatalog = []; пустьchartDataDocs = []; пусть тире = []; пусть GraphDataGold = []; пустьchartDataGold = []; пусть диаграмма = ноль; константные имена месяцев = { 1: { коротко: «Ян», полное: ‘Январь’ }, 2: { коротко: «февраль», полное: ‘Февраль’ }, 3: { коротко: «мар», полное: ‘Март’ }, 4:{ коротко: «Апрель», полное: ‘Апрель’ }, 5:{ короткое: «Май», полное: ‘Май’ }, 6: { коротко: «июнь», полное: ‘Июнь’ }, 7:{ короткое: «Июль», полное: ‘Июль’ }, 8: { коротко: «Август», полное: ‘Август’ }, 9: { коротко: «сентябрь», полное: ‘Сентябрь’ }, 10: { коротко: «Октябрь», полное: ‘Октябрь’ }, 11: { коротко: «Ноябрь», полное: ‘Ноябрь’ }, 12:{ коротко: ‘декабрь’, полное: ‘Декабрь’ }, }; const curIntervals = [4, 5, 6, 7, 8, 9, 10] константные интервалы = { 4: «3 месяца», 5: «6 месяцев», 6: «1 год», 7: «С начала года», 8: «3 года», 9: «5 лет», 10: «Все время» }; functon getTargetElement (элемент, селектор) { пусть предыдущая = element.prevousElementSblng; пока (предыдущий) { f (prev.matches(селектор)) return prev; е (prev.matches(‘.ncut’)) { return prev.querySelector(селектор); } предыдущая = предыдущая.prevousElementSblng; } вернуть ноль; } const loadScrpt = (url) => { вернуть новое обещание((разрешить, отклонить) =>{ f (wndow.Hghcharts?.StockChart) { вернуть решение (wndow.Hghcharts); } let scrpt = document.querySelector(‘scrpt[src*=»hghstock»]’); f (истина || !scrpt) { scrpt = document.createElement(‘scrpt’); scrpt.src = URL; scrpt.async = правда; document.head.appendChld(сценарий); } константа lmt = 10; пусть повторит = 0; const ntervalID = setInterval(() => { f (wndow.Hghcharts?.StockChart) { ClearInterval (ID интервала); разрешить (wndow.Hghcharts); } else f (++повторить >= лмт) { ClearInterval (ID интервала); ignore(new Error(‘Превышен лимит времени загрузки Hghcharts’)); } }, 500); }); }; constclearElement = (элемент) =>{ whle(element.frstChld) { element.removeChld(element.frstChld); } }; const showErrorMsg = () => { spnnerElement.remove(); tabsElement.classLst.add(‘hde’); errorElement.classLst.remove(‘hde’); }; const showNote = () => { noteElement.classLst.remove(‘hde’); } const closeNote = () => { noteElement.classLst.add(‘hde’); } const ntCategory = () => { const CategoryId = wdgetElement.dataset.categoryId; const subcategoryId = wdgetElement.dataset.graphAp; const currCategory = categores.fnd((cat) => cat.Id == CategoryId); currSubcategory = currCategory.Indces.fnd((sub) => sub.Id == subcategoryId); }; //переключаем временные интервалы const updateTabSelect = () =>{ curIntervals.forEach((dx) =>{ const optonElement = document.createElement(‘opton’); optonElement.value = dx; optonElement.textContent = ntervals[dx] optonElement.selected = dx === currIntervalId selectElement.append(optonElement); }); }; const updateChartRate = (значение, индекс) => { пусть goldRate = ноль е (!индекс) { let selectedDoc =chart.seres[1].ponts.fnd(flag => flag.state === ‘select’) е (!selectedDoc) { selectedDoc =chart.seres[1].ponts[chart.seres[1].ponts.length — 1] } const selectedDate =chartDataGold.reduce((аккумулятор, currentValue) =>{ пусть currentDate = новая дата (currentValue[0]) currentDate.setHours(0, 0, 0, 0) f (currentDate.getTme() tem[0] === selectedDate) } еще { goldRate = диаграммаDataGold[ndex] } chartRateElement.nnerHTML = »; const goldRateEl = document.createElement(‘span’); goldRateEl.textContent = `${formatStrng(formatNumber(goldRate[1]))} ${currSubcategory?.CurrencySymbol}` chartRateElement.append(goldRateEl) chartDateElement.textContent = `${formatDateTme(goldRate[0])[1]}`; }; const updateInterval = (value = currSubcategory.IntervalTypes[0]) => { закрытьИнфоПаннел() ОчиститьИнфоПаннел() currIntervalId = + значение; }; constclearInfoPannel = () => { let oldData = nfoPannelElement.querySelectorAll(‘.moex_nfo-pannel__docs-wrapper’); oldData.forEach(старый =>старый.удалить()); } const closeInfoPannel = () => { nfoPannelElement.classLst.add(‘hde’); } const num_word = (значение, слова) => { значение = Math.abs(значение) % 100; вар число = значение % 10; f (значение > 10 && значение < 20) вернуть слова[2]; f (num > 1 && num < 5) вернуть слова[1]; f (num == 1) вернуть слова [0]; вернуть слова[2]; } const showInfoPannel = (понт) =>{ ОчиститьИнфоПаннел() ж (!!понт) { nfoPannelElement.classLst.remove(‘открыто’) nfoPannelShowMoreElement.classLst.remove(‘hde’) nfoPannelShowLessElement.classLst.add(‘hde’) } const sOpened = nfoPannelElement.classLst.contans(‘opened’); const docPubDate = pont?.optons?.pubDate || LastActivePont?.pubDate; const analytcsName = wdgetElement.dataset.analytcsName; let docSummary = docs.flter((doc) => doc.pubDate === docPubDate); const docSummaryLength = docSummary.length; f (docSummary && docSummaryLength > 0) { f (docSummaryLength > 2 && !sOpened) { nfoPannelShadeElement.classLst.remove(‘hde’); docSummary = docSummary.slce(0, 2); } еще { docSummaryLength 7 ? { год: ‘число’ } : { месяц: ‘длинный’ }); f (currIntervalId < 6 && docSummary.length >1) { const startPerod = новая дата(docSummary[0].truePubDate).toLocaleDateStrng(‘ru-RU’, { месяц: ‘число’, день: ‘число’ }); const endPerod = новая дата(docSummary[docSummary.length — 1].truePubDate).toLocaleDateStrng(‘ru-RU’, { месяц: ‘число’, день: ‘число’ }); headerDateEl.textContent = `${startPerod} – ${endPerod}` } еще { headerDateEl.textContent = имя месяца.charAt(0).toUpperCase() + имя месяца.slce(1); } const ttleDateEl = nfoPannelContentElement.querySelector(‘.ttle’); ttleDateEl.textContent = `${docSummaryLength} ${num_word(docSummaryLength, [ ‘material’, ‘material’, ‘materials’ ])}` docSummary.forEach((d) => { const doc = resCatalog.fnd(tem =>d.Id === tem.Id) const pubDate = новая дата (doc.pubDate) const pannelContentEl = document.createElement(‘dv’); pannelContentEl.className = ‘moex_nfo-pannel__docs-wrapper’; const pannelDateEl = document.createElement(‘span’); pannelDateEl.className = ‘дата’; pannelDateEl.textContent = pubDate.toLocaleDateStrng(‘ru-RU’, { месяц: ‘число’, день: ‘число’ }); const pannelTextEl = document.createElement(‘span’); PanelTextEl.className = ‘текст’; pannelTextEl.textContent = doc.summary; const pannelMoreEl = document.createElement(‘a’); pannelMoreEl.className = ‘больше’; pannelMoreEl.textContent = ‘Еще’; pannelMoreEl.setAttrbute(‘href’, `/doc/${doc.docId}?from=chronograph_${analytcsName}`); pannelContentEl.append(pannelDateEl); pannelContentEl.append(pannelTextEl); pannelContentEl.append(pannelMoreEl); nfoPannelContentElement.append(pannelContentEl); }) nfoPannelElement.classLst.remove(‘hde’); } } const fetchIndcesData = async() => { попробуй { const ответ = awat fetch(‘/ndces/graphcatalog’); е (!response.ok) { throw new Error(`Status ${response.status}`); } категории = awat response.json(); } поймать (ошибка) { показатьErrorMsg(); throw new Error(`Ошибка получения индексных данных: ${error.message}`); } }; const fetchCatalogData = async () =>{ попробуй { //получим данные каталога материалов const CatalogId = wdgetElement.dataset.docsAp; const ответ = awat fetch(`https://wt.kommersant.ru/ap/v1/catalog/get?catalogId=${catalogId}&start=0&lmt=1000`); е (!response.ok) { throw new Error(`Status ${response.status}`); } resCatalog = (awat response.json())?.data || []; resCatalog.sort((docA, docB) => новая дата(docA.pubDate).getTme() — новая дата(docB.pubDate).getTme()) } поймать (ошибка) { показатьErrorMsg(); throw new Error(`Ошибка получения данных: ${error.message}`); } }; const fetchGraphData = async() =>{ попробуй { //получаем данные диаграммы constgraphId = wdgetElement.dataset.graphAp const cost = awat fetch(`/ndces/graphvalues?ndex=${graphId}&nterval=${currIntervalId}`) е (!cost.ok) { throw new Error(‘Я не могу загрузить данные для диаграммы’); } graphDataGold = awat Cost.json(); } поймать (ошибка) { показатьErrorMsg(); throw new Error(`Ошибка получения данных диаграммы: ${error.message}`); } }; const formatStrng = (значение) => { возвращаемое значение.toStrng().replace(‘.’, ‘,’); //просмотр 1.23 }; const formatNumber = (значение) => { return Math.trunc(+value * 100)/100; //просмотр 1.23 }; const getMnY = () => { const maxY =chartDataGold.reduce((max, current) => { return Math.max(макс, ток[1]); }, 0); const mnY =chartDataGold.reduce((mn, current) =>{ return Math.mn(mn, current[1]); }, МаксY); const newMn = mnY — Math.trunc((maxY — mnY)/3) вернуть newMn > 0 ? newMn : 0; } const formatDateTmeDoc = (dateValue) =>{ const currDateObject = новая дата (dateValue); const dayOfMonth = currDateObject.getDate().toStrng().padStart(2, ‘0’); константный месяц = ​​currDateObject.getMonth() + 1; const год = currDateObject.getFullYear(); переключатель (currIntervalId) { //день — 6 месяцев случай 1: случай 2: случай 3: случай 4: случай 5: return `${dayOfMonth} ${monthNames[month].full} ${year}`; //1 год, с начала года случай 6: случай 7: return `${monthNames[month].full} ${year}`; //3 года — постоянно случай 8: случай 9: случай 10: вернуть `${year}`; } }; const formatDateTme = (dateValue, pos) =>{ const currDateObject = новая дата (dateValue); const dayOfMonth = currDateObject.getDate().toStrng().padStart(2, ‘0’); константный месяц = ​​currDateObject.getMonth() + 1; const год = currDateObject.getFullYear(); constyearShort = год.toStrng().substrng(2); const tme = currDateObject.toLocaleStrng(‘ru-RU’, { час: ‘2-дгт’, минута: ‘2-dgt’ }); переключатель (currIntervalId) { //день случай 1: return [`${tme}`, `${dayOfMonth} ${monthNames[month].short} ${tme}`]; //неделя случай 2: return [`${dayOfMonth} ${monthNames[month].short} ${tme}`, `${dayOfMonth} ${monthNames[month].short} ${tme}`]; //месяц, 3 месяца случай 3: случай 4: return [`${dayOfMonth} ${monthNames[month].short}`, `${dayOfMonth} ${monthNames[month].short}`]; //6 месяцев случай 5: return [`${monthNames[month].full}`, `${dayOfMonth} ${monthNames[month].short} ${year}`]; //1 год, с начала года случай 6: случай 7: f (pos !== undefned &&chartDataGold[pos]) { const currentYear = (new Date(chartDataGold[pos][0])).getFullYear(); const prevYear = позиция >0 ? (новая дата(chartDataGold[pos — 1][0])).getFullYear() : 0; f (pos === 0 || currentYear !== prevYear) { return [`${monthNames[month].short}’${yearShort}`, `${dayOfMonth} ${monthNames[month].short} ${year}`]; } } return [`${monthNames[month].short}`, `${dayOfMonth} ${monthNames[month].short} ${year}`]; //3 года, 5 лет случай 8: случай 9: return [`${year}`, `${monthNames[month].full} ${year}`]; //все время случай 10: return [`’${yearShort}`, `${monthNames[month].full} ${year}`]; } }; const connectGraphData = async () => { awat fetchGraphData(); диаграммаDataGold = []; graphDataGold.forEach(([дата, значение]) =>chartDataGold.push([новая дата(дата).getTme(), parseFloat(значение)])); const mnTme =chartDataGold[0][0] const maxTme =chartDataGold[chartDataGold.length — 1][0] ChartDataDocs = []; документы = [] пусть startOfTheCustomPerod = null; пусть endOfTheCustomPerod = null; const customPerodLength = 1000 * 60 * 60 * 24 * 7; //неделя resCatalog.forEach((запись) => { пусть docTrueDate = новая дата(record.pubDate).getTme() пусть docDate = новая дата (record.pubDate) docDate.setHours(0, 0, 0, 0) f (docTrueDate < mnTme || docTrueDate >максТме || !запись.IsShow) возвращение f (currIntervalId < 6) { е ( !!startOfTheCustomPerod && !!endOfTheCustomPerod && docTrueDate > startOfTheCustomPerod && docTrueDate < endOfTheCustomPerod) { docDate = новая дата (startOfTheCustomPerod) } еще { startOfTheCustomPerod = docDate.getTme() endOfTheCustomPerod = startOfTheCustomPerod + customPerodLength } } else f (currIntervalId === 6 || currIntervalId === 7) { docDate.setDate(1) } else f (currIntervalId > 7) { docDate.setMonth(1, 1) } docs.push({ …запись truePubDate: новая дата(record.pubDate).getTme(), pubDate: docDate.getTme() }) const ужеExsstsId =chartDataDocs.fndIndex(d =>d.pubDate === docDate.getTme()) е (ужеExsstsId === -1) { chartDataDocs.push({ х: docTrueDate, pubDate: docDate.getTme(), shape: ‘url(https://y.kommersant.ru/ContentFlex/mages/logos/flag-desk-logo.svg)’, }); } еще { chartDataDocs[alreadyExsstsId].shape = ‘url(https://y.kommersant.ru/ContentFlex/mages/logos/flags-desk-logo.svg)’ chartDataDocs[alreadyExsstsId].x = Math.mn(docTrueDate,chartDataDocs[alreadyExsstsId].x) } }); тире = [] chartDataDocs.forEach((doc) =>{ тире.push({ цвет: ‘#DDD’, ширина: 1, значение: doc.x, zИндекс: 2, DashStyle: ‘Тире’, }) }) }; const renderGraph = () =>{ диаграмма = Hghcharts.chart(`moex_graph-${tmestamp}`, { диаграмма: { стиль: { FontFamly: ‘Нерт’, }, события: { нагрузка: функция() { spnnerElement.remove(); tabsElement.classLst.remove(‘hde’); }, } }, немного: { текст: незащищенный }, кредиты: { включено: ложь }, легенда: { включено: ложь }, инструментp: { включено: ложь, кроссхарс: правда, поделился: правда }, цвета: [‘#498ABB’, ‘#F17E9B’], хАкс: { введите: ‘dateme’, сюжетные линии: тире, }, yAxs: { немного: { текст: неопределенный, }, ярлыки: { выравнивание: ‘слева’, х: 0, резервное пространство: правда, стиль: { Размер шрифта: ’14 пикселей’, шрифтВес: ‘400’, цвет: ‘#333’, textOverflow: не определено, }, }, grdLneColor: ‘#eee’, }, сюжетОптонс: { серия: { маркер: { включено: ложь, EnableThreshold: неопределенный, fllColor: ‘#3E9AE2’, lneColor: ‘#3E9AE2’, длина: 1, радиус: 3, }, пон: { события: { mouseOver: functon() { updateChartRate([ths.key, ths.y], ths.ndex); }, }, }, события: { mouseOut: functon() { updateChartRate(); }, }, говорится: { актуально: { непрозрачность: 1 } }, }, флаги: { разрешитьПонтселект: правда, события: { clck: функция (событие) { chart.seres[1].ponts.forEach((pont, dx) =>{ const sAGroup = pont.shape.ncludes(«флаги») const mage = `url(https://y.kommersant.ru/ContentFlex/mages/logos/flag${sAGroup ? ‘s’ : »}-desk-logo.svg)` pont.optons.shape = маг; pont.shape = маг; понт.обновление() }) const saPontGroup = event.pont.shape.ncludes(«флаги») const pontImage = `url(https://y.kommersant.ru/ContentFlex/mages/logos/flag${sAPontGroup ? ‘s’ : »}-desk-logo-actve.svg)` event.pont.optons.shape = pontImage; event.pont.shape = pontImage; событие.понт.обновление() LastActivePont = event.pont showInfoPannel(event.pont) sendChronographEvent(‘nfo_pannel’, ‘показать’) }, }, } }, ответ: { правила: [{ кондтон: { МаксШдс: 600 }, диаграммаОптонс: { хАкс: { ярлыки: { стиль: { Размер шрифта: ’10px’, }, }, }, yAxs: { ярлыки: { стиль: { Размер шрифта: ’10px’, }, }, } } }] }, серия: [{ тип: ‘lne’, данные: диаграммаDataGold, }, { тип: ‘флаги’, ттл: », данные: диаграммаDataDocs, }, ], }); LastActivePont =chart.seres[1].ponts[chartDataDocs.length — 1] showInfoPannel (lastActvePont) chart.seres[1].ponts[chartDataDocs.length — 1].select(true, true) const sAGroup = LastActvePont.shape.ncludes(«флаги») const mage = `url(https://y.kommersant.ru/ContentFlex/mages/logos/flag${sAGroup ? ‘s’ : »}-desk-logo-actve.svg)` LastActivePont.optons.shape = маг; LastActivePont.shape = маг; последнийActivePont.update() }; const updateGraph = async () => { awat ConnectGraphData(); requestAnmatonFrame(() => { диаграмма.уничтожить(); рендерГраф(); updateChartRate(); }); }; const ntHghcharts = async () =>{ попробуй { awat loadScrpt(‘https://y.kommersant.ru/ContentFlex/js/custom/lbs/hghchats/hghstock-v12.4.0.js’); } поймать (ошибка) { показатьErrorMsg(); console.log(ошибка) throw new Error(‘Ошибка загрузки hghcharts.js’); } }; const ntGraph = async () => { awat ntHghcharts(); awat ConnectGraphData(); обновлениеTabSelect(); Hghcharts.setOptons({ язык: { numercSymbols: [‘тысяча’] } }); requestAnmatonFrame(() => { рендерГраф(); updateChartRate(); }); }; const updateAttrbute = () => { constgraphElement = wdgetElement.querySelector(‘.moex_graph’); graphElement.setAttrbute(‘d’, `moex_graph-${tmestamp}`); selectElement.setAttrbute(‘d’, `moex_nterval-${tmestamp}`); }; const sendChronographEvent = (событие, полезная нагрузка) =>{ console.log(‘- 1’) е (!!wndow.kommersant) { const analytcsName = wdgetElement.dataset.analytcsName; console.log(‘- 2’) console.log(имяаналитики, событие, полезная нагрузка) wndow.kommersant.sendEvent(‘хронограф’, analytcsName, событие, полезная нагрузка); } } const ntWdget = async () => { обновлениеАттрбуте(); awat fetchIndcesData(); awat fetchCatalogData(); нтКатегория(); нтГраф(); sendChronographEvent(‘nt’) selectElement.addEventLstener(‘change’, (e) => { updateInterval(e.target.value); обновлениеГрафик(); sendChronographEvent(‘update_interval’, e.target.value) }); noteIconElement.addEventLstener(‘clck’, (e) => { noteElement.classLst.contans(‘hde’) ? шоуПримечание(): закрытьПримечание() }); noteCloseElement.addEventLstener(‘clck’, (e) => { закрытьПримечание() }); nfoPannelShowMoreElement.addEventLstener(‘clck’, (e) => { nfoPannelElement.classLst.add(‘открыто’) nfoPannelShowMoreElement.classLst.add(‘hde’) nfoPannelShowLessElement.classLst.remove(‘hde’) шоуИнфоПаннел() sendChronographEvent(‘nfo_pannel’, ‘подробнее’) }); nfoPannelShowLessElement.addEventLstener(‘clck’, (e) => { nfoPannelElement.classLst.remove(‘открыто’) nfoPannelShowMoreElement.classLst.remove(‘hde’) nfoPannelShowLessElement.classLst.add(‘hde’) tabsElement.scrollIntoVew({ поведение: «гладкое», блок: ‘старт’ }); шоуИнфоПаннел() }); }; нтВджет(); })();})()

Оставить комментарий

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Стоит Посмотреть

Стоит Посмотреть

Новости По Дате

Декабрь 2025
Пн Вт Ср Чт Пт Сб Вс
1234567
891011121314
15161718192021
22232425262728
293031  

Вам может быть интересно:

Общество

Фото: pexels.com тестовый баннер под заглавное изображение В многоэтажном жилом доме в Волгограде, расположенном на улице Маршала Ерёменко, произошел мощный взрыв, который, по предварительным...

Технологии

МОСКВА, 7 ноя. Новое устройство для безопасного управления электросетью с участием возобновляемых источников энергии создали ученые ТПУ. По их данным, разработка поможет почти вдвое...

Бизнес

На прошлой неделе волатильность на внутреннем валютном рынке заметно снизилась. По итогам пятничных торгов курс американской валюты на внебиржевом рынке составил 80,85 руб./$, что...

Общество

Новый фигурант в деле Рудницкой: руководитель медклиники стала фигурантом дела о продаже детей ФОТО: BAZA тестовый баннер под заглавное изображение В Московской области возбуждено...