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