Что такое параметры запроса

Запросы 1С:Предприятие 8. Параметры запроса и операторы сравнения

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

Параметры выделяются в тексте запроса символом &.

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

Использование в качестве источника передаваемой в запрос таблицы значений мы рассмотрим в отдельной статье. В остальных случаях синтаксис использования параметров в запросе 1С выглядит так:

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

Задавая условия в запросах 1С, мы сравниваем одно значение с другим(и). В платформе 1С:Предприятие предусмотрены следующие виды сравнений:

Если в шаблон необходимо включить один из символов, перечисленных выше, то перед ним должен идти спецсимвол. Этим спецсимволом может быть любой символ, главное чтобы он не применяется в шаблоне по прямому назначению и не был одним из символов, перечисленных выше. При этом после условия пишется слово СПЕЦСИМВОЛ и в кавычках приводится сам спецсимвол.

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

Синтаксис для сравнения с результатом вложенного запроса:

Источник

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

1С 8.3 Параметры в запросе

&НаСервере
Процедура ПередачаПараметровПростыхТиповВЗапросе ()

// Создание отбора по поступлению материала за 2020 год
Запрос = Новый Запрос ( «ВЫБРАТЬ
| Ссылка
|ИЗ
| Документ.ПоступлениеМатериалов
|ГДЕ
| Дата МЕЖДУ &НачДата И &КонДата
|УПОРЯДОЧИТЬ ПО
| Дата ВОЗР» );

&НаСервере
Процедура ПередачаПараметровСсылочныхТиповВЗапросе ()

// Создание отбора по материалам с единицей измерения «Куб.см.»
Запрос = Новый Запрос ( «ВЫБРАТЬ
| Наименование,
| ЕдиницаИзмерения
|ИЗ
| Справочник.Материалы
|ГДЕ
| ЕдиницаИзмерения = &ЕдинИзмер» );

&НаСервере
Процедура ПередачаПараметровСписочногоТипаВЗапросе ()

// Создание отбора по материалам, единицы измерения входят в переданный список
Запрос = Новый Запрос ( «ВЫБРАТЬ
| Наименование,
| ЕдиницаИзмерения
|ИЗ
| Справочник.Материалы
|ГДЕ
| ЕдиницаИзмерения В (&СписокЕдиницИзмерения)» );

&НаСервере
Процедура ПередачаПараметраВВидеТаблицыЗначенийВЗапросе ()

Запрос = Новый Запрос ( «ВЫБРАТЬ
| Наименование,
| СрокИспользования,
| Производитель
|ИЗ
| Справочник.Материалы
|ГДЕ
| (СрокИспользования, Производитель) В (&СписокСочетаний)» );

&НаСервере
Процедура ИспользованиеТаблицыЗначенийПереданнойВЗапросКакПараметр ()

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

Источник

Использование параметров для ввода данных при выполнении запроса

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

Примечание: Эта статья не относится к веб-приложениям Access.

Терминология

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

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

на создание таблицы;

Условия. Условия — это «фильтры», добавляемые в запрос для указания элементов, которые он должен возвратить.

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

Создание запроса с параметрами

Создание параметра аналогично добавлению обычного условия в запрос:

Создайте запрос на выборку и откройте его в конструкторе.

В строке «Условия» поля, к которым вы хотите применить параметр, введите текст, который вы хотите отобразить в поле параметра, в квадратных скобках. Например: [Введите дату начала:]

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

Повторите шаг 2 для каждого поля, в которое необходимо добавить параметры.

При запуске запроса текст отображается без квадратных скобок.

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

Введите нужное значение и нажмите кнопку ОК.

В условии можно использовать несколько параметров. Например, выражение Between [Введите дату начала:] And [Введите дату окончания:] при выполнении запроса создаст два поля.

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

Указание типов данных для параметра

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

Примечание: Если параметр настроен на прием текстовых данных, любое введенное значение будет распознаваться как текст, а сообщение об ошибке не будет выводиться.

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

Когда запрос открыт в конструкторе, на вкладке Конструктор в группе Показать или скрыть нажмите кнопку Параметры.

В диалоговом окне Параметры запроса в столбце Параметр введите текст запроса на ввод каждого из параметров, для которых требуется указать тип данных. Проверьте, соответствуют ли параметры запросам на ввод, указанным в строке Условия в бланке запроса.

В столбце Тип данных выберите тип данных для каждого параметра.

Добавление параметра в запрос на объединение

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

Откройте запрос на объединение в режиме SQL.

Добавьте к нему предложение WHERE, содержащее поля, в которые нужно добавить параметры.

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

Введите запрос параметра в предложение WHERE, например WHERE [StartDate] = [Введите дату начала:].

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

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

Объединение параметров с помощью подстановочных знаков для большей гибкости

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

Создайте запрос на выборку и откройте его в конструкторе.

В строке Условия поля, в которое нужно добавить параметр, введите Like «*»&[, текст сообщения, а затем ]&»*».

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

При запуске запроса с параметрами запрос появляется в диалоговом окне без квадратных скобок и без ключевого слова Like или
поддиаметров:
Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

После ввода параметра запрос возвратит значения, содержащие строку параметра. Например, строка параметра us возвратит элементы, в которых поле параметра имеет значение «Австралия» или «Австрия».

Дополнительные сведения о подстановочных знаках см. в статье Использование подстановочных знаков в качестве условий.

Возврат элементов, не соответствующих параметру

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

Видео: использование параметров в запросах

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

В этом видео подробнее рассказывается о создании параметров в запросах.

Источник

Обучение программированию на 1С

Параметры запроса и работа с ними. Типы равенствнеравенств равно, В, В ИЕРАРХИИ и др.

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запросаДля построения грамотного и эффективного запроса, нужно разбираться в его параметрах. Запрос 1С к базе данных – это конструкция, позволяющая извлечь актуальную информацию из набора таблиц и предоставить её пользователю для принятия обоснованного управленческого решения в наиболее оптимальной форме. Поскольку Запрос 1С является объектом с набором параметров, то определённые приёмы языка запросов позволяют повысить его читабельность, увеличить быстродействие, получить только уникальные записи. Чтобы уметь пользоваться преимуществами встроенного языка, нужно следовать рекомендациям профессионалов.

Что такое параметры запроса 1С и как они используются?

Параметры запроса необходимы для того, чтобы можно было придать конструкции требуемую гибкость и быстродействие. Для объявления нужного параметра в языке запроса используется символ «&». Расшифровывается это следующим образом: &ТаблицаЦен (в данном случае именем параметра является значение «ТаблицаЦен»). Чтобы запрос «понял» присваиваемый ему параметр, необходима следующая конструкция:

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

Рассмотрим на примере присвоения Запросу 1С параметра Текущая дата – выглядеть на языке запросов это будет следующим образом:

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

Это примитивный тип конструкции, есть и более интересные.

Списочные параметры – работаем с операторами В/В ИЕРАРХИИ

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

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

Рассмотрим подробнее значимые отличия операторов «В» и «В ИЕРАРХИИ» и другие функции языка запросов 1С v 8.

Функции языка запросов 1С v 8

Язык запросов программы 1С 8-ой версии предполагает, что к полям запроса будут применены специальные функции, которые усилят его эффективность и оптимизируют работу.

«ССЫЛКА»

Ссылочный тип логического оператора «ССЫЛКА» даёт возможность проверить поле составного вида на наличие в нём конкретного типа. Задаётся следующей конструкцией:

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

«МЕЖДУ»

Функция, которая позволяет конструкции проверить поле по параметру «вхождение значения в указанный диапазон». Синтаксическое выражение:

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

«В», «В ИЕРАРХИИ»

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

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

«ПОДРОБНО»

Функция языка запросов 1С даёт возможность провести сравнение выбранной строки с шаблонным вариантом. Параметр применяется в том случае, если строка, по которой производится поиск, чётко не закреплена. Шаблонное решение выстраивается по следующим правилам:

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

«ЕСТЬ NULL »

Данный параметр работает следующим образом: в том случае, если значение поля не определено, то оно равно указанному выражению. С учётом синтаксиса языка запросов 1С получаем:

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

Все эти параметры – лишь краткий перечень эффективных функций языка Запросов 1С. Для грамотной работы в конфигураторе программы необходимо тщательно изучить все параметры языка запросов. Это не просто позволит получать нужные отчёты из базы данных 1С, но и увеличит быстродействие их обработки.

Источник

Использование параметров в запросах, формах и отчетах

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

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

В этой статье

Обзор

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

В этой статье приведены примеры использования параметров в запросах. Она не содержит полной справочной информации о настройке условий.

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

Дополнительные сведения о запросах в целом см. в статье Знакомство с запросами.

Дополнительные сведения о создании параметров в запросах см. в статье Использование параметров для ввода данных при выполнении запроса.

Дополнительные сведения о настройке условий в запросах см. в статье Примеры условий запроса.

Использование параметров в запросах

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

Добавление параметра в запрос

Создайте запрос на выборку и откройте его в конструкторе.

В строке Условия поля, для которого вы хотите применить параметр, введите в квадратных скобках текст, который должен отображаться в соответствующем диалоговом окне. Пример:

При выполнении запроса с параметрами этот текст отобразится в диалоговом окне без квадратных скобок.

При запросе параметров также можно использовать выражения. Пример:

Between [Дата начала] And [Дата окончания]

Примечание: Для каждого параметра выводится отдельное диалоговое окно. Во втором примере появляется два окна: одно для даты начала, второе — для даты окончания.

Повторите шаг 2 для каждого поля, для которого хотите добавить параметры.

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

Кроме того, с помощью перечисленных ниже действий можно добавить параметр в запрос на объединение.

Откройте запрос на объединение в режиме SQL.

Добавьте предложение WHERE, содержащее каждое поле, для которого требуется ввести параметр.

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

Вместо условия в предложении WHERE используйте запрос параметра.

Указание типов данных для параметра

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

Примечание: Если параметр настроен для ввода текстовых данных, любое введенное значение будет распознаваться как текст, а сообщение об ошибке не будет выводиться.

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

Когда запрос открыт в конструкторе, на вкладке Конструктор в группе Показать или скрыть нажмите кнопку Параметры.

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

В столбце Тип данных выберите тип данных для каждого параметра.

Создание формы для ввода параметров

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

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

Сохранение введенных параметров для использования в других запросах.

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

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

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

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

Создание формы для ввода параметров для отчета

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

Шаг 1. Создайте форму для ввода значений

На вкладке Создание в группе Формы нажмите кнопку Конструктор форм.

В режиме конструктора нажмите F4, чтобы открыть страницу свойств, и задайте свойства формы, как показано в таблице ниже.

Введите имя, которое будет отображаться в строке заголовка формы.

Режим по умолчанию

Режим сводной таблицы

Режим сводной диаграммы

Для каждого параметра, который будет вводиться с помощью формы, на вкладке Конструктор в группе Элементы управления нажмите кнопку Поле.

Задайте для полей свойства, как показано в таблице ниже.

Введите имя, описывающее параметр, например ДатаНачала.

Выберите формат, который соответствует типу данных поля параметра. Например, для поля даты выберите вариант Полный формат даты.

Сохраните форму и задайте для нее название, например frmCriteria.

Шаг 2. Создайте блок кода, проверяющий, загружена ли форма параметров

На вкладке Создание в группе Макросы и код нажмите кнопку Модуль.

В редакторе Visual Basic откроется новый модуль.

Вставьте в редакторе следующий код:

Сохраните модуль под уникальным именем и закройте редактор Visual Basic.

Шаг 3. Создайте макрос, управляющий работой формы и отчета

С помощью функций в макроса Access можно определить все необходимые действия, которые необходимо предпринять в одном макросе. Мы создадим четыре вуа макроса — «Открыть диалоговое окно», «Закрыть диалоговое окно», «ОК» и «Отмена» — для управления задачами, необходимыми для выполнения этой процедуры. С помощью приведенного ниже снимка экрана создайте новый макрос со следующими макросами и макросами. В данном примере наша форма параметров называется frmCriteria. Настройте макрос в соответствие с именем созданной ранее формы. Кроме того, для просмотра всех макроса необходимо нажать кнопку «Показать все действия» на вкладке «Конструктор».

Что такое параметры запроса. Смотреть фото Что такое параметры запроса. Смотреть картинку Что такое параметры запроса. Картинка про Что такое параметры запроса. Фото Что такое параметры запроса

Сохраните и закройте макрос. Задайте для макроса имя, например Макрос диапазона дат.

Шаг 4. Добавьте на форму кнопки «ОК» и «Отмена»

Снова откройте форму параметров, которую создали в режиме конструктора.

На вкладке Конструктор в группе Элементы управления отмените выбор параметра Использовать мастера.

На вкладке Конструктор в группе Элементы управления щелкните Кнопка.

Расположите курсор под полями на форме и мышью создайте кнопку ОК.

Если окно свойств не отображается, откройте его, нажав клавишу F4.

Задайте для кнопки ОК свойства согласно приведенной ниже таблице.

Введите имя макроса, например Макрос диапазона дат.ОК.

Создайте кнопку Отмена и задайте для нее свойства, как показано в таблице ниже.

Введите имя макроса, например Макрос диапазона данных.Отмена.

Сохраните и закройте форму.

Шаг 5. Используйте значения из формы в качестве условий запроса

Откройте запрос, который создали в режиме конструктора.

Введите условия для данных. Используйте объект Forms, имя формы и имя элемент управления:

Например, в базе данных Access (ACCDB или MDB) для формы frmCriteria можно задать следующее выражение, ссылающееся на элементы управления «Дата начала» и «Дата окончания» в запросе:

Between [Формы]![frmCriteria]![Дата начала] And [Формы]![frmCriteria]![Дата окончания]

Шаг 6. Добавьте макрокоманды в события отчета

Откройте нужный отчет в режиме конструктора.

Если окно свойств не отображается, откройте его, нажав клавишу F4.

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

Задайте два дополнительных свойства отчета, как показано в таблице ниже.

Введите имя макроса, например Макрос диапазона дат.Открыть диалоговое окно.

Введите имя макроса, например Макрос диапазона дат.Закрыть диалоговое окно.

При открытии отчета Access будет выполнять команды, содержащиеся во вложенном макросе «Открыть диалоговое окно» объекта «Макрос диапазона дат». И аналогично: при закрытии отчета Access будет выполнять команды, содержащиеся во вложенном макросе «Закрыть диалоговое окно» объекта «Макрос диапазона дат».

Сохраните и закройте отчет.

Шаг 7. Проверьте форму в действии

Теперь, когда все объекты Access созданы, можно проверить, как они работают. Откройте отчет в режиме отчета или представлении для печати и обратите внимание, что перед показом отчета Access отображает форму ввода параметров в диалоговом режиме. Введите необходимые условия в созданные вами текстовые поля и нажмите кнопку ОК на форме. После этого Access скроет форму (вывод на экран — «Нет») и отобразит отчет, содержащий только те данные, которые соответствуют вашим условиям. Это произойдет благодаря тому, что запрос с параметрами, на котором основан отчет, использует значения в элементах управления на скрытой форме. Когда вы закроете отчет, Access также закроет форму параметров.

Источник

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

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