|
1 | 1 | #Использовать ".." |
2 | | -#Использовать notify |
3 | 2 |
|
4 | 3 | Перем Таблица; |
5 | 4 |
|
6 | | -Процедура ДобавитьСтрокуВТаблицу(Имя, Фолловеры, Местоположение, Контрибьюции); |
| 5 | +Процедура ДобавитьСтрокуВТаблицу(Имя, Фолловеры, Местоположение, Контрибьюции) |
| 6 | + |
7 | 7 | Строка = Таблица.Добавить(); |
8 | | - Строка.Имя = Имя; |
9 | | - Строка.Фолловеры = Фолловеры; |
| 8 | + |
| 9 | + Строка.Имя = Имя; |
| 10 | + Строка.Фолловеры = Фолловеры; |
10 | 11 | Строка.Местоположение = Местоположение; |
11 | | - Строка.Контрибьюции = Контрибьюции; |
12 | | -КонецПроцедуры |
| 12 | + Строка.Контрибьюции = Контрибьюции; |
13 | 13 |
|
14 | | -Процедура Обработчик_ФильтрацияПоМестоположению(РезультатФильтрации, ДополнительныеПараметры) Экспорт |
15 | | - РезультатФильтрации = ДополнительныеПараметры.Элемент.Местоположение = "Россия"; |
16 | 14 | КонецПроцедуры |
17 | 15 |
|
18 | | -Процедура Обработчик_СортировкаПоФолловерам(РезультатСравнения, ДополнительныеПараметры) Экспорт |
19 | | - РезультатСравнения = ДополнительныеПараметры.Элемент1.Фолловеры < ДополнительныеПараметры.Элемент2.Фолловеры; |
20 | | -КонецПроцедуры |
| 16 | +Функция Обработчик_ФильтрацияПоМестоположению(Элемент) Экспорт |
| 17 | + Возврат Элемент.Местоположение = "Россия"; |
| 18 | +КонецФункции |
21 | 19 |
|
22 | | -Процедура Обработчик_СортировкаПоКонтрибьюциям(РезультатСравнения, ДополнительныеПараметры) Экспорт |
23 | | - РезультатСравнения = ДополнительныеПараметры.Элемент1.Контрибьюции < ДополнительныеПараметры.Элемент2.Контрибьюции; |
24 | | -КонецПроцедуры |
| 20 | +Функция Обработчик_СортировкаПоФолловерам(Первый, Второй) Экспорт |
| 21 | + |
| 22 | + Если Первый.Фолловеры > Второй.Фолловеры Тогда |
| 23 | + Возврат 1; |
| 24 | + ИначеЕсли Второй.Фолловеры > Первый.Фолловеры Тогда |
| 25 | + Возврат -1; |
| 26 | + Иначе |
| 27 | + Возврат 0; |
| 28 | + КонецЕсли; |
25 | 29 |
|
26 | | -ФильтрацияПоМестоположению = Новый ОписаниеОповещения("Обработчик_ФильтрацияПоМестоположению", ЭтотОбъект); |
27 | | -СортировкаПоФолловерам = Новый ОписаниеОповещения("Обработчик_СортировкаПоФолловерам", ЭтотОбъект); |
28 | | -СортировкаПоКонтрибьюциям = Новый ОписаниеОповещения("Обработчик_СортировкаПоКонтрибьюциям", ЭтотОбъект); |
| 30 | +КонецФункции |
29 | 31 |
|
| 32 | +Функция Обработчик_СортировкаПоКонтрибьюциям(Первый, Второй) Экспорт |
| 33 | + |
| 34 | + Если Первый.Контрибьюции > Второй.Контрибьюции Тогда |
| 35 | + Возврат 1; |
| 36 | + ИначеЕсли Второй.Контрибьюции > Первый.Контрибьюции Тогда |
| 37 | + Возврат -1; |
| 38 | + Иначе |
| 39 | + Возврат 0; |
| 40 | + КонецЕсли; |
| 41 | + |
| 42 | +КонецФункции |
| 43 | + |
| 44 | +ФильтрацияПоМестоположению = Новый Действие(ЭтотОбъект, "Обработчик_ФильтрацияПоМестоположению"); |
| 45 | +СортировкаПоФолловерам = Новый Действие(ЭтотОбъект, "Обработчик_СортировкаПоФолловерам"); |
| 46 | +СортировкаПоКонтрибьюциям = Новый Действие(ЭтотОбъект, "Обработчик_СортировкаПоКонтрибьюциям"); |
30 | 47 |
|
31 | 48 | Таблица = Новый ТаблицаЗначений; |
32 | 49 | Таблица.Колонки.Добавить("Имя"); |
|
43 | 60 | ДобавитьСтрокуВТаблицу("Лавочкин", 10, "Россия", 68); |
44 | 61 | ДобавитьСтрокуВТаблицу("Яковлев", 12, "Россия", 99); |
45 | 62 |
|
46 | | - |
47 | 63 | ПроцессорКоллекций = ПроцессорыКоллекций.ИзКоллекции(Таблица); |
48 | 64 | Результат = ПроцессорКоллекций |
49 | 65 | .Фильтровать(ФильтрацияПоМестоположению) |
|
58 | 74 | КонецЦикла; |
59 | 75 |
|
60 | 76 | ПроцессорыКоллекций.ИзКоллекции(Таблица) |
61 | | - .Фильтровать("Результат = Элемент.Местоположение = ""Россия""") |
62 | | - .Сортировать("Результат = Элемент1.Фолловеры < Элемент2.Фолловеры") |
| 77 | + .Фильтровать("Элемент -> Элемент.Местоположение = ""Россия""") |
| 78 | + .Сортировать("Первый, Второй -> |
| 79 | + | Если Первый.Фолловеры > Второй.Фолловеры Тогда |
| 80 | + | Возврат 1; |
| 81 | + | ИначеЕсли Второй.Фолловеры > Первый.Фолловеры Тогда |
| 82 | + | Возврат -1; |
| 83 | + | Иначе |
| 84 | + | Возврат 0; |
| 85 | + | КонецЕсли;" |
| 86 | + ) |
63 | 87 | .Первые(5) |
64 | | - .Сортировать("Результат = Элемент1.Контрибьюции < Элемент2.Контрибьюции") |
| 88 | + .Сортировать("Первый, Второй -> |
| 89 | + | Если Первый.Контрибьюции > Второй.Контрибьюции Тогда |
| 90 | + | Возврат 1; |
| 91 | + | ИначеЕсли Второй.Контрибьюции > Первый.Контрибьюции Тогда |
| 92 | + | Возврат -1; |
| 93 | + | Иначе |
| 94 | + | Возврат 0; |
| 95 | + | КонецЕсли;" |
| 96 | + ) |
65 | 97 | .Первые(3) |
66 | | - .ДляКаждого("Сообщить(Элемент.Имя)"); |
| 98 | + .ДляКаждого("Элемент -> Сообщить(Элемент.Имя)"); |
67 | 99 |
|
68 | 100 | // githubUsers |
69 | 101 | // .filter(_.location == 'Russia') |
|
0 commit comments