Разрезы в запросах к регистрам расчетов

13.11.12

Учетные задачи - Зарплата

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

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ИспользованиеРазрезов.dt
.dt 27,46Kb
29 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

В процессе подготовки к экзамену пришлось перелопатить немало книг, кучу ресурсов Интернета, но нигде не нашел внятного объяснения что такое "Разрезы" и с чем его едят. О примерах использования вообще умолчу...

Если бы мне в свое время попалась на глаза подобная статья, экзамен на специалиста был бы сдан намного раньше :)

Надеюсь, кому-то данная информация будет полезной.

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

Условие задачи:

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

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

1. Сумма всех надбавок сотрудников подразделения, начисленных в этом же расчетном периоде, умноженная на процент. Надбавка руководителя при этом не учитывается.

2. Максимальная сумма надбавки, начисленная любому сотруднику подразделения в этом же расчетном периоде, умноженная на процент.

Процент премии указывается пользователем в документе "Начисление зарплаты".

Решение

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

Вариант 1

Предположим, что на момент расчета премии у нас в регистре расчета существуют следующие записи (Иванов - руководитель подразделения): 

Номер строки Сотрудник Подразделение Вид расчета Результат База Процент
1 Иванов Отдел продаж Надбавка 200.00 1000.00 20
2 Петров Отдел продаж Надбавка 150.00 1000.00 15
3 Сидоров Отдел продаж  Надбавка 100.00 1000.00 10
4 Иванов Отдел продаж Премия     20

Для расчета премии Иванову нам необходимо просуммировать результат по Петрову, Сидорову и умножить на некий процент. Результат самого Иванова в расчет браться не должен. Посмотрим, что можно сделать:

    Запрос = Новый Запрос;
   
Запрос.Текст =
       
"ВЫБРАТЬ
        |   ДополнительныеНачисления.НомерСтроки,
        |   ДополнительныеНачисленияБазаДополнительныеНачисления.СотрудникРазрез,
        |   ВЫБОР
        |       КОГДА ДополнительныеНачисленияБазаДополнительныеНачисления.Сотрудник = ДополнительныеНачисленияБазаДополнительныеНачисления.СотрудникРазрез
        |           ТОГДА 0
        |       ИНАЧЕ ЕСТЬNULL(ДополнительныеНачисленияБазаДополнительныеНачисления.РезультатБаза, 0)
        |   КОНЕЦ КАК База,
        |   ДополнительныеНачисления.Процент
        |ПОМЕСТИТЬ ВТРазрез
        |ИЗ
        |   РегистрРасчета.ДополнительныеНачисления КАК ДополнительныеНачисления
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисления.БазаДополнительныеНачисления(
        |               &Измерения,
        |               &Измерения,
        |               &Разрезы,
        |               Регистратор = &Регистратор
        |                   И ВидРасчета = &ВидРасчета) КАК ДополнительныеНачисленияБазаДополнительныеНачисления
        |       ПО ДополнительныеНачисления.НомерСтроки = ДополнительныеНачисленияБазаДополнительныеНачисления.НомерСтроки
        |ГДЕ
        |   ДополнительныеНачисления.Регистратор = &Регистратор
        |   И ДополнительныеНачисления.ВидРасчета = &ВидРасчета
        |   И ДополнительныеНачисления.Сотрудник.ЭтоРуководитель = ИСТИНА
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ВТРазрез.НомерСтроки,
        |   СУММА(ВТРазрез.База) КАК База,
        |   СУММА(ВТРазрез.База * ВТРазрез.Процент / 100) КАК Результат
        |ИЗ
        |   ВТРазрез КАК ВТРазрез
        |
        |СГРУППИРОВАТЬ ПО
        |   ВТРазрез.НомерСтроки"
;

   
Измерения = Новый Массив(1);
   
Измерения[0] = "Подразделение";

   
Разрезы = Новый Массив(1);
   
Разрезы[0] = "Сотрудник";

   
Запрос.УстановитьПараметр("Регистратор" ,Регистратор);
   
Запрос.УстановитьПараметр("ВидРасчета"  ,ПланыВидовРасчета.ДополнительныеНачисления.Премия);
   
Запрос.УстановитьПараметр("Измерения"   ,Измерения);
   
Запрос.УстановитьПараметр("Разрезы"     ,Разрезы);

   
Выборка = Запрос.Выполнить().Выбрать();
    Для Каждого
Запись Из НаборДвижений Цикл

       
Отбор.НомерСтроки = Запись.НомерСтроки;
       
Выборка.Сбросить();
        Если
Выборка.НайтиСледующий(Отбор) Тогда

           
Запись.База         = Выборка.База;
           
Запись.Результат    = Выборка.Результат;

        КонецЕсли;

    КонецЦикла;

Взглянем на временную таблицу "ВТРазрез":

НомерСтроки СотрудникРазрез База Процент
4 Иванов 0.00 20
4 Петров 150.00 20
4 Сидоров 100.00 20

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

НомерСтроки База Процент
4 250.00 20

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

 

Вариант 2

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

Пусть в регистре расчета на момент расчета премии существуют такие записи:

Номер строки Сотрудник Подразделение Вид расчета Результат База Процент
1 Иванов Отдел продаж Надбавка 100.00 1000.00 10
2 Петров Отдел продаж Надбавка 150.00 1000.00 15
3 Сидоров Отдел продаж Надбавка 200.00 1000.00 20
4 Иванов Отдел продаж Премия     20

Исходя из условия задачи, видим, что базой для расчета премии Иванова в данном случае должна стать сумма 200.00 - надбавка Сидорова.

Запрос тогда примет следующий вид: 

    Запрос = Новый Запрос;
   
Запрос.Текст =
       
"ВЫБРАТЬ
        |   ДополнительныеНачисления.НомерСтроки,
        |   ДополнительныеНачисленияБазаДополнительныеНачисления.СотрудникРазрез,
        |   ЕСТЬNULL(ДополнительныеНачисленияБазаДополнительныеНачисления.РезультатБаза, 0) КАК База,
        |   ДополнительныеНачисления.Процент
        |ПОМЕСТИТЬ ВТРазрез
        |ИЗ
        |   РегистрРасчета.ДополнительныеНачисления КАК ДополнительныеНачисления
        |       ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисления.БазаДополнительныеНачисления(
        |               &Измерения,
        |               &Измерения,
        |               &Разрезы,
        |               Регистратор = &Регистратор
        |                   И ВидРасчета = &ВидРасчета) КАК ДополнительныеНачисленияБазаДополнительныеНачисления
        |       ПО ДополнительныеНачисления.НомерСтроки = ДополнительныеНачисленияБазаДополнительныеНачисления.НомерСтроки
        |ГДЕ
        |   ДополнительныеНачисления.Регистратор = &Регистратор
        |   И ДополнительныеНачисления.ВидРасчета = &ВидРасчета
        |   И ДополнительныеНачисления.Сотрудник.ЭтоРуководитель = ИСТИНА
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ВТРазрез.НомерСтроки,
        |   МАКСИМУМ(ВТРазрез.База) КАК База,
        |   ВТРазрез.Процент
        |ПОМЕСТИТЬ ВТБаза
        |ИЗ
        |   ВТРазрез КАК ВТРазрез
        |
        |СГРУППИРОВАТЬ ПО
        |   ВТРазрез.НомерСтроки,
        |   ВТРазрез.Процент
        |;
        |
        |////////////////////////////////////////////////////////////////////////////////
        |ВЫБРАТЬ
        |   ВТБаза.НомерСтроки,
        |   ВТБаза.База,
        |   ВТБаза.База * ВТБаза.Процент / 100 КАК Результат
        |ИЗ
        |   ВТБаза КАК ВТБаза"
;

   
Измерения = Новый Массив(1);
   
Измерения[0] = "Подразделение";

   
Разрезы = Новый Массив(1);
   
Разрезы[0] = "Сотрудник";

   
Запрос.УстановитьПараметр("Регистратор" ,Регистратор);
   
Запрос.УстановитьПараметр("ВидРасчета"  ,ПланыВидовРасчета.ДополнительныеНачисления.Премия);
   
Запрос.УстановитьПараметр("Измерения"   ,Измерения);
   
Запрос.УстановитьПараметр("Разрезы"     ,Разрезы);

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

Временная таблица "ВТРазрез" практически ничем не отличается от аналогичной в первом варианте:

НомерСтроки СотрудникРазрез База Процент
4 Иванов 100.00 20
4 Петров 150.00 20
4 Сидоров 200.00 20

Во временную таблицу "ВТБаза" мы помещаем только одну подходящую нам запись: по товарищу Сидорову, так как ему начислена максимальная надбавка:

НомерСтроки База Процент
4 200.00 20

Ну и осталось рассчитать результат, что теперь не составляет никаких трудностей.

 

Резюме.

Использование разрезов не так уж и сложно, если разобраться (как впрочем и все этом мире :).

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

Вступайте в нашу телеграмм-группу Инфостарт

См. также

Зарплата Консолидация данных 1С:Зарплата и Управление Персоналом 3.x Россия Управленческий учет Платные (руб)

Расширение для создания и настройки обмена с консолидированной базой ЗУП. Код разработки под определенные требования проекта.

84000 руб.

11.07.2025    1576    2    0    

1

Зарплата Кадровый учет Бухгалтер 1С:Предприятие 8 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

Предлагаем расширить возможности конфигурации 1С:УНФ 3.0 в части ведения кадрового учета. С помощью данного расширения в конфигурацию будут добавлены новые документы: "Отпуск" и "Командировка". Документы облегчат работу кадровика и расчетчика, а также повысят эффективность работы за счет оптимизации и упрощения процесса ведения учета.

43200 руб.

31.10.2024    2467    2    0    

2

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта 1С:Предприятие 8 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

16800 руб.

01.11.2012    102420    122    1    

133

SALE! 50%

Зарплата Регламентированный учет и отчетность Бухгалтер 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 Здравоохранение, медицина, стоматология Россия Платные (руб)

Подсистема (расширение) конфигурации Зарплата и кадры государственного учреждения, редакция 3.1 для формирования формы №30 федерального статистического наблюдения "Сведения о медицинской организации" в редакции Приказов Росстата I) от 30.12.2020 №863, II) от 27.12.2022 N 985, III) от 25.12.2023 N 681 и IV) от 29.11.2025 №594.

18000 12600 руб.

26.10.2021    18873    24    13    

19

Перенос данных 1C Зарплата Бюджетный учет Программист Бухгалтер 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

12000 руб.

28.07.2016    66520    177    148    

145

Зарплата Печатные формы Анализ учета Бухгалтер 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

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

12000 руб.

15.10.2025    1830    2    25    

5
Вознаграждение за ответ
Показать полностью
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. fr.myha 14.11.12 10:25 Сейчас в теме
Спасибо большое за статью. Теперь будет более понятно что это такое разрез и как им пользоваться.
2. Kryakovkin 07.01.13 15:39 Сейчас в теме
Спасибо за публикацию. Статья очень помогла в подготовке к специалисту. Из задач которые я прорешивал, разрезы потребовались в задаче 3.49.
3. BorisSpB 13.01.15 16:48 Сейчас в теме
Здравствуйте.

Спасибо за подробную статью. У вас все написано понятно и по существу.

Возник следующий вопрос. Зачем в варианте 2 (расчет премии руководителю исходя из максимальной надбавки сотрудника) вы берете данные из реальной таблицы "Дополнительные начисления"?

Почему бы номер строки и процент не брать из вирт. таблицы "ДополнительныеНачисленияБазаДополнительныеНачисления"? В таком случае не было бы необходимости делать лишнее ЛЕВОЕ СОЕДИНЕНИЕ.
4. CeHbKA 307 30.01.17 16:01 Сейчас в теме
Статья отличная! Но я так и не могу допетрить, как из условия задачи понять, что нужны разрезы?
И если у меня в регистре расчета 2 измерения - сотрудник и подразделение, разве я не получу один и тот же результат, что при получении базы и указании параметра "Измерения", что при получении базы и указания параметра "Разрезы" ?!
9. AndrewM 08.12.20 23:31 Сейчас в теме
(4) да, можно было бы и не использовать разрезы, но только если не нужно исключать из базы надбавку самого руководителя. Но в условии задачи написано: "Надбавка руководителя при этом не учитывается". И вот чтобы её исключить, без разреза уже не обойтись.
5. shoy 19 06.03.18 11:07 Сейчас в теме
Хорошо написано!
Про левое соединение правильное замечание.
А ещё, нужен разрез по должности сотрудника, особенно когда в один месяц перекидывают больше двух раз.
6. KonstIV 12.12.18 20:43 Сейчас в теме
А зачем подтягивать основную таблицу? Номер строки и в доп. таблице такой же.
"ВЫБРАТЬ
		|	ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки,
		|	СУММА(ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза) КАК РезультатБаза
		|ИЗ
		|	РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
		|			&Измерения,
		|			&Измерения,
		|			&Разрезы,
		|			Регистратор = &Регистратор
		|				И ВидРасчета = &ВидРасчета) КАК ДополнительныеНачисленияБазаОсновныеНачисления
		|ГДЕ
		|	ДополнительныеНачисленияБазаОсновныеНачисления.Сотрудник <> ДополнительныеНачисленияБазаОсновныеНачисления.СотрудникРазрез
		|
		|СГРУППИРОВАТЬ ПО
		|	ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки";
Показать
11. user1148166 06.06.25 15:47 Сейчас в теме
(6) Сразу видно профессионала. Спасибо
7. milov.aleksey 384 10.09.20 14:16 Сейчас в теме
На онлайн курсе Белоусова "Подготовка к спецу" с 13.07.2020 в задаче ПР_4 "Премия руководителю" процентом от суммы начислений по ДневномуТарифу сотрудников его Подразделения за прошлый месяц, кроме него самого. "Руководителям подразделений дополнительно выплачивается премия в виде процента от суммы начислений по тарифу за предыдущий месяц сотрудников их подразделения. С начисления по тарифу самого руководителя премия не начисляется. Процент премии в течение периода начисления не меняется и задается в документе «Начисление зарплаты»." И вдобавок требуется отчет вида:
Подразделение Руководитель Процен премии Сумма премии

ИТОГО:
Поэтому я не просто исключаю из дохода прошлого месяца всех руководителей. У меня СотрудникРуководитель - реквизит справочника Подразделения. Явно привязываю руководителя к подразделению.
Получился такой запрос:
//2) ПРЕМИЯ РУКОВОДИТЕЛЯ
ДополнительныеНачисления = Движения.ДополнительныеНачисления;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеНачисления.НомерСтроки КАК НомерСтроки,
| ДополнительныеНачисленияБазаОсновныеНачисления.СотрудникРазрез КАК СотрудникРазрез,
| ВЫБОР
| КОГДА ДополнительныеНачисленияБазаОсновныеНачисления.Подразделение.СотрудникРуководитель = ДополнительныеНачисленияБазаОсновныеНачисления.СотрудникРазрез
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза, 0)
| КОНЕЦ КАК База,
| ДополнительныеНачисления.Размер КАК Размер
|ПОМЕСТИТЬ ВТРазрез
|ИЗ
| РегистрРасчета.ДополнительныеНачисления КАК ДополнительныеНачисления
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
| &Измерения,
| &Измерения,
| &Разрезы,
| Регистратор = &Регистратор
| И ВидРасчета = &ВидРасчета) КАК ДополнительныеНачисленияБазаОсновныеНачисления
| ПО ДополнительныеНачисления.НомерСтроки = ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки
|ГДЕ
| ДополнительныеНачисления.Регистратор = &Регистратор
| И ДополнительныеНачисления.ВидРасчета = &ВидРасчета
|;
|
|////////////////////////////////////////////////////////////­////////////////////
|ВЫБРАТЬ
| ВТРазрез.НомерСтроки КАК НомерСтроки,
| СУММА(ВТРазрез.База) КАК База,
| СУММА(ВТРазрез.База * ВТРазрез.Размер / 100) КАК Результат
|ИЗ
| ВТРазрез КАК ВТРазрез
|
|СГРУППИРОВАТЬ ПО
| ВТРазрез.НомерСтроки";
Измерения = Новый Массив();
Измерения.Добавить("Подразделение");
Запрос.УстановитьПараметр("Измерения", Измерения);

Разрезы = Новый Массив();
Разрезы.Добавить("Сотрудник");
Запрос.УстановитьПараметр("Разрезы", Разрезы);

Запрос.УстановитьПараметр("Регистратор", Регистратор);
Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ДополнительныеНачисления.ПремияРуководителя);

Выборка = Запрос.Выполнить().Выбрать();

Для Каждого Движение Из ДополнительныеНачисления Цикл
Если Движение.ВидРасчета <> ПланыВидовРасчета.ДополнительныеНачисления.ПремияРуководителя ТОгда
Продолжить;
КонецЕсли;

Выборка.Сбросить();

Если Выборка.НайтиСледующий(Движение.НомерСтроки,"НомерСтроки") Тогда
Движение.Результат = Выборка.Результат;
Движение.База = Выборка.База;
КонецЕсли;

КонецЦикла;
ДополнительныеНачисления.Записать(, истина);
Показать
8. milov.aleksey 384 21.09.20 16:30 Сейчас в теме
(6) Согласен, оптимизнул, вышло компактно и результат расчета и вцелом проведения тот же:
//2) ПРЕМИЯ РУКОВОДИТЕЛЯ
ДополнительныеНачисления = Движения.ДополнительныеНачисления;

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки КАК НомерСтроки,
| СУММА(ВЫБОР
| КОГДА ДополнительныеНачисленияБазаОсновныеНачисления.Подразделение.СотрудникРуководитель = ДополнительныеНачисленияБазаОсновныеНачисления.СотрудникРазрез
| ТОГДА 0
| ИНАЧЕ ЕСТЬNULL(ДополнительныеНачисленияБазаОсновныеНачисления.РезультатБаза, 0)
| КОНЕЦ) КАК База
|ИЗ
| РегистрРасчета.ДополнительныеНачисления.БазаОсновныеНачисления(
| &Измерения,
| &Измерения,
| &Разрезы,
| Регистратор = &Регистратор
| И ВидРасчета = &ВидРасчета
| И Активность) КАК ДополнительныеНачисленияБазаОсновныеНачисления
|
|СГРУППИРОВАТЬ ПО
| ДополнительныеНачисленияБазаОсновныеНачисления.НомерСтроки";
Измерения = Новый Массив();
Измерения.Добавить("Подразделение");
Запрос.УстановитьПараметр("Измерения", Измерения);

Разрезы = Новый Массив();
Разрезы.Добавить("Сотрудник");
Запрос.УстановитьПараметр("Разрезы", Разрезы);

Запрос.УстановитьПараметр("Регистратор", Регистратор);
Запрос.УстановитьПараметр("ВидРасчета", ПланыВидовРасчета.ДополнительныеНачисления.ПремияРуководителя);

Выборка = Запрос.Выполнить().Выбрать();

Для Каждого Движение Из ДополнительныеНачисления Цикл
Если Движение.ВидРасчета <> ПланыВидовРасчета.ДополнительныеНачисления.ПремияРуководителя ТОгда
Продолжить;
КонецЕсли;

Выборка.Сбросить();

Если Выборка.НайтиСледующий(Движение.НомерСтроки,"НомерСтроки") Тогда
Движение.База = Выборка.База;
Движение.Результат = Выборка.База * Движение.Размер/100;
КонецЕсли;

КонецЦикла;
ДополнительныеНачисления.Записать();
10. Vogde 18 08.09.21 09:31 Сейчас в теме
Спасибо автору, всё изложено доступно и действительно статья помогла сэкономить много время.
Для отправки сообщения требуется регистрация/авторизация