|
172 | 172 | ИндексКаталоговПоиска = Новый Массив; |
173 | 173 |
|
174 | 174 | СформироватьИндексКаталогПоиска(); |
175 | | - |
176 | | - ФункцияСортировки = Новый ОписаниеОповещения("СортироватьКаталогиПоискаФайлов", ЭтотОбъект); |
177 | 175 |
|
178 | 176 | КоллекцияФайловПараметров = Новый ПроцессорКоллекций; |
179 | 177 | КоллекцияФайловПараметров.УстановитьКоллекцию(ИндексКаталоговПоиска); |
180 | 178 |
|
181 | 179 | КоличествоФайлов = КоллекцияФайловПараметров |
182 | | - .Сортировать(ФункцияСортировки) |
183 | | - .Фильтровать("Результат = Элемент.ПоискФайла()") |
| 180 | + .Сортировать("(Первый, Второй) -> { |
| 181 | + | Если ВРЕГ(НаправлениеСортировки) = ВРег(""УБЫВ"") Тогда |
| 182 | + | Возврат ПроцессорыКоллекций.СтандартнаяФункцияСравненияОбратныйПорядок() |
| 183 | + | .Выполнить(Первый.Приоритет(), Второй.Приоритет()); |
| 184 | + | Иначе |
| 185 | + | Возврат ПроцессорыКоллекций.СтандартнаяФункцияСравненияПрямойПорядок() |
| 186 | + | .Выполнить(Первый.Приоритет(), Второй.Приоритет()); |
| 187 | + | КонецЕсли; |
| 188 | + |}", |
| 189 | + ЭтотОбъект) |
| 190 | + .Фильтровать("Элемент -> Элемент.ПоискФайла()") |
184 | 191 | .Количество(); |
185 | 192 |
|
186 | 193 | Если КоличествоФайлов = 0 Тогда |
|
196 | 203 | Иначе |
197 | 204 |
|
198 | 205 | ФункцияОбработки = Новый ОписаниеОповещения("ОбработчикВыполненияЧтениеФайловогоПровайдера", ЭтотОбъект); |
199 | | - КоллекцияФайловПараметров.ДляКаждого(ФункцияОбработки); |
| 206 | + КоллекцияФайловПараметров.ДляКаждого( |
| 207 | + "КаталогПоиска -> ВыполнитьЧтениеФайловогоПровайдера(КаталогПоиска.ИмяФайла());" |
| 208 | + ); |
200 | 209 |
|
201 | 210 | КонецЕсли; |
202 | 211 |
|
|
222 | 231 |
|
223 | 232 | КонецПроцедуры |
224 | 233 |
|
225 | | -Процедура ВыполнитьЧтениеФайловогоПровайдера(Знач ИмяФайлаПараметров) |
| 234 | +Процедура ВыполнитьЧтениеФайловогоПровайдера(Знач ИмяФайлаПараметров) Экспорт |
226 | 235 |
|
227 | 236 | РезультатЧтенияФайла = ВыполнитьЧтениеПровайдера(ИмяФайлаПараметров); |
228 | 237 |
|
|
243 | 252 |
|
244 | 253 | КонецФункции |
245 | 254 |
|
246 | | -// Обработчик сортировки каталогов поиска файлов |
247 | | -// |
248 | | -// Параметры: |
249 | | -// Результат - Объект.КаталогПоискаФайла - Элемент массива каталогов поиска |
250 | | -// ДополнительныеПараметры - Структура - дополнительная структура |
251 | | -// |
252 | | -Процедура СортироватьКаталогиПоискаФайлов(Результат, ДополнительныеПараметры) Экспорт |
253 | | - |
254 | | - Если ВРЕГ(НаправлениеСортировки) = ВРег("УБЫВ") Тогда |
255 | | - Результат = ДополнительныеПараметры.Элемент1.Приоритет() < ДополнительныеПараметры.Элемент2.Приоритет(); |
256 | | - Иначе |
257 | | - Результат = ДополнительныеПараметры.Элемент1.Приоритет() > ДополнительныеПараметры.Элемент2.Приоритет(); |
258 | | - КонецЕсли; |
259 | | - |
260 | | -КонецПроцедуры |
261 | | - |
262 | | -// Обработчик выполнения чтения файлового провайдера |
263 | | -// |
264 | | -// Параметры: |
265 | | -// Результат - Объект.КаталогПоискаФайла - Элемент массива каталогов поиска |
266 | | -// ДополнительныеПараметры - Структура - дополнительная структура |
267 | | -// |
268 | | -Процедура ОбработчикВыполненияЧтениеФайловогоПровайдера(Результат, ДополнительныеПараметры) Экспорт |
269 | | - |
270 | | - КаталогПоиска = ДополнительныеПараметры.Элемент; |
271 | | - |
272 | | - ВыполнитьЧтениеФайловогоПровайдера(КаталогПоиска.ИмяФайла()); |
273 | | - |
274 | | -КонецПроцедуры |
275 | | - |
276 | 255 | Процедура ОбъединитьРезультаты(ОсновноеСоответствие, ДобавляемоеСоответствие) |
277 | 256 |
|
278 | 257 | Для каждого Элемент Из ДобавляемоеСоответствие Цикл |
|
0 commit comments