Программа рс. Программа RS.exe: инструмент автоматизации развертывания и администрирования SQL Server Reporting Services

Что такое программа RS.exe. Как использовать RS.exe для автоматизации задач SQL Server Reporting Services. Какие аргументы командной строки поддерживает RS.exe. Какие возможности предоставляет RS.exe администраторам SSRS.

Содержание

Обзор программы RS.exe и ее назначение

RS.exe — это мощная утилита командной строки, входящая в состав SQL Server Reporting Services (SSRS). Она предназначена для автоматизации различных задач по развертыванию и администрированию сервера отчетов SSRS.

Основные возможности RS.exe включают:

  • Выполнение скриптов для массового изменения настроек сервера отчетов
  • Публикация отчетов и связанных элементов
  • Управление разрешениями и ролями безопасности
  • Изменение системных свойств сервера отчетов
  • Копирование содержимого между серверами отчетов

RS.exe позволяет администраторам автоматизировать рутинные операции и выполнять масштабные изменения на сервере отчетов, что значительно повышает эффективность управления инфраструктурой SSRS.


Синтаксис и аргументы командной строки RS.exe

Программа RS.exe запускается из командной строки и поддерживает следующий синтаксис:

rs {-?} 
   {-i input_file}
   {-s serverURL}
   {-u username}
   {-p password}
   {-e endpoint}
   {-l time_out}
   {-b batchmode}
   {-v globalvars=}
   {-t trace}

Давайте разберем основные аргументы:

  • -i — путь к файлу скрипта .rss, который нужно выполнить (обязательный)
  • -s — URL-адрес сервера отчетов (обязательный)
  • -u — имя пользователя для подключения к серверу
  • -p — пароль (обязателен, если указан -u)
  • -e — конечная точка SOAP для выполнения скрипта
  • -l — таймаут подключения в секундах
  • -b — режим пакетного выполнения команд
  • -v
    — определение глобальных переменных для скрипта

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

Написание скриптов для RS.exe

Скрипты для RS.exe пишутся на языке Visual Basic .NET и должны сохраняться в текстовых файлах с расширением .rss. При написании скриптов необходимо учитывать следующие особенности:


  • Скрипт должен содержать функцию Main() как точку входа
  • Можно использовать любые методы API веб-службы Reporting Services
  • Поддерживается определение пользовательских функций
  • Доступны стандартные конструкции VB.NET — циклы, условия и т.д.
  • Можно использовать глобальные переменные, передаваемые через аргумент -v

Вот простой пример скрипта для публикации отчета:

Public Sub Main()
  Try
    Dim reportPath As String = "/MyReports/SalesReport"
    Dim definition As Byte() = System.IO.File.ReadAllBytes("C:\SalesReport.rdl")
    rs.CreateReport(reportPath, Nothing, definition, Nothing)
    Console.WriteLine("Отчет успешно опубликован")
  Catch ex As Exception
    Console.WriteLine("Ошибка: " & ex.Message)  
  End Try
End Sub

Такой скрипт можно сохранить в файл publish_report.rss и выполнить с помощью команды:

rs -i publish_report.rss -s http://myserver/reportserver

Примеры использования RS.exe для типовых задач

RS.exe позволяет автоматизировать множество задач по управлению сервером отчетов. Вот несколько примеров:


Публикация нескольких отчетов

Public Sub Main()
  PublishReport("/Sales/MonthlyReport", "C:\Reports\Monthly.rdl")
  PublishReport("/Sales/QuarterlyReport", "C:\Reports\Quarterly.rdl")
  PublishReport("/HR/EmployeeReport", "C:\Reports\Employees.rdl")
End Sub

Sub PublishReport(reportPath As String, filePath As String)
  Try
    Dim definition As Byte() = System.IO.File.ReadAllBytes(filePath)
    rs.CreateReport(reportPath, Nothing, definition, Nothing)
    Console.WriteLine("Опубликован отчет: " & reportPath)
  Catch ex As Exception
    Console.WriteLine("Ошибка публикации " & reportPath & ": " & ex.Message)
  End Try
End Sub

Изменение настроек безопасности

Public Sub Main()
  Dim reportPath As String = "/Sales/QuarterlyReport"
  Dim roleName As String = "Sales Manager"
  
  Try
    rs.SetPolicies(reportPath, New Policy() {New Policy(roleName, "Sales")})
    Console.WriteLine("Настройки безопасности изменены")
  Catch ex As Exception
    Console.WriteLine("Ошибка: " & ex.Message)
  End Try
End Sub

Копирование содержимого между серверами

Public Sub Main()
  Dim sourceFolder As String = "/SourceReports"
  Dim targetFolder As String = "/TargetReports"
  
  Try
    Dim items As CatalogItem() = rs.ListChildren(sourceFolder, True)
    For Each item As CatalogItem In items
      If item.Type = ItemTypeEnum.Report Then
        Dim reportDef As Byte() = rs.GetReportDefinition(item.Path)
        rs.CreateReport(targetFolder & "/" & item.Name, Nothing, reportDef, Nothing)
        Console.WriteLine("Скопирован отчет: " & item.Name)
      End If
    Next
  Catch ex As Exception
    Console.WriteLine("Ошибка копирования: " & ex.Message)
  End Try
End Sub

Оптимизация и лучшие практики использования RS.exe

Для эффективного использования RS.exe рекомендуется придерживаться следующих принципов:


  • Группируйте связанные операции в одном скрипте для уменьшения накладных расходов
  • Используйте обработку ошибок для повышения надежности скриптов
  • Применяйте пакетный режим (-b) для атомарного выполнения операций
  • Выносите повторяющиеся действия в отдельные функции
  • Используйте глобальные переменные для параметризации скриптов
  • Добавляйте логирование для отслеживания выполнения длительных операций

Вот пример оптимизированного скрипта с применением этих практик:

Public Sub Main()
  Try
    LogMessage("Начало выполнения скрипта")
    
    Dim sourceServer As String = GetGlobalVariable("SourceServer")
    Dim targetServer As String = GetGlobalVariable("TargetServer")
    
    CopyFolder("/Reports/Sales", sourceServer, targetServer)
    CopyFolder("/Reports/HR", sourceServer, targetServer)
    
    UpdateSecurity("/Reports", "ReadOnly", "Domain Users")
    
    LogMessage("Скрипт успешно завершен")
  Catch ex As Exception  
    LogMessage("Ошибка выполнения скрипта: " & ex.Message)
  End Try
End Sub

Sub CopyFolder(folderPath As String, source As String, target As String)
  ' Логика копирования папки между серверами
End Sub

Sub UpdateSecurity(path As String, role As String, principal As String) 
  ' Логика обновления безопасности
End Sub

Sub LogMessage(message As String)
  Console.WriteLine(DateTime.Now & " - " & message)
End Sub

Function GetGlobalVariable(name As String) As String
  ' Получение значения глобальной переменной
End Function

Интеграция RS.exe в процессы CI/CD

RS.exe отлично подходит для интеграции управления SSRS в процессы непрерывной интеграции и развертывания (CI/CD). Вот несколько сценариев использования:


  • Автоматическая публикация отчетов при коммите изменений в репозиторий
  • Развертывание изменений на тестовый сервер отчетов после успешного прохождения unit-тестов
  • Копирование проверенных отчетов с тестового на продакшн сервер
  • Автоматическое резервное копирование содержимого сервера отчетов

Пример интеграции RS.exe в пайплайн Jenkins:

stage('Publish Reports') {
  steps {
    bat 'rs -i publish_reports.rss -s http://test-server/reportserver'
  }
}

stage('Update Security') {
  steps {
    bat 'rs -i update_security.rss -s http://test-server/reportserver'  
  }
}

stage('Copy to Production') {
  when { 
    branch 'master'
  }
  steps {
    bat 'rs -i copy_to_prod.rss -s http://prod-server/reportserver'
  }
}

Типичные ошибки и их решение при использовании RS.exe

При работе с RS.exe могут возникать различные ошибки. Вот некоторые распространенные проблемы и способы их решения:

Ошибка аутентификации

Если возникает ошибка «Login failed for user», проверьте следующее:

  • Правильность указанных учетных данных
  • Наличие у пользователя необходимых прав на сервере отчетов
  • Корректность URL сервера отчетов

Ошибки выполнения скрипта

При появлении сообщений вида «Compilation error» в скрипте:


  • Проверьте синтаксис VB.NET
  • Убедитесь, что все используемые методы доступны в текущей версии SSRS
  • Проверьте корректность передачи параметров в методы

Проблемы с правами доступа

Если возникают ошибки доступа к ресурсам:

  • Убедитесь, что у пользователя есть необходимые разрешения на сервере отчетов
  • Проверьте корректность указания путей к отчетам и папкам
  • При необходимости повысьте уровень прав пользователя на сервере отчетов

Для диагностики проблем рекомендуется использовать параметр -t для трассировки выполнения скрипта.


Программа RS.exe — SQL Server Reporting Services (SSRS)

  • Статья
  • Чтение занимает 4 мин

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

Примечание

Начиная с SQL Server 2008 R2, поддерживается применение служебной программы rs к серверам отчетов, которые настроены для режима интеграции с SharePoint, а также к серверам, настроенным в основном режиме. В предыдущих версиях поддерживалась только работа в собственном режиме.

Синтаксис

  
rs {-?}  
{-i input_file}  
{-s serverURL}  
{-u username}  
{-p password}  
{-e endpoint}  
{-l time_out}  
{-b batchmode}  
{-v globalvars=}  
{-t trace}  

Размещение файла

Программа rs. exe находится в папке \Program Files\Microsoft SQL Server\110\Tools\Binn. Программу можно запустить из любой папки файловой системы.

Аргументы

-?
Показывает синтаксис аргументов rs (необязательно).

-i входной_файл
(обязательный) Определяет файл rss, подлежащий выполнению. Это значение может быть как относительным, так и полным путем к файлу rss.

-s URL_адрес_сервера
(обязательный) Определяет имя веб-сервера и имя виртуального каталога сервера отчетов, к которым будет применен выполняемый файл. Пример URL-адреса сервера отчетов:

https://examplewebserver/reportserver. Префикс http:// или https: // в начале имени сервера необязателен. Если префикс не указан, то сервер, на котором находится скрипт сервера отчетов, сначала пытается использовать протокол HTTPS, а в случае неудачи — протокол HTTP.

-u [домен\]имя_пользователя
(Необязательный) Определяет учетную запись пользователя, используемую для подключения к серверу отчетов. В случае отсутствия -u и -p используется текущая учетная запись пользователя Windows.

-p пароль
(Обязательный, если задан -u .) Определяет пароль для использования с аргументом -u . Это значение учитывает регистр.

-e
(Необязательный) Определяет конечную точку SOAP, с которой должен выполняться скрипт. Допустимы следующие значения.

  • Mgmt2010

  • Mgmt2006

  • Mgmt2005

  • Exec2005

Если значение не указано, то используется конечная точка Mgmt2005. Дополнительные сведения о конечных точках SOAP см. в разделе Report Server Web Service Endpoints.

-l время_ожидания
(Необязательный) Определяет количество секунд, которые должны пройти до истечения времени ожидания соединения с сервером. Значение по умолчанию — 60 секунд. Если значение времени ожидания не определено, то используется значение по умолчанию. Значение 0 определяет бесконечное время ожидания соединения.

-b
(Необязательный) Задает пакетное выполнение команд файла скрипта. В случае ошибки любой из команд происходит откат всего пакета к прежнему состоянию. Некоторые команды не могут быть помещены в пакет и будут выполняться обычным способом. Откат вызывается только исключениями, которые возникли, но не обрабатываются скриптом. Если скрипт обрабатывает исключение и возвращается из функции Main без ошибок, пакет фиксируется. Если этот параметр не указан, то команды выполняются без создания пакета. Дополнительные сведения см. в статье Batching Methods.

-v глобальная_переменная
(Необязательный) Определяет глобальные переменные, которые используются в скрипте. Если скрипт использует глобальные переменные, то необходимо задать этот аргумент. Задаваемое значение должно быть допустимым для глобальной переменной, определенной в файле rss. Необходимо задать одну глобальную переменную для каждого аргумента -v.

Аргумент –v задается в командной строке и используется для указания значения глобальной переменной, которая определяется в скрипте во время выполнения. Например, если скрипт содержит переменную с именем parentFolder, можно указать имя для соответствующей папки в командной строке:

rs.exe -i myScriptFile.rss -s https://myServer/reportserver -v parentFolder="Financial Reports"

Глобальные переменные создаются с указанными именами и им присваиваются заданные значения. Например, применение -v a=«1» -v b=«2» приводит к получению переменной с именем a и значением «1«, а также переменной b со значением «2«.

Глобальные переменные доступны для любой функции в скрипте. Обратная косая черта и кавычка ( ) интерпретируются как двойная кавычка. Кавычки требуются только в том случае, если строка содержит пробелы. Имена переменных должны быть допустимыми для Microsoft Visual Basic; они должны начинаться с буквы или с символа подчеркивания и содержать буквы, цифры или символы подчеркивания. Зарезервированные слова не могут использоваться в качестве имен переменных. Дополнительные сведения об использовании глобальных переменных см. в разделе Встроенные коллекции в выражениях (построитель отчетов и службы SSRS).

-t
(Необязательный) Записывает сообщения об ошибках в журнал трассировки. Этот аргумент не принимает значения. Дополнительные сведения см. в статье Report Server Service Trace Log.

Permissions

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

Примеры

В следующем примере показано, как задать файл скрипта, содержащего скрипт Visual Basic .NET, и методы веб-службы, которые требуется выполнить.

rs -i c:\scriptfiles\script_copycontent.rss -s https://localhost/reportserver  

Подробный пример см. в разделе Образец скрипта программы rs.exe служб Reporting Services для копирования содержимого между серверами отчетов.

Дополнительные примеры см. в разделе Запуск файла скрипта для служб Reporting Services

Можно определять скрипты, устанавливать системные свойства, публиковать отчеты и так далее. Создаваемые скрипты могут включать любые методы API-интерфейса служб Службы Reporting Services . Дополнительные сведения о доступных методах и свойствах см. в разделе Report Server Web Service.

Скрипт должен быть написан на языке Visual Basic .NET и храниться в текстовом файле в кодировке Юникод или UTF-8 с расширением RSS. Отладить скрипт с помощью программы rs невозможно. Для отладки скрипта выполните код в Microsoft Visual Studio.

Совет

Подробный пример см. в разделе Образец скрипта программы rs.exe служб Reporting Services для копирования содержимого между серверами отчетов.

См. также:

  • Запуск файла скрипта для служб Reporting Services
  • Написание скриптов для задач развертывания и администрирования
  • Создание скриптов с помощью программы rs.exe и веб-службы
  • Программы командной строки сервера отчетов (службы SSRS)

Государственная программа РС(Я) обеспечение качественным жильем \ Акты, образцы, формы, договоры \ КонсультантПлюс

  • Главная
  • Правовые ресурсы
  • Подборки материалов
  • Государственная программа РС(Я) обеспечение качественным жильем

Подборка наиболее важных документов по запросу Государственная программа РС(Я) обеспечение качественным жильем (нормативно–правовые акты, формы, статьи, консультации экспертов и многое другое).

Судебная практика: Государственная программа РС(Я) обеспечение качественным жильем

Зарегистрируйтесь и получите пробный доступ к системе КонсультантПлюс бесплатно на 2 дня

Открыть документ в вашей системе КонсультантПлюс:
Определение Верховного Суда РФ от 10. 03.2020 N 302-ЭС20-279 по делу N А58-9794/2017
Требование: О пересмотре в кассационном порядке судебных актов по делу о взыскании задолженности по договору купли-продажи жилых помещений, по встречному иску об обязании исполнить договор купли-продажи, взыскании пеней.
Решение: В передаче дела в Судебную коллегию по экономическим спорам ВС РФ отказано, так как государственная регистрация права собственности на приобретаемые квартиры в полном объеме не произведена, в связи с чем у продавца отсутствует право требовать, не дожидаясь истечения второго этапа оплаты, взыскания стоимости договора в полном объеме, факт нарушения продавцом срока передачи квартир доказан.Как следует из обжалуемых актов, по итогам открытого аукциона в электронной форме на основании подпрограммы «Переселение граждан из ветхого и аварийного жилищного фонда» государственной программы Республики Саха (Якутия) «Обеспечение качественным жильем на 2012-2016 годы» сторонами заключен договор купли-продажи от 08.09.2014 N 0116300027414000039-1, по условиям которого Общество (продавец) обязалось передать Администрации (покупатель) в собственность 14 жилых помещений (14 квартир), которые будут расположены в строящемся многоквартирном доме по адресу: Республика Саха (Якутия), Кобяйский улус (район), поселок Сангар, улица Ленина, дом 121.

Статьи, комментарии, ответы на вопросы: Государственная программа РС(Я) обеспечение качественным жильем

Нормативные акты: Государственная программа РС(Я) обеспечение качественным жильем

Зарегистрируйтесь и получите пробный доступ к системе КонсультантПлюс бесплатно на 2 дня

Открыть документ в вашей системе КонсультантПлюс:
Проект Постановления Правительства РФ
«О внесении изменения в приложение N 4 к государственной программе Российской Федерации «Обеспечение доступным и комфортным жильем и коммунальными услугами граждан Российской Федерации»
(по состоянию на 09.04.2021)
(подготовлен Минстроем России, ID проекта 04/12/04-21/00114921)
(Постановление подписано 24.07.2021 N 1257)Проектом постановления Правительства Российской Федерации «О внесении изменения в приложение N 4 к государственной программе Российской Федерации «Обеспечение доступным и комфортным жильем и коммунальными услугами граждан Российской Федерации» (далее — проект постановления, Программа) предусмотрена корректировка параметров финансирования мероприятий Программы, утвержденных в приложении N 4 к Программе, в части позиции «Мероприятия по повышению качества водоснабжения в рамках федерального проекта «Чистая вода» — всего» в целях исключения бюджетных ассигнований, предусмотренных в 2021 году для Республики Саха — Якутия на:

Программа возмещаемых услуг

(RS) | GSA

Нужны сверхстандартные проекты или услуги в управляемом GSA пространстве?

Если да, требуется Разрешение на возмещаемую работу (RWA) . RWA — это межведомственное соглашение, устанавливающее официальное соглашение между вашим агентством и GSA и уполномочивающее GSA предоставлять услуги, а затем получать возмещение затрат плюс применимые сборы GSA. Примеры проектов и услуг RWA включают реконструкцию, ремонт, переделку и коммунальные услуги/услуги по уборке.

  • Для федеральных клиентов RWA требуется для любого проекта или услуги в пространстве, управляемом GSA*, которое выходит за рамки того, что включено в арендную плату.
  • Для нефедеральных клиентов RWA требуется для любого проекта или услуги в пространстве, управляемом GSA.

Программа RS обеспечивает единообразие во всех регионах GSA в отношении приема, принятия, выполнения и закрытия рабочих запросов RWA/RWA.

Как я могу отправить в GSA информацию о проектах или услугах, превышающих стандартные?

Вы федеральный заказчик? (К федеральным клиентам относятся все агентства исполнительной власти и судебные органы)

  • Если да, то вы должны использовать eRETA для электронной отправки всей информации RWA и RWA Work Request в GSA. Посетите www.gsa.gov/ereta для получения информации о получении доступа к eRETA, а также учебных материалов по использованию системы.
  • Просмотрите визуализацию процесса Work Request-RWA [PDF, 16 КБ].

Вы не являетесь федеральным клиентом? (к нефедеральным клиентам относятся частные лица, а также государственные и местные органы власти)

  • Если да, обратитесь к соответствующему региональному менеджеру RWA [PDF — 166 КБ], который обеспечит направление вашего запроса соответствующим региональным POC для разработки требований к вашему проекту или услуге. После того, как требования будут полностью разработаны, вы заполните форму RWA 2957 и отправите ее тому же региональному менеджеру RWA. Информацию о том, как внести предоплату за RWA, см. на странице «Счета и платежи».

В чем разница между RWA и рабочими запросами RWA?

  • Рабочие запросы RWA (WR) отправляются клиентом в PBS в качестве идентификации потребности в проекте или услуге. WR не становится RWA до тех пор, пока требования не будут разработаны и подписаны заказчиком и PBS.
  • Возмещаемые разрешения на работу (RWA) — это официальные соглашения между GSA и клиентом, в соответствии с которыми GSA соглашается предоставлять товары и/или услуги, а клиент соглашается возместить прямые и косвенные расходы GSA.

Вопросы о политике RWA, обучении, выставлении счетов или eRETA?

Посетите любую из страниц программы RS, используя левую панель навигации. Если вы не можете найти ответ на свой вопрос, посетите страницу «Свяжитесь с нами», где вы найдете список контактов, которые могут помочь вам с тем, что вам нужно.

Быстрый доступ к этой странице обзора программы RS: www.gsa.gov/rwa.

*В некоторых случаях GSA может предоставлять проекты и услуги RWA федеральным заказчикам в космосе , а не , управляемый GSA. Примеры включают новое строительство, проекты/услуги в наземных портах въезда, военные базы и некоторые другие. За дополнительной информацией обращайтесь к соответствующему региональному менеджеру RWA [PDF — 165 КБ].

Политика и рекомендации | GSA

RWA Руководство и ресурсы для клиентов:

  • Национальная политика в отношении разрешений на оплачиваемую работу Август 2020 г.: распространяет полную национальную политику RWA с целью обеспечения четкого и последовательного понимания Программы возмещаемых услуг и регулирующих политик.
  • Национальный стандарт
  • для малых проектов — Типы смет [PNG — 36 КБ]: это типы смет, которые будут использоваться при составлении сводной сметы (SCE).

Реформа оплаты RWA:

С 1 августа 2020 года впервые с 1995 года изменилась структура платы за возмещаемые разрешения на работу (RWA). Предыдущая плата в размере 4% + скользящая шкала была заменена простой общая стоимость проекта.

  • Информационный бюллетень: Какова новая структура сборов? [PDF — 308 КБ]
  • Сравнение калькулятора комиссий RWA [XLSX — 24 КБ]
  • Сообщения для клиентов о реформе сборов RWA (ноябрь 2019 г. — июль 2020 г.) [PDF — 17 КБ]
  • Тренинг по реформе оплаты RWA
    • Посетите веб-сайт www.gsa.gov/ces, где вы можете получить доступ к обучающим слайдам и видеозаписи тренинга по реформе оплаты RWA.

Письмо клиенту на конец года:

Ежегодно всем клиентам рассылается письмо с инструкциями по подаче RWA по мере продвижения и завершения финансового года.

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

Непредставление RWA в GSA к указанной дате снижает, а во многих случаях и вовсе исключает вероятность того, что GSA примет RWA в текущем финансовом году. Письмо на конец 22 финансового года для всех клиентов можно найти ниже. Кроме того, вопросы и ответы по информации на конец года можно найти на странице «Обучение и часто задаваемые вопросы: процесс RWA».

  • Письмо RWA на конец 22 финансового года для всех клиентов [PDF — 141 КБ]

Делегирование полномочий GSA на микрозакупки

Клиенты могут напрямую закупать проекты и услуги без RWA на объектах, находящихся под юрисдикцией, хранением и контролем GSA, при условии, что стоимость работ ниже порога микрозакупок ( 2000 долларов на строительство, 2500 долларов на услуги). Посетите страницу «Управление объектами» для получения дополнительной информации и рекомендаций относительно делегирования полномочий на микрозакупки.

Коммуникации и ресурсы для сверхурочных коммунальных услуг:

  • Руководство для клиентов по дополнительным коммунальным услугам [PDF — 42 КБ]: Объясняет обоснование того, как GSA рассчитывает стоимость дополнительных коммунальных услуг с помощью стандартизированного инструмента.
  • Письмо клиента — RWAs для сверхстандартных услуг во время продолжающегося решения [PDF — 61 КБ]: меморандум директоров PBS относительно возмещения GSA расходов на сверхурочные коммунальные услуги во время продолжающегося решения.

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

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