//Отдельного типа множества в 1С нет,
//его роль играет Соответствие: значимы
//ключи, а значение везде Истина
Первое = Новый Соответствие;
Первое.Вставить(1, Истина);
Первое.Вставить(2, Истина);
Второе = Новый Соответствие;
Второе.Вставить(2, Истина);
Второе.Вставить(1, Истина);
Третье = Новый Соответствие;
Третье.Вставить(1, Истина);
Третье.Вставить(2, Истина);
Третье.Вставить(3, Истина);
//Порядок вставки на равенство не влияет
Равны = Совпадают(Первое, Второе);
//Равны = Истина
Подмножество = Входит(Первое, Третье);
//Подмножество = Истина
Подмножество = Входит(Третье, Первое);
//Подмножество = Ложь
Сообщить("Равны = " + Равны);
//Все ли ключи меньшего есть в большем
Функция Входит(Меньшее, Большее)
Для Каждого Элемент Из Меньшее Цикл
Если Большее.Получить(Элемент.Ключ) <>
Истина Тогда
Возврат Ложь;
КонецЕсли;
КонецЦикла;
Возврат Истина;
КонецФункции
//Равенство: тот же размер и вхождение
Функция Совпадают(Первое, Второе)
Если Первое.Количество() <>
Второе.Количество() Тогда
Возврат Ложь;
КонецЕсли;
Возврат Входит(Первое, Второе);
КонецФункции