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


## ПриДобавленииПодсистемы
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

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

```bsl

Процедура ПриДобавленииПодсистемы(Описание) Экспорт
```

Пример вызова
```bsl
ОбновлениеИнформационнойБазыНМ.ПриДобавленииПодсистемы(Описание) 
```
</details>

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

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

```bsl

Процедура ПриДобавленииОбработчиковОбновления(Обработчики=Неопределено) Экспорт
```

Пример вызова
```bsl
ОбновлениеИнформационнойБазыНМ.ПриДобавленииОбработчиковОбновления(Обработчики);
```
</details>

## ПередОбновлениемИнформационнойБазы
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

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

```bsl

Процедура ПередОбновлениемИнформационнойБазы(Обработчики=Неопределено) Экспорт
```

Пример вызова
```bsl
ОбновлениеИнформационнойБазыНМ.ПередОбновлениемИнформационнойБазы(Обработчики);
```
</details>

## ПриОпределенииРежимаОбновленияДанных
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

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

```bsl

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

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

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

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

```bsl

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

Пример вызова
```bsl
ОбновлениеИнформационнойБазыНМ.ПриДобавленииОбработчиковПереходаСДругойПрограммы(Обработчики) 
```
</details>

## ПриЗавершенииПереходаСДругойПрограммы
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

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

```bsl

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

// См. описание в общем модуле ОбновлениеИнформационнойБазыБСП.
Процедура ПослеОбновленияИнформационнойБазы(Знач ПредыдущаяВерсия, Знач ТекущаяВерсия, Экспорт
```

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

## ЗаполнитьВидыЗапрашиваемойОтчетностиНалоговогоМониторинга2
<details style="margin: 1em 0; padding: 0.5em; border: 1px solid #ccc; border-radius: 6px;">

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

```bsl

Процедура ЗаполнитьВидыЗапрашиваемойОтчетностиНалоговогоМониторинга2() Экспорт
```

Пример вызова
```bsl
ОбновлениеИнформационнойБазыНМ.ЗаполнитьВидыЗапрашиваемойОтчетностиНалоговогоМониторинга2() 
```
</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.0»), созданной из файла поставки конфигурации
//		и не содержащей данных. Это обработчики первоначального
//		заполнения базы.
//	РежимВыполнения - Строка ("Монопольно", "Оперативно", "Отложенно").
//	ТолькоБМ - Булево - если Истина, то обработчик будет зарегистрирован
//		только для конфигурации БП МСФО. В противном случае, обработчик
//		будет зарегистрирован вне зависимости от типа конфигурации.
//	ДополнительныеПараметры - Структура|Неопределено - если передать
//		структуру, то поля обработчика будут заполнены в соотвествии
//		со значениями одноименных полей этой структуры.
//
// Возвращает:
//	Таблицу обработчиков с добавленным обработчиком.
//
Функция ДобавитьОбработчикОбновления( Экспорт
```

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

---
