"батон"65
"багет"80
42"полка"

порядок обхода не гарантирован

Для Каждого КлючЗначение Из Соответствие Цикл
    Сообщить(КлючЗначение.Ключ + " = " + КлючЗначение.Значение);
КонецЦикла;

Каждый элемент цикла — объект КлючИЗначение со свойствами Ключ и Значение, точно как при обходе структуры. Разница только в типе Ключ — тут это может быть значение любого типа, а не обязательно строка.

Как и структура, соответствие — неупорядоченная коллекция: платформа не гарантирует, что порядок перебора совпадёт с порядком добавления пар через Вставить().

Изменять соответствие (Вставить, Удалить, Очистить) прямо внутри Для Каждого по нему самому нельзя — платформа бросает исключение «Коллекция была изменена; невозможно выполнить операцию перечисления», та же ошибка, что и у структуры. Решение то же самое — сначала собрать ключи на удаление в массив, потом удалить их отдельным циклом:

КлючиНаУдаление = Новый Массив;
Для Каждого КлючЗначение Из Соответствие Цикл
    Если КлючЗначение.Значение = Неопределено Тогда
        КлючиНаУдаление.Добавить(КлючЗначение.Ключ);
    КонецЕсли;
КонецЦикла;
 
Для Каждого Ключ Из КлючиНаУдаление Цикл
    Соответствие.Удалить(Ключ);
КонецЦикла;

Соответствие