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

Создание такого решения начинается не с оформления полей, а с анализа бизнес-процесса. Калькулятор должен учитывать реальные правила компании, а не показывать условную цифру, которая расходится с коммерческим предложением. Сайт получает полезный интерактивный сценарий только тогда, когда математический аппарат согласован с ответственными сотрудниками, а логика обработки данных проверена на обычных и пограничных значениях.
Главная задача разработки — превратить внутренние правила расчёта в прозрачную последовательность действий. Посетителю не нужно знать коэффициенты, структуру себестоимости и технические ограничения. Ему важно понимать, какие сведения необходимо указать, почему меняется результат и что делать после его получения. Поэтому проект объединяет аналитику, проектирование интерфейса, программирование, тестирование и настройку передачи данных.
Инструмент особенно полезен в нишах, где цена или другой показатель зависит от нескольких переменных. Фиксированный прайс в подобных случаях либо перегружает страницу, либо не даёт точного ответа. Интерактивная форма последовательно запрашивает параметры и применяет к ним установленные правила. Результат становится персональным, а путь до обращения — короче.
Интерактивный сценарий снижает количество однотипных вопросов, но не должен обещать заведомо недостижимую точность. Если окончательная цена зависит от осмотра, курса валют, наличия товара или индивидуальных условий, рядом с результатом следует разместить пояснение. Формулировка «предварительная оценка» честнее, чем категоричное обещание, которое компания не сможет выполнить.
Первый этап — интервью с владельцем процесса. Разработчику необходимо выяснить, как сотрудники выполняют вычисления сейчас, какие справочники используют, где хранят коэффициенты и в каких случаях корректируют итог вручную. Полезными источниками становятся таблицы, регламенты, прайс-листы, шаблоны коммерческих предложений и примеры реальных заказов.
Каждую формулу следует описать словами. Например: базовая цена умножается на объём, затем применяется коэффициент срочности, добавляется стоимость выбранных опций и вычитается скидка. Такое описание позволяет обнаружить пропущенные условия до программирования. Если правило нельзя однозначно объяснить, его преждевременно переносить в код.
Далее составляется карта входных и выходных данных. Для каждого поля фиксируются название, тип, единица измерения, допустимый диапазон, обязательность и значение по умолчанию. Отдельно перечисляются зависимости: какие элементы появляются после выбора категории, какие варианты несовместимы и какие сведения влияют только на заявку, но не на итог.
| Этап | Основные действия | Результат | Критерий готовности |
|---|---|---|---|
| Аналитика | Сбор формул, тарифов, ограничений и примеров заказов | Описание задачи и перечень исходных данных | Все правила подтверждены владельцем процесса |
| Формализация | Описание переменных, коэффициентов, ветвлений и округления | Спецификация вычислений | Для каждого условия определено ожидаемое действие |
| Прототип | Размещение полей, подсказок, итогов и кнопок | Сценарий взаимодействия | Пользователь проходит форму без устных пояснений |
| Разработка | Вёрстка, программирование, подключение справочников и интеграций | Рабочий интерактивный модуль | Результат корректно обновляется при изменении данных |
| Тестирование | Проверка сценариев, диапазонов, устройств и ошибок ввода | Отчёт с исправленными дефектами | Контрольные примеры дают ожидаемые значения |
| Запуск | Настройка аналитики, целей, уведомлений и мониторинга | Опубликованный инструмент | Заявки и события поступают без потери параметров |
| Поддержка | Обновление тарифов, коэффициентов и пользовательского сценария | Актуальная версия решения | Данные соответствуют действующим условиям компании |
Спецификация должна быть понятна не только программисту, но и сотруднику, который отвечает за продажи или производство. Желательно привести несколько контрольных примеров с исходными данными, промежуточными действиями и ожидаемым ответом. Такие примеры впоследствии превращаются в основу приёмочного тестирования.
Надёжная модель разделяет постоянные значения, пользовательские параметры и вычисляемые показатели. К постоянным относятся базовые тарифы, проценты, нормативы и коэффициенты. Пользовательские параметры поступают из полей формы. Вычисляемые показатели появляются в результате применения формул и могут использоваться на следующих шагах.
Необходимо заранее определить порядок операций. При работе со скидками, налогами, комиссиями и наценками последовательность влияет на итог. Скидка до начисления налога и скидка после него дают разные значения. Аналогичная проблема возникает при округлении: промежуточное округление каждой позиции может не совпасть с округлением общей суммы.
Условные ветви лучше оформлять как отдельные правила с понятным приоритетом. Если заказ одновременно соответствует нескольким условиям, спецификация должна указывать, применяются ли все коэффициенты или только один. Недопустимо оставлять решение на усмотрение исполнителя: скрытое предположение станет причиной расхождения между цифровым сервисом и расчётом менеджера.
Для денежных значений важно учитывать особенности вычислений с дробными числами. Некоторые языки программирования хранят такие величины с ограниченной двоичной точностью, поэтому сумма может получить незаметный пользователю хвост. Практичное решение — проводить операции в минимальных денежных единицах либо применять библиотеку для десятичной арифметики, а форматирование выполнять только перед выводом.
Единицы измерения также требуют внимания. Если посетитель вводит длину в метрах, а внутренний норматив задан в миллиметрах, преобразование должно происходить в одном определённом месте. Иначе разные части программы начнут применять неодинаковые коэффициенты. Рядом с полем необходимо явно указывать единицу, чтобы значение 10 не трактовалось одновременно как метры, сантиметры или штуки.

Даже точная формула не принесёт пользы, если форма выглядит непонятной. Простой сценарий показывает только сведения, необходимые на текущем шаге. Дополнительные параметры можно раскрывать после выбора категории или по запросу пользователя. Последовательное раскрытие уменьшает визуальную нагрузку и снижает вероятность случайной ошибки.
Названия полей должны совпадать с терминологией аудитории. Внутреннее обозначение из учётной системы может быть привычно сотрудникам, но ничего не говорить клиенту. Если без профессионального термина не обойтись, рядом размещают короткую подсказку или пример. Подпись должна оставаться видимой и не заменяться одним текстом внутри поля: после ввода этот текст исчезает.
Подходящий элемент управления выбирают по типу данных. Небольшой набор взаимоисключающих вариантов удобно представить переключателями. Для длинного справочника подходит раскрывающийся список с поиском. Флажки применяются, когда разрешено выбрать несколько дополнений. Ползунок уместен только при ограниченном диапазоне и не должен мешать точному ручному вводу.
Итог желательно обновлять сразу после изменения параметров, если операция выполняется быстро и не требует обращения к внешней системе. При сложном запросе нужна отдельная кнопка и индикатор ожидания. Пользователь должен видеть, что действие принято, а не нажимать повторно. Если обработка завершилась ошибкой, сообщение объясняет причину и предлагает конкретный способ продолжить.
На мобильном устройстве поля должны располагаться в естественном порядке, цифровая клавиатура — открываться для чисел, а интерактивные элементы — иметь достаточный размер. Нельзя рассчитывать только на наведение указателя: у сенсорного экрана такого состояния нет. Важная информация, включая ограничения и состав результата, должна быть доступна без скрытых жестов.
Онлайн-конструктор подходит для быстрого запуска типового сценария. Он позволяет собирать поля, задавать несложные зависимости и встраивать готовый блок без глубокой разработки. Перед выбором сервиса следует проверить возможности экспорта данных, подключения аналитики, изменения формул, работы с персональными данными и переноса проекта на другую платформу.
Готовое решение удобно, когда правила редко меняются, ветвлений немного, а внешний вид не требует глубокой адаптации. Ограничения проявляются при сложных справочниках, нескольких уровнях условий, нестандартном округлении, интеграции с учётной системой или необходимости хранить историю вычислений. Иногда первоначальная экономия приводит к ручной обработке заявок и дополнительным расходам.
Индивидуальный модуль разумно сделать, если результат влияет на договор, производственный процесс или значительную сумму заказа. Такой подход даёт полный контроль над кодом, интерфейсом и передачей сведений. В браузере вычисления часто выполняет javascript, однако критически важные операции целесообразно повторять на сервере. Клиентский код доступен посетителю и может быть изменён через инструменты разработчика.
Необязательно выбирать один подход навсегда. Для проверки спроса можно быстро запустить ограниченный прототип, собрать статистику и вопросы пользователей, а затем перейти к собственной реализации. Главное — заранее обеспечить возможность выгрузить правила и результаты, чтобы смена платформы не привела к потере накопленных данных.
| Критерий | Готовая платформа | Индивидуальный код |
|---|---|---|
| Скорость запуска | Высокая для типового сценария | Зависит от сложности требований |
| Гибкость правил | Ограничена функциями выбранного сервиса | Определяется архитектурой проекта |
| Интеграции | Доступны штатные подключения и вебхуки | Можно реализовать требуемый обмен данными |
| Контроль данных | Зависит от условий поставщика | Регулируется владельцем инфраструктуры |
| Поддержка | Часть задач выполняет поставщик | Нужен ответственный разработчик или команда |
| Масштабирование | Возможно в пределах тарифа и функций | Возможно при правильно выбранной архитектуре |
Небольшой автономный виджет может полностью работать в браузере. Такой вариант быстро реагирует на действия посетителя и не создаёт дополнительную нагрузку на сервер. Он подходит для справочных вычислений, не использующих закрытые тарифы и персональные сведения. При этом значения коэффициентов, размещённые в открытом коде, нельзя считать коммерческой тайной.
Серверная обработка необходима, когда сведения поступают из базы, зависят от остатков, региона, статуса клиента или регулярно обновляемого прайса. Браузер отправляет проверенный набор параметров, сервер выполняет операцию и возвращает ответ. Этот подход усложняет инфраструктуру, но позволяет централизованно управлять правилами и защищать внутренние данные.
В комбинированной схеме интерфейс мгновенно показывает ориентировочную оценку, а перед отправкой заявки сервер повторяет операцию по доверенным данным. Пользователь получает быстрый отклик, а компания — защищённый итог. Если два результата различаются, система должна зафиксировать событие и не передавать менеджеру неподтверждённую сумму как окончательную.
Коэффициенты желательно хранить отдельно от программного кода. Тогда уполномоченный сотрудник сможет обновить тариф без выпуска новой версии всего модуля. Для каждого изменения полезно сохранять дату, автора и предыдущее значение. История позволит восстановить условия, действовавшие в момент обращения клиента, и объяснить расхождение после обновления прайса.
Проверка должна выполняться и в браузере, и на сервере. Клиентская валидация помогает быстро исправить опечатку, но не защищает систему от изменённого запроса. Сервер обязан независимо проверить типы, диапазоны, обязательные поля, допустимые сочетания и полномочия пользователя.
Запрет ошибочного значения эффективнее сообщения после отправки. Поле количества не должно принимать буквы, дата окончания не может быть раньше даты начала, а отрицательная площадь недопустима. Однако чрезмерные ограничения тоже вредны: имя может содержать дефис, адрес — номер корпуса, а телефонный формат различается между странами.
Текст ошибки должен находиться рядом с проблемным местом и описывать способ исправления. Формулировка «неверные данные» бесполезна, потому что не указывает, что именно произошло. Лучше написать: «Введите целое число от 10 до 1000» или «Выберите хотя бы одну услугу». Цвет можно использовать как дополнительный сигнал, но не как единственный способ обозначить проблему.
Проверка начинается с контрольных примеров, подготовленных на этапе аналитики. Ответственный сотрудник вручную рассчитывает ожидаемые значения, после чего они сопоставляются с результатами программы. Желательно проверять не только итог, но и промежуточные действия: так проще определить место расхождения.
Обязательны граничные сценарии. Если допустимый диапазон составляет от 1 до 100, проверяются значения 0, 1, 100 и 101. Для скидки тестируются пороги до, на уровне и после установленной границы. Для дат учитываются високосный год, переход между месяцами, часовые пояса и окончание суток.
Отдельно проверяют пустой ввод, очень большие числа, дробные значения, вставку текста, повторное нажатие кнопки и быстрое изменение нескольких параметров. Результат не должен зависеть от скорости действий. Если предыдущий запрос завершается позже нового, устаревший ответ нельзя показывать поверх актуального.
Интерфейс тестируют в распространённых браузерах, на смартфонах, планшетах и настольных устройствах. Нужно пройти весь путь с клавиатуры, проверить подписи для средств доступности и убедиться, что увеличение масштаба не скрывает кнопки. Медленное соединение также входит в сценарий: посетитель должен понимать, что данные обрабатываются.
После технической проверки проводится приёмка владельцем процесса. Он подтверждает правила, тексты, тарифы, уведомления и сведения, поступающие в CRM. Дата приёмки и версия спецификации фиксируются. Это снижает риск спора, если после публикации бизнес решит изменить исходные условия.
Если после результата предлагается оставить контакты, в заявку необходимо передавать выбранные параметры, итог, адрес страницы, метку рекламного источника и технический идентификатор обращения. Менеджер увидит контекст и не будет повторно задавать вопросы. Клиенту полезно отправить копию или краткое резюме, если он дал согласие на соответствующий канал связи.
Персональные сведения собираются только в объёме, необходимом для заявленной цели. Рядом с формой размещается информация об обработке данных и ссылка на применимый документ. Передача выполняется по защищённому соединению. В журналах не следует без необходимости сохранять телефоны, адреса электронной почты, платёжные реквизиты и другие чувствительные сведения.
Открытые формы защищают от автоматических отправок, но мера не должна усложнять путь обычному человеку. Помимо проверки поведения можно использовать ограничение частоты запросов, скрытое поле, контроль одноразового токена и фильтрацию повторов. Подозрительные обращения лучше помечать, а не безусловно удалять: чрезмерно строгий фильтр способен потерять реального клиента.
Количество открытий страницы не показывает реальную пользу инструмента. Нужно отслеживать начало взаимодействия, заполнение ключевых шагов, получение результата, изменение параметров, попытку отправки и успешную заявку. Между этими событиями строится воронка, которая показывает место отказа.
Полезно сравнивать устройства, рекламные источники и варианты интерфейса. Если мобильные посетители часто прекращают работу на поле с числом, причиной может быть неудобный формат ввода. Если пользователи получают ответ, но не обращаются, следует проверить его понятность, доверие к сумме и заметность следующего действия.
В систему аналитики нельзя без необходимости отправлять персональные сведения и точные коммерчески чувствительные параметры. Для отчёта часто достаточно диапазона, категории или обезличенного идентификатора. Названия событий и их состав документируются, иначе после смены специалиста данные станут трудно интерпретировать.
Публикация не завершает работу. Тарифы, налоги, нормативы, ассортимент и внутренние процессы меняются. Для значимых коэффициентов назначают владельца и период проверки. Если показатель должен обновляться 1 января каждого года, задача ставится заранее, а не после первой жалобы клиента.
Полезно вести журнал версий с датой, причиной и перечнем изменений. При обновлении правила повторно запускаются автоматические и контрольные тесты. Изменение одного коэффициента может повлиять на несколько ветвей, поэтому ручной проверки единственного примера недостаточно.
Обратная связь менеджеров дополняет цифровую аналитику. Они видят, какие результаты приходится объяснять, где клиенты неверно понимают термин и какие сочетания параметров не предусмотрены. Эти наблюдения превращаются в конкретные улучшения: новую подсказку, дополнительную ветвь, уточнение диапазона или изменение порядка шагов.
Хороший расчётный сервис можно создавать поэтапно: сначала реализовать основной сценарий, затем добавить редкие исключения, интеграции и персональные предложения. Такой порядок позволяет быстрее проверить ценность решения и не перегружать первую версию функциями, которыми аудитория не пользуется.
Качественный интерактивный расчёт начинается с формализации бизнес-правил и заканчивается регулярным контролем актуальности. Точная формула сама по себе недостаточна: необходимы понятный интерфейс, двойная проверка данных, обработка исключений, защита информации, аналитика и документированная процедура обновления.
Главным критерием остаётся не количество полей и технических функций, а способность посетителя без посторонней помощи ввести сведения, понять полученный ответ и выполнить следующий шаг. Для компании результатом становится не декоративный виджет, а управляемый цифровой инструмент, который сокращает рутинную работу, повышает качество обращений и сохраняет единые правила расчёта во всех каналах.
Настоящая Политика конфиденциальности персональных данных (далее – Политика конфиденциальности) действует в отношении всей информации, которую сайт , (далее – сайт) расположенный на доменном имени https://delovoistil.ru/ (а также его субдоменах), может получить о Пользователе во время использования сайта (а также его субдоменов), его программ и его продуктов.
1.1 В настоящей Политике конфиденциальности используются следующие термины:
1.1.1. «Администрация сайта» (далее – Администрация) – уполномоченные сотрудники на управление сайтом https://delovoistil.ru/, которые организуют и (или) осуществляют обработку персональных данных, а также определяет цели обработки персональных данных, состав персональных данных, подлежащих обработке, действия (операции), совершаемые с персональными данными.
1.1.2. «Персональные данные» — любая информация, относящаяся к прямо или косвенно определенному, или определяемому физическому лицу (субъекту персональных данных).
1.1.3. «Обработка персональных данных» — любое действие (операция) или совокупность действий (операций), совершаемых с использованием средств автоматизации или без использования таких средств с персональными данными, включая сбор, запись, систематизацию, накопление, хранение, уточнение (обновление, изменение), извлечение, использование, передачу (распространение, предоставление, доступ), обезличивание, блокирование, удаление, уничтожение персональных
данных.
1.1.4. «Конфиденциальность персональных данных» — обязательное для соблюдения Оператором или иным получившим доступ к персональным данным лицом требование не допускать их распространения без согласия субъекта персональных данных или наличия иного законного основания.
1.1.5. «Сайт » — это совокупность связанных между собой веб-страниц, размещенных в сети Интернет по уникальному адресу (URL): https://delovoistil.ru/, а также его субдоменах.
1.1.6. «Субдомены» — это страницы или совокупность страниц, расположенные на доменах третьего уровня, принадлежащие сайту , а также другие временные страницы, внизу который указана контактная информация Администрации
1.1.5. «Пользователь сайта » (далее Пользователь) – лицо, имеющее доступ к сайту , посредством сети Интернет и использующее информацию, материалы и продукты сайта .
1.1.7. «Cookies» — небольшой фрагмент данных, отправленный веб-сервером и хранимый на компьютере пользователя, который веб-клиент или веб-браузер каждый раз пересылает веб-серверу в HTTP-запросе при попытке открыть страницу соответствующего сайта.
1.1.8. «IP-адрес» — уникальный сетевой адрес узла в компьютерной сети, через который Пользователь получает доступ на https://delovoistil.ru/.
2.1. Использование сайта Пользователем означает согласие с настоящей Политикой конфиденциальности и условиями обработки персональных данных Пользователя.
2.2. В случае несогласия с условиями Политики конфиденциальности Пользователь должен прекратить использование сайта https://delovoistil.ru/.
2.3. Настоящая Политика конфиденциальности применяется к сайту . не контролирует и не несет ответственность за сайты третьих лиц, на которые Пользователь может перейти по ссылкам, доступным на сайте https://delovoistil.ru/.
2.4. Администрация не проверяет достоверность персональных данных, предоставляемых Пользователем.
3.1. Настоящая Политика конфиденциальности устанавливает обязательства Администрации по неразглашению и обеспечению режима защиты конфиденциальности персональных данных, которые Пользователь предоставляет по запросу Администрации при регистрации на сайте или при подписке на информационную e-mail рассылку.
3.2. Персональные данные, разрешённые к обработке в рамках настоящей Политики конфиденциальности, предоставляются Пользователем путём заполнения форм на сайте и включают в себя следующую информацию:
3.2.1. фамилию, имя, отчество Пользователя;
3.2.2. контактный телефон Пользователя;
3.2.3. адрес электронной почты (e-mail)
3.2.4. место жительство Пользователя (при необходимости)
3.2.5. фотографию (при необходимости)
3.3. защищает Данные, которые автоматически передаются при посещении страниц:
— IP адрес;
— информация из cookies;
— информация о браузере
— время доступа;
— реферер (адрес предыдущей страницы).
3.3.1. Отключение cookies может повлечь невозможность доступа к частям сайта https://delovoistil.ru/, требующим авторизации.
3.3.2. осуществляет сбор статистики об IP-адресах своих посетителей. Данная информация используется с целью предотвращения, выявления и решения технических проблем.
3.4. Любая иная персональная информация неоговоренная выше (история посещения, используемые браузеры, операционные системы и т.д.) подлежит надежному хранению и нераспространению, за исключением случаев, предусмотренных в п.п. 5.2. настоящей Политики конфиденциальности.
4.1. Персональные данные Пользователя Администрация может использовать в целях:
4.1.1. Идентификации Пользователя, зарегистрированного на сайте для его дальнейшей авторизации.
4.1.2. Предоставления Пользователю доступа к персонализированным данным сайта https://delovoistil.ru/.
4.1.3. Установления с Пользователем обратной связи, включая направление уведомлений, запросов, касающихся использования сайта , обработки запросов и заявок от Пользователя.
4.1.4. Определения места нахождения Пользователя для обеспечения безопасности, предотвращения мошенничества.
4.1.5. Подтверждения достоверности и полноты персональных данных, предоставленных Пользователем.
4.1.6. Создания учетной записи для использования частей сайта , если Пользователь дал согласие на создание учетной записи.
4.1.7. Уведомления Пользователя по электронной почте.
4.1.8. Предоставления Пользователю эффективной технической поддержки при возникновении проблем, связанных с использованием сайта https://delovoistil.ru/.
4.1.9. Предоставления Пользователю с его согласия специальных предложений, новостной рассылки и иных сведений от имени сайта https://delovoistil.ru/.
5.1. Обработка персональных данных Пользователя осуществляется без ограничения срока, любым законным способом, в том числе в информационных системах персональных данных с использованием средств автоматизации или без использования таких средств.
5.2. Персональные данные Пользователя могут быть переданы уполномоченным органам государственной власти Российской Федерации только по основаниям и в порядке, установленным законодательством Российской Федерации.
5.3. При утрате или разглашении персональных данных Администрация вправе не информировать Пользователя об утрате или разглашении персональных данных.
5.4. Администрация принимает необходимые организационные и технические меры для защиты персональной информации Пользователя от неправомерного или случайного доступа, уничтожения, изменения, блокирования, копирования, распространения, а также от иных неправомерных действий третьих лиц.
5.5. Администрация совместно с Пользователем принимает все необходимые меры по предотвращению убытков или иных отрицательных последствий, вызванных утратой или разглашением персональных данных Пользователя.
6.1. Пользователь вправе:
6.1.1. Принимать свободное решение о предоставлении своих персональных данных, необходимых для использования сайта https://delovoistil.ru/, и давать согласие на их обработку.
6.1.2. Обновить, дополнить предоставленную информацию о персональных данных в случае изменения данной информации.
6.1.3. Пользователь имеет право на получение у Администрации информации, касающейся обработки его персональных данных, если такое право не ограничено в соответствии с федеральными законами. Пользователь вправе требовать от Администрации уточнения его персональных данных, их блокирования или уничтожения в случае, если персональные данные являются неполными, устаревшими, неточными, незаконно полученными или не являются необходимыми для заявленной цели обработки, а также принимать предусмотренные законом меры по защите своих прав. Для этого достаточно уведомить Администрацию по указаному E-mail адресу.
6.2. Администрация обязана:
6.2.1. Использовать полученную информацию исключительно для целей, указанных в п. 4 настоящей Политики конфиденциальности.
6.2.2. Обеспечить хранение конфиденциальной информации в тайне, не разглашать без предварительного письменного разрешения Пользователя, а также не осуществлять продажу, обмен, опубликование, либо разглашение иными возможными способами переданных персональных данных Пользователя, за исключением п.п. 5.2. настоящей Политики Конфиденциальности.
6.2.3. Принимать меры предосторожности для защиты конфиденциальности персональных данных Пользователя согласно порядку, обычно используемого для защиты такого рода информации в существующем деловом обороте.
6.2.4. Осуществить блокирование персональных данных, относящихся к соответствующему Пользователю, с момента обращения или запроса Пользователя, или его законного представителя либо уполномоченного органа по защите прав субъектов персональных данных на период проверки, в случае выявления недостоверных персональных данных или неправомерных действий.
7.1. Администрация, не исполнившая свои обязательства, несёт ответственность за убытки, понесённые Пользователем в связи с неправомерным использованием персональных данных, в соответствии с законодательством Российской Федерации, за исключением случаев, предусмотренных п.п. 5.2. и 7.2. настоящей Политики Конфиденциальности.
Обновлен:
13.07.2022