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

## РеквизитыДляРасчета
<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).

---
