2020 год это ошибка да или нет

Оказывается, мы его неправильно встретили: нельзя было пить шампанское

Почему 2020-й стал таким античеловечным? Мало того, что он был високосным, но, оказывается, мы сами усилили негативное влияние Года Крысы, неправильно его встретив и тем самым настроив против себя это тотемное животное, распоряжавшееся событиями в мире на протяжении последних двенадцати месяцев.

Ситуацию с ошибкой, допущенной множеством людей при встрече 2020 года, пояснил астролог Дмитрий Бутаковский.

— У нас стало традицией отмечать приход новолетия шампанским. В полночь 31 декабря под бой курантов люди откупоривают бутылки игристого, наполняют пенящимся напитком бокалы, чокаются, поздравляют друг друга, приветствуя очередную смену лет – «С новым годом!» Как правило, этот праздничный ритуал вполне приемлем и не грозит никакими негативными последствиями. Но в ситуации, когда «главным распорядителем» наступающего года является Крыса, все иначе. Встречать такой год шампанским, оказывается, ни в коем случае нельзя, поскольку запретное для этого грызуна игристое вино провоцирует появление серьезных негативных последствий.

Увы, разобраться в данной ситуации удалось лишь сравнительно недавно, когда предупредить людей, исправить что-либо было уже поздно.  

Дело в том, что один из неотъемлемых элементов оформления бутылок с шампанским — металлическая фольга, в которую завернуто горлышко стеклянной емкости. Подавляющее большинство современных людей считают ее просто красивым элементом оформления, характерными именно для такого сорта вина. Однако на самом деле изначально металлическая фольга имела вполне утилитарное назначение. Ею закрывали корковую пробку, запечатывающую бутылку, от мышей и крыс, чтобы грызуны не повредили ее во время хранения в подвалах, на складах. Наши предки были уверены, что серые зверушки не станут пытаться пробовать на зуб поверхность пробки, покрытую слоем металла, имеющего характерный, улавливаемый крысами и мышами запах. Так что шампанское, благодаря такой рационализации, стало «табу» для грызунов.

Само собой, символ 2020-го – Крыса, может испытывать лишь раздражение, замечая, что люди открывают и пьют недоступный ей игристый напиток. Такое раздражение тотемного животного «аукнулось» всем нам тяжелейшими испытаниями, которые обрушились на Землю. В первую очередь, конечно, разгулом пандемии коронавируса.

— То есть не нужно было в ту новогоднюю ночь год назад пить шампанское?

— Совершенно верно. Следовало заменить данный игристый напиток каким-либо вином «без пузырьков», упакованным в обычные бутылки.  

— А то, что мы встретили традиционно – бокалами с шампанским, наступивший 2021-й, не чревато ли какими-то неприятностями в грядущие месяцы?

— Год, в который мы вступили, «опекает», согласно китайскому календарю, совсем другое существо – Бык. А у этого зверя нет никакого предвзятого отношения к данному виду алкогольных напитков. Поэтому на сей раз традиционный ритуал встречи Нового года шампанским не приведет ни к какими негативным последствиям, и можно ожидать, что Бык будет к нам куда более благосклонен, чем его предшественница – Крыса.

Многие с опаской и подозрением встречают каждый високосный год, ведь он считается несчастливым: мало ли что… Чаще всего опасения не оправдываются, но високосный 2020-й превзошел наихудшие ожидания, «подарив» миру новую заразу, глобальный карантин и коллапс мировой экономики. И это далеко не полный список бед, за которые 2020-й прозвали худшим в современной истории, — в нем были и теракты, и политические скандалы, и войны. «Лента.ру» вспомнила, за что можно ненавидеть 2020-й, и почему все так хотят наконец с ним распрощаться.

Иранский кризис

Год не задался с самого начала. Надежды на то, что 2020 год пройдет хорошо, развеялись буквально в первые дни. 3 января американские спецслужбы ликвидировали в Ираке иранского генерала Касема Сулеймани — главу элитного спецподразделения «Аль-Кудс» Корпуса стражей исламской революции (КСИР). Будучи организатором спецопераций в разных странах Ближнего Востока Сулеймани якобы планировал взорвать одно из американских посольств, за что и получил ярлык террориста.

В Тегеране с такой трактовкой не согласились. Иранцы признали Сулеймани мучеником и поклялись немедленно отомстить Вашингтону, в целом даже допуская начало военных действий. Это звучало особенно угрожающе в свете проблем, связанных с ядерной программой: с тех пор, как США вышли из договора с Ираном в 2018-м, Исламская Республика только расширяла возможности для создания смертельного оружия.

Угрозы привели в исполнение быстро — уже 8 января КСИР нанес ракетный удар по военным объектам США в Ираке. Иронично, но все американцы остались живы — несмотря на то, что Иран сообщал о гибели 80 человек на базе, ему мало кто поверил.

Довольно скоро был нанесен еще один удар, который, правда, попал совсем не по США. Буквально через несколько часов после удара по базам из Тегерана в Киев вылетал Boeing 737-800 «Международных авиалиний Украины». Спустя всего несколько минут после взлета самолет разбился.

176человек

погибли в катастрофе — все, кто находился на борту

На Украине сразу заподозрили, что Boeing разбился по вине Ирана, настроенного на войну с США. Власти Исламской Республики поначалу отнекивались, но спустя пару дней все же признали: действительно, они спутали гражданский самолет с военным и случайно пустили в него ракету. Ответственность за гибель лайнера взял на себя КСИР. Военные объяснили, что ЧП произошло, когда самолет приблизился к объекту корпуса недалеко от аэропорта.

Министр иностранных дел Ирана Джавад Зариф выразил соболезнования всем пострадавшим и отметил, что частично виноваты в произошедшем и США, «которые допустили ухудшение обстановки в регионе». Приняв извинения, Киев все же потребовал денежной компенсации и подробного расследования. Черный ящик с разбившегося самолета сначала лежал в Иране, а затем отправился во Францию. Тегеран пообещал наказать виновных за сбитый украинский Boeing до годовщины события.

Место крушения украинского Boeing 737-800

Место крушения украинского Boeing 737-800

Фото: Reuters

Впрочем, крушением самолета история противостояния Ирана и США в 2020-м не закончилась. Тегеран с завидной регулярностью клялся отомстить Вашингтону за Сулеймани, а из Белого дома периодически просачивались слухи о планах американского лидера Дональда Трампа ударить по иранскому ядерному объекту.

И действительно ударили. Правда, не по объекту и не факт, что США. 27 ноября недалеко от иранской столицы неизвестные убили местного физика-ядерщика Мохсена Фахризаде. По многочисленным слухам, его «заказали» в Израиле: только не совсем ясно, сделали это израильтяне по просьбе США или по собственной инициативе. В итоге пока ситуация все еще остается накаленной, и приходится лишь надеяться, что в 2021-м мир обойдется без вооруженного противостояния этих стран.

Мир закрыт на карантин

В то время пока все пристально следили за разборками Ирана и США, в Китае уже происходило то, что в итоге совершенно изменило жизнь всего населения планеты не на один год. В начале января в СМИ просочилась информация: в Ухане бушует новая и непонятная болезнь. Шли дни, и картина становилась все страшнее: заболевшие просто падали ничком на улицах, а затем их в неизвестном направлении увозили люди в костюмах химзащиты.

В конце концов Китай заявил, что людей «косит» неизвестный ранее вирус, и заверил, что ситуация находится под контролем. Однако это оказалось совсем не так: зараза появилась еще в ноябре-декабре 2019-го, вот только говорить о ней запрещали, а врачей за распространение данных сурово наказывали. В итоге к 20-м числам января количество заболевших резко увеличилось, к этому времени их начали находить и за рубежом, ведь Ухань — огромный транспортный хаб.

Достаточно быстро ученые выяснили, что причиной стал новый тип коронавируса, который получил название SARS-CoV-2. Вызываемую им болезнь и пневмонию стали называть COVID-19. Уже 30 января Всемирная организация здравоохранения (ВОЗ) объявила вспышку заболевания чрезвычайной ситуацией в области общественного здравоохранения, имеющей международное значение.

К концу февраля коронавирусом заразились 80 тысяч человек на нескольких континентах. А 11 марта ВОЗ объявила о пандемии COVID-19 на всей планете.

1.7миллиона

заразившихся коронавирусом умерли

Про ковид теперь знают все — и не только семьи погибших и заболевших, но и те, кому удалось избежать заражения, но не удалось спастись от экономических последствий пандемии. Коронавирус обрушил привычный образ жизни миллионов людей.

За каких-то пару месяцев на глазах всего человечества обесценилось то, что считалось важным в предыдущие десятилетия, и общество потребления трансформировалось в общество безопасности. Люди теряли работу и близких, страдали от одиночества, лишились возможности путешествовать, ужинать в ресторанах, ходить на концерты и даже выходить из дома. И все это потому, что какая-то невидимая глазу зараза заставила власти стран вводить жесткие ограничительные меры, карантины и комендантский час.

76миллионов

человек по всему миру заразились коронавирусом

Больше всего от коронавируса пострадали США. По последним данным, там более 17,5 миллиона зараженных и свыше 300 тысяч погибших. Ситуация в стране оказалась даже хуже самых плохих прогнозов: еще летом специалисты Института показателей и оценки состояния здоровья Университета Вашингтона говорили, что к октябрю число погибших может приблизиться к 180 тысячам человек. Однако отметка в 200 тысяч была пройдена еще в сентябре.

Американский президент Дональд Трамп то смеялся над карантинными мерами, то призывал население носить маски и соблюдать социальную дистанцию. По иронии судьбы нареченный им уханьским вирус коснулся и его самого: в начале октября Трамп и его супруга Мелания переболели.

Ухань, провинция Хубэй

Место крушения украинского Boeing 737-800

Фото: Reuters

Впрочем, крушением самолета история противостояния Ирана и США в 2020-м не закончилась. Тегеран с завидной регулярностью клялся отомстить Вашингтону за Сулеймани, а из Белого дома периодически просачивались слухи о планах американского лидера Дональда Трампа ударить по иранскому ядерному объекту.

И действительно ударили. Правда, не по объекту и не факт, что США. 27 ноября недалеко от иранской столицы неизвестные убили местного физика-ядерщика Мохсена Фахризаде. По многочисленным слухам, его «заказали» в Израиле: только не совсем ясно, сделали это израильтяне по просьбе США или по собственной инициативе. В итоге пока ситуация все еще остается накаленной, и приходится лишь надеяться, что в 2021-м мир обойдется без вооруженного противостояния этих стран.

Мир закрыт на карантин

В то время пока все пристально следили за разборками Ирана и США, в Китае уже происходило то, что в итоге совершенно изменило жизнь всего населения планеты не на один год. В начале января в СМИ просочилась информация: в Ухане бушует новая и непонятная болезнь. Шли дни, и картина становилась все страшнее: заболевшие просто падали ничком на улицах, а затем их в неизвестном направлении увозили люди в костюмах химзащиты.

В конце концов Китай заявил, что людей «косит» неизвестный ранее вирус, и заверил, что ситуация находится под контролем. Однако это оказалось совсем не так: зараза появилась еще в ноябре-декабре 2019-го, вот только говорить о ней запрещали, а врачей за распространение данных сурово наказывали. В итоге к 20-м числам января количество заболевших резко увеличилось, к этому времени их начали находить и за рубежом, ведь Ухань — огромный транспортный хаб.

Достаточно быстро ученые выяснили, что причиной стал новый тип коронавируса, который получил название SARS-CoV-2. Вызываемую им болезнь и пневмонию стали называть COVID-19. Уже 30 января Всемирная организация здравоохранения (ВОЗ) объявила вспышку заболевания чрезвычайной ситуацией в области общественного здравоохранения, имеющей международное значение.

К концу февраля коронавирусом заразились 80 тысяч человек на нескольких континентах. А 11 марта ВОЗ объявила о пандемии COVID-19 на всей планете.

1.7миллиона

заразившихся коронавирусом умерли

Про ковид теперь знают все — и не только семьи погибших и заболевших, но и те, кому удалось избежать заражения, но не удалось спастись от экономических последствий пандемии. Коронавирус обрушил привычный образ жизни миллионов людей.

За каких-то пару месяцев на глазах всего человечества обесценилось то, что считалось важным в предыдущие десятилетия, и общество потребления трансформировалось в общество безопасности. Люди теряли работу и близких, страдали от одиночества, лишились возможности путешествовать, ужинать в ресторанах, ходить на концерты и даже выходить из дома. И все это потому, что какая-то невидимая глазу зараза заставила власти стран вводить жесткие ограничительные меры, карантины и комендантский час.

76миллионов

человек по всему миру заразились коронавирусом

Больше всего от коронавируса пострадали США. По последним данным, там более 17,5 миллиона зараженных и свыше 300 тысяч погибших. Ситуация в стране оказалась даже хуже самых плохих прогнозов: еще летом специалисты Института показателей и оценки состояния здоровья Университета Вашингтона говорили, что к октябрю число погибших может приблизиться к 180 тысячам человек. Однако отметка в 200 тысяч была пройдена еще в сентябре.

Американский президент Дональд Трамп то смеялся над карантинными мерами, то призывал население носить маски и соблюдать социальную дистанцию. По иронии судьбы нареченный им уханьским вирус коснулся и его самого: в начале октября Трамп и его супруга Мелания переболели.

Ухань, провинция Хубэй

Ухань, провинция Хубэй

Фото: Aly Song / Reuters

Примечательно, что разгар второй волны пандемии — а она началась осенью после небольшого затишья — Китай и его соседи (Япония, Южная Корея, Вьетнам и Тайвань) смогли избежать коллапса системы здравоохранения, в отличие от Запада. Китай, будучи родиной коронавируса, в целом едва пересек черту в 90 тысяч зараженных. Странам помогла старая привычка носить маски в общественных местах и строго исполнять указания властей. Хотя теперь и они заявляют о серьезном росте заболеваемости.

Рассчитывать на то, что пандемия хоть немного пощадит какие-либо страны, не приходится. За год люди устали от карантинов и ограничений, а заявления правительств зачастую не кажутся им убедительными. Сейчас все надеются на спасительные вакцины, которые должны помочь вернуться к привычному докоронавирусному образу жизни.

На борьбу с заразой еще весной 2020-го бросились десятки стран и фармакологических компаний. Первой зарегистрированной вакциной стала российская «Спутник V», сейчас прошла регистрацию и еще одна — «ЭпиВакКорона». В США зарегистрированы вакцины от COVID-19 производства Pfizer/BioNTech и компании Moderna. Их уже начали использовать для частичной вакцинации населения. Ну а пока коронавирус никуда не ушел, и остается лишь чаще мыть руки и носить средства защиты, ждать открытия границ и благодарить врачей за то, что они помогают пережить пандемию.

Америка не может дышать

Одной из причин, из-за которых в США ситуация с коронавирусом вышла из-под контроля, стали массовые протесты населения. Спровоцировал их полицейский, который действовал слишком жестко во время задержания чернокожего.

25 мая в городе Миннеаполис в американском штате Миннесота белый полицейский Дерек Шовин удерживал афроамериканца Джорджа Флойда на земле почти 8 минут. Все это время он прижимал его шею к асфальту коленом. Арестованный просил отпустить его и повторял одну и ту же фразу: «Я не могу дышать». В результате Флойд потерял сознание, а затем умер.

Вскоре эти слова услышал не только Миннеаполис, но и Нью-Йорк, Сан-Франциско, Сиэтл, Колумбус, Хьюстон и еще сотня городов не только в США, но и в других странах. Сотни тысяч людей вышли на акции протеста, скандируя «Я не могу дышать».

По США прокатилась волна демонстраций и погромов, сопровождавшихся столкновениями с полицией, разграблением магазинов и сносом памятников. Причем под горячую руку борцов за равноправие попадали самые разные исторические личности, имевшие хоть какое-то отношение к периоду рабовладения, начиная с первооткрывателя континента Христофора Колумба. Митинги сторонников движения Black Lives Matter (BLM, «Жизни черных важны») продолжались вплоть до осени, вскрыв старую проблему страны: раскол в обществе.

Протесты сторонников BLM в Миннеаполисе

Протесты сторонников BLM в Миннеаполисе

Фото: Eric Miller / Reuters

«Левые пытаются уничтожить наше наследие, чтобы заменить его репрессивным режимом, который будут контролировать единолично. Они сносят статуи, оскверняют памятники и убирают инакомыслящих. (…) Они не любят нашу страну», — внушал Дональд Трамп своим сторонникам-республиканцам на одном из митингов.

В его словах — не только агрессивная предвыборная риторика, но и свидетельство глубокой пропасти между двумя Америками. С одной стороны — условные левые, которых Трамп обвинил в грабежах и погромах. Эти же левые — сторонники диверсификации экономики, реформы полиции и борьбы с расизмом (действительно важной для США проблемы).

С другой стороны — условные правые, к которым Трамп относит и себя. Они — сторонники правосудия, порядка и жесткой руки полиции. При этом, вопреки убеждениям президента, и среди них есть те, кто признает наличие проблем в правоохранительной системе страны и также выступает против расизма. Но несмотря на схожие позиции по некоторым острым вопросам, сторонники разных лагерей склонны видеть друг в друге врагов.

Поначалу Трамп даже не пытался противостоять волне протестов и предложил разгонять погромщиков с помощью армии. Однако затем (видимо, устав от шквала критики) все же пообещал заняться экономическим благополучием меньшинств, решить проблему неравного доступа к медицинским услугам и реформировать полицию по современным стандартам, но не лишать ее финансирования. Впрочем, заниматься этим будет уже не он, а его преемник, победивший на выборах, — и не в 2020-м, а в 2021 году.

Выборы в США и триумф демократии

3 ноября в США прошли очередные президентские выборы. Весь мир будто замер, наблюдая за вакханалией первой недели после официального дня голосования: кто-то угрожал устроить стрельбу, кто-то дрался с полицейскими, кто-то просто троллил Трампа.

Самым острым вопросом оказался подсчет голосов: часть американцев голосовала по почте, часть — на избирательных участках. Штаб Трампа обвинил демократов в махинациях, когда лидерство действующего президента в нескольких штатах стало стремительно таять по мере подсчета присланных по почте бюллетеней.

СМИ еще в ноябре объявили, что кандидат от Демократической партии Джо Байден набрал необходимое для победы число голосов выборщиков, обойдя Трампа. Его сразу же поздравили лидеры многих стран. Однако разбирательства в судах по этому вопросу продолжались до последнего.

«Мы не прогнемся. Мы не сломаемся. Мы никогда не уступим. Мы никогда не отступим. И мы никогда не сдадимся — ведь мы американцы, и наши сердца кровоточат красным, белым и синим!» — восклицал Трамп, и в декабре продолжая встречи с гражданами в разных уголках страны. Его последней надеждой были заявления штата Техас: местная Республиканская партия обвинила избирательные комиссии четырех других штатов в нарушении конституции страны. Впрочем, Верховный суд отклонил техасский иск.

В итоге 8 декабря штаты назначили выборщиков, а 14 декабря они проголосовали, отдав победу Байдену. После этого демократа с победой поздравил и российский президент Владимир Путин: он предпочел дождаться более достоверных результатов. Официально Конгресс утвердит результаты в начале января, а инаугурация главы государства пройдет 20 января.

Кандидат в президенты США от Демократической партии Джо Байден

Протесты сторонников BLM в Миннеаполисе

Фото: Eric Miller / Reuters

«Левые пытаются уничтожить наше наследие, чтобы заменить его репрессивным режимом, который будут контролировать единолично. Они сносят статуи, оскверняют памятники и убирают инакомыслящих. (…) Они не любят нашу страну», — внушал Дональд Трамп своим сторонникам-республиканцам на одном из митингов.

В его словах — не только агрессивная предвыборная риторика, но и свидетельство глубокой пропасти между двумя Америками. С одной стороны — условные левые, которых Трамп обвинил в грабежах и погромах. Эти же левые — сторонники диверсификации экономики, реформы полиции и борьбы с расизмом (действительно важной для США проблемы).

С другой стороны — условные правые, к которым Трамп относит и себя. Они — сторонники правосудия, порядка и жесткой руки полиции. При этом, вопреки убеждениям президента, и среди них есть те, кто признает наличие проблем в правоохранительной системе страны и также выступает против расизма. Но несмотря на схожие позиции по некоторым острым вопросам, сторонники разных лагерей склонны видеть друг в друге врагов.

Поначалу Трамп даже не пытался противостоять волне протестов и предложил разгонять погромщиков с помощью армии. Однако затем (видимо, устав от шквала критики) все же пообещал заняться экономическим благополучием меньшинств, решить проблему неравного доступа к медицинским услугам и реформировать полицию по современным стандартам, но не лишать ее финансирования. Впрочем, заниматься этим будет уже не он, а его преемник, победивший на выборах, — и не в 2020-м, а в 2021 году.

Выборы в США и триумф демократии

3 ноября в США прошли очередные президентские выборы. Весь мир будто замер, наблюдая за вакханалией первой недели после официального дня голосования: кто-то угрожал устроить стрельбу, кто-то дрался с полицейскими, кто-то просто троллил Трампа.

Самым острым вопросом оказался подсчет голосов: часть американцев голосовала по почте, часть — на избирательных участках. Штаб Трампа обвинил демократов в махинациях, когда лидерство действующего президента в нескольких штатах стало стремительно таять по мере подсчета присланных по почте бюллетеней.

СМИ еще в ноябре объявили, что кандидат от Демократической партии Джо Байден набрал необходимое для победы число голосов выборщиков, обойдя Трампа. Его сразу же поздравили лидеры многих стран. Однако разбирательства в судах по этому вопросу продолжались до последнего.

«Мы не прогнемся. Мы не сломаемся. Мы никогда не уступим. Мы никогда не отступим. И мы никогда не сдадимся — ведь мы американцы, и наши сердца кровоточат красным, белым и синим!» — восклицал Трамп, и в декабре продолжая встречи с гражданами в разных уголках страны. Его последней надеждой были заявления штата Техас: местная Республиканская партия обвинила избирательные комиссии четырех других штатов в нарушении конституции страны. Впрочем, Верховный суд отклонил техасский иск.

В итоге 8 декабря штаты назначили выборщиков, а 14 декабря они проголосовали, отдав победу Байдену. После этого демократа с победой поздравил и российский президент Владимир Путин: он предпочел дождаться более достоверных результатов. Официально Конгресс утвердит результаты в начале января, а инаугурация главы государства пройдет 20 января.

Кандидат в президенты США от Демократической партии Джо Байден

Кандидат в президенты США от Демократической партии Джо Байден

Фото: Susan Walsh / AP

Несмотря на все споры и громкие заявления, на посту президента США в 2021-м окажется Байден. А перед ним сразу же встанет целый ворох проблем, который останется от предшественника. Это и ядерная сделка с Ираном, и договор по контролю над вооружениями с Россией, и напряженные отношения с Китаем, и раскол в обществе, который снова напомнил о себе после смерти Флойда. И в первую очередь, конечно же, коронавирус — а после выборов ситуация с заболеваемостью в стране заметно ухудшилась.

С другой стороны, новый президент — новые проблемы. Например, уже очевидно, что в 2021-м Байдена ждут последствия скандала с его сыном Хантером, которого подозревают в финансовых махинациях.

Кроме того, демократу, вероятно, придется нелегко с его политикой диверсификации. С одной стороны, Байден выбрал в вице-президенты Камалу Харрис — женщину из представителей меньшинств.

В то же время несмотря на то, что он первым в истории решил назначить чернокожего на пост министра обороны (им должен стать генерал в отставке Ллойд Остин), это вызвало возмущение среди женщин. Они полагали, что избранный президент остановится на кандидатуре Мишель Флурной. По некоторым данным, реакция представительниц сферы нацбезопасности США на выбор мужчины-афроамериканца сводилась к одной фразе — «Какого черта» (WTF). Так что в ближайшее время следить за действиями нового американского лидера будет интересно.

Руины Бейрута

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

Взрыв оказался невероятной силы: на его месте осталась глубокая воронка, заполнившаяся водой, а стоявшее рядом зернохранилище было разрушено. Взрывная волна снесла ближайшие жилые дома и повредила множество зданий в глубине города. Сообщалось, что в той или иной степени разрушена оказалась половина Бейрута. Погибли более 200 человек, пострадали — свыше 7 тысяч. По оценкам властей, сумма ущерба составила до 15 миллиардов долларов.

300 тысяч

человек

остались без жилья в результате взрыва

Как выяснилось позднее, в порту взорвалась аммиачная селитра — предположительно, около 2750 тонн. Ее конфисковали с судна Rhosus еще в 2013-м — оно принадлежало бизнесмену с российским гражданством Игорю Гречушкину. Тогда судно не выпустили в плавание то ли из-за того, что оно было непригодно к плаванию, то ли из-за долгов. Как бы то ни было, с тех пор опасный груз находился в порту. Сообщалось, что ответственных за хранение селитры чиновников неоднократно просили от нее избавиться, однако они игнорировали все обращения. После катастрофы их арестовали.

Бейрут до сих пор восстанавливается после трагедии. Ему на помощь пришли несколько стран, в том числе Россия, Франция, Иордания и Италия: в Ливан приехали десятки иностранных врачей, стране жертвовали сотни тонн пшеницы и миллионы долларов. В то же время последствия экономического и политического кризиса — после ЧП правительство ушло в отставку, — скорее всего, будут преследовать страну не только в следующем году, но и дальше. Впрочем, хочется верить, что в 2021-м Ливан обойдут стороной новые катастрофы, а другие страны не перестанут оказывать ему помощь.

Последствия взрыва в Бейруте

Фото: Hussein Malla / AP

Франция против исламистов

Не обошли ЧП стороной и Европу. 16 октября в пригороде Парижа школьного учителя Самуэля Пати подкараулил у колледжа, убил и обезглавил 18-летний чеченец Абдулах Анзоров. Беженец, вскоре застреленный полицейскими, решил «наказать» историка за демонстрацию карикатур на пророка Мухаммеда ученикам — на уроке Пати говорил о свободе слова и рассказывал о нападении террористов на редакцию сатирического журнала Charlie Hebdo, публиковавшего те самые карикатуры. Реакция властей не заставила себя ждать.

Макрон пообещал защитить светские ценности страны от радикалов и заявил, что ислам как религия «переживает кризис во всем мире». На защиту мусульман встали власти Турции: они призвали сторонников ислама по всему миру бойкотировать французские товары. Это привело к потерям для экономики Франции.

Кроме того, после заявлений Макрона страна понесла и человеческие потери: на ее территории было совершено несколько терактов. 29 октября выходец из Туниса Ибрагим аль-Ауисауи с ножом напал на присутствовавших в главной церкви Ниццы. Погибли три человека, при этом у двух жертв было перерезано горло. В тот же день атаки произошли в Авиньоне и в Париже, а также в саудовской Джидде, где преступник напал на охранника французского консульства. А 31 октября неизвестный мужчина выстрелил в 52-летнего священника греческой церкви в Лионе.

Около 300

человек

погибли в результате терактов во Франции с 2012 года

Макрон, вопреки последовавшему за его словами скандалу, продолжил винить в произошедшем исламистов и разрабатывать законопроект по борьбе с радикализацией. По некоторым данным, после серии терактов президент Франции даже поставил перед мусульманским сообществом страны ультиматум: их якобы обязали «покориться ценностям Республики в своей вере».

В начале декабря правительство страны и вовсе одобрило законопроект, направленный на борьбу с религиозным радикализмом — несмотря на отговорки чиновников, нацелен он скорее на мусульманскую общину, нежели на представителей всех религий. Согласно новому закону, будет запрещено домашнее обучение для детей старше трех лет. Власти страны также смогут преследовать незарегистрированные учебные заведения, которые заподозрят в пропаганде радикального ислама, запретят выдавать справки о девственности и раздельное посещение бассейнов мужчинами и женщинами, а также обяжут политиков давать присягу о религиозном нейтралитете.

Французский президент Эммануэль Макрон у гроба учителя истории Самюэля Пати

Французский президент Эммануэль Макрон у гроба учителя истории Самюэля Пати

Фото: Francois Mori / Reuters

Стоит добавить, что вслед за Францией теракт произошел и в Австрии. 2 ноября 20-летний Куйтим Фейзулай с албанскими корнями принес присягу на верность террористической группировке «Исламское государство» (ИГ, запрещена в России), после чего отправился на улицы Вены и начал стрелять в людей. В результате погибли четыре человека, более 20 — пострадали. Сам нападавший был застрелен полицией.

Войны, санкции, расследования

Помимо борьбы с экстремизмом Европа в 2020-м отметилась и необычными санкциями. ЕС, можно сказать, на ограничения не скупился. Вместе с США он ввел меры против белорусского президента Александра Лукашенко: дабы поддержать протестующих, недовольных прошедшими в августе выборами. Стоит отметить, что тысячи белорусов, а также ряд стран ЕС считают победителем выборов оппозиционного кандидата Светлану Тихановскую, которая была вынуждена покинуть страну.

Помимо продления давних антироссийских санкций были придуманы и новые: в черные списки попали россияне, якобы связанные с ситуацией вокруг Алексея Навального. Его самочувствие резко ухудшилось 20 августа во время перелета из Томска в Москву, самолет совершил экстренную посадку в Омске. 22 августа оппозиционера доставили в Берлин, там специалисты обнаружили у него в крови следы вещества из группы «Новичок» — аналогичного тому, которым якобы были отравлены в Великобритании бывший сотрудник ГРУ Сергей Скрипаль и его дочь.

В МИД России указывали, что Германия так не предоставила Москве никаких доказательств, а российские врачи не нашли ядов в организме Навального, так что санкции совершенно неоправданные. Скандал до сих пор продолжается и, видимо, будет развиваться и в 2021-м.

Ограничительные меры страны ЕС ввели и против Турции: за незаконную разведку шельфа в Восточном Средиземноморьe. Из-за происходящего Греция угрожала Анкаре едва ли не войной, а Франция даже отправила военные корабли в Средиземноморье. Турецкий президент Реджеп Тайип Эрдоган при этом отличился характерной для себя «любезностью» по отношению к противникам.

Мы призываем наших собеседников успокоиться и держаться подальше от ошибок, которые приведут их к разрушению. Турция не та страна, терпение которой стоит испытывать. Если мы говорим, что намерены сделать что-то, то мы это сделаем, и мы готовы к последствиям

Угроза военного вмешательства Турции в уходящем году нависла и над другим неспокойным регионом: Нагорным Карабахом. Боевые действия между Арменией и Азербайджаном на его территории возобновились 27 сентября, и буквально тогда же распространились слухи о тысячах наемников, которых Анкара перебрасывает из других стран ради поддержки Баку.

Только 9 ноября лидеры России, Армении и Азербайджана приняли совместное заявление, предполагающее прекращение боевых действий в Нагорном Карабахе. Турция в итоге участвует в создании совместного с Россией центра по контролю за режимом прекращения огня. По слухам, этого Анкаре недостаточно: она-то хотела занять более значимую роль в перемирии. Пока что Эрдоган просто разражается грозными тирадами, но это не означает, что в 2021-м он ими и ограничится. Кто знает — может быть, в новой серии скандалов и расследований, без которых еще не обошелся ни один год, снова примет участие и Турция.

***

Пожалуй, 2020 год впервые в новейшей истории преподнес неприятные сюрпризы абсолютно всем и каждому: кого-то коснулся COVID-19, кого-то — взрывы и теракты, кого-то — война и санкции. Однако принесенное им безумное, но в то же время интересное развитие событий не заканчивается. Впереди 2021-й с новым американским президентом, новыми политическими скандалами, новыми мерами по борьбе с вирусными угрозами и новыми трендами. Остается лишь надеяться, что он будет легче нынешнего.

«Подумаешь, мигрантов не досчитались». Юрий Крупнов — о том, почему катастрофы из-за некачественной переписи не случится

Фото: Михаил Огнев / «Фонтанка.ру»

ПоделитьсяПоделиться

Над опубликованными в полном объеме результатами переписи-2021 иронизируют, им удивляются, их ругают. Но Юрий Крупнов, председатель наблюдательного совета Института демографии, миграции и регионального развития, считает, что такое внимание к ней неоправданно. Он объяснил «Фонтанке», почему ее значение для государства преувеличено.

— Юрий Васильевич, по результатам переписи объективной картины нет. Что мы можем использовать из того, что получили?

— Ничего не можем. По разным параметрам и у федеральных, и у региональных органов исполнительной власти и у экономических субъектов доверия к этой переписи немного.

В теории практическое значение переписи заключается в том, чтобы выявить ошибки официальной статистики, тренды в миграции населения, потребность в развитии социальных и производственных мощностей. Теперь все будет наоборот: сведения из переписи будут сравнивать с имеющимися базами данных и будут находить какие-то, скажем так, — наиболее достоверные цифры, а они есть.

— То есть мы смиряемся с тем, что получили непонятные цифры за 33 млрд рублей, но пользоваться ими не будем?

Мне кажется, не стоит преувеличивать значения переписи сегодня. Это первая перепись в России в 1897 году стала чуть ли не единственным источником больших данных по населению страны, альтернативы не было. Сейчас получить объективные данные проще. Есть разные системы учета, множество баз, поэтому решения, которые необходимо принимать на основе статистики, будут приниматься ну никак не исключительно по данным переписи. Пользоваться ими, наверное, будем, сопоставляя с другими системами учета, потому что иначе рискуем сделать ошибки по планированию, например, социокультурных или инфраструктурных решений.

Но так всегда происходит. То есть дело даже не в качестве проведенной переписи. По множеству параметров любая перепись не является абсолютным знанием. Это очень важно понимать, и как раз культура работы со всякого рода статистикой предполагает тщательное сопоставление всех имеющихся данных, это обязательное условие.

— По данным, полученным в ходе ВПН-21, число мигрантов, то есть людей, которые проживают на территории России без гражданства, — 300 тысяч. Разве можно эту цифру хоть как-то использовать в расчетах?

— На этот раз большое количество цифр оказалось не отражающим реальную картину. Но перепись — это работа переписчика со всеми ее недостатками. Он заходит в какой-то дом (в какой-то не заходит, к вам, например, стучался переписчик?) и разговаривает с людьми, которые в нем находятся. Формально эти люди несут ответственность за предоставление недостоверных данных. Но если в Великобритании, например, штраф за предоставление переписчику недостоверных сведений о себе — 1 тыс. фунтов, то у нас, подчеркиваю, ответственность декларативная. Люди могут рассказать переписчику все, что угодно, у них документы не спрашивают. Человек называет себя местным жителем, а переписчик должен действовать по строго заданной методике, — он не имеет права вносить в документы какие-то свои мысли, несмотря на то, что видит — перед ним гражданин Таджикистана или Узбекистана.

Цифры по числу мигрантов недостоверны не только в переписи. Даже МВД, посчитав патенты, которые выдает на работу иностранцам, оговаривается, что по факту иностранцев, осуществляющих трудовую деятельность на территории России, примерно в 2 — 4 раза больше. Правда, данные переписи занижены еще не менее чем в 20 раз. Но точных цифр не знает никто.

— При этом вы говорите, что перепись важна при планировании производств, объемов затрат на ту или иную отрасль. Если мы не знаем, сколько у нас мигрантов работает, например, в строительстве, значит, не можем планировать стройки, рассчитать, сколько налогов получит казна от этой деятельности?

— Наше государство не занимается такими расчетами, ссылаясь на то, что экономика рыночная. Бизнес самостоятельно наберет на стройки столько рабочих, сколько нужно, латифундисты наберут себе работников в поля. Все сделают сами: разберутся, кого нанимать, проведут рекламную компанию, сами повысят или понизят оплату труда и так далее, то есть государство тут самоустранилось.

В идеале, государству нужна перепись, но оно никакой организационно-содержательной или хозяйственной деятельности не ведет. В лучшем случае позаботится о социальной инфраструктуре. Но мы же видим, что и тут на протяжении многих лет может не решаться проблема с тем, что некуда в школе детей рассаживать, классы переполнены. Только когда население пожалуется, напишет несколько раз во все инстанции, построят школу лет через 10. Но согласитесь, чтобы иметь представление, сколько школ нужно, перепись не требуется.

— То есть причина недостатка детских садов и школ — не следствие некачественной переписи? «Фонтанка» писала, что по ее результатам не досчитались 25 % новорожденных и очень уменьшили число детей до 7 лет.

Любая статистика нужна для того, чтобы увязывать свои знания с жизнью, делать выводы и планировать. Росстат еще в 2012 году прогнозировал, что нас ждет демографическая яма, которую мы переживаем сегодня. Школы и детские сады активно начали строить только последние 10 лет, государство финансирует строительство. Это хорошо, пусть строят. Ничего, что рождаемость низкая и можно повторить 1990-е годы, когда раздавали пустые детские сады под офисы.

— Получается, что мы просто выполнили рекомендации ООН — проводить переписи в странах раз в 10 лет. Отчитались, что поучаствовали в глобальной Всемирной переписи населения 2020 года (на самом деле 2021-го, но тут виноват коронавирус). И на этом все. Ее результаты не несут каких-то последствий для нас, для населения страны?

— Катастрофических точно не несут. Как-нибудь закроется эта брешь. Вспомните хаос во время ковида под видом санитарного порядка и репрессии, которые были введены (запреты на выезд из регионов, QR-коды) при отсутствии концентрации государства на здравоохранительных мероприятиях, когда нужно было в первую очередь спасать людей. Какие цифры смертности от ковида давала официальная статистика? Настоящую — одну из самых высоких в мире показала только избыточная смертность — 1 млн человек. Вдумайтесь, в стране сгинул 1 000 000 человек, это город-миллионник.

Статистические данные должны работать, иметь прикладную ценность. К сожалению, у нас их используют как дышло. В первой строке первого пункта судьбоносного майского указа президента № 204 от 7 мая 2018 года написано, что к 2024 году необходимо достичь устойчивого естественного прироста населения. То есть устойчивый прирост как превышение рождаемости над смертностью уже сейчас должен быть. За 2020 и 2021 годы — у нас избыточная смертность из-за ковида составила больше миллиона человека (самый высокий показатель в мире на 1 000 человек населения). В 2022 году убыль населения составит почти 800 тысяч, в этом будет минимум 600, а возможно, 800 тысяч. Рождаемость при этом упала. Как вышли из ситуации? Из «Национальных целей…» этот пункт убрали. Он исходно был сказочным, потому что люди, которые его вписали, не понимали демографических процессов в стране, а на фоне пандемии коронавируса и вовсе звучал издевательски. А вы говорите, посчитали мигрантов неправильно. Это самая мелкая погрешность.

— В теории перепись нужна, чтобы с цифрами в руках решать проблемы расселения на территории страны. Например, Дальний Восток пустеет — появилась программа «дальневосточный гектар».

— Чтобы понять, что население на Дальнем Востоке редеет, никакая перепись не нужна. Надо его заселять? Надо. Затеяли программу, которая работает на 99 % для галочки и пиара. Например, пять лет назад полпред в ДФО Юрий Трутнев и предыдущий министр развития Дальнего Востока и Арктики Александр Галушка доложили президенту о развитии дальневосточных регионов. Нам рассказали по телевизору, что снизилось число выезжающих (по сути, бегущих) с Дальнего Востока и даже наметился положительный тренд, и он действительно был в цифрах — в течение 1 месяца. Может, как-то сбился учет выезжающих, — он не фиксируется каждодневно в реальном времени. Доложили, что успешно реализуется программа «дальневосточный гектар», и благодаря этому у нас теперь народ не бежит с Дальнего Востока, а наоборот, приезжает. Через месяц цифры снова начали показывать отток, но об этом уже никто не сообщал.

— По данным ВПН-21, в России более 153 тысяч сельских населенных пунктов. Из них почти 25 тысяч пустые, в них нет жителей, в 35 тысячах деревень живут по 10 человек и меньше. Но на развитие села и сельского хозяйства государство выделяет триллионы рублей.

— Каждый год умирает, условно, 2–3 тысячи деревень. Должно быть какое-то гигантское управление, которое умеет что-то делать с этими опустевающими местами. Причем, неважно, что: заселять или, наоборот, расселять. Когда в заброшенной деревне живут 5 человек, может, действительно, их проще переселить в какой-то крупный поселок.

Но на высоком уровне считают большие цифры и заботятся о высоких материях, никто не мыслит административными районами, а их у нас немного — меньше 2 тысяч. Если бы на высоком уровне собирались чиновники — обсуждали, что делать, когда в каком-то районе Костромской области закрылось предприятие и 5 человек остались без работы, если бы принимали решение о сохранении рабочих мест в конкретном малом городке или деревне, они бы не пустели. Но все спускается на уровень муниципалитетов с 10 миллионами бюджета на год, а наверху думают о высоких материях с десятком триллионов.

Но когда в регионе, районном центре закрывается какое-то предприятие, это национальная катастрофа, и она всегда касается конкретных людей в какой-то определенной географической точке Российской Федерации. А в Москве сидят министры федеральные, у них огромные организационные структуры, они могут быстро решить вопрос, в конце концов, кинуть жалкую сотню миллионов из федерального бюджета на создание рабочих мест. Но это невозможно, потому что «пусть бизнес сам разбирается». А в бизнесе заняты люди, кивая на него, мы подразумеваем — отстаньте от меня с этими людьми, они взрослые. Нет работы — пусть едут в Москву, например.

— Но кидают не условные 100 миллионов, а миллиарды.

— На решение глобальных задач, а не мелких — районных. Работать с конкретным разваливающимся предприятием в каком-нибудь совхозе в масштабах нашей страны — колоссальная созидательная хозяйственно-положительная деятельность. Поэтому всё действует по-другому. Приправительственные социологи пишут в своих заключениях: нечего волноваться, это естественный процесс, он называется управляемое сжатие. Да, демография так себе, и мировые процессы направлены на создание глобальных мегаполисов, пусть в них и съезжаются. И люди уезжают из деревень, из своих малых городов — в результате оголяются огромные территории. Останавливать этот процесс — мол, то же самое, что возражать против закона тяготения. Надо учиться управлять этим самым сжатием — где-то ускорить, где-то притормозить. Но в целом это нормально — в деревне, где еще недавно было 50 жителей, осталось 5, умрут они через 5–10 лет — умрет и деревня, судьба этого поселения предрешена. То есть эти социологи считают, что объявление катастрофы естественным процессом оправдывает ничегонеделание по этому поводу.

И вряд ли мы сейчас сможем вернуться во времена, когда правительство ставило задачу заселения территории России — целые города возводились на пустом месте: строилось предприятие, воздавалась инфраструктура для рабочей силы, которая будет на нем задействована, объявлялся набор на «коммунистическую стройку». Люди ехали, обживались.

— Может, дело не только в том, что бизнес не хочет начинать все с нуля, но и люди не готовы уезжать в неизвестность, куда проще — в Москву?

— А вы пробовали их звать? Обратите внимание, последнее время на всех уровнях власти стали говорить об иждивенчестве, имея в виду мужчин экономически активного возраста. Они пьют, как еще несколько лет назад не пили, потому что хоть кому-то были нужны, у них была работа. Не оправдываю их, конечно, пить — не выход. Но мы же понимаем, что через 10 лет эти люди совсем деградируют, если ничего не изменится. И что тогда будет со всем нашим Нечерноземьем — Вологодской, Псковской, Тверской, Новгородской, отчасти даже и Ленинградской и Московской областями. Это земля исторической идентичности русского народа: малые города в разрухе, деревни опустевают, медицины, образования нет, население спрашивает: «А кому мы нужны?».

— Так ведь как раз после переписи 2010 года и на основании других статистических данных началась оптимизация: с 2012 года закрывались ФАПы, поликлиники, районные больницы, мало наполненные школы.

— Перепись никогда не имела большого значения для принятия решений в таких ситуациях. А теперь она не особо и нужна. В советское время самый никчемный секретарь райкома не мог даже представить себе, что можно с гордостью докладывать не об открытии, а о закрытии (простите, оптимизации) школ, больниц и поликлиник. Вместо того, чтобы население инфраструктурой привлекать, нам его проще совсем разогнать — пусть едут туда, где она есть.

Так работает рынок. Мы экономим — оптимизируем.

— Вы говорите, что перепись не имеет большого значения ни для социального, ни для экономического развития. Но когда Росстат выложил ее окончательные результаты, пошла очередная волна критики ее качества. Значит, она все-таки нужна?

— Просто мы такие люди, вечно всем недовольные. Проблема в том, что эта критика бессмысленна в условиях, когда вся система в стране рассогласована: государство, которое должно существовать для населения и заботиться о качестве его жизни, — само по себе, население — само по себе. Рыночная экономика привела к тому, что произошло отделение государства от населения. Мы называли несправедливыми законы советского времени, в которых человек существовал для производства, а не производство для человека, Какими назвать их сегодня, непонятно.

Думаю, если государство готово тратить 33 млрд рублей на перепись, значит, она нужна. Она проводится раз в 10 лет, следующая — в 2030-м. Но чтобы она была качественной, готовиться к ней надо уже сейчас — обучать ее будущих организаторов, они же не берутся ниоткуда. Но давайте угадаем с пяти раз — готовится сейчас кто-то к переписи, которая должна быть проведена через 7 лет? Вот в декабре 2029 года начнется подготовка.

Ирина Багликова, «Фонтанка.ру»

Фото: Михаил Огнев / «Фонтанка.ру»

Больше новостей — в нашем официальном телеграм-канале «Фонтанка SPB online». Подписывайтесь, чтобы первыми узнавать о важном.

© Фонтанка.Ру

Ошибки прошлого года и финансовая отчетность. Исправлять баланс или не надо?

Уже почти десять лет, как при составлении финансовой отчетности мы руководствуемся, в том числе, и Положением по бухгалтерскому учету «Исправление ошибок в бухгалтерском учете и отчетности» (ПБУ 22/2010), утвержденным приказом Минфина России от 28.06.2010 № 63н.

В нем вполне понятно и доступно (ну, почти доступно) разъяснено, как поступать при обнаружении ошибки как текущего года, так и прошлых лет.

Но до сих на форумах, и довольно часто, коллеги делятся одной и той же проблемой: — Только сейчас обнаружили, что уже второй (или третий) год, и далее варианты:

— неправильно начисляем амортизацию по основному средству;

— не так, как положено, распределяем транспортные расходы;

— ремонт отражаем, как модернизацию (или наоборот);

— и тому подобное.

Примеров выявленных ошибок много, а вопрос один: — Считаем, что надо внести изменения в баланс и другие формы финансовой отчетности за прошлый (или позапрошлый) год. Как это правильно сделать, и что написать в сопроводительном письме к исправленным формам?

Однозначно на такой вопрос ответить нельзя. Вносить изменения в сданную налоговикам (в прошлые годы) финансовую отчетность необходимо только в определенных ПБУ 22/2010 случаях.

Как было сказано у классика: Мамаша, я готов разделить ваше горе, но по пунктам (из к/фильма «Шырли-Мырли»).

Сейчас постараемся разъяснить тоже по пунктам, когда это обязательно, а когда нет нужды.

Управленческий учет: с нуля до настройки в 1С, Excel и Google-таблицах

Уметь настраивать и вести управленку — значит быть полезным для руководителей. Научитесь понимать, откуда приходят и куда уходят деньги компании на курсе повышения квалификации от «Клерка».

Пункт 1. Каков статус организации, бухгалтер которой обнаружил ошибку прошлого года?

Тут два варианта.

1.1.Организация имеет право применять упрощенные способы ведения бухгалтерского учета, включая упрощенную бухгалтерскую (финансовую) отчетность.

Такое право (не обязанность), в первую очередь, дано организациям, являющимся субъектами малого предпринимательства и отчетность которых не подлежит обязательному аудиту (п. п. 4 и 5 ст. 6 Федерального закона от 06.12.2011 № 402-ФЗ «О бухгалтерском учете»).

Исключения из этого общего правила (когда, допустим, аудит не обязателен, а право применять упрощенные методы и формы субъект малого предпринимательства не имеет) приведены в тех же самых пунктах.

И в этом случае выявленная ошибка исправляется записями в регистрах бухгалтерского учета за тот период (месяц и день) в котором она стала известна (п. 9 ПБУ. Следовательно, последствия исправления этой ошибки (изменение величины дебиторской или кредиторской задолженности, финансового результата, стоимости чистых активов и т. д., и т. п., и пр.) будут отражены в отчетности за текущий год. Прибыль (или убыток), возникшие в результате такого исправления ошибки, отражаются в составе прочих доходов (или расходов) текущего отчетного периода (п. 14 ПБУ 22/2010).

1.2Организация обязана составлять полную отчетность по формам, предусмотренным приложениями №№ 1 и 2 к приказу Минфина России от 02.07.2010. № 66н «О формах бухгалтерской отчетности организаций».

Вот здесь необходимо определить, является данная ошибка существенной, либо нет.

Ранее существенной признавалась сумма, отношение которой к общему итогу соответствующих данных за отчетный год составляло не менее 5% [п. 1 Указаний о порядке составления и представления бухгалтерской отчетности, утвержденных Приказом Минфина России от 22.07.2003 № 67н (утратили силу)].

Те же 5% от общей суммы показателя признаются существенными для раздельного отражения в финансовой отчетности доходов (п. 18.1 Положения по бухгалтерскому учету «Доходы организации» ПБУ 9/99, утвержденного приказом Минфина России от 06.05.99 № 32н), и расходов (п. 21.1 Положения по бухгалтерскому учету «Расходы организации» ПБУ 10/99, утвержденного приказом Минфина России от 06.05.99 № 33н).

Сейчас же ошибка признается существенной, если она (вне зависимости от суммы) в отдельности или в совокупности с другими ошибками за один и тот же отчетный период может повлиять на экономические решения пользователей, принимаемые ими на основе бухгалтерской отчетности, составленной за этот отчетный период (п. 3 ПБУ 22/2010).

Это определение зачастую приводит в затруднение бухгалтеров-практиков с большим опытом работы, в том числе и автора.

Мы, ветераны учетного фронта, до сих пор никак не можем привыкнуть, что бухгалтер является не контролером, приставленным государством в организацию следить за сохранностью государственного же имущества.

Если честно, то бухгалтер (главный, старший и просто) — счетовод (пусть и высококвалифицированный), нанятый владельцами организации (в лице ее руководителя) для анализа себестоимости, своевременной и правильной уплаты налогов, составления грамотной финансовой отчетности. И отчетность нужна, в первую очередь собственникам. Они на основании данной отчетности принимают решения, можно ли полученную прибыль потратить на уплату дивидендов, либо в первую очередь направить ее на развитие производства, хватит ли имеющихся средств на новое строительство, или придется брать кредиты, да и есть ли смысл в продолжении работы, либо пора делить, что есть, и разбегаться, иначе через год ликвидация компании обойдется еще дороже.

Также к заинтересованным пользователям отчетности можно отнести и банки-кредиторы, которые на ее основании будут отслеживать (с той или иной степенью достоверности) судьбу выданных ими взаймы средств и вероятность их своевременного возврата.

Интерес к отчетности могут проявить и потенциальные инвесторы, готовые вложить свои средства с целью получить прибыль с минимальным для себя риском.

Налоговые инспекции рассматривают финансовую отчетность, в первую очередь, как один из инструментов по контролю за правильностью начисления налогов. Хотя, по мнению автора, в связи со все более увеличивающейся разницей в правилах ведения бухучета и порядком исчисления налогов, взаимоувязка показателей форм бухгалтерской отчетности с налоговыми декларациями все более затруднительна.

Хотя не секрет, что и до сих пор налоговики довольно часто «достают» сдавшую отчетность организацию вопросами типа — А почему это у вас значение строки 2210 «Выручка» Отчета о финансовых результатах не совпадает со значениями строк 010 «Реализация» Налоговых деклараций по налогу на добавленную стоимость за тот же год?

И каждый раз письменно или устно приходится объяснять, что это разные показатели, которые рассчитываются по разным правилам, и что иногда они могут совпадать, но далеко не всегда обязаны.

То есть все зависит не от суммы, а, в первую очередь, от характера ошибки и влияния ее на финансовые показатели организации.

И признание ошибки существенной зависит от того, как этот факт (обнаружения ошибки и ее исправления) повлиял, допустим, на сумму чистой прибыли, что, в свою очередь, сказалось и на сумме дивидендов. Или, например, изменилась сумма просроченной кредиторской задолженности, что должно повлиять на условия предоставленного кредита. И т. д., и т. п., и пр.

Исходя из вышесказанного, организация самостоятельно может и должна определить параметр существенной ошибки, закрепив его в своей учетной политике.

Можно остановиться на тех же 5%, и признавать существенной ошибку, размер которой равен или превышает эту цифру соответствующего показателя за год.

Можно за ориентир взять п. 1 ст. 15.11 КоАП РФ, согласно которому грубым нарушением требований к бухгалтерскому учету признается искажение показателя финансовой отчетности не менее, чем на 10%.

Также никто не запретит, например, указать в учетной политике, что искажение показателя менее, чем на 10% (или на 3%, или на 5%, на 7,83%) признается несущественной ошибкой. Если показатель искажен на большую сумму, то признание такой ошибки существенной (или нет) определяется в каждом конкретном случае на основании справки-расчета, составленной бухгалтером и утвержденной руководителем. Право выбора — за руководством.

Здесь также два варианта.

1.2.1 Ошибка признана несущественной

Как и субъект малого предпринимательства, не обязанный проводить ежегодный аудит (см. п. 1.1) организация исправляет эту ошибку соответствующими проводками в период ее обнаружения (п. 14 ПБУ 22/2010). Возникшие в результате прибыль (или убыток) отражаются в составе прочих доходов или расходов текущего отчетного периода, то есть проводками по балансовому счету 91 «Прочие доходы и расходы».

1.2.2. Ошибка признана существенной

Сейчас уже март (а то и апрель) 2020 года. Финансовая отчетность за 2019 год сдана в налоговую инспекцию*, и, может быть, утверждена собственниками**.

*Финансовая отчетность за 2019 год должна быть сдана в налоговую инспекцию по месту нахождения организации не позднее 31.03.2020 (подп. 5 п. 1 ст. 23 НК РФ)

**Срок утверждения годовой финансовой отчетности за 2019 год собственниками общества с ограниченной ответственностью — март-апрель 2020 года (ст. 34 Федерального закона от 08.02.98 № 14-ФЗ «Об обществах с ограниченной ответственностью»).

Срок утверждения годовой финансовой отчетности акционерами акционерного общества март-июнь 2020 года (п. 1 ст. 47 Федерального закона от 26.12.95 № 208-ФЗ «Об акционерных обществах»).

В этом случае исправление ошибок производится записями в регистрах бухгалтерского учета за тот период, в котором была выявлена ошибка. При этом выявленная сумма прибыл (убытка) отражается проводками в корреспонденции с балансовым счетом 84 «Нераспределенная прибыль (непокрытый убыток»)» (подп. 1 п. 9 ПБУ 22/2010).

И уже при составлении отчетности за 2020 год (в январе-марте 2021 года) в соответствующих строках форм финансовой отчетности в графах «по состоянию на 31.12.2020» (в Балансе или Отчете о движении капитала) или «за 2020 год» (в Отчете о финансовых результатах или Отчете о движении денежных средств) те либо иные показатели должны быть указаны в новых суммах (с учетом исправления ошибки). То есть производится их ретроспективный пересчет (подп. 2 п. 9 ПБУ 22/2010).

Исправление подписанной руководством организации финансовой отчетности при выявлении существенной ошибки за прошлый год в обязательном порядке должен быть произведен в том, и только в том случае, если отчетность налоговикам уже сдана, но собственники (акционеры) ее еще не утвердили (п. п. 7 и 8 ПБУ 22/2010).

В 2020 году это может произойти, если информация о существенной ошибке поступит до утверждения отчетности собственниками.

Если позже — никто не вправе заставить нас переделать и пересдать уже утвержденную отчетность.

Ошибки — да, есть. Но мы их исправим в установленном порядке, и в установленный срок.

Подавать или нет уточненные налоговые декларации за 2019 год — это уже из другой оперы. Тут вариантов много, и в рамках данной статьи их рассматривать не будем.

Но еще раз повторим. Даже если и налоговики, получив от вас в апреле или позже уточненную налоговую декларацию по тому или иному налогу за 2019 год, потребуют и еще и исправленную бухгалтерскую отчетность, не спешите выполнять их требования. Поинтересуйтесь только, на основании какого законодательного или нормативно-правового акта у них возникло такое желание. Обычно такого вопроса бывает достаточно.

Оказывается, мы его неправильно встретили: нельзя было пить шампанское

Почему 2020-й стал таким античеловечным? Мало того, что он был високосным, но, оказывается, мы сами усилили негативное влияние Года Крысы, неправильно его встретив и тем самым настроив против себя это тотемное животное, распоряжавшееся событиями в мире на протяжении последних двенадцати месяцев.

Ситуацию с ошибкой, допущенной множеством людей при встрече 2020 года, пояснил астролог Дмитрий Бутаковский.

— У нас стало традицией отмечать приход новолетия шампанским. В полночь 31 декабря под бой курантов люди откупоривают бутылки игристого, наполняют пенящимся напитком бокалы, чокаются, поздравляют друг друга, приветствуя очередную смену лет – «С новым годом!» Как правило, этот праздничный ритуал вполне приемлем и не грозит никакими негативными последствиями. Но в ситуации, когда «главным распорядителем» наступающего года является Крыса, все иначе. Встречать такой год шампанским, оказывается, ни в коем случае нельзя, поскольку запретное для этого грызуна игристое вино провоцирует появление серьезных негативных последствий.

Увы, разобраться в данной ситуации удалось лишь сравнительно недавно, когда предупредить людей, исправить что-либо было уже поздно.  

Дело в том, что один из неотъемлемых элементов оформления бутылок с шампанским — металлическая фольга, в которую завернуто горлышко стеклянной емкости. Подавляющее большинство современных людей считают ее просто красивым элементом оформления, характерными именно для такого сорта вина. Однако на самом деле изначально металлическая фольга имела вполне утилитарное назначение. Ею закрывали корковую пробку, запечатывающую бутылку, от мышей и крыс, чтобы грызуны не повредили ее во время хранения в подвалах, на складах. Наши предки были уверены, что серые зверушки не станут пытаться пробовать на зуб поверхность пробки, покрытую слоем металла, имеющего характерный, улавливаемый крысами и мышами запах. Так что шампанское, благодаря такой рационализации, стало «табу» для грызунов.

Само собой, символ 2020-го – Крыса, может испытывать лишь раздражение, замечая, что люди открывают и пьют недоступный ей игристый напиток. Такое раздражение тотемного животного «аукнулось» всем нам тяжелейшими испытаниями, которые обрушились на Землю. В первую очередь, конечно, разгулом пандемии коронавируса.

— То есть не нужно было в ту новогоднюю ночь год назад пить шампанское?

— Совершенно верно. Следовало заменить данный игристый напиток каким-либо вином «без пузырьков», упакованным в обычные бутылки.  

— А то, что мы встретили традиционно – бокалами с шампанским, наступивший 2021-й, не чревато ли какими-то неприятностями в грядущие месяцы?

— Год, в который мы вступили, «опекает», согласно китайскому календарю, совсем другое существо – Бык. А у этого зверя нет никакого предвзятого отношения к данному виду алкогольных напитков. Поэтому на сей раз традиционный ритуал встречи Нового года шампанским не приведет ни к какими негативным последствиям, и можно ожидать, что Бык будет к нам куда более благосклонен, чем его предшественница – Крыса.

image1.png

Наконец-то столь нелёгкий 2020 подходит к концу, а это значит, что пришло время подвести итоги! За этот год командой PVS-Studio было написано немало статей, в которых разбирались разнообразные ошибки, найденные анализатором в open-source проектах. Самые же интересные из них вы можете увидеть прямо здесь, в ТОП-е ошибок, обнаруженных в C#-проектах за 2020 год. Приятного просмотра!

Как формировался топ

В данном списке собраны самые интересные, на мой взгляд, срабатывания, о которых мы с коллегами писали в статьях за 2020 год. Важным критерием отбора была степень уверенности в том, что в соответствующем фрагменте кода действительно допущена ошибка. И, конечно, при отборе, а также расстановке мест, учитывалась, собственно, ‘интересность’ срабатывания, но это уже моё субъективное мнение — оспорить его вы всегда можете в комментариях.

Я старался сделать топ максимально разнообразным: как в плане сообщений PVS-Studio, так и в плане проектов, на код которых были выданы предупреждения. В список попали срабатывания на исходники 8 проверенных проектов. При этом и диагностические правила почти не повторяются — встретить дважды тут можно только V3022 и V3106 (и нет, их делал не я, но, видимо, это мои любимые). Таким образом, разнообразие вам тут обеспечено :).

Что ж, начнём! Топ 10!

10 место – Новая старая лицензия

Открывает наш топ срабатывание из статьи одного очень хорошего человека про проверку C#-проектов под Linux и macOS, где в качестве примера использовался проект RavenDB:

private static void UpdateEnvironmentVariableLicenseString(....)
{
  ....
  if (ValidateLicense(newLicense, rsaParameters, oldLicense) == false)
    return;
  ....
}

Предупреждение анализатора: V3066 Possible incorrect order of arguments passed to ‘ValidateLicense’ method: ‘newLicense’ and ‘oldLicense’. LicenseHelper.cs(177) Raven.Server

Казалось бы, что тут не так? Код же вполне компилируется. С чего анализатор решил, будто надо сначала передавать oldLicense, а потом newLicense? Вы уже догадались, не так ли? Глянем-ка на объявление ValidateLicense:

private static bool ValidateLicense(License oldLicense, 
                                    RSAParameters rsaParameters, 
                                    License newLicense)

Ух ты, и правда – сначала в параметрах идёт старая, а только потом — новая лицензия. А ну-ка скажите, может этот ваш динамический анализ такое отловить? :)

В любом случае, срабатывание интересное. Может, там на самом деле и не важен порядок, но такие фрагменты лучше перепроверять, согласны?

9 место – ‘FirstOrDefault’ и неожиданный ‘null’

На 9 месте оказалось срабатывание из статьи «В «osu!» играй, про ошибки не забывай», написанной в начале ныне уходящего года:

public ScoreInfo CreateScoreInfo(RulesetStore rulesets)
{
  var ruleset = rulesets.GetRuleset(OnlineRulesetID);

  var mods = Mods != null ? ruleset.CreateInstance() 
                                   .GetAllMods().Where(....)
                                   .ToArray() : Array.Empty<Mod>();
  ....
}

Видите ошибку? А она есть! Что же говорит анализатор?

Предупреждение анализатора: V3146 [CWE-476] Possible null dereference of ‘ruleset’. The ‘FirstOrDefault’ can return default null value. APILegacyScoreInfo.cs 24

Да-да, я снова не дал всей необходимой информации сразу. На самом деле, в этом коде и правда нельзя увидеть ничего подозрительного. Ведь FirstOrDefault, о котором нам говорит анализатор, находится в определении метода GetRuleset:

public RulesetInfo GetRuleset(int id) => 
  AvailableRulesets.FirstOrDefault(....);

Страшное дело! Метод вернёт RulesetInfo, если найдёт подходящий. А если нет? Спокойненько возвращаем null. И выстрелит уже в том месте, где результат вызова будет использован. В данном случае – при вызове ruleset.CreateInstance().

Может возникнуть вопрос: ну а вдруг там никогда не бывает null? Вдруг в коллекции всегда найдётся нужный элемент? Ну что ж, если разработчик уверен в этом, то почему бы вместо FirstOrDefault не использовать First?

8 место – Привет из Python

Последнее срабатывание из первой тройки было выдано на код проекта RunUO. Статья, посвящённая его проверке, написана в феврале и доступна по этой ссылке.

Найденный фрагмент крайне подозрителен, хотя сложно сказать наверняка, является ли он ошибкой:

public override void OnCast()
{
  if ( Core.AOS )
  {
    damage = m.Hits / 2;

    if ( !m.Player )
      damage = Math.Max( Math.Min( damage, 100 ), 15 );
      damage += Utility.RandomMinMax( 0, 15 );
  }
  else { .... }
}

Предупреждение анализатора: V3043 The code’s operational logic does not correspond with its formatting. The statement is indented to the right, but it is always executed. It is possible that curly brackets are missing. Earthquake.cs 57

Всё верно – дело в отступах! Создаётся впечатление, что строка damage += Utility.RandomMinMax( 0, 15 ) должна была выполняться только в том случае, если m.Playerfalse. Подобным образом работал бы код на Python, где отступы пишутся не только для красоты, но и для определения логики приложения. Но компилятор C# придерживается другого мнения в данном вопросе! Интересно, а какое мнение было у разработчика?

Вообще в данной ситуации есть 2 варианта. Либо тут действительно пропущены фигурные скобки, и всё работает неправильно, либо всё работает правильно, но со временем точно найдётся человек, который посчитает это ошибкой и «исправит» её.

Возможно, я не прав, и действительно бывают случаи, когда нормально написать что-то такое. Если вам такие известны, то, пожалуйста, напишите комментарий – мне было бы действительно интересно узнать о таких кейсах.

7 место – Perfect или Perfect – вот в чём вопрос!

Распределять предупреждения по местам становится всё труднее, а мы переходим ко второму в этом списке срабатыванию из статьи про osu!.

Как много времени вам понадобится, чтобы увидеть ошибку?

protected override void CheckForResult(....)
{
  ....
  ApplyResult(r =>
  {
    if (   holdNote.hasBroken
        && (result == HitResult.Perfect || result == HitResult.Perfect))
      result = HitResult.Good;
    ....
  });
}

Предупреждение анализатора: V3001 There are identical sub-expressions ‘result == HitResult.Perfect’ to the left and to the right of the ‘||’ operator. DrawableHoldNote.cs 266

Думаю, немного, ведь достаточно лишь прочитать предупреждение PVS-Studio. Разработчики, использующие статический анализ, так обычно и делают :). Можно было бы спорить про предыдущие места в топе, но здесь ошибка налицо. Сложно сказать, какой именно элемент перечисления HitResult здесь должны были использовать вместо второго Perfect (ну или вместо первого), но в итоге написано явно что-то не то. Что ж, ничего страшного – ошибка найдена, а значит, её можно легко исправить.

6 место – null (не) пройдёт!

На 6 месте оказалось очень крутое срабатывание на код из проекта Open XML SDK. Статью, посвящённую его проверке, можно прочитать здесь.

Разработчик хотел реализовать свойство, которое не вернёт null, даже если его присвоить напрямую. И это действительно здорово, когда можешь быть уверен, что null ни при каких обстоятельствах не будет записан. Жаль, что это совсем не та ситуация:

internal string RawOuterXml
{
  get => _rawOuterXml;

  set
  {
    if (string.IsNullOrEmpty(value))
    {
      _rawOuterXml = string.Empty;
    }

    _rawOuterXml = value;
  }
}

Предупреждение анализатора: V3008 The ‘_rawOuterXml’ variable is assigned values twice successively. Perhaps this is a mistake. Check lines: 164, 161. OpenXmlElement.cs 164

Получается, что в _rawOuterXml будет записано value вне зависимости от того null оно или нет. Невнимательно взглянув на этот код, можно посчитать, что в это свойство никогда не будет записан null – ведь проверка-то есть! Что ж, раз так, то под ёлкой можно обнаружить не подарки, а неожиданный NullReferenceException :(

5 место – Выстрел из массива с массивом внутри

Топ-5 срабатывание 2020 года было выдано анализатором на лично мною проверенный проект TensorFlow.NET. Перейдя по ссылке, можно ознакомиться со статьёй, посвящённой проверке этого проекта (ох, и много ж я там повидал всякого).

Кстати, если вы любите смотреть примеры интересных ошибок из реальных C#-проектов, то предлагаю вам подписаться на мой твиттер. Там я планирую выкладывать любопытные срабатывания и просто интересные фрагменты кода, многие из которых, увы, не попадут в статьи. Буду рад вас видеть! :)

Ну а теперь перейдём-таки к срабатыванию:

public TensorShape(int[][] dims)
{
  if(dims.Length == 1)
  {
    switch (dims[0].Length)
    {
      case 0: shape = new Shape(new int[0]); break;
      case 1: shape = Shape.Vector((int)dims[0][0]); break;
      case 2: shape = Shape.Matrix(dims[0][0], dims[1][2]); break; // <=
      default: shape = new Shape(dims[0]); break;
    }
  }
  else
  {
    throw new NotImplementedException("TensorShape int[][] dims");
  }
}

Предупреждение анализатора: V3106 Possibly index is out of bound. The ‘1’ index is pointing beyond ‘dims’ bound. TensorShape.cs 107

На самом деле, было очень сложно выбрать, на какое место поставить это срабатывание, так как оно действительно интересное, но и другие в этом плане не отстают. Итак, давайте разбираться, что же тут происходит.

Если количество массивов в dims не равно 1, то кидается исключение типа NotImplementedException. А что будет, если в dims ровно один массив? Производится проверка количества элементов в этом ‘массиве внутри массива’. Обратите внимание на то, что происходит, когда оно равно 2. В качестве одного из аргументов конструктора Shape.Matrix передаётся, неожиданно, dims[1][2]. А теперь давайте-ка вспомним — сколько там было элементов в массиве dims?

Верно, ровно один – мы ведь это проверяли только что! Попытка получения второго элемента из массива, в котором всего один элемент, приведёт к выбрасыванию исключения типа IndexOutOfRangeException. Очевидно, ошибка. А вот очевиден ли способ её исправления?

Первым, что приходит на ум, будет изменение dims[1][2] на dims[0][2]. Ошибка исчезнет? Как бы не так! Опять будет то же самое исключение. Но на этот раз оно будет связано с тем, что в данной case-ветке количество элементов в dims[0] равно 2. Неужели разработчик допустил две ошибки в индексе подряд? Или всё-таки там должна использоваться какая-то другая переменная? Кто знает… Дело анализатора – ошибку найти, а уж исправлять её придётся допустившему её человеку или его коллегам.

4 место – Свойство объекта, которого нет

Ещё одно срабатывание попало в это топ из статьи про проверку OpenRA. Возможно, оно и заслуживает большего, но волею судьбы это срабатывание оказалось на 4 месте. Что ж, это тоже весьма неплохо! Давайте же глянем, какую ошибку смог обнаружить PVS-Studio на этот раз:

public ConnectionSwitchModLogic(....)
{
  ....
  var logo = panel.GetOrNull<RGBASpriteWidget>("MOD_ICON");
  if (logo != null)
  {
    logo.GetSprite = () =>
    {
      ....
    };
  }

  if (logo != null && mod.Icon == null)                    // <=
  {
    // Hide the logo and center just the text
    if (title != null)
      title.Bounds.X = logo.Bounds.Left;

    if (version != null)
      version.Bounds.X = logo.Bounds.X;
    width -= logo.Bounds.Width;
  }
  else
  {
    // Add an equal logo margin on the right of the text
    width += logo.Bounds.Width;                           // <=
  }
  ....
}

Предупреждение анализатора: V3125 The ‘logo’ object was used after it was verified against null. Check lines: 236, 222. ConnectionLogic.cs 236

На что тут стоит обратить внимание? Ну, для начала, в logo наверняка может быть записан null. На это намекают и постоянные проверки, и название метода GetOrNull, который возвращает значение, записываемое в logo. Раз так, давайте подумаем, что же произойдёт, если GetOrNull и правда вернёт null. Поначалу всё в порядке, но затем происходит проверка условия logo != null && mod.Icon == null. Как вы понимаете, в результате будет произведён переход к else-ветке и… Попытка обращения к свойству Bounds переменной, в которую записан null, а затем — бдыщ! NullReferenceException стучится в дверь.

3 место – Элемент Шрёдингера

Наконец, мы подошли к тройке финалистов. Топ-3 ошибка за 2020 год обнаружилась в проекте Nethermind, о проверке которого была написана статья с интригующим названием «Код в одну строку или проверка Nethermind с помощью PVS-Studio C# для Linux». Ошибка невероятно проста, но при этом незаметна для человеческого глаза, особенно если учесть размеры проекта. Как вы считаете, достойно ли своего места это срабатывание?

public ReceiptsMessage Deserialize(byte[] bytes)
{
  if (bytes.Length == 0 && bytes[0] == Rlp.OfEmptySequence[0])
    return new ReceiptsMessage(null);
    ....
}

Предупреждение анализатора: V3106 Possibly index is out of bound. The ‘0’ index is pointing beyond ‘bytes’ bound. Nethermind.Network ReceiptsMessageSerializer.cs 50

Наверное, иметь возможность взять первую вещь, лежащую в пустой коробке, было бы круто, но здесь такое желание приведёт лишь к выбрасыванию IndexOutOfRangeException. Всего одна мелочь – крошечная ошибка в операторе, а приложение уже работает неправильно, а может и вовсе падает.

Очевидно, вместо ‘&&’ тут стоит использовать ‘||’. Подобные логические ошибки – не редкость, особенно в сложных конструкциях. Поэтому проверять такие моменты в автоматическом режиме достаточно удобно.

2 место – Меньше 2, но больше 3

На втором место я поставил ещё одно срабатывание на код из проекта RavenDB. Напомню, что о результатах его проверки (и не только) можно почитать в соответствующей статье.

Ну а теперь встречайте — топ-2 ошибка 2020 года:

private OrderByField ExtractOrderByFromMethod(....)
{
  ....
  if (me.Arguments.Count < 2 && me.Arguments.Count > 3)
    throw new InvalidQueryException(....);
  ....
}

Предупреждение анализатора: V3022 Expression ‘me.Arguments.Count < 2 && me.Arguments.Count > 3’ is always false. Probably the ‘||’ operator should be used here. QueryMetadata.cs(861) Raven.Server

Ранее мы рассматривали моменты, в которых выбрасывалось неожиданное исключение, а теперь наоборот – ожидаемое исключение не будет выброшено никогда. Ну или всё-таки будет выброшено, если кто-нибудь придумает число, которое будет меньше 2, но при этом больше 3.

Не удивлюсь, если вы не согласитесь, но это срабатывание действительно нравится мне больше всех предыдущих. Да, ошибка невероятно простая, а для её исправления нужно лишь поменять оператор. На это, кстати, намекает и сообщение, передаваемое в конструктор InvalidQueryException: «Invalid ORDER BY ‘spatial.distance(from, to, roundFactor)’ call, expected 2-3 arguments, got » + me.Arguments.Count.

Соглашусь, это элементарная оплошность, но её никто не заметил и не поправил, как минимум, до тех пор, пока она не была найдена с помощью PVS-Studio. Это напоминает мне о том, что программисты, сколь бы опытны они ни были, всё равно остаются (к сожалению?) людьми. А люди, независимо от квалификации, могут пропустить даже такие глупые ошибки по самым разным причинам. Иногда ошибка выстреливает сразу, а иногда можно долго-долго гадать, почему же пользователь не видит сообщение о некорректном вызове ORDER BY.

1 место – Кавычки на +100% к безопасности кода

Ура, ура, ура! Мы наконец-то добрались до срабатывания, которое я посчитал самым интересным, забавным, классным и так далее. Оно было выдано на код из проекта ONLYOFFICE, с анализом которого связана одна из самых последних статей этого года – «ONLYOFFICE Community Server: как баги способствуют возникновению проблем с безопасностью».

Ну что ж, представляю вам самую грустную историю про ArgumentException, который никогда не будет создан:

public void SetCredentials(string userName, string password, string domain)
{
  if (string.IsNullOrEmpty(userName))
  {
    throw new ArgumentException("Empty user name.", "userName");
  }
  if (string.IsNullOrEmpty("password"))
  {
    throw new ArgumentException("Empty password.", "password");
  }

  CredentialsUserName = userName;
  CredentialsUserPassword = password;
  CredentialsDomain = domain;
}

Предупреждение анализатора: V3022 Expression ‘string.IsNullOrEmpty(«password»)’ is always false. SmtpSettings.cs 104

Было очень сложно выбрать, какую ошибку на какое место поставить, но это срабатывание для меня с самого начала было лидером среди всех. Простейшая мелкая опечатка – и код уже работает неправильно. Не спасла ни подцветка в IDE, ни ревью, ни старый добрый здравый смысл. Это ведь маленькая, простая, красиво написанная функция. И даже здесь PVS-Studio смог найти то, что было пропущено профессионалами.

Как обычно, дьявол кроется в деталях. Разве бы не было здорово, если бы все такие детали искались автоматически? Конечно, было бы! А разработчик пусть занимается тем, чем статический анализатор заниматься не может – создаёт новые прекрасные и безопасные приложения. Творит, не думая о том, поставил он лишние кавычки при проверке переменной или нет.

Заключение

Найти 10 интересных ошибок в статьях 2020 года было несложно. А вот распределить их по местам оказалось той ещё задачкой. С одной стороны, некоторые срабатывания лучше отражают работу продвинутых механизмов анализатора. С другой – какие-то из ошибок просто кажутся в некоторой мере забавными. Многие из представленных позиций можно было бы поменять местами – например, топ-2 и топ-3.

А может, вы считаете, что в этом списке вообще должны быть какие-то другие срабатывания? На самом деле, у вас есть возможность даже составить собственный топ, перейдя по ссылке к списку статей и отыскав там самые вкусные по вашему мнению срабатывания. В таком случае, обязательно скидывайте свои топы 2020 в комментарии, я с большим удовольствием почитаю. Сможете ли вы составить список интереснее моего?

Конечно, вопрос ‘интересности’ предупреждений в любом случае субъективен. На мой взгляд, главный критерий оценки срабатывания состоит в том, будет ли программист, увидевший предупреждение от PVS-Studio, менять что-то в соответствующем коде? Данный список как раз и был собран из срабатываний на фрагменты, которые, на мой взгляд, выглядели бы лучше, если бы разработчики использовали статический анализ. К тому же, нет никаких проблем с тем, чтобы попробовать PVS-Studio, проверив собственные или какие-то другие проекты. Достаточно лишь перейти по ссылке, скачать там нужную версию анализатора и запросить триальный ключ, заполнив маленькую форму.

Ну а на этом у меня всё, большое спасибо за внимание и до новых встреч!

Если хотите поделиться этой статьей с англоязычной аудиторией, то прошу использовать ссылку на перевод: Nikita Lipilin. Top-10 Bugs Found in C# Projects in 2020.

2020 год это конец десятилетия или его начало? 2021 — это первый год десятилетия или второй? Когда следует подводить итоги десятилетия в 2020 или в 2021 году? С какого года начинается следующее десятилетие с 2020 или с 2021 года?

2020 год является 10 годом 2 десятилетия 21 века. Значит, третье десятилетие начнется с 2021 года.

Многие люди до сих пор из-за своей неграмотности путают, когда начинается новый век или десятилетие — например, многие до сих пор думают, что 2000 год относится к 21 веку.

Путаница с 2020 годом возникла еще из-за того, что многие главы государств в своих обращениях к народу сделали акцент на том, что мы вступаем в новое десятилетие. Однако это не более, чем красивая фраза.

система выбрала этот ответ лучшим

Насколько я понимаю, если речь идёт о десятилетии, то цифра года должна заканчиваться на ноль. То есть окончанию десятилетия соответствует цифра 2020 года, точнее 31 декабря 2020 года. И, соответственно, начало нового десятилетия наступит с 1 января 2021 года.

Но десятые годы двадцатого века закончатся раньше, то есть 31 декабря 2019 года, а двадцатые начнутся с наступлением 1 января 2020 года.

Агафь­я
[118K]

3 года назад 

Если вспомнить, установление людьми даты нового летоисчисления, то не могло оно начаться с нулевого года.

Непонятно же-первый год и он нулевой. Он бывает только первым.

Значит первое (1-е) число первого месяца (январь конкретно), начинает год. Ведь ранее новые годА отсчитывались с сентября, с марта…

10-е года века заканчивают 31 декабрём 2020 года.

Следующее десятилетие открывается первым(1) январём 2021 года.

Снежн­аяЗим­а
[189K]

3 года назад 

Очень интересный вопрос, ведь бытуют два противоположных мнения, люди спорят по этому поводу и не всегда приходят к однозначному выводу. Некоторые, кстати, праздновали начало нового десятилетия именно в этом 2020 новом году, с 31 декабря 2019 года по 1 января 2020. Понять их можно, дата-то круглая, цифра красивая. Да и с экранов многие говорили, что новое десятилетие наступило, его наступление нужно отпраздновать пышно. Но на деле не все так просто. Именно 2021 год станет началом нового десятилетия, а вот недавно наступивший 2020-й является последним годом уходящего. Так что сейчас идет последний год, а вот первый наступит лишь в 2021 году. В принципе, если кто-то успел порадоваться наступлению нового десятилетия, сможет сделать это и в следующем году еще раз.

Пучег­лазик
[36.4K]

3 года назад 

Математика — наука сложная, но зачастую её знание пригождается в жизни. Средства массовой информации, посты в социальных сетях, рассказы знакомых — все они гласят, что с 2020 года начинается новое десятилетие. Однако это математическая ошибка! Ведь не зря мы живём во 21 веке, хотя первые цифры года — 20, а не 21, как стоило бы предположить. Всё дело в том, что десятилетие длится ровно 10 лет! Это значит, что первое десятилетие 21 века закончилось в конце 2010, а второе — началось 1 января 2011 года. Также и здесь: второе десятилетие лишь наступит, когда уйдёт 2020 год — т.е. 1 января 2021 года.

Эл Лепсо­ид
[139K]

3 года назад 

Тяга людей к круглым цифрам и датам часто приводит к непониманию простых вещей — таких, что обозначены в вопросе автора: а что считать началом десятилетия? Многие (те, кто любят «круглое») началом века считали 1 января 2000 года, а началом десятилетия (в данном случае — третьего в XXI веке), соответственно, считают 1 января 2020 года. Но по этому поводу мне понравилось одно объяснение, как-то слышанное мною (правда, его могут понять только те, кто покупал пиво ящиками в Советском Союзе): когда брали ящик пива, то точно знали, что в нем ровно два десятка бутылок этого живительного продукта, и, чтобы начать третий десяток, придется снова идти в магазин.

Так что 2020 год — это конец второго десятилетия («ящик» закончился), а год 2021-й будет началом (новый «ящик») нового десятилетия.

А вот если речь идет о двадцатых годах нового тысячелетия, то тут начало уже положено: они начинаются с 2020 года, а заканчиваются в году 2029-м.

Zummy out off
[226K]

3 года назад 

Ох, уж эти круглые даты. Хочется красивостей. Но есть сухая наука математика.

Счёт десятков в математике и в жизни ведётся по таким правилам:

• первый десяток от 1 до 10 включительно: 1 — первое число десятка, 10 — последнее число десятка;

• второй десяток от 11 до 20;

• третий десяток от 21 до 30 и так далее.

Это касается и счёта годов, никаких исключений, поэтому следующее, третье десятилетие XXI века начнётся 1 января 2021 года.

Помню споры подобные были относительно начала тысячелетия — многие думали, что тысячелетние началось 1 января 2000 года, но на самом оказалось 1 января 2001 года.

Математика — неплохой друг, помогает не только в счёте денег.

Polom­atel
[30.9K]

3 года назад 

Проще всего начать с самого начала, с нуля, с первого десятилетия, века, тысячелетия. С какого года они начинаются, неужели с нулевого? Да нет, все же с первого года. И заканчивается первый год 31 декабря первого года в 24:00. А десятилетие заканчивается, соответственно, 31 декабря 10 года, но никак не 9-го. Значит, и начинается следующее десятилетие с 11-го года, с самого первого января.

Теперь ясно, что следующее, третье десятилетие первого века второго тысячелетия начнется в 00 часов 00 минут 1 января 2021 года. А 2020 год — это всего лишь ПОСЛЕДНИЙ год второго десятилетия.

Многие в соц. сетях думают, что наступивший год является началом десятилетия, однако так думать неправильно. Новое десятилетие начнётся именно с наступлением следующего 2021-го года. Это просто надо запомнить и не будете путаться, да и другим объясняйте, кто обратное уверяет. Так что 2020-й год — последний год второго десятилетия, а 21-й — уже начало третьего. Кстати и согласно григорианскому календарю новое десятилетие будет не в этом, а в следующем году.

Борис­ычъ
[27.6K]

3 года назад 

В социальных сетях интернета разноголосица по этому вопросу. Одни утверждают, что 2020 год — третье десятилетие, другие — второе.

Сомнения развеяли учёные: Каждое десятилетие начинается с того момента когда последняя цифра года становится один. Поэтому пока на календаре 2020, идёт второе десятилетие, а третье начнётся с первого января следующего года.

У нас с вами разный отсчет времени. Сейчас идет 2021 год (от 01.01.2020 до 01.01.2021), это

первый год второго десятилетия. А 2020 год мы уже проводили, нам уже исполнилось 2020 лет

на 01.01.2020 г.

Общепринятая версия начала летоисчисления — дата Рождества Христова, т. е. от нуля

Да и все люди считают свой собственный возраст аналогично, с даты рождения.

Но есть люди, упорно настаивающие на отсчете от единицы, т.е. от первой годовщины.

(как-бы от уже годовалого Христа).

Давайте оставим в стороне разногласия/ошибки в древности, в религиях и пр.

Нам с вами важно только одно: как мы сами сейчас/сегодня исчисляем и хотим исчислять все это время. Не только прошлое и настоящее, но и будущее.

Давайте проследим всю хронологию.

Итак, отсчет по общепризнанной версии:

1-й год — от 0 (от рождения) до 01.01.0001

2-й год — от 01.01.0001 до 01.01.0002

3-й год — от 01.01.2002 до 01.01.2003

2000-й год — от 01.01.1999 до 01.01.2000

2001-й год — от 01.01.2000 до 01.01.2001

(1 января 2000 г. начался новый 21-й век, первый год первого десятилетия этого

нового века)

.

2020-й год — от 01.01.2019 до 01.01.2020

2021-й год — от 01.01.2020 до 01.01.2021

(сейчас идет, первый год третьего десятилетия 21-го века)

+++

Что, будем менять календари, сдвигая текущий год и все предыдущие годы на один год вперед ?

Или забудем первую версию и признаем отсчет только от единицы (от годовалого Христа)?

Но если последнее, то куда девать целый год от рождения до годовщины ?

Просто игнорировать нельзя, списать на старую эру, да кто же там возьмет ?

А ваше мнение, как вы считаете, как правильно и что делать ?

Уважаемый Борисыч,

Спросите у этих т.н. ученых откуда они взяли эту единицу (1). Их позиция еще раз

доказывает, что они начинают отсчет с единицы и игнорируют отрезок времени от нуля до единицы. Или они считают, что в этом случае нуль равен единице ?

Математика такой абсурд не позволяет.

Спасибо, полностью согласен. Меня ввел в заблуждение именно отсчет времени от 1 (единицы), а не от рождения без логического объяснения. Если начало отсчета принято от рождения, а не от годовщины, и от рождения до годовщины идет именно первый год, то да, все становится логично на свои места. Я и сам повторял всегда, что нет и не может быть никакого нулевого года и нулевых лет, а есть только первый и первые. В жизни, как мы все видим, эти «нулевые» к сожалению очень часто употребляются, что и приводит к путанице. Особенно в вопросе когда начинается новое десятилетие (век, тысячелетие).

Для некоторых коллег по обсуждению.

Да-да, совершенно верно, нет и не может быть никакого нулевого года и нулевых лет тоже.

Есть только первый год (от нуля до года), и только первые годы (например, сразу после 2000 года),

первые годы до десятка, затем идут десятые годы до второго десятка, далее двадцатые годы и т.д.

Начало счета от нуля тоже звучит не совсем корректно. На самом деле счет идет от какой-то

доли секунды, человек рождается и это уже не ноль, а реальность, и счет пошел.

Но от нуля говорится просто для краткости. Да, так и принято в математике.

Да, и еще раз. Если ваши ученые признают, что сейчас идет 2021 год, то да, их

трактовка верная, последняя цифра года 1, значит идет первый год третьего десятилетия.

Но они же этого не признают, считают текущий год 2020-м. А тогда, конечно, третье десятилетие

начнется только в следующем году.

Спросите же у них, а прежде у себя самого, как вы считаете время, от нуля или от единицы ?

Время есть время, это не материальный предмет, а процесс. Игнорировать отрезок времени

от нуля до единицы не позволено никому.

Разночтения порождаются трактовкой начала отсчета новой эры от 1 (единицы).

Правильнее говорить, что отсчет начинается «с 1», а не «от 1». Отсчет от 1 вызывает иллюзию, что от 1 до 2 — это первый год, тогда как на самом деле это уже второй год. Из-за этого «от» и возникают кривотолки. Так что поправка «с 1(единицы)» уже логически означает, что 1 (единица) включается в общий счет.

Уважаемые коллеги,

Совсем коротко и еще раз по-сути.

Возьмите свой собственный возраст и посчитайте. Сколько вам лет и когда началось и

закончилось каждое ваше десятилетие.

Все сразу и встанет на свое место и вы забудете эту глупость с отсчетом от единицы.

Знаете ответ?

Возможно, вам также будет интересно:

  • 2012 фильм ошибки в фильме
  • 2012 ошибка при установке world of tanks
  • 2012 больше чем ошибка это
  • 20104 ошибка опель астра h
  • 20100 код ошибки опель астра н

  • Понравилась статья? Поделить с друзьями:
    0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии