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

// Заполняет структуру массивами поддерживаемых версий всех подлежащих версионированию подсистем,
// используя в качестве ключей названия подсистем.
// Обеспечивает функциональность Web-сервиса InterfaceVersion.
// При внедрении надо поменять тело процедуры так, чтобы она возвращала актуальные наборы версий (см. пример.ниже).
//
// Параметры:
//   СтруктураПоддерживаемыхВерсий - Структура - имена подсистем и соответствующие им наборы поддерживаемых версий.
//	                                 В качестве ключа структуры выступает название подсистемы,
//                                   а в качестве значения - массив названий поддерживаемых версий.
//
// Пример:
//	 // СервисПередачиФайлов
//	 МассивВерсий = Новый Массив;
//	 МассивВерсий.Добавить("1.0.1.1");
//	 МассивВерсий.Добавить("1.0.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

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

Пример вызова
```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. Это неразделенный объект метаданных.
//	3. Этот объект входит в состав плана обмена автономной работы.
//	4. Не входит в список исключений.
//
// Параметры:
//  Объект - Произвольный - объект-источник данных
//  Отказ - Булево - флаг отказа
//
Процедура ПередЗаписьюОбщихДанных(Объект, Отказ) Экспорт
```

Пример вызова
```bsl
ОбменДаннымиВМоделиСервиса.ПередЗаписьюОбщихДанных(Объект, Отказ) 
```
</details>

---

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

---
