Код вида оо: О порядке указания кода вида дохода в распоряжениях о переводе денежных средств , Указание Банка России от 14 октября 2019 года №5286-У

Содержание

О порядке указания кода вида дохода в распоряжениях о переводе денежных средств , Указание Банка России от 14 октября 2019 года №5286-У

Настоящее Указание в соответствии с пунктом 4 статьи 4 Федерального закона от 10 июля 2002 года N 86-ФЗ «О Центральном банке Российской Федерации (Банке России)» (Собрание законодательства Российской Федерации, 2002, N 28, ст.2790; 2019, N 29, ст.3857), частью 5_1 статьи 70 Федерального закона от 2 октября 2007 года N 229-ФЗ «Об исполнительном производстве» (Собрание законодательства Российской Федерации, 2007, N 41, ст.4849; 2019, N 8, ст.715) (далее — Федеральный закон от 2 октября 2007 года N 229-ФЗ) и решением Совета директоров Банка России (протокол заседания Совета директоров Банка России от 4 октября 2019 года N 26) устанавливает порядок указания кода вида дохода в распоряжениях о переводе денежных средств лицами, выплачивающими гражданину заработную плату и (или) иные доходы, в отношении которых статьей 99 Федерального закона от 2 октября 2007 года N 229-ФЗ установлены ограничения и (или) на которые в соответствии со статьей 101 Федерального закона от 2 октября 2007 года N 229-ФЗ не может быть обращено взыскание.

1. В распоряжениях о переводе денежных средств указываются следующие коды вида дохода:

«1» — при переводе денежных средств, являющихся заработной платой и (или) иными доходами, в отношении которых статьей 99 Федерального закона от 2 октября 2007 года N 229-ФЗ установлены ограничения размеров удержания;

«2» — при переводе денежных средств, являющихся доходами, на которые в соответствии со статьей 101 Федерального закона от 2 октября 2007 года N 229-ФЗ не может быть обращено взыскание, за исключением доходов, к которым в соответствии с частью 2 статьи 101 Федерального закона от 2 октября 2007 года N 229-ФЗ ограничения по обращению взыскания не применяются;

«3» — при переводе денежных средств, являющихся доходами, к которым в соответствии с частью 2 статьи 101 Федерального закона от 2 октября 2007 года N 229-ФЗ ограничения по обращению взыскания не применяются.


2. При переводе денежных средств, не являющихся доходами, в отношении которых статьей 99 Федерального закона от 2 октября 2007 года N 229-ФЗ установлены ограничения и (или) на которые в соответствии со статьей 101 Федерального закона от 2 октября 2007 года N 229-ФЗ не может быть обращено взыскание, код вида дохода не указывается.

3. Код вида дохода из установленных пунктом 1 настоящего Указания кодов видов доходов указывается в реквизите 20 «Наз. пл.» платежного поручения, перечень реквизитов и форма которого установлены Положением Банка России от 19 июня 2012 года N 383-П «О правилах осуществления перевода денежных средств», зарегистрированным Министерством юстиции Российской Федерации 22 июня 2012 года N 24667, 14 августа 2013 года N 29387, 19 мая 2014 года N 32323, 11 июня 2015 года N 37649, 27 января 2016 года N 40831, 31 июля 2017 года N 47578, 24 декабря 2018 года N 53109 (далее — Положение Банка России от 19 июня 2012 года N 383-П), в свободном реквизите банковского ордера, перечень реквизитов и форма которого установлены Указанием Банка России от 24 декабря 2012 года N 2945-У «О порядке составления и применения банковского ордера», зарегистрированным Министерством юстиции Российской Федерации 18 февраля 2013 года N 27163, в установленном банком отдельном реквизите распоряжения о переводе денежных средств, предусмотренного пунктом 1.11 Положения Банка России от 19 июня 2012 года N 383-П.

4. При частичном исполнении распоряжения о переводе денежных средств, в котором указан код вида дохода, он переносится в реквизит 20 «Наз. пл.» платежного ордера, перечень реквизитов и форма которого установлены Положением Банка России от 19 июня 2012 года N 383-П.

5. Настоящее Указание подлежит официальному опубликованию и вступает в силу с 1 июня 2020 года.

Председатель
Центрального банка
Российской Федерации
Э.С.Набиуллина

Зарегистрировано
в Министерстве юстиции
Российской Федерации
14 января 2020 года,
регистрационный N 57137


Электронный текст документа
подготовлен АО «Кодекс» и сверен по:
официальный сайт Банка России
www. cbr.ru, 21.01.2020

коды вида дохода с 2020 года

С 1 июня 2020 года действует специальное указание Банка России от 14.10.2019 № 5286-У «О порядке указания кода вида дохода в распоряжениях о переводе денежных средств» (далее – Указание № 5286-У). Согласно ему, с этой даты при перечислении доходов в назначение платежа в платежном поручении нужно проставлять, к какой категории они относятся. В данной консультации помогаем справиться с этой задачей.

Также смотрите:

Зачем ввели новые коды

Указание № 5286-У устанавливает порядок указания кода вида дохода в распоряжениях о переводе денежных средств. Оно касается не только работодателей, но и в целом лиц, выплачивающих:

  • заработную плату;
  • иные доходы, в отношении которых ст. 99 Федерального закона № 229-ФЗ «Об исполнительном производстве» установлены ограничения и/или на которые в соответствии со ст. 101 этого ФЗ не может быть обращено взыскание.

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

Какой это реквизит в платёжке

Речь идёт о поле 20 «Назначение платежа» платежного поручения и др., где нужно отражать код вида дохода.

Коды вида дохода с 2020 года

Согласно Указанию № 5286-У, с 1 июня 2020 года в распоряжениях о переводе денежных средств указывают следующие коды вида дохода:

Код Правовое основание Пояснение
«1» При переводе денежных средств, являющихся:
  • зарплатой;
  • иными доходами, в отношении которых ст. 99 Закона № 229-ФЗ установлены ограничения размеров удержания.
При перечислении зарплаты и другого дохода (например, выплат по договорам ГПХ), по которым есть ограничение размера для удержания долгов

По общему правилу с должника-гражданина может быть удержано не более 50% з/п и иных доходов.

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

«2» При переводе денежных средств, являющихся доходами, на которые в соответствии со ст. 101 Закона № 229-ФЗ не может быть обращено взыскание На 2020 год это 18 видов доходов.

Исключение: доходы, к которым в соответствии с ч. 2 ст. 101 Закона № 229-ФЗ ограничения по обращению взыскания не применяют.

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

«3» При переводе денежных средств, являющихся доходами, к которым в соответствии с ч. 2 ст. 101 Закона № 229-ФЗ ограничения по обращению взыскания не применяют При выплате сумм, которые являются исключениями, упомянутыми выше

 

Справочник кодов видов валютных операций (2020 — 2021)

Где используются КВВО

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

О том, какие операции следует считать валютными, читайте в материале «Валютные операции: понятие, виды, классификации».

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

Код валютной операции указывается в справке, заполняемой резидентом:

  • при зачислении/списании денег (в российских рублях) от/в пользу нерезидента;
  • при зачислении инвалюты на транзитный счет или списании средств в инвалюте с расчетного счета.

Также ККВО нужны для проведения валютных операций в виде списания валюты РФ с банковского счета резидента/нерезидента. В этом случае в уполномоченный банк предоставляется платежное поручение.

С 01.03.2018 перечень кодов видов валютных операций приведен в приложении 1 к инструкции Банка России от 16.08.2017 № 181-И.

Если вам нужно пройти валютный контроль в банке, алгоритм действий вы можете найти в Готовом решении от КонсультантПлюс. Чтобы все сделать правильно, получите пробный доступ к системе и переходите в Готовое решение. Это бесплатно.

Порядок использования КВВО

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

Весь буквенно-цифровой код нужно заключить в фигурные скобки. Запись должна иметь такой вид:

{VOххххх},

где ххххх — это соответствующий проводимой валютной операции код.

Любой КВВО условно разделен на 2 части, где первые 2 цифры обозначают группу, в которую объединены схожие валютные операции, а оставшиеся 3 цифры — это номер, который внутри указанной группы конкретизирует совершаемую операцию.

Расшифровка цифровых значений групп:

01

Конверсионные валютные операции, проводимые лицами-резидентами по безналу

02

Указанные выше операции, проводимые нерезидентами

10

Расчеты резидентов с нерезидентами (далее по тексту — РР/Н) при проведении внешнеторговой деятельности, связанной с вывозом товаров с территории РФ

11

РР/Н при проведении внешнеторговой деятельности, которая связана со ввозом товаров на территорию РФ

12

РР/Н по торговым операциям без импорта товаров в Россию

13

РР/Н при продаже товаров в России

20

РР/Н при проведении внешнеторговой деятельности, которая связана с выполнением резидентами договорных обязательств (работы, услуги, передача информации, интеллектуальных и исключительных прав)

21

РР/Н при проведении внешнеторговой деятельности, которая связана с выполнением нерезидентами договорных обязательств (работы, услуги, передача информации, интеллектуальных и исключительных прав)

22

РР/Н при передаче товаров (выполнении работ/услуг) резидентами

23

РР/Н при передаче товаров (выполнении работ/услуг) нерезидентами

30

РР/Н при приобретении недвижимости

32

РР/Н в рамках договоров по уступке права требования (передачи долга)

35

РР/Н по иным, не указанным выше внешнеторговым операциям

40

Расчеты по предоставлению денежного займа резидентами нерезидентам

41

Расчеты по предоставлению денежного займа нерезидентами резидентам

42

Расчеты при исполнении резидентами кредитных обязательств

43

Расчеты при исполнении нерезидентами кредитных обязательств

50

Расчеты при инвестировании (капвложения)

51

Расчеты при приобретении нерезидентами ЦБ у резидентов

52

Расчеты при приобретении резидентами ЦБ у нерезидентов

55

Расчеты при выполнении обязательств по ЦБ

56

РР/Н по срочным сделкам

57

Расчеты по сделкам, связанным с доверительным управлением активами

58

Расчеты по брокерским операциям

59

Расчеты по договорам клиринга

60

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

61

Платежные операции, осуществляемые резидентами в инвалюте наличными

70

Операции, не связанные с торговлей

80

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

99

Расчеты по иным валютным операциям, которые не были упомянуты выше

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

Особенности кода валютной операции «Зарплата нерезиденту»

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

При перечислении зарплаты такому иностранному гражданину следует указать код 70060. При этом важно не забыть одновременно оформить платежку на уплату НДФЛ и страховых взносов, чтобы не нарушить налоговое законодательство.

О сроках перечисления НДФЛ в бюджет при выплате зарплаты читайте в нашей статье «Когда перечислять подоходный налог с зарплаты?».

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

Код валютной операции 10100

Код валютной операции 10100 используется в расчетных операциях нерезидентов по предоплате резиденту за вывозимые из России товары.

Код валютной операции 10200

Код вида валютной операции 10200 обозначает осуществляемые нерезидентом расчеты резиденту в случае наличия отсрочки платежа за вывозимую из РФ продукцию.

Код валютной операции 11100

Код вида валютной операции 11100 — это расчетные операции резидента по предоплате нерезиденту за ввозимые в Россию товары.

Код валютной операции 11200

11200 — код вида валютной операции, обозначающей проведение расчетов резидента, если нерезидентом дана отсрочка платежа за ввезенную в Россию продукцию.

12060 — код валютной операции

Данная операция является фактом проведения оплаты резидента нерезиденту за реализуемые заграницей товары без их ввоза в Россию.

13010 — код валютной операции

Платеж нерезидента резиденту за реализуемую в России продукцию.

Код вида валютной операции 20100

20100 — код валютной операции, обозначающий осуществление нерезидентом предоплаты за оказываемые резидентом услуги/работы и т. д.

Код валютной операции 20200

Код вида валютной операции 20200 в платежном документе говорит о том, что нерезидент рассчитывается за выполненные резидентом работы/услуги и прочее.

20400 — код валютной операции

Данным кодом отмечается операция по проведению расчетов по договорам комиссии (поручения, предоставлении гарантии) от нерезидента (доверителя, принципала или комитента) в пользу резидента (поверенного, агента, комиссионера).

Код валютной операции 20500

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

Код валютной операции 21100: расшифровка

Код вида валютной операции 21100 в расчетном документе (справке) свидетельствует о проведении предоплаты резидента в пользу нерезидента — исполнителя работ (услуг).

Код валютной операции 21200: расшифровка

Код вида валютной операции 21200 представляет собой плату резидента за выполненные нерезидентом услуги.

Код валютной операции 35030

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

Код валютной операции 35040

Расчеты, производимые резидентом в пользу нерезидента по прочим внешнеторговым операциям.

Код валютной операции 41030

Данный КВВО обозначает, что проводятся расчеты по передаче средств в кредит нерезидентом в пользу резидента.

42015 — код валютной операции

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

Код валютной операции 61100

Таким кодом помечаются валютные операции по движению инвалюты с одного транзитного счета резидента на другой.

Код валютной операции 61135

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

Код валютной операции 70060

Этот код указывает на осуществление выплаты резидентом зарплаты нерезиденту.

Код валютной операции 70205

Иные расчеты, осуществляемые резидентом в адрес нерезидента по операциям, не являющимися торговыми.

99090 — код валютной операции

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

Итоги

Коды видов валютных операций используются при оформлении платежных документов по таким операциям и справок о них, представляемых в банки. В 5-значной цифре кода зашифрован состоящий из 2 цифр номер группы, на которые разбит справочник операций, и 3-значный номер операции конкретного вида, входящей в эту группу. Актуальный справочник является приложением к инструкции Банка России от 16.08.2017 № 181-И.

Более полную информацию по теме вы можете найти в КонсультантПлюс.
Пробный бесплатный доступ к системе на 2 дня.

Какой код вида валютной операции следует указывать резиденту в справке о валютных операциях при оплате товара, ввезенного (вывезенного) на территорию Российской Федерации?

Вопрос: Какой код вида валютной операции следует указывать резиденту в справке о валютных операциях при оплате товара, ввезенного (вывезенного) на территорию Российской Федерации (с территории Российской Федерации), при наличии у резидента декларации на товары, когда оплата такого товара осуществляется в день оформления декларации на товары или в первые 6 рабочих дней с даты ее оформления (до получения уполномоченным банком в соответствии с Положением о передаче информации о декларациях на товары от ФТС России информации о декларации на товары)? (Дата ответа ЦБ РФ: 21 января 2014 г. )

Ответ: С одной стороны, в соответствии с подпунктом 18.6.4 пункта 18 Инструкции № 138-И уполномоченный банк отказывает в принятии справки о валютных операциях в случае, если информация, указанная резидентом в справке о валютных операциях и (или) справке о подтверждающих документах, в том числе в целях представления в банк ПС информации об ожидаемом максимальном сроке исполнения нерезидентом обязательств по контракту, отсутствует в информации, передаваемой уполномоченному банку в соответствии с Положением о передаче информации о декларациях на товары, либо ей не соответствует.

С другой стороны, в соответствии с пунктом 6 порядка заполнения справки о валютных операциях (приложение 1 к Инструкции № 138-И) при оплате товаров, ввозимых (вывозимых) на территорию (с территории) Российской Федерации, при отсутствии у резидента указанных в главе 9 Инструкции № 138-И документов, подтверждающих ввоз (вывоз) товаров на территорию (с территории) Российской Федерации, в графе 5 справки о валютных операциях отражается информация исходя из осуществления авансового платежа.

В связи с этим если резидент осуществляет платежи за товары, ввезенные на территорию Российской Федерации, при наличии у него декларации на товары в первые 5 рабочих дней с даты оформления декларации на товары, при этом информация о такой декларации в соответствии со сроком, установленным Положением о передаче информации о декларациях на товары, может еще не поступить в уполномоченный банк (поскольку платеж осуществлялся в первые 5 рабочих дней с даты оформления декларации на товары), то с учетом норм Инструкции № 138-И резидент может проставить в справке о валютных операциях как код вида валютной операции, подтверждающий факт ввоза товаров на территорию Российской Федерации, так и код вида валютной операции исходя из осуществления авансового платежа с учетом информации об ожидаемом сроке (например, от 6 рабочих дней) с расчетом, что информация о такой декларации на товары поступит в установленном порядке в уполномоченный банк из ФТС России. В этом случае корректировать справку о валютных операциях не требуется.

Данный подход применяется к ситуации, связанной с получением денежных средств от нерезидента в связи с вывозом товаров с территории Российской Федерации.

{access public}

{/access}

Новый код вида доходов с 2020 года

Эксперт по налогам, бухгалтерии и кадровому учету

Сразу скажем, что ОКОПФ – это классификация организационно-правовых форм, которые используются на территории Российской Федерации. Когда возникает необходимость заполнения различных документов с подачей в контролирующие органы, предприниматели пытаются разобраться, что такое 50102 ОКОПФ, и зачем нужно это понятие.

Классификатор был разработан и утвержден Росстандартом (приказ от 16.10.2012 № 505-ст). Цель создания Классификатора – упорядочить виды предпринимательской деятельности в России и эффективно собирать статистические данные.

Полная расшифровка ОКОПФ 50102 – общероссийский классификатор организационно-правовых форм. Пятизначный код после аббревиатуры указывает на раздел классификатора с определенным типом и видом предпринимательской деятельности. Введение общероссийского классификатора преследовало одновременно несколько целей:

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

В таблице ниже представлена детальная информация о коде 901 с указанием следующих сведений:

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

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

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Уточнить информацию подходит вам код ТН ВЭД или какие документы вам нужны для ввоза груза можно по телефону (Ирина) или по почте

ОператорРегион РФДиапазон номеровВид номеровКол-во номеров
АПЕКСЧелябинская обл.+7 901 1580000 … 1589999 2500000 … 2539999 9580000 … 9589999+7 901 158-xx-xx 25x-xx-xx 958-xx-xx60 тыс.
ДЭНИ КОЛЛМосковская обл.+7 901 6260000 … 6284999+7 901 62x-xx-xx25 тыс.
ЛайкамобайлМосковская обл.+7 901 2340000 … 2349999+7 901 234-xx-xx10 тыс.
МТСРеспублика Башкортостан+7 901 1520000 … 1529999 4150000 … 4169999 4180000 … 4189999 4400000 … 4429999 4750000 … 4769999 4780000 … 4789999 8100000 … 8199999 9520000 … 9529999+7 901 152-xx-xx 41x-xx-xx 418-xx-xx 44x-xx-xx 47x-xx-xx 478-xx-xx 81x-xx-xx 952-xx-xx210 тыс.
МТСХанты-Мансийский-Югра АО+7 901 2600000 … 2619999+7 901 26x-xx-xx20 тыс.
МТТВоронежская обл.+7 901 1420000 … 1429999 1465000 … 1469999+7 901 142-xx-xx 146-xx-xx15 тыс.
МТТКраснодарский край+7 901 1595000 … 1599999+7 901 159-xx-xx5 тыс.
МТТЛенинградская обл.+7 901 9220000 … 9229999+7 901 922-xx-xx10 тыс.
МТТМосква+7 901 2020000 … 2029999+7 901 202-xx-xx10 тыс.
МТТМосковская обл.+7 901 0777000 … 0777999 1160000 … 1169999 1290000 … 1299999 1330000 … 1339999 2110000 … 2119999 2210000 … 2219999 2220000 … 2229999 2290000 … 2299999 2440000 … 2449999 2540000 … 2559999 4110000 … 4119999 4430000 … 4439999 4470000 … 4489999 4770000 … 4779999 4990000 … 4999999 6220000 … 6229999 8080000 … 8089999 8990000 … 8999999+7 901 0777-xxx 116-xx-xx 129-xx-xx 133-xx-xx 211-xx-xx 221-xx-xx 222-xx-xx 229-xx-xx 244-xx-xx 25x-xx-xx 411-xx-xx 443-xx-xx 44x-xx-xx 477-xx-xx 499-xx-xx 622-xx-xx 808-xx-xx 899-xx-xx191 тыс.
МТТНижегородская обл.+7 901 1590000 … 1594999+7 901 159-xx-xx5 тыс.
МТТНовосибирская обл.+7 901 1535000 … 1539999 4670000 … 4679999+7 901 153-xx-xx 467-xx-xx15 тыс.
МТТРеспублика Татарстан+7 901 1530000 … 1534999+7 901 153-xx-xx5 тыс.
МТТРостовская обл.+7 901 1485000 … 1489999 2330000 … 2339999+7 901 148-xx-xx 233-xx-xx15 тыс.
МТТСамарская обл.+7 901 1480000 … 1484999+7 901 148-xx-xx5 тыс.
МТТСвердловская обл.+7 901 1550000 … 1559999+7 901 155-xx-xx10 тыс.
МТТЧелябинская обл.+7 901 1460000 … 1464999 9450000 … 9469999+7 901 146-xx-xx 94x-xx-xx25 тыс.
РостелекомБрянская обл.+7 901 8090000 … 8099999+7 901 809-xx-xx10 тыс.
РостелекомВладимирская обл.+7 901 1400000 … 1419999+7 901 14x-xx-xx20 тыс.
РостелекомЛипецкая обл.+7 901 9100000 … 9109999+7 901 910-xx-xx10 тыс.
РостелекомТамбовская обл.+7 901 2030000 … 2049999+7 901 20x-xx-xx20 тыс.
РостелекомТверская обл.+7 901 1100000 … 1109999+7 901 110-xx-xx10 тыс.
Сбербанк-ТелекомМосковская обл.+7 901 1510000 … 1519999+7 901 151-xx-xx10 тыс.
Теле2Алтайский край+7 901 2050000 … 2099999 6420000 … 6424999 6450000 … 6459999+7 901 20x-xx-xx 642-xx-xx 645-xx-xx65 тыс.
Теле2Амурская обл.+7 901 0136800 … 0136899+7 901 01368-xx100
Теле2Архангельская обл.+7 901 9660000 … 9669999+7 901 966-xx-xx10 тыс.
Теле2Астраханская обл.+7 901 1315900 … 1315999 1440000 … 1449999 9440000 … 9449999+7 901 13159-xx 144-xx-xx 944-xx-xx20100
Теле2Белгородская обл.+7 901 9900000 … 9909999+7 901 990-xx-xx10 тыс.
Теле2Брянская обл.+7 901 1315200 … 1315299 9910000 … 9919999+7 901 13152-xx 991-xx-xx10100
Теле2Владимирская обл. +7 901 0137000 … 0137099 1610000 … 1619999 1920000 … 1929999 4440000 … 4449999 8880000 … 8889999 9920000 … 9929999+7 901 01370-xx 161-xx-xx 192-xx-xx 444-xx-xx 888-xx-xx 992-xx-xx50100
Теле2Волгоградская обл.+7 901 1300000 … 1314999 9410000 … 9419999+7 901 13x-xx-xx 941-xx-xx25 тыс.
Теле2Вологодская обл.+7 901 9650000 … 9659999 9690000 … 9699999+7 901 965-xx-xx 969-xx-xx20 тыс.
Теле2Воронежская обл.+7 901 0920000 … 0939999 1930000 … 1939999 9930000 … 9939999+7 901 09x-xx-xx 193-xx-xx 993-xx-xx40100
Теле2Еврейская автономная обл.+7 901 0136700 … 0136799 9320000 … 9329999+7 901 01367-xx 932-xx-xx10100
Теле2Забайкальский край+7 901 0135600 … 0135699 9230000 … 9239999+7 901 01356-xx 923-xx-xx10200
Теле2Ивановская обл.+7 901 1910000 … 1919999 1940000 … 1949999 2800000 … 2899999 2900000 … 2909999 4820000 … 4839999 6800000 … 6899999 6900000 … 6999999+7 901 191-xx-xx 194-xx-xx 28x-xx-xx 290-xx-xx 48x-xx-xx 68x-xx-xx 69x-xx-xx350 тыс.
Теле2Иркутская обл.+7 901 0136100 … 0136199 6300000 … 6344999 6400000 … 6419999 6500000 … 6749999+7 901 01361-xx 63x-xx-xx 64x-xx-xx 6xx-xx-xx315100
Теле2Калининградская обл.+7 901 3900000 … 3909999 9630000 … 9639999 9740000 … 9749999+7 901 390-xx-xx 963-xx-xx 974-xx-xx30 тыс.
Теле2Калужская обл.+7 901 1270000 … 1279999 1450000 … 1459999 1470000 … 1474999 6350000 … 6359999 9950000 … 9959999+7 901 127-xx-xx 145-xx-xx 147-xx-xx 635-xx-xx 995-xx-xx45 тыс.
Теле2Камчатский край+7 901 0136900 … 0136999 4450000 … 4459999 9330000 … 9339999+7 901 01369-xx 445-xx-xx 933-xx-xx20100
Теле2Карачаево-Черкесская Республика+7 901 0136500 … 0136599+7 901 01365-xx100
Теле2Кемеровская обл. +7 901 1315400 … 1315499 6150000 … 6169999 6190000 … 6199999 6290000 … 6299999 9290000 … 9299999+7 901 13154-xx 61x-xx-xx 619-xx-xx 629-xx-xx 929-xx-xx50100
Теле2Кировская обл.+7 901 2420000 … 2439999 4190000 … 4199999 4490000 … 4499999 4710000 … 4719999 4790000 … 4799999+7 901 24x-xx-xx 419-xx-xx 449-xx-xx 471-xx-xx 479-xx-xx60 тыс.
Теле2Корякский округ, Камчатский край+7 901 0135700 … 0135799+7 901 01357-xx100
Теле2Костромская обл.+7 901 1960000 … 1979999 4800000 … 4809999 4840000 … 4849999+7 901 19x-xx-xx 480-xx-xx 484-xx-xx40 тыс.
Теле2Краснодарский край+7 901 0020000 … 0099999 0140000 … 0169999 1000000 … 1059999 1070000 … 1079999 4890000 … 4939999+7 901 00x-xx-xx 01x-xx-xx 10x-xx-xx 107-xx-xx 4xx-xx-xx230 тыс.
Теле2Красноярский край+7 901 0135500 … 0135599 1110000 … 1119999 2400000 … 2419999 6210000 … 6219999 6230000 … 6259999 6460000 … 6479999 9110000 … 9119999+7 901 01355-xx 111-xx-xx 24x-xx-xx 621-xx-xx 62x-xx-xx 64x-xx-xx 911-xx-xx100200
Теле2Курская обл.+7 901 9960000 … 9969999+7 901 996-xx-xx10 тыс.
Теле2Ленинградская обл.+7 901 3000000 … 3299999 3700000 … 3799999 3910000 … 3999999 9700000 … 9739999 9750000 … 9799999+7 901 3xx-xx-xx 37x-xx-xx 39x-xx-xx 97x-xx-xx 97x-xx-xx580 тыс.
Теле2Липецкая обл.+7 901 0136400 … 0136499+7 901 01364-xx100
Теле2Магаданская обл.+7 901 9350000 … 9359999+7 901 935-xx-xx10 тыс.
Теле2Московская обл.+7 901 1800000 … 1899999 3300000 … 3699999 3800000 … 3899999 4000000 … 4099999 4200000 … 4299999 4610000 … 4619999 4640000 … 4649999 4700000 … 4709999 5000000 … 5999999 7000000 … 7999999 9000000 … 9099999 9820000 … 9839999+7 901 18x-xx-xx 3xx-xx-xx 38x-xx-xx 40x-xx-xx 42x-xx-xx 461-xx-xx 464-xx-xx 470-xx-xx 5xx-xx-xx 7xx-xx-xx 90x-xx-xx 98x-xx-xx3 млн.
Теле2Мурманская обл.+7 901 9680000 … 9689999+7 901 968-xx-xx10 тыс.
Теле2Нижегородская обл.+7 901 8000000 … 8019999 8700000 … 8719999+7 901 80x-xx-xx 87x-xx-xx40 тыс.
Теле2Новгородская обл.+7 901 9640000 … 9649999+7 901 964-xx-xx10 тыс.
Теле2Новосибирская обл.+7 901 4500000 … 4529999 4580000 … 4599999+7 901 45x-xx-xx 45x-xx-xx50 тыс.
Теле2Омская обл.+7 901 1316100 … 1316199 2620000 … 2639999 9560000 … 9569999+7 901 13161-xx 26x-xx-xx 956-xx-xx30100
Теле2Оренбургская обл.+7 901 0800000 … 0899999 0950000 … 0999999 1090000 … 1099999 1120000 … 1159999 8220000 … 8229999+7 901 08x-xx-xx 09x-xx-xx 109-xx-xx 11x-xx-xx 822-xx-xx210 тыс.
Теле2Орловская обл.+7 901 9840000 … 9849999+7 901 984-xx-xx10 тыс.
Теле2Пензенская обл.+7 901 0135000 … 0135049+7 901 01350-xx50
Теле2Пермский край+7 901 2650000 … 2699999 9541409 … 9559999+7 901 26x-xx-xx 95x-xx-xx70 тыс.
Теле2Приморский край+7 901 1340000 … 1349999 1380000 … 1389999 9340000 … 9349999 9380000 … 9389999+7 901 134-xx-xx 138-xx-xx 934-xx-xx 938-xx-xx40 тыс.
Теле2Псковская обл.+7 901 9670000 … 9679999+7 901 967-xx-xx10 тыс.
Теле2Республика Адыгея+7 901 0100000 … 0134999+7 901 01x-xx-xx35 тыс.
Теле2Республика Алтай+7 901 0135900 … 0135999+7 901 01359-xx100
Теле2Республика Бурятия+7 901 0135300 … 0135499+7 901 0135-xxx200
Теле2Республика Дагестан+7 901 0200000 … 0209999+7 901 020-xx-xx10 тыс.
Теле2Республика Кабардино-Балкарская+7 901 0135100 … 0135299+7 901 0135-xxx200
Теле2Республика Калмыкия+7 901 0135800 … 0135899+7 901 01358-xx100
Теле2Республика Карелия+7 901 9620000 … 9629999+7 901 962-xx-xx10 тыс.
Теле2Республика Коми+7 901 9610000 … 9619999+7 901 961-xx-xx10 тыс.
Теле2Республика Марий Эл+7 901 1315000 … 1315099+7 901 13150-xx100
Теле2Республика Мордовия+7 901 1315300 … 1315399+7 901 13153-xx200
Теле2Республика Северная Осетия-Алания+7 901 0010000 … 0019999 4970000 … 4979999+7 901 001-xx-xx 497-xx-xx20 тыс.
Теле2Республика Татарстан+7 901 0135050 … 0135099+7 901 01350-xx50
Теле2Республика Тыва+7 901 0136000 … 0136099 0170000 … 0199999 1350000 … 1379999 2000000 … 2009999 6440000 … 6449999 6750000 … 6799999+7 901 01360-xx 01x-xx-xx 13x-xx-xx 200-xx-xx 644-xx-xx 67x-xx-xx130100
Теле2Республика Хакасия+7 901 2350000 … 2399999 6000000 … 6009999+7 901 23x-xx-xx 600-xx-xx60 тыс.
Теле2Ростовская обл.+7 901 0000000 … 0009999 1060000 … 1069999 4460000 … 4469999 4560000 … 4569999 4960000 … 4969999+7 901 000-xx-xx 106-xx-xx 446-xx-xx 456-xx-xx 496-xx-xx50200
Теле2Рязанская обл.+7 901 0940000 … 0949999 4810000 … 4819999 9810000 … 9819999+7 901 094-xx-xx 481-xx-xx 981-xx-xx30 тыс.
Теле2Самарская обл.+7 901 8020000 … 8039999 9400000 … 9409999 9420000 … 9439999+7 901 80x-xx-xx 940-xx-xx 94x-xx-xx50 тыс.
Теле2Саратовская обл.+7 901 8040000 … 8079999 8200000 … 8219999+7 901 80x-xx-xx 82x-xx-xx60 тыс.
Теле2Сахалинская обл.+7 901 9370000 … 9379999+7 901 937-xx-xx10 тыс.
Теле2Свердловская обл.+7 901 1490000 … 1509999 2010000 … 2019999 2100000 … 2109999 2200000 … 2209999 2300000 … 2309999 4130000 … 4149999 4300000 … 4399999 4530000 … 4549999 8500000 … 8599999 9490000 … 9509999+7 901 1xx-xx-xx 201-xx-xx 210-xx-xx 220-xx-xx 230-xx-xx 41x-xx-xx 43x-xx-xx 45x-xx-xx 85x-xx-xx 9xx-xx-xx320 тыс.
Теле2Смоленская обл.+7 901 9870000 … 9879999+7 901 987-xx-xx10 тыс.
Теле2Ставропольский край+7 901 0136200 … 0136299+7 901 01362-xx100
Теле2Тамбовская обл.+7 901 9890000 … 9899999+7 901 989-xx-xx10 тыс.
Теле2Тверская обл.+7 901 1170000 … 1239999 1250000 … 1269999 1280000 … 1289999 1900000 … 1909999 4870000 … 4889999 9880000 … 9889999+7 901 1xx-xx-xx 12x-xx-xx 128-xx-xx 190-xx-xx 48x-xx-xx 988-xx-xx140 тыс.
Теле2Томская обл.+7 901 1315600 … 1315699 6070000 … 6149999 6170000 … 6189999+7 901 13156-xx 6xx-xx-xx 61x-xx-xx100100
Теле2Тульская обл.+7 901 1980000 … 1989999 9980000 … 9989999+7 901 198-xx-xx 998-xx-xx20 тыс.
Теле2Тюменская обл.+7 901 1560000 … 1569999+7 901 156-xx-xx10 тыс.
Теле2Удмуртская Республика+7 901 1315800 … 1315899 1570000 … 1579999 4100000 … 4109999 4120000 … 4129999 4550000 … 4559999 4570000 … 4579999 8600000 … 8699999 9570000 … 9579999+7 901 13158-xx 157-xx-xx 410-xx-xx 412-xx-xx 455-xx-xx 457-xx-xx 86x-xx-xx 957-xx-xx160100
Теле2Ульяновская обл. +7 901 8470000 … 8479999 9470000 … 9479999+7 901 847-xx-xx 947-xx-xx20 тыс.
Теле2Хабаровский край+7 901 4600000 … 4609999 4620000 … 4639999 4650000 … 4669999 9300000 … 9309999+7 901 460-xx-xx 46x-xx-xx 46x-xx-xx 930-xx-xx60 тыс.
Теле2Чувашская Республика-Чувашия+7 901 1315100 … 1315199+7 901 13151-xx200
Теле2Ярославская обл.+7 901 0500000 … 0599999 1700000 … 1799999 1950000 … 1959999 1990000 … 1999999 2700000 … 2799999 2990000 … 2999999 4850000 … 4869999 9850000 … 9869999 9940000 … 9949999 9970000 … 9979999 9990000 … 9999999+7 901 05x-xx-xx 17x-xx-xx 195-xx-xx 199-xx-xx 27x-xx-xx 299-xx-xx 48x-xx-xx 98x-xx-xx 994-xx-xx 997-xx-xx 999-xx-xx400 тыс.
РазрешениеТребуетсяОписание
КвотированиенетТовар не требует лицензирования, кроме товаров, входящих в Перечень культурных ценностей, документов нац. архивных фондов, оригиналов архивных документов и имеющих следующие характеристики: 3.1. Художественные ценности (за исключением созданных менее 50 лет назад живописных, скульптурных и графических работ, предметов декоративно-прикладного искусства и отправления религиозных культов различных конфессий, дизайнерских проектов, инсталляций сувенирных изделий, предметов детского творчества, а также предметов быта независимо от времени их создания): Произведения живописи, скульптуры Решение Коллегии ЕЭК № 30 от 21. 04.2015
Преференциальный режимнет
Пошлина3 %Решение Коллегии ЕЭК № 77 от 26.05.2014
Специальная пошлинанет
Антидемпенговая пошлинанет
Компенсационная пошлинанет
Акцизнет
Депозитнет
НДС20 %Федеральный закон № 117-ФЗ от 07.07.2003
Сертификат соответствия продукции требованиям национальных стандартовнет
Декларация о соответствии продукции требованиям национальных стандартовнет
Сертификат соответствия таможенного союза! может требоватьсяПродукция не требует оценки соответствии в рамках таможенного союза, кроме товаров, входящих в Единый перечень продукции, подлежащей обязательной оценке(подтверждению) соответствия и имеющих следующие характеристики: * Компоненты транспортных средств. Колпаки (в том числе декоративные) ступиц, элементы крепления колес и грузы балансировочные колес Примечание: Представляется сертификат соответствия требованиям технического регламента ТС «О безопасности колесных транспортных средств» (ТР ТС 018/2011). Перечень транспортных средств и их шасси, на которые не распространяется См. полный текст документа Решение Коллегии ЕЭК № 77 от 14.07.2015
Сертификат соответствия продукции требованиям технических регламентовнет
Свидетельство о государственной регистрациинет
Фитосанитарный сертификатнет
Ветеринарное свидетельствонет
Лицензированиенет
Квотированиенет
Лицензирование! может требоватьсяТовар не требует лицензирования, кроме товаров, входящих в Перечень опасных отходов, трансграничные перевозки которых подлежат государственному регулированию и имеющих следующие характеристики: 34. Отходы металлов и сплавов, в состав которых входят любые вещества, указанные ниже (за исключением лома и сплавов в форме готовых изделий: листов, пластин, балок, прутов, труб и т.д.): сурьма, кадмий, селен теллур, таллий Решение Коллегии ЕЭК № 30 от 21.04.2015
Лицензирование! может требоватьсяТовар разрешен к ввозу, кроме товаров, входящих в Перечень опасных отходов, импорт(транзит) которых запрещен и имеющих следующие характеристики: 1. Отходы, в состав которых в качестве компонента или загрязнителя входят любые из следующих веществ: ртуть, соединения ртути (исключая ртутные лампы и люминесцентные трубки)7.1. Цинковые остатки, содержащие свинец и кадмий Решение Коллегии ЕЭК № 30 от 21.04.2015
Квотированиенет
Решения о классификацииРеестр предварительных решений о классификации
Квотированиенет
Решения о классификацииРеестр предварительных решений о классификации

улица 7-я Подлесная, 94, в зоне многоквартирной жилой застройки зданиями высокой этажности (Ж 1) в Октябрьском районе

В соответствии с решением Городской думы от 22.12.2005 г. № 35 «Об утверждении положения о публичных слушаниях в муниципальном образовании «Город Ижевск», Приказом Заместителя Главы Администрации г. Ижевска от 02.09.2015 г. № 866/2п, Администрация Октябрьского района сообщает о начале организации проведения публичных слушаний по вопросу о предоставлении разрешения на условно разрешенный вид использования (Магазины (код 4.4) – размещение объектов капитального строительства, предназначенных для продажи товаров, торговая площадь которых составляет до 5000 кв.м.) части земельного участка, расположенной по адресу: улица 7-я Подлесная, 94, в зоне многоквартирной жилой застройки зданиями высокой этажности (Ж 1) в Октябрьском районе, которые состоятся 10 ноября 2015 года в 16 часов в здании ФГБО УВО «Ижевская сельскохозяйственная академия» по адресу: ул. Студенческая, д.11, аудитория № 103.

Публичные слушания проводятся с участием правообладателей объектов недвижимости и земельных участков, расположенных на территории, ограниченной с севера – улицей Студенческая, 7 (южной границей земельного участка с кадастровым номером 18:26:010065:2, главный корпус ИжГТУ), с юга – улицей 7-я Подлесная, с запада – улицей Песочная, 36 а (восточной границей земельного участка с кадастровым номером 18:26:010065:12, общежитие ИжГТУ), с востока – улицей Студенческая, и с участием граждан, проживающих на вышеуказанной территории, в соответствии с Положением о публичных слушаниях.

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

Желающие выступить на публичных слушаниях должны подать заявку о намерении выступить не позднее, чем за один день до публичных слушаний, в Администрацию Октябрьского района по адресу: г. Ижевск, ул. Песочная, дом 2/1, каб. 201.

Ознакомление с материалами публичных слушаний будет проходить с 15 октября 2015 года в Администрации Октябрьского района по адресу: ул. Песочная, 2/1, каб. 206, на втором этаже.

Граждане вправе вносить предложения: по вопросу о предоставлении разрешения на условно разрешенный вид использования (Магазины (код 4.4) – размещение объектов капитального строительства, предназначенных для продажи товаров, торговая площадь которых составляет до 5000 кв.м.) части земельного участка, расположенной по адресу: улица 7-я Подлесная, 94, в зоне многоквартирной жилой застройки зданиями высокой этажности (Ж 1) в Октябрьском районе, в письменном виде. Письменные предложения можно направлять по адресу:426033, г. Ижевск, ул. Песочная, 2/1. Справки по телефонам: 41-44-00, 56-11-10.

Список бик и свифт бик (SWIFT) кодов (ISO 9362)

ABSLRUMMXXX044525976АКБ «АБСОЛЮТ БАНК» (ПАО)
AGCORUMMXXX044525710АО КБ «АГРОПРОМКРЕДИТ
AJSCRU55XXX045004815АО «БАНК АКЦЕПТ
AKOARU22XXX049240803ПАО «АКИБАНК
ALALRUMMXXX044525288ООО КБ «АЛЬБА АЛЬЯНС
ALEFRUMMXXX044525268АО АКБ «АЛЕФ-БАНК
ALFARUMMXXX044525593АО «АЛЬФА-БАНК
ALILRUMMXXX044525135КБ «РЕНЕССАНС КРЕДИТ» (ООО)
ALMZRU8YXXX049805770АКБ «АЛМАЗЭРГИЭНБАНК» АО
APABRUMMXXX044525238АКБ «АПАБАНК» (ЗАО)
ARESRUMMXXX044525229ООО КБ «АРЕСБАНК
ARRSRU2KXXX049205805ПАО «АК БАРС» БАНК
ASANRU8XXXX041012765«АЗИАТСКО-ТИХООКЕАНСКИЙ БАНК» (ПАО)
ASIJRUMMXXX044525234АЗИЯ-ИНВЕСТ БАНК (АО)
ASOJRU2NXXX042282751АО КБ «АССОЦИАЦИЯ
ASPTRUMMXXX044525401АБ «АСПЕКТ» (АО)
AVBKRU3TXXX043678700АО БАНК АВБ
AVGRRU22XXX049240748АО «АВТОГРАДБАНК
AVJSRUMMXXX044525201ПАО АКБ «АВАНГАРД
AVTBRUMMXXX044525787ПАО «БАНК УРАЛСИБ
BADJRUMMVLD040507867ФИЛИАЛ ББР БАНКА (АО), Г. ВЛАДИВОСТОК
BADJRUMMXXX044525769ББР БАНК (АО)
BBANRU2RXXX044106888АО «БАНК БЕРЕЙТ
BELERUMMXXX044525416КИВИ БАНК (АО)
BFEARUMMXXX044525060ВНЕШЭКОНОМБАНК
BIJORU66XXX042520706АО «БАЙКАЛИНВЕСТБАНК
BKAVRU2KXXX049205774ООО БАНК «АВЕРС
BKCHRUMMKHB040813864ХАБАРОВСКИЙ ФИЛИАЛ АКБ «БЭНК ОФ ЧАЙНА»(АО)
BKCHRUMMXXX044525213АКБ «БЭНК ОФ ЧАЙНА» (АО)
BKSBRU4UXXX048073842РОСКОМСНАББАНК (ПАО)
BLICRUMMXXX044525351ООО «ЭЙЧ-ЭС-БИ-СИ БАНК (РР)
BNECRUMMXXX044525679ООО КБ «НЭКЛИС-БАНК
BNPARUMMXXX044525185«БНП ПАРИБА БАНК» АО
BNRCRU22001043469751АО КБ «МОДУЛЬБАНК
BOTKRUMMXXX044525361АО «ЭМ-Ю-ЭФ-ДЖИ БАНК (ЕВРАЗИЯ)
BPIRRUMMXXX044525491ООО ПИР БАНК
BRATRU6BXXX042511741«БРАТСКИЙ АНКБ» ПАО
BRECRU2SXXX046311722АО «ЭКОНОМБАНК
CAIWRUMMXXX044525490АО МС БАНК РУС
CBGURUMMEKA046577413ФИЛИАЛ N 6602 ВТБ 24 (ПАО)
CBGURUMMKHA040813827ФИЛИАЛ N 2754 ВТБ 24 (ПАО)
CBGURUMMKRD040349585ФИЛИАЛ N 2351 ВТБ 24 (ПАО)
CBGURUMMSTP044030811ФИЛИАЛ N 7806 ВТБ 24 (ПАО)
CBGURUMMVOR042007738ФИЛИАЛ N 3652 ВТБ 24 (ПАО)
CBGURUMMXXX044525716ВТБ 24 (ПАО)
CBMWRUMMXXX044525476АО «МОСКОМБАНК
CBNNRUMMXXX044525498АО БАНК «НАЦИОНАЛЬНЫЙ СТАНДАРТ
CCIVRU2RXXX046015762ПАО КБ «ЦЕНТР-ИНВЕСТ
CECBRU2KXXX049209767АО «ИК БАНК
CETBRUMMXXX044525811«СЕТЕЛЕМ БАНК» ООО
CFLORUMMXXX044525831АО КБ «ФЛОРА-МОСКВА
CGAZRU3SXXX043601863АО АКБ «ГАЗБАНК
CHASRUMXXXX044525218КБ «ДЖ. П. МОРГАН БАНК ИНТЕРНЕШНЛ» (ООО)
CHINRU4CXXX047501779ПАО «ЧЕЛЯБИНВЕСТБАНК
CHLBRU4CXXX047501711ПАО «ЧЕЛИНДБАНК
CHVARU2CXXX049706725АКБ «ЧУВАШКРЕДИТПРОМБАНК» ПАО
CINGRUMMXXX044525683ООО КБ «СТОЛИЧНЫЙ КРЕДИТ
CITIRUMXXXX044525202АО КБ «СИТИБАНК
CKBBRUMMXXX044525514АО АКБ «ЦЕНТРОКРЕДИТ
CLOKRUMMXXX044525161КБ «ЛОКО-БАНК» (АО)
CNOVRUMMXXX044525162АО АКБ «НОВИКОМБАНК
COBARUMMXXX044525105АО «КОММЕРЦБАНК (ЕВРАЗИЯ)
CODLRUMMXXX044525500«КОММЕРЧЕСКИЙ ИНДО БАНК» ООО
COLKRUMMXXX044525348АКБ «ЛАНТА-БАНК» (АО)
COMKRUMM030046577434Ф-Л «ЕКАТЕРИНБУРГ» АКБ «РОСЕВРОБАНК» (АО)
COMKRUMM040047501605Ф-Л «ЧЕЛЯБИНСК» АКБ «РОСЕВРОБАНК» (АО)
COMKRUMM060043601727Ф-Л «САМАРА» АКБ «РОСЕВРОБАНК» (АО)
COMKRUMM080044030762Ф-Л «САНКТ-ПЕТЕРБУРГ» АКБ «РОСЕВРОБАНК» (АО)
COMKRUMM090046015233Ф-Л «РОСТОВ-НА-ДОНУ» АКБ «РОСЕВРОБАНК» (АО)
COMKRUMMXXX044525836АКБ «РОСЕВРОБАНК» (АО)
COMSRUSMXXX044525129ПАО «ПЛЮС БАНК
CONYRU2NXXX046577774БАНК «НЕЙВА» ООО
COUERUMMXXX044525253АО КБ «РУБЛЕВ
CPGBRU2PXXX044030814АО «ГОРБАНК
CRDURU4CXXX047516949БАНК «КУБ» (АО)
CRESRUMMXXX044525236АО «БАНК КРЕДИТ СВИСС (МОСКВА)
CRLYRU2PMSC044525843КРЕДИ АГРИКОЛЬ КИБ АО (МОСКОВСКИЙ ФИЛИАЛ)
CRLYRU2PXXX044030882КРЕДИ АГРИКОЛЬ КИБ АО
CROSRUMMXXX044525773АО «КРОСНА-БАНК
CSIBRU4UXXX048073739АО «СОЦИНВЕСТБАНК
CSMMRUMMXXX044525254АО КБ «КОСМОС
CSOLRU3SXXX043601706АО КБ «СОЛИДАРНОСТЬ
DABARU2PXXX044030888АО «ДАНСКЕ БАНК
DALVRU8XXXX041012718ПАО КБ «ВОСТОЧНЫЙ
DERZRUMMXXX044525675АКБ «ДЕРЖАВА» ПАО
DETARUMMXXX044525110АО «КБ ДЕЛЬТАКРЕДИТ
DEUTRUMMXXX044525101ООО «ДОЙЧЕ БАНК
DOLIRU8YXXX046401727КБ «ДОЛИНСК» (АО)
EABIRUMMXXX044525132ООО КБ «ЕВРОАЗИАТСКИЙ ИНВЕСТИЦИОННЫЙ БАНК
ELIARU22XXX042908762ООО БАНК «ЭЛИТА
ENEBRU2PXXX044030754ПАО «ЭНЕРГОМАШБАНК
ENGORU2KXXX042748701КБ «ЭНЕРГОТРАНСБАНК» (АО)
ERSNRUMMXXX044525708ПАО «ЕВРАЗИЙСКИЙ БАНК
EVRFRUMMXXX044525204АО АКБ «ЕВРОФИНАНС МОСНАРБАНК
EXIRRUMMXXX044525192АО РОСЭКСИМБАНК
EXPNRUMMXXX044525460ООО «ЭКСПОБАНК
FABARUMMXXX044525215ООО «БАНК БКФ
FAEBRU8VXXX040507705ПАО «ДАЛЬНЕВОСТОЧНЫЙ БАНК
FBBARU3GXXX044525835ООО КБ «ФИНАНС БИЗНЕС БАНК
FCBRRUMMXXX044525134ООО «ПЕРВЫЙ КЛИЕНТСКИЙ БАНК
FEIDRUMMXXX044525104АО БАНК ИННОВАЦИЙ И РАЗВИТИЯ
FMOSRUMMXXX044525767АО «КРЕДИТ ЕВРОПА БАНК
FNMMRUMMXXX044525604АО «БАНК ФИНАМ
FOJSRUMMXXX044525341АКБ «ФОРА-БАНК» (АО)
FONBRUMMMRN041102701Ф-Л «КОСМОДРОМ-ПЛЕСЕЦК» АО «ФОНДСЕРВИСБАНК
FONBRUMMXXX044525904АО «ФОНДСЕРВИСБАНК
FORHRU33XXX045354860АКБ «ФОРШТАДТ» (АО)
FRFLRUMMXXX044525900ООО «ФФИН БАНК
FRIBRUMMXXX044525408АО «АЛМА БАНК
GAINRUMMXXX044525109КБ «ГАРАНТ-ИНВЕСТ» (АО)
GAZPRUMM001042202764Ф-Л БАНКА ГПБ (АО) «ПРИВОЛЖСКИЙ
GAZPRUMM002047195753Ф-Л БАНКА ГПБ (АО) В Г. НОВОМ УРЕНГОЕ
GAZPRUMM004047003716Ф-Л БАНКА ГПБ (АО) «СРЕДНЕРУССКИЙ
GAZPRUMM007040349781Ф-Л БАНКА ГПБ (АО) «ЮЖНЫЙ
GAZPRUMM011046902758Ф-Л БАНКА ГПБ (АО) В Г. ТОМСКЕ
GAZPRUMM015044030827Ф-Л БАНКА ГПБ (АО) «СЕВЕРО-ЗАПАДНЫЙ
GAZPRUMM024040702754Ф-Л БАНКА ГПБ (АО) «СЕВЕРО-КАВКАЗСКИЙ
GAZPRUMM025048073928Ф-Л БАНКА ГПБ (АО) В Г.УФЕ
GAZPRUMM026046577411Ф-Л БАНКА ГПБ (АО) «УРАЛЬСКИЙ
GAZPRUMM029045004783Ф-Л БАНКА ГПБ (АО) «ЗАПАДНО-СИБИРСКИЙ
GAZPRUMM032045773808Ф-Л БАНКА ГПБ (АО) «ЗАПАДНО-УРАЛЬСКИЙ
GAZPRUMM034040407877Ф-Л БАНКА ГПБ (АО) «ВОСТОЧНО-СИБИРСКИЙ
GAZPRUMM036043207748Ф-Л БАНКА ГПБ (АО) В Г.КЕМЕРОВО
GAZPRUMM037043601917Ф-Л БАНКА ГПБ (АО) «ПОВОЛЖСКИЙ
GAZPRUMM038042748866Ф-Л БАНКА ГПБ (АО) В Г. КАЛИНИНГРАДЕ
GAZPRUMM042040507886Ф-Л БАНКА ГПБ (АО) «ДАЛЬНЕВОСТОЧНЫЙ
GAZPRUMM047049205734Ф-Л БАНКА ГПБ (АО) В Г. КАЗАНИ
GAZPRUMM048047144721Ф-Л БАНКА ГПБ (АО) В Г. СУРГУТЕ
GAZPRUMM049042007800Ф-Л БАНКА ГПБ (АО) «ЦЕНТРАЛЬНО-ЧЕРНОЗЕМНЫЙ
GAZPRUMMXXX044525823БАНК ГПБ (АО)
GLOBRUMMXXX044525243АО «ГЛОБЭКСБАНК
GOLDRUMMXXX044525340ООО «ГОЛДМАН САКС БАНК
GRINRUMMXXX044525680АО «ГРАНД ИНВЕСТ БАНК
HCFBRUMMXXX044525245ООО «ХКФ БАНК
HRANRUMMXXX044525934НКО «ИНКАХРАН» (АО)
HSBKRU4CXXX044525637АО «НБК-БАНК
HVBKRUMMSPB044030819САНКТ-ПЕТЕРБУРГСКИЙ ФИЛИАЛ АО «УРИ БАНК
HVBKRUMMXXX044525163АО «УРИ БАНК
IBAZRUMMXXX044525502«БАНК «МБА-МОСКВА» ООО
IBECRUMMXXX044525123МБЭС
ICBKRUMMXXX044525551АЙСИБИСИ БАНК (АО)
ICFIRUMMXXX044525632АО АКБ «МЕЖДУНАРОДНЫЙ ФИНАНСОВЫЙ КЛУБ
ICICRUMMXXX043469564ООО БАНК «СКИБ
IKBARUMMXXX044525102АО «ДЕНИЗБАНК МОСКВА
IMBKRUMMPET044030858ПЕТЕРБУРГСКИЙ ФИЛИАЛ АО ЮНИКРЕДИТ БАНКА
IMBKRUMMXXX044525545АО ЮНИКРЕДИТ БАНК
INCBRU55XXX044525732АО КБ «ПОЙДЁМ!
INDMRUMMXXX044525315АО «НЕФТЕПРОМБАНК
INEARUMMXXX044525362МЕЖГОСУДАРСТВЕННЫЙ БАНК
INGBRUMMXXX044525222ИНГ БАНК (ЕВРАЗИЯ) АО
INIBRUMMXXX044525625БАНК «КУЗНЕЦКИЙ МОСТ» АО
INKARUMMXXX044525124АКБ «ИНКАРОБАНК» (АО)
INKNRUM2XXX044525308ООО «ИНБАНК
INUORUMMXXX044525158АО «НС БАНК
IPBARUMMXXX044525126АО КБ «ИНТЕРПРОМБАНК
IRBARU22XXX044525082КБ «РБА» (ООО)
IRSBRUMMXXX044525544АКБ «ИРС» (АО)
ISBKRUMMXXX044525624АО «ИШБАНК
ITBNRUSMXXX045279731АО «ИТ БАНК
ITEHRU2PXXX044030755ПАО БАНК «АЛЕКСАНДРОВСКИЙ
ITRORU8YXXX046401772БАНК «ИТУРУП» (ООО)
IVDCRUMMXXX044525951КБ «МОСКОММЕРЦБАНК» (АО)
JCAMRUMMXXX044525148БАНК СОЮЗ (АО)
JSBCRU4NXXX044525738АО АБ «КАПИТАЛ
JSBSRU2PXXX044030790ПАО «БАНК «САНКТ-ПЕТЕРБУРГ
JSCORU4PXXX045773790ПАО АКБ «УРАЛ ФД
JSNMRUMMEKB046577918ЕКАТЕРИНБУРГСКИЙ Ф-Л ПАО БАНКА «ФК ОТКРЫТИЕ
JSNMRUMMKRD040349732КРАСНОДАРСКИЙ ФИЛИАЛ ПАО БАНКА «ФК ОТКРЫТИЕ
JSNMRUMMNNV042282881Ф-Л ПРИВОЛЖСКИЙ ПАО БАНК «ФК ОТКРЫТИЕ
JSNMRUMMRND046015065РОСТОВСКИЙ ФИЛИАЛ ПАО БАНКА «ФК ОТКРЫТИЕ
JSNMRUMMSPB044030720ФИЛИАЛ С-ПЕТЕРБУРГ ПАО БАНКА «ФК ОТКРЫТИЕ
JSNMRUMMXXX044525985ПАО БАНК «ФК ОТКРЫТИЕ
JSRRRUMMXXX044525294АО АКБ «РУССОБАНК
JXIBRU2PXXX044030889ЭКСИ-БАНК (АО)
KABORU2KXXX049205844ООО КБЭР «БАНК КАЗАНИ
KAMCRUPPXXX043002711ПАО «КАМЧАТКОМАГРОПРОМБАНК
KHMURU55XXX049514745ООО «ХАКАССКИЙ МУНИЦИПАЛЬНЫЙ БАНК
KHZARU99XXX046401888АО «БАНК ХОЛМСК
KLUCRU4EXXX046577768ООО КБ «КОЛЬЦО УРАЛА
KMBBRUMMXXX044525922АО «БАНК ИНТЕЗА
KOMXRUMMXXX044525079АО «БАНК ФИНСЕРВИС
KOSHRU3SXXX043601742АО «КОШЕЛЕВ-БАНК
KRASRU3AXXX041203711АО БАНК «ККБ
KREMRUMMXXX044525196«БАНК КРЕМЛЕВСКИЙ» ООО
KRRIRU22XXX040349516ПАО «КРАЙИНВЕСТБАНК
KUKRRU22XXX040349722КБ «КУБАНЬ КРЕДИТ» ООО
KURSRU22XXX043807708ПАО «КУРСКПРОМБАНК
LBAPRU2PXXX044030760БАНК МБСП (АО)
LEVBRU55XXX045004850БАНК «ЛЕВОБЕРЕЖНЫЙ» (ПАО)
LIPERU2LXXX044206704ПАО «ЛИПЕЦККОМБАНК
MBOGRUMMXXX044525873МБО «ОРГБАНК» (ООО)
MBRDRUMMKHA040813838ДАЛЬНЕВОСТОЧНЫЙ ФИЛИАЛ ПАО «МТС-БАНК
MBRDRUMMXXX044525232ПАО «МТС-БАНК
MHCCRUMMXXX044525107АО «МИДЗУХО БАНК (МОСКВА)
MINNRUMMXXX044525600ПАО «МИНБАНК
MJSBRUMMXXX044525095МОРСКОЙ БАНК (АО)
MNHBRUMMXXX044525629БАНК «МНХБ» ПАО
MOBKRUMMXXX044525521ПАО МОСОБЛБАНК
MOCCRUMMXXX044525133АО НКО «МОСКЛИРИНГЦЕНТР
MPRIRUMMXXX044525384АО «БИНБАНК ДИДЖИТАЛ
MPSORUMMXXX044525283АО «БАНК РЕАЛИСТ
MRBBRUMMXXX044525184АО «МБ БАНК
MSBKRUMMXXX044525277ООО «МОРГАН СТЭНЛИ БАНК
NADORUMMXXX044525182АО «НДБАНК
NARNRUMMXXX044525933АКБ «НРБАНК» (АО)
NATXRUMMXXX044525512«НАТИКСИС БАНК АО
NBDBRU2NXXX042202705ПАО «НБД-БАНК
NBTRRUMMXXX044525635БАНК «ТРАСТ» (ПАО)
NCOURUMMXXX044525103НКО «ОРС» (АО)
NECHRU2KXXX049205201АО НКО «СЕТЕВАЯ РАСЧЕТНАЯ ПАЛАТА
NFCBRUMMXXX044525736БАНК НФК (АО)
NIIZRUMMXXX044525413«НАЦИНВЕСТПРОМБАНК» (АО)
NOKSRU2VXXX041806831АО НОКССБАНК
NOOBRU55XXX043209770ООО «НОВОКИБ
OBIBRUMMXXX044525265ЭС-БИ-АЙ БАНК ООО
ORBGRU3SXXX045354885АО «БАНК ОРЕНБУРГ
OTPVRUMMOMS045209777ФИЛИАЛ «ОМСКИЙ» АО «ОТП БАНК
OTPVRUMMXXX044525311АО «ОТП БАНК
PCBCRUMMXXX044525777ООО «ЧАЙНА КОНСТРАКШН БАНК
PERSRUMMXXX044525275АКБ «ПЕРЕСВЕТ» (АО)
PLATRUMMXXX044525931ООО КБ «ПЛАТИНА
PRIORU2JXXX046126708ПРИО-ВНЕШТОРГБАНК (ПАО)
PRMIRUMMXXX044525173АКБ «ПРОМИНВЕСТБАНК» (ПАО)
PRMSRUMMNNV042202803ПРИВОЛЖСКИЙ Ф-Л ПАО «ПРОМСВЯЗЬБАНК
PRMSRUMMNSB045004816СИБИРСКИЙ Ф-Л ПАО «ПРОМСВЯЗЬБАНК
PRMSRUMMSPB044030920СТ-ПЕТЕРБУРГСКИЙ Ф-Л ПАО «ПРОМСВЯЗЬБАНК
PRMSRUMMVGG041806715ЮЖНЫЙ Ф-Л ПАО «ПРОМСВЯЗЬБАНК
PRMSRUMMXXX044525555ПАО «ПРОМСВЯЗЬБАНК
PRMSRUMMYAB047888760ЯРОСЛАВСКИЙ Ф-Л ПАО «ПРОМСВЯЗЬБАНК
PRMTRU8VXXX040507803ПАО СКБ ПРИМОРЬЯ «ПРИМСОЦБАНК
PROKRUMMXXX044525699ООО «ПРОКОММЕРЦБАНК
PRSBRU2PXXX044030904ООО БАНК ОРАНЖЕВЫЙ
PSHBRUMMXXX044525771ООО «ПРОМСЕЛЬХОЗБАНК
PSOCRU2PXXX044030852АО БАНК «ПСКБ
PTCBRU8VXXX040507717ООО «ПРИМТЕРКОМБАНК
PVRBRU4VXXX046577402АО «ПЕРВОУРАЛЬСКБАНК
PYHARUMMXXX044525261АО «РУНА-БАНК
RCACRUMMXXX044525860«РЕСПУБЛИКАНСКИЙ КРЕДИТНЫЙ АЛЬЯНС» ООО
REGKRU8KXXX040813997РЕГИОБАНК-ФИЛИАЛ ПАО БАНКА «ФК ОТКРЫТИЕ
RFCBRUMMXXX044525257АО «РФК-БАНК
RICIRUMMXXX044525747МКИБ «РОССИТА-БАНК» ООО
RISBRUMMXXX044525349АО КБ «ИС БАНК
RJSCRUMMXXX044525723ПАО РАКБ «МОСКВА
RNBKRUMMXXX044525147АО «РН БАНК
ROSKRUMMXXX044525266АКБ «РОССИЙСКИЙ КАПИТАЛ» (АО)
ROSORUMMXXX044525666ПАО «РОСДОРБАНК
ROSYRU2PXXX044030861АО «АБ «РОССИЯ
RRDBRUMMXXX044525880БАНК «ВБРР» (АО)
RSBNRUMMSZF044030778СЕВЕРО-ЗАПАДНЫЙ ФИЛИАЛ ПАО РОСБАНК
RSBNRUMMXXX044525256ПАО РОСБАНК
RSBZRUMMXXX044525676ПАО АРКБ «РОСБИЗНЕСБАНК
RSJSRUMMXXX044525151АО «БАНК РУССКИЙ СТАНДАРТ
RUAGRUMMXXX044525111АО «РОССЕЛЬХОЗБАНК
RUDLRUMMXXX044525297ФИЛИАЛ ЦЕНТРАЛЬНЫЙ ПАО БАНКА «ФК ОТКРЫТИЕ
RUDVRUMMXXX044525108АО «МСП БАНК
RUECRUMMXXX044525709БАНК «АГОРА» ООО
RUFORUMMXXX044525561НКО «РУССКОЕ ФИНАНСОВОЕ ОБЩЕСТВО» (ООО)
RUIDRUMMXXX044525174ПАО «РГС БАНК
RUMORUMMXXX044525526КБ «РУССКИЙ ИПОТЕЧНЫЙ БАНК» (ООО)
RUNBRUMMXXX044525466АО КБ «РУСНАРБАНК
RUNIRUMMXXX044525674«РУСЬУНИВЕРСАЛБАНК» (ООО)
RZBMRUMMXXX044525700АО «РАЙФФАЙЗЕНБАНК
SABRRU2P920042748634КАЛИНИНГРАДСКОЕ ОТДЕЛЕНИЕ N8626 ПАО СБЕРБАНК
SABRRU2PXXX044030653СЕВЕРО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
SABRRU66CHT047601637ЧИТИНСКОЕ ОТДЕЛЕНИЕ N8600 ПАО СБЕРБАНК
SABRRU66XXX042520607БАЙКАЛЬСКИЙ БАНК ПАО СБЕРБАНК
SABRRU8KVLD040813608ДАЛЬНЕВОСТОЧНЫЙ БАНК ПАО СБЕРБАНК
SABRRUMMEA1046577674УРАЛЬСКИЙ БАНК ПАО СБЕРБАНК
SABRRUMMKR1040407627КРАСНОЯРСКОЕ ОТДЕЛЕНИЕ N 8646 ПАО СБЕРБАНК
SABRRUMMMA1044442607СЕВЕРО-ВОСТОЧНОЕ ОТДЕЛЕНИЕ N8645 ПАО СБЕРБАНК
SABRRUMMNA1042202603ВОЛГО-ВЯТСКИЙ БАНК ПАО СБЕРБАНК
SABRRUMMNh2045004641СИБИРСКИЙ БАНК ПАО СБЕРБАНК
SABRRUMMRA1046015602ЮГО-ЗАПАДНЫЙ БАНК ПАО СБЕРБАНК
SABRRUMMSE1043601607ПОВОЛЖСКИЙ БАНК ПАО СБЕРБАНК
SABRRUMMSP1040702615СТАВРОПОЛЬСКОЕ ОТДЕЛЕНИЕ N5230 ПАО СБЕРБАНК
SABRRUMMTN1047102651ЗАПАДНО-СИБИРСКИЙ БАНК ПАО СБЕРБАНК
SABRRUMMVh2042007681ЦЕНТРАЛЬНО-ЧЕРНОЗЕМНЫЙ БАНК ПАО СБЕРБАНК
SABRRUMMXXX044525225ПАО СБЕРБАНК
SAOARU2PXXX044030757ПАО БАНК «СИАБ
SBBARUMMXXX044525487АО «СОБИНБАНК
SBLLRUMMXXX044525320АО «ТРОЙКА-Д БАНК
SCBMRUMMXXX044525176ПАО АКБ «МЕТАЛЛИНВЕСТБАНК
SEBPRU2PXXX044030747АО «СЭБ БАНК
SGAZRU22XXX041909786ПАО «БАНК СГБ
SGUBRU5S052044525395МФ АО БАНК «СНГБ
SGUBRU5S053047102870ТФ АО БАНК «СНГБ
SGUBRU5SXXX047144709АО БАНК «СНГБ
SIKPRUSMXXX045279785АО «ЭКСПЕРТ БАНК
SISERUMMXXX044525494КБ «СИСТЕМА» ООО
SISNRU55XXX040173745«СИБСОЦБАНК» ООО
SJSCRUMMNNG042202745ФИЛИАЛ «СДМ-БАНК» (ПАО) В Г. НИЖНИЙ НОВГОРОД
SJSCRUMMPRM045773843ФИЛИАЛ «СДМ-БАНК» (ПАО) В Г.ПЕРМИ
SJSCRUMMRND046015088ФИЛИАЛ «СДМ-БАНК» (ПАО) В Г. РОСТОВ-НА-ДОНУ
SJSCRUMMTVR042809921ФИЛИАЛ «СДМ-БАНК» (ПАО) В Г. ТВЕРИ
SJSCRUMMVRN042007778ФИЛИАЛ «СДМ-БАНК» (ПАО) В Г.ВОРОНЕЖЕ
SJSMRUMMXXX044525318АКБ «СЛАВИЯ» (АО)
SKBERU4EXXX046577756ПАО «СКБ-БАНК
SLACRUMMXXX044525805ООО КБ «СЛАВЯНСКИЙ КРЕДИТ
SLDBRUMMXXX044525795МОСКОВСКИЙ ФИЛИАЛ АО «СОЛИД БАНК
SMBCRUMMXXX044525470АО «СМБСР БАНК
SMBKRUMMXXX044525503АО «СМП БАНК
SNEZRU4CXXX047501799БАНК «СНЕЖИНСКИЙ» АО
SOMRRUMMXXX044525967МОСКОВСКИЙ ФИЛИАЛ ПАО «СОВКОМБАНК
SOYZRUMMXXX044525553ООО КБ «СОЮЗНЫЙ
SOZARU2PXXX044030772АО БАНК «СОВЕТСКИЙ
STAJRU22XXX040702760ПАО СТАВРОПОЛЬПРОМСТРОЙБАНК
SVIZRUMMSPB044030759САНКТ-ПЕТЕРБУРГСКИЙ Ф-Л ПАО АКБ «СВЯЗЬ-БАНК
SVIZRUMMXXX044525848ПАО АКБ «СВЯЗЬ-БАНК
SZIPRU2PXXX044030724АО «СЕВЗАПИНВЕСТПРОМБАНК
TAAARU8YXXX049805709БАНК «ТААТТА» АО
TAVRRU2PXXX044030877БАНК «ТАВРИЧЕСКИЙ» (ПАО)
TCZBRUMMXXX044525116«ЗЕРБАНК (МОСКВА)»(АО)
TEMBRUMMBLG041012733ФИЛИАЛ «АМУРСКИЙ» АО «ТЭМБР-БАНК
TEMBRUMMXXX044525166АО «ТЭМБР-БАНК
TFBCRUMMXXX044525279АО КБ «БТФ
TICSRUMMXXX044525974АО «ТИНЬКОФФ БАНК
TIMERU2KXXX049205798«ТИМЕР БАНК» (ПАО)
TJSBRUMMXXX044525911АО «ГУТА-БАНК
TJSCRUMMNIZ042202872НИЖЕГОРОДСКИЙ ФИЛИАЛ ТКБ БАНК ПАО
TJSCRUMMXXX044525388ТКБ БАНК ПАО
TMKPRU5TXXX046902728ПАО «ТОМСКПРОМСТРОЙБАНК
TOGLRU3TXXX043678838АО «ТОЛЬЯТТИХИМБАНК
TOYBRUMMXXX044525630АО «ТОЙОТА БАНК
TRCBRU2KXXX049205770АКБ «ЭНЕРГОБАНК» (ПАО)
TRRYRUMMXXX044525588ДЖЕЙ ЭНД ТИ БАНК (АО)
TRSNRUMMXXX044525326АКБ «ТРАНССТРОЙБАНК» (АО)
TSDBRU22XXX049205703АО «ТАТСОЦБАНК
UBRDRU4EXXX046577795ПАО КБ «УБРИР
UBSWRUMMXXX044525733ООО «Ю БИ ЭС БАНК
UGZARU55XXX047501787АО «УГЛЕМЕТБАНК
UITBRUMMXXX044525464АО «БАНК ЖИЛФИНАНС
UNEBRU2PXXX044030705ПАО «БАЛТИНВЕСТБАНК
UNEPRU8VXXX040507795ПАО АКБ «ПРИМОРЬЕ
UTRBRU4EXXX046577406ПАО «УРАЛТРАНСБАНК
VBNKRUMMXXX044525181БАНК «ВОЗРОЖДЕНИЕ» (ПАО)
VCJVRU3AXXX041203729АО ВКАБАНК
VITARU2PXXX044030758ПАО «ВИТАБАНК
VIZIRUMMXXX044525984АО БАНК «РАЗВИТИЕ-СТОЛИЦА
VORCRU2NXXX042202722АО «ВОКБАНК
VOWARUMMXXX044525619ООО «ФОЛЬКСВАГЕН БАНК РУС
VSTARUMMXXX044525801ИНВЕСТИЦИОННЫЙ БАНК «ВЕСТА» (ООО)
VTBRRUM2EK3046577501ФИЛИАЛ № 6602 БАНКА ВТБ (ПАО)
VTBRRUM2EKA046577952ФИЛИАЛ БАНКА ВТБ (ПАО) В Г. ЕКАТЕРИНБУРГЕ
VTBRRUM2KD3040349758ФИЛИАЛ № 2351 БАНКА ВТБ (ПАО)
VTBRRUM2Kh3046401818ФИЛИАЛ «ДАЛЬНЕВОСТОЧНЫЙ» БАНКА ВТБ (ПАО)
VTBRRUM2Kh4040813713ФИЛИАЛ № 2754 БАНКА ВТБ (ПАО)
VTBRRUM2KHA040813727ФИЛИАЛ БАНКА ВТБ (ПАО) В Г. ХАБАРОВСКЕ
VTBRRUM2KRA040407777ФИЛИАЛ БАНКА ВТБ (ПАО) В Г.КРАСНОЯРСКЕ
VTBRRUM2MS2044525411ФИЛИАЛ «ЦЕНТРАЛЬНЫЙ» БАНКА ВТБ (ПАО)
VTBRRUM2MS3044525745ФИЛИАЛ № 7701 БАНКА ВТБ (ПАО)
VTBRRUM2NI2042282728ФИЛИАЛ «ПРИВОЛЖСКИЙ» БАНКА ВТБ (ПАО)
VTBRRUM2NIN042202837ФИЛИАЛ БАНКА ВТБ (ПАО) В Г.НИЖНЕМ НОВГОРОДЕ
VTBRRUM2NWR044030704Ф. ОПЕРУ БАНКА ВТБ (ПАО) В САНКТ-ПЕТЕРБУРГЕ
VTBRRUM2RND046015999ФИЛИАЛ БАНКА ВТБ (ПАО) В Г. РОСТОВЕ-НА-ДОНУ
VTBRRUM2SA3043601968ФИЛИАЛ № 6318 БАНКА ВТБ (ПАО)
VTBRRUM2SP3044030707ФИЛИАЛ № 7806 БАНКА ВТБ (ПАО)
VTBRRUM2STA040702788ФИЛИАЛ БАНКА ВТБ (ПАО) В Г. СТАВРОПОЛЕ
VTBRRUM2VR3042007855ФИЛИАЛ № 3652 БАНКА ВТБ (ПАО)
VTBRRUM2VRN042007835ФИЛИАЛ БАНКА ВТБ (ПАО) В Г. ВОРОНЕЖЕ
VTBRRUMMXXX044525187БАНК ВТБ (ПАО)
WBCCRUMMXXX044525210БАНКХАУС ЭРБЕ (АО)
WELARUMMXXX044525247БАНК «СКС» (ООО)
WUMTRUMMXXX044525299ООО «НКО «ВЕСТЕРН ЮНИОН ДП ВОСТОК
YKBMRUMMXXX044525448«БАНК НА ГОНЧАРНОЙ» (АО)
ZAJCRU2KXXX049205772«БАНК ЗАРЕЧЬЕ» (АО)
ZEMCRU22XXX046015078ООО «ЗЕМКОМБАНК
ZENIRUMMXXX044525272ПАО БАНК ЗЕНИТ
ZLATRUMMXXX044525122АО КБ «ЗЛАТКОМБАНК
ZWCBRU4YXXX047102613ПАО «ЗАПСИБКОМБАНК

c ++ — Процедура структурирования и объектно-ориентированный код

Во времена C мы использовали метод сортировки ООП, объявляя структуру , а затем объявляя функции, которые принимают такую ​​структуру как свой первый параметр. Тогда иногда возникает потребность в полиморфизме, поэтому наша структура struct содержит не только поля данных, но и указатели на функции. На самом деле, совершенно бессмысленно делать вручную то, что С ++ сделал бы для нас, с гораздо меньшим количеством строк кода, более безопасно, элегантно и таким образом, который понимает каждый, кто знает C ++, вместо того, чтобы каждый магазин делал свое собственное.

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

До C ++ мы использовали для написания модулей, которые предоставляли функции, и довольно часто эти модули были менеджерами, которые содержали некоторое множество объектов, поэтому они предоставляли какой-то «дескриптор», чтобы вы могли указать, какой объект вы имеете в виду, например дело в старых "дескрипторах файлов" операционной системы, о которых вы, возможно, слышали.Это уже было ООП, хотя еще не называлось этим именем. Вначале дескриптором обычно был int , и он использовался модулем как индекс в некотором внутреннем массиве struct s, но в какой-то момент кто-то подумал, что, поскольку пользовательский код не должен пытаться интерпретировать дескриптор любым способом, дескриптор может также легко быть фактическим указателем на внутреннюю структуру ; никто не заметит, и никто не должен возражать.

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

По функциональным, процедурным и OO - Watercooler

Ричард Хеллер:

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

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

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

Где Объект - это контейнер, который объединяет переменные и процедуры над содержащимися переменными.

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

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

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

Возникает вопрос, как смоделировать это с помощью компьютера? Куда бы я поместил информацию об Автомобиле?

Я могу сделать это процедурно:

  (при заполнении бака 80 процентов)
(деф дверь, счетчик 2)
(по умолчанию состояние левого окна: открыто)
(def right-window-state: закрыто)

(defn close-left-window []
  (def left-window-state: закрыто))
  

или OO (здесь нельзя использовать Clojure)

  Автомобиль общественного класса {
  частное целое процентное заполнение резервуара = 80;
  частный int door-count = 2;
  частный WindowState left-window-state = WindowState. открыто;
  частный WindowState right-window-state = WindowState.closed;

  public close-left-window () {
    this.left-window-state = WindowsState.closed;
  }
}
  

или FP:

  (def автомобиль
  {: заполнение бака на% 80
   : количество дверей 2)
   : состояние левого окна: открыто
   : состояние правого окна: закрыто})

(defn close-left-window [автомобиль]
  (ассоциированная машина: состояние левого окна: закрыто))
  

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

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

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

Например, типичное раздражение заключается в том, что я не могу добавить метод к существующему объекту. Однако некоторые ОО-языки позволяют это делать. Но вот что из моего опыта заключается в том, что вы всегда сталкиваетесь с ситуацией, когда вы не можете выполнить X, потому что предоставленная конструкция Object не имеет возможности сделать это. И теперь вам нужно дождаться следующей версии языка, чтобы добавить новую функцию, которая позволит вам это сделать.

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

Код наследования

Oo - Learn.co

Objectives

  1. Узнайте о наследовании в объектно-ориентированном Ruby.
  2. Написать классы, наследуемые от другого класса.

Введение: Почему наследование?

В реальном мире разные сущности (люди, животные, машины, вы называете это) связаны по-разному. Внутри отдельного предприятия или группы существуют системы классификации.Например, сущность или категория «собаки» включает мопсов, корги, лабрадоров и т. Д. Все эти породы имеют общие черты, потому что все они собаки. Но все они также обладают определенными уникальными чертами.

Другой пример: вы пишете веб-приложение, в котором пользователи являются администраторами, преподавателями или студентами. Все эти сущности являются «пользователями» и имеют общие черты, но все они также обладают некоторыми уникальными чертами.

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

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

Хотя вы не можете писать свои собственные классы, использующие наследование очень часто, вы будете часто сталкиваться с этим как веб-разработчик Ruby on Rails. Как только мы познакомимся с использованием баз данных и проблемой подключения наших программ к нашей базе данных, вы столкнетесь с наследованием почти в каждой программе, которую вы пишете для Интернета. Подробнее об этом (намного) позже.

Что такое наследование?

В Ruby классы могут наследовать друг от друга.Это означает, что они принимают все атрибуты и поведение (то есть все методы) родительского класса, также называемого классом super . В этом упражнении мы построим нашу собственную цепочку наследования.

Код

: базовое наследование

В этой модели предметной области у нас есть класс Автомобиль , который будет действовать как родительский или суперкласс. Мы создадим дочерние классы, также известные как подклассы для различных типов автомобилей , таких как автомобиль.

Шаг 1. Определение суперкласса

Откройте lib / vehicle.rb . Мы собираемся определить некоторые методы в этом родительском классе, чтобы наши подклассы, когда мы их создаем, имели к ним доступ.

Автомобиль класса
 

  attr_accessor: wheel_size,: wheel_number

  def инициализация (размер_колеса, номер_колеса)
    @wheel_size = размер_колеса
    @wheel_number = номер_колеса
  конец

  def go
    "vrrrrrrrooom!"
  конец

  def fill_up_tank
    "заправка!"
  конец

конец
  

Экземпляры Автомобиль инициализируется размером и номером колеса. У нас также есть методы экземпляра #go и #fill_up_tank , которые описывают общее поведение автомобиля.

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

Шаг 2: Определение подкласса

Откройте lib / car.rb . Обратите внимание, что нам требуется lib / vehicle. руб. Это связано с тем, что нашему классу Car потребуется доступ к классу Vehicle и, следовательно, потребуется доступ к файлу, содержащему этот класс.

Идите вперед и определите класс следующим образом:

  класс Автомобиль <Автомобиль

конец
  

Мы используем <, чтобы унаследовать класс Car от Vehicle . Обратите внимание, что в классе Car нет методов, определенных.

Запустите тестовый набор еще раз, и вы увидите, что вы прошли ряд тестов для класса Car .

Вау! Мы не записали ничего в нашем классе Car , но экземпляры Car класса наследуют все методы Vehicle и, следовательно, имеют к ним доступ. Однако мы все еще не прошли тест #go . Похоже, тест ожидает, что метод #go на отдельной машине вернет фразу: "VRRROOOOOOOOOOOOOOOOOOOM !!!!!" . Это отличается от возвращаемого значения метода #go , который мы унаследовали от класса Vehicle .

Давайте заменим унаследованный метод go одним, специфичным для Car .

Шаг 3: перезапись унаследованных методов

В lib / car.rb напишите следующий метод:

  класс Автомобиль <Автомобиль
  def go
    "Врррроооооооооооооооооооооом !!!!!"
  конец
конец
  

Теперь запустите тесты еще раз, и вы должны пройти их все.

Поиск метода в Ruby

Как работает наш пример выше? Что ж, когда ваша программа выполняется, в точке, в которой вызывается метод #go , компилятор сначала просматривает класс, которому принадлежит экземпляр автомобиля, для которого мы вызываем метод.Если он найдет там метод #go , он выполнит этот метод . Если он не найдет там такого метода, он перейдет к поиску родительского класса, от которого наследуется этот класс.

Просмотрите Введение в наследование на Learn.co и начните бесплатное обучение программированию.

oo - avdi.codes

oo - avdi.codes КатегорииВыберите категорию # NOCODEОбъявленияСтатьиСотрудничестваЖурнал для разработчиковЖурнал событийФрагментыHow-toHumorMOOM Обновления курсовРесурсыRubyTapas FreebiesСериализацииSIGAVDISkillsTechnologiesThe Cache FlushБез категорийВидео Архивы Выберите месяц Январь 2021 Декабрь 2020 Ноябрь 2020 Октябрь 2020 Сентябрь 2020 Август 2020 Июнь 2020 Май 2020 Апрель 2020 Март 2020 Февраль 2020 Ноябрь 2019 Октябрь 2019 Сентябрь 2019 Июль 2019 Июнь 2019 Май 2019 Апрель 2019 Март 2019 Февраль 2019 Январь 2019 Январь 2019 Декабрь 2018 Ноябрь 2018 Сентябрь 2018 Июль 2018 июнь 2018 май 2018 март 2018 январь 2018 ноябрь 2017 октябрь 2017 август 2017 июль 2017 май 2017 апрель 2017 март 2017 февраль 2017 январь 2017 декабрь 2016 октябрь 2016 июль 2016 июнь 2016 май 2016 апрель 2016 март 2016 февраль 2016 январь 2016 декабрь 2015 ноябрь 2015 Октябрь 2015 Сентябрь 2015 Август 2015 Июль 2015 Июнь 2015 Май 2015 Март 2015 Январь 2015 Ноябрь 2014 Октябрь 2014 Сентябрь 2014 Август 2014 Июль 2014 Июнь 2014 Май 2014 Апрель 2014 Февраль 2014 Январь 2014 Декабрь 2013 Ноябрь 2013 Октябрь 2013 Сентябрь 2013 Сентябрь 2013 Август 2013 Июль 2013 Июнь 2013 Июнь 2013 Май 2013 апрель 201 3 марта 2013 г., февраль, 2013 г., январь 2013 г., декабрь 2012 г., ноябрь 2012 г., октябрь 2012 г., сентябрь 2012 г., август 2012 г., июль 2012 г., июнь 2012 г., май 2012 г., апрель 2012 г. , март 2012 г., февраль, 2012 г., январь, 2012 г., декабрь 2011 г., ноябрь 2011 г., октябрь 2011 г., сентябрь 2011 г., август 2011 г., июль 2011 г., июнь 2011 г., май 2011 г., апрель 2011 г., март 2011 Февраль 2011 Январь 2011 Декабрь 2010 Ноябрь 2010 Сентябрь 2010 Август 2010 Июль 2010 Июнь 2010 Май 2010 Апрель 2010 Март 2010 Февраль 2010 Январь 2010 Декабрь 2009 Ноябрь 2009 Октябрь 2009 Август 2009 Июль 2009 Июнь 2009 Май 2009 Апрель 2009 Март 2009 Февраль 2009 Январь 2009 Декабрь 2008 г. ноябрь 2008 г. октябрь 2008 г. сентябрь 2008 г. август 2008 г. июль 2008 г. июнь 2008 г. май 2008 г. апрель 2008 г. март 2008 г. февраль 2008 г. январь 2008 г. декабрь 2007 г.

4 Преимущества объектно-ориентированного программирования

Как парашютные штаны и Pac-Man, ООП (объектно-ориентированное программирование) зародилось в 1980-х годах.Но в отличие от модной одежды и персонажей видеоигр, эта модель программирования по-прежнему пользуется успехом по прошествии многих лет.

ООП стало фундаментальной частью разработки программного обеспечения. Благодаря повсеместному распространению таких языков, как Java и C ++, вы не сможете разрабатывать программное обеспечение для мобильных устройств, если не понимаете объектно-ориентированный подход. То же самое и с серьезной веб-разработкой, учитывая популярность языков ООП, таких как Python, PHP и Ruby.

Некоторым ИТ-специалистам может быть сложно осмыслить идею объектно-ориентированного программирования.Вам может быть интересно, зачем вам вообще нужны объекты, если вы можете использовать нисходящий подход традиционного структурированного программирования в таких языках, как Visual Basic.

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

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

Преимущества объектно-ориентированного программирования заключаются в такой инкапсуляции. Вот подробный обзор некоторых основных преимуществ ООП:

1.Модульность для упрощения поиска и устранения неисправностей

Что-то пошло не так, и вы не знаете, где искать. Проблема в файле виджетов или в WhaleFlumper? Придется ли вам тащиться через этот файл «sewage.c»? Надеюсь, вы прокомментировали свой код!

При работе с объектно-ориентированными языками программирования вы точно знаете, где искать. «О, автомобильный объект сломался? Проблема должна быть в классе автомобилей! » Вам не нужно ничего гадать.

В этом вся прелесть инкапсуляции.Объекты являются самодостаточными, и каждый элемент функциональности выполняет свои функции, оставляя другие элементы в покое. Кроме того, этот метод позволяет ИТ-команде работать с несколькими объектами одновременно, сводя к минимуму вероятность того, что один человек может дублировать чьи-то функции.

Мы поможем вам найти вашу следующую работу программиста:

2. Повторное использование кода по наследству

Предположим, что в дополнение к вашему объекту Car одному коллеге нужен объект RaceCar, а другому - объект Limousine.Каждый строит свои объекты отдельно, но обнаруживает между ними что-то общее. Фактически, каждый объект - это просто особый вид Автомобиля. Вот где метод наследования экономит время: создайте один универсальный класс (Car), а затем определите подклассы (RaceCar и Limousine), которые должны наследовать черты универсального класса.

Конечно, у Limousine и RaceCar есть свои уникальные атрибуты и функции. Если объекту RaceCar нужен метод для «fireAfterBurners», а объекту Limousine требуется шофер, каждый класс может реализовать отдельные функции только для себя.Однако, поскольку оба класса наследуют ключевые аспекты от класса Car, например методы «drive» или «fillUpGas», ваши наследующие классы могут просто повторно использовать существующий код вместо того, чтобы заново писать эти функции.

Что, если вы хотите внести изменения во все объекты «Автомобиль», независимо от типа? Это еще одно преимущество объектно-ориентированного подхода. Просто внесите изменения в свой класс Car, и все объекты car просто унаследуют новый код.

3. Гибкость за счет полиморфизма

Рассматривая этот пример, теперь вам нужно всего несколько драйверов или функций, таких как «driveCar», «driveRaceCar» и «DriveLimousine».«Водители RaceCarDrivers имеют некоторые общие черты с водителями LimousineDrivers, но другие вещи, такие как RaceHelmets и BeverageSponsorships, уникальны.

Вот где в игру вступает сладкий полиморфизм объектно-ориентированного программирования. Поскольку одна функция может изменять форму для адаптации к любому классу, в котором она находится, вы можете создать одну функцию в родительском классе Car под названием «drive» - не «driveCar» или «driveRaceCar», а просто «drive». Эта функция будет работать с RaceCarDriver, LimousineDriver и т. Д.Фактически, у вас даже может быть «raceCar.drive (myRaceCarDriver)» или «limo.drive (myChauffeur)».

4. Эффективное решение проблем

Такой язык, как C, имеет удивительное наследие в истории программирования, но писать программы на языке сверху вниз - все равно что играть в Jenga в рукавицах. Чем сложнее он становится, тем больше шансов, что он рухнет. Между тем, написание программы в функциональном стиле на таком языке, как Haskell или ML, может оказаться рутинной задачей.

Объектно-ориентированное программирование часто оказывается наиболее естественным и прагматичным подходом, если вы освоите его. Языки ООП позволяют вам разбить ваше программное обеспечение на небольшие задачи, которые вы затем сможете решать - по одному объекту за раз.

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

Объектно-ориентированный JavaScript для начинающих - Изучите веб-разработку

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

Предварительные требования: Базовая компьютерная грамотность, базовое понимание HTML и CSS, знакомство с основами JavaScript (см. Первые шаги и Строительные блоки) и основами OOJS (см. Введение в объекты).
Цель: Понять основную теорию объектно-ориентированного программирования, как это связано с JavaScript («все является объектом») и как создавать конструкторы и экземпляры объектов.

Для начала давайте дадим вам упрощенное общее представление о том, что такое объектно-ориентированное программирование (ООП).Мы говорим упрощенно, потому что ООП может быстро стать очень сложным, и полное рассмотрение этого вопроса сейчас, вероятно, больше запутает, чем поможет. Основная идея ООП состоит в том, что мы используем объекты для моделирования вещей реального мира, которые мы хотим представить в наших программах, и / или предоставляем простой способ доступа к функциям, которые в противном случае было бы трудно или невозможно использовать.

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

Определение шаблона объекта

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

Для начала мы могли бы вернуться к нашему типу объекта Person из нашей первой статьи об объектах, которая определяет общие данные и функциональность человека. Есть много вещей, которые вы могли бы знать о человеке (адрес, рост, размер обуви, профиль ДНК, номер паспорта, важные черты личности ...), но в этом случае нас интересует только указание их имени, возраста , пол и интересы, и мы также хотим иметь возможность написать о них краткое введение на основе этих данных и заставить их поздороваться.Это известно как абстракция - создание простой модели более сложной вещи, которая представляет ее наиболее важные аспекты таким образом, чтобы с ней было легко работать для целей нашей программы.

Создание реальных объектов

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

Когда экземпляр объекта создается из класса, для его создания запускается функция конструктора класса . Этот процесс создания экземпляра объекта из класса называется экземпляром - экземпляр объекта - это экземпляр из класса.

Классы специалистов

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

Это действительно полезно - учителя и ученики имеют много общих черт, таких как имя, пол и возраст, поэтому удобно определять эти особенности только один раз. Вы также можете определить одну и ту же функцию отдельно в разных классах, так как каждое определение этой функции будет в другом пространстве имен. Например, приветствие ученика может иметь форму «Йо, я [имя]» (напр.g Йо, я Сэм ), тогда как учитель может использовать что-то более формальное, например: «Здравствуйте, меня зовут [Префикс] [фамилия], и я преподаю [Тема]». (например, Здравствуйте, меня зовут мистер Гриффитс, я преподаю химию ).

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

Теперь вы можете создавать экземпляры объектов из дочерних классов. Например:

В оставшейся части статьи мы начнем смотреть, как теорию ООП можно применить на практике в JavaScript.

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

Давайте рассмотрим создание классов с помощью конструкторов и создание из них экземпляров объектов в JavaScript.Прежде всего, мы хотели бы, чтобы вы сделали новую локальную копию файла oojs.html, который мы видели в нашей первой статье об объектах.

Простой пример

  1. Давайте начнем с рассмотрения того, как можно определить человека с нормальной функцией. Добавьте эту функцию в элемент скрипта :
      function createNewPerson (name) {
      const obj = {};
      obj.name = имя;
      obj.greeting = function () {
        alert ('Привет! Я' + имя объекта + '.');
      };
      return obj;
    }  
  2. Теперь вы можете создать нового человека, вызвав эту функцию - попробуйте следующие строки в консоли JavaScript вашего браузера:
      const salva = createNewPerson ('Salva');
    сальва.имя;
    salva.greeting ();  
    Это работает достаточно хорошо, но немного затянуто; если мы знаем, что хотим создать объект, зачем нам явно создавать новый пустой объект и возвращать его? К счастью, JavaScript предоставляет нам удобный ярлык в виде функций-конструкторов - давайте сделаем его сейчас!
  3. Замените предыдущую функцию следующей:
      function Person (имя) {
      this.name = name;
      this.greeting = function () {
        alert ('Привет! Я' + это.имя + '.');
      };
    }  

Функция-конструктор является версией класса в JavaScript. Обратите внимание, что он имеет все функции, которые вы ожидаете от функции, хотя он ничего не возвращает и не создает явно объект - он в основном просто определяет свойства и методы. Обратите внимание, что здесь также используется ключевое слово this - в основном это означает, что всякий раз, когда создается один из этих экземпляров объекта, свойство name объекта будет равно значению имени, переданному в вызов конструктора, и приветствию () также будет использовать значение имени, переданное в вызов конструктора.

Примечание : Имя функции конструктора обычно начинается с заглавной буквы - это соглашение используется для облегчения распознавания функций конструктора в коде.

Так как же вызвать конструктор для создания некоторых объектов?

  1. Добавьте следующие строки под предыдущим добавлением кода:
      let person1 = new Person («Боб»);
    let person2 = новый человек ('Сара');  
  2. Сохраните свой код, перезагрузите его в браузере и попробуйте ввести следующие строки в консоль JS:
      человек1.имя
    person1.greeting ()
    person2.name
    person2.greeting ()  

Круто! Теперь вы можете видеть, что у нас есть два новых объекта на странице, каждый из которых хранится в другом пространстве имен - когда вы получаете доступ к их свойствам и методам, вы должны начинать вызовы с person1 или person2 ; функциональность, содержащаяся внутри, аккуратно упакована, поэтому она не будет конфликтовать с другими функциями. Однако у них есть то же свойство name и метод welcome () .Обратите внимание, что они используют собственное имя значение, которое было присвоено им при создании; это одна из причин, по которой очень важно использовать и , чтобы каждый из них использовал свое собственное значение, а не какое-либо другое значение.

Давайте еще раз посмотрим на вызовы конструктора:

  let person1 = new Person («Боб»);
let person2 = новый человек ('Сара');  

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

  function Person (имя) {
  this.name = name;
  this.greeting = function () {
    alert ('Привет! Я' + this.name + '.');
  };
}  

После создания новых объектов переменные person1 и person2 содержат следующие объекты:

  {
  имя: 'Боб',
  приветствие: function () {
    alert ('Привет! Я' + this.name + '.');
  }
}

{
  имя: 'Сара',
  приветствие: function () {
    alert ('Привет! Я' + это.имя + '.');
  }
}  

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

Создание нашего готового конструктора

Пример, который мы рассмотрели выше, был всего лишь простым примером для начала. Давайте теперь приступим к созданию нашей последней функции-конструктора Person () .

  1. Удалите код, который вы вставили до сих пор, и добавьте этот конструктор замены - это в принципе то же самое, что и простой пример, только немного сложнее:
      функция Человек (имя, фамилия, возраст, пол, интересы) {
      это.name = {
         первое: первое,
         последний: последний
      };
      this.age = возраст;
      this.gender = пол;
      this.interests = интересы;
      this.bio = function () {
        alert (this.name.first + '' + this.name.last + '' + this.age + 'лет. Ему нравится' + this.interests [0] + 'и' + this.interests [1] + '.');
      };
      this.greeting = function () {
        alert ('Привет! Я' + this.name.first + '.');
      };
    }  
  2. Теперь добавьте следующую строку под ним, чтобы создать из него экземпляр объекта:
      let person1 = new Person («Боб», «Смит», 32, «мужчина», [«музыка», «катается на лыжах»]);  

Теперь вы можете видеть, что у вас есть доступ к свойствам и методам так же, как мы делали это раньше - попробуйте их в своей консоли JS:

  человек1 ["возраст"]
person1.интересы [1]
person1.bio ()
  

Дополнительные упражнения

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

Кроме того, есть несколько проблем с нашим методом bio () - вывод всегда включает местоимение «Он», даже если ваш человек женский, или какой-либо другой предпочтительный гендерный класс. И биография включает только два интереса, даже если в массиве интересов указано больше.Можете придумать, как исправить это в определении класса (конструкторе)? Вы можете поместить в конструктор любой код, который вам нравится (возможно, вам понадобятся несколько условных выражений и цикл). Подумайте о том, как предложения должны быть по-разному структурированы в зависимости от пола и в зависимости от того, составляет ли число перечисленных интересов 1, 2 или более 2.

До сих пор мы видели два разных способа создания экземпляра объекта - объявление литерала объекта и использование функции-конструктора (см. Выше).

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

Конструктор Object ()

Прежде всего, вы можете использовать конструктор Object () для создания нового объекта. Да, даже у универсальных объектов есть конструктор, который генерирует пустой объект.

  1. Попробуйте ввести это в консоль JavaScript вашего браузера:
      let person1 = new Object ();  
  2. Сохраняет пустой объект в переменной person1 . Затем вы можете добавить свойства и методы к этому объекту, используя точечную или квадратную нотацию по желанию; попробуйте эти примеры на своей консоли:
      человек1.name = 'Крис';
    person1 ['age'] = 38;
    person1.greeting = function () {
      alert ('Привет! Я' + this.name + '.');
    };  
  3. Вы также можете передать литерал объекта в конструктор Object () в качестве параметра, чтобы предварительно заполнить его свойствами / методами. Попробуйте это в своей консоли JS:
      let person1 = new Object ({
      имя: 'Крис',
      возраст: 38,
      приветствие: function () {
        alert ('Привет! Я' + this.name + '.');
      }
    });  

Использование метода create ()

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

Однако некоторые люди предпочитают создавать экземпляры объектов без предварительного создания конструкторов, особенно если они создают только несколько экземпляров объекта. В JavaScript есть встроенный метод create () , который позволяет вам это делать. С его помощью вы можете создать новый объект, используя существующий объект в качестве прототипа вновь созданного объекта.

  1. Загрузив в браузере завершенное упражнение из предыдущих разделов, попробуйте выполнить это в консоли JavaScript:
      let person2 = Объект.создать (person1);  
  2. Теперь попробуйте следующее:
      person2.name;
    person2.greeting ();  

Вы увидите, что person2 был создан на основе person1 в качестве его прототипа - он имеет те же свойства и доступные ему методы.

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

Мы рассмотрим эффекты create () более подробно позже.

Вы дошли до конца этой статьи, но можете ли вы вспомнить самую важную информацию? Вы можете найти несколько дополнительных тестов, чтобы убедиться, что вы сохранили эту информацию, прежде чем двигаться дальше - см. Проверка своих навыков: объектно-ориентированный JavaScript.

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

В этой статье представлен упрощенный взгляд на объектно-ориентированную теорию - это еще не все, но она дает вам представление о том, с чем мы здесь имеем дело.2 = -1

Одно наблюдение, которое я слышал, когда люди начинают работать с ОО (особенно когда показывают что-то глупое, например ООО), заключается в том, что абстракция и косвенность затрудняют получение четкой картины всех путей выполнения через код. . Один мой коллега (не разработчик, но человек с большим опытом программирования) однажды сказал мне, что OO затрудняет возможность держать в голове всю программу сразу. И это определенно верно до некоторой степени, потому что объектно ориентированный объект не предназначен для этого.В этом посте я хотел дать краткий обзор того, что я думаю об объектно-ориентированном проектировании и абстракциях.

Понимание процедурного кода

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

По сравнению с этим может показаться, что вы тонете в море косвенности. Вы больше не просто выполняете пошаговые инструкции по вызываемым функциям, но вам также необходимо понимать состояние объектов, в которых находятся эти функции, какие типы используются из-за полиморфизма или даже какой метод будет вызван после отправки виртуального метода. учетная запись.Например, вы можете попытаться отследить выполнение вызова IFoo.DoSomething () только для того, чтобы обнаружить, что вы не знаете, какая реализация IFoo используется. Возможно, это CompositeFoo , который объединяет WidgetFoo и GadgetFoo , а GadgetFoo может иметь экземпляр IAmAtABar , который полностью изменит то, что делает метод DoSomething () . Конечно, этот объектно-ориентированный объект - ужасный зверь, которого следует избегать любой ценой! (Функциональные программисты согласно кивают;))

Скрытие деталей - это точка абстракции

Это не проблема OO.В этом и состоит суть ОО. ОО позволяет нам абстрагироваться от деталей, поэтому мы имеем дело только со связным, понятным объемом информации, относящимся к тому уровню абстракции, над которым мы работаем. Это нормально не понимать всего сразу. Я почти уверен, что тебе это не предназначено.

Вместо того, чтобы прослеживать процедурную программу сверху вниз, для объектно-ориентированных программ мы движемся боком вдоль плоскости абстракции, чтобы найти сотрудников на этом уровне. Наша команда ProcessOrderCommand вызывает BillCustomerCommand и ShipInventoryCommand .Я не знаю, что BillCustomerCommand проверяет, участвует ли клиент в нашей программе лояльности, и на этот заказ распространяется скидка 10%. Это другой уровень детализации, который живет на другом уровне абстракции. Все эти мелкие детали милосердно скрыты, поэтому мы можем понять, что обработка заказа означает выставление счета клиенту и отправку ему некоторого инвентаря.

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

Как может быть хорошо, если скрыть детали?

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

OO обменивает часть этой прослеживаемости на возможность использовать абстракции в форме объектов в нашем коде. Скрывая детали на одном уровне, мы можем лучше увидеть основные особенности другого; мы можем видеть лес за деревьями. Абстракции также позволяют нам выражать «что» и «почему» кода. Поскольку мы программируем на абстракции, мы потенциально можем изменить детали, которые эти абстракции инкапсулируют, не затрагивая остальную систему.Фактически, мы можем изменить поведение нашей системы, просто добавляя объекты, а не изменяя существующий код (см. Принцип открытости и закрытости SOLID). Эта инкапсуляция деталей также позволяет нам изолировать небольшие блоки для целей тестирования.

Абстракция может быть болезненной

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

Хотя мы можем решить эти проблемы, стоит признать, что мы столкнемся с некоторыми проблемами при использовании объектно-ориентированного программирования.OO дает нам многое, но бесплатного обеда не бывает. Это, кстати, отличный повод взглянуть на другие парадигмы программирования, а также на разные фреймворки и языки, которые решают эти проблемы по-разному и в разной степени. Сочетание техник (например, функциональных и объектно-ориентированных) может помочь вам получить лучшее из всех миров.

Максимальное использование абстракций

Существует множество руководств по проектированию, которые могут помочь нам с объектно-ориентированными абстракциями.SOLID, 4 правила простого дизайна, TDD и связанные с ним дисциплины, GRASP и т. Д. Я действительно рекомендую изучить все это, но в этом посте я хочу взглянуть на это с более общей точки зрения того, что мы хотим получить от абстракции (читай: разглагольствования).

Примечание: Чтобы уточнить, когда я говорю об абстракциях, я имею в виду объект или группу объектов, которые инкапсулируют некоторую часть вашей системы. Мы действительно говорим о объектно-ориентированном дизайне, но в общих чертах абстракции.

  • Не смешивайте уровни абстракции. Каждая часть абстракции должна быть на одинаковом уровне детализации.
  • Абстракции - это много работы. Не берите его, если не хотите за ним ухаживать. Вам нужно будет взрастить его и помочь ему стать полезным членом вашего дизайнерского сообщества. Следствие: не используйте слишком много абстракций. Они должны быть небольшими и связными. Цель состоит в том, чтобы делать больше с меньшим количеством кода.
  • Определите абстракции вокруг вещей, которые необходимо изменить вместе.Если вам нужно добавить много представлений в ваше приложение, написание нового представления не должно требовать изменения битов 7 различных абстракций. Точно так же, если вы собираетесь использовать только SQL Server, вам не нужно абстрагироваться от этого факта, чтобы вы могли подключить новый движок БД (хотя ваши данные доступа к данным, вероятно, будут жить на аналогичном уровне абстракции, поэтому он тоже не будет невозможно изменить). Оптимизируйте вещи, которые постоянно меняются. Один большой класс, который никогда не нужно менять, предпочтительнее 30 крошечных классов, которые все должны постоянно меняться.
  • Предпочитайте широкие абстракции глубоким. Другими словами, предпочтение отдается объединению / компоновке нескольких соавторов вместо того, чтобы иметь много слоев объектов ( A использует B использует C использует… Z ). Необходимость пройти через множество уровней абстракции вниз по глубокой иерархии, чтобы передать один новый фрагмент данных, сокрушает душу.
  • Храните данные поблизости от того места, где они используются. Необходимость передавать одни и те же данные через множество абстракций также душераздирающе.
  • Не скрывайте важного. Вы хотите абстрагироваться от ненужных деталей, а не от ключевой особенности того, над чем вы работаете.
  • Соблюдайте Закон Деметры. Она попытается сказать вам, когда ваши абстракции просачиваются. Затем вы можете исправить эти утечки, применив принцип «Говори, не спрашивай».
  • Тесты могут быть еще одним хорошим руководством, которое укажет вам, когда ваши абстракции работают неправильно. Если вам нужно выполнить множество настроек или обратиться к множеству разных соавторов, ваша абстракция неверна.К сожалению, он не говорит вам, как это сделать правильно, но если вы сначала напишете тест, который хотели бы пройти, у вас будет больше шансов получить необходимую абстракцию.
  • Избегайте создания абстракций только для проверки. Хорошо абстрагированный дизайн должен быть естественно тестируемым, но не все тестируемые проекты хорошо абстрагированы. Принцип повторного использования абстракций (RAP) говорит нам искать ценные абстракции. Простое тестирование интерфейса не означает, что у нас есть хорошая абстракция.(Спасибо Xerx за указание на это.)
  • Моделирование реального мира как объектов, вероятно, не то, что вам нужно. Прочтите пример кофеварки дяди Боба (ссылка здесь). (Кроме того: это не противоречит целям DDD, который работает для точного отражения бизнес-потребностей и концепций.)
  • Многоуровневые / многоуровневые архитектуры не обязательно помогают с абстракциями. Если вам нужно принудительно преобразовать классы в уровни представления, бизнес-логики и доступа к данным, тогда ваши абстракции не могут расти или (что более важно) сокращаться по мере необходимости.Возможно, выбранные вами абстракции будут естественным образом сгруппированы в слои, или, может быть, каждая абстракция будет иметь свои собственные слои. Я думаю, что принуждение к этому может быть вредным. Если вы хотите изменить способ загрузки данных для экрана (скажем, оптимизированный запрос вместо того, что генерирует ваша ORM), вы не хотите бороться с весом любой другой абстракции доступа к данным в коде.
  • Отделите проблемы кода инфраструктуры от абстракций, специфичных для приложения. Абстракции должны быть модульными), инфраструктура может составлять их вместе.Примером такой инфраструктуры является контейнер IoC вашего дружественного соседства. (Мы также хотим сохранить инфраструктуру небольшого размера и не допустить ее попадания в наши абстракции; опять же, меньше значит больше.)
  • В идеале вы хотите иметь возможность опробовать новые абстракции, не борясь с существующими и не нарушая слишком многих соглашений. По общему признанию, я не нашел для этого хорошего решения, но помните об этом при проектировании и подумайте, сколько работы потребуется, чтобы сделать это по-другому, если потребуется для другой функции.

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

.

Добавить комментарий

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