Передаем массив реальных идентификаторов. Опускать аргумент опасно: тогда удаляются все сообщения канала.
Где и как запускать
Сервер, толстый клиент или внешнее соединение с правами метода.
Подготовка
Только собственная учебная конфигурация с заранее подготовленными объектами и необходимыми правами. Здесь нет запуска 1С, сервисов или сетевых операций.
Создайте свой сервис интеграции УчебныйСервис и реальный канал УчебныйКанал с собственным тестовым внешним сервисом. Коды learning-sender и learning-receiver согласуйте с этим сервисом. Не используйте рабочие очереди и данные.
Только собственная одноразовая учебная очередь и административные права. Заранее вручную убедитесь, что единственное сообщение указанной метки действительно свое и может быть потеряно. Не выполняйте одновременно новые отправки.
&НаСервереБезКонтекста
Процедура УдалитьОдноразовоеУчебноеСообщение()
Параметры = Новый Соответствие;
Параметры.Вставить("Назначение", "Одноразовый учебный пример");
Отбор = Новый Структура("КодОтправителя,КодПолучателя,Параметры", "learning-sender", "learning-receiver", Параметры);
Канал = СервисыИнтеграции.УчебныйСервис.УчебныйКанал;
Сообщения = Канал.ВыбратьСообщения(Отбор, 2);
Если Сообщения.Количество() <> 1 Тогда
ВызватьИсключение "Нужно ровно одно собственное учебное сообщение";
КонецЕсли;
Идентификаторы = Новый Массив;
Идентификаторы.Добавить(Сообщения[0].Идентификатор);
Канал.УдалитьСообщения(Идентификаторы);
Осталось = Канал.ВыбратьСообщения(Отбор, 2);
Сообщить("Осталось подходящих сообщений: " + Строка(Осталось.Количество()));
КонецПроцедурыРазбор по шагам
Выберите свою уникальную метку и два собственных кода.
При результате ровно 1 получите настоящий ID.
Удалите только массив этого ID и перечитайте очередь.
Как проверить результат
Вызов всегда содержит непустой массив, не Неопределено.
При 0 или более чем 1 результате удаления нет.
Ожидаемый результат
Удален только выбранный собственный идентификатор; показан результат повторного отбора.
На что обратить внимание
Удаление необратимо без отдельного восстановления. Выборка не является атомарной блокировкой очереди; нулевой повторный отбор не доказывает причину исчезновения при параллельной обработке.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.