ДопустимыйНомерСообщения.Любой

Свойства · Any

Принимаемое сообщение обмена может иметь любой номер.

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

ДопустимыйНомерСообщения.Любой (AllowedMessageNo.Any)

ДопустимыйНомерСообщения (AllowedMessageNo)

Любой (Any)

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

Описание:
Принимаемое сообщение обмена может иметь любой номер.
Использование в версии:

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

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

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

Проверить номер своего сообщения без его принятия: Любой

Читается только настоящий заголовок сообщения обмена; затем чтение явно отменяется.

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

Сервер собственного учебного стенда; отменяемое чтение только заголовка.

Подготовка

  1. Сервер собственной отдельной учебной базы. ПутьКСвоемуСообщению — параметр процедуры Строка с полным путём к своему уже существующему файлу обмена.

  2. Файл должен быть штатно сформирован вторым узлом того же собственного учебного плана обмена и адресован текущему узлу этого стенда. Идентификаторы плана и узлов должны совпадать. Чужой файл и самодельный XML без заголовка не подходят.

  3. Нужны права обмена своим планом. Не выполняйте опыт одновременно с реальным обменом: НачатьЧтение временно блокирует запись узла.

  4. Код — тело своей отдельной серверной процедуры. Он не вызывает ПрочитатьИзменения или ЗакончитьЧтение; ПрерватьЧтение снимает блокировку без изменения узла.

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

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

  1. Подготовьте реальный входящий учебный файл.

  2. Передайте выбранное правило номера вторым аргументом.

  3. Отмените чтение и закройте XML в обеих ветках.

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

  1. Любой не проверяет последовательность номера; это не безопасный способ повторно применять старые данные.

  2. Даже Любой не отменяет проверки известности плана / узла и остальных данных заголовка.

  3. Если заголовок принят, установленная блокировка освобождается ПрерватьЧтение. НомерПринятого не продвигается; проверка заголовка не равна загрузке данных. BSL и обмен при сборке не выполнялись.

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

Есть настоящий источник сообщения, осмысленное правило и освобождение ресурса без приёма данных.

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

  1. Любой не делает повторную загрузку сообщения идемпотентной; пример намеренно не применяет тело.

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

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

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

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

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