---
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

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

Пример вызова
```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

//Заполняет данные кода маркировки, специфика ИС МП:
//  * Только в случае если присутствует документ-основание.
//  Этап 1. Если документа-основания или подходящих строк в нем нет, заполнение не производится.
//  Этап 2. Единственной подходящей строкой из документа-основания.
//  Этап 3. Если подходит несколько строк основания - то единственной подходящей строкой,
//  по которой не завершент подбор маркируемой продукции, из текущего документа.
//
// Параметры:
//   СтрокаДанных - СтрокаТаблицыЗначений - строка в которой заполняется специфика
//   ПараметрыСканирования - см. ШтрихкодированиеОбщегоНазначенияИС.ПараметрыСканирования
//   ДанныеДокументаОснования - ТаблицаЗначений - данные документа основания
//   ДанныеДокумента - ТаблицаЗначений - данные табличной части документа Маркировка товаров
// Возвращаемое значение:
//   Булево - для кода маркировки выполнено заполнение данных
Функция ЗаполнитьПоДокументуИОснованию(СтрокаДанных, ПараметрыСканирования, ДанныеДокументаОснования, ДанныеДокумента) Экспорт
```

Пример вызова
```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

Функция ПлановоеКоличествоПотребительскихУпаковок(СтрокаДанных, ОписаниеGTIN, СозданиеНаборов) Экспорт
```

Пример вызова
```bsl
Результат = ШтрихкодированиеИСМПСлужебный.ПлановоеКоличествоПотребительскихУпаковок(СтрокаДанных, ОписаниеGTIN, СозданиеНаборов));
```
</details>

## ЗаполнитьGTINПотребительскихУпаковок
<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 потребительских упаковок для заполнения группы ОСУ
//
// Параметры:
//  ДанныеПоШтрихкодам - (См. ШтрихкодированиеОбщегоНазначенияИС.ИнициализацияДанныхПоШтрихкодам).
//  ПараметрыСканирования - (См. ШтрихкодированиеОбщегоНазначенияИСКлиент.ПараметрыСканирования).
Процедура ЗаполнитьGTINПотребительскихУпаковок(ДанныеПоШтрихкодам, ПараметрыСканирования) Экспорт
```

Пример вызова
```bsl
ШтрихкодированиеИСМПСлужебный.ЗаполнитьGTINПотребительскихУпаковок(ДанныеПоШтрихкодам, ПараметрыСканирования) 
```
</details>

## GTINПотребительскойУпаковкиРекурсивно
<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ПотребительскойУпаковкиРекурсивно(СтрокаДереваВерхнегоУровня) Экспорт
```

Пример вызова
```bsl
Результат = ШтрихкодированиеИСМПСлужебный.GTINПотребительскойУпаковкиРекурсивно(СтрокаДереваВерхнегоУровня));
```
</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

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

Пример вызова
```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>

## ПредставлениеОстаточныхШтрихкодов
<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>

## ЭтоОперацияПриемки
<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>

## СтруктураДанныхТребуетЗагрузкиВложенныхКодовМаркировки
<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>

## ОбработатьУточнениеДанныхЧастичноеВыбытие
<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).

---
