|
Перечисление по индексам | ☑ | ||
---|---|---|---|---|
0
terletskiyab
21.05.18
✎
09:40
|
Если Семестр = Перечисления.Семестры.ПервыйСеместр ИЛИ Семестр = Перечисления.Семестры.ВторойСеместр Тогда
КурсСеместра = Перечисления.Курсы.ПервыйКурс ИначеЕсли Семестр = Перечисления.Семестры.ТретийСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетвертыйСеместр Тогда КурсСеместра = Перечисления.Курсы.ВторойКурс ИначеЕсли Семестр = Перечисления.Семестры.ПятыйСеместр ИЛИ Семестр = Перечисления.Семестры.ШестойСеместр Тогда КурсСеместра = Перечисления.Курсы.ТретийКурс ИначеЕсли Семестр = Перечисления.Семестры.СедьмойСеместр ИЛИ Семестр = Перечисления.Семестры.ВосьмойСеместр Тогда КурсСеместра = Перечисления.Курсы.ЧетвертыйКурс ИначеЕсли Семестр = Перечисления.Семестры.ДевятыйСеместр ИЛИ Семестр = Перечисления.Семестры.ДесятыйСеместр Тогда КурсСеместра = Перечисления.Курсы.ПятыйКурс ИначеЕсли Семестр = Перечисления.Семестры.ОдиннадцатыйСеместр ИЛИ Семестр = Перечисления.Семестры.ДвенадцатыйСеместр Тогда КурсСеместра = Перечисления.Курсы.ШестойКурс ИначеЕсли Семестр = Перечисления.Семестры.ТринадцатыйСеместр ИЛИ Семестр = Перечисления.Семестры.ЧетырнадцатыйСеместр Тогда КурсСеместра = Перечисления.Курсы.СедьмойКурс; КонецЕсли; Возврат КурсСеместра; Как из этого сделать перечисление по индексам? |
|||
1
xXeNoNx
21.05.18
✎
09:47
|
что такое "перечисление по индексам"?
|
|||
2
Сти
21.05.18
✎
09:52
|
Индекс = Перечисления["Семестры"].Индекс(Перечисления.Семестры.ПервыйСеместр);
|
|||
3
Сти
21.05.18
✎
09:53
|
(2) Точнее
Индекс = Перечисления["Семестры"].Индекс(Семестр); Ну а дальше с полученным индексом возишься. |
|||
4
terletskiyab
21.05.18
✎
09:56
|
Спасибо, Сергей! А как мне подбить эти данные с индексами под выше мой цикл, чтобы точно также работало только индексами
|
|||
5
Мыш
21.05.18
✎
09:58
|
(4) Сделай соответствие вместо кейса.
|
|||
6
terletskiyab
21.05.18
✎
09:59
|
Может вот так? Индекс = Перечисления.Семестры.Получить(ПервыйСеместр);
|
|||
7
Сти
21.05.18
✎
10:05
|
(4) Ну, если хочется вообще коротко в одну строчку, то
Возврат Перечисления.Курсы[Окр(Перечисления.Семестры.Индекс(Семестр)/2-0.5, 0)] |
|||
8
Сти
21.05.18
✎
10:06
|
(7) осталась такая вот дурацкая привычка писать кратко, но непонятно со времен, когда на Perl мутил всякое
|
|||
9
Малыш Джон
21.05.18
✎
10:14
|
(5) +1
Я бы тоже добавил соответствие. Наглядно и легко дорабатывается. |
|||
10
singlych
21.05.18
✎
10:24
|
(7) Главное, порядок значений не менять.
|
|||
11
Сти
21.05.18
✎
11:02
|
(10) Конечно. Но поскольку это метаданные, доступ к которым должен быть только у разработчика, который должен понимать что делает (требовать это от обычных юзеров практически бесполезно), то в общем-то не опасно :)
|
|||
12
terletskiyab
21.05.18
✎
11:02
|
А зачем вот тут:Квадратные скобки и -0,5 ОБЪЯСНИТЕ :) Заранее спасибо, Возврат Перечисления.Курсы[Окр(Перечисления.Семестры.Индекс(Семестр)/2-0.5, 0)]
|
|||
13
Йохохо
21.05.18
✎
11:04
|
(8) у перлистов тяжелое детство, а у 1сников другие фломастеры, не нужно тебе это
|
|||
14
Сти
21.05.18
✎
11:05
|
(12) Квадратные скобки - получение значения по индексу.При этом в 1С иногда можно использовать имя, а совсем иногда - наоборот, нельзя. -0,5 для того чтобы округлялось всегда вниз, то есть получение целой части числа (3/2 = 1,5 и без -0.5 округление будет давать 2, а не требуемое 1).
|
|||
15
Сти
21.05.18
✎
11:09
|
(13) для того, кто паял на коряво сделанных платах ZХ-Spectrumы и АОНы в лихие годы перестройки и правил программы в машинных кодах, perl совсем не тот черт, каким его малюют! 1С сложнее. Ну да, и парадигма тут другая, и знания разнообразнее )
|
|||
16
Йохохо
21.05.18
✎
11:17
|
(15) строить связь по индексу перечисления это бредовейший бред
|
|||
17
Сти
21.05.18
✎
12:01
|
(16) Все зависит от задачи и входящих данных. В данном случаем, по условиям в (0) и описываемым в них сущностям, это оптимально и безопасно. В других - полный бред. А вообще, на вкус и цвет все те самые фломастеры из (13) разные.
|
|||
18
igorPetrov
21.05.18
✎
12:27
|
(0) ТС темы просто плодит https://www.forum.mista.ru/topic.php?id=818944
|
|||
19
igorPetrov
21.05.18
✎
12:27
|
(0) Чем старая тема не устроила?
|
|||
20
Малыш Джон
21.05.18
✎
12:31
|
(19) ну там было три курса, а тут уже семь.
Разве это не достойно новой темы?) |
|||
21
Малыш Джон
21.05.18
✎
12:31
|
+(20) хотя нет, там тоже до седьмого добрались...
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |