|
35 | 35 |
|
36 | 36 | КонецФункции |
37 | 37 |
|
38 | | -Функция Различные() Экспорт |
39 | | - ВызватьИсключение "Не реализовано."; |
| 38 | +Функция Различные(ОбработчикСравнения = Неопределено) Экспорт |
| 39 | + |
| 40 | + Если ОбработчикСравнения = Неопределено Тогда |
| 41 | + ОбработчикСравнения = СтандартныйОбработчикСравнения(); |
| 42 | + КонецЕсли; |
| 43 | + |
| 44 | + ПоложитьЯчейкуВКонвейер("Различные", ОбработчикСравнения); |
| 45 | + Возврат ЭтотОбъект; |
| 46 | + |
40 | 47 | КонецФункции |
41 | 48 |
|
42 | 49 | Функция Обработать(ОписаниеОповещения) Экспорт |
|
110 | 117 |
|
111 | 118 | КонецПроцедуры |
112 | 119 |
|
| 120 | +Процедура ВыполнитьРазличные(Результат, ДополнительныеПараметры) Экспорт |
| 121 | + |
| 122 | + Лог.Отладка("ВыполнитьРазличные"); |
| 123 | + |
| 124 | + Результат = Новый Массив; |
| 125 | + |
| 126 | + ОбработчикСравнения = ДополнительныеПараметры.Обработчик; |
| 127 | + |
| 128 | + Для Каждого Элемент Из Коллекция Цикл |
| 129 | + |
| 130 | + КоличествоСовпадений = 0; |
| 131 | + |
| 132 | + Для Каждого ЭлементРезультат Из Результат Цикл |
| 133 | + ОбработчикСравнения.ДополнительныеПараметры.Элемент1 = Элемент; |
| 134 | + ОбработчикСравнения.ДополнительныеПараметры.Элемент2 = ЭлементРезультат; |
| 135 | + РезультатСортировки = Неопределено; |
| 136 | + ОписанияОповещений.ВыполнитьОбработкуОповещения(ОбработчикСравнения, РезультатСортировки); |
| 137 | + Если РезультатСортировки = 0 Тогда |
| 138 | + КоличествоСовпадений = КоличествоСовпадений + 1; |
| 139 | + КонецЕсли; |
| 140 | + КонецЦикла; |
| 141 | + |
| 142 | + Если КоличествоСовпадений = 0 Тогда |
| 143 | + Результат.Добавить(Элемент); |
| 144 | + КонецЕсли; |
| 145 | + |
| 146 | + КонецЦикла; |
| 147 | + |
| 148 | +КонецПроцедуры |
| 149 | + |
113 | 150 | Процедура ВыполнитьФильтровать(Результат, ДополнительныеПараметры) Экспорт |
114 | 151 |
|
115 | 152 | Обработчик = ДополнительныеПараметры.Обработчик; |
|
210 | 247 | КонецПроцедуры |
211 | 248 |
|
212 | 249 | Функция СтандартныйОбработчикСравнения() |
213 | | - ФункцияСравнения = ОписанияОповещений.Создать("ОбработчикСравнения", ЭтотОбъект); |
| 250 | + ДополнительныеПараметры = Новый Структура; |
| 251 | + ДополнительныеПараметры.Вставить("Элемент1"); |
| 252 | + ДополнительныеПараметры.Вставить("Элемент2"); |
| 253 | + |
| 254 | + ФункцияСравнения = ОписанияОповещений.Создать("ОбработчикСравнения", ЭтотОбъект, ДополнительныеПараметры); |
214 | 255 | Возврат ФункцияСравнения; |
215 | 256 | КонецФункции |
216 | 257 |
|
|
0 commit comments