---
title: Интеграция ИСМП переопределяемый
slug: erp-uh/интеграция-исмп-переопределяемый
---


## ОпределитьИспользованиеАктовОРасхожденииПослеПриемки
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

//Определяет использование актов о расхождении после приемки для документа
//
//Параметры:
//  Документ     - ДокументСсылка - документ, для которого необходимо определить возможность использования актов о расхождении.
//  Используется - Булево - в данный параметр необходимо установить признак использования актов, по умолчанию установлен в Ложь.
//
Процедура ОпределитьИспользованиеАктовОРасхожденииПослеПриемки(Документ, Используется) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ОпределитьИспользованиеАктовОРасхожденииПослеПриемки(Документ, Используется) 
```
</details>

## СформироватьТаблицуМаркируемойПродукцииДокумента
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

//Заполняет в переданную таблицу данные из ТЧ документа.
//
//Параметры:
//   Документ - ДокументСсылка - Документ из ТЧ которого будет происходить заполнение.
//   ТаблицаПродукции - ТаблицаЗначений - Таблица для заполнения данными из документа.
//   ВидМаркируемойПродукции - ПеречислениеСсылка.ВидыПродукцииИС, Массив из ПеречислениеСсылка.ВидыПродукцииИС -
//     вид(ы) маркируемой продукции, которым(и) необходимо заполнить таблицу.
//
Процедура СформироватьТаблицуМаркируемойПродукцииДокумента(Документ, ТаблицаПродукции, ВидМаркируемойПродукции) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.СформироватьТаблицуМаркируемойПродукцииДокумента(Документ, ТаблицаПродукции, ВидМаркируемойПродукции) 
```
</details>

## СформироватьТаблицуМаркированныхТоваровОснований
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

//Заполняет таблицу маркированный товаров по выбранным документам.
//
//Параметры:
//   Запрос - Запрос - запрос, в котором требуется сформировать временную таблицу.
//   ИсточникОснований - Строка - Имя временной таблицы с колонкой "ДокументОснование".
//   СтандартнаяОбработка - Булево - Необходимость обработки события "по-умолчанию" (установить Ложь при переопределении).
//
Процедура СформироватьТаблицуМаркированныхТоваровОснований(Запрос, ИсточникОснований, СтандартнаяОбработка) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.СформироватьТаблицуМаркированныхТоваровОснований(Запрос, ИсточникОснований, СтандартнаяОбработка) 
```
</details>

## ПриИзмененииСтатусаДокумента
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

//Дополнительные действия прикладной конфигурации при изменении статуса документа ИСМП.
//
//Параметры:
//   ДокументСсылка   - ДокументСсылка     - ссылка на документ с изменением статуса.
//   ПредыдущийСтатус - ПеречислениеСсылка - предыдущий статус обработки.
//   НовыйСтатус      - ПеречислениеСсылка - новый статус обработки.
//   ПараметрыОбновленияСтатуса - Структура, Неопределено - (См. ИнтеграцияИСМПСлужебныйКлиентСервер.ПараметрыОбновленияСтатуса).
//
Процедура ПриИзмененииСтатусаДокумента(ДокументСсылка, ПредыдущийСтатус, НовыйСтатус, ПараметрыОбновленияСтатуса = Неопределено) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ПриИзмененииСтатусаДокумента(ДокументСсылка, ПредыдущийСтатус, НовыйСтатус, ПараметрыОбновленияСтатуса);
```
</details>

## СгенерироватьСерии
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

//Предназачена для реализации механизма генерации серий номенклатуры по переданным данным
//  (См. ИнтеграцияИСМП.СгенерироватьСерии)
//
Процедура СгенерироватьСерии(ДанныеДляГенерации, ВидМаркируемойПродукции) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.СгенерироватьСерии(ДанныеДляГенерации, ВидМаркируемойПродукции) 
```
</details>

## ТоварныеЗнакиПоНоменклатуре
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Определяет заполнение Товарного знака по номенклатуре.
//
// Параметры:
// 	Номенклатура - Массив из ОпределяемыйТип.Номенклатура - Исходные данные для заполнения.
// 	ТоварныеЗнакиПоНоменклатуре - Соответствие:
// 	 * Ключ     - ОпределяемыйТип.Номенклатура - Значение номенклатуры из исходных данных.
// 	 * Значение - Строка, произвольный         - Товарный знак по номенклатуре (значение будет конвертировано в строку).
Процедура ТоварныеЗнакиПоНоменклатуре(Номенклатура, ТоварныеЗнакиПоНоменклатуре) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ТоварныеЗнакиПоНоменклатуре(Номенклатура, ТоварныеЗнакиПоНоменклатуре) 
```
</details>

## КлассификаторТНВЭД
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

//Получение ссылки ТН ВЭД по коду.
//
//Параметры:
//  КодТНВЭД - Строка - Код по классификатору товарной номенклатуры внешнеэкономической деятельности.
//  ТНВЭД - Произвольный - искомый элемент.
//
Процедура КлассификаторТНВЭД(КодТНВЭД, ТНВЭД) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.КлассификаторТНВЭД(КодТНВЭД, ТНВЭД) 
```
</details>

## ПриОпределенииСопоставленногоКлассификатораТНВЭД
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Предназначена для поиска по коду элемента в Классификаторе ТН ВЭД.
// Если элемент не найден, то, при использовании классификатора, создать элемент справочника в соответствии с классификатором ТН ВЭД ЕАЭС.
//
// Параметры:
//  КодТНВЭД - Строка - Строка с кодом классификатора ТН ВЭД.
//  ДанныеЭлемента - Структура - Переопределяемый параметр, содержащий структуру со свойствами:
//   * ЭлементСправочника - Произвольный - Ссылка на элемент классификатора.
//   * НаименованиеПолное - Строка - наименование найденного элемента классификатора.
//  Наименование - Строка - Наименование элемента классификатора ТН ВЭД по данным ГИС МТ.
Процедура ПриОпределенииСопоставленногоКлассификатораТНВЭД(КодТНВЭД, ДанныеЭлемента, Наименование = "") Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ПриОпределенииСопоставленногоКлассификатораТНВЭД(КодТНВЭД, ДанныеЭлемента, Наименование);
```
</details>

## ОбъемМаркируемойПродукцииВЛитрах
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Предназначена для получения объема маркируемой продукции в литрах.
//
// Параметры:
//  Таблица - ТаблицаЗначений - Таблица с колонками:
//   * Номенклатура - ОпределяемыйТип.Номенклатура - Ссылка на маркируемую продукцию.
//   * ОбъемВЛитрах - Число - Объем в литрах, который необходимо заполнить.

Процедура ОбъемМаркируемойПродукцииВЛитрах(Таблица) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ОбъемМаркируемойПродукцииВЛитрах(Таблица) 
```
</details>

## ЗаполнитьСвойстваНоменклатурыДляКаталогаGS46
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Заполняет свойства номенклатуры, используемые для передачи в каталог GS46. Могут быть заполнены колонки:
//   * Торговая марка,
//   * Страна производства,
//   * Вид обуви,
//   * Материал верха,
//   * Материал подкладки,
//   * Материал низа,
//   * Цвет,
//   * Размер.
//
// Параметры:
//   Товары - ДанныеФормыКоллекция - таблица для заполнения.
//
Процедура ЗаполнитьСвойстваНоменклатурыДляКаталогаGS46(Товары) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ЗаполнитьСвойстваНоменклатурыДляКаталогаGS46(Товары) 
```
</details>

## ЗагрузитьПолученныеGTINКаталогаGS46
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

Процедура ЗагрузитьПолученныеGTINКаталогаGS46(Товары) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ЗагрузитьПолученныеGTINКаталогаGS46(Товары) 
```
</details>

## ПриОпределенииИерархииУпаковокНоменклатуры
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Обработчик события получения сведений об иерархии упаковок номенклатуры.
// Если обработчик пустой, то подсистема виртуальной агрегации не сможет автоматически распределять
// коды маркировки по упаковкам. В этом случае будет возможна только ручная агрегация.
//
// Параметры:
//  Номенклатура         - Массив из ОпределяемыйТип.Номенклатура - Номенклатура [Входящий]
//  УпаковкиНоменклатуры - ТаблицаЗначений - сведения об упаковках [Исходящий], должны быть отсортированы по возрастанию коэффициента упаковки:
//   * Номенклатура       - ОпределяемыйТип.Номенклатура - номенклатура упаковки,
//   * Упаковка           - ОпределяемыйТип.Упаковка - упаковка,
//   * РодительУпаковки   - ОпределяемыйТип.Упаковка - родительская упаковка,
//   * ЕдиницаИзмерения   - Строка - наименование единицы измерения упаковки,
//   * Наименование       - Строка - наименование упаковки,
//   * КоличествоУпаковок - Число - количество упаковок, содержащихся в родительской упаковке,
//   * Коэффициент        - Число - коэффициент пересчета в единицу измерения номенклатуры.
//
Процедура ПриОпределенииИерархииУпаковокНоменклатуры(Номенклатура, УпаковкиНоменклатуры) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ПриОпределенииИерархииУпаковокНоменклатуры(Номенклатура, УпаковкиНоменклатуры) 
```
</details>

## ПриОпределенииКомплектующихНаборов
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Обработчик события получения сведений о комплектующих набора. Данные о комплектующих могут быть
// получены из вариантов комплектации (ERP, УНФ) при создании наборов оптовиками и розничными магазинами из введенных в оборот товаров
// и могут быть получены из производственных спецификаций при производстве наборов и их комплектующих.
// Если обработчик пустой, то в документе маркировки возможно ручное создание наборов, без проверки принадлежности.
//
// Параметры:
//  Наборы - ТаблицаЗначений, ДанныеФормыКоллекция, Массив - массив строк [Входящий]:
//   * НомерСтроки         - Число - уникальный номер строки с набором,
//   * Номенклатура        - ОпределяемыйТип.Номенклатура - номенклатура набора,
//   * Характеристика      - ОпределяемыйТип.ХарактеристикаНоменклатуры - характеристика набора,
//   * Упаковка            - ОпределяемыйТип.Упаковка - упаковка набора,
//   * КоличествоУпаковок  - Число - количество упаковок набора,
//   * Количество          - Число - количество наборов.
//  КомплектующиеНаборов - ТаблицаЗначений - сведения о наборах [Исходящий], должны быть отсортированы по убыванию номера строки набора:
//   * НомерСтрокиНабора            - Число - уникальный номер строки с набором,
//   * НоменклатураНабора           - ОпределяемыйТип.Номенклатура - номенклатура набора,
//   * ХарактеристикаНабора         - ОпределяемыйТип.ХарактеристикаНоменклатуры - характеристика набора,
//   * УпаковкаНабора               - ОпределяемыйТип.Упаковка - упаковка набора,
//   * НомерСтрокиКомплектации      - Число - порядковый номер строки комплектации,
//   * Номенклатура                 - ОпределяемыйТип.Номенклатура - номенклатура комплектующей набора,
//   * Характеристика               - ОпределяемыйТип.ХарактеристикаНоменклатуры - характеристика комплектующей набора,
//   * Упаковка                     - ОпределяемыйТип.Упаковка - упаковка комплектующей набора,
//   * КоличествоУпаковок           - Число - количество упаковок комплектующей набора,
//   * Количество                   - Число - количество комплектующей набора.
Процедура ПриОпределенииКомплектующихНаборов(Наборы, КомплектующиеНаборов) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ПриОпределенииКомплектующихНаборов(Наборы, КомплектующиеНаборов) 
```
</details>

## ПриОпределенииВозможностиВключенияОтключенияВеденияУчетаМРЦ
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Предназначения для управления признаком возможности включения / отключения ведения учета МРЦ табачной продукции.
// При заполнении причины - соответствующая доступность изменяется, на форме отображатеся указанная причина.
// Например, можно запретить отключение функции, если ведется учет МРЦ в составе серий или характеристик.
//
//Параметры:
//  ВозможноВключение              - Булево - Признак возможности включения.
//  ПричинаНевозможностиВключения  - Строка - Причина, по которой невозможно включить учет МРЦ.
//  ВозможноОтключение             - Булево - Признак возможности отключения.
//  ПричинаНевозможностиОтключения - Строка - Причина, по которой невозможно выключить учет МРЦ.
Процедура ПриОпределенииВозможностиВключенияОтключенияВеденияУчетаМРЦ(ВозможноВключение, ПричинаНевозможностиВключения, ВозможноОтключение, ПричинаНевозможностиОтключения) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ПриОпределенииВозможностиВключенияОтключенияВеденияУчетаМРЦ(ВозможноВключение, ПричинаНевозможностиВключения, ВозможноОтключение, ПричинаНевозможностиОтключения) 
```
</details>

## ЯвляетсяОснованиемДляМаркировкиОстатков
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Определяет ссылку на документ-основание маркировки товаров, как документ, являющийся основанием для маркировки остатков.
//
// Параметры:
// 	СсылкаНаДокумент   - ОпределяемыйТип.ОснованиеМаркировкаТоваровИСМП - Ссылка на проверямый документ.
// 	ЯвляетсяОснованием - Булево                                         - Выходной параметр.
Процедура ЯвляетсяОснованиемДляМаркировкиОстатков(СсылкаНаДокумент, ЯвляетсяОснованием) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ЯвляетсяОснованиемДляМаркировкиОстатков(СсылкаНаДокумент, ЯвляетсяОснованием) 
```
</details>

## ПриОпределенииТекстаЗапросаПлатежныхДокументовПоДокументуПродажиИлиВозврата
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// При определении текста запроса платежных документов по документу продажи или возврата.
// Определяет текст запроса получения ссылок на платежные документы, из которых могла выполняться проверка средствами ККТ при пробитии чека, для отображения результатов проверки при открытии формы проверки.
//
// Используется в случае наличия функционала, при котором возможно пробитие чека на ККТ из платежного документа, связанного
// с товароучетным документом, в котором присутствуют коды маркировки, и при заполнении параметров сканирования платежного документа используется
// ссылка на платежный документ (ПараметрыСканирования.СсылкаНаДокумент), а не ссылка на товароучетный документ.
// Например: Приходный кассовый ордер может быть оформлен по нескольким документам Реализации товара с кодами маркировки,
// при этом при заполнении параметров сканирования для ПКО ПараметрыСканирования.СсылкаНаДокумент - устанавливается ссылка
// на ПКО. В этом случае, в переопределеннии необходимо дополнить текст запроса для получения документов ПКО,
// связанными с текущей реализацией. Возможен аналогичный сценарий с РКО и Возвратом.
//
// Текст запроса присоединяется конструкцией ОБЪЕДИНИТЬ ВСЕ, должен содержать единственное поле поле со ссылкой на платежный документ
// типа ОпределяемыйТип.ОснованиеФискальнойОперацииИСМП.
// В запросе установлен параметр &СсылкаНаДокумент значением параметра СсылкаНаДокумент.
//
// Параметры:
//  СсылкаНаДокумент                - ОпределяемыйТип.ОснованиеФискальнойОперацииИСМП - Ссылка на товароучетный документ.
//  ТекстЗапросаПлатежныхДокументов - Строка - Текст запроса платежных документов по товароучетному
Процедура ПриОпределенииТекстаЗапросаПлатежныхДокументовПоДокументуПродажиИлиВозврата(СсылкаНаДокумент, ТекстЗапросаПлатежныхДокументов) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ПриОпределенииТекстаЗапросаПлатежныхДокументовПоДокументуПродажиИлиВозврата(СсылкаНаДокумент, ТекстЗапросаПлатежныхДокументов) 
```
</details>

## ОбработкаЗаполненияДокумента
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

//Вызывается при вводе документа на основании, при выполнении метода Заполнить или при интерактивном вводе нового.
//
//Параметры:
//   ДокументОбъект - ДокументОбъект - заполняемый документ,
//   ДанныеЗаполнения - Произвольный - значение, которое используется как основание для заполнения,
//   ТекстЗаполнения - Строка, Неопределено - текст, используемый для заполнения документа,
//   СтандартнаяОбработка - Булево - признак выполнения стандартной (системной) обработки события.
//
Процедура ОбработкаЗаполненияДокумента(ДокументОбъект, ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ОбработкаЗаполненияДокумента(ДокументОбъект, ДанныеЗаполнения, ТекстЗаполнения, СтандартнаяОбработка) 
```
</details>

## ОбработкаЗаполненияРегистраСведений
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

//Вызывается при выполнении заполнения набора из какого-либо значения.
//
//Параметры:
//   РегистрСведенийНаборЗаписей - РегистрСведенийНаборЗаписей - заполняемый регистр сведений,
//   ДанныеЗаполнения - Произвольный - значение, которое используется как основание для заполнения,
//   СтандартнаяОбработка - Булево - признак выполнения стандартной (системной) обработки события.
//
Процедура ОбработкаЗаполненияРегистраСведений(РегистрСведенийНаборЗаписей, ДанныеЗаполнения, СтандартнаяОбработка) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ОбработкаЗаполненияРегистраСведений(РегистрСведенийНаборЗаписей, ДанныеЗаполнения, СтандартнаяОбработка) 
```
</details>

## ПриОпределенииТипаРасхожденияИСМПБрак
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Реализовать получение значение Брак определяемого типа ТипРасхожденияИСМП.
// Параметры:
//  ТипРасхождения - ОпределяемыйТип.ТипРасхожденияИСМП - для определения типа расхождения
Процедура ПриОпределенииТипаРасхожденияИСМПБрак(ТипРасхождения) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ПриОпределенииТипаРасхожденияИСМПБрак(ТипРасхождения) 
```
</details>

## ПриОпределенииТипаРасхожденияИСМПИзлишек
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Реализовать получение значение Излишек определяемого типа ТипРасхожденияИСМП.
// Параметры:
//  ТипРасхождения - ОпределяемыйТип.ТипРасхожденияИСМП - для определения типа расхождения
Процедура ПриОпределенииТипаРасхожденияИСМПИзлишек(ТипРасхождения) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ПриОпределенииТипаРасхожденияИСМПИзлишек(ТипРасхождения) 
```
</details>

## ПриОпределенииТипаРасхожденияИСМПНедостача
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

<summary style="font-weight: bold; cursor: pointer;">Описание, пример вызова</summary>

```bsl

// Реализовать получение значение Недостача определяемого типа ТипРасхожденияИСМП.
// Параметры:
//  ТипРасхождения - ОпределяемыйТип.ТипРасхожденияИСМП - для определения типа расхождения
//
Процедура ПриОпределенииТипаРасхожденияИСМПНедостача(ТипРасхождения) Экспорт
```

Пример вызова
```bsl
ИнтеграцияИСМППереопределяемый.ПриОпределенииТипаРасхожденияИСМПНедостача(ТипРасхождения) 
```
</details>

---

© 2024, **ООО 1С-Софт**  
Все права защищены. Эта программа и сопроводительные материалы предоставляются  
в соответствии с условиями лицензии [Attribution 4.0 International (CC BY 4.0)](https://creativecommons.org/licenses/by/4.0/legalcode).

---
