В чём разница между структурами и соответствиями
Структура - это ассоциативный массив. Ключ структуры имеет такие же ограничениея как правила образования имен переменных(макс. длина 255 символов, спецсимволы запрещены, не может начинаться с цифры).
Соответствие - это абстракция хеш-массив.
В языке onescript оба типа данных реализованы типом Dictionary (словарь).
Пруф: https://github.com/EvilBeaver/OneScript/blob/a87287b18c4f9edb5808561a627f84f5b844e704/src/OneScript.StandardLibrary/Collections/MapImpl.cs
Структура содержит элементы в том порядке, в котором добавлялись элементы. Соответствие же располагает элементы по значению внутренней хеш-функции.
Хеш-функция соответствия может меняться, как это было в платформе 8.3.18, поэтому не стоит расчитывать на постоянный порядок при обходе коллекции элементов соответствия.
СоответствиеТест = Новый Соответствие;
СоответствиеТест.Вставить("111", 111);
СоответствиеТест.Вставить("222", 222);
Для Каждого КлючЗначение Из СоответствиеТест Цикл
Сообщить("Ключ: " + КлючЗначение.Ключ);
КонецЦикла;
// для 8.3.18+ выведет
Ключ: 222
Ключ: 111
// для 8.3.17 и более старых платформ выведет:
Ключ: 111
Ключ: 222
Oct. 25, 2023, @KuzNikAL (телеграм)
Соответствие в языке программирования 1С чем-то похоже на Структуру, это тоже коллекция пар Ключ и значение. Но в отличие от Структуры, в Соответствие, чтобы получить значение по определенному ключу, нужно обращаться не как к свойству объекта, а через квадратные скобки, и в качестве ключа можно использовать значение любого типа.
Структура: Структура1.Ключ1
Соответствие: Соответствие1[«Ключ1»]
Oct. 24, 2023, www.1s-up.ru