Глобальный контекст.ПланыОбмена

Свойства · ExchangePlans

Тип: ПланыОбменаМенеджер. Используется для доступа к планам обмена.

Полное описание, параметры и ограничения

Глобальный контекст.ПланыОбмена (Global context.ExchangePlans)

Глобальный контекст (Global context)

ПланыОбмена (ExchangePlans)

Доступен, начиная с версии 8.0.

Использование:
Только чтение.
Описание:
Тип: ПланыОбменаМенеджер.
Используется для доступа к планам обмена.
Доступность:

Сервер, толстый клиент, внешнее соединение, мобильное приложение (сервер), мобильный автономный сервер.

Использование в версии:

Доступен, начиная с версии 8.0.

Методическая информация

Практические примеры

Повторно пройти настоящую выборку собственных изменений

ВыборкаДанных создается планом обмена, не результатом SQL-запроса другого типа. Номер сообщения берется из реальной записи сообщения.

Где и как запускать

Сервер собственной учебной базы; также толстый клиент или внешнее соединение, если это разрешено указанным API.

Подготовка

  1. Только собственная учебная конфигурация. Все указанные имена сначала создайте в Конфигураторе; объекты рабочей базы не заменяйте. Здесь код не запускается.

  2. Настройте свой план обмена УчебныйОбмен с собственным узлом 02 и составом УчебныеТовары, зарегистрируйте свои учебные изменения. Это действие изменяет регистрацию номеров сообщений, не полностью безвредное чтение; никаких реальных файлов или передачи сети нет.

&НаСервереБезКонтекста
Процедура ДваждыПройтиУчебныеИзменения()
    Узел = ПланыОбмена.УчебныйОбмен.НайтиПоКоду("02");
    Если Не ЗначениеЗаполнено(Узел) Тогда
        ВызватьИсключение "Создайте собственный узел 02";
    КонецЕсли;
    ЗаписьXML = Новый ЗаписьXML;
    ЗаписьXML.УстановитьСтроку();
    Сообщение = ПланыОбмена.СоздатьЗаписьСообщения();
    Сообщение.НачатьЗапись(ЗаписьXML, Узел);
    Выборка = ПланыОбмена.ВыбратьИзменения(Узел, Сообщение.НомерСообщения, Метаданные.Справочники.УчебныеТовары);
    ПервыйПроход = 0;
    Пока Выборка.Следующий() Цикл
        ПервыйПроход = ПервыйПроход + 1;
    КонецЦикла;
    Выборка.Сбросить();
    ВторойПроход = 0;
    Пока Выборка.Следующий() Цикл
        ВторойПроход = ВторойПроход + 1;
    КонецЦикла;
    Сообщение.ЗакончитьЗапись();
    ТекстСообщения = ЗаписьXML.Закрыть();
    Сообщить("Проходы: " + Строка(ПервыйПроход) + ", " + Строка(ВторойПроход));
    Сообщить("Длина оболочки сообщения: " + Строка(СтрДлина(ТекстСообщения)));
КонецПроцедуры

Разбор по шагам

  1. Создайте запись сообщения в памяти для своего узла.

  2. Получите однородную выборку с фильтром своего справочника.

  3. Сбросьте и заново посчитайте строки той же выборки.

Как проверить результат

  1. Номер сообщения не выдуман константой.

  2. Сбросить вызывается на ВыборкаДанных; при неизменной выборке количества двух проходов должны совпасть.

Ожидаемый результат

Показан возврат позиции настоящей выборки в начало.

На что обратить внимание

  1. ПланыОбмена.ВыбратьИзменения проставляет номер сообщения в регистрации изменений. Этот пример не сериализует объекты и не является полноценным сообщением обмена для приема.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Прочитать признаки изменений из своего сообщения обмена

Получаем настоящее описание сообщения распределённой базы, не применяя изменения конфигурации.

Где и как запускать

Серверный обработчик своей учебной базы. Это пример синтаксиса: здесь 1С, файлы, базы и сеть не запускались.

Подготовка

  1. Подготовьте собственную учебную распределённую ИБ и настоящее сообщение обмена между её своими узлами. Файл не составляется вручную из вымышленных идентификаторов.

  2. Диагностический читатель работает до ЗакончитьЧтение. Этот фрагмент не подтверждает сообщение, не читает изменения данных и не применяет изменения конфигурации.

Чтение = Новый ЧтениеXML;
Чтение.ОткрытьФайл("C:\УчебныеДанные\сообщение.xml");
Сообщение = ПланыОбмена.СоздатьЧтениеСообщения();
Сообщение.НачатьЧтение(Чтение);
Описание = ПланыОбмена.ПрочитатьОписаниеИзменений(Сообщение);
Сообщить(Описание.КонфигурацияИзменена);
Сообщить(Описание.РасширенияКонфигурацииИзменены);
Сообщить(Описание.ИзмененныеМетаданныеРасширенийКонфигурацииИзменяютСтруктуруДанных);
Чтение.Закрыть();

Разбор по шагам

  1. Открываем собственное сообщение и начинаем его штатное чтение.

  2. Получаем документированное описание изменений.

  3. Читаем три фактических булевых признака.

Как проверить результат

  1. Признаки соответствуют настоящему сообщению своего обмена.

  2. Нет вызова применения конфигурации или подтверждения сообщения.

Ожидаемый результат

Контрольный результат описывает будущую ручную проверку в подготовленном учебном окружении. Выполнение в 1С здесь не проверялось.

На что обратить внимание

  1. После ПрочитатьОписаниеИзменений этот читатель нельзя использовать для ПрочитатьИзменения. Не продолжайте им другой алгоритм обмена; закрытие XML не является подтверждением сообщения.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.