---
title: Обновление информационной базы
slug: bsp/обновление-информационной-базы
---


## ЗаписатьДанные
<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

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

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

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

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

// Дополнительные параметры выборки данных для обработки.
//
// Возвращаемое значение:
//  Структура:
//   * ВыбиратьПорциями - Булево - выбирать данные для обработки порциями.
//                        Если выбираются документы, то порция определяется с учетом упорядочивания по убыванию
//                        по дате документа. Если выбираются регистраторы регистра, то порция определяется с
//                        учетом упорядочивания по убыванию по дате регистратора, если передано полное имя документа.
//                        Если полное имя документа не передано - упорядочивание происходит по периоду регистра:
//                        а) берется максимальная дата по каждому регистратору;
//                        б) если по регистратору нет записей, он в топе.
//   * ИмяВременнойТаблицы - Строка - параметр актуален для методов, создающих временные таблицы. Если имя не задано
//                           (поведение по умолчанию), то временная таблица будет создана с именем, указанным
//                           в описании каждого метода.
//   * ДополнительныеИсточникиДанных - Соответствие из КлючИЗначение - параметр актуален для методов, выбирающих
//                                     регистраторы и ссылки для обработки. В ключах соответствия может быть только один
//                                     из следующих видов данных:
//                                     1. Пути к реквизитам шапки документа или реквизитам табличных частей, которые
//                                        участвуют в соединениях с другими таблицами (в т.ч. неявных соединениях при
//                                        обращении "через точку").
//                                     2. Имена ссылочных объектов метаданных (Строка), в значениях которых находится
//                                        соответствие, в котором ключ - это имя регистра (Строка), а в значении
//                                        соответствие в ключах которого то же, что и в п. 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

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

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

// Возвращает пустую таблицу обработчиков обновления и первоначального заполнения ИБ.
//
// Возвращаемое значение:
//   ТаблицаЗначений   - таблица с колонками:
//    1) Для всех типов обработчиков обновления:
//
//     * НачальноеЗаполнение - Булево - если Истина, то обработчик должен срабатывать при запуске на "пустой" базе.
//     * Версия              - Строка - например, "2.1.3.39". Номер версии конфигурации, при переходе
//                                      на которую должна быть выполнена процедура-обработчик обновления.
//                                      Если указана пустая строка, то это обработчик только для начального заполнения
//                                      (должно быть указано свойство НачальноеЗаполнение).
//     * Процедура           - Строка - полное имя процедуры-обработчика обновления/начального заполнения.
//                                      Например, "ОбновлениеИнформационнойБазыУПП.ЗаполнитьНовыйРеквизит"
//                                      Обязательно должна быть экспортной.
//     * РежимВыполнения     - Строка - режим выполнения обработчика обновления. Допустимые значения:
//                                      Монопольно, Отложенно, Оперативно. Если значение не заполнено, обработчик
//                                      считается монопольным.
//
//    2) Для обработчиков обновления в модели сервиса:
//
//     * ОбщиеДанные         - Булево - если Истина, то обработчик должен срабатывать до
//                                      выполнения любых обработчиков, использующих разделенные данные.
//                                      Допустимо указывать только для обработчиков с режимом выполнения Монопольно и Оперативно.
//                                      Если указать значение Истина для обработчика с режимом
//                                      выполнения Отложенно, будет выдано исключение.
//     * УправлениеОбработчиками - Булево - если Истина, то обработчик должен иметь параметр типа Структура, в котором
//                                          есть свойство РазделенныеОбработчики - таблица значений со структурой,
//                                          возвращаемой этой функцией.
//                                      При этом колонка Версия игнорируется. В случае необходимости выполнения
//                                      разделенного обработчика в данную таблицу необходимо добавить строку с
//                                      описанием процедуры обработчика.
//                                      Имеет смысл только для обязательных (Версия = *) обработчиков обновления
//                                      с установленным флагом ОбщиеДанные.
//
//    3) Для отложенных обработчиков обновления:
//
//     * Комментарий         - Строка - описание действий, выполняемых обработчиком обновления.
//     * Идентификатор       - УникальныйИдентификатор - необходимо заполнять для обработчиков отложенного обновления,
//                                                 для остальных заполнение не требуется. Требуется для идентификации
//                                                 обработчика в случае его переименования.
//
//     * БлокируемыеОбъекты  - Строка - необходимо заполнять для обработчиков отложенного обновления,
//                                      для остальных заполнение не требуется. Полные имена объектов через запятую,
//                                      которые следует блокировать от изменения до завершения процедуры обработки данных.
//                                      Если заполнено, то также требуется заполнить и свойство ПроцедураПроверки.
//     * НовыеОбъекты        - Строка - необходимо заполнять для обработчиков отложенного обновления,
//                                      для остальных заполнение не требуется. Полные имена объектов через запятую,
//                                      которые создаются при работе обработчика обновления.
//     * ПроцедураПроверки   - Строка - необходимо заполнять для обработчиков отложенного обновления,
//                                      для остальных заполнение не требуется. Имя функции, которая для переданного объекта
//                                      определяет, завершена ли для него процедура обработки данных.
//                                      Если переданный объект обработан, то следует вернуть значение Истина.
//                                      Вызывается из процедуры ОбновлениеИнформационнойБазы.ПроверитьОбъектОбработан.
//                                      Параметры, передаваемые в функцию:
//                                         Параметры - см. ОбновлениеИнформационнойБазы.МетаданныеИОтборПоДанным.
//
//    4) Для обработчиков обновления в библиотеках (конфигурации) с параллельным режимом выполнения отложенных обработчиков:
//
//     * ПроцедураЗаполненияДанныхОбновления - Строка - указывается процедура, которая регистрирует данные,
//                                      подлежащие обновлению данным обработчиком.
//     * ЗапускатьТолькоВГлавномУзле  - Булево - только для обработчиков отложенного обновления с режимом выполнения Параллельно.
//                                      Указать Истина, если обработчик обновления должен выполняться только в главном
//                                      узле РИБ.
//     * ЗапускатьИВПодчиненномУзлеРИБСФильтрами - Булево - только для обработчиков отложенного обновления с режимом
//                                      выполнения Параллельно.
//                                      Указать Истина, если обработчик обновления должен также выполняться в
//                                      подчиненном узле РИБ с фильтрами.
//     * ЧитаемыеОбъекты              - Строка - объекты, которые обработчик обновления будет читать при обработке данных.
//     * ИзменяемыеОбъекты            - Строка - объекты, которые обработчик обновления будет изменять при обработке данных.
//     * ПриоритетыВыполнения         - ТаблицаЗначений - таблица приоритетов выполнения между отложенными обработчиками,
//                                      изменяющими или читающими одни и те же данные. Подробнее см. в комментарии
//                                      к функции ОбновлениеИнформационнойБазы.ПриоритетыВыполненияОбработчика.
//     * Многопоточный                - Булево - Истина, если обработчик адаптирован для обработки данных в несколько потоков.
//     * Порядок  - ПеречислениеСсылка.ПорядокОбработчиковОбновления
//
//    5) Для оперативных и монопольных обработчиков начального заполнения:
//     * НеВыполнятьПриПереходеСДругойПрограммы - Булево - при переходе с другой программы обработчики начального
//                                          заполнения новых подсистем выполняются автоматически. Если установить
//                                          Истина, такой обработчик не будет выполнен.
//
//    6) Для внутреннего использования:
//
//     * ВыполнятьВГруппеОбязательных - Булево - следует указывать, если обработчик требуется
//                                      выполнять в одной группе с обработчиками на версии "*".
//                                      При этом возможно менять порядок выполнения обработчика
//                                      относительно других путем изменения приоритета.
//     * Приоритет           - Число  - для внутреннего использования.
//
//    7) Устарели, используются для обратной совместимости (для новых обработчиков не указывать):
//
//     * МонопольныйРежим    - Неопределено
//                           - Булево - если указано Неопределено, то обработчик
//                                      должен безусловно выполняться в монопольном режиме.
//                                      Для обработчиков перехода на конкретную версию (версия <> *):
//                                        Ложь   - обработчик не требует монопольного режима для выполнения.
//                                        Истина - обработчик требует монопольного режима для выполнения.
//                                      Для обязательных обработчиков обновления (Версия = "*"):
//                                        Ложь   - обработчик не требует монопольного режима.
//                                        Истина - обработчик может требовать монопольного режима для выполнения.
//                                                 В такие обработчики передается параметр типа структура
//                                                 со свойством МонопольныйРежим (типа Булево).
//                                                 При запуске обработчика в монопольном режиме передается
//                                                 значение Истина. В этом случае обработчик должен выполнить
//                                                 требуемые действия по обновлению. Изменение параметра
//                                                 в теле обработчика игнорируется.
//                                                 При запуске обработчика в немонопольном режиме передается
//                                                 значение Ложь. В этом случае обработчик не должен вносить никакие
//                                                 изменения в ИБ.
//                                                 Если в результате анализа выясняется, что обработчику требуется
//                                                 изменить данные ИБ, следует установить значение параметра в Истина
//                                                 и прекратить выполнение обработчика.
//                                                 В этом случае оперативное (немонопольное) обновление ИБ будет
//                                                 отменено и будет выдана ошибка с требованием выполнить обновление в
//                                                 монопольном режиме.
//
Функция НоваяТаблицаОбработчиковОбновления() Экспорт
```

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

// Выполняет регистрацию новой подсистемы в регистре сведений ВерсииПодсистем.
// Необходима, например, в тех случаях, когда новая подсистема создается на
// основе уже существующих метаданных и не требуется выполнять обработчики начального заполнения.
// Если подсистема уже зарегистрирована, то повторная регистрация не выполняется.
// Вызывать данный метод следует из процедуры ПередОбновлениемИнформационнойБазы общего
// модуля ОбновлениеИнформационнойБазыПереопределяемый.
//
// Параметры:
//  ИмяПодсистемы - Строка - имя подсистемы в том виде, в котором оно задано в общем модуле
//                           ОбновлениеИнформационнойБазыХХХ.
//                           Например - "СтандартныеПодсистемы".
//  НомерВерсии   - Строка - полный номер версии, на которую необходимо зарегистрировать подсистему.
//                           Если не указан, то регистрируется на версию "0.0.0.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

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

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

// Максимальное количество записей в выборке данных для обновления.
//
// Возвращаемое значение:
//  Число - константа 1000.
//
Функция МаксимальноеКоличествоЗаписейВВыборке() Экспорт
```

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

---
